给移位处理提供饱和的方法、设备和程序存储装置的制作方法

文档序号:6556695阅读:220来源:国知局
专利名称:给移位处理提供饱和的方法、设备和程序存储装置的制作方法
技术领域
本发明一般涉及数字信号处理,更具体地,涉及为数字信号处理器操作而给移位处理提供饱和的方法、设备和程序存储装置。
背景技术
在集成电路领域,已公知使用计算单元来验证供由AU(算术单元)对两个操作数和输入进位数字执行的算术操作的结果使用的格式是否没有超过给定格式。该技术在大多数计算单元中都有应用,如包括在诸如数字信号处理器(DSP)或微处理器之类的可编程电路中的计算单元。
为了处理这些应用,中央处理单元包括接收指令并对其进行解码的电路、和根据解码的指令来处理数据的电路。处理数据的电路典型地包括算术逻辑单元(ALU)。算术逻辑单元执行诸如加法、减法、乘法、除法、移位数据等的算术功能,并执行诸如“与”、“或”“与非”、“或非”、“异或”等的逻辑功能。更具体地,ALU包括两种操作诸如加法/减法的算术操作和逻辑操作。
加法和减法直接了当且无例外。当两个i位的数相加时,结果可能由于进位输出而为二进制的n+1位。在计算机硬件中,典型地将数据表示位固定宽度的数。这样,0110与1110之和在4位处理器中将是0100,并且上溢被用于指出结果错误。减法表现类似。在不同的条件下,相同的问题发生在二进制补码数系统中。在二进制补码表示中,将负数表示为从零减去数量的结果。就是说,在四位系统中,例如,将负2表示为0000减去0010的结果,其为1110(忽略了减法所产生的借位或进位)。二进制补码表示具有具有如下有利特征可以在不考虑被相加或相减的数是正还是负的情况下进行二进制补码数的加法和减法。在二进制补码数系统中,当两个正数相加而和为负时,发生上溢,或反之亦然。明显地,两个32位数的相加和相减可以产生需要33位来完整表示的结果。第33位的缺失意味着上溢发生,且将符号位设置为结果的值而不是结果的适当符号。
带符号的数的乘法需要特别的注意。例如,相同符号的数相乘产生正的积,但是正数和负数的相乘产生负的积。可以使用一系列的移位和加法来执行乘法。为了获得数据移位功能,算术逻辑单元包括算术移位器。算术移位器用于存储一些特定长度的位矢量。其具有两个控制信号左移位和右移位。当声明(assert)左移位时,将矢量中的位向左移位一个位,并将0移入到最右边的位。当声明右移位时,将矢量中的位向右移位一个位,并将最高有效位的复本移入到最左边的位。
典型地使用移位寄存器实现算术移位器。移位寄存器是以其输入和输出连接在一起的线性方式建立的一组寄存器,使得当激活电路时数据沿线向下移位。将字向右或左移位(其相当于乘以或除以2的幂次)用于乘法和除法中,并且也用于在字节或字边界上对齐数据。
ALU结果在上溢时饱和。算术上溢是当计算产生大于给定寄存器或者存储单元可以存储或表示的结果时发生的情况。数字处理器可使用自饱和的数表示,其中产生上溢的任何算术操作将自动把输出设置为具有合适的符号和等于可以用数字数据字表示的最大值的量的值。例如,ALU饱和逻辑可用于通过将结果保持在最大(或者最小)值而防止结果上溢。这样,当算术操作产生对于寄存器太大或太小的值时,用可以表示的最大或最小值替换作为替代。更具体地if((result=a+/-b)>(2n-1))result=2n-1;else if((a+/-b)<-2n)result=-2n;然而,典型地,没有使2x*数据的结果饱和的解决方案。此外,所使用的解决方案由于循环而非常昂贵。
然后,可以看出,存在为数字信号处理器操作而给移位处理提供饱和的方法、设备和程序存储装置的需要。

