网站导航栏下拉菜单,广西崇左市住房和城乡建设局网站,怎样建设一个自己的网站,wordpress 静态首页文章目录1 I/O接口1.1 接口定义1.2 I/O接口的功能#xff08;以单总线为例#xff09;1.3 I/O接口的基本结构1.4 接口与端口1.5 I/O端口及其编址1.6 I/O接口的类型1.7 I/O接口小结2 I/O方式2.1 I/O方式1-程序查询方式2.1.1 程序查询方式流程图2.1.2 程序查询方式接口2.1.3 程…
文章目录1 I/O接口1.1 接口定义1.2 I/O接口的功能以单总线为例1.3 I/O接口的基本结构1.4 接口与端口1.5 I/O端口及其编址1.6 I/O接口的类型1.7 I/O接口小结2 I/O方式2.1 I/O方式1-程序查询方式2.1.1 程序查询方式流程图2.1.2 程序查询方式接口2.1.3 程序查询方式-例题2.2 I/O方式2-程序中断方式2.2.1 程序中断方式2.2.2 程序中断方式-例题2.2.3 程序中断方式小结2.3 I/O方式3-DMA方式2.3.1 DMA控制器2.3.2 DMA控制器结构2.3.3 DMA传送过程2.3.4 DMA传送方式2.3.5 DMA方式的特点2.3.6 DMA方式与中断方式比较2.3.7 例题CPU占用情况2.3.8 DMA方式小结1 I/O接口
1.1 接口定义
接口可以看作是两个部件之间的交接部分。
1.2 I/O接口的功能以单总线为例 I/O接口l/O控制器是主机和外设之间的交接界面通过接口可以实现主机和外设之间的信息交换。 接口的功能要解决的问题 实现主机和外设的通信联络控制进行地址译码和设备选择实现数据缓冲信号格式的转换传送控制命令和状态信息 接口的功能具体操作 设备选址传送命令传送数据反映I/O设备的工作状态 1.3 I/O接口的基本结构 内部接口内部接口与系统总线相连实质上是与内存、CPU相连。数据的传输方式只能是并行传输。 外部接口外部接口通过接口电缆与外设相连外部接口的数据传输可能是串行方式因此I/O接口需具有串/并转换功能。 CPU同外设之间的信息传送实质是对接口中的某些寄存器即端口进行读或写
1.4 接口与端口
I/O端口是指接口电路中可以被CPU直接访问的寄存器。
如何访问I/O端口 I/O端口要想能够被CPU访问必须要有端口地址每一个端口都对应着一个端口地址。 1.5 I/O端口及其编址
统一编址 把I/O端口当做存储器的单元进行地址分配用统一的访存指令就可以访问I/O端口又称存储器映射方式。
CPU靠不同的地址码区分内存和I/O设备I/O地址要求相对固定在地址的某部分。
如系统总线中地址线共10根则可以访问的存储单元个数为2101024个假设要给10个l/O端口编址 10–9表示I/O地址10–1023为主存单元地址 20–1013表示主存单元地址1014–1023为I/O地址 310–19表示I/O地址0–9、20–1023为主存单元地址 I/O编址连续不可间断 优点不需要专门的输入/输出指令可使CPU访问l/O的操作更灵活、更方便还可使端口有较大的编址空间。 缺点端口占用了存储器地址使内存容量变小而且利用存储器编址的I/O设备进行数据输入/输出操作执行速度较慢。 独立编址 I/O端口地址与存储器地址无关独立编址CPU需要设置专门的输入/输出指令访问端口又称I/O映射方式。
CPU靠不同的指令区分内存和I/O设备。 优点输入/输出指令与存储器指令有明显区别程序编制清晰便于理解。 缺点输入/输出指令少一般只能对端口进行传送操作尤其需要CPU提供存储器读/写、I/O设备读/写两组控制信号增加了控制的复杂性。 1.6 I/O接口的类型 按数据传送方式可分为 并行接口一个字节或一个字所有位同时传送。 串行接口一位一位地传送。 注这里所说的数据传送方式指的是外设和接口一侧的传送方式而在主机和接口一侧数据总是并行传送的。接口要完成数据格式转换。 按主机访问I/O设备的控制方式可分为 程序查询接口 中断接口 DMA接口 按功能选择的灵活性可分为 可编程接口 不可编程接口 1.7 I/O接口小结 2 I/O方式 2.1 I/O方式1-程序查询方式
2.1.1 程序查询方式流程图 优点接口设计简单、设备量少。 缺点CPU在信息传送过程中要花费很多时间用于查询和等待而且在一段时间内只能和一台外设交换信息效率大大降低。 2.1.2 程序查询方式接口 程序查询方式数据传送是发生在CPU寄存器和I/O接口的数据缓冲寄存器之间交换的单位是一个字
2.1.3 程序查询方式-例题
在程序查询方式的输入/输出系统中假设不考虑处理时间每一个查询操作需要100个时钟周期CPU的时钟频率为50MHz。现有鼠标和硬盘两个设备而且CPU必须每秒对鼠标进行30次查询硬盘以32位字长为单位传输数据即每32位被CPU查询一次传输率为2×220B/s。求CPU对这两个设备查询所花费的时间比率由此可得出什么结论 时间的角度 一个时钟周期为 1 / 50MHz 20ns 一个查询操作耗时 100×20ns 2000ns 1鼠标 每秒查询鼠标耗时 30×2000ns 60000ns 查询鼠标所花费的时间比率 60000ns / 1s 0.006% 对鼠标的查询基本不影响CPU的性能 2硬盘 每32位需要查询一次每秒传送 2×220B 每秒需要查询2×220B/ 32 219次 查询硬盘耗时 219×2000ns 512×1024×2000ns 1.05×109ns近似值 查询硬盘所花费的时间比率1.05×109ns/ 1s 105% 得出的结论CPU将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求 频率的角度 CPU的时钟频率为50MHz即每秒50×105个时钟周期 1鼠标 每秒查询鼠标占用的时钟周期数 30×100 3000 查询鼠标所花费的时间比率 3000 /50×105 0.006% 对鼠标的查询基本不影响CPU的性能 2硬盘 每秒需要查询2×220B/ 32219次 每秒查询硬盘占用的时钟周期数 219×100 5.24×107近似值 查询硬盘所花费的时间比率5.24×107/50×106105% 得出的结论CPU将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求 2.2 I/O方式2-程序中断方式
程序中断的作用如下 实现CPU与I/O设备的并行工作。处理硬件故障和软件错误。实现人机交互用户干预机器需要用到中断系统。实现多道程序、分时操作多道程序的切换需借助于中断系统。实时处理需要借助中断系统来实现快速响应。实现应用程序和操作系统管态程序的切换称为“软中断”。多处理器系统中各处理器之间的信息交流和任务切换。 2.2.1 程序中断方式 2.2.2 程序中断方式-例题
假定CPU主频为50MHzCPI为4。设备D采用异步串行通信方式向主机传送7位ASClI 字符通信规程中有1位奇校验位和1位停止位从D接收启动命令到字符送入l/0端口需要0.5ms。请回答下列问题要求说明理由。 1每传送一个字符在异步串行通信线上共需传输多少位在设备D持续工作过程中每秒钟最多可向l/O端口送入多少个字符 至少包含1位起始位和1位停止位停止位可能有多位。 每传送一个字符需要传送1位起始位、7位数据位、1位校验位、1位停止位共需传送10位。 每0.5ms可送入1个字符 每秒可送入1s / 0.5ms 2000个字符 2设备D采用中断方式进行输入/输出示意图如下 I/O端口每收到一个字符申请一次中断中断响应需10个时钟周期中断服务程序共有20条指令其中第15条指令启动D工作。若CPU需从D读取1000个字符则完成这一任务所需时间大约是多少个时钟周期CPU用于完成这一任务的时间大约是多少个时钟周期在中断响应阶段CPU进行了哪些操作 主频50MHz时钟周期为1 / 50MHz 20ns 0.5ms对应时钟周期数为0.5ms / 20ns 25000统一单位ms→时钟周期 传送1个字符需要的时钟周期数为 250001015×4 25070CPI4对应的含义是每条指令执行的时钟周期是4CPI即每条指令执行的时钟周期数传送1000个字符需要的时钟周期数为 25070×1000 25070000 CPU用于该任务的时间大约为 1000×1020×4 9×104个时钟周期中断响应阶段就是中断隐指令 关中断保存断点PC引出中断服务程序 2.2.3 程序中断方式小结 2.3 I/O方式3-DMA方式
2.3.1 DMA控制器 每准备好一个数据都要中断CPU由CPU运行中断服务程序来完成一次传送 磁盘机、磁带机等高速设备需要大批量的数据传送→CPU大量时间用于中断服务由硬件实现控制大批量的数据传送→DMA控制器 在DMA方式中当I/O设备需要进行数据传送时通过DMA控制器DMA接口向CPU提出DMA传送请求CPU响应之后将让出系统总线由DMA控制器接管总线进行数据传送。其主要功能有 接受外设发出的DMA请求并向CPU发出总线请求。CPU响应此总线请求发出总线响应信号接管总线控制权进入DMA操作周期。确定传送数据的主存单元地址及长度并能自动修改主存地址计数和传送长度计数。规定数据在主存和外设间的传送方向发出读写等控制信号执行数据传送操作。向CPU报告DMA操作的结束。 1 2 是传送前DMA控制器提供的功能3 4 是传送时DMA控制器提供的功能5 是传送后DMA控制器提供的功能 2.3.2 DMA控制器结构 注在DMA传送过程中DMA控制器将接管CPU的地址总线、数据总线和控制总线CPU的主存控制信号被禁止使用。而当DMA传送结束后将恢复CPU的一切权利并开始执行其操作。 2.3.3 DMA传送过程 数据传送过程 上面两个图合并 2.3.4 DMA传送方式
主存和DMA控制器之间有一条数据通路因此主存和I/O设备之间交换信息时不通过CPU。但当l/O设备和CPU同时访问主存时可能发生冲突为了有效地使用主存DMA控制器与CPU通常采用以下3种方法使用主存。
停止CPU访问主存 控制简单 CPU处于不工作状态或保持状态 未充分发挥CPU对主存的利用率 DMA与CPU交替访存 不需要总线使用权的申请、建立和归还过程 硬件逻辑更为复杂 周期挪用周期窃取 DMA访问主存有三种可能 CPU此时不访存不冲突 CPU正在访存存取周期结束让出总线 CPU与DMA同时请求访存l/O访存优先 2.3.5 DMA方式的特点
主存和DMA接口之间有一条直接数据通路。 由于DMA方式传送数据不需要经过CPU因此不必中断现行程序l/O与主机并行工作程序和传送并行工作。 DMA方式具有下列特点 它使主存与CPU的固定联系脱钩主存既可被CPU访问又可被外设访问。在数据块传送时主存地址的确定、传送数据的计数等都由硬件电路直接实现。主存中要开辟专用缓冲区及时供给和接收外设的数据。DMA传送速度快CPU和外设并行工作提高了系统效率。DMA在传送开始前要通过程序进行预处理结束后要通过中断方式进行后处理。 2.3.6 DMA方式与中断方式比较 2.3.7 例题CPU占用情况
某计算机的CPU主频为500MHzCPI为5即执行每条指令平均需5个时钟周期。假定某外设的数据传输率为0.5MB/s采用中断方式与主机进行数据传送以32位为传输单位对应的中断服务程序包含18条指令中断服务的其他开销相当于2条指令的执行时间。请回答下列问题要求给出计算过程。 1在中断方式下CPU用于该外设1/0的时间占整个CPU时间的百分比是多少 中断方式下占用CPU是中断服务程序和中断隐指令阶段 每传送一次数据占用CPU的时间为182×5 100个时钟周期 外设准备32位的数据需要的时间为 32bit ÷ 0.5MB/s 8×10-6s 每秒可准备的数据个数为 1s ÷ 8×10-6 125000个 即每秒需中断的次数为125000次 每秒传送次数外设数据传输率 / 传输单位 则1s内用于处理中断的时钟周期数开销为 125000×100 12.5M个 故CPU用于外设I/O 的时间占整个CPU时间的百分比为 12.5M ÷ 500M 2.5% 2当该外设的数据传输率达到5MB/s时改用DMA方式传送数据。假定每次DMA传送块大小为5000B且DMA预处理和后处理的总开销为500个时钟周期则CPU用于该外设l/0的时间占整个CPU时间的百分比是多少 假设DMA与CPU之间没有访存冲突 当外设数据传输率提高到5MB/s时改用DMA方式传送每次DMA传送一个数据块大小为5000B则1s内需产生的DMA次数为 5MB÷5000B 1000次 CPU用于DMA处理的总开销为 1000×500 0.5M 一个时钟周期CPU用于外设I/O的时间占整个CPU时间的百分比为 0.5M / 500M 0.1% 采用中断方式时若外设速度达到5MB/s则故CPU用于外设I/O的时间占整个CPU时间的百分比25% 2.3.8 DMA方式小结