计算机组成原理——运算方法与运算器

  • Post author:
  • Post category:其他



定点乘法运算


1、人工算法与机器算法的同异性

在定点计算机中,两个原码表示的数来的运算规则是:乘积的符号位出两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。

乘积符号的运算法则是:同号相乘为正,并号相乘为负。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16


2、不带符号的阵列乘法器


watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

例如

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16


3、带符号的阵列乘法器

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

例如

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16


定点除法


原码除法算法原理

两个原码表示的数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。设有n位定点小数(定点整数也同样适用):

被除数x,其原码为:

[x]原=xf .xn-1 … x1 x0

除数y,其原码为:

[x]原=yf .yn-1 … y1 y0

则有商q=x/y,其原码为:

[q]原=(xf ⊕ yf)+(0 .xn-1 … x1 x0 / 0 .yn-1 … y1 y0)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

机器运算方法:

①恢复余数法:机器不会心算,必须先做减法,若余数为正,才知道够减;若余数为负,才知道不够减。不够减时必须恢复原来的余数,以便再继续往下运算,这种方法称为恢复余数法。

②加减交替法:特点是运算过程中如出现不够减,则不必恢复余数,根据余数符号,可以继续往下运算,因此步数固定,控制简单。


并行除法器

(1)可控加法/减法(CAS)单元

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

沿对角方向进入阵列的原因:在除法中所需的部分系数左移替代为让余数保持固定将除数沿对角线右移

(2)加减交替的阵列除法器

例:
watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16


定点运算器的组成


逻辑运算:

计算机中的逻辑运算主要指:逻辑非,逻辑加,逻辑乘,逻辑异

1、逻辑非

逻辑非也称求反,对某数进行逻辑非运算,就足按位求它的反,学用变量上方加一横来表示。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

例如

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16


逻辑加运算

对两个数进行逻辑加,就是按位求它们的“或”,所以逻辑加又称逻辑或,常用记号“+”来表示。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16


逻辑乘运算

对两数进行逻辑乘,就是按位求它们的“与”,所以逻辑乘又称逻辑与,常用记号“.来表示。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

例如

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16



版权声明:本文为m0_67784353原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。