用于具有双总线结构计算机系统的总线接口逻辑的制作方法

文档序号:6406782阅读:217来源:国知局
专利名称:用于具有双总线结构计算机系统的总线接口逻辑的制作方法
如果下列美国专利申请已经完全公开的话,本申请在此引用为参考申请序列号815,992,注册日1992、1、2,题目为“用于具有双总线结构设计的计算机系统的总线控制逻辑”。(进一步的识别是其案号BC9-91-089)。
申请序列号816,116,注册日1992、1、2,题目为“分布机器”。(进一步的识别是其案号BC9-91-090)。
申请序列号816,184,注册日是1992、1、2题目为“优先权误差检测与校复”。(进一步的识别是其案号BC9-91-091)。
申请序列号816,204,注册日1992、1、2,题目为“超高速缓冲存储器探测机数据无效技术”。(进一步的识别案号是BC9-91-092)。
申请序列号816,691,注册日1992,1,2,题目为“用于总线接口单元的双向数据存储装置”(进一步的识别案号是BC9-91-105)。
申请序列号816,693,注册日1992、1、2,题目为“用于控制总线操作速度的总线接口”。(进一步的识别是其案号BC9-91-106)。
申请序列号816,698,注册日1992、1、2,题目为“用于在总线至总线接口处确定地址单元的方法与装置。(进一步的识别是其案号BC9-91-107)。
本发明涉及计算机系统中的总线至总线的接口,尤其是涉及在系统中用于几条总线的同步操作的总线至总线接口,以便对以不同速率、经不同数据传输带宽进行相互通讯的几个装置进行补偿。
一般地说,在计算机系统中,尤其是在个人计算机系统中,数据是在各系统装置之间传送的,这些系统装置如中心处理单元(CPU)存储装置,直接存储器存储(DMA)控制器。此外,数据还在扩展部件之间传送,例如输入/输出(I/O)装置,以及在这些I/O装置和各类系统装置间传送。I/O装置和各类系统装置经过计算机总线进行二者间及多者间的相互通讯,该总线包含有一系列的导线,沿该导线信息被从若干信号源传送到若干目的地的任意之一。许多这类系统装置和I/O装置具有被用作总线控制器(即可以控制该计算机系统的装置)以及作为总线受控设备(即受总线控制器的控制)的能力。
具有多于一个总线的个人计算机已为公知。典型地,提供有局部总线,经该总线CPU与一超高速缓冲存储器或一个存储器控制器进行通讯;还提供一系统I/O总线,经该总线,系统总线装置,诸如DMA控制器或I/O装置经过存储器控制器与系统存储器通讯。该系统I/O总线包括一个系统总线和一个由一总线接口单元相联接的I/O总线。通过该I/O总线,I/O装置彼此相互通讯。I/O装置还典型地要求与系统总线装置,诸如系统存储器相通讯。这种通讯必须经过总线接口单元并经过I/O总线和系统总线来实现。
在双总线结构计算机系统中的系统装置和I/O装置彼此之间经常以不同的速率并经不同的数据传输带宽进行通讯。比如说,系统装置可经系统总线以一个32位总线宽度通讯。因此,当着既受系统控制又受I/O总线控制的一个系统装置无论是从一较慢的I/O装置读出还是向其写入时,整个系统的工作都受影响。这种影响的构成是由于16位转换成8位的I/O受控装置和32位转成16位及8位I/O受控装置所致。在写周期的情形中,当数据被写入较慢的I/O装置时,系统装置必须将对系统总线的控制保持一段时间,该段时间要大于经系统总线写入数据的必要的时间。在读周期的情形中,较慢的I/O装置经I/O总线向系统装置提供数据不能象由系统装置从I/O装置读取数据一样快。
本发明的一个目的是在一双总线结构计算机系统中提供一总线接口单元,该单元提供了用于系统总线和I/O总线同步操作所要求的转换逻辑,以便对于以不同速率并经不数据传输带宽彼此相互通讯的几个装置予以补偿。
本发明提供了在一双总线结构计算机系统中用于一总线接口单元的转换逻辑。该转换逻辑是用算法语言来实现的,并被固化到总线接口单元的硬件中,该硬件放在计算机系统的一系统总线和一I/O总线之间。通过使系统总线和I/O总线的操作同步,在总线接口单元中的该转换逻辑改善了计算机系统的工作。几个总线的同步化对于以不同速率并经不同数据传输带宽相互通讯的系统总线装置和输入/输出装置作了补偿。
转换逻辑在两种条件下工作。第一种情况发生在一快速系统装置向一较慢速I/O装置写入数据时。由于系统装置经系统总线以比多数I/O装置更快的速率写数据,该较慢的I/O装置不能够以与向它们写入数据的系统装置一样快的速率接收这些数据。因此,本发明提供了一个缓冲器,从较快系统装置到较慢I/O装置的被写数据可被暂时地存储于其中。在这种方式中,既使全部写入数据还没有经过I/O总线而被写入I/O装置中,在缓冲器中存储的(或寄放)写数据对于随后的操作来说也不受其总线的影响。
这第二种转换逻辑的工作发生在当着一系统装置控制系统总线的期望启动一个以工作如在I/O总线上受控装置的I/O装置为目标的读或写周期,而且当着该系统装置的数据总线宽度大于该I/O装置的数据总线宽度时。典型地,系统装置的数据总线宽度是32位,这一宽度是在总线接口单元的系统总线一方及I/O总线一方都得到支持的,并且这I/O装置的数据总线宽度是8位、16位或32位。一个系统装置经系统总线对处在I/O总线上的8位或16位的I/O装置进行通讯时,在该系统装置可以放弃系统总线的控制之前必须等待该I/O装置接收一个完整的读或写请求。因此,依照该转换逻辑,来自32位数据总线宽度系统装置、目标是为一8位I/O装置读取或对其写入的数据被暂时地存储在一缓冲器中。在最佳实施例中的该缓冲器具有容纳数据和地址的32位的能力。这种转换逻辑提供了将在系统总线上启动的单个32位的读和写周期转换成两个8位或两个16位的周期的方法,并允许这寄存的写周期出现而不妨碍时间临界总线活动,例如刷新。


