基本信息
文件名称:计算机组成原理:第十章 输入输出结构.ppt
文件大小:1.11 MB
总页数:77 页
更新时间:2025-06-13
总字数:约6.18千字
文档摘要

*DMA控制器包括多个寄存器DMA地址寄存器 存贮数据传输过程中需用到的存储器地址DMA计数寄存器 保存传输数据的字节数DMA控制寄存器从CPU中接受命令状态寄存器 向CPU提供信息* 增加两条新指令:一条输入数据、一条输出数据。如表10.1所示指令指令码操作INPT00100000ΓAC←输入端口ΓOTPT00100001Γ输出端口Γ←AC表10.1相对简单CPU的独立I/O指令* 增加一个新控制信号IO,IO=1时为I/O操作,IO=0时为存储器操作新状态图10.8实现INPT指令执行周期的状态RTL代码INPT1:DR←M,PC←PC+1,AR←AR+1INPT2:TR←DR,DR←M,PC←PC+1INPT3:AR←DR,TRINPT4:DR←输入端口INPT5:AC←DR*硬件的修改 (1)修改寄存器; (2)修改ALU; (3)修改控制单元图10.9产生INPT执行周期的状态信号的硬件* 计数器控制信号修改: INC=(INC原有值)∨INPT1∨INPT2∨INPT3∨INPT4 CLR=(CLR原有值)∨INPT5组合INPT1状态所需进行的修改:DRLOAD=(DRLOAD原有值)∨INPT1MEMBUS=(MEMBUS原有值)∨INPT1PCINC=(PCINC原有值)∨INPT1ARINC=(ARINC原有值)∨INPT1设定为IO=INPT4存储器读=READ∧IOˊ*第十章输入输出结构10.1异步数据传输10.2可编程I/O10.3中断10.4直接存储器访问10.5I/O处理器10.6串行通信10.7实例:串行通信标准*10.3.1CPU和I/O设备之间的数据传送解决I/O设备变化延迟查询(polling) 中断(interrupt) 减少由不确定性造成的延迟, 优化系统性能的一种机制*查询(polling)CPUI/O传送数据请求信号准备好没有?*考察计算机系统的一个输入设备CPU通过向I/O地址1001H中输出01H值,启动一个请求然后不断查询输入端口1002H直至其最低位置1继后CPU从输入端口1000H中读取数据图10.10采用查询方式实现I/O端口的硬件*查询方式在设计和编程方面都相对直观,常用于CPU负荷不很重的情况不适合对于CPU时间很宝贵的系统等待状态(waitstate) 处理器向I/O设备请求数据(或发送数据给I/O设备),I/O设备经控制总线向CPU发送一个等待信号。只要等待信号有效,CPU就一直处于等待状态*中断请求(interruptrequest) 当I/O设备采用中断方式时,CPU在向I/O设备输出请求后,能够继续执行指令,完成有用的工作,而无需查询设备或进入等待状态 设备准备传输数据时,它向CPU发送中断请求信号 CPU响应中断,置中断响应信号有效,完成数据传输*10.3.2中断类型外部中断 CPU采用外部中断与输入/输出设备进行交互内部中断 内部中断完全发生在CPU内部,没有任何输入/输出设备介入软中断 由CPU指令集中的特定中断指令产生*10.3.3中断处理中断服务程序:处理中断工作的服务软件 一对一或一对多 一个中断服务程序对应一个中断 一个中断服务程序对应多个中断* 不管是一个还是多个中断服务程序的配置方式,每个中断都执行下列事件无操作(直至当前指令执行完)获取中断服务程序地址(仅向量型中断)调用中断服务程序*考察相对简单CPU的LDAC指令的执行周期:无操作(直至当前指令执行完)LDAC1:DR←M,PC←PC+1,AR←AR+1发生中断……LDAC2:TR←DR,DR←M,PC←PC+1LDAC3:AR←DR,TRLDAC4:DR←MLDAC5:AC←DR如果执行周期完成后产生中断,则仅需保存PC的内容否则必须保存CPU内部寄存器内容和控制单元的状态信息*获取中断服务程序地址(仅向量型中断)向量中断 向CPU提供中断向量,此中断向量用于产生该中断的中断服务程序的地址非向量中断 非向量中断在一个已知地址处读取中断服务程序*调用中断服务程序阻止任何进一步的中断3.确保返回主程序前所有相关的寄存 器保存原有值 2.清除当前中断,避免一个中断请求 触发多于一个的中断*10.3.4