7.输入输出系统

I/O系统基本概念(X)

本节考纲已删,了解即可。

输入/输出系统

输入/输出是以主机为中心而言的,将信息从外部设备传送到主机称为输入,反之称为输出。输入/输出系统解决的主要问题是对各种形式的信息进行输入和输出的控制。

I/O系统中的几个基本概念如下:

  • 外部设备:包括输入/输出设备及通过输入/输出接口才能访问的外存储设备。
  • 接口:在各个外设与主机之间传输数据时进行各种协调工作的逻辑部件。协调包括传输过程中速度的匹配、电平和格式转换等。
  • 输入设备:用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。
  • 输出设备:用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。
  • 外存设备(外部设备):指除计算机内存及CPU缓存等外的存储器。如,硬磁盘、光盘等。

一般来说,系统由软件和硬件两部分构成:

  • 软件:包括驱动程序、用户程序、管理程序、升级补丁等。通常采用指令和通道指令实现设备的信息交换。

    • 指令:系统指令的一部分,是机器指令的一类。格式:操作码(识别指令)、命令码(做什么操作)、设备码(对哪个设备进行操作)
    • 通道指令:通道能识别的指令,通道程序提前编制好放在主存中。在含有通道的计算机中,执行指令对通道发出命令,由通道执行一系列通道指令,代替设备进行管理。
  • 硬件:包括外部设备、设备控制器和接口、总线等。设备通过不能直接与主板总线相连,需要通过设备控制器来控制设备的具体动作;通过接口与主机(总线)相连。

I/O控制方式

基本的控制方式主要有以下种:

  • 程序查询方式(直接程序传送方式):由通过程序不断查询设备是否已做好准备,从而控制设备与主机交换信息。
  • 程序中断方式:只在设备准备就绪并向发出中断请求时才予以响应。
  • 方式:主存和设备之间有一条直接数据通路,当主存和设备交换信息时,无须调用中断服务程序。
  • 通道方式:在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行命令时,只需启动相关通道,通道将执行通道程序,从而完成操作。 指令是指令系统的一部分,是用来控制操作时指令,由译码后执行。在具有通道结构的机器中,指令不实现数据传送,主要完成启、停设备,查询通道和设备的状态,及控制通道进行其他一些操作等。 通道指令是通道本身的指令,用来执行操作,如读、写、磁带走带及磁盘寻道等操作。

其中,方式和方式主要用于数据传输率较低的外部设备,方式和方式主要用于数据传输率较高的设备。方式都需要程序的干预,是程序控制方式,方式靠硬件电路实现,不是程序控制方式。

外部设备

输入输出设备:鼠标、键盘是常用的输入设备。显示器、打印机是常用的输出设备。

显示设备种类繁多,按显示设备所用的显示器件分类,有阴极射线管()显示器、液晶显示器()、发光二极管()显示器等。

按所显示的信息内容分类,有字符显示器(字形码由点阵表示,存入由构成的字符发生器,对应字符的码存放在)、图形显示器(将所显示图形的一组坐标点和绘图命令组成显示文件存放在缓冲存储器中,缓存中的显示文件传送给矢量(线段)产生器,产生相应的模拟电压)和图像显示器。

按扫描方式不同,可分为光栅扫描和随机扫描两种显示器。

显示器属于用点阵(由个点组成的阵列)方式运行的设备,有以下主要参数:

  • 屏幕大小:以对角线长度表示。

  • 分辨率:所能表示的像素个数,屏幕上的每个光点就是一个像素,以宽和高的像素数的乘积表示,如

  • 灰度级:灰度级是指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次越清楚、逼真。位可以表示种不同的亮度或颜色。

  • 刷新:光点只能保持极短的时间便会消失,为此必须在光点消失之前再重新扫描显示一遍,这个过程称为刷新。

  • 刷新频率:指单位时间内扫描整个屏幕内容的次数。按照人的视觉生理,刷新频率大于时才不会感到闪烁。

  • 显示存储器():也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储器容量越大。

