CN115833845B - 位置输出装置和位置输出方法 - Google Patents

位置输出装置和位置输出方法 Download PDF

Info

Publication number
CN115833845B
CN115833845B CN202310014889.8A CN202310014889A CN115833845B CN 115833845 B CN115833845 B CN 115833845B CN 202310014889 A CN202310014889 A CN 202310014889A CN 115833845 B CN115833845 B CN 115833845B
Authority
CN
China
Prior art keywords
bit
binary number
binary
target
reduction
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.)
Active
Application number
CN202310014889.8A
Other languages
English (en)
Other versions
CN115833845A (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.)
Xiangdixian Computing Technology Chongqing Co ltd
Original Assignee
Beijing Xiangdixian Computing Technology Co Ltd
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 Beijing Xiangdixian Computing Technology Co Ltd filed Critical Beijing Xiangdixian Computing Technology Co Ltd
Priority to CN202310014889.8A priority Critical patent/CN115833845B/zh
Publication of CN115833845A publication Critical patent/CN115833845A/zh
Application granted granted Critical
Publication of CN115833845B publication Critical patent/CN115833845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本公开涉及集成电路技术领域,提供一种位置输出装置和位置输出方法,旨在降低位置输出时所需的逻辑级数,提升电路运行速度。其中,位置输出装置包括独热信号发生模块和位置计算模块;独热信号发生模块用于将n位的目标二进制数转换为独热向量,独热向量中1的位置与目标二进制数中拖尾1的位置对应;位置计算模块用于将独热向量的每个数据位的位置信息表示为m位的第一二进制数,将独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对每个数据位的第一二进制数和第二二进制数执行按位与运算,得到每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出拖尾1在目标二进制数中的位置。

Description

