首页 / 专利库 / 多媒体工具与应用 / 流式传输 / 用于总线接口单元的双向数据存储装置

用于总线接口单元的双向数据存储装置

阅读:283发布:2022-08-26

专利汇可以提供用于总线接口单元的双向数据存储装置专利检索,专利查询,专利分析的服务。并且本 发明 为具有双总线结构,例如一 系统总线 机一I/O总线, 计算机系统 提供了总线到总线 接口 单元。对于在两总线之间从与两总线的每一总线相耦合的装置传入传出的数据,该总线接口单元包含一个非同步双向暂时数据存储功能。最好是这种存储功能工作于这种模式,即这种模式将适合于数据的单独传输、数据 流式传输 、数据脉冲串传输,并且能适应从相邻地址的信息传输而无需启动对于每一地址的新 请求 。,下面是用于总线接口单元的双向数据存储装置专利的具体信息内容。

1.一个计算机系统,它包括:系统存储器;用于控制对系统存储器存取的存储器控制器,所说的系统存储器和所说的存储器控制器由一存储器总线连接;耦合到所说存储器控制器的中心处理单元,所说的中心处理单元具有经过所说的存储器总线对所说的系统存储器读写数据的能;经一系统总线与所说的存储器控制器相连接的一总线接口单元;经一输入/输出总线与所说的总线接口单元相连接的至少一个输入/输出装置;所说的计算机系统其特征在于:所说的总线接口单元包括一个双向数据存储单元,以便提供对于在读写操作期间、在所说的系统总线和所说的输入/输出总线之间传输的数据的暂时存储。
2.如权利要求1的计算机系统,其特征在于,所说的存储单元是响应耦合到工作于不同数据传输带宽的输入/输出总线或系统总线的装置。
3.如权利要求1的计算机系统,其特征在于,所说的存储单元包括至少两对缓冲器,所说的两对缓冲器都被既用于读操作也被用于写操作。
4.如权利要求3的计算机系统,其特征在于,所说的缓冲器对是以并行联接的,并且在每一对中的每一个缓冲器与该对中的另一缓冲器是串行联接的。
5.如权利要求4的计算机系统,其特征在于,每一缓冲器对是32字节的缓冲器。
6.如权利要求5的计算机系统,其特征在于,所说的每一个32字节的缓冲器对包含两个串联的16字节的缓冲器。
7.如权利要求4的计算机系统,其特征在于,所说的缓冲器被构形,以便以非同步的速度从输入/输出总线读出数据并向该总线写入数据,并且以一给定数据脉冲串的速度对系统总线写入及从该总线读出。
8.一种在一计算机系统中控制对系统存储器的存取的方法,其特征在于如下步骤:将一存储器控制器耦合到一系统总线,以便在一中心处理单元和一耦合到输入/输出总线的输入/输出装置之间仲裁,从而确定所说的中心处理单元和所说的输入/输出装置之中的哪一个应当被拨予对系统存储器的存取,以便对所说的系统存储器执行读和写操作;将一总线接口单元提供在所说的系统总线和所说的输入/输出总线之间,以便在二者间传送数据;当所说的数据已经被从一总线传送出并且先于它的被传送到另一总线时,对于在所说的系统总线和所说的输入/输出总线之间正被传输的数据进行暂时存储。
9.如权利要求8的方法,其特征在于,所说的接口单元包括一个双向存储单元,该单元暂时地存储正在所说的系统总线和所说的输入/输出总线之间传输的数据。
10.如权利要求9的方法,其特征在于,所说的存储单元包括至少两对16字节的缓冲器,所说的两对缓冲器都被用于读和写操作。
11.如权利要求10的方法,其特征在于,所说的缓冲器对以平行方式连接,而在每一对中的每一个缓冲器对于另一在该对中的缓冲器是顺序连接的。
12.如权利要求11的方法,其特征在于,所说的缓冲器被构形,以便以非同步的速度从输入/输出总线读出数据并向该总线写入数据,并且以一给定的数据脉冲串速度对系统总线写入及从该总线读出。
13.如权利要求8的方法,其特征在于,所说的系统总线在所说的总线接口单元和所说的系统总线之间以高达16字节的带宽传输读或写数据,并且其中所说的输入/输出总线接口在所说的输入/输出装置和所说的总线接口单元间以高达4字节带宽传送读或写数据。