按工作原理,打印机分为击打式和非击打式两大类;按工作方式,打印机分为点阵打印机、针式打印机、喷墨式打印机、激光打印机等;按打印机工作方式不同可分为串行打印机、行式打印机。按照能否打印汉字分为:点阵打印机、活字式打印机。

外部存储器(辅存)

  • 磁表面存储器:把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息。磁盘存储器、磁带存储器和磁鼓存储器均属于磁表面存储器。
  • 固态硬盘(SSD):微小型高档笔记本电脑采用高性能Flash存储器作为硬盘来记录数据,这种“硬盘”称为固态硬盘(SSD)。固态硬盘除需要Flash存储器外,还需要其他硬件和软件的支持。
  • 光盘存储器:光盘存储器是利用光学原理读/写信息的存储装置,它采用聚焦激光束对盘式介质以非接触方式记录信息。完整的光盘存储系统由光盘片、光盘驱动器、光盘控制器等组成。

I/O接口

接口(控制器、设备控制器):在各个外设与主机之间传输数据时进行各种协调工作的逻辑部件。协调包括传输过程中速度的匹配、电平和格式转换等。通过接口可以实现主机和外设之间的信息交换。

接口的主要功能如下:

  • 实现主机和外设的通信联络控制。解决主机与外设时序配合问题,协调不同工作速度的外设和主机之间交换信息,以保证整个计算机系统能统一、协调地工作。
  • 控制和定时:接收从控制总线发来的控制信号、时钟信号。
  • 进行地址译码和设备选择送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。
  • 数据缓冲:通过数据缓冲寄存器()达到主机和外设工作速度的匹配。
  • 错误或状态监测:通过状态寄存器反馈设备的各种错误、状态信息,供CPU查用。
  • 信号(数据)格式的转换。外设与主机两者的电平、数据格式都可能存在差异,接口应提供计算机与外设的信号格式的转换功能,如电平转换、并/串或串/并转换、模/数或数/模转换等。
  • 传送控制命令和状态信息要启动某一外设时,通过接口中的命令寄存器向外设发出启动命令;外设准备就绪时,则将“准备好”状态信息送回接口中的状态寄存器,并反馈给。外设向提出中断请求时,也应有相应的响应信号反馈给外设。过程中错误与状态检测。

 

接口的基本结构

设备侧的外部接口通过接口电缆与(多个)外设相连,外部接口的数据传输可能是串行方式,因此接口需具有串/并转换功能主机侧的内部接口与系统总线相连,实质上是通过总线与内存、相连。

通过数据总线,在数据缓冲寄存器()与内存或的寄存器之间进行数据传送(数据、状态字、控制字、中断类型号)。同时接口和设备的状态信息(状态字)被记录在状态寄存器中,通过数据线将状态信息送到对外设的控制命令(命令字)也通过数据线传送,一般将其送到接口的控制寄存器。状态寄存器和控制寄存器在传送方向上是相反的。

接口中的地址线用于给出要访问的接口中的寄存器的地址(指明端口),它和读/写控制信号一起被送到接口的控制逻辑部件,其中地址信息用以选择和主机交换信息的寄存器,通过控制线传送来的读/写信号确认是读寄存器还是写寄存器,此外控制线还会传送一些仲裁信号和握手信号、中断请求信号。

接口中的控制逻辑还要能对控制寄存器中的命令字进行译码,并将译码得到的控制信号通过外设界面控制逻辑送到外设,同时将数据缓冲寄存器的数据发送到外设或从外设接收数据到数据缓冲寄存器。另外,它还要具有收集外设状态到状态寄存器的功能。

对数据缓冲寄存器、状态/控制寄存器的访问操作是通过相应的指令来完成的,通常称这类指令为指令,指令只能在操作系统内核的底层软件中使用,它们是一种特权指令。

