CN1140278A - 采用对数变换的计算机处理器及用方法 - Google Patents

采用对数变换的计算机处理器及用方法 Download PDF

Info

Publication number
CN1140278A
CN1140278A CN96103925A CN96103925A CN1140278A CN 1140278 A CN1140278 A CN 1140278A CN 96103925 A CN96103925 A CN 96103925A CN 96103925 A CN96103925 A CN 96103925A CN 1140278 A CN1140278 A CN 1140278A
Authority
CN
China
Prior art keywords
value
processing element
produce
totalizer
transformation
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.)
Pending
Application number
CN96103925A
Other languages
English (en)
Inventor
潘少伟
托马斯·王莎萍
斯科特·爱德华·劳伊德
尼古拉斯·米库拉斯·拉邦
戴维·阿兰·海纳尔
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.)
Motorola Solutions Inc
Original Assignee
Motorola 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
Priority claimed from US08/403,158 external-priority patent/US5685008A/en
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of CN1140278A publication Critical patent/CN1140278A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0307Logarithmic or exponential functions
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/5235Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain

Abstract

计算机处理器含有对数变换器(12),可在数据总线上产生对数值;多个处理部件(16),连接到数据总线;反对数变换器(28),从处理部件接收一些数值;累加器(32),对反对数变换器(28)来的变换值求和;控制单元(38),组态累加器来执行各种求和操作。计算机处理器还含有一开关(36),将处理器输出作为反馈。控制单元(38)对从一组指令中选取的一个指令译码,以组态计算机处理器,对数据流执行操作。

Description

