调节优先级仲裁的装置的制作方法

文档序号:6405952阅读:159来源:国知局
专利名称:调节优先级仲裁的装置的制作方法
本专利申请与1989年1月25日提出的题为“多总线DMA控制器”的专利申请有关,其序号为No.303,024。
本发明总的说来与数据处理系统有关。更具体地,它与连接多外设的数据处理系统有关。
数据处理系统一般通过通常称为总线的标准化I/O电气通道实现对不同数量的人或处理外设的支撑。它们包括显示器,键盘,硬盘驱动器或其它磁盘设备形式的外部数据存贮器。应用外围总线作为把外部设备或计算机外围部件与处理器相连的一种公用装置,提供了系统的机动性,促进了现有计算机对新外设和其它系统增强的适应性。但是,当独立的外设数目增加和功能增强时,这种相对简单,低成本的外围总线没有能力处理并行操作。从这点来看,集成化计算机系统的性能受到了限制。外围总线过于繁忙会导致操作请求排斥,超载和系统故障。多个设备共享公用总线的系统在有多个相关外设同时请求存取的情况中,一般采用分配存取总线的方案。例如,在题为“具有重迭总线周期操作的数据处理系统”的美国专利No.4,817,037中。在现有技术中有许多这种优先级仲裁方案。见1974年9月版《IBM Technical Disclosure Bulletin》卷17,第4号中的“容许提交的与/或未提交的设备分配请求输入/输出通道调度”和1983年7月版《IBM Technical Disclosure Bulletin》卷26,第2号中的“I/O中断的选择处理实现。
控制外设和分配通道优先级的功能给系统提出了很高的操作要求。特别是在处理器相对外设的运行速度大大提高的情况下,数据处理系统的总效率就面临这一难题。因此,最好是把这种控制功能从主处理器分离出来,由输入/输出通道控制器(IOCC)控制。这种控制器为主控制接口提供了可以连接任意个不同外设的外围总线。根据所期望的优先级标准,可按适当的优先级仲裁方案为IOCC编程以分配总线存取。
如果IOCC不用处理器指令就可自动地存取存贮器,也可以大大地改进系统的效率。直接存贮器存取(DMA)在外设与系统存贮器之间建立了一条输入/输出数据路径或通道,从而使处理器能独立地执行指令或应用系统存贮器的其它空间来进行操作。
在一个周期内系统存贮器和IOCC之间经内部总线可传输的信息量与IOCC和外设之间经外围总线可传输的信息量不一定匹配,因此需在IOCC中加通道即数据缓冲区以增强DMA的性能。例如,具有四个1字节存贮单元的IOCC数据缓冲区可一次积累1个或2个字节的经8/16位外围总线传来的数据使之变成32位的数据,然后通过一次DMA写(即存贮)操作,把数据缓冲区的内容经较大的32位内部总线传送到系统存贮器中。在执行从系统存贮器到外设的读(即装载)操作时,一次把32位的系统存贮器信息经内部总线取到数据缓冲区,然后每次只向外设传送1或2字节的缓冲区数据。通过减少系统存贮器和IOCC之间在读和写方式下完成数据传输所必需的周期数或事务处理次数,数据缓冲区最大限度地减少了处理器在完成事务处理时发生的封锁,从而提高了数据处理系统的总效率。IOCC可以拥有多个数据缓冲区,每个缓冲区都是一个独立外设的暂存数据空间。从美国专利No.3,699,530中可大体了解多数据缓冲区的使用。
在缓冲的DMA环境下进行多外设和系统存贮器间的数据传输存在一个问题在IOCC进行一次事务处理时,数据既要流经外围总线又要流经数据据缓冲区与系统存贮器间的内部总线,这个操作比只经过外围总线的一般外围通道数据操作要慢。因此,任何请求系统存贮器存取的DMA事务处理将比完全不经过数据缓冲区的处理慢。这是因为需要两次通道仲裁延长了事务处理的时间第一次是获取外围总线控制;第二次是获取内部总线控制。当DMA事务处理在数据缓冲区上进行长的系统存贮器操作时,低优先级外设的快速事务处理必须等待存取外围总线,因而浪费了宝贵的外围总线带宽。
本发明的一个目的是提供一种改进的数据处理系统。在此系统中,在许多共享一条公用外围总线的外设和一个系统存贮器设备之间的直接存贮器存取由一个具有数据缓冲区的输入/输出通道控制器(IOCC)完成。
本发明的进一步目的是提供一种上述类型的数据处理系统。在此系统中,提供了一种方法和装置,通过优化外围总线的事务处理可利用性增强了DMA的性能。
本发明的进一步目的是提供一种上述类型的数据处理系统。在此系统中,将根据要存取的数据缓冲区的数据状态调节批准存取外围总线的争用中的外设的现有优先级仲裁方案。
为了达到这些目的和其它目的,本发明的数据处理系统包括一种方法,用于修改用来批准共享外围总线的争用中的外设数据传输请求的惯常IOCC优先级仲裁。通过根据数据缓冲区的数据状态对已建立仲裁优先级方案进行调节,改进了外围总线的应用。如果一般具有较高请求优先级的外设请求缓冲区与系统存贮器间的数据传输,优先权将转给不需要相对耗时的系统存贮器存取操作的低优先级设备。以这种方式,在DMA读事务处理期间,其缓冲区内具有有效数据的低优先级外设或在DMA写事务处理期间具有空缓冲区的低优先级外设将暂时地给予优先权,先于其它没有数据或可用缓冲空间的较高优先级外设使用外围总线。与经外围总线进行低优先级事务处理的同时,高优先权外设所需的系统存贮器存取操作也完成了。这种在完成从缓冲区到主存贮器较慢操作的同时,允许较快的事务处理使用外围总线的并行性使得系统好象总是不用数据缓冲区似的。
在本发明的优选实施例中,IOCC具有一个确定将被存取的数据缓冲区是满还是空的数字逻辑电路,用以调节在DMA写和DMA读事务处理期间的已建立的优先级。
本发明的这些目的和其它目的,特性和优点将会在下面如附图所示的本发明优选实施例的更详细的描述中清楚明了。
本发明的认为新颖特性的特征在所附权利要求书中给出。但是,结合附图参照下面优选实施例的描述将更好地理解本发明及其其它特性和优点。
其中

