[发明专利]处理器浮点单元前导零数量的超前运算方法及系统有效

专利信息
申请号: 201711207258.9 申请日: 2017-11-27
公开(公告)号: CN108052307B 公开(公告)日: 2020-07-03
发明(设计)人: 杨雪;庄伟;于立新;彭和平;侯国伟;张梅梅 申请(专利权)人: 北京时代民芯科技有限公司;北京微电子技术研究所
主分类号: G06F7/575 分类号: G06F7/575
代理公司: 中国航天科技专利中心 11009 代理人: 范晓毅
地址: 100076 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 处理器 浮点 单元 前导 数量 超前 运算 方法 系统
【权利要求书】:

1.一种处理器浮点单元前导零数量的超前运算方法,其特征在于,所述方法包括下列步骤:

步骤100:译码运算,得到每8位数据的前导零个数:将数据位为8n位的数据A[8n-1:0]按照从高位到低位的顺序依次分为8位一组,分别通过n个8-4译码器译出n个8位数据中前导零的个数Bm[3:0];其中,Bm表示第m组8位数据的前导零个数,m=1~n,n=1~8;

步骤200:通过三级中的每一级的超前运算和逻辑判断得到数据A[8n-1:0]的前导零个数,每一级中会对输入数据进行两两分对,各对之间并行开展运算;其中,n为奇数时,最后一对只有一个输入数据;其中,

步骤200包括以下步骤:

步骤210:第一级输入为译码运算的结果Bm[3:0],输出为每16位或8位数据的前导零个数Bjk[4:0],逻辑判断依据为每对输入数据的最高位Bm[3],输出来自超前运算的结果和/或输入数据的低三位Bm[2:0];其中,k=j+1,j=1,3,5,7且j≤n;

步骤220:第二级输入为第一级输出的结果Bjk[4:0],输出为每32位、16位或8位数据的前导零个数Bjkrs[5:0],逻辑判断依据为每对输入数据的最高位Bjk[4],输出来自超前运算的结果和/或输入数据的低四位Bjk[3:0];其中,k=j+1,r=j+2,s=j+3,j=1,5且j≤n;

步骤230:第三级输入为第二级输出的结果Bjkrs[5:0],输出为8n位数据的前导零个数B;逻辑判断依据为每对输入数据的最高位Bjkrs[5],输出来自超前运算的结果和/或输入数据的低四位Bjkrs[4:0];其中,n=1~8;

8-4译码器的译码原理为,当输入数据为8’b00000000时,输出数据为4’b1000;当输入数据为8’b00000001时,输出数据为4’b0111;当输入数据为8’b0000001x时,输出数据为4’b0110;当输入数据为8’b000001xx时,输出数据为4’b0101;当输入数据为8’b00001xxx时,输出数据为4’b0100;当输入数据为8’b0001xxxx时,输出数据为4’b0011;当输入数据为8’b001xxxxx时,输出数据为4’b0010;当输入数据为8’b01xxxxxx时,输出数据为4’b0001;当输入数据为8’b1xxxxxxx时,输出数据为4’b0000;其中,x=0或1;

数据Bm[3:0]的运算公式为:

Bm[3]=~(A[7]|A[6]|A[5]|A[4]|A[3]|A[2]|A[1]|A[0]);

Bm[2]=~(A[7]|A[6]|A[5]|A[4]|A[3]|A[2]|A[1]|~A[0])(A[3]|A[2]|~A[1])(A[3]|~A[2])(~A[3]);

Bm[1]=~(A[7]|A[6]|A[5]|A[4]|A[3]|A[2]|((A[1]|~A[0])~A[1]))(A[5]|~A[4])(~A[5]);

Bm[0]=~(A[7]|(A[6]|A[5]|(A[4]|A[3]|(A[2]|A[1]|~A[0])~A[2])~A[4])~A[6]);

其中,A[p]为数据A的第p+1位,Bm[q](q=0~3)为数据Bm的第q+1位;其中,p=0~7;

当n=1时,B1即为运算的前导零数量,运算结束;当1n≤8时,将Bm由高位到低位两两分为一对,各对之间并行开展第一级运算,当n为奇数时最后一对不足两个数据,则保留Bn不做运算,Bn的值直接传输给下一级,位数不足时高位补零;或

当n=2时,B1和B2的运算结果B12即为运算的前导零数量,运算结束;当2n≤8时,进入第二级逻辑判断,将第一级逻辑判断的输出结果Bjk由高位到低位两两分为一对,各对之间并行开展第二级逻辑判断,若最后一对不足两个数据,则保留一个数据不做运算直接传递给下一级,位数不足时高位补零,其中k=j+1;j=1,3,5,7且j≤n;或

