【计算机组成原理】计算机系统结构笔记(4):输入输出系统

200801本篇是郑纬民《计算机系统结构》的读书笔记,欢迎各位路过指正!今天是第四章:输入输出系统。

4. 输入输出系统

4.1 输入输出原理

  • 针对实时性,采用层次结构的方法;针对与设备无关性,采用分类处理的方法;针对异步性,采用自治控制的方法,

  • 输入输出系统的组织方式:自治控制、层次结构、分类组织(面向字符的设备和面向数据块的设备)

  • 三种输入输出方式:

    • 程序控制输入输出方式:分为状态驱动输入输出方式、应答输入输出方式、查询输入输出方式、条件驱动输入输出方式。
    • 中断输入输出方式:CPU暂停执行现行程序,转去处理这些事件,等处理完成后再返回来继续执行原先的程序。
    • 直接存储器访问方式:直接存储器访问方式 ( DMA),主要用来连接高速外围设备。**数据的传送过程不需要CPU的干预。**全部用硬件实现,不需要做保存现场和恢复现场等工作。
  • 目前使用的DMA方式:

    • 周期窃取方式:在每一条指令执行结束时,CPU测试有没有DMA服务申请。
    • 直接存取方式:整个工作流程全部用硬件完成。
    • 数据块传送方式:在设备控制器中设置一个比较大的数据缓冲存储器。采用程序中断方式进行。

4.2 中断系统

  • 引起中断的各种事件称为中断源

  • 中断源的种类:外围设备、处理机、存储器、控制器、总线、实时过程控制、多机理机系统、程序调试断点、硬件故障、电源故障。

  • 中断系统的软硬件分配:考虑中断响应时间和灵活性。必须用硬件实现的有:保存中断点和进入中断服务程序入口。必须用软件实现的有:中断服务和返回到中断点。

  • 中断响应时间影响因素:最长指令执行时间、处理其它更紧急的任务所用时间、从第一次关CPU中断到第一次开CPU中断所经历的时间和通过软件找到中断服务程序入口所用时间。

  • 中断源的识别方法:查询法(所有中断源共用一条中断请求线)、软件排队链法(设置一个中断请求寄存器,每个中断源在其中中占据一位)、硬件排队链法(用硬件排队器和编码器,在所有请求中断服务的中断源中,找出具有最高优先级的中断源)、中断向量法(在主存储器的固定区域中开辟出一个专用的中断向量区)、独立请求法(各个中断源使用自己独立的中断请求线)。

  • 识别中断源的分组独立请求法:把独立请求法与串行排队链法结合起来。组内采用串行排队链法,组间采用独立请求法。

4.3 通道处理机

  • 把外围设备的管理工作从CPU中分离出来。

  • 通道的工作过程:在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。通道处理机执行通道程序,完成指定的数据输入输出工作。通道程序结束后再次调用管理程序进行处理。每完成一次输入输出工作,CPU需要两次调用管理程序

【计算机组成原理】计算机系统结构笔记(4):输入输出系统

  • 通道种类:字节多路通道(为多台低中速的外围设备服务有多个子通道,每个子通道连接一个控制器)、选择通道(为高速外围设备服务只有一个以成组方式工作的子通道)、数组多路通道(每次为一台高速设备传送一个数据块并轮流为多台外围设备服务。)

  • 通道中的数据传送过程:TST_S为设备选择时间。TDT_D为传送一个字节的时间。 DijD_{ij}为第ii台设备的第jj个数据。

  • 字节多路通道的数据传送过程用时TBYTE=(TS+TD)×P×nT_{BYTE} = (T_S+T_D)\times P\times n。选择通道的数据传送过程用时TSELECT=(TS/n+TD)×P×nT_{SELECT}=(T_S/n+T_D)\times P\times n。数组多路通道的数据传送过程用时TBLOCK=(TS/k+TD)×P×nT_{BLOCK}=(T_S/k+T_D)\times P\times n

  • 增大通道流量的方法:增加通道的最大工作流量、动态改变设备的优先级、增加缓冲存储器。

4.4 输入输出处理机

  • 能够独立承担输入输出工作的专用处理机。

【计算机组成原理】计算机系统结构笔记(4):输入输出系统

  • 输入输出处理机的种类:
    • 是否共享主存储器:共享主存储器、不共享主存储器的输入输出处理机。
    • 运算部件和指令控制部件:合用同一个、独立运算部件和指令控制部件