Xm5vI1.md.png

 

接口的工作原理:

  1. 发命令:发送命令字(控制字)到控制寄存器,向设备发送命令(需要驱动程序的协助)。
  2. 读状态:从状态寄存器读取状态字,获得设备或控制器的状态信息。
  3. 读/写数据:从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换。

确定要操作的设备:每个设备对应一组寄存器,操作不同的寄存器就是在操作不同的设备。

 

从不同的角度看,接口可以分为不同的类型:

  • 按数据传送方式可分为并行接口(一字节或一个字的所有位同时传送)和串行接口(一位一位地传送),接口要完成数据格式的转换。

    这里所说的数据传送方式指的是外设和接口一侧的传送方式,而在主机和接口一侧,数据总是并行传送的(在当今时代并不完全正确)。

  • 按主机访问设备的控制方式可分为程序查询接口、中断接口和接口等。

  • 按功能选择的灵活性可分为可编程接口和不可编程接口。


端口是指接口电路中可被直接访问的寄存器,主要有数据端口、状态端口和控制端口,若干端口加上相应的控制逻辑电路组成接口。通常,能对数据端口执行读写操作,但对状态端口只能执行读操作,对控制端口只能执行写操作。指令实现的数据传送通常发生在通用寄存器和端口之间。

端口要想能够被访问,就必须要对各个端口进行编号,每个端口对应一个端口地址。而对端口的编址方式有(与存储器):

  • 统一编址,又称存储器映射方式,是指把端口当作存储器的单元进行地址分配,这种方式不需要设置专门的指令,用统一的访存指令就可以访问端口。如果随意在地址的任何地方编址,将给编程造成极大的混乱,需要固定位置。靠不同的地址码区分内存和设备,访存类的指令都可以访问端口。(机器常用)

    优点:不需要专门的输入/输出指令,可使访问的操作更灵活、更方便,还可使端口有较大的编址空间。读写控制逻辑电路简单。

    缺点:端口占用存储器地址,使内存容量(主存地址空间)变小,外设寻址时间长(地址位数多,地址译码速度慢),而且利用存储器编址的设备进行数据输入/输出操作,执行速度较慢。

  • 独立编址,又称映射方式,端口的地址空间与主存地址空间是两个独立的地址空间,因而无法从地址码的形式上区分,需要设置专门的指令来访问端口。

    优点:使用专用指令,程序编制清晰,便于理解;端口地址位数少,地址译码速度快;端口的地址不占用主存地址空间。

    缺点:指令少,一般只能对端口进行传送操作,程序设计灵活性差;需要提供存储器读/写、设备读/写两组控制信号,增加了控制的复杂性。

I/O方式

程序查询方式

信息交换的控制完全由主机执行程序实现,程序查询方式接口中设置一个数据缓冲寄存器(数据端口)和一个设备状态寄存器(状态端口)。主机进行操作时,先发出询问信号,读取设备的状态并根据设备状态决定下一步操作究竟是进行数据传送还是等待。

程序查询方式的工作流程如下:

Xm5zPx.md.png

独占查询:的时间都在查询状态,完全串行;

定时查询:在保证数据不丢失的情况下,每隔一段时间就查询一次状态。查询的间隔内可以执行其他程序。

优点:接口设计简单、设备量少。

缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。

程序中断方式

现代计算机系统中都配有完善的异常和中断处理系统,的数据通路中有相应的异常和中断的检测和响应逻辑,在外设接口中有相应的中断请求和控制逻辑,操作系统中有相应的中断服务程序。这些中断硬件线路和中断服务程序有机结合,共同完成异常和中断的处理过程。

