数据库系统 —— 1.2 计算机系统结构(输入输出技术)

记录自学的过程,分享自己的笔记


1.2.3 输入输出技术


(1)微型计算机中最常用的内存与接口的编址方式

  • 内存与接口地址独立编址方法

    内存地址和接口地址是完全独立的两个地址空间。访问数据时所使用的指令也完全不同,用于接口的指令只能用于接口读写,其余的指令全都是用于内存的。

    优点:在编程序或读程序时很容易使用和辨认。

    缺点:用于接口的指令太少,导致功能很弱。

  • 内存与接口地址统一编址方法

    内存地址和接口地址统一在一个公共的地址空间里,即内存单元和接口共用地址空间。在这些地址空间里划分出一部分地址分配给接口使用,其余地址归内存单元使用。划分好后不共用,各用各的,指令共用。

    优点:用于内存的指令全部可以用于接口,大大增强了对接口的操作功能,而且在指令上也不再区分内存指令或接口指令。

    缺点:内存地址不连续,内存和接口共用指令导致程序维护不便。

(2)程序控制方式

在完成外设数据的输入输出时,整个输入输出过程是在CPU执行程序的控制下完成的。

  • 无条件传送

    概念:外设总是准备好的,它可以无条件地随时接收CPU发来的输出数据,也可以无条件地随时向CPU提供需要输入的数据。

  • 程序查询方式

    概念:通过CPU执行程序查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。根据状态CPU有针对性地为外设提供输入输出服务。

    这种工作方式有两个缺点:第一,降低了CPU的效率,CPU需要不停地对外设的状态进行查询。第二,对外部突发事件无法做出实时响应。

(3)中断方式

概念:CPU不等待,也不执行程序去查询外设的状态,而是由外设在准备好了之后,向CPU发出中断请求。CPU在接到中断请求信号之后,保存正在执行程序的现场,去与外设进行数据交换,完成之后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无须等待而提高了效率

在系统中具有多个中断源的情况下,常用的处理方法有多中断信号线法、中断软件查询法、菊花链法、总线仲裁法和中断向量表法。

  • 多中断信号线法:每个中断源都有属于自己的一根中断请求信号线向CPU提出中断请求。
  • 中断软件查询法:当CPU检测到一个中断请求信号以后,即转入到中断服务程序去轮询每个中断源以确定是谁发出了中断请求信号。
  • 菊花链法:软件查询法的缺陷在于花费时间太多。菊花链法实际上是一种硬件查询法。所有的I/O模块共享一根共同的中断请求线,而中断确认信号则以链式在各模块间传递,直到找到发出请求的模块为止,将该模块的ID送往数据线由CPU读取。
  • 总线仲裁法:一个I/O设备在发出中断请求之前,必须先获得总线控制权,所以可由总线仲裁机制来裁定谁可以发出中断请求信号。当CPU发出中断响应信号后,该设备即把自己的ID发往数据线。
  • 中断向量表法:中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号(INTR)以后,由中断控制器(INTC)确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU。
    数据库系统 —— 1.2 计算机系统结构(输入输出技术)_第1张图片

中断优先级控制:在具有多个中断源的计算机系统中,各中断源对服务的要求紧迫程度可能不同。在这样的计算机系统中,就需要按中断源的轻重缓急来安排对它们的服务。

在进行优先级控制时解决以下两种情况:
①当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源。
②当CPU正在对某一个中断源服务时,又有比它优先级更高的中断源提出中断请求,CPU应能暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,服务结束后再回到原先被中断的优先级较低的中断服务程序继续执行。这种情况称为中断嵌套。

(4)DMA方式

背景:在计算机与外设交换数据的过程中,无论是无条件传送、利用查询方式传送还是利用中断方式传送,都需要由CPU通过执行程序来实现。这就限制了数据的传送速度。

概念:直接内存存取(DMA)是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作有DMA硬件直接执行完成,CPU在此传送过程中可处理别的任务。

DMA传送的一般过程如下:
数据库系统 —— 1.2 计算机系统结构(输入输出技术)_第2张图片

①外设向DMA控制器(DMAC)提出DMA传送的请求。

②DMA控制器向CPU提出请求,其请求信号通常加到CPU的保持请求输入端HOLD上。

③CPU在完成当前的总线周期后立即对比请求进行响应,CPU的响应包括两个方面的内容:一方面,CPU将有效的保持响应信号HLDA输出加到DMAC上,告诉DMAC它的请求已得到响应;另一方面,CPU将其输出的总线信号置为高阻,这就意味着CPU放弃了对总线的控制权。

④此时DMAC获得了对系统总线的控制权,开始实施对系统总线的控制。同时向提出请求的外设送出DMAC的响应信号,告诉外设其请求已得到响应,现在准备开始进行数据的传送。

⑤DMAC送出地址信号和控制信号,实现数据的高速传送。

⑥当DMAC将规定的字节数传送完时,它就将HOLD信号变为无效并加到CPU上。撤销对CPU的请求。CPU检测到无效的HOLD就知道DMAC已传送结束,CPU就送出无效的HLDA响应信号,同时重新获得系统总线的控制权,接着DMA前的总线周期继续执行下面的总线周期。

注:在DMA传送过程中无须CPU的干预,整个系统总线完全交给了DMAC,由它控制系统总线完成数据传送。 在DMA传送数据时要占用系统总线,根据占用总线的方法不同,DMA可以分为中央处理器停止法、总线周期分时法和总线周期挪用法等。无论采用哪种方法,在DMA传送数据期间,CPU不能使用总线。

(5)通道方式和外围处理机方式

  • 通道
    背景:DMA方式的出现减轻了CPU对I/O操作的控制,使得CPU的效率显著提高,而通道的出现则进一步提高了CPU的效率。

    通道的概念:通道是一个具有特殊功能的处理器,又称为输入输出处理器(IOP),它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。

    优点:大大提高了CPU的工作效率。
    缺点:需要增加更多的硬件设备。

  • 外围处理机
    概念:外围处理机(PPU)方式是通道方式的进一步发展。PPU是专用处理机,它根据主机的I/O命令,完成对外设数据的输入输出。


1.2.4 总线结构


总线(bus),是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总心啊上的所有设备共享,因此可以将计算机系统内的多种设备连接到总线上。

(1)总线的分类

微机中的总线分为数据总线、地址总线和控制总线3类。

  • 数据总线(Data Bus,DB
    用来传送数据信息,是双向的。CPU既可通过DB从内存或输入设备读取数据,也可通过DB将内部数据送至内存或输出设备。DB的宽度决定了CPU和计算机其它设备之间每次交换数据的位数。

  • 地址总线(Address Bus,AB
    用于传送CPU发出的地址信息,是单向的。传送地址信息的目的是指明与CPU交换信息的内存单元或I/O设备。存储器是按地址访问的,所以每个存储单元都有一个固定地址,因此要访问1MB存储器中的任一单元,需要给出220 个地址,即需要20位地址(220 = 1M)。因此,地址总线AB的宽度决定了CPU的最大寻址能力。

  • 控制总线(Control Bus,CB
    用来传送控制信号、时序信号和状态信号等。其中有的信号是CPU向内存或外部设备发出的信息,有的是内存或外部设备向CPU发出的信息。显然,CB中的每一条线的信息传送方向都是单方向且确定的,但是CB作为一个整体则是双向的。所以,在各种结构框图中,凡涉及控制总线CB,均是以双向线表示。

(2)常见总线

例如,ISA总线、EISA总线、PCI总线、PCI Express总线、USB、前端总线等等。

你可能感兴趣的:(数据库系统 —— 1.2 计算机系统结构(输入输出技术))