当2n≤4时,B1234即为运算的前导零数量,运算结束;当4n≤8时,进入第三级逻辑判断,对第二级逻辑判断的两个运算结果进行运算;

每一级超前运算包括:

在第一级超前运算中,若高位数值Bj8,则该对数据前导零个数为Bjk=5’b{00,Bj[2:0]};若高位数值Bj=8,而低位数值Bk8,则该对数据前导零个数为Bjk=5’b{01,Bk[2:0]};若高位数值Bj=8,且低位数值Bk=8,则该对数据前导零个数为Bjk=5’b{10,000};当n为奇数时,最后一对只有Bn,只需在高位补零即可输出Bjk=5’b{0,Bn[3:0]};其中,k=j+1,j=1,3,5,7且j≤n;

在第二级超前运算中,若高位数值Bjk16,则该对数据前导零个数为Bjkrs=6’b{00,Bjk[3:0]};若高位数值Bjk=16,而低位数值Brs16,则该对数据前导零个数为Bjkrs=6’b{01,Brs[3:0]};若高位数Bjk=16,且低位数值Brs=16,则该对数据前导零个数为Bjkrs=6’b{100,000};当最后一对只有一个数据Bjk时,只需在高位补零即可输出Bjkrs=6’b{0,Bjk[4:0]};其中,k=j+1,r=j+2,s=j+3,j=1,5且j≤n;

在第三级超前运算中,若高位数值B123432,则该对数据前导零个数为B=7’b{00,B1234[4:0]};若高位数值B1234=32,而低位数值B567832,则该对数据前导零个数为B=7’b{01,B5678[4:0]};若高位数B1234=32,且低位数值B5678=32,则该对数据前导零个数为B=7’b{1,000,000};

每一级逻辑判断包括:

在第一级逻辑判断中,若Bj的最高位Bj[3]=0,则输出Bjk=5’b{00,Bj[2:0]};若Bj[3]=1,而Bk[3]=0,则输出Bjk=5’b{01,Bk[2:0]};若Bj[3]=1,且Bk[3]=1,则输出Bjk=5’b{10,000};当n为奇数时,最后一对只有Bn,输出Bjk=5’b{0,Bn[3:0]};其中,k=j+1,j=1,3,5,7且j≤n;

在第二级逻辑判断中,若Bjk[4]=0,则输出Bjkrs=6’b{00,Bjk[3:0]};若Bjk[4]=1,而Brs[4]=0,则输出Bjkrs=6’b{01,Brs[3:0]};若Bjk[4]=1,且Brs[4]=1,则输出Bjkrs=6’b{100,000};当最后一对只有一个数据Bjk时,输出Bjkrs=6’b{0,Bjk[4:0]};其中,k=j+1,r=j+2,s=j+3,j=1,5且j≤n;

在第三级逻辑判断中,若B1234[5]=0,则输出B=7’b{00,B1234[4:0]};若B1234[5]=1而B5678[5]=0,则输出B=7’b{01,B5678[4:0]};若B1234[5]=1且B5678[5]=1,则输出B=7’b{1,000,000};当只存在B1234,没有B5678时,前导零个数B=B1234

2.一种处理器浮点单元前导零数量的超前运算系统,其特征在于包括:

第一模块,用于译码运算得到每8位数据的前导零个数:将数据位为8n位的数据A[8n-1:0]按照从高位到低位的顺序依次分为8位一组,分别通过n个8-4译码器译出n个8位数据中前导零的个数Bm[3:0];其中,Bm表示第m组8位数据的前导零个数,m=1~n,n=1~8;

第二模块,用于通过三级中的每一级的超前运算和逻辑判断得到数据A[8n-1:0]的前导零个数,每一级中会对输入数据进行两两分对,各对之间并行开展运算;其中,n为奇数时,最后一对只有一个输入数据;

8-4译码器的译码原理为,当输入数据为8’b00000000时,输出数据为4’b1000;当输入数据为8’b00000001时,输出数据为4’b0111;当输入数据为8’b0000001x时,输出数据为4’b0110;当输入数据为8’b000001xx时,输出数据为4’b0101;当输入数据为8’b00001xxx时,输出数据为4’b0100;当输入数据为8’b0001xxxx时,输出数据为4’b0011;当输入数据为8’b001xxxxx时,输出数据为4’b0010;当输入数据为8’b01xxxxxx时,输出数据为4’b0001;当输入数据为8’b1xxxxxxx时,输出数据为4’b0000;其中,x=0或1;

数据Bm[3:0]的运算公式为:

Bm[3]=~(A[7]|A[6]|A[5]|A[4]|A[3]|A[2]|A[1]|A[0]);

Bm[2]=~(A[7]|A[6]|A[5]|A[4]|A[3]|A[2]|A[1]|~A[0])(A[3]|A[2]|~A[1])(A[3]|~A[2])(~A[3]);

Bm[1]=~(A[7]|A[6]|A[5]|A[4]|A[3]|A[2]|((A[1]|~A[0])~A[1]))(A[5]|~A[4])(~A[5]);

Bm[0]=~(A[7]|(A[6]|A[5]|(A[4]|A[3]|(A[2]|A[1]|~A[0])~A[2])~A[4])~A[6]);

其中,A[p]为数据A的第p+1位,Bm[q](q=0~3)为数据Bm的第q+1位;其中,p=0~7;

当n=1时,B1即为运算的前导零数量,运算结束;当1n≤8时,将Bm由高位到低位两两分为一对,各对之间并行开展第一级运算,当n为奇数时最后一对不足两个数据,则保留Bn不做运算,Bn的值直接传输给下一级,位数不足时高位补零;或

当n=2时,B1和B2的运算结果B12即为运算的前导零数量,运算结束;当2n≤8时,进入第二级逻辑判断,将第一级逻辑判断的输出结果Bjk由高位到低位两两分为一对,各对之间并行开展第二级逻辑判断,若最后一对不足两个数据,则保留一个数据不做运算直接传递给下一级,位数不足时高位补零,其中k=j+1;j=1,3,5,7且j≤n;或

当2n≤4时,B1234即为运算的前导零数量,运算结束;当4n≤8时,进入第三级逻辑判断,对第二级逻辑判断的两个运算结果进行运算;

每一级超前运算包括:

在第一级超前运算中,若高位数值Bj8,则该对数据前导零个数为Bjk=5’b{00,Bj[2:0]};若高位数值Bj=8,而低位数值Bk8,则该对数据前导零个数为Bjk=5’b{01,Bk[2:0]};若高位数值Bj=8,且低位数值Bk=8,则该对数据前导零个数为Bjk=5’b{10,000};当n为奇数时,最后一对只有Bn,只需在高位补零即可输出Bjk=5’b{0,Bn[3:0]};其中,k=j+1,j=1,3,5,7且j≤n;

在第二级超前运算中,若高位数值Bjk16,则该对数据前导零个数为Bjkrs=6’b{00,Bjk[3:0]};若高位数值Bjk=16,而低位数值Brs16,则该对数据前导零个数为Bjkrs=6’b{01,Brs[3:0]};若高位数Bjk=16,且低位数值Brs=16,则该对数据前导零个数为Bjkrs=6’b{100,000};当最后一对只有一个数据Bjk时,只需在高位补零即可输出Bjkrs=6’b{0,Bjk[4:0]};其中,k=j+1,r=j+2,s=j+3,j=1,5且j≤n;

在第三级超前运算中,若高位数值B123432,则该对数据前导零个数为B=7’b{00,B1234[4:0]};若高位数值B1234=32,而低位数值B567832,则该对数据前导零个数为B=7’b{01,B5678[4:0]};若高位数B1234=32,且低位数值B5678=32,则该对数据前导零个数为B=7’b{1,000,000};

每一级逻辑判断包括:

在第一级逻辑判断中,若Bj的最高位Bj[3]=0,则输出Bjk=5’b{00,Bj[2:0]};若Bj[3]=1,而Bk[3]=0,则输出Bjk=5’b{01,Bk[2:0]};若Bj[3]=1,且Bk[3]=1,则输出Bjk=5’b{10,000};当n为奇数时,最后一对只有Bn,输出Bjk=5’b{0,Bn[3:0]};其中,k=j+1,j=1,3,5,7且j≤n;

在第二级逻辑判断中,若Bjk[4]=0,则输出Bjkrs=6’b{00,Bjk[3:0]};若Bjk[4]=1,而Brs[4]=0,则输出Bjkrs=6’b{01,Brs[3:0]};若Bjk[4]=1,且Brs[4]=1,则输出Bjkrs=6’b{100,000};当最后一对只有一个数据Bjk时,输出Bjkrs=6’b{0,Bjk[4:0]};其中,k=j+1,r=j+2,s=j+3,j=1,5且j≤n;

在第三级逻辑判断中,若B1234[5]=0,则输出B=7’b{00,B1234[4:0]};若B1234[5]=1而B5678[5]=0,则输出B=7’b{01,B5678[4:0]};若B1234[5]=1且B5678[5]=1,则输出B=7’b{1,000,000};当只存在B1234,没有B5678时,前导零个数B=B1234

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;北京微电子技术研究所,未经北京时代民芯科技有限公司;北京微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711207258.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top