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

数据处理系统中的输入操作数控制技术方案

技术编号:2888039 阅读:187 留言:0更新日期:2012-04-11 18:40
一个数据处理系统包括多个寄存器(10)和一个算术逻辑单元(20,22,24),该数据处理系统中的程序指令字具有一个源寄存器位字段Sn,它指定存储一个输入操作数数据字的一个寄存器;一个输入操作数长度标志,用于指定所述输入操作数数据字是否具有N位的长度或者N/2位的长度;以及一个高/低位置标志,如果一个输入操作数的长度较小时,该高/低位置标志指示该输入操作数存储在位于所述源寄存器的高位位置和低位位置中的哪一个。该算术逻辑单元最好也能够执行并行操作的程序指令字,以独立操作存储在一个寄存器的相应的各半部分中的(N/2)位输入操作数数据字。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数据处理系统。更具体地,本专利技术涉及具有多个寄存器的数据处理系统,所述多个寄存器在程序指令字的控制下用于存储由算术逻辑单元操作的数据字。提供程序指令以指定是否对存储在一个寄存器中的输入操作数进行操作,或者对存储在两个寄存器中的但作为一个输入操作数对待的一个输入操作数进行操作是众所周知的。从本专利技术的一方面来看,本专利技术提供了用于数据处理的装置,所述装置包括用于存储要处理的数据字的多个寄存器,每一个所述寄存器具有至少N位的容量;以及一个算术逻辑单元,用于响应程序指令字执行由所述程序指令字指定的算术逻辑操作;其中所述算术逻辑单元响应至少一个程序指令字,该程序指令字包括(ⅰ)一个源寄存器位字段,它指定存储所述程序指令字的一个输入操作数数据字的所述多个寄存器中的一个源寄存器;(ⅱ)一个输入操作数长度标志,用于指定所述输入操作数数据字是否具有N位的长度或者N/2位的长度;以及(ⅲ)一个高/低位置标志,在所述输入操作数长度标志指示为一个(N/2)位的长度时,该高/低位置标志指示该输入操作数数据字位于所述源寄存器的高位位置和低位位置中的哪一个。在数据处理中已经出现提高系统的数据通路宽度的趋势。早期的系统具有8位的数据通路。然后发展成为16位的数据通路,现在常见的是具有32位和64位数据通路。随着数据通路宽度的增加,数据处理系统中的寄存器的宽度也随之增加以与其匹配。本专利技术认识到,在要处理的数据字的宽度小于数据通路的宽度时,则使用一个全寄存器来存储这些字是对设备的寄存器资源的浪费。这种情况在加载/存储体系结构的机器中尤其如此,其中,要处理的所有数据必须在寄存器中,而且希望减少需要从高速缓存或主存储器中取出数据的次数。本专利技术认识到上述考虑,并且提供了使用一个输入操作数长度标志和一个高/低位置标志的方案以指示该输入操作数的长度和其存储于寄存器的哪一部分。依次方式,一个寄存器可以保存一个以上的输入操作数,从而更有效地利用了设备的寄存器资源,并且这些输入操作数仍可以单独地处理。在利用一个N位数据总线将数据存储设备连接到寄存器时,本专利技术的这一优点得以增强。在这种情况下,可以利用数据总线一次传送两个操作数,从而更有效地利用了总线带宽,减少了出现性能瓶颈的可能性。在本专利技术的较佳实施例中,所述算术逻辑单元响应至少一个并行操作的程序指令字,在第一个(N/2)位输入操作数数据字上和第二个(N/2)位输入操作数数据字上执行单独的算术逻辑操作,这些输入操作数数据字分别存储在一个源寄存器中的高位位置和低位位置。所提供的并行操作的程序指令字允许算术逻辑单元充分利用它的N位数据通路能力执行两个独立的计算,即使这些输入操作数在长度上小于最大的数据通路宽度。这极大地提高了该系统的数据处理能力,同时没有引起显著的其他开销。可以进行的一个改进是所述算术逻辑单元具有一个信号通路,在算术逻辑操作中它起到位位置之间的进位链的作用,并且在执行一个并行操作的程序指令字时,所述信号通路在所述第一个(N/2)位输入操作数数据字和所述第二个(N/2)位输入操作数数据字之间断开。虽然并行操作的程序指令字可以采取许多形式,但最好所述并行操作的程序指令字执行下列算术逻辑操作之一(ⅰ)并行加,其中执行两个并行的(N/2)位加;(ⅱ)并行减,其中执行两个并行的(N/2)位减;(ⅲ)并行移位,其中执行两个并行的(N/2)位移位操作;(ⅳ)并行加/减,其中并行执行一个(N/2)位加和一个(N/2)位减。本专利技术的更进一步的改进是,在所述输入长度标志指示一个N位长度时,所述高/低位置标志指示在作为一个N位输入操作数数据字使用之前是否将存储在所述高位位置的那些位移动到所述低位位置,以及将存储在所述低位位置的那些位移动到所述高位位置。在变换操作期间这一特征尤其有用。这一功能的极其有效的硬件实现包括至少一个多路转换器,该多路转换器响应所述高/低位置标志,选择向所述数据通路的低(N/2)位提供存储在所述源寄存器的高位位置和所述源寄存器的低位位置之一的一个(N/2)位输入操作数数据字。为了处理带符号的运算而又没有不应有的复杂性,最好提供一个电路以在将一个(N/2)位输入操作数数据字输入到所述N位数据通路之前对其进行符号扩展。从本专利技术的另一方面来看,本专利技术提供了用于数据处理的方法,所述方法包括以下步骤将要进行处理的数据字存储在多个寄存器中,每一个所述寄存器具有至少N位的容量;以及响应程序指令字执行由所述程序指令字指定的算术逻辑操作;其中至少一个程序指令字包括(ⅰ)一个源寄存器位字段,它指定存储所述程序指令字的一个输入操作数数据字的所述多个寄存器中的一个源寄存器;(ⅱ)一个输入操作数长度标志,用于指定所述输入操作数数据字是否具有N位的长度或者N/2位的长度;以及(ⅲ)一个高/低位置标志,在所述输入操作数长度标志指示为一个(N/2)位的长度时,该高/低位置标志指示该输入操作数数据字位于所述源寄存器的高位位置和低位位置中的哪一个。下面参照附图以示例方式描述本专利技术的实施例,附图中附图说明图1示出数字信号处理装置的高层配置;图2示出协处理器的寄存器配置的输入缓冲器;图3示出通过协处理器的数据路径;图4示出从寄存器中读取高或低位位的多路复用电路;图5为示出较佳实施例中的协处理器所使用的寄存器重新映象逻辑的框图;图6更详细地示出图5中所示的寄存器重新映象逻辑;以及图7为示出块过滤算法的表。下面描述的系统是关于数字信号处理(DSP)的。DSP可采取许多形式,但一般可以认为是需要高速(实时)处理大量数据的处理。这一数据通常表示某种模拟物理信号。DSP的好的实例便是用在数字移动电话中的,其中所接收与发送的无线电信号需要解码成模拟声音信号及将模拟声音信号编码(通常采用卷积、变换及相关运算)。另一实例是盘驱动器控制器,其中处理从盘头恢复的信号以产生头跟踪控制。在上面的上下文中,下面是对基于与协处理器合作的微处理器核(在本例中为英国剑桥先进RISC机器有限公司设计的微处理器范围内的ARM核)的数字信号处理系统的描述。微处理器与协处理器的接口及协处理器体系结构本身是专门为提供DSP功能配置的。微处理器核将被称作ARM而协处理器称作Piccolo。ARM与Piccolo通常制造成包含作为ASIC的一部分的其它元件(如片上DRAM、ROM、D/A与A/D转换器等)的单一集成电路。Piccolo为ARM协处理器,因此它执行一部分ARM指令集。ARM协处理器指令允许ARM在Piccolo与存储器之间传送数据(利用加载协处理器LDC及存储协处理器STC指令),以及向与从Piccolo传送ARM寄存器(利用传送到协处理器MCR及从协处理器传送的MRC指令)。观察ARM与Piccolo的协作交互作用的一种方式是ARM作为Piccolo数据的强有力的地址发生器工作,而使Piccolo有时间执行需要实时处理大量数据来产生对应的实时结果的DSP运算。图1示出ARM2与Piccolo4,ARM2发布控制信号到Piccolo4来控制向Piccolo4传送数据以及从Piccolo4传送数据字。指令高速缓冲存储器6存储Piccolo4所需要的Piccolo程序指令字。单个DRAM存储器8存储ARM2与Piccolo4两者所需要的本文档来自技高网...

【技术保护点】
一个用于数据处理的装置,所述装置包括:用于存储要处理的数据字的多个寄存器,每一个所述寄存器具有至少N位的容量;以及一个算术逻辑单元,用于响应程序指令字执行由所述程序指令字指定的算术逻辑操作;其中所述算术逻辑单元响应至少一个程序指 令字,该程序指令字包括:(i)一个源寄存器位字段,它指定存储所述程序指令字的一个输入操作数数据字的所述多个寄存器中的一个源寄存器;(ii)一个输入操作数长度标志,用于指定所述输入操作数数据字是否具有N位的长度或者N/2位的长度;以及 (iii)一个高/低位置标志,在所述输入操作数长度标志指示为一个(N/2)位的长度时,该高/低位置标志指示该输入操作数数据字位于所述源寄存器的高位位置和低位位置中的哪一个。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DV贾加尔SJ格拉斯
申请(专利权)人:ARM有限公司
类型:发明
国别省市:GB[英国]

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

1
相关领域技术
  • 暂无相关专利