CN101911008A - 确定标准化计数的处理器及方法 - Google Patents

确定标准化计数的处理器及方法 Download PDF

Info

Publication number
CN101911008A
CN101911008A CN2009801019214A CN200980101921A CN101911008A CN 101911008 A CN101911008 A CN 101911008A CN 2009801019214 A CN2009801019214 A CN 2009801019214A CN 200980101921 A CN200980101921 A CN 200980101921A CN 101911008 A CN101911008 A CN 101911008A
Authority
CN
China
Prior art keywords
operand
zero
counting
value
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801019214A
Other languages
English (en)
Other versions
CN101911008B (zh
Inventor
尚卡尔·克里蒂瓦桑
埃里克·J·普隆德克
卢奇安·科德雷斯库
曾贸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101911008A publication Critical patent/CN101911008A/zh
Application granted granted Critical
Publication of CN101911008B publication Critical patent/CN101911008B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Measuring Frequencies, Analyzing Spectra (AREA)

Abstract

在特定实施例中,揭示一种方法,其包含在标准化逻辑电路处接收待标准化的运算数,其中所述运算数包含多个位。所述方法进一步包含当运算数的值等于零时产生零输出,且当所述值不等于零时产生代表比运算数的前导位的计数小一的数字的输出值。

Description

确定标准化计数的处理器及方法
技术领域
本发明大体上涉及一种确定标准化计数的处理器及方法。
背景技术
在计算机应用中,数字计算可产生遍布于广泛的值范围中的数字。在基于二进制数字运算的处理器内,可使用标准化来缩放值以包含所述广泛的值范围。举例来说,在统计计算中,可能需要将一范围的值(例如,零到1/2)缩放成第二范围的值(例如,零到一)。
一般来说,可使用标准化过程或指令来进行自动增益控制以缩放或调整输入或输出信号。举例来说,在无线电话中,可使用标准化指令来调整扬声器输出的音量或与麦克风输入相关联的音量。在另一特定实例中,可使用标准化运算来估计数学函数,例如对数函数。在特定实例中,标准化指令对带正负号的值的连续前导位的数目计数。如果通过使值向左移位连续前导位的计数出的数目来使用所述连续前导位的数目使所述值标准化,则与所述值相关联的正负号位可能会丢失。因此,所得的经移位的数字可能是错误的。
发明内容
在特定实施例中,揭示一种方法,其包含接收将要标准化的运算数,其中所述运算数包含多个位。所述方法进一步包含当运算数的值等于零时产生零输出,且当所述值不等于零时产生代表运算数的前导位的计数减去一的输出值。
在另一特定实施例中,揭示一种处理器,其包含经配置以执行标准化指令的指令执行单元。所述指令执行单元包含:输入端,其用以接收包括多个位的运算数;以及移位器电路,其耦合到所述输入端以使所述多个位向左移位一个位,从而产生多个经移位的位。所述指令执行单元进一步包含前导位计数电路,其用以接收所述多个经移位的位,并对所述多个经移位的位的前导位的数目计数。所述前导位计数电路将代表前导位数目减去一的计数提供到输出端。
在又一特定实施例中,可由处理器执行指令以使输入值标准化。所述指令包含第一指令,其可由执行单元执行以确定输入的值。所述指令包含第二指令,其可由执行单元执行以在输入端处确定的值为零时产生零输出。所述指令还包含第三指令,其可由执行单元执行以在所确定的值为非零时产生代表前导位数目减去一的计数的标准化量。
在又一特定实施例中,揭示一种方法,其包含:接收包含多个位的运算数;使所述多个位向左移位一个位以产生经移位的多个位;以及在所述经移位的多个位中的最低有效位处插入零值。所述方法进一步包含:对所述经移位的多个位中的前导位的数目计数;以及在所接收的多个位具有非零值时输出代表所述前导位数目减去一的计数。
在另一特定实施例中,揭示一种处理器,其包含用于接收包含多个位的运算数的装置,且包含用于当运算数的值等于零时产生零输出的装置。所述处理器进一步包含用于当运算数的值不等于零时产生代表运算数的前导位的计数减去一的输出值的装置。
所描述的电路装置及方法的实施例提供的一个特定优点是当接收到零值时(即,当输入端处的所有位等于零时),在输出端处提供零值而不使该等位移位。在此情况下,可快速且以减少的功率消耗输出计数值。
所提供的另一特定优点是通过在输出端处掩蔽选定位来移除假数据以提供正确值。
所提供的又一特定优点是可对前导位计数,从而允许处理器使用同一电路对前导一或前导零计数。
在审视了包含以下章节的整个申请案后将容易明白本发明的其它方面、优点和特征:图式简单说明、具体实施方式和权利要求书。
附图说明
图1是包含具有经配置以确定标准化量的标准化逻辑电路的执行单元的系统的特定说明性实施例的框图;
图2是包含经配置以确定标准化计数的标准化逻辑电路的电路装置的特定说明性实施例的图;
图3是包含经配置以确定标准化计数的标准化逻辑电路的电路装置的第二特定说明性实施例的图;
图4是确定标准化计数的方法的特定说明性实施例的流程图;
图5是确定标准化计数的方法的第二特定说明性实施例的流程图;
图6是确定标准化计数的方法的第三特定说明性实施例的流程图;以及
图7是包含具有经配置以确定标准化量的标准化电路的执行单元的无线通信装置的说明性实施例的框图。
具体实施方式
图1是包含具有经配置以确定标准化量的标准化逻辑电路的执行单元的处理系统100的特定说明性实施例的框图。处理系统100包含存储器102,其经配置以经由总线接口104与指令高速缓冲存储器106及数据高速缓冲存储器112通信。所述指令高速缓冲存储器106通过总线110耦合到定序器114。指令高速缓冲存储器106可存储标准化指令116,其可经由总线110被提供到定序器114。处理系统100还可包含监督控制寄存器132及全局控制寄存器134,用以存储可由定序器114内的控制逻辑存取以确定是否接受中断并控制指令执行的位。
在特定实施例中,指令高速缓冲存储器106经由多个当前指令寄存器耦合到定序器114,所述当前指令寄存器可耦合到总线110且与处理系统100的特定线程相关联。在特定实施例中,处理系统100是包含六个线程的交错多线程处理器。
定序器114耦合到第一指令执行单元118、第二指令执行单元120、第三指令执行单元122及第四指令执行单元124。每一指令执行单元118、120、122及124可经由第二总线128耦合到通用寄存器堆126。通用寄存器堆126还可经由第三总线130耦合到定序器114、数据高速缓冲存储器112及存储器102。
第一执行单元118包含标准化逻辑电路136,且第二执行单元120包含标准化逻辑电路138。在特定实施例中,执行单元118、120、122及124中的每一者可包含标准化逻辑电路。在图示的实施例中,执行单元118及120经配置以利用标准化逻辑电路136及138来提供与多个位有关的标准化计数。
在特定说明性实施例中,定序器114将标准化指令116提供到第一执行单元118。响应于接收到标准化指令116,第一执行单元118检索运算数,且使用标准化逻辑电路136对运算数的前导位数目减去一计数(即,前导位数目减去一的计数)。标准化逻辑电路136经配置以当运算数的所有位为零时选择性地输出零值,且当运算数的任何位为非零时选择性地输出代表前导位数目减去一的计数的数字。前导位数目的计数可识别具有相同值的连续位(从最高有效位开始且包含最高有效位)的数目。可在执行另一指令时使用所述数字以缩放或以其它方式调整运算数的数据值。举例来说,如果运算数代表零到1/2的范围内的值,则可使用所述数字将运算数缩放到零到一的范围内。
在特定说明性实施例中,标准化逻辑电路136及138可包含前导一计数电路、前导零计数电路或其任何组合(未图示)。在特定实施例中,标准化逻辑电路136及138可包含前导零计数电路(例如图2中说明的前导零计数器220)。在此情况下,如果前导位为一,则标准化逻辑电路136及138可包含用以在对前导零计数之前求运算数的补码的逻辑电路。在另一特定实施例中,标准化逻辑电路136及138可经配置以对前导一计数及对前导零计数,且选择较大的那个计数。对于二的补数,前导零的数目对于负数为零,且前导一的数目对于正数为零。因此,可使用前导位的数目来判断运算数的正负号、量值或这两者。
在特定实施例中,标准化指令116包含两个条件:1)如果输入运算数的值为零,则输出零;且2)如果输入运算数的值为非零,则输出运算数的前导位的计数减去一。下表1中呈现用以实施标准化指令116的汇编码的一实例。
表1:示范性标准化指令
if(Rs==0){
  Rd=0;
}else{
  Rd=(max(count_leading_ones(Rs),count_leading_zeros(Rs)))-1);
};
在表1中,如果源寄存器(Rs)的值等于零,则将目的地寄存器(Rd)设置为零。否则,对源寄存器处的值中的前导一的计数及前导零的计数进行比较以确定哪个计数较大。确切地说,前导一的计数抑或前导零的计数将等于零,且另一计数将为正数。将为正数的计数减小一且存储在目的地寄存器处。
在特定实施例中,表1中说明的标准化指令包含适于确定输入的值(即,Rs是否等于0)的第一运算。标准化指令还包含第二运算,其适于在输入端处确定的值为零时产生零输出(即Rd=0)。标准化指令进一步包含第三运算,其适于在所确定的值为非零时产生代表前导位数目的计数减去一的标准化量(即Rd=(max(count_leading_ones(Rs),count_leading_zeros(Rs)))-1))。在特定实例中,在处理器的单个指令周期中产生零输出或计数。在特定实例中,单个指令周期可代表执行线程的多个级,包含读取寄存器堆级、解码级、一个或一个以上执行级及回写级。在特定实施例中,标准化指令可包含额外运算、微指令或其任何组合。在另一特定实施例中,标准化指令可派生(spawn)或以其它方式起始额外微指令或运算。在特定实例中,标准化指令可起始微指令的执行,所述微指令利用标准化量来根据标准化量使一值向左移位。
图2是包含经配置以确定标准化计数的标准化逻辑电路202的电路装置200的特定说明性实施例的图。标准化逻辑电路202经配置以接收输入204,例如包含最高有效位224及多个其它位226的运算数。标准化逻辑电路202经配置以处理输入204,从而产生标准化计数206,其在输入204处的值为零时代表零值,否则其代表输入204的前导位数目的计数减去一。标准化逻辑电路202包含移位器电路208,其可为双向移位器电路。在特定实例中,移位器电路208经配置以使接收到的位向左移位一个位,且在最低有效位位置插入零值以产生多个经移位的位。
标准化逻辑电路202包含最高有效位(MSB)提取电路236,其经配置以从输入204中提取最高有效位224。标准化逻辑电路202还包含多个异或门210、212、214、216及218。所述多个异或门210、212、214、216及218中的每一者包含耦合到MSB提取电路236以接收最高有效位224的第一输入,且包含耦合到移位器电路208以接收所述多个经移位的位中的相应位的第二输入。在特定实例中,如果最高有效位224具有为一的值,则异或门210、212、214、216及218中的每一者求所述多个经移位的位中的相应位的补码。如果最高有效位224具有零值,则异或门210、212、214、216及218中的每一者使所述多个经移位的位中的相应位通过。
标准化逻辑电路202包含前导零计数器220及逻辑与门222。前导零计数器220耦合到异或门210、212、214、216及218中的每一者的输出,以接收代表所述多个经移位的位或所述多个经移位的位的经求补版本的运算数。前导零计数器220对运算数中的前导的连续零的数目计数,且经由导线230及232输出代表前导的连续零的数目的计数。逻辑与门222通过使引线230处的值与零值228(即电接地)进行逻辑与运算而掩蔽引线230处的计数的最高有效位。将经掩蔽的输出234(即,零值)及引线232处的值作为标准化计数206提供于标准化逻辑电路202的输出处。一般来说,虽然前导零计数器220适于对前导的连续零的数目计数,但也可使用其它计数器,例如用以对前导的连续一的数目计数的前导一计数器,用以对前导的连续位的数目计数的前导位计数器,或其任何组合。
在特定实例中,标准化逻辑电路202可位于处理器的执行单元内,例如图1中说明的处理器100的执行单元118。在一实施例中,标准化逻辑电路202经配置以提供标准化计数206,其是代表特定运算数将被移位以使所述运算数标准化的位数的计数。当输入204为非零值时,移位电路208使位226向左移位一,从而消除最高有效位。在空出的位置中(即,在最低有效位处)插入零值。此向左移位及插入零提供前导位计数减去一。在输入为全零的情况下,前导零计数器220可例如对所有零计数,且在最高有效位位置中提供一。在特定实例中,最高有效位位置中的一值可代表移位值32。仅有的具有32个连续值的输入值为输入零。因此,使用逻辑与门222来掩蔽230处的最高有效位(即,减小到零)以提供所要的零结果。
图3是包含经配置以确定标准化计数的标准化逻辑电路302的电路装置300的第二特定说明性实施例的图。在此特定实例中,标准化逻辑电路302包含与图2中的标准化逻辑电路202相同的电路。然而,标准化逻辑电路302包含控制电路304,其耦合到移位器电路208及MSB 224,且经配置以检测具有零值的运算数。标准化逻辑电路302还包含零电路306,其响应于控制电路304以在输入204处的运算数的值为零时在标准化逻辑电路302的输出处提供零值作为标准化计数206。当所述值为非零时,零电路306可作为通过门(pass gate)操作,以允许前导零计数器220的输出作为标准化计数306而通过到输出。在此特定实例中,控制电路304可绕过移位器电路208,多个异或门210、212、214、216及218以及前导零计数器220以使用零电路306在输出处提供零。
图4是确定标准化计数的方法的特定说明性实施例的流程图。在402处,在标准化逻辑电路处接收待标准化的运算数。前进到404,如果运算数的值等于零,则所述方法前进到406,且在输出处提供零值。举例来说,当所述运算数等于零时,不需要对所述零值进行缩放或标准化,因此运算数的移位量应为零。在特定实例中,可在标准化逻辑电路内提供控制电路以确定运算数的值,并在运算数具有零值时控制输出以提供零值。继续到414,所述方法终止。
返回到404,如果运算数的值不等于零,则所述方法前进到408,且对运算数的前导位计数以确定一数目。在特定说明性实施例中,使用前导零计数器电路对前导位数目计数,所述前导零计数器电路经配置以对前导零计数。在特定实例中,如果运算数的最高有效位等于一,则可使用最高有效位来求其它位的补码,且前导零计数器电路可对运算数的求补版本中的零的数目计数。移动到410,将所述数目减去一以确定移位量。在特定实例中,通过使其它位向左移位一且在最低有效位位置中插入零来减去所述一。继续到412,在输出处提供所述移位量。所述移位量代表前导位数目的计数减去一。所述方法在414结束。
在特定实例中,对待标准化的运算数的接收可在接收可由处理器的执行单元执行的标准化指令之后发生。所述标准化指令可包含源寄存器地址,可从所述源寄存器地址检索运算数。所述标准化指令可由处理器在单个执行周期中执行。在特定实例中,在408处对运算数的前导位计数以确定一数字且将所述数字减去一以确定移位量可包含提取运算数的最高有效位,使运算数的其余位向左移位一位以产生多个经移位的位,在所述多个经移位的位中的最低有效位中插入零值,对所述多个经移位的位中的前导零的数目计数以产生移位量,以及掩蔽所述移位量的最高有效位以在输出处提供移位量。在特定实例中,掩蔽移位量的最高有效位可包含将最高有效位提供到逻辑与门的输入,所述逻辑与门包含耦合到逻辑零值(例如电接地)的第二输入。
图5是确定标准化计数的方法的第二特定说明性实施例的流程图。在502处,在标准化逻辑电路处接收待标准化的运算数,所述运算数包含多个位。前进到504,从所述多个位中提取最高有效位。继续到506,使所述多个位向左移位一个位。移动到508,用所提取的最高有效位和所述多个经移位的位中的每一者执行异或运算,以产生代表所述多个经移位的位或所述多个经移位的位的经求补版本中的一者的值。前进到510,对所产生的值中的前导零数目计数,以产生一数字。移动到512,掩蔽所述数字的最高有效位以产生移位量。继续到514,在输出处提供移位量,其中当运算数等于零时所述移位量为零,且其中当运算数为非零值时移位量为前导位数目的计数减去一。所述方法在516结束。
图6是确定标准化计数的方法的第三特定说明性实施例的流程图。在602处,所述方法包含在标准化逻辑电路处接收待标准化的运算数,其中所述运算数包含多个位。前进到604,使所述多个位向左移位一以消除所述多个位中的最高有效位。移动到606,将零值插入到所述多个经移位的位的最低有效位位置中以形成第二多个位。继续到608,使用运算数的最高有效位向第二多个位中的每一者应用异或运算以产生多个异或输出位。前进到610,对所述多个异或输出位中的前导零数目计数以确定零的数目。前进到612,掩蔽所确定的零的数目的最高有效位,以在运算数为非零时提供代表所计数的前导零数目减去1的移位量,且在运算数为零时提供零值。所述方法在614结束。
图7是包含具有经配置以确定标准化量的标准化电路768的执行单元764的无线通信装置700的说明性实施例的框图。标准化逻辑电路768可分别类似于关于图1、图2及图3所描述的标准化逻辑电路136、202及302。无线通信装置700可包含具有执行单元764的数字信号处理器(DSP)710,执行单元764具有标准化逻辑电路768。如关于图1到图6所述,标准化逻辑电路768可操作以确定输入处的前导位数目减去一。无线通信装置700还包含可供DSP 710存取的存储器732。在特定实施例中,标准化逻辑电路768可由执行单元764利用以在执行单元764的单个指令(执行)周期中提供关于多个数据位的标准化计数。
图7还展示显示器控制器726,其耦合到数字信号处理器710并耦合到显示器728。编码器/解码器(编解码器)734还可耦合到数字信号处理器710。扬声器736和麦克风738可耦合到编解码器734。
图7还指示无线控制器740可耦合到数字信号处理器710及无线天线742。在特定实施例中,输入装置730及电源744耦合到芯片上系统722。此外,在特定实施例中,如图7中说明,显示器728、输入装置730、扬声器736、麦克风738、无线天线742及电源744在芯片上系统722外部。然而,每一者耦合到芯片上系统722的组件。
所属领域的技术人员将进一步明白,结合本文中揭示的实施例描述的各种说明性逻辑块、配置、模块、电路及算法步骤可实施为电子硬件、计算机软件或所述两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已关于其功能性大体上描述了各种说明性组件、块、配置、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用和施加于整体系统的设计约束。所属领域的技术人员可针对每一特定应用以不同的方式来实施所描述的功能性,但所述实施决策不应解释为导致偏离本发明的范围。
结合本文中揭示的实施例描述的方法或算法的步骤可直接以硬件、以由处理器执行的软件模块或以所述两者组合实施。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、PROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可换式磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得所述处理器可从存储媒体读取信息及向存储媒体写入信息。在替代方案中,存储媒体可与处理器成一体式。处理器及存储媒体可驻存在ASIC中。ASIC可驻存在计算装置或用户终端中。在替代方案中,处理器及存储媒体可作为离散组件驻存在计算装置或用户终端中。
提供对所揭示的实施例的以上描述以使得所属领域的技术人员能够制造或使用所揭示的实施例。所属领域的技术人员将容易明白对所述实施例的各种修改,且在不偏离本发明的精神或范围的情况下,本文中界定的一般原理可应用于其它实施例。因此,不希望本发明限于本文中展示的实施例,而是符合与所附权利要求书界定的原理和新颖特征一致的可能的最广泛范围。