位置输出装置和位置输出方法
技术领域
本公开涉及集成电路技术领域,尤其涉及一种输出拖尾1所在位置的装置、输出前导1所在位置的装置、输出拖尾1所在位置的方法及输出前导1所在位置的方法。
背景技术
在数字集成电路中,经常需要检测一个二进制数中拖尾1的所在位置或前导1的所在位置。例如当需要对挂起的请求进行响应顺序判断时,就会涉及二进制数中的拖尾1或前导1的所在位置检测。如图1所述,拖尾1是指二进制数中的最后一个1,而前导1是指二进制数中的第一个1。
相关技术中,通常会使用级联的二选一选择器mux检测并输出二进制数中的拖尾1或前导1的所在位置。其中,彼此级联的二选一选择器mux的数量等于二进制数的位数。可见,相关技术在检测拖尾1或前导1的所在位置时,需要的逻辑级数与二进制位数成正比。当请求数量较多时,相应的二进制位数较大,会使得所需的逻辑级数也较大,从而对电路的运行速度造成较大的负面影响。
发明内容
本公开的目的是提供一种输出拖尾1所在位置的装置、输出前导1所在位置的装置、输出拖尾1所在位置的方法及输出前导1所在位置的方法,旨在降低位置输出时所需的逻辑级数,提升电路运行速度。
根据本公开的一个方面,提供一种输出拖尾1所在位置的装置,该装置包括:独热信号发生模块和位置计算模块;
独热信号发生模块用于将n位的目标二进制数转换为独热向量,独热向量中1的位置与目标二进制数中拖尾1的位置对应,n是大于1的整数;
位置计算模块用于将独热向量的每个数据位的位置信息表示为m位的第一二进制数,将独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出拖尾1在目标二进制数中的位置。
本公开一种可行的实现方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为目标二进制数,减1电路对目标二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括目标二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位进行取反后,与目标二进制数的每一位执行与运算,得到独热向量。
本公开一种可行的实现方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为目标二进制数,减1电路对目标二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括目标二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位与目标二进制数的每一位执行按位异或运算,并对异或运算结果与目标二进制数的当前位执行与运算,得到独热向量。
本公开一种可行的实现方式中,位置计算模块包括n个按位与电路和1个按位或电路;每个按位与电路的输入信号包括独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;按位或电路的输入信号包括n个m位的运算结果,按位或电路对n个m位的运算结果执行按位或运算,得到并输出拖尾1在目标二进制数中的位置。
根据本公开的另一方面,还提供一种输出前导1所在位置的装置,该装置包括:按位倒序模块、独热信号发生模块及位置计算模块;
按位倒序模块用于对n位的目标二进制数执行按位倒序操作,得到按位倒序后的二进制数;
独热信号发生模块用于将按位倒序后的二进制数转换为独热向量,独热向量中1的位置与按位倒序后的二进制数中拖尾1的位置对应,n是大于1的整数;
按位倒序模块还用于对独热向量执行按位倒序操作,得到目标独热向量;
位置计算模块用于将目标独热向量的每个数据位的位置信息表示为m位的第一二进制数,将目标独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对目标独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到目标独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出前导1在目标二进制数中的位置。
本公开一种可行的实现方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为按位倒序后的二进制数,减1电路对按位倒序后的二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括按位倒序后的二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位进行取反后,与按位倒序后的二进制数的每一位执行与运算。
本公开一种可行的实现方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为按位倒序后的二进制数,减1电路对按位倒序后的二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括按位倒序后的二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位与按位倒序后的二进制数的每一位执行按位异或运算,并对异或运算结果与按位倒序后的二进制数的当前位执行与运算,得到独热向量。
本公开一种可行的实现方式中,位置计算模块包括n个按位与电路和1个按位或电路;每个按位与电路的输入信号包括目标独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;按位或电路的输入信号包括n个m位的运算结果,按位或电路对n个m位的运算结果执行按位或运算,得到并输出前导1在目标二进制数中的位置。
根据本公开的另一方面,还提供一种输出拖尾1所在位置的方法,该方法包括:
将n位的目标二进制数转换为独热向量,独热向量中1的位置与目标二进制数中拖尾1的位置对应,n是大于1的整数;
将独热向量的每个数据位的位置信息表示为m位的第一二进制数,将独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得独热向量的每个数据位的第三二进制数;
对n个第三二进制数执行按位或运算,输出拖尾1在目标二进制数中的位置。
本公开一种可行的实现方式中,将n位的目标二进制数转换为独热向量,包括:
对目标二进制数执行减1运算,得到减1后的二进制数;
对减1后的二进制数执行按位取反操作,得到按位取反后的二进制数;
对目标二进制数和按位取反后的二进制数执行按位与运算,得到独热向量。
本公开一种可行的实现方式中,将n位的目标二进制数转换为独热向量,包括:
对目标二进制数执行减1运算,得到减1后的二进制数;
对目标二进制数和减1后的二进制数执行按位异或运算,得到异或运算后的二进制数;
对目标二进制数和异或运算后的二进制数执行按位与运算,得到独热向量。
本公开一种可行的实现方式中,m是大于等于x的整数,x是以2为底数对n执行对数运算后的运算结果。
本公开一种可行的实现方式中,m是以2为底数对n执行对数运算,并对运算结果进行向上取整的结果。
根据本公开的另一方面,还提供一种输出前导1所在位置的方法,该方法包括:
对n位的目标二进制数执行按位倒序操作,得到按位倒序后的二进制数;
将按位倒序后的二进制数转换为独热向量,独热向量中1的位置与按位倒序后的二进制数中拖尾1的位置对应,n是大于1的整数;
对独热向量执行按位倒序操作,得到目标独热向量;
将目标独热向量的每个数据位的位置信息表示为m位的第一二进制数,将目标独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对目标独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到目标独热向量的每个数据位的第三二进制数;
对n个第三二进制数执行按位或运算,输出前导1在目标二进制数中的位置。
本公开一种可行的实现方式中,将按位倒序后的二进制数转换为独热向量,包括:
对按位倒序后的二进制数执行减1运算,得到减1后的二进制数;
对减1后的二进制数执行按位取反操作,得到按位取反后的二进制数;
对按位倒序后的二进制数和按位取反后的二进制数执行按位与运算,得到独热向量。
本公开一种可行的实现方式中,将按位倒序后的二进制数转换为独热向量,包括:
对按位倒序后的二进制数执行减1运算,得到减1后的二进制数;
对按位倒序后的二进制数和减1后的二进制数执行按位异或运算,得到异或运算后的二进制数;
对按位倒序后的二进制数和异或运算后的二进制数执行按位与运算,得到独热向量。
本公开一种可行的实现方式中,m是大于等于x的整数,x是以2为底数对n执行对数运算后的运算结果。
本公开一种可行的实现方式中,m是以2为底数对n执行对数运算,并对运算结果进行向上取整的结果。
附图说明
图1是用于指示二进制数中拖尾1和前导1所在位置的示意图;
图2是使用级联的二选一选择器mux检测并输出二进制数中的拖尾1的所在位置的示意图;
图3是本公开一实施例提出的输出拖尾1所在位置的方法的流程示意图;
图4是本公开一实施例提出的输出前导1所在位置的方法的流程示意图;
图5是本公开一实施例提出的输出拖尾1所在位置的装置的结构示意图;
图6是本公开一实施例提出的两种减1电路的结构示意图;
图7是本公开一实施例提出的独热信号发生电路的结构示意图;
图8是本公开另一实施例提出的独热信号发生电路的结构示意图;
图9是本公开一实施例提出的按位与电路的结构示意图;
图10是本公开一实施例提出的按位或电路的结构示意图;
图11是本公开一实施例提出的输出前导1所在位置的装置的结构示意图。
具体实施方式
在介绍本公开实施例之前,应当说明的是:
本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。
本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。
本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。
应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。
为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
在数字集成电路中,经常需要检测一个二进制数中拖尾1的所在位置或前导1的所在位置。例如在决定CPU中多个中断请求的响应顺序时,或者在决定多个总线事务请求的响应顺序时,就会涉及二进制数中的拖尾1或前导1的所在位置检测。
相关技术中,通常会使用级联的二选一选择器mux检测并输出二进制数中的拖尾1或前导1的所在位置。如图2所示,图2是使用级联的二选一选择器mux(以下将二选一选择器mux简称为mux)检测并输出二进制数中的拖尾1的所在位置的示意图。图2中,有n个一位(bit)的请求信号,分别是请求信号req[0]至req[n-1],n个一位的请求信号组成n位的二进制数。其中,如果一个请求信号为1,则表示该请求信号对应的实体当前有挂起的请求;如果一个请求信号为0,则表示该请求信号对应的实体当前没有请求。
图2中,当请求信号req[i]为1时,该请求信号对应的mux将数值i作为输出结果,该输出结果会作为下一级mux的输入信息;当请求信号req[i]为0时,该请求信号对应的mux将上一级mux的输出结果作为自身的输出结果,该输出结果也会作为下一级mux的输入信息。通过图2所示的方式对n个请求信号进行处理后,req[0]对应的mux(即最后一个mux)会输出最后一个为1的请求信号的所在位置,也就是n位二进制数中拖尾1的所在位置,CPU可以根据最后一个mux输出的位置信息,对相应请求信号对应的被挂起请求进行处理。需要说明的是,n个请求信号的优先级排序从高到低依次是req[0]、req[1]、req[2]...req[n-1]。换言之,只有当请求信号req[0]至req[i-1]均为0,CPU才会对请求信号req[i]对应的被挂起请求进行处理。
图2中,彼此级联的二选一选择器mux的数量等于请求信号的数量。可见,在对请求进行响应顺序判断时,需要的逻辑级数与请求数量成正比。换言之,相关技术在检测拖尾1或前导1的所在位置时,需要的逻辑级数与二进制位数成正比。当二进制位数较大时,所需的逻辑级数也较大,会对电路的运行速度造成较大的负面影响。
针对上述问题,本提案提出一种输出拖尾1所在位置的装置、输出前导1所在位置的装置、输出拖尾1所在位置的方法及输出前导1所在位置的方法,旨在减少位置输出时所需的逻辑级数,提高电路运行速度。
参考图3,图3是本公开一实施例提出的输出拖尾1所在位置的方法的流程示意图。本公开中的输出拖尾1所在位置的方法可具体应用于以下场景:决定CPU中多个中断请求的响应顺序,或者决定多个总线事务请求的响应顺序。如果将输出拖尾1所在位置的方法应用至上述领域,则可以首先将n个请求信号表示为n位的目标二进制数。
如图3所示,该方法包括以下步骤:
S310:将n位的目标二进制数转换为独热向量,独热向量中1的位置与目标二进制数中拖尾1的位置对应,n是大于1的整数。
本公开中,二进制数的拖尾1是指二进制数中的最后一个1。为便于理解,如图1所示,图1中二进制数从左至右的第18位是该二进制数的拖尾1。
本公开中,独热向量中1的位置与目标二进制数中拖尾1的位置对应,具体是指:独热向量中的1在整个独热向量中的位置与目标二进制数中的拖尾1在整个目标二进制数中的位置相同。例如当目标二进制数中的拖尾1在目标二进制数的从左至右的第18位时,则在转换成的独热向量中,1的位置也在独热向量的从左至右的第18位。
在一些具体实施方式中,步骤S310可以包括以下子步骤:
S310-1:对目标二进制数执行减1运算,得到减1后的二进制数。
S310-2:对减1后的二进制数执行按位取反操作,得到按位取反后的二进制数。
S310-3:对目标二进制数和按位取反后的二进制数执行按位与运算,得到独热向量。
为便于理解,示例性地,对于一个n位的二进制数D,其中第i位是
Figure 450575DEST_PATH_IMAGE001
,第0位(即
Figure 180634DEST_PATH_IMAGE002
)是最后一位,二进制数D的表示如下:
Figure 115092DEST_PATH_IMAGE003
假设二进制数D中的第j位是拖尾1,即
Figure 905193DEST_PATH_IMAGE004
Figure 190681DEST_PATH_IMAGE005
位均为0,则二进制数D的具体表示如下:
Figure 458852DEST_PATH_IMAGE006
首先对二进制数D执行减1运算,得到减1后的二进制数D’,D’的具体表示如下:
Figure 504606DEST_PATH_IMAGE007
然后对二进制数D’执行按位取反操作,得到按位取反后的二进制数~D’,~D’的具体表示如下:
Figure 731188DEST_PATH_IMAGE008
二进制数~D’中的第0位至第j位分别与二进制数D中的第0位至第j位相同,二进制数~D’中的第j+1位至第n-1位分别与二进制数D中的第j+1位至第n-1位相反。
最后对二进制数D和二进制数~D’执行按位与运算,即二进制数D的第i位与二进制数~D’的第i位执行与运算,
Figure 972814DEST_PATH_IMAGE009
,最终得到独热向量
Figure 310254DEST_PATH_IMAGE010
,独热向量
Figure 484883DEST_PATH_IMAGE011
的具体表示如下:
Figure 351208DEST_PATH_IMAGE012
在独热向量
Figure 345709DEST_PATH_IMAGE010
中,1的位置是整个独热向量
Figure 221261DEST_PATH_IMAGE010
的第j位。
在另一些具体实施方式中,步骤S310可以包括以下子步骤:
S310-A:对目标二进制数执行减1运算,得到减1后的二进制数。
S310-B:对目标二进制数和减1后的二进制数执行按位异或运算,得到异或运算后的二进制数。
S310-C:对目标二进制数和异或运算后的二进制数执行按位与运算,得到独热向量。
为便于理解,示例性地,对于一个n位的二进制数D,其中第i位是
Figure 250397DEST_PATH_IMAGE001
,第0位(即
Figure 287623DEST_PATH_IMAGE002
)是最后一位,二进制数D的表示如下:
Figure 238262DEST_PATH_IMAGE003
假设二进制数D中的第j位是拖尾1,即
Figure 651926DEST_PATH_IMAGE004
Figure 535568DEST_PATH_IMAGE005
位均为0,则二进制数D的具体表示如下:
Figure 9275DEST_PATH_IMAGE006
首先对二进制数D执行减1运算,得到减1后的二进制数D’,D’的具体表示如下:
Figure 243947DEST_PATH_IMAGE007
然后对二进制数D和二进制数D’执行按位异或运算,即二进制数D的第i位与二进制数~D’的第i位执行异或运算,
Figure 195722DEST_PATH_IMAGE009
,得到二进制数D’’,D’’的具体表示如下:
Figure 199450DEST_PATH_IMAGE013
最后对二进制数D和二进制数D’’执行按位与运算,即二进制数D的第i位与二进制数D’’的第i位执行与运算,
Figure 581409DEST_PATH_IMAGE009
,最终得到独热向量
Figure 37798DEST_PATH_IMAGE010
,独热向量
Figure 793264DEST_PATH_IMAGE010
的具体表示如下:
Figure 651499DEST_PATH_IMAGE012
在独热向量
Figure 670271DEST_PATH_IMAGE010
中,1的位置是整个独热向量
Figure 613956DEST_PATH_IMAGE010
的第j位。
以上,本公开提供了两种转换独热向量的具体实施方式,需要说明的是,本公开对于独热向量的具体转换算法不做限定。
S320:将独热向量的每个数据位的位置信息表示为m位的第一二进制数,将独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到所述独热向量的每个数据位的第三二进制数。
本公开中,m是小于n的正整数。
在一些具体实施方式中,m是大于等于x的整数,x是以2为底数对n执行对数运算后的运算结果,即
Figure 907534DEST_PATH_IMAGE014
。为便于理解,假设n等于16,则x等于4,因此m是大于等于4的整数,m的最小取值为4。或者假设n等于30,则x约等于4.9,因此m是大于等于4.9的整数,m的最小取值是5。
在另一些具体实施方式中,m是以2为底数对n执行对数运算,并对运算结果进行向上取整的结果,即
Figure 620275DEST_PATH_IMAGE015
。为便于理解,假设n等于16,则m等于4。或者假设n等于30,则m等于5。
本公开中,将独热向量的每个数据位的位置信息表示为m位的第一二进制数,具体是指:针对独热向量的第i位,利用总长度为m的二进制数表示数值i。为便于理解,假设n等于16(相应地,独热向量的总长度也为16),m取值为4。则对于独热向量的第0位,其位置信息表示为0000;对于独热向量的第1位,其位置信息表示为0001;对于独热向量的第2位,其位置信息表示为0010...对于独热向量的第8位,其位置信息表示为1000...对于独热向量的第14位,其位置信息表示为1110;对于独热向量的第15位,其位置信息表示为1111。
示例性地,假设独热向量为0000000000100000,该独热向量总共有16位,从左至右分别是第15位至第0位,其中第5位是1,其余位是0。在针对第15位进行处理时,将第15位的位置信息表示为第一二进制数1111,并将第15位的数值0复制成4个,形成第二二进制数0000,然后对1111和0000执行按位与运算,得到第三二进制数0000。
在针对第14位进行处理时,将第14位的位置信息表示为第一二进制数1110,并将第14位的数值0复制成4个,形成第二二进制数0000,然后对1110和0000执行按位与运算,得到第三二进制数0000。
在针对第5位进行处理时,将第5位的位置信息表示为第一二进制数0101,并将第5位的数值1复制成4个,形成第二二进制数1111,然后对0101和1111执行按位与运算,得到第三二进制数0101。
在针对第1位进行处理时,将第1位的位置信息表示为第一二进制数0001,并将第1位的数值0复制成4个,形成第二二进制数0000,然后对0001和0000执行按位与运算,得到第三二进制数0000。
在针对第0位进行处理时,将第0位的位置信息表示为第一二进制数0000,并将第0位的数值0复制成4个,形成第二二进制数0000,然后对0000和0000执行按位与运算,得到第三二进制数0000。
可见,按照上述方式对独热向量的每个数据位进行处理,最终非0数据位(即数值等于1的数据位)的第三二进制数等于该数据位的位置信息,其余数据位的第三二进制数均为0。当然,第0位的第三二进制数也等于第0位的位置信息。
S330:对n个第三二进制数执行按位或运算,输出拖尾1在目标二进制数中的位置。
本公开中,对n个第三二进制数执行按位或运算后,得到的运算结果就是输出拖尾1在目标二进制数中的位置,其原因如下:由于n个第三二进制数中,仅非0数据位(即数值等于1的数据位)的第三二进制数等于该数据位的位置信息,其余数据位的第三二进制数均为0,因此对n个第三二进制数执行按位或运算后,输出的运算结果等于非0数据位(即数值等于1的数据位)的位置信息,又由于独热向量中1的位置与目标二进制数中拖尾1的位置对应,因此输出的运算结果也正是目标二进制数中拖尾1的位置信息。
为便于理解,沿用上述示例,独热向量0000000000100000的15个数据位中,第5位的第三二进制数为0101,其余位的第三二进制数均为0000,对这15个第三二进制数执行按位或运算后,输出的运算结果为0101,也就是第5位的位置信息“5”的二进制表示。
本公开中,通过为独热向量的每个数据位生成m位的第一二进制数和第二二进制数,然后对第一二进制数和第二二进制数执行相应运算,所需的逻辑级数与m成正比,而不需要与n成正比,因此减少了所需的逻辑级数,有利于提高电路运行速度。
以上,本公开提供了输出拖尾1所在位置的方法,以下基于同一发明构思,本公开提供输出前导1所在位置的方法。
参考图4,图4是本公开一实施例提出的输出前导1所在位置的方法的流程示意图。本公开中,二进制数的前导1是指二进制数中的第一个1。为便于理解,如图1所示,图1中二进制数从左至右的第3位是该二进制数的前导1。
本公开中的输出前导1所在位置的方法可具体应用于以下场景:决定CPU中多个中断请求的响应顺序,或者决定多个总线事务请求的响应顺序。如果将输出前导1所在位置的方法应用至上述领域,则可以首先将n个请求信号表示为n位的目标二进制数。
如图4所示,该方法包括以下步骤:
S410:对n位的目标二进制数执行按位倒序操作,得到按位倒序后的二进制数。
本公开中,对n位的目标二进制数执行按位倒序操作,具体是指:将目标二进制数的第i位的数值与第n-1-i位的数值进行对调,i∈[0,n/2)。为便于理解,假设n等于16,n位的目标二进制数为0001011011000010。在步骤S410中,需要将第0位的数值和第15位的数值对调,将第1位的数值和第14位的数值对调,将第2位的数值和第13位的数值对调,将第3位的数值和第12位的数值对调,将第4位的数值和第11位的数值对调,将第5位的数值和第10位的数值对调,将第6位的数值和第9位的数值对调,将第7位的数值和第8位的数值对调。按位倒序后的二进制数为0100001101101000。
S420:将按位倒序后的二进制数转换为独热向量,独热向量中1的位置与按位倒序后的二进制数中拖尾1的位置对应,n是大于1的整数。
在一些具体实施方式中,步骤S420包括以下子步骤:
S420-1:对按位倒序后的二进制数执行减1运算,得到减1后的二进制数。
S420-2:对减1后的二进制数执行按位取反操作,得到按位取反后的二进制数。
S420-3:对按位倒序后的二进制数和按位取反后的二进制数执行按位与运算,得到独热向量。
对于子步骤S420-1至S420-3的具体说明,可参考针对子步骤S310-1至S310-3的具体说明,为避免重复,此处不做赘述。
在另一些具体实施方式中,步骤S420包括以下子步骤:
S420-A:对按位倒序后的二进制数执行减1运算,得到减1后的二进制数。
S420-B:对按位倒序后的二进制数和减1后的二进制数执行异或运算,得到异或运算后的二进制数。
S420-C:对按位倒序后的二进制数和异或运算后的二进制数执行按位与运算,得到独热向量。
对于子步骤S420-A至S420-C的具体说明,可参考针对子步骤S310-A至S310-C的具体说明,为避免重复,此处不做赘述。
以上,本公开提供了两种转换独热向量的具体实施方式,需要说明的是,本公开对于独热向量的具体转换算法不做限定。
S430:对独热向量执行按位倒序操作,得到目标独热向量。
本公开中,独热向量的位数与目标二进制数的位数相等,均是n位。对独热向量执行按位倒序操作,具体是指:将独热向量的第i位的数值与第n-1-i位的数值进行对调,i∈[0,n/2)。
S440:将目标独热向量的每个数据位的位置信息表示为m位的第一二进制数,将目标独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对目标独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到目标独热向量的每个数据位的第三二进制数。
在一些具体实施方式中,m是大于等于x的整数,x是以2为底数对n执行对数运算后的运算结果。
在另一些具体实施方式中,m是以2为底数对n执行对数运算,并对运算结果进行向上取整的结果。
对于步骤S440的具体说明,可参考针对步骤S320的具体说明,为避免重复,此处不再赘述。
S450:对n个第三二进制数执行按位或运算,输出前导1在目标二进制数中的位置。
对于步骤S450的具体说明,可参考针对步骤S330的具体说明,为避免重复,此处不再赘述。
本公开中,通过为目标独热向量的每个数据位生成m位的第一二进制数和第二二进制数,然后对第一二进制数和第二二进制数执行相应运算,所需的逻辑级数与m成正比,而不需要与n成正比,因此减少了所需的逻辑级数,有利于提高电路运行速度。
以上,本公开提供了输出拖尾1/前导1所在位置的方法。基于同一发明构思,本公开以下提供输出拖尾1所在位置的装置。
参考图5,图5是本公开一实施例提出的输出拖尾1所在位置的装置的结构示意图。如图5所示,该装置包括独热信号发生模块和位置计算模块。
其中,独热信号发生模块用于将n位的目标二进制数转换为独热向量,独热向量中1的位置与目标二进制数中拖尾1的位置对应,n是大于1的整数。
位置计算模块用于将独热向量的每个数据位的位置信息表示为m位的第一二进制数,将独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得述独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出拖尾1在目标二进制数中的位置。
在一些具体实施方式中,m是大于等于x的整数,x是以2为底数对n执行对数运算后的运算结果。
在另一些具体实施方式中,m是以2为底数对n执行对数运算,并对运算结果进行向上取整的结果。
本公开中,通过为独热向量的每个数据位生成m位的第一二进制数和第二二进制数,然后对第一二进制数和第二二进制数执行相应运算,所需的逻辑级数与m成正比,而不需要与n成正比,因此减少了所需的逻辑级数,有利于提高电路运行速度。
在一些具体实施方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为目标二进制数,减1电路对目标二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括目标二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位进行取反后,与目标二进制数的每一位执行与运算,得到独热向量。
参考图6,图6是本公开一实施例提出的两种减1电路的结构示意图,上下两种减1电路的输入信号均为目标二进制数D,输出信号均为减1后的二进制数D’。
参考图7,图7是本公开一实施例提出的独热信号发生电路的结构示意图。如图7所示,独热信号发生电路包括n个与门,分别是第0个至第n-1个与门,第i个与门的输入信号是二进制数D’的第i位数值[i]’取反后的数值和二进制数D的第i位的数值[i],第i个与门的输出信号是输入的两个数值的与运算结果Doh[i]。n个与门的输出信号形成n位的独热向量。
在另一些具体实施方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为目标二进制数,减1电路对目标二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括目标二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位与目标二进制数的每一位执行异或运算,并对异或运算结果与目标二进制数的当前位执行与运算,得到独热向量。
参考图8,图8是本公开另一实施例提出的独热信号发生电路的结构示意图。如图8所示,独热信号发生电路包括n个异或门和n个与门,其中n个异或门分别是第0个至第n-1个异或门,n个与门分别是第0个至第n-1个与门。第i个异或门的输入信号是二进制数D’的第i位的数值[i]’和二进制数D的第i位的数值[i]。第i个与门的输入信号是第i个异或门的输出结果和二进制数D的第i位的数值[i]。其中,二进制数D是目标二进制数,二进制数D’是目标二进制数减1后的二进制数。第i个与门的输出信号是输入的两个数值的与运算结果Doh[i]。n个与门的输出信号形成n位的独热向量。
在一些具体实施方式中,位置计算模块包括n个按位与电路和1个按位或电路;每个按位与电路的输入信号包括独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;按位或电路的输入信号包括n个m位的运算结果,按位或电路对n个m位的运算结果执行按位或运算,得到并输出拖尾1在目标二进制数中的位置。
参考图9,图9是本公开一实施例提出的按位与电路的结构示意图。如图9所示,每个按位与电路包括m个与门,分别是第0个至第m-1个与门。第i个按位与电路的第j个与门的输入信号包括:独热向量的第i位的数值Doh[i]、第i位的位置信息对应的二进制数d中的第j位的数值[j]。第i个按位与电路的m个与门的输出结果形成一个m位的二进制运算结果index i。
为便于理解,示例性地,假设独热向量为0000000000100000,m的取值为4。比如第0个按位与电路的第0个与门的输入信号包括:独热向量的第0位的数值0、第0位的位置信息对应的二进制数0000中的第0位的数值0,该与门的输出结果为0。
比如第3个按位与电路的第2个与门的输入信号包括:独热向量的第3位的数值0、第3位的位置信息对应的二进制数0011中的第2位的数值1,该与门的输出结果为0。
比如第5个按位与电路的第1个与门的输入信号包括:独热向量的第5位的数值1、第5位的位置信息对应的二进制数0101中的第2位的数值1,该与门的输出结果为1。
比如第5个按位与电路的第3个与门的输入信号包括:独热向量的第5位的数值1、第5位的位置信息对应的二进制数0101中的第3位的数值0,该与门的输出结果为0。
参考图10,图10是本公开一实施例提出的按位或电路的结构示意图。如图10所示,按位或电路包括m个或门,分别是第0个至第m-1个或门,第i个或门的输入信号是每个按位与电路输出的m位二进制数index中的第i位的数值[i]。为便于理解,假设m取值为4,n个按位与电路各自输出的4位二进制数分别是0000、0000、0000、0000、0000、0101、0000、0000、0000、0000、0000、0000、0000、0000、0000、0000。则第0个或门的输入信号是0、0、0、0、0、1、0、0、0、0、0、0、0、0、0、0,第1个或门的输入信号是0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0,第2个或门的输入信号是0、0、0、0、0、1、0、0、0、0、0、0、0、0、0、0,第3个或门的输入信号是0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0。第0个或门的输出为1,第1个或门的输出为0,第2个或门的输出为1,第3个或门的输出为0。第3个或门至第0个或门的输出成二进制数0101,该二进制数0101就是最终的输出结果,即目标二进制数中拖尾1的所在位置。
以上,本公开提供了输出拖尾1所在位置的装置,以下基于同一发明构思,本公开提供输出前导1所在位置的装置。
参考图11,图11是本公开一实施例提出的输出前导1所在位置的装置的结构示意图。如图11所示,该装置包括按位倒序模块、独热信号发生模块及位置计算模块。
其中,按位倒序模块用于对n位的目标二进制数执行按位倒序操作,得到按位倒序后的二进制数。
独热信号发生模块用于将按位倒序后的二进制数转换为独热向量,独热向量中1的位置与按位倒序后的二进制数中拖尾1的位置对应,n是大于1的整数。
按位倒序模块还用于对独热向量执行按位倒序操作,得到目标独热向量。
位置计算模块用于将目标独热向量的每个数据位的位置信息表示为m位的第一二进制数,将目标独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对目标独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到目标独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出前导1在目标二进制数中的位置。
在一些具体实施方式中,m是大于等于x的整数,x是以2为底数对n执行对数运算后的运算结果。
在另一些具体实施方式中,m是以2为底数对n执行对数运算,并对运算结果进行向上取整的结果。
本公开中,通过为目标独热向量的每个数据位生成m位的第一二进制数和第二二进制数,然后对第一二进制数和第二二进制数执行相应运算,所需的逻辑级数与m成正比,而不需要与n成正比,因此减少了所需的逻辑级数,有利于提高电路运行速度。
在一些具体实施方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为按位倒序后的二进制数,减1电路对按位倒序后的二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括按位倒序后的二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位进行取反后,与按位倒序后的二进制数的每一位执行与运算。
在另一些具体实施方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为按位倒序后的二进制数,减1电路对按位倒序后的二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括按位倒序后的二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位与按位倒序后的二进制数的每一位执行按位异或运算,并对异或运算结果与按位倒序后的二进制数的当前位执行与运算,得到独热向量。
对于独热信号发生模块的具体说明,可参考本公开的前述内容,为避免重复,此处不做赘述。
在一些具体实施方式中,位置计算模块包括n个按位与电路和1个按位或电路;每个按位与电路的输入信号包括目标独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;按位或电路的输入信号包括n个m位的运算结果,按位或电路对n个m位的运算结果执行按位或运算,得到并输出所述前导1在目标二进制数中的位置。
对于位置计算模块的具体说明,可参考本公开的前述内容,为避免重复,此处不做赘述。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (18)