说明书全文

如果下列美国专利申请已经完全公开的话,本申请则在此引用为参考:申请序列号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,203,注册日1992.1.2,题目为“用于具有双总线结构计算机系统的总线接口逻辑”。(进一步的识别是其案号BC9-91-093)。

申请序列号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总线间传送数据过程中,经常需要能够提供耦合到所说两个总线其一或二者的装置,该装置操作于显著不同的速度并处以不同的数据传输模式。举例来说,可能存在有耦合到I/O总线的装置,其I/O总线写带宽为1,2和4字节。另一方面,在称为脉冲带的、相当快的传输中,该系统总线可以具备传送16字节数据包括信息的能力。进一步说,经常期望是从相邻地址传送一相当大量的数据。假如这种传送的完成属无需要求对每一地址单元作特定的说明的话,那么这类传送是可期望的并且是省时的。

因此,有必要的是其系统总线与I/O总线之间的互连有能力以不同的速率和以不同的模式来处理数据传送。进一步说,所期望的是数据被高效率地传输至相邻地址或从相邻地址传来,而无需初启对每一单元的传送请求

因此,本发明的一个目的是在一系统总线和一个I/O总线之间提供一个高效率的数据缓冲器,它将以不同的传送速率并以不同的模式来有效地和高效率地传送数据。

根据本发明,为具有双总线结构诸如系统总线和I/O总线的计算机系统提供一总线到总线的接口单元。该总线接口单元含有一非同步双向暂态数据存储功能,以便数据在这两个总线之间的传送以及与这两条总线之一相连接的装置之间的往返传送。最好是其存储功能工作于这样的模式,即它提供单独的数据传送、数据流形成传送以及数据脉冲带传送,并可适于从相邻地址的信息传送而启始对于每一地址的新的请求。

图1是采用了根据本发明原理的总线接口单元的计算机系统的原理方框图;

图2是图1中计算机系统的总线接口单元的原理框图;

图3是图2中总线接口单元的FIFO缓冲器的原理框图;

图4是一控制逻辑的电路原理图,被用来实施图3所示的一个实施例的总线到总线的定步逻辑;

图5是一控制逻辑的电路原理图,被用来实施图3所示的另一个实施例的总线到总线的定步逻辑。

首先参考图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可与MICRO    CHANNEL计算机结构一致。存储器总线30和I/O总线32经处理器组合体连接器34连接到处理器组合体基础部分18。I/O装置,诸如存储器扩展装置,可以经I/O总线32而被连接到计算机系统10。系统板12还可以包括传统的视频电路、定时电路、键盘控制电路和中断电路(均未示出),这些电路在正常的操作中为计算机系统所用。

处理器组合体14的处理器部分16包括一中心处理单元(CPU)38,在优选的实施例中,该单元可采用英特尔(Intel)公司的、其销售标记为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装置28)具有经过存储器控制器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字节的缓冲器都被用来读和写操作。

FIFO    124A,124B,124C,124D的每一个都有一个或者是结构上相关或者是逻辑上与其相关的地址寄存器。当着数据被以I/O总线32传送到FIFO125A时,假如地址是相邻的话,则该数据将被累加而直到该16字节的缓冲器装满16字节的数据为止。如果一个不相邻的地址被地址操作所检测到,则该FIFO    125A将把已存储的数据转移到FIFO    125C,而与此同时FIFO    125B将开始从新的不相邻地址接收这一数据。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、16或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的连续监视。

总线定步控制逻辑线路128被用来改良I/O总线32的能力,以便借助一个I/O装置对于一系统存储器的动态控制存取来将数据移入和移出系统存储器24和26。系统的工作情况是通过将在I/O总线32控制下的一个I/O装置28的存取在特定的预定条件下锁定到系统存储器而得到改善的。

