当前位置: 首页 > 专利查询>ARM有限公司专利>正文

数据处理集成电路及方法技术

技术编号:2890984 阅读:137 留言:0更新日期:2012-04-11 18:40
处理数据的设备,所述设备包括: 一个数据存储器; 一个处理器,它响应从所述数据存储器中的指令地址读出的指令数据字,从所述数据存储器中的读出地址读出读出数据字,并将写入数据字写入到所述数据存储器中的写入地址; 在所述数据存储器和所述处理器之间的一条单向读出总线,用于将指令数据字和读出数据字从所述数据存储器传送到所述处理器; 在所述处理器和所述数据存储器之间的一条单向写入和地址总线,用于将写入数据字、指令地址字、读出地址字和写入地址字从所述处理器传送到所述数据存储器。(*该技术在2014年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术相关于数据处理领域,详细地说,相关于具有一个处理器和一个数据存储器,并且在两者之间传送指令数据字、读出数据字和写入数据字的数据处理系统。将处理器与诸如超高速缓冲存储器的数据存储器相藕合的数据处理系统是公知的,其中数据存储器存储指令数据字、读出数据字和写入数据字。本领域的技术人员应该理解,不同数据字之间的区别取决于目前对该数据字进行的存取操作,例如,正被写入数据存储器中的一个数据字可以被认为是写入数据字,而当同一数据字随后从该数据存储器中读出时,则可以被认为是读出数据字。在这样一个数据处理系统的操作中,在数据存储器和相关的处理器之间进行的数据字传送,常常是一关键的运行因素。为了改进系统的总体操作性能,在设计传送这类数据字的机构时花费了相当大的努力。附附图说明图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之间在保持和适当地同步一个足够长的延迟时会出现问题。此外,由于同步需要会出现带宽损失。另一种增强性能的方式可能是简单地增大总线宽度。较宽的总线允许更多的数据在给定的时钟速度上在一给定的时间内被传送。这种方式的缺点是增大了总线的尺寸。在许多情况下,从制造的角度来看,增大尺寸都是不利的,原因是需要造成成品率较低的较大的集成电路。从一个方面来看,本专利技术提供了处理数据的设备,所述设备包括一个数据存储器;一个处理器,它响应从所述数据存储器中的指令地址读出的指令数据字,从所述数据存储器中的读出地址读出读出数据字,并将写入数据字写入到所述数据存储器中的写入地址;在所述数据存储器和所述处理器之间的一条单向读出总线,用于将指令数据字和读出数据字从所述数据存储器传送到所述处理器;在所述处理器和所述数据存储器之间的一条单向写入和地址总线,用于将写入数据字、指令地址字、读出地址字和写入地址字从所述处理器传送到所述数据存储器。为数据在两个方向的任一方向流动提供单向总线的优点是不需要提供使总线方向安全反向的时间间隙。因此,总线速度可以增大而不会造成同步问题。此外,本专利技术经由地址总线传送的地址数据与数据总线上的数据相比变化不太频繁得到开发实现。因此,多路传输写入数据到这条具有地址数据的总线上以构成一条写入和地址总线,获得了比较充分的可用带宽的优点。本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:SB富尔伯WH奥非尔德
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1