异常(内中断):异常是指由内部异常引起的意外事件,分为硬故障中断程序性异常(软中断)。硬故障中断是由硬连线出现异常引起的。程序性异常是指在内部因执行指令而引起的异常事件。异常的检测是由自身完成的。按发生异常的报告方式和返回方式不同,内部异常可分为:

  • 故障:指在引起故障等指令启动后、执行结束前被检测到的异常事件。例如,指令译码时,出现“非法操作码”;取数据时,发生“缺段”或“缺页”;执行整数除法指令时,发现“除数为”等。对于“缺段”“缺页”等异常处理后,已将所需的段或页面从磁盘调入主存,可回到发生故障的指令继续执行,断点为当前发生故障的指令;对于“非法操作码”“除数为”等,因为无法通过异常处理程序恢复故障,因此不能回到原断点执行,必须终止进程的执行。

    主存故障引起的中断是机器校验中断,属于内中断。

  • 自陷(陷阱、陷入):它是预先安排的一种“异常”事件,就像预先设定的“陷阱”一样。通常的做法是,事先在程序中用一条特殊指令或通过某种方式设定特殊控制标志来人为设置一个“陷阱”,当执行到被设置了“陷阱”的指令时,将进入操作系统内核程序执行,在执行完自陷指令后,自动根据不同“陷阱”类型进行相应的处理,然后返回到自陷指令的下一条指令执行。当自陷指令是转移指令时,并不是返回到下一条指令执行,而是返回到转移目标指令执行。

    中,用于程序调试的“断点设置”功能就是通过自陷方式实现的。此外,系统调用指令、条件自陷指令等都属于陷阱指令,执行到这些指令时,无条件或有条件地自动调出操作系统内核程序进行执行。

  • 终止:如果在执行指令的过程中发生了使计算机无法继续执行的硬件故障,如电源掉电、线路故障等,那么程序将无法继续执行,只能终止,此时,调出中断服务程序来重启系统。这种异常与故障和自陷不同,不是由特定指令产生的,而是随机发生的。

外部中断(外中断、中断):外中断是指来自外部、与执行指令无关的事件引起的中断,包括设备发出的中断(如键盘输入、打印机缺纸等)、外部信号中断(如用户按键),以及各种定时器引起的时钟中断等。必须通过总线获取中断源的标识信息。

外中断一般指主存和外的中断,如外设引起的中断等。

用户程序需要输入/输出时,需要调用操作系统提供的接口(请求操作系统服务),此时会引起访管中断,系统由用户态转为核心态。访管指令优先级高于外部中断。

程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后又自动返回到现行程序的断点处,继续执行原程序。程序中断的作用如下:

  • 实现设备的并行工作。
  • 处理硬件故障和软件错误。
  • 实现人机交互,用户干预机器需要用到中断系统。
  • 实现多道程序、分时操作,多道程序的切换需借助于中断系统。
  • 实时处理需要借助中断系统来实现快速响应。
  • 实现应用程序和操作系统(管态程序)的切换,称为“软中断”。
  • 多处理器系统中各处理器之间的信息交流和任务切换。

程序中断方式:在程序中安排好于某个时刻启动某台外设,然后继续执行原来的程序,不需要像查询方式那样一直等待外设准备就绪。一旦外设完成数据传送的准备工作,就主动向发出中断请求,请求为自己服务。在可以响应中断的条件下,暂时中止正在执行的程序,转去执行中断服务程序为外设服务,在中断服务程序中完成一次主机与外设之间的数据传送,传送完成后,返回原来的程序。

程序中断方式工作流程

  1. 中断请求:

    中断源是请求中断的设备或事件,一台计算机允许有多个中断源。每个中断源向发出中断请求的时间是随机的。为记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器,当其状态为“”时,表示中断源有请求。这些触发器可组成中断请求标记寄存器(),该寄存器可集中在中,也可分散在各个中断源中。

    内中断皆为不可屏蔽中断。通过信号线发出的外中断是可屏蔽中断,在关中断()的情况下不会被响应;而通过信号发出的是不可屏蔽中断,即使在关中断()的情况下也会被响应。不可屏蔽中断的处理优先级最高,任何时候只要发生不可屏蔽中断,都要中止现行程序的执行,转到不可屏蔽中断处理程序执行。

  2. 中断判优:(设备争用的判优方式)

    中断系统在任一瞬间只能响应一个中断源的请求。由于许多中断源提出中断请求的时间都是随机的,因此当多个中断源同时提出请求时,需通过中断判优逻辑确定响应哪个中断源的请求(中断响应次序)。中断判优既可以用硬件实现,又可用软件实现。硬件实现是通过硬件排队器实现的,它既可以设置在中,又可以分散在各个中断源中,软件实现是通过查询程序实现的。

    一般来说,硬件故障中断属于最高级,其次是软件中断;不可屏蔽中断优于可屏蔽中断;请求优于设备传送的中断请求;高速设备优于低速设备;输入设备优于输出设备;实时设备优于普通设备等。

  3. 响应中断的条件:

    在满足一定的条件下响应中断源发出的中断请求,并经过一些特定的操作,转去执行中断服务程序。响应中断必须满足以下个条件:

    1. 中断源有中断请求。外设有中断请求时,中断请求触发器必须处于“”状态,保持中断请求信号。
    2. 允许中断即开中断。在内部设置的中断屏蔽触发器必须是开放的;外设(接口)中断允许触发器必须为“",才能把外设中断请求送至
    3. 一条指令执行完毕,且没有更紧迫的任务。

    设备的就绪时间是随机的,而在统一的时刻,即每条指令执行阶段结束前向接口发出中断查询信号,以获取的中断请求,响应中断的时间是在每条指令执行阶段的结束时刻。这里说的中断仅指外中断,内中断不属于此类情况。

  4. 中断响应:

    响应中断后,经过某些操作,转去执行中断服务程序。这些操作是由硬件直接实现的,我们将它称为中断隐指令。中断隐指令并不是指令系统中的一条真正的指令,它没有操作码,所以中断隐指令是一种不允许也不可能为用户使用的特殊指令。它所完成的操作如下:

    1. 关中断:响应中断后,首先要保护程序的断点和现场信息,在保护断点和现场的过程中,不能响应更高级中断源的中断请求。
    2. 保存断点:为保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(指令无法直接读取的等的内容)保存起来。
    3. 引出中断服务程序:实质是取出中断服务程序的入口地址并传送给程序计数器
  5. 中断向量:

    中断向量由向量地址形成部件,即由硬件产生,并且不同的中断源对应不同的中断服务程序,因此通过该方法,可以较快速地识别中断源。

    每个中断都有一个类型号,每个中断类型号都对应一个中断服务程序,每个中断服务程序都有一个入口地址,必须找到入口地址,即中断向量,把系统中的全部中断向量集中存放到存储器的某个区域内,这个存放中断向量的存储区就称为中断向量表

    响应中断后,中断硬件会自动将中断向量地址传送到,由实现程序的切换,这种方法称为中断向量法,采用中断向量法的中断称为向量中断。

    中断向量是中断服务程序的入口地址,中断向量地址是指中断服务程序的入口地址的地址。

  6. 中断处理过程:

    不同计算机的中断处理过程各具特色,就其多数而论,中断处理流程如下:

    1. 关中断。在保护断点和现场期间不能被新的中断所打断,必须关中断。否则,若断点或现场保存不完整,在中断服务程序结束后,就不能正确地恢复并继续执行现行程序。允许中断触发器置表示关中断,由中断隐指令完成,即由硬件自动完成。

    2. 保存断点。断点可以压入堆栈,也可以存入主存的特定单元中。

    3. 引出中断服务程序。通常有两种方法寻址中断服务程序的入口地址:硬件向量法和软件查询法。硬件向量法通过硬件产生中断向量地址,再由中断向量地址找到中断服务程序的入口地址。软件查询法用软件编程的办法寻找入口地址。

      注意:硬件产生的实际上是中断类型号,而中断类型号指出了中断向量存放的地址,因此能产生中断向量地址。(指向指针的指针)

      前三条在进入中断周期后,由中断隐指令(硬件自动)完成。后面由中断服务程序完成。

    4. 保存现场和屏蔽字。进入中断服务程序后首先要保存现场和中断屏蔽字,现场信息是指用户可见的工作寄存器的内容,它存放着程序执行到断点处的现行值。每个中断源都有一个屏蔽触发器,表示屏蔽该中断源的请求,表示可以正常申请,所有屏蔽触发器组合在一起便构成一个屏蔽字寄存器(中断屏蔽寄存器),屏蔽字寄存器的内容称为屏蔽字。屏蔽字用来指明哪些中断可以中断当前中断,即中断优先级(中断处理次序)。

      现场和断点,这两类信息都不能被中断服务程序破坏。现场信息因为用指令可直接访问,所以通常在中断服务程序中通过指令把它们保存到中,即由软件实现;而断点信息在中断响应开始时自动保存到栈或专门的寄存器中,即由硬件实现。

    5. 开中断。允许更高级中断请求得到响应,实现中断嵌套。

    6. 执行中断服务程序。这是中断请求的目的。中断服务程序是处理器处理的紧急事件,可理解为一种服务,是通过执行事先编好的某个特定的程序来完成的,一般属于操作系统的模块,以供调用执行。

    7. 关中断。保证在恢复现场和屏蔽字时不被中断。

    8. 恢复现场和屏蔽字。将现场(将寄存器的内容)和屏蔽字恢复到原来的状态。

    9. 开中断、中断返回。中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。中断返回指令在中断恢复后,即中的所有寄存器都已恢复到了中断前的状态,因此该指令不需要进行无条件转移。

