CN101091157B - 用于处理数字数据的数字处理器和方法 - Google Patents

用于处理数字数据的数字处理器和方法 Download PDF

Info

Publication number
CN101091157B
CN101091157B CN2004800439691A CN200480043969A CN101091157B CN 101091157 B CN101091157 B CN 101091157B CN 2004800439691 A CN2004800439691 A CN 2004800439691A CN 200480043969 A CN200480043969 A CN 200480043969A CN 101091157 B CN101091157 B CN 101091157B
Authority
CN
China
Prior art keywords
data word
dna
cell
group
processing unit
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.)
Expired - Fee Related
Application number
CN2004800439691A
Other languages
English (en)
Other versions
CN101091157A (zh
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN101091157A publication Critical patent/CN101091157A/zh
Application granted granted Critical
Publication of CN101091157B publication Critical patent/CN101091157B/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/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/491Computations with decimal numbers radix 12 or 20.
    • G06F7/4915Multiplying; Dividing
    • 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/491Computations with decimal numbers radix 12 or 20.
    • G06F7/492Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
    • G06F7/493Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination the representation being the natural binary coded representation, i.e. 8421-code
    • G06F7/496Multiplying; Dividing
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/491Indexing scheme relating to groups G06F7/491 - G06F7/4917
    • G06F2207/49195Using pure decimal representation, e.g. 10-valued voltage signal, 1-out-of-10 code
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/4833Logarithmic number system

Abstract

本发明描述了一种新型计算机体系结构。数字处理器包括处理单元,所述处理单元包括用于把N-位数据字的第一部分解码成仅具有一位高度的数字代码。这些位在算术模块中被处理,所述算术模块接收来自两个处理单元的输出、以及由指令电路所生成的触发信号。该指令电路通过读取N-位数据字的第二部分而接收关于要处理的数据的经验。该第二部分可以被分成几个所谓的DNA组。所述DNA组包含有关要处理的数据的符号/值的类型的消息。利用关于数据的该经验,可以执行非常快速且简单的并行处理。

Description

用于处理数字数据的数字处理器和方法
技术领域
本发明涉及数字处理。本发明尤其涉及一种用于处理以基于特定遗传学的方式来编码的数据字的数字处理器。
背景技术
现在在数字计算领域存在三种主要的发展。
1.VLSI技术的改进,例如降低t周期并且提高每个芯片上晶体管的有效数目;
2.体系结构的发展,象获取、影响t周期、指令数目(Ninstr)以及CPI等等的流水线指令、并行指令;
3.编译器和或汇编程序的发展,尤其是指令级并行性的开发,这同样影响了Ninstr和CPI。
现在我们到达了VLSI技术的极限能力,10nm以下电子刚好经由芯片内线路之间的绝缘而穿过(量子动力学效应)。增大的功耗强制使得较低电源电压(3.3V)和具有较低电压的VLSI处理的使用成为可能。然而,设计复杂性以及二进制不兼容性正在按指数规律增加。这就是为什么发展的可扩展性到达了其极限的原因之一。除那些因素之外,不同级别的兼容性以及现有软件和硬件的可扩展性的问题使得新产品类型的实现按指数规律地复杂和困难。此外,需要执行简单的小数运算的逻辑运算的数量相对较高。
从十进制数据向二进制数据的翻译次数及相反进行的翻译次数需要一定量的有效计算能力输出(ECO)。与有效计算能力输入(ECI)的数量相比,ECO是非常低的,也就是说,关于计算能力的回报(Return On Computing power,ROC)(其中ROC=ECO/ECI)是非常小的。上个例子中计算的ROC小于1/256。当把第4或第5级计算机语言编译成机器语言(例如十六进制或BCD或ASCII码)时,二进制位的数目甚至会增大,这将进一步导致ROC的值甚至变得更低(即更糟)。
发明内容
本发明的一个目的是引入提供较高计算速度的另一种类型的计算机体系结构。该目的是通过提供数字处理器而实现的,所述数字处理器包括:
-第一处理单元,用于接收第一N-位数据字,以及包括:
-第一解码器,用于接收所述第一N-位数据字的第一部分并且把所述第一N-位数据字的所述第一部分解码成第一D-位数据字,其中N,D是正整数,以及
-第一读出电路,用于读出所述第一N-位数据字的第二部分的特定位以便产生第一经验信号;
-第二处理单元,用于接收第二N-位数据字,以及包括:
-第二解码器,用于接收所述第二N-位数据字的第一部分以及把所述第二N-位数据字的所述第一部分解码成第二D-位数据字,以及
-第二读出电路,用于读出所述第二N-位数据字的第二部分的特定位以便产生第二经验信号;
-多个算术模块,每个算术模块用于接收所述第一和所述第二D-位数据字,并且用于对所述第一和所述第二D-位数据字执行预定算术运算;
-至少一个指令电路,用于接收输入指令信号,以及用于利用所述第一和所述第二经验信号而把所述输入指令信号转换成触发信号,以及用于触发所述多个算术模块之中的一个算术模块,以便产生输出数据字。根据本发明的处理器具有允许快速且并行地处理数据的新型体系结构,其中每次计算具有最少数目的逻辑门操作。
这个新型体系结构需要考虑到计算机体系结构的设计的另一方式。利用本发明,有可能制造出超级标度和超级流水线处理器(VLIW),其利用新型计算机体系结构来运算。本发明是基于下述理解之上的,即染色(dye)的密度(其可能是MOS/CMOS)不是前文中所提及的主要发展的最重要问题。计算能力的限制(也就是每秒逻辑运算次数)是要解决的关键问题。如在上述例子中所示的那样,当前处理器中的ROC值是很低的。在根据本发明的处理器中,ROC值被显著地提高了,如根据所示例子而变得显而易见的那样。
在本发明的另一个方面中,提供了一种计算机,其包括如上所述的数字处理器。
在又一个方面中,提供了一种如权利要求8所述的用于处理数字数据的方法。
附图的简要说明
下面,将参考一部分附图而阐明本发明,其仅是用于说明的目的而不是要限制如在所附权利要求中所定义的保护范围,其中
图1显示了根据本发明实施例的数字处理器的一部分,
图2是由根据实施例的处理器所执行的计算的简单例子,
图3是计算的另一个例子,
图4显示了乘法254x2的例子,
图5示意地描述了I/O总线和数字处理器之间的关系,
图6显示了用于乘以十进制数的原理的例子,
图7是列出在本发明的一个实施例中所使用的可能编码的表格,以及
图8是包含在本发明的实施例中的解码器的硬件实现的例子。
具体实施例详述
在图1中,显示了根据本发明的实施例的数字处理器的一部分。数字处理器包括至少第一处理单元1和第二处理单元2。每个处理单元1、2都包括解码器3、4,其用于把包括N位的输入数据字的第一部分(参见箭头6、8)解码成分别描述为5、7的D-位数据字。处理单元1、2还包括读出电路9、11(也称为DNA解码器),其用于接收输入数据字的第二部分。读出电路9、11把N-位数据字的第二部分转换成所谓的经验信号13、15,所述经验信号13、15被导向指令电路17。指令电路用于接收输入指令信号19并且根据所述经验信号13、15把该输入指令信号19转换成触发信号。数字处理器还包括多个算术模块25、27、29、31,其用于对D-位数据字5、7执行算术运算,所述D-位数据字5、7是从第一和第二处理单元的解码器3、4中接收的。每个算术模块25、27、29、31可以实施不同的算术运算,诸如乘、加、减、除等等。指令电路17用于产生触发信号33,所述触发信号被发送到不同的算术模块25、27、29、31。只有当算术模块25、27、29、31接收到来自指令电路17的触发信号时,所述算术模块25、27、29、31才执行它们的特定算术运算。以利用与用于编码输入数据字的编码相同的编码的格式来表示特定算术运算的结果35。采用这种方式,可以将算术模块的输出输入到其他处理单元中,以进行进一步的处理。
在本发明的实施例中,解码器3、4用于把二进制代码转换成D-位数据字,其是以其中每次仅一位有效的格式来编码的。解码器3、4例如包括10个输出门,每个输出门表示一个十进制数。解码器的每个输出门可传递给特定算术模块,所述算术模块然后只须执行关于两个位的计算。这就实现了算术模块25、27、29、31的非常简单的体系结构,随后其将对数字处理器的速度十分有利。
在图2中显示了计算的一个简单例子。在这个例子中描述了一个非常简单的乘法1x3(十进制)。值1被存储在寄存器40中,寄存器40是第一处理单元1的一部分。应当注意到这个寄存器可能是I/O总线的一部分,向处理单元1、2提供数据。十进制数3被存储在寄存器41中。两个十进制数都是二进制编码的。第一N-位数据字40的第一部分被输入到解码器3,解码器3把该数字值转换成第一D-位数据字,其中仅一个输出门为高,在这种情况下符号为“1”的输出门为高。其他输出门为低并且不是这个例子所关心的。第二N-位数据字41的第一部分被输入到解码器4中,解码器4把它转换成第二D-位数据字,其中仅输出门“3”为高。解码器3、4的输出被发送到乘法器43,乘法器43包括“与”门和两个“或”门46、47。图2还显示了指令电路17的例子,指令电路17接收指令信号19,指令信号19的值为<0>。在这种情况下指令电路17包括一个NAND51,NAND51接收指令信号19和来自两个N-位数据字的经验数据部分中的特定位的数据。两个位表示该取决于所述经验信号13、15信元主体是否包含数值。此时,它们都包含<0>,其在这种情况下意味着两个值都是数值。指令电路17把触发信号53发送给乘法器43,以便触发乘法器。这个乘法的结果是产生了数字代码00011,参见输出缓冲器54。应当注意的是输出缓冲器54可能是另一个处理单元的输入缓冲器,未显示。
在图2的例子中,乘法器43还包括反相器57,反相器57连接到输出缓冲器54的输入门以填充与涉及输出值是数值的信息有关的位。在这种情况下<0>被存储在输出缓冲器54的第二部分55的适当位置中。应当注意到经验数据向输出缓冲器54中的这种填充也可以由指令电路17来执行。
参考图3来阐明另一个例子。在这个例子中,以被称为ABGED编码的特定格式来编码所处理的N-位数据字。稍后在说明书中将参考图5和7更详细地阐明这个ABGED编码的细节。
图3显示了102x103的计算(即100x1000十进制)。值102以ABGED编码格式被存储在寄存器60中,这意味着该信元主体包含<00010>并且经验数据中的特定位(即数据字的第二部分)是<1>,表示信元主体包含指数值这样的事实。值103被存储在寄存器61中,参见图3。每个解码器3、4都把数字信元主体数据解码成D-位数据字,所述D-位数据字被输入到乘法器63和加法器65中。指令电路17经由读出电路接收来自输入N-位数据字的第二部分的经验信息,读出电路没有被显示。指令电路17接收乘法指令信号19并且把它转换成触发信号75。在这种情况下,触发信号75被发送到加法器65,而不是发送到多路复用器63。这是存在于输入数据字的第二部分中的经验的结果。这个经验是由特定位来表示的,其接着触发指令电路中的适当的逻辑门。这将产生触发信号,其间接地体现出可以通过把指数相加并保持底数不变而把具有相同底数的两个指数值相乘的算术经验。加法器65将填充输出寄存器77,其中利用值<00001>和数据字的第二部分来填充信元主体,表示将以指数位E1为<1>的方式来填充输出数据字的经验(例如结果具有底数10(十进制))。
根据本发明,可以由多个信元(称为′信元链′)来表示大于一个十进制的十进制数。例如,十进制数254可以由三个信元的信元链来表示。三个十进制数中的每一个都被编码成二进制代码并且存储在数据字的第一部分中。最好是,N-位数据字包含至少26位。信元的第二部分包含表示关于存在于信元主体之中的值的其他经验(即,数据字的第一部分)的位。根据实施例,每个信元是由一个有效处理单元来表示(即处理)的,因此,信元链是由许多处理单元表示的。这些处理单元可在单个的IC(集成电路)或多个IC中被实现。
根据本发明的实施例,数字处理器包括多个处理单元、以及多个算术模块和至少一个指令电路,其中所述多个处理单元中的每一个用于把N-位数据字的第一部分解码成D-位数据字,并且用于把所述D-位数据字输出到所述多个算术模块的至少一个之中,取决于由包含在所述多个处理单元中的读出电路所产生的经验信号,所述多个算术模块用于由所述至少一个指令电路所产生的触发信号来触发。
参考图4利用一个简单的例子来阐明这个实施例。在图4中显示了乘法254x2的例子。这个值254是由三个信元来表示的,而十进制数2是由一个信元来表示的。每一个信元是由一个处理单元来处理的。在图4中仅讨论了存储在信元主体中的信息。在图4中,信元主体80<00010>被输入到解码器85。具有值<00101>的信元主体81被输入到解码器86,而具有值<00100>的信元主体82被输入到解码器87中。另外,具有值<00010>的信元主体90被输入到解码器91。如从图4中可见的那样,解码器85、86、87、91连接到算术模块。解码器85和解码器91连接到算术模块93,解码器86和解码器91连接到算术模块95。解码器87和解码器91连接到算术模块97。如图2中所阐明的那样,算术模块会产生结果,所述结果会被发送到下列处理单元100、104、101、102的输入端。图4仅显示了这些下列处理单元的一部分。算术模块93把它的数据输出到处理单元100,算术模块95把它的值输出到处理单元101以及算术模块97把它的值输出到处理单元102。算术模块95正在处理乘法5x2,这产生十进制数10。由于这个十进制数不能由一个处理单元来表示(注释:一个处理单元只能表示一个符号,即一个十进位数),所以另一个算术模块94和处理单元104被触发。
这个触发信号是由某种来自算术模块95的′溢出′信号来实现的,可能经由独立的指令电路而来的,其中所述独立的指令电路未显示。由于算术模块94和处理单元104的特定结构,所以在处理单元104的输出端实现了输出值<0001>。处理单元104经由加法器而连接到另一个处理单元107。要注意在这种情况下加法器包括连接到处理单元107的适当输入门的两条线。这个加法器还接收来自处理单元100的输入。现在,作为处理单元104的触发并且来自指令电路的触发信号具有关于处理单元101无法表示(即包括)信元链的最左数字的经验的结果,加法器将被触发。加法器进行相加的结果(即十进制数5)是由处理单元107表示的。这个乘法的最终结果是三个有效的处理单元107、101和102,包括表示十进制数508的ABGED编码。
根据本发明的优选实施例,第二部分包括三个组,即,DNA-A组,DNA-B组以及DNA-C组。在表1中,显示了一个示意图,其中阐明了信元的结构,尤其是不同DNA组和信元主体之间的关系。
表1:
如根据表1而看见的那样,在优选实施例中,信元主体包括表示字母数字符号的五个位。DNA-A组包含表示DNA-C组和DNA-B组的位串的长度的值。除了这个长度信息之外,DNA-A组还包括用于表示要处理的特定数量的数据、或特定操作的开始或结束的一组位。DNA-A组中的这个第三单环的可能编码是:
第一位等于0,那么信元主体包含数据,如果等于1,那么信元主体是操作码:
001数据的开始
010数据的结束
101操作的开始
110操作的结束。
DNA-B组包含有关信元主体中包含哪种数据的消息。
在优选实施例中,DNA-C组具有可变长度。因为信元具有可变长度,所以大于26位,需要不止一个单元来存储信元。有几个寄存器单元(我把这个称作DNA-映射寄存器),其包含关于DNA-A、DNA-B和DNA-C的长度的信息以及每个信元的位置。数据的映射可以是串行和/或平行地执行的。
图1所示处理电路25、27、29、31都执行某些算术运算。应当注意到处理电路的数目不局限于四个,而可以是更多。
图5显示了可被用于根据本发明的处理器中的I/O总线600的配置的例子。I/O总线管理器(参见601)的功能是通过读取DNA-A组和保存这个信息来分析输入数据的结构。例如,特定信元从第1位开始并且它在从右到左的第26结束。I/O总线600的大小是相对灵活的。外部I/O总线602具有均一大小(这取决于所使用的插脚数目)。I/O总线600的灵活性是由I/O总线管理器601来实现的,I/O总线管理器601读取并计算信元链内下一个信元的下一个开始位置。这个信息被存储在位置寄存器中,未显示。当所有位置都被存储在位置寄存器中时,由I/O总线600来创建信元和信元链的映射。
图6显示了用于乘以十进制数的原理的例子,这是由数字处理器中的处理电路来实现的。通过经由逻辑门来把某些输入门连接到处理电路的输出门而在处理电路中实现该原理。这意味着具有乘法器和多个值的图6所示的表被硬连接在处理电路中。技术人员应当清楚如何实现加法器、除法器、比较器。
利用根据本发明的数字处理器,有可能在机器级上处理字母。这意味着像MOV这样的字可以采用例如ABGED编码来进行编码并且由处理器进行处理,其中处理器将处理包含信元“M,O,V”的信元链。正在处理的字符由处理单元存储为高级计算机语言(诸如汇编程序或C)的字符,并且它们可直接由数字处理器的硬件进行解释。诸如英语或土耳其语之类的自然语言可用于执行数字处理器。一个或多个编程字符的组合可由一个或多个处理单元来执行。处理字母可以像例如主语、动词、时间、地点以及时间等等这样的句子结构那样被组织。例如,利用第一个3位,处理命令“contr-p”的符号由DNA-A组进行存储,这是单环1(继之以单环2:length_A以及继之以单环3:length_B)。
图7显示在本发明的实施例中所使用的可能编码的表。该表显示了从数值到大写字母进行变化的符号的数字编码。该表的每行都包含具有固定长度的简单信元。信元的长度可以变化,如上所述。信元主体的位称为C(a)、C(e)、C(d)、C(c)、C(b)。DNA-C组包含关于由信元主体所表示的符号的位置。DNA-C中的位被称为DNA-C(a)、DNA-C(d)、DNA-C(c)、DNA-C(b)。此外,图7的表包含DNA-B组和DNA-A组,它们包括位DNA-B(a)、DNA-B(d)、DNA-B(c)、DNA-B(b)以及DNA-A(a)、DNA-A(c)、DNA-A(b)。下面,将更详细地阐明该位的含义。
C(a)关键字位,这是一个正负号位,用于提供关于信元链中的信元的位置的DNA-C处理器信息,(当信元主体是根据DNA-B的数字时)其可以在逗点或分数的前面或者后面。这个表示法允许10^30的位置(这意味着我们可以建立例如像“123.....(其具有10^30个数字),1233......08(在逗点后有10^30个数字)”
C(e),C(d),C(c),C(b)二进制代码,用于表示符号或指数值,
例子:Core=<00011>表示十进制数3,
Core=<01101>表示小数点,Core=<>
DNA-B组通知算术模块信元在信元链内具有哪个位置。信元链例如是543,表示十进制数。在ABGED编码中,这个十进制数可以由信元链中的三个信元来表示。信元链内的位置被编码于DNA-B组中。这个组DNA-B(a)的第一位是关键字位。如果这个关键字位等于0,那么这个信元在信元链中的位置是在十进制逗点之前。请注意在英语表示法中,采用的是十进制小数点(decimal point)而不是逗点(comma)。因此,如果在本说明书中采用了术语十进制逗点,那么它还可以被读作是十进制小数点。如果信元主体的关键字位,即C(a),等于1,那么信元在信元链中的位置是在十进制逗点之后。如果在十进制数中没有逗点,取决于要完成哪种处理,则DNA-B管理器创建一个逗点以便能够执行算术指令读取。利用例子来阐明这一点:
25,5[输入A]加上1[输入B](两个数字都是十进制计数法)。
输入B没有逗点;但是能够进行正确的计算,数字处理器在输入B引入两个新信元并且这些信元具有下列信元链编码:
DNA-A:helix1:<001>helix2:<001>helix3<001>;
DNA-B:<000>;
DNA-C:<00000>;
Cell-core:<01101>这意味着逗点,
DNA-A:helix1:<001>helix2:<001>helix3<001>;
DNA-B:<000>;>;DNA-C:<10001>;
Cell-core:<00000>这意味着零。
所需要的零的数目取决于输入A具有的位数。这意味着如果逗点之后的位数是二,则DNA-B必须引入相同数目的零(即,两个零)。在创建附加信元(即触发附加处理单元)之后,现在有可能执行正确的指令,在这个例子中:
输入1   25,5
输入2   1,0 +
和      =26,5
在ABGED编码中,N-位数据字的经验部分还包括称作DNA-B组的组,包括对关于该主体中所编码的符号的类型的经验进行编码。这个DNA-B组例如包括四个位,如图7的表中所示。第一位DNA-B(a)是关键字位。如果这个关键字位等于0,那么信元主体包含数值。
DNA-B组可包括几个单环。单环被定义为DNA-组内的一组基因(即位),其彼此相关并且表示信元的DNA部分的特定解释。出于简单性考虑,在下面的例子中,DNA-B组仅包括具有四位字节的一个单环。
DNA-B组位的第一集合(即单环)意味着正数<0000>=+数。
DNA-B第一单环
关键字位a=0数值
<adcb>遵循基因的顺序
0000=+数
0001=恒定值底数10(系数=10)指数=10^+n[n=正数]
0011=恒定值底数10(系数=10)指数=10^-n[n=负数]
0100=可变底数x^n(BCD)[x=正数]{在这个DNA中存储了x-值}
0101=可变底数-x^n(BCD)[x=负数]{在这个DNA中存储了x-值}
0110=可变底数x^n(BCD)[x=正数]{在这个DNA中存储了n-值}
0111-可变底数x^-n(BCD)[n=负数]{在这个DNA中存储了n-值}
如果关键字位DNA-B(a)等于1,那么信元主体包含字母、字符或逻辑函数。
关键字位a=1字母/字符/逻辑函数
<adcb>遵循基因的顺序
1000=大写字母
1001=小写字母
1010=阿拉伯字母
1011=特殊阿拉伯字母
1100=运算函数
1101=字符
第三DNA组,称作DNA-A组,包括三个单环,见表1。在第一个单环中,存储了关于DNA-B组中的单环数目的信息。在第二个单环中,存储了关于DNA-C组中的单环数目的信息。在第三个单环中,信息被存储在操作或数据的开始和结束,如上所述。利用这一点,DNA-A组创建了处理具有灵活长度的编码数据字的可能性,使得有可能表示非常大量的值和/或符号串。
如果DNA-A的第二个单环是<0010>,参见表1,这指的是信元-主体在信元链中的位置是由两位数字表示的,因此在这种情况下它能在10到99之间变化。
在图9中,显示了解码器的硬件实施的例子。解码器包括用于从输入门和/或其他逻辑门接收数据的几个逻辑门。
ABGED编码包含″位级经验″,即哪种值或符号被存储在信元主体中。通过分析不同DNA组中的位,可以使用关于要处理的数据的经验。这使得对相对短数据字执行数学运算成为可能。
通过引入基因(单环)链和信元的概念,人们可以在处理器内‘创建课本(textbook)’。结果例如是存储器映射可以从0-9十进制、指数从0到9以及对数范围0到9进行寻址。那些存储器映射还可以是负值。
同十六进制系统(例如000000H或FFFFFFH)比较起来,在ABGED编码中数值范围可以是
000....00000-999.....99999(64个数目的9)AAA....AAAAA-ZZZ...ZZZZZ(也是64个字符)
寻址可以采用连续顺序来完成,或者可以对寄存器地址赋予特定名称,所述名称以动词定义了由所述寄存器所表示的所述信元的特定含义。那些动词可以像自然语言语法那样来组织,以便有可能以动词的顺序(即,句子)进行寻址。
如果我们想使所有寄存器地址的使用都有效,那么那些范围例如是从0到9;A到Z;a到z;0到-9;指数标度的0到9;“+”或“-”对数标度的0到9。
在与扩展十进制相结合的字母词汇单词中可以完成寻址。甚至计算机操作指令本身都可以由机器级上的特定句子(即字链)来表示,而不必需要从较高的计算机语言翻译到机器代码,如利用例如汇编程序时所必需的那样。
通过处理ABGED编码,在执行实际计算之前利用关于操作数(例如十进制数或指数值)的经验。在实施例中,信元的主体中的数字数据被解码成十进制数。利用那些值有可能在十进制系统中对它进行处理。除十进制系统之外,使用不同的标度,例如像指数或对数标度。在根据本发明的处理器中,基本代数规则被实现为硬连接。下面,显示了十进制计算的一部分例子,所述十进制计算是利用与人们通常所完成的相同的代数规则由本发明进行处理的。
300+1200=1500
3*10^2+12*10^2=(3+12)*(10^2)=15*10^2
5,24*10^5-3,12*10^2=(5240)(10^2)-(3,12)(10^2)=(5240-3,12)*10^2=5236,88*10^2=52366,另一种可能性是524000-312=52388
300*1200=>(3*10^2)*(12*10^2)=(3*12)*(10^(2+2))=36*10^4=360.000
在根据本发明的数字处理器中,同技术现状比较起来,一次计算的逻辑运算的数目变小了。利用一个例子来阐明这一点。在这个例子中,利用BCD码来执行十进制运算32*234。
32                     00110010
234               001000110100
             -------------------------
            00000000
           00000000
          00110010
         00000000
        00110010
       00110010
      00000000
     00000000
    00000000
   00110010
 00000000
00000000
---------------------------------------------
7488=0110010001000100(BCD)
这个计算的ROC是0,0641(计算的方式:5数值/以上所计数的触发器780=0,0641)。如果该值随着5BCD-数值而增大,则这个计算会增大指数。
利用根据本发明的数字处理器,随着利用扩展的十进制系统(ABGED)对位级人工智能的发展,将把计算量减少到
234
32*
468
702
7488(ABGED)10个触发器。ROC(ABGED)=5/10=>0,5
和BCD相比的ABGED比现有的系统更好0,5/0,000641=780%。但是,如果包括在处理器从编译级翻译到二进制级的触发器运算量,则这个ROC值会增大。
略语表
BCD二-十进制
DNA动态数值访问
ABGED基于人工经验的二进制编码扩展指数十进制(以阿拉伯文写的ABCD被读作AB-GED)。

Claims (8)

1.一种用于处理数据字的数字处理器,数据字被构成为信元,所述信元具有:作为数据字的第一部分的表示符号的信元主体,所述符号表示操作或数据;具有三个单环的DNA-A组,单环被定义为一组位,第一单环指示DNA-B组的长度,第二单环指示DNA-C组的长度,以及第三单环指示由所述信元主体所表示的符号的开始和结束;包括一组位并且包含关于由所述信元所表示的符号的种类的信息的所述DNA-B组;以及包括一组位并且指示相应符号在信元链中的位置的所述DNA-C组,其中信元链表示由多个信元表示的、大于一个十进制的十进制数,所述数字处理器包括:
-第一处理单元(1),用于接收第一N-位信元(6),以及包括:
-第一解码器(3),用于接收所述第一N-位信元(6)的第一部分并且把所述第一N-位信元(6)的所述第一部分解码成第一D-位信元主体(5),其中N、D是正整数,以及
-第一读出电路(9),用于读出所述第一N-位信元(6)的第二部分的所述DNA-A组、所述DNA-B组以及所述DNA-C组,以便产生第一经验信号(13);
-第二处理单元(2),用于接收第二N-位信元(8),以及包括:
-第二解码器(4),用于接收所述第二N-位信元(8)的第一部分,以及把所述第二N-位信元(8)的所述第一部分解码成第二D-位信元主体(7),以及
-第二读出电路(11),用于读出所述第二N-位信元(8)的第二部分的所述DNA-A组、所述DNA-B组以及所述DNA-C组,以便产生第二经验信号;
-多个算术模块(25,27,29,31),每个算术模块(25,27,29,31)用于接收所述第一和所述第二D-位信元主体(5,7),并且用于对所述第一和所述第二D-位信元主体(5,7)执行预定算术运算;以及
-至少一个指令电路(17),用于接收输入指令信号(19),以及用于利用所述第一和所述第二经验信号(13,15)把所述输入指令信号(19)转换成触发信号(33),以及用于触发所述多个算术模块(25,27,29,31)之中的一个算术模块(25,27,29,31),以便产生输出数据字(35)。
2.根据权利要求1的数字处理器,其中所述解码器(3,4)用于把二进制代码转换成其中每次仅一位有效的输出代码。
3.根据权利要求1的数字处理器,其中每个所述解码器都包括十个输出门,每个输出门表示一个十进制数值。
4.根据权利要求1的数字处理器,其中所述处理器包括多个处理单元、多个算术模块和至少一个指令电路,
其中所述多个处理单元的每一个都用于把N-位数据字的第一部分解码成D-位数据字,以及用于把所述D-位数据字输出到所述多个算术模块的至少一个,所述多个算术模块根据由包含在所述多个处理单元中的读出电路所产生的经验信号,而由所述至少一个指令电路所产生的触发信号来触发。
5.根据权利要求1的数字处理器,其中所述第一和第二N-位数据字的所述第二部分包括位的三个操作组。
6.根据权利要求1的数字处理器,其中N至少是26位。
7.一种计算机,包括根据权利要求1的处理器。
8.一种用于处理数字数据的方法,包括下述步骤:
-读取第一N-位数据字;
-把所述第一N-位数据字的第一部分解码成第一D-位数据字,其中N,D是正整数;
-读出所述第一N-位数据字的第二部分的特定位,以便产生第一经验信号;
-读取第二N-位数据字;
-把所述第二N-位数据字的第一部分解码成第二D-位数据字;
-读出所述第二N-位数据字的第二部分的特定位,以便产生第二经验信号;
-利用所述第一和所述第二经验信号而把输入指令信号转换成触发信号;
-根据所述触发信号,对所述第一和所述第二D-位数据字执行特定算术运算以便产生结果,其中所述一个特定算术运算是多个预定算术运算中的一个。
CN2004800439691A 2004-07-12 2004-07-12 用于处理数字数据的数字处理器和方法 Expired - Fee Related CN101091157B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NL2004/000505 WO2006006842A2 (en) 2004-07-12 2004-07-12 Digital processor and method of processing digital data

Publications (2)

Publication Number Publication Date
CN101091157A CN101091157A (zh) 2007-12-19
CN101091157B true CN101091157B (zh) 2010-09-01

Family

ID=34958148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800439691A Expired - Fee Related CN101091157B (zh) 2004-07-12 2004-07-12 用于处理数字数据的数字处理器和方法

Country Status (3)

Country Link
EP (1) EP1831782A2 (zh)
CN (1) CN101091157B (zh)
WO (1) WO2006006842A2 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182236B (zh) * 2014-08-28 2017-12-12 北京航空航天大学 一种基于遗传密码的软件通路编解码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002019093A1 (en) * 2000-08-31 2002-03-07 Intel Corporation Method and apparatus for flexible data types
CN1396519A (zh) * 2002-08-26 2003-02-12 中国电子科技集团公司第十三研究所 可编程计数比较器
CN1468396A (zh) * 2000-08-04 2004-01-14 自动平行设计公司 并行计数器和用于执行乘法的逻辑电路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5971542A (ja) * 1982-10-18 1984-04-23 Nec Corp 演算処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1468396A (zh) * 2000-08-04 2004-01-14 自动平行设计公司 并行计数器和用于执行乘法的逻辑电路
WO2002019093A1 (en) * 2000-08-31 2002-03-07 Intel Corporation Method and apparatus for flexible data types
CN1396519A (zh) * 2002-08-26 2003-02-12 中国电子科技集团公司第十三研究所 可编程计数比较器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tony R.Kuphaldt.principles of digital computing:Look-Up Tables.http://www.allaboutcircuits.com/vol_4/chpt_16/2.html.2003,4 *

Also Published As

Publication number Publication date
CN101091157A (zh) 2007-12-19
EP1831782A2 (en) 2007-09-12
WO2006006842B1 (en) 2006-07-27
WO2006006842A3 (en) 2006-06-01
WO2006006842A2 (en) 2006-01-19

Similar Documents

Publication Publication Date Title
Maini Digital electronics: principles, devices and applications
Fabricius Modern digital design and switching theory
Shiva Introduction to logic design
CN105049061B (zh) 基于超前计算的高维基极化码译码器和极化码译码方法
CN101685383A (zh) 计算器、基于直接对阶的自由精度浮点数的运算电路
CN103348300A (zh) 计算函数的函数值的装置和方法
US20060267810A1 (en) Nb/mb coding apparatus and method using both disparity independent and disparity dependent encoded vectors
CN102736888B (zh) 与数据流同步的数据检索电路
Karim et al. Digital design: basic concepts and principles
WO2018204898A1 (en) Fast binary counters based on symmetric stacking and methods for same
CN109144473A (zh) 一种基于冗余odds数的十进制3:2压缩器结构
CN102253822B (zh) 一种模(2^n-3)乘法器
Saha et al. Digital principles and logic design
CN101091157B (zh) 用于处理数字数据的数字处理器和方法
CN102073473A (zh) 基于fpga的十进制浮点乘法器设计
CN101930354A (zh) 微处理器及其执行指令的方法
CN111310909B (zh) 一种浮点数转换电路
US5822233A (en) Digital arithmetic calculator and digital computer using non-redundant (2N+1) notation system with a radix of (2N+1)
Borowik et al. Theory of digital automata
CN100426219C (zh) 一种集成电路中的数据运算方法及装置
CN102929575B (zh) 一种模(2n+3)乘法器
Rajaraman et al. An introduction to digital computer design
CN103699729B (zh) 模乘法器
CN102955682B (zh) 一种模(23n-2n)乘法器
Ndjountche Digital electronics 1: Combinational logic circuits

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100901

Termination date: 20120712