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

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

阅读:986发布:2022-07-26

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

1.一种计算系统,包括:
系统存贮器;
用于控制对系统存贮器的存取的存贮器控制器,上述的系统 存贮器和上述存贮器控制器通过一存贮器总线进行连接;
一个通过一个局部总线与上述存贮器控制器相连的中央处理 单元,该中央处理单元被连接成能通过读操作和写操作经上述的 局部总线从上述系统存贮器读出数据和向上述系统存贮器写入数 据;
一个通过一个系统总线与上述的存贮器控制器相连的总线接 口单元;以及
经一个输入/输出总线连接至上述总线接口单元的至少一个输 入/输出设备,用于通过上述的总线接口单元从上述的系统存贮器 读出数据和向该系统存贮器写入数据;
上述计算机系统的特征在于:
上述总线接口单元包括一个双向数据存贮单元,以便在由上 述的至少一个输入/输出设备执行的读写操作期间给在上述的系统 总线和上述输入/输出总线之间传输的数据提供暂时存贮;
上述双向存贮单元包括:(i)串联连接在上述输入/输出总 线和上述系统总线之间的第1对缓冲器;(ii)串联连接在上述 输入/输出总线和上述系统总线之间、并且与上述的第1对缓冲器 并联连接的第2对缓冲器,每个上述的缓冲器对中的每一个缓冲 器均被用于在上述系统总线和上述输入/输出总线之间进行的双向 数据传送,其中,从上述系统总线或上述输入/输出总线中的一个 发出的、在指向上述系统总线或上述输入/输出总线中的另一个的 方向上传送的第一、第二组数据均传送至上述的双向存贮单元, 从而使得:(a)上述的第一组数据存贮在上述的两个串联连接 的缓冲器对之一中的一个缓冲器中,(b)(1),存放在上述 的两个串联连接的缓冲器对之一中的上述那个缓冲器中的被存贮 的上述第一组数据同时被传送至上述的缓冲器对之一中的另一个 缓冲器中;(b)(2),上述的第二组数据被传送至另一个串 联连接的缓冲器对中的一个缓冲器中;其中,上述的第一对缓冲 器中的一个缓冲器与上述第二对缓冲器中的一个缓冲器连接至上 述的系统总线,每个与上述的系统总线相连的缓冲器均能同时在 上述的系统总线上传送数据。
2.如权利要求1所述的计算机系统,其中,上述的至少一个输 入/输出设备包括多个输入/输出设备,另外,在每个上述的多个输 入/输出设备和上述的双向存贮单元之间,数据在上述输入/输出总 线上的传送是以不同的带宽进行的。
3.如权利要求1所述的计算机系统,其中,每一对缓冲器存贮 32字节的数据。
4.如权利要求3所述的计算机系统,其中,每一对存贮32字 节的缓冲器包括两个串联连接的16字节缓冲器。
5.如权利要求1所述的计算机系统,其中,上述的缓冲器被构 置成在上述的输入/输出总线上以上述输入/输出设备的工作速度 进行读写,而在上述的系统总线上则以一个给定的数据脉冲速度 进行读写。
6.一种数据传送控制方法,其中,所述的数据传送是在一个计 算机系统中与一个系统总线相连的一个系统存贮器和与一个输入/ 输出总线相连的至少一个输入/输出(I/O)设备之间进行的,上 述的系统总线通过一个总线接口单元连接至上述的输入/输出总 线,上述的总线接口单元包括串联连接在上述输入/输出总线和上 述系统总线之间的第一对缓冲器和串联连接在上述输入/输出总线 和上述系统总线之间的、与上述的第一对缓冲器并行的第二对缓 冲器;
上述方法的特征在于包括以下步骤:
将从上述的输入/输出总线发出的、将要在经上述的总线接口 单元前往上述系统总线的一个方向上传送的第一、第二组数据以 下面的方式传送:
(a)将上述的第一组数据临时存贮在上述的串联连接的缓 冲器对之一中的一个缓冲器中;同时,
(b)(1)将存放在上述的两个串联连接的缓冲器对之一 中的上述那个存贮器中的被存贮的上述第一组数据传送到上述的 缓冲器对之一中的另一个缓冲器中;(b)(2)将上述的第二 组数据传送至另一个串联连接的缓冲器对中的一个缓冲器中;
(c)将上述的第二组数据从上述的另一个串联连接的缓冲 器对中的上述那个缓冲器转送至该串联连接的缓冲器对中的另一 个缓冲器中;
(d)(1)将上述的串联连接的缓冲器对之一中的上述的 另一个缓冲器中的第一组数据传送到上述的系统总线上;同时, (d)(2)将上述的另一个串联连接的缓冲器对中的上述的另 一个缓冲器中的上述第二组数据传送到上述的系统总线上。
7.如权利要求6所述的方法,其中上述的至少一个输入/输出 设备包括多个输入/输出设备,另外,数据在每个上述的输入/输出 设备和上述的总线接口单元之间在上述的输入/输出总线上以不同 的带宽进行传送。
8.如权利要求6所述的方法,其中所述的各个缓冲器被构置成 在上述的I/O总线上以上述的选定输入/输出设备的工作速度进行 读写,而在上述的系统总线上则以一个给定的数据脉冲速度进行 读写。
9.如权利要求6所述的方法,其中,所述的系统总线在上述的 总线接口单元和上述的系统总线之间以最多为16字节的带宽进行 读/写数据的传送,而在上述的输入/输出设备和上述的总线接口单 元之间则以最多为4个字节的带宽进行读/写数据的传送。
10.如权利要求6所述的方法,其中,所述的数据以“先进先 出”的方式通过上述总线接口单元中的缓冲器。
11.如权利要求6所述的方法,其中,所述的总线接口单元中 每一对缓冲器中的各个所述的缓冲器被用来在上述的系统总线和 上述的输入/输出总线之间进行双方数据传送。