Claims (25)

1.一种方法,其包括:
在标准化逻辑电路处接收待标准化的运算数,所述运算数包含多个位;
当所述运算数的值等于零时产生零输出;以及
当所述值不等于零时,产生代表比所述运算数的前导位的计数小一的数字的输出值。
2.根据权利要求1所述的方法,其进一步包括接收可由处理器的执行单元执行的标准化指令。
3.根据权利要求2所述的方法,其中在接收到所述标准化指令之后接收所述运算数。
4.根据权利要求1所述的方法,其中产生所述零输出进一步包括:
确定所述接收到的运算数具有零值;以及
产生逻辑信号以在标准化逻辑电路的输出处提供零值。
5.根据权利要求1所述的方法,其中产生代表比所述运算数的前导位的所述计数小一的所述数字的输出值包括:
从所述运算数中提取最高有效位;
使所述运算数的所述多个位的其余位向左移位一个位以产生多个经移位的位;
在所述多个经移位的位中的最低有效位中插入零值;
对所述多个经移位的位中的前导零数目计数以产生移位量;以及
掩蔽所述移位量的最高有效位以产生所述输出值。
6.根据权利要求5所述的方法,其中掩蔽所述移位量的所述最高有效位包括将所述最高有效位提供到逻辑与门的输入,所述逻辑与门包含耦合到逻辑零值的第二输入。
7.一种处理器,其包括:
指令执行单元,其经配置以执行标准化指令,
所述指令执行单元包括:
输入,其适于接收包括多个位的运算数;
移位器电路,其耦合到所述输入且适于使所述多个位向左移位一个位以产生多个经移位的位;以及
前导位计数电路,其适于接收所述多个经移位的位且对所述多个经移位的位的前导位数目计数,所述前导位计数电路用以将代表所述前导位数目减去一的计数提供到输出。
8.根据权利要求7所述的处理器,其中所述指令执行单元进一步包括逻辑电路,所述逻辑电路包括:
最高有效位提取电路,其耦合到所述输入且适于从所述运算数中提取最高有效位;以及
多个异或门,所述多个异或门中的每一者包含适于接收所述最高有效位的第一输入、适于接收所述多个经移位的位中的相应一者的第二输入,以及适于提供所述多个经移位的位中的所述相应一者的值或所述值的补码的输出。
9.根据权利要求8所述的处理器,其中所述前导位计数电路包括耦合到所述多个异或门的所述输出的前导零计数电路,所述前导零计数电路经配置以对从所述多个异或门的所述输出接收的前导零数目计数。
10.根据权利要求9所述的处理器,其进一步包括掩蔽电路,所述掩蔽电路适于掩蔽所述代表所述前导位数目减去一的计数的最高有效位。
11.根据权利要求7所述的处理器,其进一步包括控制电路,所述控制电路经配置以确定何时所述运算数具有零值,且经配置以产生控制信号以在所述输出处提供零值。
12.根据权利要求11所述的处理器,其进一步包括零电路,所述零电路响应于所述控制电路且适于响应于来自所述控制电路的控制信号而在所述输出处提供零值。
13.根据权利要求7所述的电路装置,其中所述移位器电路包括双向移位器电路。
14.一种可由处理器执行以使输入值标准化的指令,所述指令包括:
第一指令,其可由执行单元执行以确定输入的值;
第二指令,其可由所述执行单元执行以当在所述输入处确定的所述值为零时产生零输出;以及
第三指令,其可由所述执行单元执行以当所述确定的值为非零时产生代表前导位数目减去一的计数的标准化量。
15.根据权利要求14所述的指令,其中所述零输出或所述计数是在处理器的单个指令周期中产生。
16.根据权利要求14所述的指令,其中所述执行单元包括标准化逻辑电路,所述标准化逻辑电路适于产生所述零输出及产生所述标准化量。
17.根据权利要求14所述的标准化量指令,其中所述计数代表所述输入的量值。
18.一种方法,其包括:
在标准化逻辑电路处接收包含多个位的运算数;
使所述多个位向左移位一个位以产生多个经移位的位;
在所述多个经移位的位中的最低有效位处插入零值;
对所述多个经移位的位中的前导位数目计数;以及
当所述接收到的多个位具有非零值时输出代表所述前导位数目减去一的计数。
19.根据权利要求18所述的方法,其中对所述前导位数目计数包括:
提取所述接收到的多个位中的所述最高有效位;
当所述接收到的多个位中的最高有效位具有为一的值时求所述经移位的多个位的补码以产生经求补的多个位;以及
对所述经求补的多个位中的前导零数目计数。
20.根据权利要求18所述的方法,其中对所述前导位数目计数包括对所述经移位的多个位中的前导零数目计数。
21.根据权利要求18所述的方法,其进一步包括当所述接收到的运算数代表零值时在输出处提供零值。
22.一种处理器,其包括:
用于接收包括多个位的运算数的装置;
用于当所述运算数的值等于零时产生零输出的装置;以及
用于当所述运算数的所述值不等于零时产生代表比所述运算数的前导位的计数小一的数字的输出值的装置。
23.根据权利要求22所述的处理器,其进一步包括用于接收可由处理器的执行单元在单个执行周期中执行的标准化指令的装置。
24.根据权利要求22所述的处理器,其中产生所述零输出进一步包括:
用于确定所述接收到的运算数的值的装置;以及
用于当所述确定的值为零时产生逻辑信号以在执行单元的输出处提供零值的装置。
25.根据权利要求22所述的处理器,其中产生代表所述运算数的前导位的所述计数减去一的输出值包括:
用于从所述运算数中提取最高有效位的装置;
用于使所述运算数的其余位移位一个位以产生多个经移位的位的装置;
用于在所述多个经移位的位中的最低有效位中插入零值的装置;
用于对所述多个经移位的位中的前导零数目计数以产生移位量的装置;以及
用于掩蔽所述移位量的最高有效位以产生所述计数的装置。
CN200980101921.4A 2008-01-09 2009-01-09 确定标准化计数的处理器及方法 Expired - Fee Related CN101911008B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/971,230 2008-01-09
US11/971,230 US8631056B2 (en) 2008-01-09 2008-01-09 Processor and method of determining a normalization count
PCT/US2009/030537 WO2009089410A2 (en) 2008-01-09 2009-01-09 Processor and method of determining a normalization count

Publications (2)

Publication Number Publication Date
CN101911008A true CN101911008A (zh) 2010-12-08
CN101911008B CN101911008B (zh) 2016-08-10

Family

ID=40749257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980101921.4A Expired - Fee Related CN101911008B (zh) 2008-01-09 2009-01-09 确定标准化计数的处理器及方法

Country Status (6)

Country Link
US (1) US8631056B2 (zh)
EP (1) EP2243074B1 (zh)
JP (2) JP2011509491A (zh)
KR (1) KR101252739B1 (zh)
CN (1) CN101911008B (zh)
WO (1) WO2009089410A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862647B2 (en) * 2010-06-22 2014-10-14 Nec Corporation Semiconductor integrated circuit and exponent calculation method
US8788549B2 (en) * 2011-05-02 2014-07-22 Saankhya Labs Private Limited Zero overhead block floating point implementation in CPU's
US10459727B2 (en) 2015-12-31 2019-10-29 Microsoft Technology Licensing, Llc Loop code processor optimizations
US10592252B2 (en) 2015-12-31 2020-03-17 Microsoft Technology Licensing, Llc Efficient instruction processing for sparse data
US10915319B2 (en) 2017-05-15 2021-02-09 Google Llc Two dimensional masked shift instruction

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH073653B2 (ja) * 1987-06-30 1995-01-18 三菱電機株式会社 シフタ
JPH01185726A (ja) 1988-01-20 1989-07-25 Matsushita Electric Ind Co Ltd 除算装置
JP3304971B2 (ja) 1990-07-23 2002-07-22 沖電気工業株式会社 絶対値演算回路
US5241490A (en) 1992-01-06 1993-08-31 Intel Corporation Fully decoded multistage leading zero detector and normalization apparatus
JPH07319671A (ja) 1994-05-26 1995-12-08 Fujitsu Ltd 除算または剰余の前処理方法および除算または剰余の前処理装置
US5844826A (en) * 1996-10-18 1998-12-01 Samsung Electronics Co., Ltd. Leading zero count circuit
US6260054B1 (en) 1998-10-29 2001-07-10 Neomagic Corp. Reciprocal generator using piece-wise-linear segments of varying width with floating-point format
US6795839B2 (en) 2000-11-30 2004-09-21 Stmicroelectronics, Inc. Method and device for computing the number of bits set to one in an arbitrary length word
US6788268B2 (en) * 2001-06-12 2004-09-07 Ipr Licensing, Inc. Method and apparatus for frequency selective beam forming
JP3640643B2 (ja) 2002-01-18 2005-04-20 沖電気工業株式会社 べき数エンコーダ回路及びマスク回路
US7062525B1 (en) 2002-08-30 2006-06-13 Lsi Logic Corporation Circuit and method for normalizing and rounding floating-point results and processor incorporating the circuit or the method
US7392273B2 (en) 2002-12-20 2008-06-24 International Business Machines Corporation High-sticky calculation in pipelined fused multiply/add circuitry
US7461117B2 (en) 2005-02-11 2008-12-02 International Business Machines Corporation Floating point unit with fused multiply add and method for calculating a result with a floating point unit
US7610472B2 (en) * 2005-06-05 2009-10-27 Apple Inc. Performing variable and/or bitwise shift operation for a shift instruction that does not provide a variable or bitwise shift option

Also Published As

Publication number Publication date
EP2243074B1 (en) 2018-12-19
KR101252739B1 (ko) 2013-04-12
US8631056B2 (en) 2014-01-14
JP2014132485A (ja) 2014-07-17
WO2009089410A2 (en) 2009-07-16
US20090177724A1 (en) 2009-07-09
CN101911008B (zh) 2016-08-10
JP2011509491A (ja) 2011-03-24
WO2009089410A3 (en) 2009-09-03
JP5735150B2 (ja) 2015-06-17
EP2243074A2 (en) 2010-10-27
KR20100105765A (ko) 2010-09-29

Similar Documents

Publication Publication Date Title
JP6333439B2 (ja) 命令に応じた丸め処理の実行
EP2438529B1 (en) Conditional operation in an internal processor of a memory device
CN102067087B (zh) 环路控制系统及方法
CN101911008A (zh) 确定标准化计数的处理器及方法
CN107851007B (zh) 宽数据类型的比较的方法和装置
WO2002091166A2 (en) Apparatus and method for uniformly performing comparison operations on long word operands
EP0788241A2 (en) Method for implementing the add-compare-select operation in a Viterbi decoder
US6036350A (en) Method of sorting signed numbers and solving absolute differences using packed instructions
US7877571B2 (en) System and method of determining an address of an element within a table
CN114089951A (zh) 一种快速除法器及其运行方法
EP3295299A1 (en) Decoding information about a group of instructions including a size of the group of instructions
CN100543668C (zh) 信息处理装置及信息处理方法
WO2016196659A1 (en) Methods and devices for reducing array size and complexity in automata processors
JP2016045721A (ja) データ格納方法、三値内積演算回路、それを備えた半導体装置、及び、三値内積演算処理プログラム
CN100426219C (zh) 一种集成电路中的数据运算方法及装置
CN110489077B (zh) 一种神经网络加速器的浮点乘法运算电路和方法
US6005502A (en) Method for reducing the number of bits needed for the representation of constant values in a data processing device
US6976050B2 (en) System and method for extracting the high part of a floating point operand
CN101601011B (zh) 用于对计算机架构条件码设置进行有效仿真的方法和装置
Glinski et al. A processor for graph search algorithms
CN116610362B (zh) 一种处理器指令集译码方法、系统、设备和存储介质
WO2022067510A1 (zh) 一种处理器、处理方法及相关设备
US5854920A (en) Method and apparatus for manipulating a carry/borrow bit to numerically adjust and immediate value of an instruction during execution
KR100233289B1 (ko) 레지스터 파일의 데이터 디펜던시 체크를 위한 장치
CN104572020A (zh) 一种寄存器堆分页式扩展装置及其实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160810

Termination date: 20190109