一种二补数电路,其包含一运算器,设置于两个转换器之间。该转换器可将浮点数据与一预设格式数据相互转换,且该运算器可直接运算预设格式数据。该预设格式数据包含与原始浮点数据相同的符号位、相同乘方以及原始浮点数据的尾数的二补数值。当该运算器为一算术逻辑单元时,即可减少所要执行运算的运算次数。
【技术实现步骤摘要】
本专利技术提供一种二补数(the two’s complement)电路,特别是指一种执行二补数运算的二补数电路。
技术介绍
在繁多的数字系统中,以浮点数(floating-point number)的方式来存储并处理数据。如数字系统中的存储寄存器、输出入装置等,用来存储、运算、处理浮点格式的数据。然而,当数字系统执行数学运算时,由于需执行多次的二补数转换,因此降低了数字系统的工作效能。请参阅图1。图1为公知技术中进行四元素向量点积运算(four-componentdot product operation,DP4)的方块图。在进行向量点积运算时,对两向量各元素的乘算是直接以浮点运算来进行的,而乘算的积(products of amultiplication)就在步骤102中输入至图1的系统。举例来说,当两个四维向量(four-dimensional vector)进行点积运算时,就会产生四个乘绩结果,如图1中标示的”X”。在公知技术中使用三个浮点数加法器(floating-pointnumber adder)来执行四个浮点数的加法运算。如图1中所示,每一虚线所框出的方块代表一个浮点数加法器,而每一个浮点数加法器可接收两个浮点数作为输入值并输出一浮点数的总和。当输入两组数据时,此输入数据会分别先转换成二补数的格式,如步骤104。接下来,在步骤108直接进行加算之前,先进行步骤106,对各组数据分别进行位平移,以根据各组数据的乘方(指数,exponent)来对齐各组数据的小数点。相加后的结果再经二补数的转换,如步骤110。最后于步骤112中再次将此运算结果做位的位移,以使所输出的浮点数正规化(normalize)。步骤114至122为另一个浮点数加法器的相对应的步骤,其详细说明于此不再赘述。而最后的浮点数运算结果于步骤124中产生的。如前所述,在浮点系统中执行二补数运算会耗费相当多的系统资源与时间。此外,当执行更多的二补数转换时,公知技术在每一装置中增加额外的硬件设备(如转换器)以实现二补数的运算。
技术实现思路
本专利技术提供一种二补数电路,以减少二补数转换器的使用数目并解决上述的问题。本专利技术公开一种二补数电路,其包含一第一转换器,用以接收一第一浮点(floating-point)数据,并将该第一浮点数据转换为一预设格式数据;一寄存器,连接于该第一转换器,用以寄存该预设格式数据;一第一移位器,连接于该寄存器,根据一乘方以对齐该预设格式数据;一运算器,连接于该第一移位器,用以直接运算该预设格式数据;一第二移位器,连接于该运算器,用以正规化该预设格式数据,以及直接存储该预设格式数据于该寄存器;以及一第二转换器,连接于该寄存器,用以接收该寄存器中的该预设格式数据并转换为一第二浮点数据,以及输出该第二浮点数据。本专利技术的优点在于将运算器设置于第一与第二转换器之间,以减少二补数转换的次数,相对地可减少硬件设备与处理的时间。附图说明图1为公知技术中进行四元素向量点积运算的方块图。图2为本专利技术二补数电路的示意图。图3为本专利技术进行四元素向量点积运算的方块图。主要元件符号说明200二补数电路204寄存器206第一移位器208运算器210第二移位器202、212二补数转换器具体实施方式请参阅图2。图2为本专利技术二补数电路200的示意图。二补数电路200可连接于浮点数为IEEE规格的装置之间。举例来说,S8.23规格具有符号位、8位乘方(指数,exponent)以及23位尾数(假数,mantissa)。IEEE规格的浮点系统装置包含一浮点处理器(floating-point processor)、浮点运算单元(floating-point unit,FPU)以及输入/输出装置(如输入/输出控制器、视讯卡等)。这些浮点系统装置于此仅能处理浮点数据,在其他应用上并无此限制。二补数电路200包含一第一二补数转换器202、寄存器204、一第一移位器206用以对齐数据、一运算器208、一第二位移位器210用以正规化数据以及一第二二补数转换器212。第一二补数转换器202连接于至少一浮点系统装置,用以接收浮点数据(如S8.23规格数据)。第一二补数转换器202可为一逻辑阵列或处理器,其可将输入的浮点数据转换为二补数形式,于后将有详细说明。第一二补数转换器202的输出端连接于寄存器204,寄存器204用来寄存已转换的数据。而寄存器204的输出端连接于第一移位器206,第一移位器206用以对齐已转换数据的位,以便于执行的后的运算。第一移位器206的输出端连接于运算器208,运算器208可包括一算术逻辑单元、一中央处理器以及一算术处理器,可对输入数据执行如加法、减法或乘法等运算。运算器208的输出端连接于第二移位器210,第二移位器210将运算结果正规化为二补数形式。第二移位器210的输出端连接于寄存器204,寄存器204存储第一移位器206所需的数值。第二移位器210的输出端亦连接于第二二补数转换器212,第二二补数转换器212用来将最后的输出结果转换为浮点数据格式,如S8.23。二补数电路200的运作步骤如下首先,需要执行算术运算的数据输入至第一二补数转换器202,以将浮点数据转换成二补数格式。接着,此二补数数据先寄存于寄存器204中,如果运算器208将要执行的是乘法,第一移位器206直接将寄存器204的数值输出至运算器208;如果运算器208将要执行的是加法或减法,第一移位器将执行位平移。位平移的目的在于使每一数值的小数点对齐,以利于运算。而后,运算器208接收已位移完成的数据并执行算术运算。第二位移位器210将运算器208的运算结果正规化,并将数据存于寄存器204中。第二二补数转换器212将最后的输出结果转换为浮点格式。由此可知,公知利用外部的浮点系统装置来执行二补数的运算,现在仅需利用二补数电路200即可实现。本专利技术中使用的特殊二补数格式(预设格式)包含与原始浮点数相同的符号位(sign bit)与乘方(exponent),以及原始浮点数尾数的二补数值。换句话说,当浮点数的尾数转换成二补数格式(如0转换成1,1转换成0,加1)时,必须同时保留符号位与乘方,才可得到此特殊二补数格式数据。以下分别以浮点数格式以及本专利技术二补数格式来表示十进制数值(-15803208)。表1为浮点数格式表示法,而表2为本专利技术二补数格式表示法。表1IEEE浮点数 表2本专利技术二补数格式 浮点格式(如IEEE规格)与本专利技术二补数格式间的转换由第一二补数转换器202与第二二补数转换器212来执行,第一二补数转换器202与第二二补数转换器212皆为单向转换器;亦可使用单一双向转换器。如果使用上述的二补数格式,加法与减法的运算可轻易地实现。而关于乘法运算,请参考以下三个方程式,以运算24位的正负数值,其可显示经由二补数格式的乘法运算得出的正确结果。方程式1000000A1A2A3A4A5A6×000000B1B2B3B4B5B6=C1C2C3C4C5C6C7C8C9C10C11C12其中0为数字零,而“×”为乘法符号;A1…A6为以十六进制表示的一正值乘数;B1…B6为以十六进制表示的一正值被乘数;以及C1…C12为以十六进制表示的乘积结果本文档来自技高网...
【技术保护点】
一种二补数电路,其包含:一第一转换器,用以接收一第一浮点数据,并将该第一浮点数据转换为一预设格式数据;一寄存器,连接于该第一转换器,用以寄存该预设格式数据;一第一移位器,连接于该寄存器,根据一乘方以对齐该预设格式数据 ;一运算器,连接于该第一移位器,用以直接运算该预设格式数据;一第二移位器,连接于该运算器,用以正规化该预设格式数据,以及直接存储该预设格式数据于该寄存器;以及一第二转换器,连接于该寄存器,用以接收该寄存器中的该预设格 式数据并转换为一第二浮点数据,以及输出该第二浮点数据。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:宋廉祥,
申请(专利权)人:威盛电子股份有限公司,
类型:发明
国别省市:71[中国|台湾]