图1是涉及本发明数据处理系统的方框图;
图2是描绘图1中输入/输出通道控制器(IOCC)的数据缓冲区和控制逻辑电路的方框图;
图3是图2中控制逻辑电路的示意图,此逻辑电路被用来修改IOCC的惯常优先级仲裁;
图4是描绘图1中系统DMA读操作的定时图,此时的DMA读需要系统存贮器存取但没有进行本发明所提供的调节;
图5是描绘图1中系统DMA读操作的定时图,此时本发明所提供的调节授予无系统存贮器存取要求的外设以DMA服务;
图6是描绘图1中系统DMA写操作的定时图,此时的DMA写需要系统存贮器存取但没有进行本发明所提供的调节;
图7是描绘图1中系统DMA写操作的定时图,此时本发明所提供的调节授予无系统存贮器存取要求的外设以DMA服务;
图8是本发明提供的调节序列流程图,它修改了优选级仲裁方案,以批准图1中数据处理系统的争用外设中之一的DMA服务请求;
图9是图示线性优先级仲裁方案的流程图,它批准图1中数据处理系统的争用外设之一的DMA服务请求;以及图10是描绘图1中数据处理系统运行的表格,其优先级仲裁方案不时地被修改以批准一个低优级争用外设的DMA服务请求。
如图1所示,数字10表示的数据处理系统包括一处理器组件12,一输入/输出通道控制器(IOCC)14以及一输入/输出子系统16。处理器18和系统存贮器20组成了处理器组件12。并通过内部总线22互相连接。内部总线22还与IOCC14相连。输入/输出子系统16包括外设24,26和28,它们按常规方式分别与在外围总线36上的端口30,32和34相连。外围总线36也与IOCC相连。
可以看到,处理器组件12的部件和IOCC14的一部分(至少有一部分)可以是独立的装在普通印刷电路板上的集成电路(没有图示出)。系统10的其余部件可以装在IBM RTPC工作站的系统板(也没图示出)上。为了便于描述,这里只给出了外设24,26和28,当然可以有任意个外设共享公用外围总线36。例如,外设可包括显示器,磁盘驱动器,网络卡以及打印机等。
内部总线22是一高带宽同步总线,它与处理器18,系统存贮器20和IOCC14互连。内部总线22是一传输三十二(32)位宽量信息(多路地址和数据)的包交换总线。总线22的协议功能可以特别包括奇偶检验,请求,以及确认序列以确保数据传输的完整性。外围总线36是一条包括地址、数据和控制线的经济的、低性能总线,其中数据线宽为16位。总线36一般具有标准IBM PC-AT型的总线结构。
由于外围总线36的协议功能不很尖端,并且其传输操作的计时与内部总线22的不同,因此IOCC14的一个重要功能是作为内部总线和外围总线间传输数据的接口。例如,在IOCC14的操作中,IOCC应用来自内部总线22的状态信息和时钟信息为外围总线36生成适当的信号以产生伴随着地址和数据信号的读或写信号。外设与处理器组件12的通信可以在虚拟方式下进行,由IOCC14翻译经外围总线传输的数据的地址。当然这是一个双向过程。
IOCC14的一个重要功能是处理外设24,26和28与处理器组件12之间的直接存贮器存取(DMA)服务请求。比较起来,可编程的输入/输出(PIO)指令必须由处理器18执行,它与外设的通信可能比所期望和慢。而且,在执行PIO指令时,处理器18不能在支持外设的同时处理其它操作。DMA事务处理的执行不需要处理器18直接地一步一步地监督,并且允许系统存贮器20与外设24,26和28之间的快速,高效的大量数据传输。
图2所示的是IOCC14的一部分体系结构,它使用了硬数据缓冲区38,40和42以增强DMA的性能。数据缓冲区38,40和42分别用来为外设24,26和28与处理器组件12之间的传输积累和暂时存贮三十二(32)位宽量的数据。这里只图示出三个数据缓冲区,不用说,还可能根据共享外围总线36的外围设备数提供更多的数据缓冲区。数据缓冲区38,40和42的每一个都包含四个临时存贮单元,由下标a,b,c和d表示,每一个存贮单元可存贮8位信息,四条线44,46,48和50分别把缓冲区38,40和42的存贮单元a,b,c和d连到内部总线22上。不言而喻,线44-50是依次相连的,每一条都具有8条信号线(无图示),用来把三十二(32)位宽量的数据经内部总线22传进和传出数据缓冲区38-42。另外四条线52、54、56和58把外设总线36分别与数据缓冲区38-42的a-d存贮单元相连。线52和56是依次相连的信号线,每一条都具有8条信号线(也无图示),用来把八(8)位宽量的数据经外围总线36传进和传出数据缓冲区38-42的存贮单元a和/或c。同样地,线54和58也是依次相连的信号线,每一条都具有8条信号线(无图示),用来把八(8)位宽量的数据经外围总线36传进和传出数据缓冲区38-42的存贮单元b和/或d。根据这种方式,显然可以在线52-58上把十六(16)位宽量的数据经外围总线36传进和传出数据缓冲区38-42的a和b或c和c存贮单元。
因此,数据缓冲区38,40和42提供了一种接口功能,它通过减少对内部总线22的需求改善了系统10的性能。例如,执行DMA写操作时,IOCC14必须把数据从外围设备24,26或28之一传送到系统存贮器20的一个存贮单元。每次经外围总线36从外设传送一或两个字节的信息,经过两个或四个周期的操作后,信息在适当的数据缓冲区38,40或42的存贮单元a-d上积累起来,只当目标数据缓冲区满时(即,存贮单元a-d都含有数据),才可存取内部总线22,这时产生三十二(32)位宽量的数据传输,只用一次写操作就把数据从数据缓冲区经内部总线22写到系统存贮器20上。执行DMA读时,即从系统存贮器20到外设的装载操作时,用一次读操作把三十二(32)位的信息经内部总线22传输并临时存贮在与特定外设对应的数据缓冲区中。然后,经过四个或两个操作周期,以八(8)位或十六位(16)宽量的数据从数据缓冲区的存贮单元a-d中读出并经外围总线36把数据传送到外设。当数据从数据缓冲区的存贮单元a-d中向外设读出时,传输操作对内部总线22和处理器组件12是透明的。
IOCC14的控制逻辑电路由图2中块60表示,它提供了对外设24,26和28与处理器组件12间经IOCC的数据缓冲区38-42的DMA传输的管理。控制逻辑块60的电路在两个或多个可能同时请求存取外围总线36以获得DMA服务的外设24,26或28中间进行优先级仲裁。
控制逻辑块60基于数据缓冲区38,40和42的数据状态调节或修改了惯常的优先级仲裁,从而进一步改进了外围总线36的利用。优先级仲裁方案和控制逻辑60的调节电路以后将详细讨论。在控制逻辑块60上接了一条控制线62,它表示从IOCC14到处理器组件12的系统级DMA请求和协议信号的传送。在控制逻辑块60上还接了一条控制线64,它表示IOCC14与外设24,26和28之间DMA请求和协议信号的传送。线65把每个数据缓冲区38,40和42与控制逻辑块60连接起来。
现在参看图3,它更详细地描绘了图2中块60的控制逻辑电路。块68代表优先级仲裁方案,用于确定在争用中的外设24,26和28中由哪一个获得DMA服务因而可存取外围总线36。优先级仲裁块68通过线64与处理器组件12(图1)相连,在优选实施例中,块68给出一线性优先级仲裁方案,以后将参照图9的流程图讨论。
根据本发明,块70,72和74组成了调节电路,用于修改用来分别批准可能争用DMA服务之外设24,26和28数据传输请求的惯常优先级仲裁方案。正如将要详细讨论的,调节块70,72和74在可分别地利用数据缓冲区38,40和42的数据状态基础上修改惯常的优先级,以最大限度的利用外围总线36。线76,78和80分别把优选级仲裁块68与调节块70,72和74相连。由于调节块70,72和74的部件是相同的,以后只讨论调节块70。
调节块70的逻辑电路包含一个连接其输入端与DMA请求线84的“与”门82。DMA请求线84把来自外设24(图1)的请求DMA服务信号送到块70。在“与”门82的输入端还连了一条缓冲区状态线86。“或”门88的输出端与这条缓冲区状态线86相连。线90与92连接到“或”门88的输入端。“与”门94和96的输出端分别与线90和92相连。DMA写信号线98和“与”门94的输入端相连。在“与”门94的输入端还连了一条线100。反相器102的输出端与线100相连。来自数据缓冲区38(图2)的缓冲区满信号线104与这个反相器102的输入端相连。DMA读信号线106与“与”门96的输入端相连。在“与”门96的输入端还连了一条线108。反相器110的输出端与线108相连。来自数据缓冲区38的缓冲区空信号线112与这个反相器110的输入端相连。
在系统10的操作中要求共享外围总线36的多个外设24,26和28(图1)可能同时请求DMA服务。由于在给定时刻,只能有一个外设可以存取外围总线36,接收到争用DMA请求信号(经线76,78和80中两条或多条)的优先级仲裁块68(图3)将批准具有较高优先级外设的DMA服务请求。在优选实施例中,块68执行线性优先级仲裁方案。在此方案中,外设24的优先级最高,外设26的优先级其次,外设28的优先级最低。低优先级争用外设的DMA服务请求将被搁置直到高优先级外设的DMA操作完毕。
如上所述,当高优先级争用外设在经外围总线的操作可以开始以前需要经内部总线22的系统存贮器操作时,外围总线36的利用率就不足了。外围总线36没有被能完全不需数据缓冲区40或42(图2)而进行操作的低优先级外设使用而是“持续等待”。在DMA写操作期间对应于高优先级外设的数据缓冲区是满的时候将发生前述现象。因为在数据缓冲区存贮单元a-d能接收经外围总线传来的来自外设的8或16位数据以前,必须首先一次把三十二(32)位宽量的数据经内部总线22传到系统存贮器20(图1)上去。同样地,在DMA读操作期间对应于高优先级外设的数据缓冲区是空的时候也将发生前述现象,因为首先必须把三十二(32)位宽量的数据经内部总线22从系统存贮器20传到数据缓冲区上,才能将数据(每次一或两字节)经外围总线36从通道缓冲区存贮单元a-d传到正在工作的外设上。
因此,本发明的调节系统使惯常优先级仲裁适配于根据数据缓冲区38,40和42的数据状态条件。如果高优先级外设请求DMA写操作并且其数据缓冲区是满的,或者请求DMA读操作且其数据缓冲区是空的,则此外设的调节块70,72或74(图3)将不向优先级仲裁块68发布请求DMA服务的激活信号。并且仲裁块将批准不需系统存贮器操作的下一级争用外设的请求。
例如,现在参照图3中的调节块70描述调节逻辑电路的操作。外设24(图1)的DMA服务请求向DMA请求线84上的“与”门82发送一个激活信号。仅当缓冲区状态线86也向“与”门82发送一个激活信号时,调节块70才在线76上向优先级仲裁块68发送激活的DMA请求信号。换句话说,如果数据缓冲区状态线86是不活跃信号,则线76上的调节块70的输出信号也是不活跃的,外设24的DMA服务请求将被搁置。以这种方式修改了优先级仲裁使得次优先级的外设(即外设26或外设28)得到存取外围总线36的允许。
如果外设24请求DMA写操作,DMA写信号线将给“与”门94提供一个激话信号。如果数据缓冲区38(图2)没有满,具有一个或多个空存贮单元38a-d,经过缓冲区满信号线104到反相器102的信号是不活跃的。反相器102的输出将在线100上向“与”门94发出激活信号。“与”门94的输出端,从而“或”门88的输出端,将在缓冲区状态线86上给“与”门82提供一个激活信号。因此,自调节块70到块68的线76上的来自调节块70的激活信号将导致执行惯常的优先仲裁方案。这时,外设24将获得DMA服务。
另一方面,如果外设请求DMA写操作且数据缓冲区38(图2)是满的,将在缓冲区满信号线104上向反相器102提供一个激活信号。反相器102然后将向“与”门94发送一个信号。“与”门94从而“或”门88的输出端,将向缓冲区状态线86提供一个不活跃信号。“与”门82将在线76上向优先级仲裁块68提供一个不活跃信号。因此,外设24将得不到DMA服务,而是具有有效数据(DMA读所需的)或可用缓冲区空间(DMA写所需的)的请求DMA服务的次优先级外设获准存取外围总线36。在次优先级外设使用外围总线36的同时,满数据缓冲区38正执行经内部总线22向系统存贮器20(图1)的数据传输操作。
以同样的方式,调节块70的调节逻辑电路决定外设74在DMA读操作期间是否应该服从惯常的优先级仲裁方案。在DMA读操作期间,DMA读信号线106将向“与”门96提供一个激活信号。如果数据缓冲区的存贮单元38a-d至少有一个包含数据,那么缓冲区状态空信号线112上的不活跃信号使得反相器110向“与”门96提供一个激活信号,并因此也向“或”门98提供一个激活信号。线76上“与”门82的信号输出将为激活的。按照正常的优先级仲裁方案,外设24将获得DMA服务。换句话说,如果数据缓冲区38是空的,那么缓冲区状态空信号线112上的激活信号使得反相器110向“与”门96和“或”门88提供一个不活跃信号。“与”门在线76上向块68提供一个不活跃信号,因而修改了惯常的优先级仲裁。较低优先级的外设获准存取外围总线36。低优先级外设在外围总线36上执行其数据传输操作。与此同时,三十二(32)位的数据也从系统存贮器20经内部总线22传送到数据缓冲区38。
图4-7是图示系统10信息传输定时的定时图,这些数据传输可能在外设24,26和28中的任何一个,IOCC14和处理器组件12之间发生。不用说,在处理器组件12与IOCC14之间传送信号的线对应于图2中的控制线62;在外设与IOCC之间传送信号的线对应于控制线64。其余的线传送IOCC的内部信号。
图4描绘了无本发明调节逻辑电路的DMA读操作定时,这一操作把数据从系统存贮器20传送到特定外设,并且对应于此外设的数据缓冲区是空的。线114在时刻116把激活的+PREQ(外围请求)信号从请求DMA服务的外设送到IOCC14。在时刻120,线118上+SHRQ(系统拥有请求)信号被激活,IOCC14(通过相同的协议)通过这个信号请求对处理器组件12的DMA服务,然后在时刻124激活了线122上的一SHLDA(系统拥有确认)信号,处理器组件12由此对IOCC14确认+SHRQ信号已到,表明它现在已获得对内部总线22的存取。线126代表-PHLDA(外围拥有确认)信号,它在时刻128被激活,并从IOCC14发往外设以确认获准存取外围总线36。由于外围总线36现在处于可以进行数据传输状态,因此IOCC14中的线130提供-PWR(外围写)信号,它是一个外设的写选通脉冲。-PWR信号在时刻132被激活以启动这个操作。
在把数据从通道缓冲区传到外设之前,必须首先把32位信息经内部总线22从存贮器20送到通道缓冲区。如线134所示,在时刻136,IOCC14和处理器组件12间的-SYS MEM RD(系统存贮器读)信号被激活,这表明IOCC现在已准备好读来自系统存贮器20的信息。如线138所示,根据在时刻140的SDATA(系统数据)信号,数据从系统存贮器20传到数据缓冲区。线142上的-SYS DAT STB(系统数据选通)信号在时刻144锁存了从系统存贮器20读到通道缓冲区的数据。-SYS DAT STB信号是在IOCC14内部生成的并且是一定时信号,它允许控制逻辑电路把数据存入缓冲区。
当上述从系统存贮器20到通道缓冲区的数据传输正在完成时,从通道缓冲区经外围总线36到外围设备的写数据操作还不能开始,即使外设在时刻132,线130上的-PWR信号激活时就已经准备好了。如线146所示的+PROY(外围就绪)信号在紧接着时刻132之后的时刻148不活跃。只要+PRBY信号是不活跃的,外设将持续等待经外围总线36的数据传输。一旦来自系统存贮器20的数据锁存进通道缓冲区(如线142所示)并且从系统存贮器20到数据缓冲区的数据传输完毕,线134上的-SYS MEM RD信号将在时刻150释放为常态。线146上的+PRDY信号也将在时刻152释放为常态。线154表示根据在时刻156的PDATA(外围数据)信号从通道缓冲区到外设的数据传输。载有SADR/PADR(系统地址/外围地址)信号的线158指出一个数据传输所需的系统存贮器20或外设的适当的地址存贮单元。在线130上的时刻160,-PWR信号变为不活跃时,来自IOCC14的数据被锁存入外设。
参看图5,它描绘了系统10的定时以图示DMA读操作期间本发明的数据状态调节是如何改进外围总线36的应用的,此时获得DMA服务的外设绝不需要系统存贮器操作。在线162上,+PREQ(外围请求)信号在时刻164被激活。由于不需要到处理器组件12的存取以填满通道缓冲区,载有+SHRQ(系统拥有请求)信号和-SHLDA(系统拥有确认)信号保持它们的常态。在线170上,IOCC14给予外设一个在时刻172被激活的-PHLDA(外围拥有确认)信号,表明外设可以存取外围总线36。如线174所示,IOCC14从线174上的SADR/PADR信号给出合适的地址指令。在线176上,-PWR(外围写)信号在时刻178被激活。由于要传输的数据存在数据缓冲区本地,因此在线180上,IOCC将在时刻120激活PDATA(外围数据)信号以进行经外围总线36的数据传输。
由于传输操作局部地在外设与IOCC14的数据缓冲区之间发生,因此在发生经内部总线22到IOCC14的数据传输时,没有必要使线184上的+PROY(外围准备完毕)信号不活跃,在发生经内部总线到IOCC的数据传输中让外设保持等待。由于在内部总线22上没有数据传输,线线86,188和190(分别载有-SYS MEM RO,SDATA和-SYS DAT STB信号)保持常态。在线176上时刻192-PWR信号变为常态时发生了下一个事件。它使得外设锁存或写入数据,完成DMA周期。
参照图6,它是图示DMA写操作的定时图。它图示了在没有本发明的调节逻辑电路时DMA写操作期间发生的事件序列。这个调节逻辑电路修改其通道缓冲区为满的外设的DMA服务优先级。线194图示了在时刻196一个+PREQ(外围请求)信号的激活,这表明外设请求DMA服务的启动。这个事件接着在线198上时刻200时激活一个发往处理器组件12的+SHRQ(系统拥有请求)信号。在线203上,处理器组件12将在时刻204激活信号-PHLDA。IOCC然后在线206上208时刻处激活-PHLDA(外围拥有确认)信号。外设现在已准备好启动DMA周期。并且如线210所示,在时刻212提供了适当的SADR/PADR(系统地址/外围地址)信号。在时刻216线214激活了-PRD(外围读信号,这表明经外围总线的数据传输已准备开始。同时在线218上时刻220不激活+PRDY(外围就绪)信号,因为外设必须等待直到有空间可容纳经外围总线36传输到通道缓冲区以前的一次经内部总线22的数据传输的发生。在线222上,在时刻224开始发送的SDATA(系统数据)信号表明从数据缓冲区经内部总线22到系统存贮器20的数据传输。于是在线226上,在时刻228激活的-SYS MEM STB(系统存贮器选通)信号启动了把信息锁存到系统存贮器20的过程。一旦这个过程完成,将在时刻230激活线218上的+PRDY(外围就绪)信号。根据时刻233的PDATA(外围数据)信号传输线232上的数据。在线215上的时刻234时,-PRD信号不活跃在此以后数据被锁存起来。
图7为经调节的外设DMA写操作的定时图,外设的数据缓冲永不会满,并且不经系统存贮器操作可把信息从外设读到数据缓冲区上。在线236上,外设在时刻238发出一个激活信号+PREQ(外围请求)信号请求DMA服务。由于这是一个从外设到IOCC14局部传输,不需进行系统请求,因而线240和242(+SHRQ和-SHLDA信号)保持其常态。IOCC由此确定在通道缓冲区内有可用空间可传输来自外设的数据。在线244上,-PHLDA(外围拥有确认)信号在时刻246被激活。线248根据在时刻250的SADR/PADR(系统地址/外围地址)信号给出合适的地址。线252说明-PRD(外围读)信号随后在时刻254被激活,指出可经外围总线36传输数据。由于不发生任何系统存贮器操作,分别表示SDATA,-SYS MEM STB,以及+PRDY信号的线256,258和260保持其常态。因此如线262所示,外设将开始向外图总线36输送数据,这由在时刻264生效的PDATA信号表示。在线252上时刻266变得不活跃的-PRD信号的上升缘,来自外设的数据被锁存进缓冲区。
图8是本发明用于修改或调节优先级仲裁方案的系统的流程图。在优选实施例中,将要调节的优先级仲裁方案是以后在图9中描述的线性仲裁方案。由块300,302和304表示的流程图分支分别对应于图3所示硬件实施中的块70,72和74。由于块300,302和304的事件序列是相同的,因而只描述块的300的细节。
在步骤306调节系统启动,此时外设24的DMA服务请求进入DMA READ(直接存储器读)判定框308。DMA READ判定框308确定这个请求是DMA读操作还是DMA写操作,如果是DMA读操作,则把请求送到BUFFER EMPTY(缓冲区空)判定框310;反过来,如果是DMA写操作,则把请求送到DUFFER FULL(缓冲区满)判定框312。BUFFER EMPTY判定框310确定数据缓冲区38(图2)的数据状态如果一个或多个存贮单元含有数据,则把请求转到ALLOW DPR(允许数据请求)框314。ALLOW DPR框314把请求送到步骤316,由此把请求递交给惯常的优先级仲裁方案(将在图9的流程图中描述这个方案)。
如果BUFFER EMPTY判定框310确定数据缓冲区38中没有数据,则把请求转到DISABLE DRQ(禁止数据请求)框318。DISABLE DRQ块318防止请求转到步骤316。BUFFER STATUS CHG(缓冲区状态改变)判定框320接收来自DISABLE DRQ框318的请求并且仅当缓冲区38的数据状态发生变化时(这里的变化指存贮单元38a-d加入了来自系统存贮器20的数据)才允许将请求转到步骤316。
如上所述,当DMA READ判定框308确定请求是DMA写操作时,将向BUFFER FULL判定框312发出DMA服务请求。BUFFER FULL判定框312确定数据缓冲区38的数据状态如果并非所有存贮单元38a-d都有数据,则向ALLOW DRQ框314发出一个请求。其后请求被转到步骤316进行惯常优先级仲裁(以后讨论)。但是,如果数据缓冲区所有存贮单元38a-d都有数据,则把请求转到DISABLE DRQ框318。仅当移走存贮单元38a-d的数据使数据状态发生变化时,DATA STATUS CHG判定框320才允许将请求转到步骤316。
图9是本发明优先级仲裁方案的流程图,它对应于图3中优先级仲裁块68的运行步骤。此优先级仲裁是一线性方案,它授予争用外设中最高优先级的外设DMA服务以支配对外围总线36的存取。在步骤316(从图8)的DMA服务请求进到DRQ1 ACTIVE(数据请求1激活)判定框322。如果请求与第一优先级外设对应,则请求转到批准这个请求的框324。在优选实施例中,框324对应于批准外设24的DMA服务请求。如果不是第一优先级设备的请求,则把请求转到DRQ2 ACTIVE(数据请求2激活)判定框326。如果请求与第二优先级外设对应,则DRQ2 ACTIVE判定框326批准这个请求,如框328所示。框328批准外设26的DMA服务请求。最后,如果不是第一优先级或第二优先级的请求,则DRQ3 ACTIVE(数据请求3激活)判定框330接收来自DRQ2 ACTIVE框332的请求。如果请求与第三优先级外设(这里是指外设28)对应,则DRQ3 ACTIVE判定框330批准这个请求。框334只接收不与上述任何一个排好优先级的外设对应的请求,这表明有系统错误。
图10是一个描述根据本发明系统10的运行情况表。在这个例子中假设外设24请求DMA读操作,而外设26和28请求写操作。根据行322给出的争用DMA设施情况,外设24的请求不活跃(I),而外设26和28的请求激活(A)。根据惯常优先级判别方案,外设26的请求被批准(A),因为缓冲区40只有三字节的数据而并没有满。行334给出下一轮争用DMA设施的情况。这次是设备28获得存取(A),即使它与一个来自较高优先级设备26的激活的请求(A)竞争。由于对应于设备26的数据缓冲区40是满的,(具有四字节数据)因此修改了优先级仲裁。在从设备26到数据缓冲区40的数据传输发生以前,首先需要经内部总线22的数据传输操作。在行336,由于在数据缓冲区38有外设24可读的数据,外设24获得了优先权。在行338上给出的下一轮争用期间,惯常优先级被修改了,批准了设备26的请求(A)。高优先级设备24没有获得DMA服务,因为在把数据从系统存贮器经内部总线22传到缓冲区以前,其缓冲区38内没有能够读到此设备上的数据。
在上面公开的内容和一些例子中可进行一定范围修改,变化和替代。在某些实例中本发明的有些特性可以被应用而有些特性则可以不应用。因此,以与本发明范围一致的方式概括地解释所附权利要求书是合适的。
权利要求
1.一种输入/输出通道控制装置,它管理数据存贮设备与至少两台外部设备之间的数据传输操作。所述装置的特征为至少有两个数据缓冲装置,各用来存贮正在所述数据存贮设备与一台单独的外设之间传输的数据并且提供状态标志;优先级仲裁装置,它根据所述外设的优先级顺序在争用的外设中批准一个外设的数据传输请求,以及优先级调节装置,它根据外设数居缓冲装置的状态标志修改所述优先级顺序。
2.根据权利要求1的输入/输出通道控制装置,其特征为提供所述状态标志的状态装置,它确定将被存取的所述数据缓冲装置何时为满或何时为空。
3.根据权利要求2的输入/输出通道控制装置,其特征为在从所述外设到所述数据存贮设备的写操作期间,当将被存取的所述数据缓冲装置是满的时,所述优先级调节装置修改所述优先级顺序。
4.根据权利要求2的输入/输出通道控制装置,其特征为在从所述数据存贮设备到所述外设的读操作期间,当将被存取的所述数据缓冲装置是空的时,所述优先级调节装置修改所述优先级顺序。
5.一个数据处理系统,其特征为一个中央处理器;一个系统存贮器;一条连接所述系统存贮器到所述中央处理器的数据传输总线;一个连到所述数据传输总线的输入/输出通道控制装置,它管理与其相连的至少两台外设之一与所述中央处理器和所述系统存贮器之间的数据传输。所述输入/输出通道控制装置包括多个数据缓冲装置,各用于存贮正向唯一外设传输的数据并提供状态标志;优先级仲裁装置,它根据所选择的优先级顺序在争用中的外设中批准一个外设的数据传输请求;以及优先级调节装置,它根据所述数据缓冲装置的状态标志修改所述优先级顺序。
6.根据权利要求5的数据处理系统,其进一步的特征为提供所述状态标志的状态装置,它确定与所述外设相对应的其数据将被传输的所述数据缓冲装置何时为满或何时为空。
7.根据权利要求5的数据处理系统,其特征为当相对于高优先级数据传输请求的所述数据缓冲装置是满的并且所述较高优先级请求包括从外设到所述数据缓冲装置的数据写操作时,所述优先级调节装置修改所述优先级顺序以批准一个较低优先级的数据传输请求。
8.根据权利要求5的数据处理系统,其特征为当相对于较高优先级数据传输请求的所述数据缓冲装置是空的并且所述较高优先级数据传输请求包括从所述数据缓冲装置到一个外设的数据读操作时,所述优先级调节装置修改所述优先级顺序以批准一个较低优先级的数据传输请求。
9.根据权利要求5的数据处理系统,其特征为当其数据将被传输的所述外设请求对所述系统存贮器的存取时,所述优先级调节装置修改所述优先级顺序。
10.根据权利要求5的数据处理系统,其特征为一条外围总线连接所述外设与所述数据缓冲装置;一条内部总线连接所述数据缓冲装置与所述系统存贮器和所述中央处理器。
11.一种管理两个或更多外设与数据处理存贮器间数据传输的方法,其特征在于下述步骤将传输的数据存贮在数据缓冲区中;根据已建立的优先级顺序对所述外设中的争用外设的数据传输请求进行仲裁,以及根据存贮在一个外设数据缓冲区的一个数据量修改所述优先级顺序。
12.根据权利要求11的方法,其特征为下列步骤确定相对于较高优先级数据传输请求的所述数据缓冲区是满或是空。
13.根据权利要求12的方法,其特征为当所述较高优先级数据传输请求包括一个从外设到其数据缓冲区的数据写操作并且其数据缓冲区是满的时候,修改所述优先级顺序以批准一个较低优先级的数据传输请求。
14.根据权利要求12的方法,其特征为当所述较高优先级数据传输请求包括一个从所述数据缓冲区到其外设的数据读操作并且所述数据缓冲区是空的时候,修改所述优先级顺序以批准一个较低优先级的数据传输请求。
15.一种管理两个或更多外设与一个数据处理存贮器之间数据传输的方法,其特征为以下步骤给每个独立外设分配一数据缓冲区;将传输的数据存贮在数据缓冲区内;根据已建立的优先级顺序对所述外设中的争用外设的数据传输请求进行仲裁;根据存贮在一个外设数据缓冲区的一个数据量修改所述优先级顺序。
16.根据权利要求15的方法,其特征为以下步骤确定相对于较高优先级数据传输请求的所述数据缓冲区是满或是空。
17.根据权利要求16的方法,其特征为当所述较高优先级的数据传输请求包括一个从外设到其数据缓冲区的数据写操作并且其数据缓冲区是满的时候,修改所述优先级顺序以批准一个较低优先级的数据传输请求。
18.根据权利要求16的方法,其特征为当所述较高优先级的数据传输请求包括一个从所述数据缓冲区到其外设的数据读操作并且所述数据缓冲区是空的时候,修改所述优先级顺序以批准一个较低优先级的数据传输请求。
全文摘要
一个包括修改惯常的输入/输出通道控制器(IOCC)的优先级仲裁方法的数据处理系统,此仲裁方法被用来批准共享一条公用外围总线争用中的外设的使用直接存贮存取(DMA)的请求。IOCC包含基于数据缓冲区数据状态调节已建立的优先级仲裁方案的逻辑电路。如果高优先级请求设备在执行IOCC与外设之间的直接操作以前请求系统存贮器与IOCC之间数据传输,其优先权将转给不请求系统存贮器存取操作的低优先级外设。
文档编号G06F13/30GK1052563SQ9010910
公开日1991年6月26日 申请日期1990年11月13日 优先权日1989年12月15日
发明者麦克·韦恩·赖利, 约翰·丹尼尔·厄普顿 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1