数据存储器和处理器总线的制作方法

文档序号:6408544阅读:231来源:国知局
专利名称:数据存储器和处理器总线的制作方法
技术领域
本发明相关于数据处理领域,详细地说,相关于具有一个处理器和一个数据存储器,并且在两者之间传送指令数据字、读出数据字和写入数据字的数据处理系统。
将处理器与诸如超高速缓冲存储器的数据存储器相藕合的数据处理系统是公知的,其中数据存储器存储指令数据字、读出数据字和写入数据字。本领域的技术人员应该理解,不同数据字之间的区别取决于目前对该数据字进行的存取操作,例如,正被写入数据存储器中的一个数据字可以被认为是写入数据字,而当同一数据字随后从该数据存储器中读出时,则可以被认为是读出数据字。
在这样一个数据处理系统的操作中,在数据存储器和相关的处理器之间进行的数据字传送,常常是一关键的运行因素。为了改进系统的总体操作性能,在设计传送这类数据字的机构时花费了相当大的努力。


图1至4示出了在一个中央处理器2(CPU)和一个超高速缓冲存储器4之间传送数据的典型结构(类似于高级RISC机器有限公司的ARM600集成电路)。该系统在CPU2和超高速缓冲存储器4之间具有一条延伸的数据总线6和一条延伸的地址总线8。CPU2包括一个核10,它响应经由一条指令数据字总线12提供给它的指令数据字,并经由驱动器30将写入数据(WD)输出到数据总线6,将写入地址(WA)输出到读出和写入地址总线14。当写入地址WA被超高速缓冲存储器4接受时,它控制写入数据字WD在超高速缓冲存储器4中存储的存储单元。数据总线6与读出和写入地址总线14可以类似的方式用于将读出数据字(RD)从超高速缓冲存储器4中由读出和写入地址总线14上的一个读出地址(RA)指定的在该超高速缓冲存储器4的存储单元中读到核10中。
从超高速缓冲存储器4中恢复的指令数据字被经由数据总线6传送到一个预取单元16(ARM600没有预取单元,虽然这类产品的某些其它处理器具有预取单元)。预取单元16打算用于协助指令数据字及时、平稳地馈入核10并且执行诸如转移指令识别的功能。在超高速缓冲存储器4中,指令数据字从中被恢复的地址由核10产生的一个程序计数器地址(PC)所指定,并且经由程序计数器总线18、预取单元16和多路转换器20传送到地址总线8。根据由核10产生的一非数据标志信号(I/D)的指令,该多路转换器20用于有选择地或将程序计数器总线18或将读出和写入地址总线14藕合到地址总线8。
另一种方案是预取单元16包括程序计数寄存器PC,并且将程序计数器值与相关的指令一起送回到核10。于是这个预取单元16将负责大部分的预取操作,并且需要用来驱动地址标志AF。核10可以保持更新预取单元程序单元值的能力,以有效地控制其自身的预取操作。
在超高速缓冲存储器4中,提供了一个存储单元阵列22,其中存储指令数据字、读出数据字和写入数据字。地址总线8被提供给地址译码器24用于根据从地址总线8中读出的地址字,从存储单元阵列22中选择一个单独的存储单元或一行存储单元。从超高速缓冲存储器4中恢复的读出数据字被经由读出数据总线26提供给数据总线6,存储在超高速缓冲存储器4中的写入数据字被经由写入数据总线28从数据总线6藕合到存储单元阵列22。
为了将数据装入超高速缓冲存储器而不是通过核10,需要另外的机构。该机构可能需要其自身的驱动器来迫使信号线的值达到适当的值。这样一种机构可能会在例如超高速缓冲存储器产生故障时操作。与核10相比该机构通常在低得多的速度下运行,但是对系统运行来说,它并不是至关重要的。
在设计图1所示的系统时,一个重要的考虑是数据总线6和地址总线8趋向于具有较长的轨道长度,因此具有相对高的相关电容。为了处理这个问题,将要被放在这些总线上的字必须被有效地驱动到总线上,以便缩短单个总线线路到达正确的信号电平值的时间。为了达到该目的,CPU2中的驱动器电路30将写入数据字驱动到数据总线6上。与此类似,超高速缓冲存储器4中的驱动器电路32将读出数据字驱动到数据总线6上。应该认识到在两个驱动器中每次应该只有一个对数据总线6启动。由核10产生的读出标志信号(R)和写入标志信号(W)用于启动和停止这两个驱动器30和32。CPU2中的驱动器34用于将地址字驱动到地址总线8上。
图2示出了当取出指令数据字时图1系统的操作。在这种模式下,多路转换器20将PC值转换到地址总线8上,以便从超高速缓冲存储器4中选择指令地址存储单元。以这种方式存取的指令数据字I被经由读出总线26、驱动器32、数据总线6、预取单元16和指令总线12传送到核10。
图3示出了图1系统在传送读出数据字时的操作。在这种情况下,多路转换器20从核10中选择一个读出地址RA,用于经由地址总线8提供给地址译码器24。这样存取的读出数据字被经由读出总线26、驱动器32和数据总线6传回给核10。
最后,图4示出了图1系统在传送写入数据字时的操作。在这种情况下,写入地址WA被经由多路转换器20从核10传送到地址总线8。一个周期之后,核10产生一个写入数据字WD,并将其经由驱动器30、数据总线6和写入总线28传送到存储单元阵列22。
要注意到在传送读出数据字的过程中,超高速缓冲存储器4中的驱动器32驱动数据总线6。反过来,在传送写入数据字的过程中,CPU2中的驱动器30驱动数据总线6。为了避免两个驱动器30、32之间的任何冲突,很重要的一点应该别让它们试图同时驱动数据总线6。这样一种冲突可能会导致对电路的损害,并且将很不利地大量消耗能源。为了保证能避免这种冲突,在驱动器30和32中关闭一个驱动器和打开另一个驱动器之间,必须允许有一个延迟周期。这需要两个单独的控制信号或对缓冲器做仔细的定时设计(即慢开和快关)。
为了增强如图1至图4所示系统的整体性能,可以采取多种解决方式。一种是增大数据被传送的时钟速度,例如,如果核10采用的时钟频率为f,那么传送的时钟速度可以是2f。然而,采用这种方式,在用驱动器30驱动数据总线6和用驱动器32驱动数据总线6之间在保持和适当地同步一个足够长的延迟时会出现问题。此外,由于同步需要会出现带宽损失。
另一种增强性能的方式可能是简单地增大总线宽度。较宽的总线允许更多的数据在给定的时钟速度上在一给定的时间内被传送。这种方式的缺点是增大了总线的尺寸。在许多情况下,从制造的角度来看,增大尺寸都是不利的,原因是需要造成成品率较低的较大的集成电路。
从一个方面来看,本发明提供了处理数据的设备,所述设备包括一个数据存储器;一个处理器,它响应从所述数据存储器中的指令地址读出的指令数据字,从所述数据存储器中的读出地址读出读出数据字,并将写入数据字写入到所述数据存储器中的写入地址;在所述数据存储器和所述处理器之间的一条单向读出总线,用于将指令数据字和读出数据字从所述数据存储器传送到所述处理器;在所述处理器和所述数据存储器之间的一条单向写入和地址总线,用于将写入数据字、指令地址字、读出地址字和写入地址字从所述处理器传送到所述数据存储器。
为数据在两个方向的任一方向流动提供单向总线的优点是不需要提供使总线方向安全反向的时间间隙。因此,总线速度可以增大而不会造成同步问题。此外,本发明经由地址总线传送的地址数据与数据总线上的数据相比变化不太频繁得到开发实现。因此,多路传输写入数据到这条具有地址数据的总线上以构成一条写入和地址总线,获得了比较充分的可用带宽的优点。
将会看出,数据存储器可以有多种形式,如RAM或甚至是磁存储设备,不过本发明特别适用于数据存储器是超高速缓冲数据存储器中的应用,在这种超高速缓冲数据存储器的应用中速度是特别至关重要的。
如前面所述,可以为数据总线提供驱动电路来增大速度,从而可靠地获得信号值。虽然本发明具有即使没有这样的驱动器也能扩大利用传送地址数据的总线的带宽的优点,但这种驱动器很适用于本发明,因为它们能对一给定总线长久保持有效性。
在本发明的一个较佳实施例中,所述处理器包括一个用于接收所述指令数据字的指令预取单元,和一个用于接收所述读出数据字的读出数据字接收电路,所述指令预取单元和所述读出数据字接收电路被并行连接到所述读出数据总线。
提供预取单元加速了指令处理的操作。读出数据字接收电路和预取单元的并行连接,使得读出总线不需要经由多路转换器选择路线,就能传送或者指令数据字或者读出数据字,这时处理器适当地选择启动预取单元或读出数据字接受电路。
在本发明的较佳实施例中,所述数据存储器包括一个地址接收器和译码器,用于接收和译码所述指令地址字、所述读出地址字和所述写入地址字,和一个写入电路,用于写入所述写入数据字,并且其中在所述处理器和所述地址接收器和译码器之间有一条地址标志信号线路,用于启动所述地址接收器和译码器。
将地址数据字和写入数据字多路传输到地址总线上时,出现的问题是如何能够识别这一不同的数据并由数据存储器作相应的处理。为了解决这个问题,通过提供一个地址标志信号以便控制在数据存储器中的适当处理,就能取得很好的灵活性。
作为一种补充方式,所述处理器最好包括一个处理器多路转换器,用于选择指令地址字、或读出地址字和写入地址字、或写入数据字连接到所述写入和地址总线。
这样,提供了将适当的数据放到写入和地址数据总线上的途径。
可以采用多种不同的方式恢复数据存储器中的数据。对每个将要恢复的数据字都能提供一个地址。然而,在本发明的较佳实施例中,所述数据存储器是可以以突发串存取模式操作,从而传送到所述数据存储器的一个地址字为对所述数据存储器中的相继地址所作的一系列存取操作指定了一个起始地址。
这种突发串模式存取特别适用于本发明,原因是在将要恢复的一系列指令数据字或读出数据字或将要写入的写入数据字的开始提供一个地址数据字。一个单一的地址数据字启动存取过程,该过程顺序向下面的地址进行,直到结束为止。以这种方式,写入和地址数据总线需要携带的地址数据字较少,从而为写入数据字的传送释放出了带宽。
控制数据存储器操作的一个优选方式,是在所述处理器和所述数据存储器之间提供一条用于传送一个读出标志信号的读出标志信号线路、在所述处理器和所述数据存储器之间提供一条用于传送一个写入标志信号的写入标志信号线路,和在所述处理器和所述数据存储器之间提供一条用于传送一个指令标志信号的指令标志信号线路,其中,所述读出标志信号、所述写入标志信号、所述指令信号选择一个对所述数据存储器的存取模式,其中所述读出标志信号用于超越所述指令标志信号,从而通过所述读出总线传送读出数据字比传送指令数据字具有更高的优先级。
这样,数据存储器能够以适当的模式设置用来恢复读出数据字、或指令数据字、或存储写入数据字。此外,通过提供比指令数据字的传送有更高优先级的读出数据字的传送改进平均处理速度,原因是指令数据字通常在系统内预取和缓冲,而读出数据字的恢复由于单个译码指令的需要往往引起间歇发生。
从另一方面来看,本发明提供了一种处理数据的方法,所述方法包括以下步骤将指令数据字、读出数据字和写入数据字存储在数据存储器中;将指令数据字和读出数据字从所述数据存储器经由所述数据存储器和处理器之间的一条单向读出总线传送到处理器;将写入数据字、指令地址字、读出地址字和写入地址字从所述处理器经由所述处理器和所述数据存储器之间的一条单向写入和地址总线传送到所述数据存储器。
下面结合附图仅以举例的方式来描述本发明的一个实施例。
图1至图4示出了一个典型的公知处理器和数据存储器系统;图5示出了根据本发明的一个实施例具有单向总线的处理器和数据存储器系统的方案;图6至图8示出了图5的实施例在不同模式下的操作。
图5示出CPU36有一个核38,它接收读出数据字RD和指令数据字I,并产生写入数据字WD。这些数据字在CPU36和超高速缓冲存储器40之间经由一条单向读出总线42和一条单向写入总线和地址总线44传送。读出总线42并行连接到预取单元46和核3 8之内的读出数据接收电路。来自预取单元46的指令数据字经由一条指令总线48传送到核38。
写入和地址总线44由CPU36中的驱动器50驱动,驱动器50的输入来自三路多路转换器52。该三路多路转换器52从预取单元46的程序计数值PC、核38的读出地址RA或写入地址WA、或从核38的写入数据WD中作出选择。这种选择取决于核38产生的地址标志信号AF和由预取单元46产生的指令标志信号IF。
在超高速缓冲存储器40之内,驱动器54用于将信号值驱动到读出数据总线42上。来自写入和地址总线44的信号同时指向地址译码电路58(经由由地址标志信号AF控制的地址锁存器56)和写入数据接收电路。
应该理解的是,尽管上面描述的实施例采用了地址译码电路58,但采用相联超高速缓冲存储器(即译码标记查表)的实施例也是可能的。
由超高速缓冲存储器40恢复读出数据字或者指令数据字受到由核38产生的读出标志信号RF和指令标志信号IF控制。此外,由核38产生的写入标志信号WF用于指示写入数据字应该由超高速缓冲存储器40从写入和地址总线44接收和存储。
在图5的电路中,与图1至图4电路不同的是,读出总线42是单向的,只在一端提供了一个驱动器54,这条总线完全没必要改变其传送方向。因此不会因为反向而浪费时间,并避免了由于驱动电路冲突可能产生的损坏和能量消耗。地址数据和写入数据由三路多路转换器52分时传送到写入和地址总线上。
图6示出了系统在取指模式下的操作。在这种模式下,程序计数器地址值PC经由预取单元46、三路多路转换器52、驱动器50、写入和地址总线44和地址锁存器56传送到地址译码器58。地址标志信号AF是开通的,指令标志信号IF也是开通的。信号的这种组合控制三路多路转换器52从预取单元46选择程序计数器地址值PC,用于经由驱动器50应用到写入和地址总线44。传送到超高速缓冲存储器40的指令标志IF也指示指令数据字应该从写入和地址总线44上所指定的地址中予以恢复。该指令数据字经由驱动器54、读出总线42、预取单元46和指令总线48返回到CPU36。
当系统在突发串模式下操作时,一个单一起始程序计数器地址值PC指示一个地址,首先从该地址开始顺序取指,直到提供另一个地址为止。
图7示出了图5系统的数据读出操作。在这种情况下,读出数据字从超高速缓冲存储器40经由驱动器54和读出数据总线42到达核38。读出地址RA由三路多路转换器52根据地址标志信号AF设定为开通而指令标志IF设定为关闭的状态来选择。因此,读出地址被经由驱动器50、写入和地址总线44、地址锁存器56和地址译码器58施加到超高速缓冲存储器40上。当地址标志为开通、读出标志为开通并且写入标志为关闭时,引起超高速缓冲存储器40将把写入和地址总线44上的信号当做一个读出地址。
读出数据操作比取指操作优先。因此,如果取指单元46正设定指令标志信号IF为开通,指示它准备接收更多的指令数据字,并且核38设定读出标志信号RF为开通,那么超高速缓冲存储器40中的逻辑取读出操作具有更高的优先级,并经由读出总线42返回被请求的读出数据字,而非任何指令数据字。
图8以写入数据字存储到超高速缓冲存储器40的模式示出了图5的系统。在这种模式下,根据核38当前是输出写入地址WA还是写入数据字WD,地址标志信号AF在开通和关闭之间交替变化。指令标志信号IF被确定为关闭,和地址标志信号AF用于控制三路多路转换器52选择适当的写入地址WA或写入数据字,并将其经由驱动器50施加到写入和地址总线44上。由此,写入数据字和写入地址字被有效地分时多路传输到写入和地址总线44上。提供突发串模式写入传送的结果是写入地址只需要在不频繁的间隔上,例如在页面边界上予以提供。如果一个写入地址必须提供给每个写入数据字,那么写入数据带宽会有效地减半。
在超高速缓冲存储器40内,地址锁存器56响应地址标志信号AF的值,从写入和地址总线44上获得地址字。写入标志信号WF被断定为关闭和开通(与地址标志AF反相)是向超高速缓冲存储器40指示来自写入和地址总线44的写入数据字将要被存储。
权利要求
1.处理数据的设备,所述设备包括一个数据存储器;一个处理器,它响应从所述数据存储器中的指令地址读出的指令数据字,从所述数据存储器中的读出地址读出读出数据字,并将写入数据字写入到所述数据存储器中的写入地址;在所述数据存储器和所述处理器之间的一条单向读出总线,用于将指令数据字和读出数据字从所述数据存储器传送到所述处理器;在所述处理器和所述数据存储器之间的一条单向写入和地址总线,用于将写入数据字、指令地址字、读出地址字和写入地址字从所述处理器传送到所述数据存储器。
2.根据权利要求1所述的设备,其特征在于所述数据存储器是一个超高速缓冲数据存储器。
3.根据任一个权利要求1和2所述的设备,其特征在于所述数据存储器包括一个读出总线驱动电路,用于将要被传送的信号值驱动到所述读出总线上。
4.根据任一个权利要求1、2和3所述的设备,其特征在于所述处理器包括一个写入和地址总线驱动器电路,用于将要被传送的信号值驱动到所述写入和地址数据总线上。
5.根据前面任意一个权利要求所述的设备,其特征在于所述处理器包括一个用于接收所述指令数据字的指令预取单元,和一个用于接收所述读出数据字的读出数据字接收电路,所述指令预取单元和所述读出数据字接收电路被并行连接到所述读出数据总线。
6.根据前面任意一个权利要求所述的设备,其特征在于所述数据存储器包括一个地址接收器和译码器,用于接收和译码所述指令地址字、所述读出地址字和所述写入地址字,和一个写入电路,用于写入所述写入数据字,并且在所述处理器和所述地址接收器和译码器之间有一条地址标志信号线路,用于启动所述地址接收器和译码器。
7.根据前面任意一个权利要求所述的设备,其特征在于所述处理器包括一个处理器多路转换器,用于选择指令地址字、或读出地址字和写入地址字、或写入数据字连接到所述写入和地址总线。
8.根据前面任意一个权利要求所述的设备,其特征在于所述数据存储器是以突发串存取模式操作的,从而传送到所述数据存储器的一个地址字为对所述数据存储器中的相继地址所作的一系列存取操作指定了一个起始地址。
9.根据前面任意一个权利要求所述的设备,其特征在于在所述处理器和所述数据存储器之间包括一条用于传送一个读出标志信号的读出标志信号线路,在所述处理器和所述数据存储器之间包括一条用于传送一个写入标志信号的写入标志信号线路,在所述处理器和所述数据存储器之间包括一条用于传送一个指令标志信号的指令标志信号线路,其中,所述读出标志信号、所述写入标志信号、所述指令标志信号选择一个对所述数据存储器的存取模式,所述读出标志信号用于超越所述指令标志信号,从而通过所述读出总线传送读出数据字比传送指令数据字具有更高的优先级。
10.一种处理数据的方法,所述方法包括以下步骤将指令数据字、读出数据字和写入数据字存储在数据存储器中;将指令数据字和读出数据字从所述数据存储器经由所述数据存储器和一个处理器之间的一条单向读出总线传送到所述处理器;将写入数据字、指令地址字、读出地址字和写入地址字从所述处理器经由所述处理器和所述数据存储器之间的一条单向写入和地址总线传送到所述数据存储器。
全文摘要
一个数据处理系统,其CPU(36)经由一条单向读出总线(42)和一条单向写入和地址总线(44)以超高速缓冲存储器(40)形式连接到数据存储器(例如,超高速缓冲存储器RAM或磁盘)。由于读出总线以及写入和地址总线只在一个方向驱动,因此避免了沿总线改变信号传送方向所消耗的时间。读出数据字(RD)和指令数据字(I)经由读出总线从超高速缓冲存储器传送到CPU的核(38)。指令地址(PC)、读出地址(RA)、写入地址(WA)和写入数据字(WD)被分时多路转换到写入和地址总线上,以便从核传送到超高速缓冲存储器。系统支持突发串模式传送,因而减少了需要在写入和地址总线上传送的地址数,从而释放这条总线的带宽为写入数据字所用。
文档编号G06F13/16GK1141092SQ9419477
公开日1997年1月22日 申请日期1994年10月14日 优先权日1994年1月11日
发明者S·B·富尔伯, W·H·奥非尔德 申请人:先进Risc机器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1