发明名称 数字绳码编码解码及加减乘除倒数算术电路设计的方法
摘要 计算机及单片机的编码与算术运算采用二进制规则,用二进制规则进行算术运算必须发生进位与借位,进位与借位极大地影响运算速度。本发明是一种运算码的编码、解码、算术运算的方法,构建的算术运算电路是把二进制码编码成运算码,由运算码进行算术运算,运算结束后再把运算码解码成二进制码。优点是电路级数少,把二进制数操作数(整数、定点数、浮点数)送入运算电路到二进制运算结果从电路中输出,加减运算的电路级数小于10级,乘法运算与倒数运算的电路级数小于25级,除法运算的电路级数小于45级。所用的电子元件少,不仅能集成到计算机的CPU里,还能集成到单片机的CPU里。
申请公布号 CN101692200A 申请公布日期 2010.04.07
申请号 CN200810086016.3 申请日期 2008.03.11
申请人 魏营隆 发明人 魏营隆
分类号 G06F7/38(2006.01)I 主分类号 G06F7/38(2006.01)I
代理机构 代理人
主权项 数字绳码编码解码及数字绳码加减乘除倒数的算术电路设计方法计算机进行算术运算采用的是二进制码。用二进制码进行算术运算要发生进位或借位,每进行一次进位或借位都需要一层电路,所以,二进制码进行算术运算所需电路级数多,运算速度慢。本方法是把二进制码编码成数字绳码,用数字绳码进行算术运算不再发生进位或借位,运算结果再解码成二进制码。其特征是:计算机进行算术运算时,高电平为1码,低电平为0码。数字绳码是把0码用虚结表示,把1码用实结表示,由实结与虚结组合起来表达数据;一条数字绳的结数是实结数与虚结数的和,一条数字绳所表达的数值等于该条数字绳内所有实结数的和。数字绳内的实结与虚结可以任意组合排列,实结自数字绳的一端起排列并且所有的实结都相邻的数字绳为标准数字绳,用标准数字绳表达数值;标准数字绳的实结起始端为数字绳首端,另一端为数字绳末端;当数字绳内的实结或实结段不以数字绳的首端为起始端或可能不以数字绳的首端为起始端时,要把实结或实结段平移到数字绳的首端;当把两条数字绳连接成一条标准数字绳时,先把两条数字绳通过实结或实结段平移成为标准数字绳,把两条标准数字绳连接起来成为一条数字绳,再通过平移实结或实结段成为标准数字绳;当数字绳的实结或实结段与虚结或虚结段相互交错时,把数字绳视做多条数字绳,每四条数字绳分成一组平移成一条数字绳,最终合并成一条标准数字绳;当多条数字绳连接成一条数字绳时,每四条数字绳分成一组,每组平移后成为一条数字绳,然后再以四条数字绳为一组进行平移,直到平移成一条数字绳后,再把最后的一条数字绳平移成标准数字绳。数字绳码编码就是把二进制码通过电路转换成标准数字绳码;编码有三种编码方法,编码方法1是用两路相与电路逐层相与,分别求出所有的十进制的数值,把求出的数字加到相应的数字绳结上,在数字绳内,任意一个实结以后全部填充成实结成为标准数字绳;编码方法2是用多路相与的电路,分别求出所有的十进制的数值,把求出的数字加到相应的数字绳结上,绳结以下的结全部填充成实结成为标准数字绳;编码方法3是把各个位做成数字绳电路,N位二进制数就有N条数字绳,把N条数字绳连接成一条数字绳,对N条数字绳进行分组平移实结或实结段,最后得到一条标准数字绳。把数字绳的实结自首端起替换成虚结,只保留最上边的一个实结,这个实结就是数字绳的浮标码,有浮标码的数字绳为浮标数字绳。数字绳解码是把浮标数字绳转换成二进制码,方法是:在浮标数字绳上,从首端开始,把第1结连接到二进制的0位,第2结连接到二进制码的1位,第3结连接到二进制码的0位与1位,第4结连接到二进制码的3位,第5结连接到二进制码的0位与3位,依次类推,直到把所有的结与二进制码都连接完,然后进行隔离,使每一个结点与其他结点都处于隔离状态。数字绳加法运算是把两条或多条数字绳连接成一条新的数字绳,把新的数字绳做成标准数字绳,标准数字绳内的实结总数为加法的和;在算术运算电路中,从操作数转换成的标准数字绳的第1个结引出一个端口,可以表达操作数的数值是0或非0。数字绳减法运算是把两条标准数字绳的首端对齐进行比较,通过比较把两条数字绳的实结差值做成一条新的标准数字绳,数字绳比较有两种方法,两种方法都可以引出符号标志端口;一个数不仅可以用一条数字绳表达,还可以用一组数字绳表达。用数字绳组表达数时,数字绳组中的数字绳就有了级,当数字绳组的级为m时,第一条数字绳中每个实结表达的数值为1,第二条数字绳中每个实结表达的数值为m,第三条数字绳中每个实结表达的数值为m2,第j条数字绳中每个实结表达的数值为mj-1;在数字绳组中,当任意一条数字绳的结数不小于该组的级数时,这一组数字绳为绳结饱和的数字绳组,当每条数字绳中的结数都小于该组的级数时,这一组数字绳为绳结不饱和的数字绳组;绳结不饱和的数字绳组可以分别对每一条数字绳解码成二进制码,解码后合并每条数字绳的解码结果就还原成了一个二进制数;绳结饱和的数字绳组解码方法1是,先把m级数字绳组转换成每个实结表达数值为1的一条数字绳,然后进行解码;方法2是,通过电路运算进行跳级或解码进行跳级消减结数,使数字绳组中的每条数字绳的结数与级数相等,再把级数与结数相等的数字绳组通过多条数字绳并行跳级消减结数或逐条数字绳串行跳级消减结数,使饱和数字绳组转换成不饱和数字绳组,由不饱和数字绳组解码。数字绳组的加法运算是把两个或多个相加的操作数都转换成级数相同的标准数字绳组,把两个或多个级数相同的标准数字绳组合并成一个新的饱和标准数字绳组,合并过程是把数字绳组内实结表达数值相同的两条或多条数字绳合并成一条新的标准饱和数字绳,再通过数字绳组的跳级消减结使数字绳组内的每条数字绳都成为不饱和数字绳,对不饱和数字组进行解码就完成了加法运算。当两个二进制操作数A减B,结果为二进制数C时,把两个操作数做成两个数字绳组,两个数字绳组A与B的运算由三个并行电路组成,第一个并行电路是用假码数字绳组减A数字绳组然后与B数字绳组进行加法运算,第二个并行电路是用假码数字绳组减B数字绳组然后与A数字绳组进行加法运算,第三个并行电路是对两个减法二进制操作数进行比较,比较结果做为减法运算的符号标志,由两个符号标志控制两个与门开关组,与门开关组在A大于B时接通第二个电路,在A小于B时接通第一个电路,在与门开关组后面得到的是数字绳组相减的结果;数字绳组减法运算的全过程是:(1)把A、B两个二进制数做成两个级数为m的数字绳组;(2)电路1进行假码减B组数字绳组的运算,电路2进行假码减数字绳A组的运算;(3)电路1用数字绳组A与假码减数字绳组B的结果数字绳组进行加法运算,电路2用数字绳B与假码减数字绳A的结果数字绳进行加法运算;(4)电路1与电路2的加法运算结果分别通过数字绳组的跳级消码,使结果数字绳组成为级数与结数相等的饱和数字绳组,再分别通过串行跳级消码或并行跳级消码使数字绳组成为不饱和数字绳组,对两个不饱和的数字绳组分别进行解码得到两个二进制结果码,结果码中舍去进位位,就得到两个减法运算结果,一个结果为正确结果,一个结果为错误结果。(5)在电路1与电路2进行运算时,同时进行二进制数A与B的大小比较,比较过程是把两个二进制数当做两个2级数字绳组,通过比较两个数字绳组得到两条符号标志的数字绳,再通过比较两条数字绳得到A减B 的两个符号标志a与符号标志b,用符号标志a控制一组连接电路1的与门开关组,用符号标志b控制一组连接电路2的与门开关组。(6)两个与门开关组的输出端口并联就是减法结果。同对,在二进制数A与B的比较电路中,通过电路得出被减数0与非0标志,减数0与非0标志。由减法结果数据,符号标志,被减数、减数的0与非0标志,共同组成减法运算的结果。数字绳组的乘法运算是把相乘的两个操作数做成两个2级数字绳组,进行因式分解,把相同位的因式相加做为一条数字绳,N科N位的乘法运算有2N-1条数字绳组成一个2级数字绳组,把每条数字绳先做成标准数字绳,再通过跳级消结使数字绳组成为不饱和数字绳组,之后解码成二进制码,其中,数字绳组中的每条数字绳做成标准数字有两种方法,方法1是把C数字绳组中的每条数字绳中的每一个结点做为一条数字绳,进行同级数字绳的实结平移,经多次平移实结或实结段成为一条标准数字绳,方法2是通过并行找数的方式把数字绳组中的每条数字绳做成标准数字绳。数字绳的倒数运算是把数字绳B当做数字绳A的倒数,当求N位二进制数B的倒数A时,是把A、B做为2级数字绳组,假设A乘B等于22n,由乘法运算的逆运算建立倒数运算的数字绳组A,把倒数运算的数字绳组A中的每条数字绳由加减混合运算转换成用加法运算,由加法运算使倒数数字绳组中的每条数字绳成为标准数字绳,再把倒数运算的饱和数字绳组通过跳级消减结使之成为不饱和的标准数字绳,之后再解码成二进制码。数字绳组的除法运算是把被除数与除数做成两个级数为2的数字绳组,先对除数进行倒数运算,再用倒数运算的结果与被除数进行乘法运算。数字绳或数字绳组的算术运算电路进行的都是无符号的整数运算,只有在无符号的整数算术运算电路前端加上输入接口才能对定点数、浮点数、符号数进行算术运算,只有在定点数、浮点数、符号数进行算术运算后加上输出接口才能使CPU得到所需要的整数、定点数、浮点数或符号数的运算结果;加法、减法、乘法、倒数、除法运算的接口电路可以是无符号运算接口,也可以是有符号运算接口;一个算术运算电路的输入接口由并列的整数接口、定点数接口、浮点数接口组成,三个输入接口通过与门开关组同时连接到运算电路的输入端口,由CPU的运算指令控制其中的一个接口接通并从该接口输入操作数;定点数接口、浮点数接口中有数据转换电路,通过数据转换电路把定点数、浮点数转换成符合算术运算电路要求的整数;有符号的算术运算在输入接口与输出接口中通过符号运算电路实现运算模式的选择及输出数据的符号;算术运算电路的输出端后并列整数、定点数、浮点数三个输出接口,三个输出接口输出的数据虽制式不同但数据的数值相同,CPU可以选择任意的一个输出接口取数;在算术运算的接口电路中,加法、减法、乘法,倒数、除法运算电路的输入接口电路均为三个,输出接口电路加法、减法、乘法运算电路为三个,倒数运算与除法运算电路的输出接口电路为两个;其中,除法运算电路的输入接口由被除数输入接口与除数输入接口两个接口组成,被除数输入接口与乘法电路的输入接口相同,除数的输入接口与倒数电路的输入接口相同,除法的输出接口与倒数电路的输出接口相同。
地址 453003 河南省新乡市中原路171号院5号楼2单元12号