XmIlLQ.png

在执行中断服务程序的过程中,又出现了新的更高优先级的中断请求,而对新的中断请求不予响应,则这种中断称为单重中断。若暂停现行的中断服务程序,转去处理新的中断请求,则这种中断称为多重中断,又称中断嵌套。

如上面所讲的就是多重中断,去掉第步即为单重中断。中断屏蔽技术主要用于多重中断。要具备多重中断的功能,必须满足下列条件:

  • 在中断服务程序中提前设置开中断指令。
  • 优先级别高的中断源有权中断优先级别低的中断源。

一般同种类型的中断源可以屏蔽该中断源发来的中断。

(开/关中断标志):当时,表示开中断,当时表示关中断。

(可屏蔽中断请求):输入信号,用来申请一个硬件中断。当时,若保持高电平,则在当前指令执行完毕后就进入中断响应周期。

(非屏蔽中断):输入信号。与信号类似,但中断不必检查标志位是否为。常用于处理电源掉电紧急情况。

(中断响应):输出信号。响应输入。该引脚常用来选通中断向量码以响应中断请求。

 

中断响应优先级是由硬件排队线路或中断查询程序的查询顺序决定的,不可动态改变;而中断处理优先级可以由中断屏蔽字来改变,反映的是正在处理的中断是否比新发生的中断的处理优先级低(屏蔽位为“”,对新中断开放),若是,则中止正在处理的中断,转到新中断去处理,处理完后再回到刚才被中止的中断继续处理。

XmIGon.md.png

DMA方式

方式是一种完全由硬件进行成组信息传送的控制方式,方式在外设与内存之间开辟一条“直接数据通道”,信息传送不再经过,因此不必中断现行程序,降低了在传送数据时的开销,因此称为直接存储器存取方式。这种方式适用于高速块设备大批盘数据的传送,它的硬件开销比较大。在方式中,中断的作用仅限于故障和正常传送结束时的处理。只有具有接口的设备才能产生请求。

直接的数据通路并不是在主存和之间建立一条物理直接通路,而是主存和设备通过设备接口、系统总线及总线桥接部件等相连,建立一个信息可以相互通达的通路,这在逻辑上可视为直接相连的。其“直接”是相对于要通过才能和主存相连这种方式而言的。