1.一种输出拖尾1所在位置的装置,所述装置包括:独热信号发生模块和位置计算模块;
所述独热信号发生模块包括减1电路和独热信号发生电路,所述独热信号发生模块用于将n位的目标二进制数转换为独热向量,所述独热向量中1的位置与所述目标二进制数中拖尾1的位置对应,所述n是大于1的整数;
所述位置计算模块包括按位或电路和n个按位与电路,所述位置计算模块用于将所述独热向量的每个数据位的位置信息表示为m位的第一二进制数,将所述独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对所述独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到所述独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出所述拖尾1在所述目标二进制数中的位置。
2.根据权利要求1所述的装置,所述减1电路的输入信号为所述目标二进制数,所述减1电路对所述目标二进制数执行减1运算,得到减1后的二进制数;所述独热信号发生电路的输入信号包括所述目标二进制数和所述减1后的二进制数,所述独热信号发生电路对所述减1后的二进制数的每一位进行取反后,与所述目标二进制数的每一位执行与运算,得到所述独热向量。
3.根据权利要求1所述的装置,所述减1电路的输入信号为所述目标二进制数,所述减1电路对所述目标二进制数执行减1运算,得到减1后的二进制数;所述独热信号发生电路的输入信号包括所述目标二进制数和所述减1后的二进制数,所述独热信号发生电路对所述减1后的二进制数的每一位与所述目标二进制数的每一位执行按位异或运算,并对异或运算结果与所述目标二进制数的当前位执行与运算,得到所述独热向量。
4.根据权利要求1所述的装置,每个按位与电路的输入信号包括所述独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;所述按位或电路的输入信号包括n个所述m位的运算结果,所述按位或电路对n个m位的运算结果执行按位或运算,得到并输出所述拖尾1在所述目标二进制数中的位置。
5.一种输出前导1所在位置的装置,所述装置包括:按位倒序模块、独热信号发生模块及位置计算模块;
所述按位倒序模块用于对n位的目标二进制数执行按位倒序操作,得到按位倒序后的二进制数;
所述独热信号发生模块包括减1电路和独热信号发生电路,所述独热信号发生模块用于将所述按位倒序后的二进制数转换为独热向量,所述独热向量中1的位置与所述按位倒序后的二进制数中拖尾1的位置对应,所述n是大于1的整数;
所述按位倒序模块还用于对所述独热向量执行按位倒序操作,得到目标独热向量;
所述位置计算模块包括按位或电路和n个按位与电路,所述位置计算模块用于将所述目标独热向量的每个数据位的位置信息表示为m位的第一二进制数,将所述目标独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对所述目标独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到所述目标独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出所述前导1在所述目标二进制数中的位置。
6.根据权利要求5所述的装置,所述减1电路的输入信号为所述按位倒序后的二进制数,所述减1电路对所述按位倒序后的二进制数执行减1运算,得到减1后的二进制数;所述独热信号发生电路的输入信号包括所述按位倒序后的二进制数和所述减1后的二进制数,所述独热信号发生电路对所述减1后的二进制数的每一位进行取反后,与所述按位倒序后的二进制数的每一位执行与运算。
7.根据权利要求5所述的装置,所述减1电路的输入信号为所述按位倒序后的二进制数,所述减1电路对所述按位倒序后的二进制数执行减1运算,得到减1后的二进制数;所述独热信号发生电路的输入信号包括所述按位倒序后的二进制数和所述减1后的二进制数,所述独热信号发生电路对所述减1后的二进制数的每一位与所述按位倒序后的二进制数的每一位执行按位异或运算,并对异或运算结果与所述按位倒序后的二进制数的当前位执行与运算,得到所述独热向量。
8.根据权利要求5所述的装置,每个按位与电路的输入信号包括所述目标独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;所述按位或电路的输入信号包括n个所述m位的运算结果,所述按位或电路对n个m位的运算结果执行按位或运算,得到并输出所述前导1在所述目标二进制数中的位置。
9.一种输出拖尾1所在位置的方法,所述方法包括:
将n个请求信号表示为n位的目标二进制数;
将n位的目标二进制数转换为独热向量,所述独热向量中1的位置与所述目标二进制数中拖尾1的位置对应,所述n是大于1的整数;
将所述独热向量的每个数据位的位置信息表示为m位的第一二进制数,将所述独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对所述独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到所述独热向量的每个数据位的第三二进制数;
对n个第三二进制数执行按位或运算,输出所述拖尾1在所述目标二进制数中的位置,从而根据所述拖尾1的位置确定所述n个请求信号的响应顺序。
10.根据权利要求9所述的方法,所述将n位的目标二进制数转换为独热向量,包括:
对所述目标二进制数执行减1运算,得到减1后的二进制数;
对所述减1后的二进制数执行按位取反操作,得到按位取反后的二进制数;
对所述目标二进制数和所述按位取反后的二进制数执行按位与运算,得到所述独热向量。
11.根据权利要求9所述的方法,所述将n位的目标二进制数转换为独热向量,包括:
对所述目标二进制数执行减1运算,得到减1后的二进制数;
对所述目标二进制数和所述减1后的二进制数执行按位异或运算,得到异或运算后的二进制数;
对所述目标二进制数和所述异或运算后的二进制数执行按位与运算,得到所述独热向量。
12.根据权利要求9所述的方法,所述m是大于等于x的整数,所述x是以2为底数对所述n执行对数运算后的运算结果。
13.根据权利要求9所述的方法,所述m是以2为底数对所述n执行对数运算,并对运算结果进行向上取整的结果。
14.一种输出前导1所在位置的方法,所述方法包括:
将n个请求信号表示为n位的目标二进制数;
对n位的目标二进制数执行按位倒序操作,得到按位倒序后的二进制数;
将所述按位倒序后的二进制数转换为独热向量,所述独热向量中1的位置与所述按位倒序后的二进制数中拖尾1的位置对应,所述n是大于1的整数;
对所述独热向量执行按位倒序操作,得到目标独热向量;
将所述目标独热向量的每个数据位的位置信息表示为m位的第一二进制数,将所述目标独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对所述目标独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到所述目标独热向量的每个数据位的第三二进制数;
对n个第三二进制数执行按位或运算,输出所述前导1在所述目标二进制数中的位置,从而根据所述前导1的位置确定所述n个请求信号的响应顺序。
15.根据权利要求14所述的方法,所述将所述按位倒序后的二进制数转换为独热向量,包括:
对所述按位倒序后的二进制数执行减1运算,得到减1后的二进制数;
对所述减1后的二进制数执行按位取反操作,得到按位取反后的二进制数;
对所述按位倒序后的二进制数和所述按位取反后的二进制数执行按位与运算,得到所述独热向量。
16.根据权利要求14所述的方法,所述将所述按位倒序后的二进制数转换为独热向量,包括:
对所述按位倒序后的二进制数执行减1运算,得到减1后的二进制数;
对所述按位倒序后的二进制数和所述减1后的二进制数执行按位异或运算,得到异或运算后的二进制数;
对所述按位倒序后的二进制数和所述异或运算后的二进制数执行按位与运算,得到所述独热向量。
17.根据权利要求14所述的方法,所述m是大于等于x的整数,所述x是以2为底数对所述n执行对数运算后的运算结果。
18.根据权利要求14所述的方法,所述m是以2为底数对所述n执行对数运算,并对运算结果进行向上取整的结果。
CN202310014889.8A 2023-01-06 2023-01-06 位置输出装置和位置输出方法 Active CN115833845B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310014889.8A CN115833845B (zh) 2023-01-06 2023-01-06 位置输出装置和位置输出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310014889.8A CN115833845B (zh) 2023-01-06 2023-01-06 位置输出装置和位置输出方法

Publications (2)

Publication Number Publication Date
CN115833845A CN115833845A (zh) 2023-03-21
CN115833845B true CN115833845B (zh) 2023-05-19

Family

ID=85520181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310014889.8A Active CN115833845B (zh) 2023-01-06 2023-01-06 位置输出装置和位置输出方法

Country Status (1)

Country Link
CN (1) CN115833845B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019225576A1 (ja) * 2018-05-22 2019-11-28 日本電気株式会社 信号処理装置、方法、プログラム
CN114430277A (zh) * 2021-12-31 2022-05-03 山东云海国创云计算装备产业创新中心有限公司 一种独热码至顺序二进制的转换方法、系统及相关装置
CN115407965B (zh) * 2022-11-01 2023-03-24 南京航空航天大学 一种基于泰勒展开的高性能近似除法器及误差补偿方法

Also Published As

Publication number Publication date
CN115833845A (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
US4785421A (en) Normalizing circuit
US5204825A (en) Method and apparatus for exact leading zero prediction for a floating-point adder
CN111538473B (zh) 一种Posit浮点数处理器
JPH0542011B2 (zh)
US8234320B1 (en) Bitwise comparator for selecting two smallest numbers from a set of numbers
JPH05224883A (ja) 浮動小数点n−ビット符号付大きさの2進数を固定小数点m−ビット2の補数表示の2進数に変換するためのシステム
JPH0480815A (ja) 絶対値演算回路
CN115833845B (zh) 位置输出装置和位置输出方法
CN107102840B (zh) 数据提取方法和设备
CN110597483B (zh) 一种用于fpga比较器的全二进制数据高速比较方法及系统
JP3012357B2 (ja) シフト量検出回路
CN105786444B (zh) 一种浮点数尾数前导零检测方法及装置
US7024439B2 (en) Leading Zero Anticipatory (LZA) algorithm and logic for high speed arithmetic units
CN112350716B (zh) 一种补码运算方法及装置、补码运算装置的运算方法
KR100331846B1 (ko) 실수 연산기
KR101922462B1 (ko) 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법
CN108052307B (zh) 处理器浮点单元前导零数量的超前运算方法及系统
US5754458A (en) Trailing bit anticipator
CN111290790B (zh) 一种定点转浮点的转换装置
CN112671411B (zh) 一种基于ieee 754和posit的浮点数据格式的双向转换电路
JP3613466B2 (ja) データ演算処理装置及びデータ演算処理プログラム
US20050210089A1 (en) Saturating shift mechanisms within data processing systems
KR0175357B1 (ko) 고속화를 위한 연산기의 오버플로우 검출회로
US20040167949A1 (en) Data saturation manager and corresponding method
JP3557366B2 (ja) 大小比較方法および装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240112

Address after: 401135 No. 618 Liangjiang Avenue, Longxing Town, Yubei District, Chongqing

Patentee after: Xiangdixian Computing Technology (Chongqing) Co.,Ltd.

Address before: Room 901, 901, floor 9 (09), building 1, yard 5, Anding Road, Chaoyang District, Beijing 100029

Patentee before: Beijing xiangdixian Computing Technology Co.,Ltd.

TR01 Transfer of patent right