总线到总线定步控制逻辑线路128与FIFO缓冲器124相结合被用来最佳地将I/O总线控制器的数据传送速度匹配于该系统存储器的数据传输能力。举例来说,如果一个高速I/O控制器能够写入系统存储器的速度更快于该系统存储器可接受该写入数据的速度,则数据在能够被写入系统存储器之前,这被缓冲的写数据将完全充满FIFO缓冲器125A-125B。如果同样高速的I/O控制器也能够从系统存储器读出数据而更快于系统存储器能够提供这些读出数据的速度,则这FIFO缓冲器125C和125D中将不存在预取数据。在任何一种情况中,结果是增加的延滞,并且由于这在I/O总线32数据传送方面的问题而使其工作质量下降。

典型地,一个I/O装置控制器将初启一个读或写的操作并通过该I/O总线32提供一存储器地址到总线接口单元64。总线接口单元电路110将该地址与已编程在电路116中的地址范围相比较,从而确定是否该操作以扩展存储器或系统存储器为目标。如果确定该操作是以扩展存储器为目标的,则总线到总线定步控制逻辑线路128不做任何事情,因为在这种条件下不必要优先对于系统存储器的存取。然而,如果确定该读写操作是以系统存储器24或26为目标的,则该预定的条件被满足,该定步控制逻辑线路128启动一个信号,该信号使得受控于I/O总线32的一个I/O装置28继续对于系统存储器的优先存取。在通常的仲裁处理中,这一信号起到对于存储器控制器58输出的仲裁授予信号的一个统治作用。

I/O装置被授予对系统存取器的优先存取权的预定条件如下:(1)由一个控制I/O总线32的I/O装置作出的读请求(预取)不与在系统存储器中的一预先定义的16字节的地址边界相对应,(2)控制I/O总线32的一I/O装置的一个写周期后紧跟一个读周期,(3)控制该I/O总线32的一个I/O装置完成一个数据传送周期,(4)控制I/O总线32的一个I/O装置正在以流式传输模式(每秒40兆字节)读或写数据,或(5)在FIFO缓冲器124中的四个16字节缓冲器中的多于两个以上的缓冲器已经被充满了欲将被写入系统存储器数据或者是这四个16字节缓冲器中的少于两个以下的缓冲器尚待由将从系统存储器读出的预取数据来充满。

在本发明的最佳实施例中,总线到总线定步控制逻辑线路128在三种型式下工作。型式之一是约定型,它用于上面列出的前三种情况的确定总线控制的定步。型式之二(选择1)确定用于上述列出第四种情况的定步,而型式之三(选择2)确定用于上述列出第五种情况的定步。系统的用户在除去系统自动地提供的约定的定步型式外,可选择任何一种定步型式(选择1或选择2)。这一选择是通过在已编程的I/O电路116中编程一个3位寄存器130(未示出)而作出的。这种约定型定步型式是由0-0-0的寄存器内容而定义的,选择1是由0-0-1的寄存器内容定义的而选择2是由1-0-0的寄证器内容定义的。

如上所阐述,约定型定步逻辑控制着前三种定步条件的定步。在第一条件下,一个I/O存储器28请求一个系统存储器24或26的读出,该存储器不与一特定的16字节数据包边界相对,意思是该读请求是对于处于一16字节数据包的上下边界中开始于某处的数据地址而作出的。如果这读出数据是与一特定16字节数据包的上下边界相对准的,则该总线地址产生器电路118将简单地进行一个将数据送入缓冲器125C或125D中的标准16字节脉冲串传输。然而,如果读数据不是数据包对准的,则数据必须利用多的1,2,3,4字节周期预取。为确保这一数据是以最有效率的方式而被预取,由I/O装置28对系统存储器的存取被锁定,而足够的数据被自动地预取以达到16字节的边界。少于16字节的读出数据则是被同步到I/O总线32的定时,并且这I/O装置控制器开始读出该数据。以与I/O装置控制器读出数据相平行的方式,在释放对于系统存储器的锁定信号之前,系统总线地址产生器电路118将预取下一个相邻的16字节数据包。由于这16字节的数据包是在一预定边界开始的,所以一个脉冲串传输是可能的。所以,两个数据传输被执行而无中断。在这种条件下采用图4中的锁定信号,确保了在当着一在I/O总线32上一装置请求数据时和当着总线接口单元64预放数据时这两者之间延滞量为最小,并且确保了分页型系统存储器的最有效率的利用。

在第二种条件下,当着I/O装置28从一个写传输转变到一个读请求时,存放的被缓冲的写入数据可以存在于FIFO缓冲器125A-125D中。一旦I/O装置总线控制器从一写入变为一读出时,定步控制逻辑128确定周期的结束已发生,已没有更多的写入数据将被存放于FIFP缓冲器124中,而且现正在从系统存储器24或26请求读数据。由于已经知道没有更多的相邻写入数据会立即出现,该缓冲器125A-125D中的缓冲数据被写入系统存储器,并在一自动操作中从系统存储器预取读请求。

在第三种条件下,当I/O控制器装置放弃对于I/O总线32的控制时,存放的缓冲数据也可以存在于FIFO缓冲器125A-125D中。在这一情形中,这种存放的数据必须在释放系统总线76之前而被写入系统存储器。如果多于一个的FIFO缓冲器125A-125D包含有这种存放数据,一旦I/O装置控制器放弃I/O总线32的控制,定步逻辑线路128将产生一个信号到存储器控制器,以便指示在FIFO缓冲器124中的数据在长度上超过了一个传输(即大于16字节)并需要被写入系统存储器24或26。在这种条件下使用锁定信号140确保了在I/O控制器释放对I/O总线32的控制和总线接口单元64释放系统总线76的控制之间的延滞量为最小。

对应于前三种条件约定逻辑是采用算法语言来实现的并被固入到总线接口单元64的硬件中。典型地,如同在本技术中所知的那样,状态机可被用来实现所要求的逻辑。响应于所列举条件的第三及第四情况的定步逻辑也是用算法语言实现而被固入在总线接口单元硬件中。图4和图5示出了电路原理图,该电路用以实现分别对应于选择1和选择2的、总线到总线定步控制逻辑线路128特定实施例。

参考图4,用来实现选择1的总线到总线控制逻辑线路(关于上述第四种情况)包含有一钟控的S-R锁存器132、与134和136及或门138。在任何时候该锁存器132都被置位(S-输入有效),该锁存器输出一锁定信号140。当着I/O装置28以流式传输方式对系统存储器24和26进行数据读和写时,该锁定信号140使得I/O装置28控制I/O总线32连续地存取系统存储器。流式传输涉及数据传输到同一地址,这种传输可以比数据传输到不同地址完成的更快。

一旦由图4的逻辑线路检测到一个流式传输的数据写操作,或者是FIFO缓冲器125C和125D的任一个充满了一个缓冲写数据的16字节的数据包,则该锁定信号被启动并且将一脉冲串的写序列经系统总线76始发到系统存储器,并且该锁定信号保持有效一直到该I/O装置28传输该流式传输序列或一直到没有数据存在于FIFO缓冲器中为止。相类似地,一旦检测到一个流式传输的数据读操作,该锁定信号被启动,一个脉冲串式的读序列被始发到系统存储器,并且该锁定信号保持有效,只要是在FIFO中存有空间或是一直到该I/O装置28传输流式传输序列为止。响应于流式传输读或写的总线控制逻辑线路128是由在3位寄存器130中由编程一个0-0-1寄存器内容所定义的。因此,如果该3位寄存器被编程为0-0-1,与门134将解码该寄存器的内容并在启动线142上提供一个“高”选择1。只要总线接口单元64检测到控制I/O总线32的特定I/O装置正在读或写流式传送型的数据,线路144也将被置为“高”。由于此时间内线路142和144是“高”,任何时候或门138的输出146是高时,与门136都将置位锁存器132以输出锁定信号140。

当有下列情形时或门138的输出146是“高”:(ⅰ)I/O装置28控制I/O总线32发出一流式传输数据读请求(读操作)或(ⅱ)在FIFO124中的16字节缓冲器125C或125D被充满(写操作)。在这两种情况的任一情况中,由于如上所述的那样,线路142和144为“高”,锁存器132将通过提供给存储器控制器一个锁定信号140来控制存储器控制器58的仲裁模式。无论何时当I/O装置28指示其不再以流式传输方式传送读或写数据时,线路148呈“高”,从而复位锁存器132并有效地禁停图4的逻辑线路。

参考图5,用于实现选择2(涉及上述第5种条件)的总线到总线控制逻辑线路包含有钟控S-R锁存器150和152,其中每一个都独立地受控于分别的用于读和写周期的逻辑通路。在任何时候当任何钟控锁存器150、152被置位时,锁定信号140被启用且被输出到存储器控制器58。锁存器通过启动R输入而被复位,从而禁停锁存器输出锁定信号。

在上面列出的第5种条件下,两种可能的情况是:(ⅰ)数据由一I/O控制器28经I/O总线30而被写而到达总线接口单元64要比该数据能够经系统总线72而到系统存储器更快,(ⅱ)数据由I/O控制器28从总线接口单元64读出要比总线接口单元从系统存储器预取数据更快。如果由一I/O控制器写入数据太快,则在FIFO缓冲器125A-125D中的存放数据将堆积起来。假如多于一半的这种FIFO缓冲器空间都包含有这种存放数据,则由锁存器152启动一锁定信号140以使得该数据自动地传送到系统存储器。如果由I/O控制器28经I/O总线32从总线接口单元64读出数据太快,则FIFO缓冲器125A或125B将腾空,即意味着缓冲器125C和125D被耗尽可得到的预取相邻数据。则由锁存器150输出一锁定信号140,以使得该总线接口单元可将数据预取到缓冲器125C和125D中。从而至少在FIFO缓冲器124的一半中保持以预取的数据所充满。

响应这第5种情况的总线控制逻辑是由对在一3位寄存器130中以编程一个1-0-0的寄存器内容而定义的。因此,如果这3位寄存器被编程为1-0-0,非门154将解码该存储器的内容,并提供一“高”值于选择2启动线156上。该选择2启动线156既被用来启动对应于数据读操作的控制逻辑线路(图5逻辑线路的上半部分)也被用来启动对应于数据写操作的控制逻辑线路(图5逻辑线路的下半部分)。

在写操作期间,只要缓冲器125A-125D中的至少两个是充满的,则或门158的输出156也将是“高”值。典型地,这意味着缓冲器125A或125B已经被填充并已经分别地向缓冲器125C或125D传输数据,并且这缓冲器125A和125B中的另一个正在被填充数据。在这种情况中,在缓冲器125C中或是在125D中,或是在这两者中的数据可立即被写入系统存储器。由于线路156和158为“高”值,则与门162将置位152,从而输出锁定信号140到存储器控制器58。锁定信号140将保持有效一直到这锁存器152的R输入被与门164的输出驱为“高”值为止。如果缓冲器125C和125D都是空的,与门164输出则变为“高”值,从而指示无必要立即将数据从这些缓冲器写入系统存储器。

在数据读操作期间,锁存器150将在其被一与门166的“高”输出所置位时输出锁定信号到存储器控制器58。当下列情况时与门166的输出被驱为“高”值:(ⅰ)由于选择2被启动而使线路156为“高”值;(ⅱ)由于总线接口单元164从系统存储器检测读操作而使线路168为“高”值;(ⅲ)在任何时刻无论缓冲器125A或125B是空态而使与非门172驱使线路170为“低”值。随着缓冲器125A或125B为空态,锁定信号则被启动,因为在此种情况下缓冲器125C或125D的内容可被腾空,从而在缓冲器125C或125D中留有余地以便供从系统存储器预取的相邻数据所用。

在读操作中,锁定信号保持有效一直到锁存器150的R输入被或门174的输出所启动。在下列两情形中,或门174被驱为“高”值:(ⅰ)总线接口单元64检测为没有来自系统存储器的读操作;(ⅱ)或是缓冲器125C,或是缓冲器125D被充满,并且缓冲器125A和125B都不是空态。在这两种情形中,无需锁定信号,从而锁存器150被复位。对于系统存储器24和26的存取则受控于由存储器控制器所实施的正常仲裁模式。

至此,已经介绍了一个最佳的实施例。该实施例是用于具有双总线结构计算机的在一总线接口单元中的一个非同步双向存储设备。然而,应当懂得,前述只是通过实例的描述,本发明并不局限于在此对于特定实施例的描述,可以对其有各种重新排列、修改及替代,而这些均不背离如权利要求中所要求的本发明的精神实质。

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