发明内容
为了解决上述现有技术中的限制,并且为了克服在阅读和理解本说明书时将变明显的其它限制,本发明公开了一种为数字信号处理器操作而给移位处理提供饱和的方法、设备和程序存储装置。
本发明通过提供在发生饱和时根据输入的数据的最高有效位而将操作数移位到最大或最小值的指令,解决了上述的问题。饱和检测电路具有算术移位器和最终判决多路复用器,该最终判决多路复用器接收来自算术移位器的输出和来自饱和电路的饱和值。在这里,术语多路复用器预期包括将从几个输入中选择的一个信号连接到单个输出的任何类型的装置,例如开关、逻辑装置、编程代码等。当检测到饱和时,最终判决多路复用器根据数据的MSB等于1还是0来分别选择饱和最小或饱和最大。
根据本发明的原理的具有饱和检测的算术移位器包括算术移位器,用于接收输入数据和移位量指示;饱和检测器,其耦接到算术移位器,用于检测何时发生饱和,并作为响应而产生饱和信号;饱和值发生器,用于产生饱和值;以及输出选择器,用于选择提供移位器输出数据或响应于饱和信号而提供饱和值来作为输出。
在本发明的又一个实施例中,公开了一种处理器单元。该处理器单元包括存储器,用于在其中存储数据和指令;以及处理器,用于执行算术移位操作,该处理器被配置为接收输入数据和移位量指示,该处理器还被配置为用于检测何时发生饱和,在发生饱和时产生用于输出的饱和值,并用于提供被移位了移位量的输入数据或者响应于检测到饱和而提供饱和值作为输出。
在本发明的又一个实施例中,公开了一种存储控制装置。该存储控制装置包括存储控制器,用于处理读取和写入信号;以及处理器单元,其耦接到存储控制器,该处理器单元执行操作来支持存储操作,其中该处理器单元被配置为从存储控制器接收移位指令,该移位指令允许在单个循环内将输入数据移位N位,该处理器还被配置为用于检测移位操作何时导致饱和,在发生饱和时产生用于输出的饱和值,并用于提供被移位了N位的输入数据或者响应于检测到饱和而提供饱和值作为输出。
在本发明的又一个实施例中,公开了一种数据存储系统。该数据存储系统包括可平移的记录介质,用于在其上存储数据;电机,用于平移记录介质;接近于记录介质布置的换能器,用于在记录介质上读取和写入数据;致动器,其耦接到换能器,用于相对于记录介质移动换能器;以及存储控制装置,用于控制数据存储系统的操作,该存储控制装置还包括存储控制器,用于处理读取和写入信号;以及处理器单元,其耦接到存储控制器,该处理器单元执行操作来支持存储操作,其中该处理器单元被配置为从存储控制器接收移位指令,该移位指令允许在单个循环内将输入数据移位N位,该处理器还被配置为用于检测移位操作何时导致饱和,在发生饱和时产生用于输出的饱和值,并用于提供移位了N位的输入数据或者响应于检测到饱和而提供饱和值作为输出。
在本发明的又一个实施例中,公开了一种具有饱和检测的算术移位器。该具有饱和检测的算术移位器包括用于接收输入数据和移位量指示的装置;耦接到用于接收输入数据和移位量指示的装置并用于检测何时发生饱和并作为响应而产生饱和信号的装置;用于产生饱和值的装置;以及用于选择提供移位器输出数据或响应于饱和信号而提供饱和值作为输出的装置。
在本发明的又一个实施例中,公开了一种处理器单元。该处理器单元包括用于在其上存储数据和指令的装置;以及用于进行如下操作的装置执行算术移位操作,接收输入数据和移位量指示,检测何时发生饱和,当发生饱和时产生用于输出的饱和值,以及提供被移位了移位量的输入数据或者响应于检测到饱和而提供饱和值作为输出。
在附加到本公开、并形成本公开一部分的权利要求中具体指出了表征本发明的这些和各种其它优点以及新颖性特征。然而,为了更好地理解本发明、其优点、以及通过其使用而实现的目的,应该参考形成本公开的另一部分的附图和伴随的描述内容,其中图解和描述了根据本发明的设备的特定例子。