说明书全文

发明涉及在一具有双总线结构的计算机系统中的总线到总线的 接口,特别是涉及用于暂存在系统两总线间传送的数据的总线到总线 接口单元和方法。

一般地说,在计算机系统中,尤其是在个人计算机系统中,数据 是在各系统装置之间传送的,这些系统装置如中心处理单元(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工作于40 MHZ频率。

系统板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、SRAM 48和数据缓冲器48之间。地址信息通路52被提供在CPU38、 超高速缓冲存储器控制组件42和地址缓冲器46之间。控制信息通 路54被提供在CPU38、超高速缓冲存储器控制组件42和频率 控制组件44之间。此外,地址和控制信息通路被提供在超高速缓冲 存储器控制组件42和SRAM40之间。

通过以短项存储信息的方式存储来自系统存储器24或26或来 自处在一I/O装置28上的扩展存储器的存储信息,SRAM40 提供了一个超高速缓冲存储器的功能。超高速缓冲存储器控制组件42 与存储器24和26的地址单元的随机存取存储器(RAM)相结合。 CPU38可直接地经过局部总线20存取被超高速存储在SRAM 40中的信息。频率控制组件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。在一个系统存储器周期中,或是CPU 38、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出现 的信息。

一旦出现从扩展存储器对系统存储器的初始引入的通电,ROM 70则构成了系统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将开始从新的不相邻地址接收这一数据。 FIFO 125B将连续工作,只要FIFO 125A没有充满至16 字节的数据或是另外不相邻地址被检测到。FIFO 125B则把已 存储的数据传送到FIFO 125D,并且FIFO 125A再次开 始存储数据;因此,是有可能存储达到四个16字节的不相邻地址数 据的数据块。

进一步,由于具有两个处于平行的32字节的缓冲器,数据的读 出及写入可以在它们之间相互转换,从而提供了一个基本的连续读写 功能。

进一步说,通过将32字节的缓冲器分裂成为其它总线32或系 统总线26相耦合的两个16字节缓冲器部分,就涉及对于信号定时 数据写入及读出存储寄存器能力承载而言,其存储缓冲器的数目可以 被增加而对于FIFO的影响为最小。出现这样的结果是由于每两个 缓冲器被加入(以平行方式),对于在每一总线时钟信号的承载力而 言,只有一半的能力承载被加入。

此外,由于在每一支路中具有两个串联的16字节的缓冲器,所 以,假如在读操作中一旦这两个16字节的缓冲器之一被充满数据时, 则数据可以被传送到与之串联的另一个16字节的缓冲器中而另一个 平行的支路仍在积累数据。因此,无论是在积累数据或是将数据从一 条总线传到另一条总线时,都没有时间丢失。

用于控制FIFO 124操作的逻辑是由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中的数据则经一1486 脉冲序列传输器并以系统总线的操作速度被写入到系统存储器中。从 而经由一I/O装置,在一写入系统存储器期间,FIFO缓冲器 124的操作是连续的,轮流地采用125A和125B,将这二者 的每一个分别地腾空到相邻的缓冲器125C或125D中,而另外 一个则接收欲将写入系统存储器的数据。该FIFO缓冲器124从 以下的两方面优化了数据写入系统存储器的速度:(i)接收欲将被 写入存储器数据的下一个可能的字节的地址;(ii)调节经过系统总 线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中的一寄存器相互作 用,以获得地址和被测奇偶性错误的时间。该寄存器的内容可由合适 的系统软件而使之生效。举例来说,CPU 38可被编程以为了一个 高等级的中断,以使在任何检测到一奇偶错误时将地址从该存储器中 提出。随之该CPU可根据系统软件的指令决定是否继续系统的操作 或是仅仅中断被标识出的奇偶错误信号源的操作。

超高速缓冲存储器探测逻辑线路114使总线接口单元64监视 I/O总线32对于扩展存储器的任何写入,这种写入是经I/O总 线32通过I/O装置进行的。该探测逻辑线路首先确定是否这种对 扩展存储器的写入发生在处于SRAM 40中的可超高速缓冲存储的 扩展存储器中。如果不是可超高速缓冲存储的扩展存储器,就不存在 错误数据被超高速缓冲存储的危险。然而,如果一个可靠的比较指示 该写入发生在一可超高速缓冲存储的扩展存储器中,则在系统总线76 上就要指示出一个超高速缓冲存储器的无效周期。从而该CPU被指 令去无效掉在SRAM 40中的相应地址。超高速缓冲存储器检测逻辑 线路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)I/O 装置28控制I/O,总线32发出一流式传输数据读请求(读操作) 或(ii)在FIFO 124中的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)数据由 一I/O控制器28经I/O总线30而被写而到达总线接口单元64 要比该数据能够经系统总线72而到系统存储器更快,(ii)数据由 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的输出被驱为“高”值:(i)由于选择2被启动而使线路 156为“高”值;(ii)由于总线接口单元164从系统存储器检 测读操作而使线路168为“高”值;(iii)在任何时刻无论缓冲器 125A或125B是空态而使与非门172驱使线路170为“低” 值。随着缓冲器125A或125B为空态,锁定信号则被启动,因 为在此种情况下缓冲器125C或125D的内容可被腾空,从而在 缓冲器125C或125D中留有余地以便供从系统存储器预取的相 邻数据所用。

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

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

如果下列美国专利申请已经完全公开的话,本申请则在此引用为 参考:

申请序列号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)。

高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