方式具有下列特点:

  • 它使主存与的固定联系脱钩,主存既可被访问,又可被外设访问。
  • 在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
  • 主存中要开辟专用缓冲区,及时供给和接收外设的数据。
  • 传送速度快,和外设并行工作,程序和传送并行工作,提高了系统效率。
  • 在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。

方式中,对数据传送过程进行控制的硬件称为控制器(接口)。当设备需要进行数据传送时,通过控制器向提出传送请求(外设发出请求),响应之后将让出系统总线,由控制器接管总线进行数据传送。其主要功能如下:

  1. 接受外设发出的请求,并向发出总线请求。

  2. 响应此总线请求,发出总线响应信号,接管总线控制权,进入操作周期。

  3. 确定传送数据的主存单元地址及长度,并自动修改主存地址计数和传送长度计数。

  4. 规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作。

  5. 报告操作的结束。

     

下图是单总线方式图,是否能够访问主存是由决定的:

XmItJ0.md.png

的数据传送过程分为预处理、数据传送和后处理个阶段:

  1. 预处理:由完成一些必要的准备工作。首先,执行几条指令,用以测试设备状态,向控制器的有关寄存器置初值、设置传送方向、启动该设备等。然后,继续执行原来的程序,直到设备准备好发送的数据(输入情况)或接收的数据(输出情况)时,设备向控制器发送请求,再由控制器向发送总线请求(有时将这两个过程统称为请求),用以传输数据。
  2. 数据传送:的数据传输可以以单字节(或字)为基本单位,也可以以数据块为基本单位。对于以数据块为单位的传送(如硬盘),占用总线后的数据输入和输出操作都是通过循环来实现的。这一循环也是由控制器实现的,即数据传送阶段完全由(硬件)控制
  3. 后处理:控制器向发送中断请求,执行中断服务程序做结束处理,包括校验送入主存的数据是否正确、测试传送过程中是否出错(错误则转入诊断程序)及决定是否继续使用传送其他数据块等。

XmIdQU.md.png

 

当使用三总线方式时,会出现设备和同时访问主存,可能会发生冲突,为了有效地使用主存,控制器与通常采用以下种方式使用主存:Xm4at0.md.png

  • 停止访存:当设备有请求时,由控制器向发送一个停止信号,使脱离总线,停止访问主存,直到传送一块数据结束。数据传送结束后,控制器通知可以使用主存,并把总线控制权交还给

    优点:控制简单

    缺点:CPU处于不工作状态或保持状态,未充分发挥CPU对主存的利用率

  • 周期挪用(周期窃取):当设备有请求时,挪用一个或几个存取周期(机器周期),会遇到种情况:

    • 不在访存(如正在执行乘法指令),因此的访存请求与未发生冲突;
    • 正在访存,此时必须待存取周期结束后,再将总线占有权让出;
    • 同时请求访存,出现访存冲突,此时要暂时放弃总线占有权。访存优先级高于访存,因为不立即访存就可能丢失数据,此时由设备挪用一个或几个存取周期,传送完一个数据后立即释放总线,是一种单字传送方式。
  • 交替访存:这种方式适用于的工作周期比主存存取周期长的情况。将一个周期分为两个周期,其中专供访存,专供访存。

    优点:不需要总线使用权的申请、建立和归还过程,总线使用权是通过分时控制的。

    缺点:硬件逻辑更为复杂

 中断
数据传送程序控制
程序的切换→保存和恢复现场
硬件控制
只需进行预处理和后处理
中断请求传送数据后处理
响应指令执行周期结束后响应中断每个机器周期结束均可,总线空闲时即可响应请求
场景控制,低速设备控制器控制,高速设备
优先级优先级低于优先级高于中断
异常处理能处理异常事件仅传送数据

 

Last modification:May 26, 2023
希望能帮到你(^-^)V