现在参考附图,其中相同的附图标记始终表示对应的部分图1图解根据本发明的实施例的算术移位器和饱和检测电路;图2图解用于实现根据本发明的实施例的算术移位器和饱和检测电路的数字信号处理电路的方框图;图3是根据本发明的实施例的用于为数字信号处理器操作而给移位处理提供饱和的方法流程图;图4示出根据本发明的一个实施例的硬盘存储系统的示意方框图。
具体实施例方式
在接下来的实施例描述中,参考形成本公开一部分的附图,并且其中通过图解示出了可以实践本发明的特定实施例来说明附图。将理解的是,由于可以在不脱离本发明的范围的情况下进行结构改变,所以可以使用其它实施例。
本发明提供了一种为数字信号处理器操作而给移位处理提供饱和的方法、设备和程序存储装置。当发生饱和时,产生了用于根据输入数据位而将操作数移位到最大或最小值的单个指令。饱和检测电路具有算术移位器和最终判决多路复用器,该最终判决多路复用器接收来自该算术移位器的输出和来自饱和电路的饱和值。当检测到饱和时,最终判决多路复用器分别根据数据的MSB等于1还是0来选择饱和最大或者饱和最小。
图1图解根据本发明的实施例的算术移位器和饱和检测电路100。在图1中,将数据110和移位量112值提供到算术移位器120。在循环的开始,算术移位器120提供输出到最大移位器122和最小移位器124。下溢130和上溢132检测电路分别耦接到最大移位器122和最小移位器132。当算术移位器120通过最大移位器122和最小移位器124移位数据时,离开算术移位器120的位填充最大移位器122和最小移位器124。如果算术移位量112是“n”,则算术移位器120可以在一个循环中执行从0到(2n-1)位的左移位。
饱和判决多路复用器140接收来自下溢130和上溢132检测电路的输入。这里,术语多路复用器预期包括将从几个输入中选择的一个信号连接到单个输出的任何类型的装置,例如转换开关、逻辑装置、编程代码等。输入数据142的最高有效位用于控制饱和判决多路复用器140。最终判决多路复用器150接收来自算术移位器120的输出194、以及来自输出多路复用器170的饱和值160。饱和判决多路复用器140提供饱和指示符到“或”门180。对数据的最高有效位182和算术移位器的最高有效位184进行“或非”(XOR)186。将这个结果与来自饱和判决多路复用器140的饱和指示进行“或”180。如果二者中的任一个为高,则信号“检测到饱和”190为高。
算术移位器和饱和检测电路100操作如下。当在一个循环内向左移位多个位时,如果算术移位器120在移位操作期间已经有上溢和下溢的情况,则不能只通过算术移位器输出来确定算术移位器120。基本上,有两种情况可以应用饱和。一个情况是算术移位器120的符号与输入数据110的符号不同时,另一个情况是离开算术移位器120的位194不相同(即不是所有位都为零或者一)时。
算术移位器和饱和检测电路100检测饱和情况,并在发生饱和时根据输入的数据的符号位来将移位器输出改变到最大或者最小值。算术移位器和饱和检测电路100将操作数向左移动,即2X*操作数。该结果将饱和到(2n-1)或者-2n,这取决于哪一个对于给定符号是合适的。然后,在负值将仍旧为负而正值将仍旧为正的意义上,操作将相同。
假设提供到算术移位器120的数据110是D31、D30、D29、......、D0。在循环的开始,最大移位器122起初填满1,而最小移位器124起初填满0。如果例如移动量是3,则三位离开算术移位器,D(31:29),并从右用D(31:29)填充最大122和最小124移位器。算术移位器120的输出是D28、D27、D26、......、D0、“000”。15位最大移位器122的内容是1、1、1、1、1、1、1、1、1、1、1、1、D31、D30、D29。一检测电路130检查是否移位器122的所有位为“1”。可以通过15位“与”门实现一检测电路130。当一检测电路130的输出是低时,算术移位器120可能已经下溢。
15位最小移位器124的内容是0、0、0、0、0、0、0、0、0、0、0、0、D31、D30、D29。零检测电路132检查是否移位器124的所有位为“0”。可以通过15位“或非”门实现零检测电路132。当零检测电路132的输出是低时,算术移位器120可能已经上溢。
通过输入数据的最高有效位(MSB)142,D(31),来选择饱和判决多路复用器140。如果MSB 142,D(31),是1,则饱和判决多路复用器140选择一检测电路130的输出;否则,饱和判决多路复用器140选择零检测电路132的输出。当饱和判决多路复用器140的输出信号为低时,饱和已经发生。将最大饱和值(上溢)和最小饱和值(下溢)分别定义为“7FFF FFFF”和“80000000/1”(为了与正最大值对称,可以为8000 0001)。当MSB 142,D(31),为一时,输出多路复用器170的输出是“8000 0000/1”;否则,输出多路复用器170的输出是“7FFF FFFF”。
最终判决多路复用器150选择算术移位器120的输出194或者来自输出多路复用器170的饱和值160。当信号“检测到饱和”190为高时,将移位输出改变到饱和值160,否则改变到算术移位器120的输出194。使用饱和判决多路复用器140的输出、算术移位器输出S(31:0)194的最高有效位S(31)184、以及输入数据(31:0)110的最高有效位D(31)182来确定饱和。首先,当输入数据110移位n时(112),结果在算术移位器120中。当算术移位器120的输出194的最高有效位S(31)184与输入数据(31:0)110的最高有效位D(31)182不同时,饱和已经发生。其次,当饱和判决多路复用器140的输出是低时,饱和已经发生。在任一种情况中,将信号“检测到饱和”190设置为高。当信号“检测到饱和”190为高时,饱和已经发生。最终判决多路复用器150根据MSB 142(即D(31))等于1还是0来分别选择饱和最小或饱和最大160。
下面的表1图解正常的情况和饱和的情况。
表1

