基于对数系统的电脑处理器及其使用方法 相关发明
本发明关于以下发明,这些发明被转让给本发明的相同转让人:
(1)“利用第二项的对数/转换器及其使用方法”,申请号08/382,467,于1995年1月31日申请。
(2)“利用位移装置的指数电路及其使用方法”,申请号08/401,515,于1995年3月10日申请。
(3)“利用反馈的具有管线结构的电脑处理器及其使用方法”,申请号08/520,145,于1995年8月28日申请。
上述指出的相关发明的主题在此被采用做为本发明公开的参考。
【技术领域】
本发明一般而言关于电脑处理器,特别地,是关于执行使用对数数字系统的数学运算的电脑处理器。
【发明背景】
电脑处理器为人所熟知且广泛使用于多种用途。电脑处理器的应用之一是数字信号处理(DSP)。通过定义,数字信号处理是有关信号的表示,即用一系列的数字或字符来表示,以及对这些信号的处理。数字信号处理应用广泛且其重要性在例如模式识别、无线电通信、远距通信、雷达、生物工程、及许多其它的领域中已被证实。
在每一个数字处理系统的中心是一个执行信号数学运算的电脑处理器。一般而言,由数字处理系统接收到的信号首先被转换为该电脑处理器所使用的数字格式。然后,该电脑处理器对该数字化的信号执行一连串数学运算。这些运算地目的可能是要估算该信号的特征参数或是将信号转换为在某些意义上更需要的形式。这些操作通常执行复杂的数学运算并伴密集的数学处理。电脑处理器可能执行的数学运算的范例包括矩阵乘法、递矩阵、快速付利叶变换、自相关和互相关、离散余弦变换(DCT)、多项式方程式、及微分方程,例如用于近似无限脉冲响应(IIR)和有限脉冲响应滤波器(FIR)。
此外,某些处理器计算特殊函数。特殊函数是一个根据超越函数或双曲线函数将输入转换到输出的转换函数。
函数y=f(x)是一个x的超越函数,若它不满足以下的方程式
pn(x)yn+...+p1(x)y+p0(x)=0 (1)其中系数p0(x)、p1(x)、…pn(x)是x的多项式。6个基本超越函数是三角函数:正弦,余弦,正切,及其倒数。
双曲线函数包括余弦,正弦,正切,及其倒数。
超越及双曲线函数对解决在科学和工程上产生的广泛问题相当有用。例如,在悬挂式电缆(例如电子传输线)上任一点的张力;是用双曲线函数计算。
电脑处理器随设计和功能而变动。处理器设计的一个方面是其结构。一般而言,电脑结构这一术语代表该处理器该指令集和组织。指令集是一组编程人员可看得见的用于对该处理器编程的指令。另一方面,处理器的组织代表计算的来源的整体结构和组合,例如,总线结构、存储器装置、及处理元件的数目。
有许多不同电脑结构,从复杂指令集电脑(CISC)到精简指令集电脑(RISC)为基础的结构。此外,某些结构仅有一个处理元件,而其他则包括两个或更多处理元件。尽管在结构上有差异,所有的电脑处理器有一共同目标,那就是以最低成本提供最高效能。然而,电脑处理器的效能高度地取决于该处理器应用到何种问题上,且极少数,若有的话,低成本电脑处理器能以所需的速度执行上述的数学运算,供某些在今日更需要的应用上。
因此,需要一种能以高速执行数学运算,而不昂贵的电脑处理器。此外,需要一种高数据处理速度的电脑处理器。这一处理器同时要尺寸小且消耗相当少的功率。
附图之简要叙述
本发明的特征在所附的权利要求中指出。然而,参考以下与附图有关的详细叙述,本发明的其它特征将变得较明显且本发明将更易理解,其中:
图1显示根据本发明的一个具体实施例的电脑处理器的方块图。
图2显示可当做图1所示的对数或反对数转换器的转换器的详细方块图。
图3显示代表使用图1的根据本发明的另一个具体实施例的电脑处理器的方法的流程图。
图4显示根据本发明的另一个具体实施例的电脑处理器的方块图。
图5显示代表使用图4的根据本发明的另一实施例的电脑处理器的方法的流程图。
优选实施例的详细说明
一般而言,本发明提供一种接收至少一个输入信号以及产生至少一个输出信号的电脑处理器。该输入和输出信号一般被解释为代表数字数据的数字字组。
本发明的优点是提供一种以高数据处理速度来计算特殊函数的电脑处理器。本发明的另一优点是提供一种能执行高速、包括特殊函数值和其他非特殊函数值的复杂数学运算的电脑处理器。本发明的进一步优点是它提供一种能有效地以微芯片来实现因而尺寸小且耗电少的电脑处理器。
图1显示根据本发明的一个实施例的电脑处理器的方块图。该电脑处理器包括一延迟电路10、一解码器11、一存储器电路12、一对数转换器14、一处理元件16、及一反对数转换器18。该电脑处理器使用的该对数数字系统最好是一个以2为基底的系统。
该电脑处理器的操作叙述如下。输入信号9被分配到延迟电路10和解码器11。响应该输入信号9,解码器11产生一相应的存储器地址。该存储器地址然后被传至存储器电路12。
该存储器电路12储存一个与某一个特殊函数有关的特殊函数信号的查询表,例如正弦、余弦、正切、或双曲线函数。该存储器电路12可以是一个静态随机存取存储器,动态随机存取存储器,只读存储器,或是数个寄存器。一旦接收到该存储器地址,该存储器电路12输出一个相应于被传送到该对数转换器14的特殊函数信号。
该对数转换器14对该特殊函数信号执行一对数转换函数以产生一个对数信号。该对数转换器14最好将浮点数转换为以2为基底的系统的定点对数信号。
响应该对数信号,处理元件16执行涉及该对数信号的至少一个数学运算而产生一个项信号。在广义上,该处理元件16是一个对它接收的数据执行对数的或数学的运算装置。例如,处理元件可能如将两个值求和的加法器电路般简单,或它可能如执行大量的不同运算的中央处理器般复杂。该处理元件16执行一个或多个使得产生作为输出的项信号的运算。在本发明的一个具体实施例中,该处理元件16以如下方程式来产生项信号:
y=w+x (2)
在方程式(2)中,y代表项信号,w代表一系数值,x代表对数信号。
在本发明的优选实施例中,该处理元件16基于以下方程式从一系列对数信号中产生项信号:y=w+Σi=mngixi---(3)]]>
在方程式(3)中,y代表项信号,w代表一系数值,xi代表该处理元件16所接收到的第i个对数信号,gi代表相应于第i个对数信号的指数值,i,m和n是整数。
该处理元件16的内部结构最好是以在上述指出的相关发明第2号,申请号为08/401,515所公开的该结构为基础。
反对数转换器18对项信号执行反对数转换以产生一反对数信号,最好,该反对数信号代表一浮点数。该反对数信号自身即可代表该电脑处理器的输出或它可与其他数据信号结合以产生处理器输出。
延迟电路10可让输入信号9跳过解码器11和存储器电路12。一般而言,该延迟电路10执行一恒等式函数,y=f(x)=x,其中x代表输入信号9,y代表延迟电路10输出。该延迟电路10可以是一缓冲器、寄存器、或任何其他将输入信号维持该一段时间,然后将它提供给对数转换器14的装置。最好,该期间与解码器11的输入信号9的来临和存储器电路12的相应的特殊函数信号的输出之间所经历的该潜伏期相等。该延迟电路10能让该电脑处理器直接地以特殊函数信号来交错原来的输入信号数列,而不在该对数转换器14的输入产生来源冲突。
替代性地,该延迟电路10可提供小于该解码器11/存储器电路12传输通路的潜伏期间的延迟。该延迟电路10的此具体实施例可让该原始输入信号以及其相应的特殊函数信号到达该对数转换器14而不冲突。
使能信号13被送用到解码器11和存储器电路12以让这些元件处理该输入信号9。该使能信号13同样被送到转化器15以产生一个应用到延迟电路10的反使能信号。本质上,该使能信号13控制是否输入信号9被延迟电路10或解码器11和存储器电路12所处理。当使能信号13有效时,该存储器电路12的输出被使能来使特殊函数信号到达该对数转换器14。该使能有效状态期间,该延迟电路10的输出被放置在高阻抗状态。相反地,当使能信号13非有效时,该存储器电路12输出被维持在高阻抗,而该延迟电路10输出被使能。这就避免了输入到对数转换器14的总线竞争。为了减少电能消耗,该使能信号13选择性地使能解码器11的输入。
图1只显示一个通过该电脑处理器来控制数据通路的示范性架构。对本技术领域的普通人员而言,有许多替代的电路结构可用来选择该输入信号9所采用的数据通路。例如,多路复用器/去多路复用器对可替代地用于在数据通路之间选择。
图2图示可当做图1对数或反对数转换器的详细方块图。该转换器包括一个对数存储器20,多路复用器22,第一加法器24,及第二加法器26。该对数存储器20储存数个第二阶参数和数个参数对。
该参数对和第二阶参数用最小平方法计算以估算某一范围输入信号的对数或反对数函数。每一个参数对有一零阶参数,它被储存在零阶查询表28,以及被储存在第一阶检查询表30的第一阶参数。第二阶参数被储存在第二阶查询表32中。
该转换器如下运作。输入信号34提供用于从该零阶和第一阶查询表28-30中取出相应的参数对的地址36。该输入信号34是一个长度为23位的二进制信号,以[22∶0]表示,其中该输入信号34的最重要的9位,[22∶14],被提供给对数存储器20做为地址36。此外,零阶和第一阶参数42-44位于该对数存储器20的相应于输入信号34的共同一址上。第二阶参数地址38同样从该输入信号34中导出。该第二阶参数地址用于将该第二阶母数46从该第二阶查询表32中取出。
输入信号34是一个有上半部分和下半部分的二进制信号。利用从该上半部分的与从该下半部分的第二位片连结的第一位片该第二阶参数46可从该对数存储器20中取出。
最好,输入信号34长度为23位,以[22∶0]来表示,其中上半部分包括最重要的9位,[22∶14],且下半部分包括剩下的14位,[13∶0]。第二阶参数地址38为9位数值,该数值包括与下半部分的最重要的5位连结的该上半部分的最重要的4位,例如,输入信号34的位[22∶19][13∶9]。
对数存储器20提供做为输出的相应于输入信号34的零阶参数42,第一阶参数44,和第二阶参数46。最好,该零阶参数42是一个24位数值,该第一阶参数44是一个15位值,且该第二阶参数46是一个9位值。总共有512个参数对和512个第二阶参数被储存在对数存储器20中。
乘法器22通过该位片40来乘上该第一参母数44,以产生一比例信号。虽然位片40可能包括该整个输入信号34,它最好包括该输入信号34的该14个最不重要位,[13∶0]。第一加法器24求和该比例信号和第二阶参数46以产生一个第一和。第二加法器26求和该第一和和该零阶参数42以产生一输出信号48。该输出信号48的长度最好是23位。
图2的该转换器可很容易地重新结构化以执行对数或反对数转换,或有不同基数系统或输入范围的函数,通过以不同组的参数对和第二阶参数来载入该对数存储器20。
使用图2的该转换器,IEEE标准的32位浮点数很容易被转换为对数值。以IEEE标准32位浮点数来表示的值有一个符号位,一23位尾数,和一8位指数。只有该尾数被提供给该转换器做为输入信号34。该符号位和指数皆跳过该转换器并且于稍后与该输出信号48(未显示)组合以产生对数信号。必要地,该转换器计算y=log2(1,M),其中y代表输出信号48而M代表尾数。该浮点数的指数是以2为底的值,2e,其中e代表指数。一相应于该浮点数的对数信号是通过将该输出信号48和该尾数转换后面的该指数求和而得。此和产生一个以j位分数部份和K位整数部份的固定点数格式来表示的值。该整数j和K可变动,视该转换器所需的精确度而定。
为了对固定点数执行反对数转换,分数部份被提供给该转换器做为输入信号34。该转换器计算有y=log2-1(1,F)形式的输出信号48,其中F代表该分数部份。该符号位和整数部份跳过该转换器并且于稍后与该输出信号48组合以产生根据IEEE浮点标准的反对数信号。这通过将该整数部份等于该浮点数的指数且该输出信号48等于该尾数而完成。
图3显示代表使用图1的根据本发明的另一个具体实施例的电脑处理器的方法的流程图。在方块60中,至少一个输入信号9被该电脑处理器接收。该输入信号9最好是有数个位的数字字。在方块62中,该输入信号9被解码以产生存储器地址。在方块64,相应于该存储器地址的该特殊函数信号被从该存储器电路12中取出。在方块66,对该特殊函数信号执行一对数转换以产生该对数信号。在方块68,通过执行至少一个涉及该对数信号的算术运算以产生该项信号。在方块70中,对该项信号执行反对数转换以产生该输出信号。
图4显示根据本发明的替代具体实施例的电脑处理器的方块图。不同于图1的该电脑处理器,图4所描述的该处理器能储存供数个不同特殊函数的特殊函数信号。此外,该电脑处理器的此具体实施例包括一个以上的存储器电路,因而通过在选择物理布局上提供较大的自由度而简化了集成电路设计。更进一步,通过让这些仅用于特别情况的存储器电路的选择性的启动,将该存储器分割为独立电路而减少了电能的消耗。
图4的该电脑处理器包括去多路复用器84(DE-MUX),延迟电路86,数个存储器电路88-90,多路复用器92(MUX),对数转换器94,数个处理元件96(PE),及反对数转换器102,和累加器104。
以下叙述该电脑处理器的操作。输入信号80被DE-MUX84接收。该MUX84选择性地提供该输入信号80给延迟电路86或该存储器电路88-90的任何一个。地址信号82伴随着该输入信号80被DEMUX84和MUX92接收。该地址信号82,通过延迟和存储器电路86-90中之一,被用于选择一相应的传送通路。
该延迟电路86基本上执行与参考图1所述的该延迟电路10相同的功能。然而,图4的该延迟电路86一般不需三态输出。
该存储器电路89-90的每一个可储存数个与特殊函数有关的特殊函数信号,例如,正弦,余弦,正切,或双曲线函数。结果,地址信号82选择在输入信号80上所执行的移转功能,不论是特殊函数或由该延迟电路86所提供的恒等式函数。该存储器电路88-90可以是静态随机存取存储器,动态随机存取存储器,只读存储器,数个寄存器,或任何组合。一旦接收到该输入信号80,该被选择的存储器电路输出一个相应于被传送到该MUX92的特殊函数信号。
该MUX92在该对数转换器94和延迟和存储器电路86-90之间选择性地提供一传输通路。根据该地址信号82来选择该传输通路。
对数转换器94在MUX92输出上执行对数变换函数以产生对数信号。该对数转换器94的功能和结构在图1和图2中叙述。
处理元件96通过执行涉及该对数信号的数学运算而产生数个项信号。该处理元件96的每一个最好包括在图1中该处理元件16有关的特征和功能。
该反对数转换器102对项信号执行反对数转换以产生数个反对数信号。该反对数转换器102的基本功能和结构在图1和图2中说明。然而,除了这些特征以外,图4的反对数转换器102可包括供同时接收项信号的装置。
累加器电路104将反对数信号求和以产生至少一个输出信号。通过将该对数信号累加,该累加器104可产生一代表有以下形式的多项式展开式的处理器输出信号y=Σi=0mwi[Πj=0n{f(xj)}gji]---(4)]]>
在方程式(4)中,xj代表数个输入信号,i,j,m和n是整数,y代表输出信号,wi代表系数,gji代表指数,f代表恒等函数或特殊函数。
包括特殊函数信号和规则的输入信号的示例性多项式如下:
y=w1x1+w2x2+w3xlx2+
w4sin(x2)+w5x22+w6tanh2(x3) (5)
在方程式(5)中,y代表该输出信号,Xi代表输入信号。第一特殊函数信号代表项sin(X2),而第二特殊函数信号代表tanh(x3)。
图4仅显示一个电脑处理器的示例性电路结构。对于该技术中的一般技术人员而言,将很明显的是,有许多替代的电路结构包含了本发明的精神和范畴。例如,可使用单一处理元件来替代数个处理元件96。此种结构减少了该处理器的整体大小,但却也降低了数据处理速度。另一个替代结构可提供数个反对数转换器,该转换器与该处理单元96有一对一的关系。此结构能增加数据处理量,但也增加了尺寸和电耗。
进一步的替代结构可使用单一存储器电路而非数个存储器电路88-90。该单一存储器电路有被分割为数个页的存储器空间。每一页对应于一特定地址信号并包括一特定特殊函数的特殊函数信号。此结构减少了DE-MUX84和MUX92的复杂性。然而,在集成电路上实现时,它可能需要限制设计选择的大单一存储器电路。
图5显示代表使用图4之根据本发明的其它具体实施例的电脑处理器的方法的流程图。相反于图3所示的该流程图,此流程图描述有特殊函数信号的原始输入信号的混合的处理。
在方块110中,该电脑处理器接收一序列输入信号。在此方法中,输入信号包括图4所描述的该输入信号80和该地址信号82。
下面,在方块112中,至少一个输入信号被解码以产生至少一个存储器地址。是否解码一特定的输入信号根据该输入信号的地址部份来决定。剩下的未解码的输入信号通过迟延电路86跳过存储器电路88-90。
在方块114中,相应于该至少一个存储器地址信号的至少一个特殊函信号从被选择的该存储器电路88-90之一中被取出。
在方块116中,对被取出的特殊函数信号执行对数转换以产生至少一个特殊函数对数信号。此外,对从延迟电路86来的未被解码的输入信号也执行转换以产生相应的对数信号。
在方块118中,通过执行涉及该对数信号和该至少一个特殊函数对数信号的数学运算的处理元件96产生项信号。
在方块120中,对该项信号执行反对数转换以产生反对数信号。在方块122中,累加器电路104对该反对数信号求和以产生输出信号。
总之,在此已叙述了可用于计算特殊函数的电脑处理器的概念及优选实施例。由于在此叙述的该处理器的各种具体实施例利用存储器来储存与以对数数目系统为基础的处理元件耦合的特殊函数值,他们可以大大改良的数据处理速度来执行复杂的数学运算。此外,本发明的处理器提供可让规则输入信号在处理期间交错的迟延电路。
尽管本发明的具体实施例已被显示和说明,但对熟悉本技术的人而言,将很明显的是,该公布的发明可以做各种改良,并且可假设除了上述特别说明的该优选形式之外还有许多具体实施例。
据此,所附的权利要求试图涵盖在本发明真实精神和范畴内的所有的改良。
根据条约第19条的声明
(修改权利要求4-6及8-10以改正打字错误)
权利要求书
按照条约第19条的修改
1.一种在电子计算装置中产生输出信号的方法,包括以下步骤:
接收一输入信号:
解码该输入信号,以产生一存储器地址:
从存储器电路中取出对应于该存储器地址的特殊函数信号;
对该特殊函数信号执行对数转换以产生一对数信号;
通过执行涉及该对数信号的至少一个算术运算而产生一个项信号;及对该项信号执行反对数变换以产生一输出信号。
2.一种在电子计算装置中产生输出信号的方法,包括以下步骤:
接收数个输入信号:
解码该数个输入信号中的至少一个,以产生至少一个存储器地址:
从存储器电路中取出对应于该至少一个存储器地址的至少一个特殊函数信号;
对该至少一个特殊函数信号执行对数转换,以产生至少一个特殊函数信号;
对该数个特殊函数信号之一选择性地执行对数转换,以产生至少一个对数信号;
通过执行涉及该至少一个对数信号和该至少一个特殊函数信号的至少一个算术运算,以产生数个项信号;
对该数个项信号执行反对数转换,以产生数个反对数信号;及
求和该数个反对数信号,以产生该输出信号。
3.一种电脑处理器,包括:
一个将输入信号解码以产生存储器地址的解码器;
一个供储存数个特殊函数信号的存储器电路,该存储器电路对该存储器地址进行响应而输出一相应的特殊函数信号;
一个对该相应的特殊函数信号执行对数转换以产生对数信号的对数转换器;
一个通过执行涉及该对数信号的至少一个数学运算以产生项信号的处理元件;及
一个在该项信号上执行反对应数转换以产生反对数信号的反对数转换器。
4.根据权利要求3的电脑处理器,进一步包括:
一个将该反对数信号和代表一数值的至少一个其他信号求和以产生一输出信号的累加器电路。
5.根据权利要求3的电脑处理器,进一步包括:
一个迟延电路,运作上耦合到该对数转换器,可让输入信号跳过该解码器和该存储器电路。
6.根据权利要求3的电脑处理器,其中的对数转换器包括:
一个供储存数个对数参数和数个第二阶参数的对数存储器,该对数存储器提供一个对数参数和一个相应于该特殊函数信号的第二阶对数参数做为输出;及
对数算术装置,运作上耦合到该对数存储器,通过执行涉及该特殊函数信号,该对数参数之一,和该第二阶对数参数之一的算术运算来产生该对数信号;
其中该数个对数参数利用最小平方法来计算,以估计在某一特殊函数信号上的对数函数。
7.一种电脑处理器,包括:
数个供储存数个特殊函数信号的存储器电路;
一个在输入总线和该数个存储器电路的某一存储器电路之间选择性地提供第一传输通路的去多路复用器;
一个数据总线和该具体存储器电路之间选择性地提供第二传输通路的多路复用器;
其中数据信号经该输入总线接收并且根据与该数据信号有关的地址信号,经过该第一传输通路可传送到该具体存储器电路,该具体存储器电路对该数据信号进行响应而产生相应的特殊函数信号,该相应的特殊函数信号可通过该第二传输通路传送到该数据总线;
一个对数转换器,运作上耦合到该数据总线,对相应的特殊函数信号执行对数转换,以产生一对数信号;
一个通过执行涉及该对数信号的至少一个算术运算以产生项信号的处理元件;及
一个对该项信号执行反对数转换以产生反对数信号的反对数转换器。
8.根据权利要求7的电脑处理器,其中该数个存储器电路的每一个储存该数个与各自的特殊函数有关的特殊函数信号。
9.根据权利要求7的电脑处理器,其中该相应的特殊函数信号代表超越函数或双曲线函数的值。
10.根据权利要求7的电脑处理器,进一步包括:
一个迟延电路,运作上耦合到该去多路复用器和该多路复用器,它可让该数据信号跳过该数个存储器电路。