采用对数变换的计算机处理器及其使用方法
本发明与以下发明相关,这些发明已转让给本发明的同一受让人:
“采用对数函数的神经网络及其使用方法”,序列号为08/176,601,申请日为1994年1月3日。
“采用移位寄存器的指数电路及其使用方法”,序列号为08/401,515,申请日为1995年3月10日。
“累加器电路及其使用方法”,系列号为08/455,927,申请日为1995年5月31日。
“对数/反对数变换器及其使用方法”,系列号为08/381,368,申请日为1995年1月31日。
“采用二次项的对数、反对数变换器及其使用方法”,序列号为08/382,467,申请日为1995年1月31日。
上述有关发明的主题事物引用在这里,以供参考。
本发明涉及计算机,具体涉及一种具有多个处理部件的计算机处理器。
计算机处理器是公知的技术并已广泛应用于各种场合。计算机处理器的应用之一是数字信号处理(DSP)。按照定义,数字信号处理涉及到以数字或符号序列来表述信号和对这些信号处理的过程。DSP具有各种广泛的用途,其重要性诸如图型(Pattern)识别、无线电通信、电信、雷达、生物医学工程等等领域中尤为明显。
每个DSP系统的核心都是计算机处理器,用以对信号进行数学运算。通常,DSP系统接收到的信号首先被变换成为计算机处理器所应用的数字化格式。计算机处理器而后对这些经过数字化的信号执行一系列的数学处理。这些处理的目的有可能是为了评估信号的特性参数,或是为了将信号变换成为某种情况下更希望的形式。这类处理常常要实施复杂的数学运算和需要精细的数字处理。DSP系统中可能进行的数学运算例如包括矩阵乘法、矩阵反算、快速传里叶变换(FFT)、自相关和互相关、离散余弦变换(DCT)、多项式方程以及微分方程等,诸如那些已被用于近似无限脉冲响应(IIR)和有限脉冲响应(FIR〕滤波器中的运算。
计算机处理器在设计中和在功能上有很大的变化。处理器设计的一个方面是它的体系结构。通常,计算机体系结构这一术语是指处理器的指令组和组织方式。指令组是一组程序员可直观地用来对处理器进行编程的指令。另一方面,处理器的组织方式是指计算资源,例如总线结构、存储器安排和处理部件数量的整体结构和组成。广义上说,处理部件是计算机处理器中对其接收的数据进行逻辑或算术操作的一种装置。例如,处理部件可以仅简单地是指一个取两值之和的加法电路,但也可以复杂得像一个执行截然不同的各种操作的中央处理单元(CPU)。
现有很多不同的体系结构,从复杂的基于复数指令组计算机(CISC)的体系结构到基于归一化指令组计算机(RISC)的体系结构。此外,有些体系结构仅有一个处理部件,而另一些可包括二个或多个处理部件。尽管有多种示同的体系结构,但所有的计算机处理器都具有一个共同的目标,那就是以最低的成本提供最高的性能。不过,计算机处理器的性能在很大程度上取决于该处理器所应用于解决的问题,很少(如果有的话)低成本的计算机处理器能够以某些当今较高要求的运用中所需要的速度来执行以上列举的这些数字运算。例如,NTSC电视信号的MPEG数据压缩只能得利用昂贵的超级计算机或专用硬件来执行。
许多其他应用例如实时图像的矩阵变换需要数据通过速率均超过廉价的简单处理器如微处理机和商场供应的DSP芯片的能力。事实是,这些应用需要采用昂贵的多处理器或多处理计算机。虽然多处理器计算机一般都具有较高的数据通过速率,但他们含有复杂的指令组,编制程序通常很困难。
据此,现在需要一种既能以高速度执行数字运算、又价廉的计算机处理器。还需要计算机处理器其指令组简单而易于为实现所希望的数字运算进行程序编制。此外,还需要计算机处理器能具有高的数据通过速率,这样的处理器也应当具有小尺寸和消耗较低的电能。
本发明由本文所附的权利要求书加以精确的限定,但参照以下附图所作的详细说明将会更清楚地看到本发明的其他特点而能更好地理解本发明。
图1示出按照本发明的一个实施例的计算机处理器;
图2示出按照本发明的优选实施例的计算机处理器;
图3示出一个加法器树的示意图;
图4示出一个累加单元的示意图;
图5示出与一个累加单元相结合而使用的加法器树;
图6示出按照本发明的优选实施例的指令格式;
图7示出使用图1的计算机处理器来产生至少一个输出信号的方法的流程图;
图8示出使用图1的计算机处理器的方法的流程图;其中地址被分配给多个处理部件;
图9示出使用图1的计算机处理器的方法的流程图;其中输出信号用以作为反馈;
图10示出使用图2的计算机处理器用以产生至少一个输出信号的方法的流程图;
图11示出使用图2的计算机处理器的方法的流程图;其中地址被分配给多个处理部件;
图12示出使用图2的计算机处理器的方法的流程图,其中输出信号用以作为反馈。
总的说来,本发明提供一种计算机处理器,用以接收多个输入信号,而后产生至少一个输出信号。此输入和输出信号一般都被认为是代表数值数据的二进制值。按照本发明的一个方面,此计算机处理器包括:一个对数变换器,将输入信号变换为相应的对数值;二个或多个处理部件,用以接收对数值并产生作为输出的项值;一个反对数变换器,将项值变换成对应的变换值;一个累加器,对变换值求和,以产生至少一个输出信号;以及一个控制单元,用以组态累加器按指令进行操作。
本发明的一个优点是提供一种计算机处理器能以高处理速度执行复杂的数学运算。该处理器通常被用于矩阵乘法、矩阵反算、快速傅里叶变换(FFT)、自相关和互相关、离散余弦变换(DCT)、多项式方程、L1和L2规范(norm)计算、以及微分方程,例如那些被用于近似无限脉冲响应(IIR)和有限脉冲响应(FIR)滤波器中的运算操作。本发明的另一个优点是提供一种具有高数据通过速率计算机处理器。本发明的再一优点是提供一种计算机处理器,能高效地在集成电路中实现,因而能减小尺寸和耗费较少电能。
图1示出按照本发明一个实施例的计算机处理器。此计算机处理器含有一个对数变换器12、多个处理部件、一个反对数变换器28、一个控制单元38、一个反馈开关36、以及一个累加器32。图中该多个处理部件中的三个由处理部件16a、16b及16c来表示。
计算机处理器通常执行如下操作:初始时,计算机处理器被组态以在运行时间执行作业。这是在控制单元38通过指令总线40接收到一个指令时完成的。然后控制单元38将指令译码,产生第一控制信号31和第二控制信号33。第一控制信号31用来组态累加器32,以执行特定的求和操作,而第二控制信号33用于组态反馈开关36,以使其处于打开或闭合位置。
在累加器32和反馈开关36的初始组态之后,对数变换器12能经一个输入端口10接收多个输入信号。对数变换器12对该多个输入信号进行对数变换,以产生相对应的多个对数值。而后,这些对数值通过总线14分配给多个处理部件(PE1至PEN)16a至16c的输入端。计算机处理器除了接收输入信号外,还可能接收对应于这些输入信号的多个地址。这些地址通过地址总线8分配给多个处理部件16a-16c,由处理部件使用,来检索与输入值相应的存储值。
一接收到输入信号,每个处理部件就执行一个或多个操作,结果产生至少一个项值作为输出。由多个处理部件产生的这些项值用标号18a-18c来表示。反对数变换器28对这些项值作反对数变换,以产生多个变换值30。接着,累加器32累加所选择的一些变换值30,以产生一个或多个输出信号,它们可在输出端34上得到。
对数变换器12可以是用以对输入信号执行对数变换的任何装置,含有在微处理机上执行的计算机程序。不过,在本发明的一优选实施例中,对数变换器12利用线性回归来逼近对数函数。对数变换器12含有一个查询表(图中未示出〕和一个执行本领域技术人士所熟知的变换的算术装置(图中未示出)。输入信号和对数值可以是任何n比特的数值表示物,不过,它们最好采用一种格式的23比特浮点数来表示,该格式具有一个符号比特、一个6比特指数和一个16比特尾数。
在对数变换器12接收到一浮点数时,其尾数的9个最高位被用以作为一个地址,以从上述查询表中检索一个相应的项目。而后,所检索的项目提供给算术装置,以便从对数装置12产生对数值输出。在优选实施例中所采用的对数变换器12的细节可参看上文提到的第四个相关发明。
在本发明的另一实施例中,对数变换器12使用二次回归来逼近对数函数。输入信号用IEEE标准32比特浮点数表示。采用这种格式,每个输入信号具有一个符号位、一个11比特指数和一个23比特尾数。该实施例中所使用的对数变换器的细节请参看上面提到的第五个相关发明。
每个处理部件16a-16c产生至少一个项值18a-18c作为输出,这里
式中:y为项值,w为系数值,xi为处理部件接收到的第i个对数值,gi为对应于第i对数值的指数值,i、m、和n均为任何整数。
在优选实施例中,处理部件利用一个数字电路计算项值,此数字电路执行上面提到的第二个相关发明中所介绍的移位乘法运算。
每个处理部件可以含有一个高速缓冲(cache)存储器(图中未示出),用于存放至少一个指数和系数值。在这种情况下,通过地址总线8接收到的每个地址均对应于一个输入信号,被用来由高速缓冲存储器检索与输入信号相对应的系数和指数值。
反对数变换器28可以是对项值18a-18c执行反对数变换的任何装置,包括在微处理器上运行的计算机程序或在上文提到的第五个相关发明中所述的反对数变换器。不过,反对数变换器28最好是具有与上文提到的第四个相关发明中揭示的反对数变换器相同的结构,它含有一个查询表(图中未示出)和一个算术装置(图中未示出)。可任选地,将项值18a-18c用一个具有整数部分和分数部分的二进制值来表示,而变换值用一个具有包括一个符号比特位、一个6比特指数和一个16比特尾数的格式的32比特浮点数来表示,但也可以采用其它的结构,例如与IEEE兼容的32比特浮点格式。项值18a-18c的分数部分可用于从查询表中检索项目。检索的项目提供给算术装置,以产生相应的变换值。有关优选的反对数变换器的细节可参看上文提到的第四个相关发明。
累加器32含有多个求和电路和可组态的数据通路,即路由选择通路。重要的是,第一控制信号31允许各种数据通路选定的变换值通往加法器电路的输入端。此第一控制信号31还允许传送加法器电路的输出的数据通路通往的另外的加法器电路的输入端或到输出端口34。在本发明的优选实施例中,累加器32具有上文提到的第三个相关发明所揭示的累加器电路的结构和功能。
累加器可加以被组态来执行以下四种不同功能中的任何一种:第一,累加器32可被组态来实现一加法器树的功能,在这一组态中,累加器32对相应于被选择的一些的多个处理部件中的变换值求和产生输出信号。第二,累加器32可被组态来实现个各别的累加器的功能,在这种组态条件下,各个别累加器中每一个对处理部件中被指定的一个所产生的变换值求和产生输出信号。第三,累加器32被组态来实现作为与一累加单元相结合应用的加法器树的功能,在这种组态中加法器树对相应于所选定的一些处理部件的变换值求和产生按时间顺序的加法器输出序列,而累加单元对此加法器输出序列求和以产生输出信号。在第四组态中,累加器32仅仅只是让变换值通过作为输出信号。
累加器32除了产生输出信号以外还能产生对应于输出信号的输出地址。此输出地址能在输出端口34上与其对应的输出信号同时得到,并能由外部装置使用,来识别各自相应的输出信号。在本发明的一个实施例中,输出地址存放在只读存储器(ROM,图中未示出〕中,它位于处理部件16a-16c内。处理部件16a-16c将输出地址通过各自的总线19a-19c送到累加器。由处理部件产生的每个项值具有与之相关的输出地址。在由不同的处理部件得到的变换值被组合成一个输出信号的情况下,累加器32从接收到的多个输出地址中选择一个输出地址,而后,将此选择的输出地址与输出信号相关联。例如,如果累加器32被组态以通过对来自处理部件1和2 16a-16b的变换值求和产生一个输出信号,则该累加器就可能将处理部件1 16a的输出地址与该输出信号相关联。
根据从控制单元38来的第二控制信号33,反馈开关36将输出信号提供给对数变换器12。第二控制信号33的状态设定反馈开关处于打开或闭合的位置。在闭合位置时,提供输出信号作为反馈。第二控制信号33的状态取决于控制单元38译码的指令。这些指令可以按以下三种方式之一来操纵反馈开关。指令可以是:(1)维持反馈开关36处于打开位置,因而提供无反馈;(2)在一个预定时间间隔之后闭合反馈开关36;或(3)在计算机处理器操作期间以预定的次数周期性地打开或闭合反馈开关36。
输出信号的反馈允许计算机处理器在某些操作期间例如计算L1和L2规范或一个无限脉冲响应(IIR)数字滤波器等能以更高的数据通过量来运行。
虽然本发明的计算机处理器最好被实施成为一个集成电路(例如ASIC),但本领域的技术人士可以理解,本发明的计算机处理器可以由硬件或软件或者两者的任一组合来实现。例如,本发明的一个方案可以将对数变换器12实施成为一个可在一独立的处理器(例如一个微处理器)上执行的软件程序,而计算机处理器的其余的部件则被作在与此独立处理器相连接的常规设计集成电路中。
图2示出按照本发明的优选实施例的计算机处理器。除了图1中所示的部件以外,该计算机处理器最好含有一个复用器45和一个去复用器53。复用器45根据第三控制信号46从第一输入端42或第二输入端44选择输入信号。去复用器53根据第四控制信号52将输出信号传送给第一输出端口54或第二输出端口56。除了传送输出信号以外,去复用器53还能将输出地址传送到这两个输出端口之一。在控制单元39译码一个指令40时产生第三和第四控制信号46、52。
双输入和输出端口允许计算机处理器从两个不同的数据流中接收输入信号,并将输出信号提供给两个接收机之中的任一个。这明显地发送了计算机处理器在许多应用中的灵活性。例如,具有不同数据速率和处理要求的两个数据流可被计算机处理器重叠,从而增加处理器的总数据通过量。
图3示出加法器树62的示意图。加法器树62由多个加法器电路组成,这些加法器电路以图示方式连接在一起,将多个加法器树的输入60组合成为一个加法器树输出端64上的一个单一的和值。许多不同的数字加法器可被用来作成每个加法器电路,其中包括先行进位的或波动的加法器。每个加法器将二个操作数相加,产生一个和值,因此,对于n个输入,加法器树就需要n-1个加法器电路。在所示的例中,加法器树62含有7个加法器电路,能对8输入求和。
图4示出累加单元70的示意图。该累加单元包括一个用以产生和值的加法器电路66和一个用以存放该和值的寄存器68。此外,寄存器68还将此和值作为输入提供给加法器电路66。这就使累加单元对一个输入序列求和。通过将寄存器68的输出设置为零,可使该加法器电路66简单地将输入传送到累加单元的输出端。
图5示出与累加单元70相结合应用的加法器树62。这种结构允许加法器树的输入60在一个时间周期内求和成为一个单一的值。第一组输入信号在加法器树的输入端60上被接收,然后被组合,在加法器树的输出端64上得到一个单一的和值。再将加法器树的输出64与寄存器68的内容相加,以产生又一个和值。接着,将这又一个和值存入寄存器68,并在另一组输入到达加法器树的输入端60时再重复这个过程。
图6示出按照本发明优选实施例的指令格式。虽然本领域的普通技术人士理解计算机指令可能采用许多种不同的格式并保持相同的涵义,但本发明的指令格式优选地是一个19比特数字字,它含有以下字段:指令ID、I/O方式、芯片ID、位移和地址。指令ID字段是一个5比特片,用以指示该指令的识别。据此,优选的格式允许该计算机处理器的指令组含有多达32种不同的指令。如图6所示,指令ID字段含有一个指令的比特位14-18。I/O方式字段是一个两比特片,译码后可产生第三控制信号47和第四控制信号52。而后,这些信号组态计算机处理器的输入和输出端。I/O方式字段位于一个指令的比特位12-13。一个指令的比特位7-11给芯片ID字段。在这优选实施例中,一个计算机处理器具有一个对应的5比特标识号码。计算机处理器只对带有相匹配的芯片ID字段的那些指令进行译码。该芯片ID字段允许一个指令分配给在而只具有相匹配的标识字码的计算机处理器的一条公用总线上的多个计算机处理器。一个指令的比特位0-6配给该指令位移字段。该指令位移字段被译码,产生第一控制信号31,用以对累加器32进行组态。
图7示出使用图1的计算机处理器来产生至少一个输出信号的方法的流程图。在步骤100,计算机处理器的输入端10接收多个输入信号。在步骤102,对数变换器12对输入信号作对数变换,以产生相应的多个对数值。在步骤104,将这些对数值分配给多个处理部件16a-1c。在步骤106,每一个处理部件产生至少一个项值,以作为接收这些对数值的结果。在步骤108,对这些项值进行反对数变换,以产生多个变换值。在步骤110,控制单元38对一个指令译码,以产生第一控制信号31,用来组态累加器32,以执行求和操作。在步骤112,累加器32对一些变换值求和,以在输出端34上产生至少一个输出信号。
参照步骤110,累加器32被组态,来执行如上对图1描述的四种不同功能的任一种。在本发明的一个实施例中,组态累加器32的步骤(步骤110)在接收输入信号的步骤(步骤100)之前。
现在看步骤112,计算机处理器除产生输出信号以外,还产生与输出信号相对应的输出地址。这些输出地址可由耦合到计算机处理器的装置使用,来识别各自相应的输出信号。
图8示出使用利用图1计算机处理器将地址分配给处理部件方法的流程图。与图7所示的方法相对照,图8所示方法含有处理输入信号及其对应地址的步骤。在步骤120,计算机处理器接收多个输入信号及其相应地址。在步骤122,对数变换器12对输入信号执行对数变换,以产生多个对数值。在步骤124,将对数值及其各自的地址分配给多个处理部件16a-16c。在步骤126,每个处理部件利用地址来检索与输入信号相对应的系数和指数值。在步骤128,每个处理部件产生至少一个项值,以作为接收对数和检索系数和指数值的结果。在步骤130,对这些项值执行反对数变换,以产生多个变换值。在步骤132,控制单元38对指令译码,以产生第一控制信号31,用以组态累加器32来执行求和操作。在步骤134,累加器32对一些变换值求和,以在输出端34产生至少一个输出信号。
参照步骤132,累加器32被组态,来执行上文对图1描述的四种不同功能中的任一种。在本发明的一个实施例中,组态累加器32的步骤(步骤132)在接收输入信号的步骤(步骤120)之前发生。
现在参照步骤134,计算机处理器除了产生输出信号以外,还产生与输出信号相应的输出地址。这些输出地址可由耦合到计算机处理器的装置使用,来识各自相应的输出信号。
图9示出使用图1计算机处理器将输出信号用以作为反馈的方法的流程图。信号的反馈允许计算机处理器在某些操作期间(例如计算机L1和L2规范或无限脉冲响应(IIR)数字滤波器)以更高的通过量来操作。在步骤140,计算机处理器接收多个输入信号。在步骤142,对数变换器12对输入信号执行对数变换,以产生多个对数值。在步骤144,将对数值分配给多个处理部件16a-16c。在步骤146,每个处理部件产生至少一个项值,以作为接收对数值的结果。在步骤148,对项值执行反对数变换,以产生多个变换值。在步骤150,控制单元38对指令译码,以产生第一控制信号31,用以组态累加器32来执行求和操作。在步骤152,累加器32对一些变换值求和,以在输出端产生至少一个输出信号。
在判定步骤154,作一次检验,以确定是否将提供输出信号作为反馈。如果“是”,该方法返回步骤142,将输出信号经过反馈开关36提供给对数变换器12作为输入。如果“否”,则该方法结束。确定是否将提供反馈是根据控制单元38译码的指令来执行的。
参照步骤150,累加器32被组态来执行上文对图1所述的四个不同的功能的任一种。在本发明的一个实施例中,组态累加器32的步骤(步骤150)在接收输入信号的步骤(步骤140)之前发生。
现在参照步骤152,计算机处理器除了产生输出信号以外还产生与输出信号相对应的输出地址。这些输出地址可由耦合到计算机处理器的装置使用,来识别各自相应的输出信号。
图10示出使用图2的计算机处理器产生至少一个输出信号的方法的流程图。在步骤160,对一个指令进行译码,以产生第一、第三和第四控制信号。在步骤162,将第三控制信号46施加给复用器45,从第一输入端42或第二输入端44选择多个输入信号。在步骤164,对数变换器12对多个输入信号执行对数变换,以产生多个相应的对数值。在步骤166,将对数值被分配给多个处理部件16a-16c。在步骤168,每个处理部件产生至少一个项值。在步骤170,对这些项值执行反对数变换,以产生多个变换值。在步骤172,将第一控制信号31施加给累加器32,以组态累加器32,来执行求和操作。在步骤174,累加器32对所选定的多个变换值求和,以产生至少一个输出信号。在步骤176,将第四控制输出信号传送到第一输出端口54或第二输出端口56。
图11示出使用图2的计算机处理器将地址分配给处理部件的方法的流程图。在步骤200,通过对一个指令译码来产生第一、第三和第四控制信号。在步骤202,将第三控制信号46施加给复用器45,以便从第一输入端42或第二输入端口44选择多个输入信号。在步骤204,接收多个与输入信号相对应的地址。在步骤206,对数变换器12对多个输入信号执行对数变换,以产生多个相应的对数值。在步骤208,将对数值及其对应地址分配给多个处理部件16a-16c。在步骤210,每个处理部件使用地址来检索与输入信号相对应的系数和指数值,而后产生至少一个项值。在步骤212,对项值执行反对数变换,以产生多个变换值。在步骤214,将第一控制信号31施加到累加器32,以组态累加器32,来执行求和操作。在步骤216,累加器32对所选择的多个变换值求和,以产生至少一个输出信号。在步骤218,将第四控制信号52施加给去复用器53,以将至少一个输出信号传送给第一输出端口54或第二输出端口56。
图12示出使用图2计算机处理器利用输出信号作为反馈的方法的流程图。在步骤230,对一个指令译码,以产生第一、第三和第四控制信号。在步骤232,将第三控制信号46施加给复用器45,从第一输入端42或第二输入端口44选择多个输入信号。在步骤234中,对数变换器12对多个输入信号执行对数变换,以产生相应的多个对数值。在步骤236,将对数值分配给多个处理部件16a-16c。在步骤238,每个处理部件产生至少一个项值。在步骤240,对项值执行反对数变换,以产生多个变换值。在步骤242,将第一控制信号31施加到累加器32,以组态累加器32,来执行求和操作。在步骤244,累加器32对所选定的一些多个变换值求和,以产生至少一个输出信号。
在判定步骤246进行一次检验,以确定是否将提供输出信号作为反馈。如果“是”,该方法转入步骤234,输出信号通过反馈开关36提供给对数变换器12作为输入。如果“否”,该方法结束。确定是否提供反馈是根据控制单元39译码的指令来执行的。步骤248,将第四控制信号52施加给去复用器53,以便将至少一个输出信号传送到第一输出端口54或第二输出端口56。
总之,这里描述了一种计算机处理器的构思和几个实施例,其中包括一个优选实施例,该计算机处理器对输入信号执行算术操作之前对输入信号执行对数变换,从而允许该处理器能以极大的速度执行数字运算,同时还减少了处理器在集成电路中的尺寸和复杂性。利用对数值而不是利用数值输入信号进行操作,就能利用明显减少了的硅片空间来实施处理部件。
因本发明的几个不同实施例均提供了具有双输入和输出端口的计算机处理器,故能以极大地提高了的数据通过速率来执行操作。
虽已描述了本发明的具体实施例,但本领域的技术人员可以理解,这里所揭示的发明可按多种途径进行修改,还可应用许多与上述优选形式不同的实施例,这是显而易见的。
据此,本文所附的权利要求书将概括所有属于本发明的实质内容和范畴之内的本发明的一切变型。

Claims (10)

1.一种用以在具有第一输入端口、第二输入端口和多个处理部件的计算机处理器中产生至少一个输入信号的方法,其特征在于,包括以下步骤:
通过对一个指令译码,产生第一控制信号、第三控制信号、和第四控制信号;
将该第三控制信号施加到一个复用器上,以便从第一输入端口或第二输入端口选择多个输入信号;
对该多个输入信号执行对数变换,以产生多个对数值;
将该多个对数值分配给多个处理部件;
多个处理部件的每个产生至少一个项值;
对来自多个处理部件的每个的至少一个项值执行反对数变换,以产生多个变换值;
将第一控制信号施加到累加器上,以组态该累加器,来执行求和操作;
对该多个变换值的一些求和,以产生至少一个输出信号;和
将第四控制信号施加到一个去复用器上,以将至少一个输出信号传送到第一输出端口或第二输出端口。
2.权利要求1的方法,其特征在于,所述的至少一个项值具有以下形式:
Figure A9610392500021
其中,y表示至少一个项值,w表示一个系数值,gi表示一个指数值,xi表示多个对数值中的一个,m和n是整数,i是从m到n范围内的一个整数。
3.根据权利要求2所述的方法,其特征在于,包括以下步骤:
接收与多个输入信号相对应的多个地址;
把这多个地址分配给多个处理部件;
多个处理部件的每个使用多个地址从高速缓冲存储器(cache)中检索与多个输入信号中一个相对应的系数值和尾数值。
4.根据权利要求1的方法,其特征在于,产生控制信号的步骤包括以下步骤:
通过对指令译码,产生一个第二控制信号;
该方法还包括以下步骤:
根据第二控制信号,在多个输入信号中含有该至少一个输出信号。
5.根据权利要求1的方法,其特征在于,施加第一控制信号的步骤包括以下步骤:
组态累加器对与所选定的多个处理部件中的一些处理部件相对应的变换值求和,来产生一个输出信号。
6.根据权利要求1的方法,其特征在于,施加第一控制信号的步骤包括以下步骤:
组态累加器,以产生多个输出信号,其中该多个输出信号中的每个是通过对与该多个处理部件之一相对应的变换值求和来产生的。
7.根据权利要求1的方法,其特征在于,施加第一控制信号的步骤包括以下步骤:
组态累加器,以产生一个输出信号,这是通过对所选定的多个处理部件中的一些处理部件相对应变换值求和来产生一序列加法器输出并在另外时间再对该序列的加法器输出求和来产生该输出信号的。
8.根据权利要求1的方法,其特征在于,包括以下步骤:
产生与至少一个输出信号相对应的至少一个的输出地址。
9.一种计算机处理器,接收多个输入信号和产生至少一个输出信号,其特征在于,包括:
一个对数变换器,对多个输入信号执行对数变换,以产生多个对数值;
多个处理部件,该多个处理部件的每个均具有一个输入端和产生成至少一个项值y作为输出,这里
Figure A9610392500041
其中:w表示一个系数值,gi表示一个指数值,xi表示多个对数值之一,m和n为整数,i为m和n范围内的一个整数;
一条总线,用以将多个对数值分配给多个处理部件的输入端;
一个反对数变换器,用以对来自多个处理部件的每个的至少一个项值执行反对数变换,以产生多个变换值;
一个累加器,对该多个变换值求和,以产生至少一个输出信号;和
一个控制单元,可操作性地耦合到累加器,用以组态累加器,根据该控制单元可译码的指令来执行操作。
10.一种使用具有一个输入端口和多个处理部件的计算机处理器来产生至少一个输出信号的方法,其特征在于,包括以下步骤:
(a)在输入端口接收多个输入信号;
(b)对该多个输入信号执行对数变换,以产生多个对数值;
(c)将该多个对数值分配给多个处理部件;
(d)该多个处理部件的每个产生至少一个项值;
(e)对来自该多个处理部件的每个的至少一个项值执行反对数变换,以产生多个变换值;
(f)对一个指令译码,以组态一个累加器,来执行求和操作,和
(g)对多个变换值中的一些求和,以产生至少一个输出信号。
CN96103925A 1995-03-13 1996-03-11 采用对数变换的计算机处理器及用方法 Pending CN1140278A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US403158 1995-03-13
US08/403,158 US5685008A (en) 1995-03-13 1995-03-13 Computer Processor utilizing logarithmic conversion and method of use thereof
US08/512,849 US5696986A (en) 1995-03-13 1995-08-09 Computer processor utilizing logarithmic conversion and method of use thereof

Publications (1)

Publication Number Publication Date
CN1140278A true CN1140278A (zh) 1997-01-15

Family

ID=27018181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96103925A Pending CN1140278A (zh) 1995-03-13 1996-03-11 采用对数变换的计算机处理器及用方法

Country Status (8)

Country Link
US (1) US5696986A (zh)
KR (1) KR960035301A (zh)
CN (1) CN1140278A (zh)
AU (1) AU4768296A (zh)
FR (1) FR2731813A1 (zh)
IT (1) IT1284293B1 (zh)
SG (1) SG73402A1 (zh)
WO (1) WO1996028775A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101427252B (zh) * 2004-07-06 2010-12-29 奎克菲尔特技术公司 集成电路数字滤波器的设计和实现的系统及方法
CN103098017A (zh) * 2010-05-28 2013-05-08 乔治·马森博格 可变指数求平均检测器和动态范围控制器

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930158A (en) * 1997-07-02 1999-07-27 Creative Technology, Ltd Processor with instruction set for audio effects
US6032168A (en) * 1997-08-15 2000-02-29 Motorola, Inc. Computer system to perform a filter operation using a logarithm and inverse-logarithm converter and methods thereof
US6023719A (en) * 1997-09-04 2000-02-08 Motorola, Inc. Signal processor and method for fast Fourier transformation
US5951629A (en) * 1997-09-15 1999-09-14 Motorola, Inc. Method and apparatus for log conversion with scaling

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439839A (en) * 1981-08-24 1984-03-27 International Telephone And Telegraph Corporation Dynamically programmable processing element
US4555768A (en) * 1983-06-07 1985-11-26 Rca Corporation Digital signal processing system employing logarithms to multiply and divide
US4700319A (en) * 1985-06-06 1987-10-13 The United States Of America As Represented By The Secretary Of The Air Force Arithmetic pipeline for image processing
US5109524A (en) * 1985-07-02 1992-04-28 Vlsi Technology, Inc. Digital processor with a four part data register for storing data before and after data conversion and data calculations
US5337266A (en) * 1987-12-21 1994-08-09 Arnold Mark G Method and apparatus for fast logarithmic addition and subtraction
US5359551A (en) * 1989-06-14 1994-10-25 Log Point Technologies, Inc. High speed logarithmic function generating apparatus
US5097434A (en) * 1990-10-03 1992-03-17 The Ohio State University Research Foundation Hybrid signed-digit/logarithmic number system processor
US5331582A (en) * 1991-12-16 1994-07-19 Pioneer Electronic Corporation Digital signal processor using a coefficient value corrected according to the shift of input data
US5365465A (en) * 1991-12-26 1994-11-15 Texas Instruments Incorporated Floating point to logarithm converter
US5553012A (en) * 1995-03-10 1996-09-03 Motorola, Inc. Exponentiation circuit utilizing shift means and method of using same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101427252B (zh) * 2004-07-06 2010-12-29 奎克菲尔特技术公司 集成电路数字滤波器的设计和实现的系统及方法
CN103098017A (zh) * 2010-05-28 2013-05-08 乔治·马森博格 可变指数求平均检测器和动态范围控制器

Also Published As

Publication number Publication date
SG73402A1 (en) 2000-06-20
KR960035301A (ko) 1996-10-24
IT1284293B1 (it) 1998-05-18
WO1996028775A1 (en) 1996-09-19
US5696986A (en) 1997-12-09
AU4768296A (en) 1996-10-02
FR2731813A1 (fr) 1996-09-20
ITRM960155A1 (it) 1997-09-11
ITRM960155A0 (zh) 1996-03-11

Similar Documents

Publication Publication Date Title
US6247036B1 (en) Processor with reconfigurable arithmetic data path
US8725787B2 (en) Processor for performing multiply-add operations on packed data
CN103092563B (zh) 控制移位分组数据的位校正的装置
CN110688158A (zh) 计算装置以及神经网络的处理系统
Shieh et al. Word-based Montgomery modular multiplication algorithm for low-latency scalable architectures
US20120278590A1 (en) Reconfigurable processing system and method
WO2002012978A2 (en) Configurable function processing cell linear array in computation engine coupled to host units
US5721696A (en) Method and system for performing an FIR filtering operation
US5761104A (en) Computer processor having a pipelined architecture which utilizes feedback and method of using same
US5771391A (en) Computer processor having a pipelined architecture and method of using same
CN1140278A (zh) 采用对数变换的计算机处理器及用方法
CN1218240C (zh) 数据处理设备及其数据处理方法
US5685008A (en) Computer Processor utilizing logarithmic conversion and method of use thereof
US5936871A (en) Method and system for performing an L2 norm operation
Matutino et al. An efficient scalable RNS architecture for large dynamic ranges
US5798957A (en) LNS-based computer processor and method of use thereof
US6732126B1 (en) High performance datapath unit for behavioral data transmission and reception
EP1052568A1 (en) Three input split-adder
WO1997012331A1 (en) Method and system for performing a convolution operation
Leu et al. Design methodology for Booth-encoded Montgomery module design for RSA cryptosystem
US6401106B1 (en) Methods and apparatus for performing correlation operations
WO2021035230A2 (en) Methods and apparatus for quotient digit recoding in a high-performance arithmetic unit
CN100461152C (zh) 数字信号处理器、数据处理方法、数字信号处理系统
CN112148371B (zh) 基于单指令多数据流的数据运算方法、装置、介质和设备
CN1629798A (zh) 二补数电路

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication