408计算机组成原理学习笔记——输入/输出系统(I/O)

目录

1.I/O接口

1.1.I/O接口的作用

1.2.I/O接口的工作原理

1.3.I/O端口的统一编址/独立编址

2.I/O方式

2.1.程序查询方式

2.2.程序中断方式

2.2.1.中断的基本概念​编辑

2.2.2.中断隐指令

2.2.3.中断服务程序

2.2.4.中断处理过程

2.2.5.多重中断

2.2.6.程序中断方式的工作过程

2.3.DMA方式

2.3.1.DMA方式流程

2.3.2.DMA控制器(DMAC)

2.3.3.DMA传送过程

2.3.4.DMA使用主存的方式

2.3.5.DMA方式的特点

2.4.中断和DMA的对比 


1.I/O接口

I/O接口负责协调主机和外部设备之间的数据传输

1.1.I/O接口的作用

1.2.I/O接口的工作原理

1.3.I/O端口的统一编址/独立编址

I/O端口是CPU可以直接访问的寄存器

1.独立编址:通过I/O指令访问(IN——读入CPU、OU——写入I/O端口)I/O端口

2.统一编址(存储器映射):通过地址码访问I/O端口

2.I/O方式

2.1.程序查询方式

1.将打印命令写入状态/控制寄存器:CPU通过地址线选择状态/控制寄存器(Rn+1),控制线发出写命令,数据线写入表示打印的指令

2.启动打印机,修改状态/控制寄存器为Ready:I/O控制逻辑根据状态/控制寄存器中的打印指令通过控制线(设备侧)控制打印机启动,打印机启动后,通过状态线反馈给I/O接口;I/O控制逻辑收到后,将状态/控制寄存器的内容修改为Ready

3.CPU通过数据线轮询检查(不断检查)状态/控制寄存器中的内容是否为Ready(使用IN命令)

4.将打印数据写入数据缓冲寄存器:CPU通过地址线选择状态/控制寄存器(Rn),控制线发出写命令,数据线写入打印数据

5.将打印数据输入到打印机中,开始打印:I/O控制逻辑通过数据线(设备侧)将数据缓冲寄存器中的内容输入到打印机中,同时对打印机发出控制信号,在打印过程中打印机处于忙碌状态,结束打印后,通过状态线给I/O控制逻辑发送打印完成的信号,I/O控制逻辑收到信号后,再次将状态/控制寄存器的内容修改为Ready

6.重复3-5,就能不断地进行打印

2.2.程序中断方式

2.2.1.中断的基本概念

1.关中断状态不响应中断信号(关中断,即不允许中断,它的作用是实现原子操作)(PSW状态寄存器记录是否处于关中断状态,Inter Flag,IF = 1,开中断;IF = 0,关中断)

2.产生中断请求信号的部件称为中断源

3.CPU在指令周期的末尾(中断周期)都会检查是否有中断请求信号需要处理

4.中断请求标记:用于判断是哪个设备发出中断请求信号

5.中断判优:硬件(与非门实现排队器)/软件(按照优先级依次判断)

2.2.2.中断隐指令

保存PC,并通过修改PC将CPU指令执行流转向对应的中断服务程序(不同的中断请求需要使用不同的中断服务程序进行处理) 

1.关中断:防止中断执行期间被打断

2.保存断点保存PC在执行中断前的内容到堆栈区,使其在中断执行后能返回原程序(保存PC和PSW)

3.引出中断服务程序:通过硬件向量/软件查询的方式将PC修改为中断服务程序的首地址

①硬件向量法:为每个中断请求信号编号,每个编号对应一个对应的保存无条件转移指令(JMP)的地址,该无条件转移指令指向特定中断服务程序的首地址(中断向量)

②判断是哪个部件发出中断请求信号→中断请求信号对应的向量地址→向量地址对应的中断服务程序的首地址

③向量地址(中断类型号):指向中断向量的指针(指针的指针)

中断向量:指向中断服务程序的首地址的指针(指针)        

2.2.3.中断服务程序

①保护现场:保存通用寄存器的内容(PSW在中断响应阶段,由硬件保存)

②中断服务(主体内容):每个中断服务程序需要完成的中断服务不同

③恢复现场:将①中保存的数据恢复到相应的寄存器中

④中断返回、开中断:将PC的内容修改为K + 1(原程序的下一条指令,即断点处)

2.2.4.中断处理过程

单重中断:中断处理期间前关中断,结束后开中断

2.2.5.多重中断

1.保护现场和恢复现场需要关中断:防止现场保存和恢复被新的中断打断

2.屏蔽字:即中断屏蔽字

①作用是屏蔽某些中断(忽视低优先级中断,防止频繁被打断)

②需要能屏蔽自身的中断(自己不能中断自己)

③“1”越多说明该中断优先级越高(可以打断其他中断)

2.2.6.程序中断方式的工作过程

2.3.DMA方式

I/O与主机并行工作,程序和传送并行工作

2.3.1.DMA方式流程

1.外设发出的DMA请求:告诉DMA当前的块传输完毕

DMA向CPU发出总线请求:申请总线使用权,将数据寄存器中的内容传输给主存

2.DMA操作周期:将数据寄存器的内容通过系统总线传输给主存的过程

3.数据流方向由CPU决定,DMA发出

4.通过中断方式向CPU报告DMA操作结束

2.3.2.DMA控制器(DMAC)

1.控制/状态逻辑:控制每一步进行什么操作/是否对总线进行申请/是否将数据传输到总线上等等

2.DMA请求触发器:当I/O设备把数据传输给数据缓冲寄存器后,将会给DMA触发器一个控制信号,告诉DMA数据已经传输完成;控制/状态逻辑检测到后,进行下一步操作,并重置触发器

3.主存地址计数器:存放主存的读写地址(自动+1)

4.传送长度寄存器:记录数据总长度、已经传输的长度(自动+1)

5.数据缓存寄存器:暂时存放数据

6.中断机构:告诉CPU数据传输完毕,向CPU发出中断请求

7.DMA传输过程中独占总线,CPU使用总线需要等待其结束

2.3.3.DMA传送过程

DMA请求和DMA中断请求的区别:

DMA请求表示DMA将要和主存进行一个字的传输

DMA中断请求表示DMA和主存已经完成一整块的传输

2.3.4.DMA使用主存的方式

2.3.5.DMA方式的特点

2.4.中断和DMA的对比 

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值