图1是采用了根据本发明原理的总线接口单元的计算机系统的原理方框图;
图2是图1中计算机系统的总线接口单元的原理框图;
图3是图2中总线接口单元的FIFO缓冲器原理框图;
图4是说明图1中的CACP电话操作周期的定时图;
图5和图6是说明图2转换逻辑工作的定时图;
图7是一个列举进行寄放周期条件的表格。
首先参考图1,所示出的计算机系统10通常包含有系统板12和处理器组合体14。处理器组合体包括处理器部分16和基础部分18。该基础部分18经局部总线连接器22连接在处理器局部总线20。处理器部分工作于50MHz频率而基础部分18工作于40MHz频率。
系统板12包括交错系统存储器24和26和输入/输出(I/O)装置28。存储器24和26以及处理器组合体14之间的通讯由存储器总线30所控制,而I/O装置28和处理器组件14之间的通讯是经I/O总线32而实现的。I/O装置与存储器24及26间的通讯由I/O总线32、系统总线76和存储器总线30所控制。I/O总线32可与MICROCHANNEL计算机结构一致。存储器总线30和I/O总线30经处理器组合体连接器34连接到处理器组合体基础部分18。I/O装置,诸如存储器扩展装置,可以经I/O总线32而被连接到计算机系统10。系统板12还可以包括传统的视频电路、定时电路、键盘控制电路和中断电路(均未示出),这些电路在正常的操作中为计算机系统所用。
处理器组合体14的处理器部分16包括一中心处理单元(CPU)38,在优选的实施例中,该单元可采用英特尔(IntelInc)公司的、其销售标记为1486的一个32位的微处理器。处理器部分16还包括静态随机存取存储器(SRAM)40,超高速缓冲存储器控制组件42,频率控制组件44,地址缓冲器46和数据缓冲器48。局部总线20包含数据信息通路50,地址信息通路52和控制信息通路54。数据信息通路50被提供在CPU38、SRAM48和数据缓冲器48之间。地址信息通路52被提供在CPU38、超高速缓冲存储器控制组件42和地址缓冲器46之间。控制信息通路54被提供在CPU38、超高速缓冲存储器控制组件42和频率控制组件44之间。此外,地址和控制信息通路被提供在超高速缓冲存储器控制组件42和SRAM40之间。
通过以短项存储信息的方式存储来自系统存储器24或26或来自处在-I/O装置28上的扩展存储器的存储信息,SRAM40提供了一个超高速缓冲存储器的功能。超高速缓冲存储器控制组件42与存储存储器24和26的地址单元的随机存取存储器(RAM)相结合。CPU38可直接地经过局部总线20存取被超高速存储在SRAM40中的信息。频率控制组件44同步50MHz的处理器部分16和40MHz的基本部分18的操作,并且还控制着缓冲器46和48的操作。因此,频率控制器组件44确定了在何时信息被缓冲器46或48所截获的时间,即存储在这些缓冲器中的信息被重写的时间。缓冲器46和48被构形,以使得来自存储器26和24的两个写入被同时地存储于其中。缓冲器46和48是双向的,即它们具有锁存由CPU38提供的信息以及提供给该CPU的信息的能力。由于缓冲器46和48是双向的,所以该处理器组合件14的处理器部分16可以被替代或被升级,而保持一个普通的基本部分18。
基本部分18包括存储控制器58,直接存储器存取(DMA)控制器60,中心仲裁控制点(CACP)电路62,总线接口单元64和缓冲器/纠错码(ECC)电路66。基本部分18还包括驱动器电路68,只读存储器(ROM)70,自检测电路72和缓冲器74。系统总线76包含一数据信息通路78,地址信息通路80和一个控制信息通路82。利用总线接口单元64,该数据信息通路与缓冲器74相连接;总线接口单元64与DMA控制器60和缓冲器/ECC电路66相连接;以及缓冲器/ECC电路与系统存储器24和26相连接。地址信息通路和控制信息通路的每一个都与存储器控制器58和DMA控制器60以及总线接口单元64相连接,而且总线接口单元64与缓冲器74相连接。
存储器控制器58既位于CPU局部总线20之上又位于系统总线76之上,并经存储器总线30将CPU38、DMA控制器60或总线接口单元64(代表一I/O装置28)连接到系统存储器24和26。存储器控制器58经过存储器总线30将系统存储器周期初启到系统存储器24和26。在一个系统存储器周期中,或是CPU38、DMA控制器60,或是总线接口单元64(代表一I/O装置8)具有经过存储器控制器58到系统存储器24和26的存取。CPU38经局部总线20、存储控制器58和存储器总线30与系统存储器通讯,而DMA控制器60或总线接口单元64(代表-I/O装置28)则经过系统总线76、存储器控制器58和存储器总线30与系统存储器进行存取。
对于CPU对I/O总线32的读或写周期来说,地址信息在对着系统存储器的上下边界面被检测。如果地址信息对应于一个I/O扩展存储器地址或I/O端口地址,则存储器控制器58则通过I/O总线32,利用一I/O装置28(经总线接口单元64)来初启一个I/O存储器周期或I/O端口周期。在CPU至I/O存储器周期,亦即I/O端口周期期间,送到存储器控制器58的地址是经过总线接口单元64从系统总线76传送到I/O总线32的,而该接口单元是置于这两个总线之间的。I/O装置28包括有对其进行地址通讯的扩展存储器。该I/O装置从I/O总线32接收存储器地址。DMA控制器60和总线接口单元64控制着系统存储器24和26与结合在一I/O装置28中的扩展存储器之间的信息交换。DMA控制器60还起到了处理器组合件14的三个功能。第一,DMA控制器60利用了小型计算机子系统控制模块结构以构形DMA通道,从而避免了使用已编程的I/O来构形DMA通道的必要性。第三,DMA控制器提供了一个缓冲功能,以优化了慢速存储器扩展装置和典型的较快速系统存储器之间的传输。第三,DMA控制器60提供了一个8通道、32比特的直接系统存储器存取功能。当提供这种直接系统存储器存储功能时,DMA控制器60可以工作于两个模式。首先在第一种模式中,DMA控制器60工作于一个已编程I/O模式中,其中该DMA控制器60是在功能上受控于CPU38的。在第二种模式中,DMA控制器60本身起到一个系统总线控制者的作用,其中,DMA控制器60仲裁并控制I/O总线32在这第二种模式中,DMA控制器60使用了一个先入-先出(FIFO)寄存器电路。
CACP电路62对于DMA控制器、I/O装置总线控制器和CPU(如果存取I/O装置的话而言起一个仲裁程序的功用。CACP电路62从DMA控制器60、存储器控制器58以及I/O装置接收仲裁控制信号,并且确定哪一种装置可以控制I/O总线32以及在该特定装置对该I/O总线保持控制的时间的长度。
驱动器电路68将控制信息及地址信息从存储器控制器58提供到存储器24和26。根据用于构成系统存储器24和26的单一直接插入存储器模块(SIMMS)的数目,驱动电路68来驱动这些信息。因此,根据这些存储器的容量,驱动电路改变送到系统存储器24和26的控制及地址信息的信号密度。
缓冲器电路74在处理器组件基本部分18和系统基板12之间提供了放大和隔离作用。缓冲器电路74采用了缓冲器使其以实时的方式捕捉在I/O总线32和总线接口单元64之间的边界信息。因此,如果计算机系统10经历了一个故障的条件,缓冲器电路74可以由一计算机修理人员所存取,以便确定在故障出现时在连接口34出现的信息。
一旦出现从扩展存储器对系统存储器的初始引入的通电,ROM70则构成了系统10。自检测电路72提供了多个自检测特征,该自检测电路是与基本部分18中的多个部分相连接的。自检测电路72存取缓冲器电路74以确定是否有故障情况存在,并在系统10一经通电时检测基本部分18的其它主要部件,以确定该系统是否已准备好进行操作。
参考图2,该图是图1所示系统的总线接口单元64的原理方框图。通过在系统总线76和I/O总线32之间提供的一双向高速的接口,总线接口单元64提供了实施本发明的基础。
总线接口单元64包括系统总线驱动器/接收器电路102,I/O总线驱动器/接收器电路104和在其之间电连接的控制逻辑电路。驱动器/接收器电路102包括有导引逻辑线路,该逻辑线路将从系统总线76接收的信号指引到正确的总线接口单元控制逻辑电路,并从该总线接口单元控制逻辑电路接收信号,再将该信号指引到总线76。I/O总线驱动器/接收器电路104包含有导引逻辑线路,该逻辑线路将从I/O总线32接收的信号指引到正确的总线接口单元控制逻辑电路,并从该总线接口单元控制逻辑电路接收信号,再将该信号指引到I/O总线32。
总线接口单元控制逻辑电路包括系统总线至I/O总线转换逻辑线路106,I/O总线至系统总线转换逻辑线路108,存储器地址比较逻辑线路110,错误恢复支持逻辑线路112,和超高速缓冲存储器探测逻辑线路114。已编程的I/O逻辑电路116也被电耦合到系统驱动器/接收器电路102。
系统总线到I/O总线转换逻辑线路106提供了对于DMA控制器60或存储器控制器58(代表CPU38)所要求的装置,这种装置使得DMA控制器或存储器控制器58起到一个系统总线控制器的作用,以便存取该I/O总线32,并从而与在I/O总线上作用为一从属装置的I/O装置28通讯。转换逻辑线路106将系统总线76的控制、地址和数据线路转换成在I/O总线32上的类似的线路。当着数据信息流动是双向时,多数的控制信号和全部的地址信号是从系统总线76流向I/O总线32的。作用为系统总线从属设置的逻辑线路监视系统总线76并检测供I/O总线32所用的周期。一旦检测到这样的周期,该系统总线的从属设置则将在系统总线上的信号定时转换成I/O总线的定时,启动在I/O总线32上的周期,等待该周期被完成,并在系统总线76上传送该周期。
I/O总线到系统总线转换逻辑线路108包括有系统总线地址产生器电路118,I/O总线期待地址产生器电路120,系统总线控制器接口122FIFO缓冲器124,I/O总线从属接口126和总线到总线定步控制逻辑线路128。系统总线控制器接口122支持着一个工作于40MHz高性能32比特(4字节)i486脉冲序列约定操作。被提供的有4、8、16字节的脉冲序列模式以1至4字节的非脉冲序列模式的数据传输。I/O总线从属接口126监视该I/O总线32以发现在系统总线76上的从属装置为目标的操作,并忽略那些对于I/O总线32的操作。由I/O总线从属接口126取的全部周期都被送到FIFO缓冲器124和系统总线控制器接口122。
I/O总线到系统总线转换逻辑线路108提供了一个I/O装置28所要求的装置,该装置使I/O装置起到一个I/O总线控制器的作用以存取系统总线76并由此读写系统存储器24和26。在任一这种操作中,一个I/O装置控制这I/O总线。一个操作于I/O装置的速度的非同步I/O总线接口126使得该总线接口单元64工作如一个在I/O总线32上的I/O装置控制器的受控设置,以便解码存储器地址并确定为系统存储器24和26所设定的读和写周期。同时,系统总线控制器接口122使总线接口单元64起到一个在系统总线74上的控制器的作用。存储器控制器58(图2)对于总线接口单元64为一个受控单元,或是向该单元64提供从系统存储器读出的数据,或是将数据写入系统存储器。对于系统存储器的读出及写入是通过FIFO缓冲器124而完成的,图3中给出了一个方框图。
如图3所示,FIFO缓冲器124是一个双端口、非同步、双向存储单元,它提供了在系统总线76和I/O总线32之间的数据信息的暂态存储。FIFO缓冲器124包含四个16字节的缓冲器125A-125D以及FIFO控制电路123。这四个缓冲器125A-125D缓冲到达及来自I/O总线控制器和系统总线受控单元的数据,从而实现I/O总线32和系统总线76的同时操作。FIFO缓冲器124在结构上形成为两个32字节的缓冲器(125A/125B以及125C/125D)。系统总线控制器接口122以及I/O总线受控接口126的每一个控制着一个32字节的缓冲器而其它32字节缓冲器对于它们来说为透明操作。每一个32字节的缓冲器都被用来读和写操作。
FIFO124A,124B,124C,124D的每一个都有一个或者是结构上相关或者是逻辑上与其相关的地址寄存器。当着数据被从I/O总线32传送到FIFO125A时,假如地址是相邻的话,则该数据将被累加而直到该16字节的缓冲器装满16字节的数据为止。如果一个不相邻的地址被地址操作所检测到,则该FIFO125A将把已存储的数据转移到FIFO125C,而与此同时FIFO125B将开始从新的不相邻地址接收这一数据。FIFO125B将连续工作,只要FIFO125A没有充满至16字节的数据或是另外不相邻地址被检测到。FIFO125B则把已存储的数据传送到FIFO125D,并且FIFO125A再次开始存储数据;因此,是有可能存储达到四个16字节的不相邻地址数据的数据块。
进一步,由于具有两个处于平行的32字节的缓冲器,数据的读出及写入可以在它们之间相互转换,从而提供了一个基本的连续读写功能。
进一步说,通过将32字节的缓冲器分裂成为与其它总线32或系统总线26相耦合的两个16字节缓冲器部分,就涉及对于信号定时数据写入及读出存储寄存器能力承载而言,其存储缓冲器的数目可以被增加而对于FIFO的影响为最小。出现这样的结果是由于每两个缓冲器被加入(以平行方式),对于在每一总线时钟信号的承载力而言,只有一半的能力承载被加入。
此外,由于在每一支路中具有两个串联的16字节的缓冲器,所以,假如在读操作中一旦这两个16字节的缓冲器之一被充满数据时,则数据可以被传送到与之串联的另一个16字节的缓冲器中而另一个平行的支路仍在积累数据。因此,无论是在积累数据或是将数据从一条总线传到另一条总线时,都没有时间丢失。
用于控制FIFO124操作的逻辑是由FIFO控制电路123提供的。
经过I/O总线并以1、2或4字节的带宽(亦即8、6或32位),一个特定的I/O装置28可以对系统存储器24或26写入。在通过I/O装置28写入系统存储器期间,写数据的第一传输是初始地存储在FIFO缓冲器125A和125B中的。I/O总线所期地址产生电路120计算这下一个所期的、或相邻的地址。该下一个相邻地址相对于随后的I/O地址而被检测,以验证这随后的传输是否为相邻的。如果是相邻的,这第二个写入数据的字节或几个字节被送到同一FIFO缓冲器125A或125B。该FIFO以每秒钟高达40兆字节的非同步的速度从I/O总线32接收数据。
这一过程一直延续到或是缓冲器125A或是缓冲器125B被以一16字节的信息包所充满或是一非相邻地址被检测到为止。假设缓冲器125A被充满,则在下一时钟周期,在缓冲器125A中的数据被传送到缓冲器125C。相类似地,当缓冲器125B被充满时,它的全部内容在单一时钟周期中被传送到缓冲器125D中。随后,这存储在缓冲器125C和125D中的数据则经一i486脉冲序列传输器并以系统总线的操作速度被写入到系统存储器中。从而经由-I/O装置,在一写入系统存储器期间,FIFO缓冲器124的操作是连续的,轮流地采用125A和125B,将这二者的每一个分别地腾空到相邻的缓冲器125C和125D中,而另外一个则接收欲将写入存储器的数据。该FIFO缓冲器124从以下的两方面优化了数据写入系统存储器的速度(ⅰ)接收欲将被写入存储器数据的下一个可能的字节地址;(ⅱ)调节经过系统总线76从FIFO缓冲器到系统存储器的写入数据的最高速度。
在将数据从系统存储器读到一I/O装置28期间,FIFO缓冲器以不同方式工作。该系统总线地址产生器电路115利用初始读出地址以产生顺序的读出数据地址并在缓冲器125C和125D中累加数据。由于系统总线支持存储器是以16字节宽的带宽,所以该系统总线控制器接口122可以预取16字节的相邻数据的数据包并将该数据包存储在缓冲器125C和125D中而无I/O总线32实际提供随后的地址,从而降低了传输器之间的延滞。当缓冲器125C被充满预取的数据时,则该缓冲器将其内容在一个时钟周期内传送到缓冲器125A中。当充满时,缓冲器125D类似地腾空而进入缓冲器125B。在缓冲器125A和125B中的数据则可以由一特定的I/O接口装置控制器以1、2或4字节的带宽而读出。以这种方式,系统总线地址产生电路118起到一个递增计数器的作用,直到被I/O控制器装置所指令而停止预取数据为止。
对于高速I/O装置,总线到总线定步控制逻辑线路128产生对系统存储器更快的存取。该总线到总线定步控制逻辑线路128控制着系统10的正常存储控制器仲裁规程,这种控制是这样实现的,即允许处于该I/O总线32控制的一I/O装置在由一较快的要求多个周期的装置进行数据传输期间不间断地存取系统存储器,而不是在I/O装置和CPU之间交替存取存储器控制器58。因此,即使是一个局部装置(例如-CPU)具有待决的、在一多周期的、由一I/O装置进行的传输期间内的对于存储总线控制请求,该总线到总线定步控制逻辑线路128也将授予该I/O装置对存储总线连续控制。
已编程的I/O电路116是总线接口单元64的这样一部分它包括了在总线接口单元64中的所有的可编程的寄存器。该寄存器具有一些确定是否一特定寄存器为动态的或非动态的相关位。这些寄存器尤其限定了该总线接口单元64将响应的系统存储器和扩展存储器地址范围、可超高速存储或不可超高速存储的扩展存储器地址、系统存储器或超高速缓冲存储器地址范围以及是否奇偶性或错误检测被总线接口单元所支持。因此,已编程I/O电路116标识总线接口单元所处的环境,以及它被构成的选项。在已编程的I/O电路116中的寄存器不能经过I/O总线32被直接编程。因此,为对系统10编程,用户则必须对-I/O装置进行存取,该I/O装置可以经过系统总线以CPU等级与已编程I/O电路116通讯。
存储器地址比较逻辑线路110确定是否一存储器地址对应于一系统存储器或对应于一个处于I/O装置28上且耦合到I/O总线32的扩展存储器。由于系统存储器以及扩展存储器可以是处在非相邻的地址数据块中,存储器地址比较逻辑线路110包括有多个比较器,它们包含有来自在已编程I/O电路116中的寄存器的边界信息,以便指示哪些个边界对应哪个存储器。在由存储器地址比较逻辑将一特定的地址与边界信息比较之后,该总线接口单元被相应地准备作出反应。比如说,如果一个控制I/O总线32的I/O装置对应一扩展存储器进行读出或写入,该总线接口电路不必要将该地址传送到存储器控制器58,从而节省了时间和存储器带宽。
错误恢复支持逻辑线路112允许系统10既使在检测到一数据的奇偶错误时也能连续操作。在任何经过I/O装置28对系统存储器24或26的读和写的存取场合,数据的奇偶性都要被检测。支持逻辑线路112与处在已编程I/O电路116中的一寄存器相互作用,以获得地址和被测奇偶性错误的时间。该寄存器的内容可由合适的系统软件而使之生效。举例来说,CPU38可被编程以为了一个高等级的中断,以使在任何检测到一奇偶错误时将地址从该存储器中提出。随之该CPU可根据系统软件的指令决定是否继续系统的操作或是仅仅中断被标识出的奇偶错误信号源的操作。
超高速缓冲存储器探测逻辑线路114使总线接口单元64监视I/O总线32对于扩展存储器的任何写入,这种写入是经I/O总线32通过I/O装置进行的。该探测逻辑线路首先确定是否这种对扩展存储器的写入发生在处于SRAM40中的可超高速缓冲存储的扩展存储器中。如果不是可超高速缓冲存储的扩展存储器,就不存在错误数据被超高速缓冲存储的危险。然而,如果一个可靠的比较指示该写入发生在一可超高速缓冲存储的扩展存储器中,则在系统总线76上就要指示出一个超高速缓冲存储器的无效周期。从而该CPU被指令去无效掉在SRAM40中的相应地址。超高速缓冲存储器检测逻辑线路114提供了用于存储这正确比较的地址,从而这I/O总线的探测可在这第一个正确比较的检测之后立即进行,从而实现I/O总线32的连续监视。
一般地说,本发明涉及上述的总线接口单元64,尤其是涉及置于计算机系统10系统总线76和输入/输出总线32之间的该总线接口64所包含的系统总线到I/O总线转换逻辑106。该转换逻辑106是以算法语言来实现并被固化到总件接口单元64的硬件中。该转换逻辑106在总线接口64中同步系统总线76和I/O总线32的操作。总线76和32的同步化,对于以不同速率、经不同数据传输带宽彼此相互通讯的系统总线装置和输入输出装置进行补偿。
通过优化及结合两个周期条件而不妨碍系统的临界处理,转换逻辑106改善了系统总线76到I/O总线32的传输工作状况。第一个条件出现在当一个快的系统装置在向一较慢的I/O装置28写入数据时,像存储器控制器58(代表CPU38)这类系统装置经系统总线76以比I/O装置快的速率写数据是能够接受这种数据的。因此,本发明提供了一个缓冲器,从较快的系统装置写到较慢I/O装置的数据可以被暂存于该缓冲器中,并提供终止这种系统总线周期的逻辑。在这种方式中,已经被寄放在缓冲器中的数据不受系统总线76随后的操作的影响,即使是这全部的写数据还没有写入该I/O装置28。该转换逻辑106响应这第一种条件的操作在后面被称为寄放写周期。
使转换逻辑106操作的第二个条件出现在当像系统存储器58(代表CPU38)的一个系统装置控制系统总线76并期望启动一个以在I/O总线32上用作一受控设备的I/O装置28为目标的读或写周期时,并且在当系统装置的数据总线宽度大于I/O装置28的数据总线宽度时。(典型地,系统装置的数据总线宽度是32位,它被支持在总线接口单元64的系统总线一边以及I/O总线一边,而I/O装置的数据总线宽度是8位、16位或32位。)在一个16位存取一8位受控设备的情况中或一个32位存取8位或16位的I/O受控设备的情况中,其数据总线宽度的失配结果是,该存储器控制器58经系统总线76对于一8位或16位的、在I/O总线上的I/O装置的通讯,必须在该存储器控制器58可以放弃对系统总线76的控制以前等待该I/O装置接收一完整的读写请求。由于CPU能够以32位数据总线宽度经系统总线76传输数据,因此,如果数据是以-8位I/O装置为目标的读出或写入,则该32位的读或写数据则为暂存在一个在转换逻辑106中的缓冲器(未示出)中。在最佳实施例中的这种缓冲器具有容纳32位数据和地址的能力。转换逻辑16提供了用于将在系统总线76上启动的单个32位读和周期转换成4个8位或两个16位的可由I/O装置28所控制的周期。转换逻辑106响应于该第二个条件的操作在其后被称之为一个转换周期。
转换逻辑106影响到在仲裁周期TARB和授权周期TGNT(见图4)之间转换的CACP电路的工作。在仲裁周期TARB期间,CACP电路62在I/O装置28和CPU38之间作仲裁,以确定I/O装置28和CPU38的哪一个应授予对I/O总线32的控制。在授权周期TGNT中,CACP电路62将I/O总线32以及连同所说的系统总线28的控制授权给一个I/O装置28或CPU38。在寄放写周期和转换周期中的数据缓冲防止了CACP电路62在中间的连续I/O周期中将I/O总线32授给一个新的I/O装置。
转换周期和寄放写周期的操作将被更详细地描述。图5示出了一个在总线接口单元64中的转换逻辑106实行转换周期时给出的定时图。图5示出的定时图涉及经过存储器控制器58(代表CPU)将32位的读或写传输到一8位I/O装置28的情形。当然,本发明的原理也适于16位的I/O装置。如图5中顶行所示,整个传输过程如下。在计算机系统10中,当CPU38对一I/O装置启动一读或写周期时,该CPU必须经频率控制组件44、存储器控制器58和总线接口单元64通讯。在读或写的周期中,该频率控制组件44和存储器控制器58的每一个都将至少引起一个时钟周期(在图5中分别是TFCM和TMC′)的适时。伴随传输完结适时TEOT,这些适时还出现在该周期的结尾,这对于该周期附加了一或两个时钟周期。在读或写周期的始端和结尾的这些适时之间,总线接口单元64的转换逻辑106将来自存储器控制器58的32位读或写周期转换成4个连续的I/O读或写周期(I/O)。
总线接口单元64的转换逻辑106从而执行了代表CPU38的转换周期。以这种方式,CPU38无需执行每一个具有与之相关的TFCM和TMC时的四个8位传输周期。其结果如图5的下行所示,其CACP电路62处于一授予型的时间以及没有其它启动可以出现在I/O总线32上的时间(TGNT)被降低。如果CPU38被请求执行它自己的转换周期,则将在每一个TI/O周期之后有TFCM和TMC时,从而增加了CPU必须控制总线的时间。
在I/O总线说明中,I/O受控装置受到它们被许可足一I/O周期的时间量的限制。这是为了不妨碍在I/O总线或系统总线上的定时临界处理,比如说动态系统存储器的刷新。典型地说,在最佳的实施例中,对于一个I/O受控设备而言,时一个读或写周期(TI/O)最大允许时间是3.5微秒。对四个这种连续的周期缓冲最多要14微秒才完成。由CACP电路作的仲裁出现在时期TFCM和TMC期间。在仲裁期间,DMA控制器能刷新系统存储器24和26。在最佳的实施例中,系统存储器24和26具有15.6微秒的刷新间隔。如果在先前刷新的3个刷新间隔(46.3微秒)没有刷新出现,则会发生超时和动态RAM存储器内容的丢失。然而,因为一个装置不知道什么时候该先前刷新出现,所以该装置可以安全地拥有该I/O总线32最长达两个刷新间隔(31.2微秒)。因此,由于转换周期将不对刷新操作有不利影响,这最大为14微秒的时期插在顺序的仲裁期间之中。
关于寄放写周期,在转换逻辑106中的缓冲器也提供了在32位写数据被写入一I/O装置28中的前对其进行缓冲的方法。这种操作不受系统总线的与I/O总线32不相干的流动的影响,例如CPU存储周期或超高速缓冲存储器周期。如果下一个CPU操作是对一个I/O装置28的另一写操作的话,则寄存写周期甚至可以提供时间节省。图6是一个定时图,说明了由CPU38对-I/O装置28的连续写操作。如图6的顶行所示,写传输是以由频率控制组件44(TFCM)和存储器控制器58(TMC)引入的时而形成的时TFCM和TMC开始的。TI/O代表数据从CPU38经I/O总线32到一I/O装置28的第一个写周期,数据被寄放(被缓冲)在转换逻辑106中。TI/O2代表经过I/O总线32的第二个写数据周期。TR是一经在I/O总线32的写操作完成时而提供给CPU的就绪信号。
由于第一写周期数据被寄放,则一旦进行寄放则一TR就绪信号可被供给CPU。因此,时TFCM和TMC是采用CPU经过频率控制组件44和存储器控制器58进行通讯所固有,并当写周期在I/O总线32上完成时,可以同时地出现在系统总线72上。第二个号周期TI/O2可以紧随第一个写周期TI/O1在I/O总线32上开始。如果第一个写周期没被寄放,则要求用作就绪信号Tr和延时TFCM及TMC的时间必须出现在第一和第二写周期TI/O2之间。如图6的预行所示,这一时间将不会被覆盖在第一写周期TI/O1之下,并且将导致对于整个后序的CPU对I/O装置的写周期而言的更长完成时间。此外,TI/O1和TI/O2可以是如图7条件所定义的转换周期。
寄放的写周期和转换周期可以同时出现在本发明的最佳实施例中。对于转换及寄放周期,该转换逻辑都用作一个缓冲器。然而,在图7中所列的条件必须增加被缓冲的周期数,以保证不出现超时。刷新周期仅在-CACP仲裁模式期间中出现,因此,由于系统存储器的请求,并因为I/O装置28或CPU可能恰好在该CACP被要求进行一刷新周期以前得到对总线的控制,则在这连续的仲裁模式之间的时间不得超过31.2微秒。如图5和6所示,因为I/O总线活动是连续的且不被这TFCM和TMC的连续衔接时所中断,CACP电路62不进入插在后续缓冲数据I/O周期之间的仲裁模式。因此,被缓冲的3.5微秒I/O周期数必须被限制,以保证31.2微秒不超过中间的连续仲裁周期。
出现在寄放写/转换周期始端的连续衔接延时(TFCM,TMC)大约为0.2微秒。通过对最多为6个I/O周期的缓冲,在图7所示的条件下,CACP仲裁周期至少每21.2微秒(6×3.5+0.2=21.2)出现一个。这样的一个六个缓冲I/O周期的限定,使得有一最小为10微秒的间隔(31.2-21.2=10微秒)出现在最后的I/O周期和由于未能刷新系统存储器而出现系统超时刻之间。这10微秒的最小值提供给DMA控制器以足够的时间去进入仲裁模式、获得系统总线的控制以及开始一刷新周期。
至此,已经介绍了一个最佳的实施例。该实施例是用于具有双总线结构计算机的总线控制逻辑系统。然而应该懂得,前述仅是通过实例的描述,而本发明并不局限于在此对于特定实施例的描述,可以对其有各种重新排列、修改及替代,而这些均不背离如权利要求中所要求的本发明的精神实质。
权利要求
1.一计算机系统,它包括一系统存储器;一个用于控制对系统存储器存取的存储器控制器;和一个与所说的存储器控制器电连接的中心处理单元,所说的中心处理单元能够经所说的存储器总线对所说的系统存储器读出和写入数据所说的计算机系统特征在于一个经系统总线与所说的存储器控制器电连接,并经一输入/输出总线与一个输入/输出装置电连接的总线接口单元,所说的总线接口单元包括有转换逻辑,以便当该接口单元响应系统总线时对该总线进行保持,并响应一系统预定操作条件对通过所说的总线接口单元从所说的系统总线传输到所说的输入/输出总线的数据进行暂存,并且在当从系统总线到缓冲器的数据传输被完成时终止对所说的系统总线的响应而不考虑从该缓冲器到输入/输出总线的数据是否已被完成传输。
2.如权利要求1的计算机系统,其特征在于其结转换逻辑是用算法语言来实现的,该逻辑是被入到所说接口单元的硬件中。
3.如权利要求1的计算机系统,其特征在于,所说的预定的系列操作条件之一出现在当代表所说的中央处理单元的存储器控制器间所说的输入/输出装置写数据时。
4.如权利要求1的计算机系统,其特征在于,所说的预定的系列操作条件之一出现在当代表所说的中央处理单元的所说的存储器控制器启动一个以在所说的输入/输出总线上用作一受控设备的所说的输入/输出装置为目标的读或写周期时,并且在当所说存储器控制器的数据总线宽度大于所说输入/输出装置的相应数据宽度时。
5.如权利要求4的计算机系统,其特征在于所说的存储器控制器数据总线宽度是32位宽,所说的输入/输出装置数据总线宽度是8位宽。
6.如权利要求4的计算机系统,其特征在于所说的存储器控制器数据总线宽度是32位宽,所说的输入/输出装置的数据总线宽度是16位宽。
7.如权利要求4的计算机系统,其特征在于所说的用于暂存数据的转换逻辑是一个具有容纳32位数据和地址的能力的缓冲器。
8.如权利要求4的计算机系统,其特征在于所说的系统总线支持在所说总线接口单元和所说系统存储器之间以高达16字节的数据传输的读或写数据的脉冲串传输,并且其特征还在于所说的输入/输出总线支持在所说的输入/输出装置和所说的总线接口单元之间以数据总线宽度为1、2或4字节的读或写数据的传输。
9.一种在计算机系统中存储在系统存储器和输入/输出装置之间被传输数据的方法,其特征在于包括下列步骤提供系统存储器和一个存储器控制器以便控制对系统存储器的存取,所说的系统存储器和所说的存储器控制器由一存储器总线连接;提供一个与所说的存储器控制器电连接的中央处理单元,所说的中央处理单元能够经所说的存储器总线对所说系统存储进行数据读和写;提供一个经一系统总线与所说的存储器控制器电连接并经一输入/输出总线与一输入/输出装置电连接的总线接口单元;当总线接口单元响应系统总线时,所说的总线接口单元保持所说的系统总线;在所说的总线接口单元的缓冲器中,响应一个预定系统的操作条件而存储经过总线接口单元从所说的系统总线传输到所说输入/输出总线的数据;当着从系统总线到缓冲器的数据传输已经完成时,终止所说的总线接口单元对所说系统总线的响应而不考虑从缓冲器到输入/输出总线的数据是否被完全传输。
10.如权利要求9的方法,其特征在于,所说的系统总线在所说的总线接口单元和所说的系统存储器之间以高达16字节的数据传输读或写数据,其特征还在于所说的输入/输出总线在所说的输入/输出装置和所说的总线接口单元之间以1、2或4字节的总线宽度传输读或写数据。
11.如权利要求9的方法,其特征在于,所说的预定系列条件之一出现在当代表所说的中央处理单元的存储控制器向所说的输入/输出装置写数据时。
12.如权利要求9的方法,其特征在于,所说的预定系列条件之一出现在当代表所说的中央处理器单元的所说的存储器控制器启动一个以在所说的输入/输出总线上用作一受控设备的所说的输入/输出装置为目标的读或写周期时,并且在当所说的存储器控制器的数据总线宽度大于所说的输入/输出装置的相应的数据宽度时。
13.如权利要求12的计算机系统,其特征在于,所说的存储器控制器数据总线宽度是32位宽,所说的输入/输出装置数据总线宽度是8位宽。
14.如权利要求12的计算机系统,其特征在于,所说的存储器控制器数据总线宽度是32位宽,所说的输入/输出装置的数据总线宽度是16位宽。
全文摘要
本发明的计算机系统包含系统存储器和一个用于对系统存储器存取进行控制的存储器控制器,与存储器控制器电连接的一个中央处理单元,和一个经一系统总线与存储器控制器电连接、且经一输入/输出总线与一输入/输出装置电连接的总线接口单元。该总线接口单元包括转换逻辑,该转换逻辑用以响应一预定操作条件系列暂存经过总线接口单元在系统总线和输入/输出总线之间传输的数据。
文档编号G06F13/36GK1074051SQ9211449
公开日1993年7月7日 申请日期1992年12月17日 优先权日1992年1月2日
发明者贝尔弗雷德·奥尔德吉艾, 纳德·阿米尼, 理查德·L·霍恩, 特伦斯·J·洛曼, 康·N·特兰 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1