计算机组成原理学习笔记(5)
计算机组成原理学习笔记(5)
IO设备
I/O控制方式
在输入/输出系统中,经常需要进行大量的数据传输,而传输过程中有各种不同的I/O控制方
式,基本的控制方式主要有以下四种:
1)程序查询方式。由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。
2)程序中断方式。只在I/O设备准备就绪并向CPU发出中断请求时才予以响应。
3)DMA方式。主存和I/O设备之间有一条直接数据通路,当主存和I/O设备交换信息时,无须调用中断服务程序。
4)通道方式。在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行I/O命令时,只需启动有关通道,通道将执行通道程序,从而完成I/O操作。
I/O接口
功能
I/O接口的主要功能如下:
- 进行地址译码和设备选择。CPU送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。
- 实现主机和外设的通信联络控制。解决主机与外设时序配合问题,协调不同工作速度的外设和主机之间交换信息,以保证整个计算机系统能统一、协调地工作。
- 实现数据缓冲。CPU与外设之间的速度往往不匹配,为消除速度差异,接口必须设置数据缓冲寄存器,用于数据的暂存,以避免因速度不一致而丢失数据。
- 信号格式的转换。外设与主机两者的电平、数据格式都可能存在差异,接口应提供主机与外设的信号格式的转换功能,如电平转换、并/串或串/并转换、模/数或数/模转换等。
- 传送控制命令和状态信息。CPU要启动某外设时,通过接口中的命令寄存器向外设发出启动命令;外设准备就绪时,则将“准备好”状态信息送回接口中的状态寄存器,并反馈给CPU。外设向CPU提出中断请求时,CPU也应有相应的响应信号反馈给外设。
基本结构
I/O接口中的数据线传送的是读/写数据、状态信息、控制信息和中断类型号。地址线传送的是要访问I/O接口中的寄存器的地址。控制线传送的是读/写控制信号,以确认是读寄存器还是写寄存器,此外控制线还会传送中断请求和响应信号、仲裁信号和握手信号。
I/O接口中的I/O控制逻辑还要能对控制寄存器中的命令字进行译码,并将译码得到的控制信号通过外设界面控制逻辑送到外设,同时将数据缓冲寄存器的数据发送到外设或从外设接收数据到数据缓冲寄存器。另外,它还要具有收集外设状态到状态寄存器的功能。
对数据缓冲寄存器、状态/控制寄存器的访问操作是通过相应的指令来完成的,通常称这类指
令为I/O指令,I/O指令只能在操作系统内核的底层I/O软件中使用,它们是一种特权指令。
分类
从不同的角度看,1/O接口可以分为不同的类型。
1)按数据传送方式(外设和接口一侧),可分为并行接口(一字节或一个字的所有位同时传送)和串行接口(一位一位地有序传送),接口要完成数据格式的转换。
2)按主机访问I/O设备的控制方式,可分为程序查询接口、中断接口和DMA接口等。
3)按功能选择的灵活性,可分为可编程接口(通过编程改变接口功能)和不可编程接口。
端口及编址
I/O端口是指I/O接口电路中可被CPU直接访问的寄存器,主要有数据端口、状态端口和控制端口。通常,CPU能够对数据端口中的数据进行读/写操作:但对状态端口中的外设状态只能进行读操作,对控制端口中的各种控制命令只能进行写操作。
- 独立编址
独立编址也称I/O映射方式,是指对所有的I/O端口单独进行编址。I/O端口的地址空间与主
存地址空间是两个独立的地址空间,它们的范围可以重叠,相同地址可能属于不同的地址空间。
因此需设置专门的I/O指令来表明访问的是I/O地址空间,I/O指令的地址码给出I/O端口号。
优点:I/O端口数比主存单元数少得多,只需少量地址线,使得I/O端口译码简单,寻址速度
更快。使用专用I/O指令,可使得程序更加清晰,便于理解和检查。
缺点:I/O指令少,只提供简单的传输操作,所以程序设计的灵活性较差。此外,CPU需要
提供存储器读/写、I/O设备读/写两组控制信号,增大了控制的复杂性。 - 统一编制
统一编址也称存储器映射方式,是指把主存地址空间分出一部分给I/O端口进行编址,I/O端口和主存单元在同一地址空间的不同分段中,根据地址范围就能区分访问的是I/O端口还是主存单元,因此无须设置专门的I/O指令,用统一的访存指令就可访问I/O端口。
优点:不需要专门的I/O指令,使得CPU访问I/O的操作更加灵活和方便,还使端口有较大
的编址空间。I/O访问的保护机制可由虚拟存储管理系统来实现,无须专门设置。
缺点:端口地址占用了部分主存地址空间,使主存可用容量变小。此外,由于在识别1/O端
口时全部地址线都需要参加译码,使得译码电路变得更复杂,降低了译码速度。
I/O方式
程序查询方式
由CPU执行程序控制信息交换。接口中设置数据端口和状态端口,进行IO操作时,先读取设备状态并根据设备状态决定下一步操作是数据传送还是等待。
1.CPU执行初始化程序,并预置传送参数。
2.向I/O接口发出命令字,启动I/O设备。
3.从外设接口读取其状态信息。
4.CPU周期或持续的查询设备状态,直到外设准备就绪。
5.传送一次数据。
6.修改地址和计数器参数。
7.判断传送是否结束,若未结束转第3步,直到计数器为0。
程序查询方式可以分为两种
1)独占查询。一旦设备被启动,CPU就一直持续查询接口状态,CPU花费100%的时间用于I/O操作,此时外设和CPU完全串行工作。
2)定时查询。CPU周期性地查询接口状态,每次总是等到条件满足才进行一个数据的传送,传送完成后返回到用户程序。定时查询的时间间隔与设备的数据传输速率有关。
程序中断方式
中断技术的主要功能
① 实现 CPU 与 I/O 设备的并行工作。
② 处理硬件故障和软件错误。
③ 实现人机交互,用户干预机器需要用到中断系统。
④ 实现多道程序、分时操作,多道程序的切换需借助于中断系统。
⑤ 实时处理需要借助中断系统来实现快速响应。
⑥ 实现应用程序和操作系统(管态程序)的切换,称为软中断。
⑦ 多处理器系统中各处理器之间的信息交流和任务切换。
程序中断的工作流程
参考:王道计算机组成原理复习指导