在第一种饱和情况下,饱和检测是基于算术移位器输出的MSB(S31 184)与数据MSB(D31 182)不同,其中为0的数据MSB(D31 142)将输出多路复用器的输出选择为7FFF FFFF。在第二种饱和情况下,饱和检测是基于零检测电路的输出为0(即,最小移位寄存器没有全部为零)。在第三种饱和情况下,饱和检测是基于算术移位器输出的MSB(S31 184)与数据的MSB(D31 182)不同,其中为1的数据MSB(D31 142)将输出多路复用器的输出选择为80000000。在第四种饱和情况下,饱和检测是基于一检测电路的输出为0(即,最大移位寄存器没有全部为一)。
图2图解用于实现根据本发明的实施例的算术移位器和饱和检测电路的数字信号处理电路200的方框图。图2示出控制单元210、数据单元220和地址单元230。控制单元210基于针对快速信号处理任务而最优化的指令集(ISA)来指导数字信号处理器的操作。在指导程序流的控制单元210和对数据执行操作的一个或多个执行单元之间划分信号处理。几乎总是包括寄存器/存储器240的集合来保存操作数和中间结果。一个执行单元是地址单元230。地址单元230(AU)指导为通过执行指令或程序而定义和使用的所有变量取出的操作数。另一个执行单元是数据单元220,其包括至少一个算术逻辑单元222,该算术逻辑单元222接受将要操作的数据和来自控制单元210的指示执行什么操作的代码作为输入。算术逻辑单元222提供计算结果,并可以指示诸如进位输入或进位输出、上溢、下溢和/或其它状态的情况。
图3是根据本发明的实施例的用于为数字信号处理器操作而给移位处理提供饱和的方法流程图300。首先,将数据和移位量值提供到算术移位器(310)。在循环的开始,算术移位器提供输出到最大移位器和最小移位器(312)。下溢和上溢检测电路基于最大移位器和最小移位器的内容来检测下溢和上溢(314)。饱和判决多路复用器接收来自下溢和上溢检测电路的输入(316)。最终判决多路复用器接收来自算术移位器的输出和来自输出多路复用器的饱和值(318)。在320,由最终判决多路复用器使用饱和判决多路复用器的输出、算术移位器输出的最高有效位、输入数据的最高有效位来确定是否发生饱和。如果算术移位器输出的最高有效位和输入数据的最高有效位不同、或者如果饱和判决多路复用器如此指示,则检测到饱和。当检测到饱和时(322),最终判决多路复用器根据MSB等于1还是0来分别选择饱和最小或者饱和最大(330)。否则(324),最终判决多路复用器选择来自算术移位器的输出(340)。
如上面结合图1-3说明的数字信号处理器可使用在宽范围的产品中,如现场可编程门阵列、个人数字助理(PDA)、移动电话、数字扫描仪、数字照相机、个人计算机和存储控制器。图4示出一个例子,其中磁盘驱动器包括硬盘控制器和微处理器单元。本领域的技术人员将认识到,尽管可能分别示出了硬盘控制器、微处理器和例如SRAM的存储器,但是可以方便地将这些部件组合到例如硬盘控制器的一个部件中。
图4示出根据本发明的一个实施例的硬盘存储系统400的示意方框图。硬盘存储系统400连接到主计算机432。硬盘存储系统400响应主计算机432的写入请求,并在用作记录介质的磁盘410上记录来自主计算机432的记录数据。硬盘存储系统400还响应来自主计算机432的读取请求,读取记录在磁盘410上的数据,并把这些数据发送到主计算机432。硬盘存储系统400包括磁盘410、第一和第二电机412、416、磁头(head)装置414、信号处理电路420、伺服电路430、微处理器(MPU)440、存储器(RAM)450、硬盘控制器(HDC)460、以及接口电路470。电路420-470通过总线480而彼此连接。
磁盘410被第一电机412以恒定旋转速度旋转。第二电机416控制磁头装置414,使得其相对于磁盘410而沿径向移动。磁头装置414读取记录在磁盘410上的数据,并发送读取信号RD到信号处理电路420。
信号处理电路420与时钟信号同步地抽样读取信号RD,并产生数字读取信号。信号处理电路420对数字读取信号执行解码处理,并输出解码的数据信号。伺服电路430控制第一电机412,并以恒定速度旋转磁盘410。伺服电路430还经由总线480从信号处理电路420接收解码的数据信号,并基于包括在数字读取信号中的伺服数据来控制第二电机416,使得磁头装置414在目标位置的轨道上。
MPU 440根据存储在RAM 450中的程序数据来分析从主计算机432发送的写入/读取处理命令,并经由总线480发送控制信号到HDC 460。HDC460根据来自MPU 440的控制信号来控制信号处理电路420和伺服电路430。HDC 460还经由总线480接收来自信号处理电路420的数据信号。HDC 460处理数据,例如对数据信号执行纠错码(ECC)处理。然后,HDC 460经由总线480发送处理过的数据到接口电路470。接口电路470将来自HDC 460的数据转换成预定的通信模式,并把转换后的数据发送到主计算机432。MPU440包括算术逻辑单元,其包括图1所示的算术移位器和饱和检测电路,用于在发生饱和时根据输入的数据位将操作数移位到最大或最小值。根据本发明的一个实施例,HDC 460发送单个移位指令到MPU 440。MPU 440可以配置为使得可以由HDC 460的固件来运行移位指令。响应于接收到单个移位指令,MPU 440返回移位的操作数或者最小/最大饱和值。
应该理解,MPU 440可包括孤立的处理器或嵌入的处理器,例如,MPU440可嵌入在HDC 460中。MPU 440可以为片上系统(SOC)的一部分。此外,MPU 440可以是ASIC,其是执行依照存储器450操作的处理器功能的硬件电路。在这样的情况下,可以使用存储器450,但不是必需,因为ASIC被设计为执行任何指定功能。也应该理解的是,存储器450可以是易失性的或者非易失性存储器。MPU 440经由伺服单元430控制音圈电机416和轴电机412的操作。
已经为图解和描述的目的给出了本发明的示范实施例的前面的描述。不是预期穷尽或限制本发明到公开的精确形式。根据上面的示教,可能有许多改变和变更。不是想要把本发明的范围限制到这个具体描述,而是由所附权利要求来限定本发明的范围。
权利要求
1.一种具有饱和检测的算术移位器,包括算术移位器,用于接收输入数据和移位量指示;饱和检测器,其耦接到所述算术移位器,用于检测何时发生饱和,并作为响应而产生饱和信号;饱和值发生器,用于产生饱和值;以及输出选择器,用于选择提供移位器输出数据或者响应于饱和信号而提供饱和值来作为输出。
2.根据权利要求1的具有饱和检测的算术移位器,其中饱和值发生器包括多路复用器,该多路复用器接收上溢输入和下溢输入,其中该多路复用器基于输入算术移位器的数据的最高有效位而在上溢输入和下溢输入之间选择。
3.根据权利要求1的具有饱和检测的算术移位器,其中饱和检测器包括下溢检测器、上溢检测器和饱和判决多路复用器,其中该饱和判决多路复用器用于通过在来自下溢检测器的输入信号和来自上溢检测器的信号之间选择来指示饱和情形。
4.根据权利要求3的具有饱和检测的算术移位器,其中下溢检测器包括第一位移位器,其中该第一位移位器包括全为一的初始加载和一检测装置。
5.根据权利要求4的具有饱和检测的算术移位器,其中所述一检测装置对第一位移位器的内容执行“与”操作,以便检测第一位移位器的内容何时不全为1。
6.根据权利要求3的具有饱和检测的算术移位器,其中上溢检测器包括第二位移位器,其中该第二位移位器包括全为零的初始加载和零检测装置。
7.根据权利要求6的具有饱和检测的算术移位器,其中零检测装置对第一位移位器的内容执行“或非”操作,以便检测第二位移位器的内容何时不全为零。
8.根据权利要求3的具有饱和检测的算术移位器,其中饱和检测器还包括用于确定算术移位器输出的最高有效位和输入算术移位器的数据的最高有效位何时不同的检测器。
9.根据权利要求8的具有饱和检测的算术移位器,其中饱和检测器还包括饱和信号发生器,该饱和信号发生器在饱和判决多路复用器提供了饱和情况、或者算术移位器输出的最高有效位和输入算术移位器的数据的最高有效位不同而检测到饱和时指示饱和。
10.一种处理器单元,包括存储器,用于在其中存储数据和指令;以及处理器,用于执行算术移位操作,该处理器被配置为接收输入数据和移位量指示,该处理器还被配置为用于检测何时发生饱和,在发生饱和时产生用于输出的饱和值,并用于提供被移位了移位量的输入数据或者响应于检测到饱和而提供饱和值作为输出。
11.根据权利要求10的处理器单元,其中所述处理器基于输入数据的最高有效位而在上溢值和下溢值之间选择。
12.根据权利要求10的处理器单元,其中所述处理器在算术移位器输出的最高有效位和输入算术移位器的数据的最高有效位不同时识别饱和情形。
13.根据权利要求10的处理器单元,其中所述处理器通过以下操作来检测饱和在其中全为1的第一存储单元中移位N个数据位,在第一存储单元中移位N个数据位之后确定第一存储单元何时全为1,并在第一存储单元并不全为1时识别饱和情形。
14.根据权利要求13的处理器单元,其中所述饱和情形包括当第一存储单元并不全为1时的下溢情形。
15.根据权利要求10的处理器单元,其中所述处理器通过以下操作来检测饱和在其中全为0的第二存储单元中移位N个数据位,在第二存储单元中移位N个数据位之后确定第二存储单元何时全为0,并在第二存储单元并不全为0时识别饱和情形。
16.根据权利要求15的处理器单元,其中饱和情形包括当第二存储单元并不全为0时的上溢情形。
17.一种存储控制装置,包括存储控制器,用于处理读取和写入信号;以及处理器单元,其耦接到存储控制器,该处理器单元执行操作来支持存储操作,其中该处理器单元被配置为从存储控制器接收移位指令,该移位指令允许在单个循环内将输入数据移位N位,该处理器还被配置为用于检测移位操作何时导致饱和,在发生饱和时产生用于输出的饱和值,并用于提供被移位了N位的输入数据或者响应于检测到饱和而提供饱和值作为输出。
18.根据权利要求17的存储控制装置,其中处理器单元基于输入数据的最高有效位而在上溢值和下溢值之间选择。
19.根据权利要求17的存储控制装置,其中所述处理器单元在移位了N位的输入数据的最高有效位和输入数据的最高有效位不同时识别饱和情形。
20.根据权利要求17的存储控制装置,其中所述处理器单元通过如下操作来检测饱和在其中全为1的第一存储单元中移位N个数据位,在第一存储单元中移位N个数据位之后确定第一存储单元何时全为1,并在第一存储单元并不全为1时识别饱和情形。
21.根据权利要求20的存储控制装置,其中饱和情形包括当第一存储单元并不全为1时的下溢情形。
22.根据权利要求17的存储控制装置,其中所述处理器单元通过如下操作来检测饱和在其中全为0的第二存储单元中移位N个数据位,在第二存储单元中移位N个数据位之后确定第二存储单元何时全为0,并第二存储单元并不全为0时识别饱和情形。
23.根据权利要求22的存储控制装置,其中饱和情形包括当第二存储单元并不全为0时的上溢情形。
24.一种数据存储系统,包括可平移的记录介质,用于在其上存储数据;电机,用于平移记录介质;接近于记录介质布置的换能器,用于在记录介质上读取和写入数据;致动器,其耦接到换能器,用于相对于记录介质移动换能器;以及存储控制装置,用于控制数据存储系统的操作,该存储控制装置还包括存储控制器,用于处理读取和写入信号;以及处理器单元,其耦接到存储控制器,该处理器单元执行操作来支持存储操作,其中该处理器单元被配置为从存储控制器接收移位指令,该移位指令允许在单个循环内将输入数据移位N位,该处理器还被配置为用于检测移位操作何时导致饱和,在发生饱和时产生用于输出的饱和值,并用于提供移位了N位的输入数据或者响应于检测到饱和而提供饱和值作为输出。
25.根据权利要求24的存储控制装置,其中处理器单元基于输入数据的最高有效位而在上溢值和下溢值之间选择。
26.根据权利要求24的存储控制装置,其中所述处理器单元在移位了N位的输入数据的最高有效位和输入数据的最高有效位不同时识别饱和情形。
27.根据权利要求24的存储控制装置,其中所述处理器单元通过如下操作来检测饱和在其中全为1的第一存储单元中移位N个数据位,在第一存储单元中移位N个数据位之后确定第一存储单元何时全为1,并在第一存储单元并不全为1时识别饱和情形。
28.根据权利要求27的存储控制装置,其中饱和情形包括当第一存储单元并不全为1时的下溢情形。
29.根据权利要求24的存储控制装置,其中所述处理器单元通过如下操作来检测饱和在其中全为0的第二存储单元中移位N个数据位,在第二存储单元中移位N个数据位之后确定第二存储单元何时全为0,并在第二存储单元并不全为0时识别饱和情形。
30.根据权利要求29的存储控制装置,其中饱和情形包括当第二存储单元并不全为0时的上溢情形。
31.一种具有饱和检测的算术移位器,包括用于接收输入数据和移位量指示的装置;耦接到用于接收输入数据和移位量指示的装置并用于检测何时发生饱和并作为响应而产生饱和信号的装置;用于产生饱和值的装置;以及用于选择提供移位器输出数据或响应于饱和信号而提供饱和值作为输出的装置。
32.一种处理器单元,包括用于在其上存储数据和指令的装置;以及用于进行如下操作的装置执行算术移位操作,接收输入数据和移位量指示,检测何时发生饱和,当发生饱和时产生用于输出的饱和值,以及提供被移位了移位量的输入数据或者响应于检测到饱和而提供饱和值作为输出。
全文摘要
公开了一种为数字信号处理器操作而给移位处理提供饱和的方法、设备和程序存储装置。产生指令,用于在发生饱和时根据输入数据的位来将操作数移位到最大或最小值。将饱和检测电路与算术移位器和最终判决多路复用器组合。最终判决多路复用器接收来自算术移位器的输出和来自饱和电路的饱和值。当通过饱和检测电路检测到饱和时,最终判决多路复用器分别根据输入数据的MSB等于1还是0来选择饱和最小或饱和最大。
文档编号G06F5/01GK1828520SQ20061005495
公开日2006年9月6日 申请日期2006年2月27日 优先权日2005年2月28日
发明者杰弗里·J·多布科, 柯克·黄 申请人:日立环球储存科技荷兰有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1