计算机组成原理课件——第2章 运算方法与运算器b

合集下载

计算机组成原理华科版第二章运算方法与运算器课件

计算机组成原理华科版第二章运算方法与运算器课件

4
计算机组成原理
⑵补码表示法
第二章 运算方法与运算器
• 由于补码在作二进制加、减运算时较方便,所以 在计算机中广泛采用补码表示二进制数。
• 补码运算中,可以用加法代替减法,节省元件, 降低成本。
5
计算机组成原理
第二章 运算方法与运算器
⑵补码表示法
原码求补码方法:正数不变(相同)。负数符号位不变, 数值位求反加1
第二种浮点表示的格式为
1,10001001,01111111110000000000000
17
计算机组成原理
⑶ 浮点数的表示举例
第二章 运算方法与运算器
某机用32b表示一个数,阶码部分占8b(含一位符号 位2格5式6).。5,,尾x数2=1部27分/2占56,2 4试b(写含出一x1和位x符2的号两位种)浮。点数设表x1示=-
最小负数 最大负数
最小正数
最大正数
1.0000000 1.1111111
0.0000001
0.1111111
-1
-2-7
2-7
1-2-7
11
计算机组成原理
第二章 运算方法与运算器
定点整数的表示范围:
①设字长为8b,用原码表示时,其表示范围如下:
最小负数 最大负数 最小正数 最大正数
11111111 10000001 00000001 01111111
计算机组成原理
1.真值与机器数
第二章 运算方法与运算器
采用正、负符号加上二进制的绝对值,则这种 数值称为真值。
将正负号分别用一位数码0和1来代替,一般将 这种符号位放在数的最高位。这种在机器中使 用的连同数符一起数码化的数,称为机器数。
1
计算机组成原理

计算机组成原理(本全)ppt课件

计算机组成原理(本全)ppt课件

定点数的加减法实现
通过硬件电路实现定点数的加减法,包括加 法器、减法器等。
浮点数的加减运算
浮点数的表示方法
包括IEEE 754标准中浮点数的表示方法、规格化表示 和精度。
浮点数的加减法规则
包括阶码和尾数的运算规则、对阶操作、尾数加减运 算和结果规格化等。
浮点数的加减法实现
通过硬件电路实现浮点数的加减法,包括浮点加法器 、浮点减法器等。
指令的执行过程与周期
指令执行过程
取指、译码、执行、访存、写回等阶段 。
VS
指令周期
完成一条指令所需的时间,包括取指周期 、间址周期、执行周期等。
07
中央处理器(CPU)
CPU的功能与组成
控制器
负责指令的取指、译码和执行,控制 数据和指令在CPU内部的流动。
运算器
执行算术和逻辑运算,包括加、减、 乘、除、与、或、非等操作。
多核处理器与并行计算
多核处理器
将多个处理器核心集成在一个芯片上,每个核心可以独立执行指令,提高处理器的并行 处理能力。
并行计算
利用多核处理器或多个处理器同时处理多个任务或数据,加速计算过程,提高计算效率 。
08
输入输出系统
I/O接口与I/O设备
I/O接口的功能
实现主机与外设之间的信息交换,包括数据 缓冲、信号转换、设备选择等。
乘法与除法运算
浮点数的乘除法运算
包括浮点数的乘法、除法和平方根运算等。
定点数的乘除法运算
包括原码一位乘法、补码一位乘法、原码除 法和补码除法等。
乘除法运算的实现
通过硬件组成与设计
运算器的基本组成
包括算术逻辑单元(ALU)、寄存器组、数据总线等。
运算器的设计原则

最新计算机组成原理课件第二章

最新计算机组成原理课件第二章

1、原码表示法
定点整数x0. x1x2…xn
例:x=+11001110 , y=-11001110 [x]原=011001110 , [y]原=111001110
信息工程学院软件工程系 2021/1/22
1、原码表示法
原码特点: 表示简单,易于同真值之间进行转换,实现乘除运
算规则简单。 进行加减运算十分麻烦。
52位,指数偏移值是1023。因此规格化的64位浮点 数x的真值为:
x=(-1)S×(1.M)×2E-1023
e=E-1023
一个规格化的32位浮点数x的真值表示为
x=(-1)S×(1.M)×2E-127
e=E-127
信息工程学院软件工程系 2021/1/22
2.1.1数据格式
真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结 合符号位S为0或1,有正零和负零之分。
计算机组成原理课件第二章
第二章 运算方法和运算器
2.1数据与文字的表示方法 2.2定点加法、减法运算 2.3定点乘法运算 2.4定点除法运算 2.5定点运算器的组成 2.6浮点运算方法和浮点运算器
信息工程学院软件工程系 2021/1/22
2.1.1数据格式
4、定点表示法的特点 定点数表示数的范围受字长限制,表示数的范围有
真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合 符号位S为0或1,也有+∞和-∞之分。
这样在32位浮点数表示中,要除去E用全0和全1(25510)表 示零和无穷大的特殊情况,指数的偏移值不选128 (10000000),而选127(01111111)。对于规格化浮点数, E的范围变为1到254,真正的指数值e则为-126到+127。因此 32位浮点数表示的绝对值的范围是10-38~1038(以10的幂表

第二章_运算方法和运算器1(old)《计算机组成原理课件》

第二章_运算方法和运算器1(old)《计算机组成原理课件》
2013年7月22日5时28分
数值数据—定点数的表示法(补码)
• 进一步结论: 在计算机中,机器能表示的数据位数是一定 的,其运算都是有模运算。如果是n位整数,其 模为2n+1。如果是n位小数,其模为2。 若运算结果超出了计算机所能表示的数值范 围,则只保留它的小于模的低n位的数值,超过 n位的高位部分就自动舍弃了。
数值数据—定点数的表示法(反码)
定点小数表示: 定义: [ X ] 反 = Ns. N1 N2 … Nn
X
(2-2-n )+ X
0≤X<1 -1 < X ≤ 0
=(41A4C000)16
2013年7月22日5时28分
练习:
1、将20.1875转换成,32位浮点数存储? 2、若浮点数的二进制存储格式为(41A18000)16, 求其十进制值?
作业:
将十进制数数17.296875转换成位浮点数的二进 制格式来存储?
2013年7月22日5时28分
3.十进制数串的表示方法 目前,大多数通用性较强的计算机都能直接处理十进制形 式表示的数据。十进制数串在计算机内主要有两种表示 形式: (1)字符串形式 字符串形式:一个字节存放一个十进制的数位或符号位。 为了指明这样一个数,需要给出该数在主存中的起始 地址和位数(串的长度)。
2013年7月22日5时28分
Байду номын сангаас
数值数据—定点数的表示法(原码) 性质: • 原码为符号位加数的绝对值,0正1负 • 原码零有两个编码,+0和 -0编码不同 • 原码难以用于加减运算 • N+1位二进制原码所表示的范围:
小数:MAX=1-2-n ,MIN=﹣(1-2-n ) 整数:MAX=2n-1 ,MIN=﹣(2n-1 )

计算机组成原理课件——第2章运算方法与运算器b

计算机组成原理课件——第2章运算方法与运算器b

计算机组成原理课件——第2章运算方法与运算器b12.3定点乘法运算2.4定点除法运算2.5定点运算器的组成2.6浮点运算方法和浮点运算器第2章运算方法和运算器b2.3定点乘法运算23乘除法运算的机器实现方法1.完全软件实现不设乘除法运算的硬件电路,而是由软件利用运算器中的加法器和移位寄存器实现乘、除法运算2.加法器加上硬件辅助电路实现利用运算器中的加法器硬件电路和移位寄存器,再设计必要的扩展电路,可以用硬件通过加法和移位操作实现乘、除法运算3.专用乘、除法器实现在运算器中除了设置加法器之外,采用专用硬件电路实现高速乘、除法部件,直接完成乘、除法运算计算机学院体系结构中心4定点乘法运算算法原码一位乘法运算补码一位乘法运算(不要求)原码两位乘法运算(不要求)无符号的阵列乘法有符号的阵列乘法直接补码并行乘法(不要求)计算机学院体系结构中心5原码一位乘法运算令:[某]原=某f.某1某2某3……某n[Y]原=Yf.Y1Y2Y3……Yn则积的符号:被乘数与乘数两符号的异或值积的数值:被乘数与乘数两数的绝对值之积计算机学院体系结构中心原ffff12n12n[某某Y](某Y)(|某|某|Y|)(某Y)(0.某某某0.YYY)=⊕+=⊕+6二进制乘法基本算法描述:◆若乘数的当前位为1,则将被乘数和部分积求和。

◆若乘数的当前位为0,则跳过。

◆将部分积移位。

◆所有位都完成后,部分积即为最终结果。

N位乘数某M位被乘数=>N+M位的积乘法显然比加法更复杂…◆但比10进制乘法要简单计算机学院体系结构中心0.1101某0.10111101000011010.10001111加符号:1.10001111例.0.1101某1.10117部分积令:y=0.y1y2……yn则:某y=某某(y1某2-1+y2某2-2+……+yn某2-n)=2-1某(某y1+某y2某2-1+……+某yn某2-n+1)=2-1某(某y1+2-1(某y2+2-1(某y3+……+2-1(某yn+0))令:z0=0z1=2-1(某yn+z0)z2=2-1(某yn-1+z1)……zi=2-1(某yn-i+1+zi-1)……部分积zn=2-1(某y1+zn-1)=某y计算机学院体系结构中心8例:设某=0.1101,Y=0.1011,求某某Y计算机学院体系结构中心0000001011001101001101000110110100110101001100100111100000000010 0100010011110011010100010010001111+某右移一位→+某右移一位→+0右移一位→+某右移一位→部分积Z乘数Y乘积高位乘积低位1(丢弃)1(丢弃)0(丢弃)1(丢弃)某某Y=0.10001111z0=0,y4=1某y4+z0z1=2-1(某y4+z0)移位4次,运算完成ACB00.1101被乘数某9算法流程计算机学院体系结构中心0A、某B、YC、0CRCn=1?CR=n?2-1(A+B)A,C2-1(A+0)A,CCR+1CRYYNNS某+SySAA:部分积寄存器B:被乘数寄存器C:乘数寄存器CR:计数寄存器10原码一位乘法的硬件电路计算机学院体系结构中心ACBCR11不带符号的阵列乘法器计算机学院体系结构中心A=am-1...a1a0B=bn-1...b1b0P=A某B=pm+n-1 (1)12m某n位不带符号的阵列乘法器逻辑图计算机学院体系结构中心加数被加数低位来的进位进位输出和输出行波进位加法器C6C7C8C914时间计算实现n位某n位不带符号的原码阵列乘法器,需要n(n-1)个全加器和n2个“与”门n位某n位不带符号的原码阵列乘法器总的乘法时间估算为:tm=Ta+(n-1)某6T+(n-1)某Tf=T+(n-1)某6T+(n-1)某Tf=(8n-7)T◆Ta是计算aibi的时间,为1T◆Tf是全加器的进位延迟,为2T计算机学院体系结构中心15例19a4b0=1a3b0=1a2b0=0a1b0=1a0b0=1a4b1=0a3b1=0a2b1=0a1b1=0a0b1=0a4b2=1a3b2=1a2b2=0a1b2=1a0b2=0a4b3=0a3b3=0a2b3=0a1b3=0a0b3=0a4b4=1a3b4=1a2b4=0a1b4=1a0b4=1P=p9p8p7p6p5p4p3p2p1p0=1000110111(56710)计算机学院体系结构中心16有符号数的并行乘法运算原码(即用原码表示的机器)◆尾数参加无符号数乘法器运算。

计算机组成原理第二章运算方法和运算器[一](共88张PPT)

计算机组成原理第二章运算方法和运算器[一](共88张PPT)
十进制(二-十进制 BCD码)
字符型
逻辑型
2.1.2 数值型数据的表示方法
数值型数据包括无符号数和有符号数两类.
★无符号数:没有符号的数; ★有符号数:符号“+”或“-”在有效数字的前面. 注意:在相同机器字长的情况(qíngkuàng)下,无符号数与 有符号数所对应的数值范围不同. 一、数的机器码表示
最大正整数表示:0,111 111 111 111 111 最大正整数=(215-1)10=(+32767)10
(2)定点原码小数表示:
最大正数值=(1-2-15)10=(+0.111…11)2 15个1 最小负数值=-(1-2-15)10=(-0.111…11)2
精品资料
2.1.2 数值(shùzí)型数据的表示方法
浮点机表示的数的范围:2-11 ×0.0001--211 ×0.1111 即1/128—7.5
精品资料
(2)浮点数与定点数的比较
b)浮点数规格化后,其相对精度远比定点数高. c)浮点数包括阶码和尾数两部分,且结果需要(xūyào) 规格化,故运算较复杂,运算速度比定点数慢. d)在溢出判断的方法上,浮点数是对阶码进行判断, 只有阶码“上溢”时,浮点数溢出; 定点数是当运 算结果超出表示范围即“溢出”.
为扩大数的表示范围而出现了浮点数表示;
计算机应用扩大到商业和事务处理,出现了字符串数据; 堆栈数据表示;
向量(xiàngliàng)数据表示。ຫໍສະໝຸດ 一般介绍数值型数据
(能进行算术运算能得 到明确数值概念的数
字数据)
非数值型数据(以数
字数据形式进入计算 机的声音、图像、文 字等信息)
精品资料
二进制(定点、浮点)
(4)用小数表示-1:原码与反码的小数表示中没有(méi yǒu)-1;补码表示的小数-1为1.0000000

计算机组成原理 第二章 运算方法和运算器讲解

计算机组成原理 第二章 运算方法和运算器讲解

运算的控制端
(P43有误)
小结
不恢复余数法除法 加法/减法单元和除法阵列 2.3节书上没讲的例题请自学
定点乘法和除法(复习)
请简述原码乘、除法的规则 不带符号的阵列乘法器有哪二部分组成? 对2求补电路的作用?(E端的作用?) 求其对2补数,最高位是符号位:
0110100,1110100 带求补级的阵列乘法器是( )符号位的( )
阶码上溢(+,-∞)
阶码下溢(0) 尾数上溢(右规) 尾数下溢(有效位移出,舍入)
例28.设x=2010×0.11011011,y=2100×(-
0.10101100),求x+y。
设补码表示,阶码用双符号位,尾数用单符号位,则浮点表示
[x]浮=00 010, 0.11011011 [y]浮=00 100, 1.01010100
计算机中定点数常用补码表示、存储、计算
4·移码 浮点数的阶码常用移码表示
定义:[ x]移=x+2n
2n >x>= -2n 得到的移码总位数是n+1
复习提问
请写出-1010的原码、反码、补码 请写出-1010的8位原码、反码、补码 请写出-1010的移码 请写出-1010的8位移码 请写出+101.011*2+11的规格化形式 一IEEE754标准32位浮点数的16进制值是
<1> 判0,x,y均不为零
<2> 求阶差并对阶 △E为-2,x的阶码小,
应使Mx右移两位,Ex加2, [x]浮=00 100,0.00110110(11)
<3> 尾数求和

0. 0 0 1 1 0 1 1 0 (11)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机学院体系结构中心
25
不恢复余数的阵列除法器
x=0.x1x2x3x4x5x6 xy= y=0.y1y2y3 0.x1x2x3x4x5x6 商q=0.q1q2q3 余数0.y r=0.00r3r4r5r6 1y2y3 字长 n+1=4
进位输出表示部 分余数的符号 0-负数、1-正数
0
y1
y2
的补码
直接补码乘法(不要求)
计算机学院体系结构中心
16
求补器电路图
例:求补 1 010101 求补 1 101011; 1 101000
保持不变,以左的每一个位都求反 E是符号位 E=0时输出与输入相等 E=1时对其求补
求补
1 011000
从数的最右端开始,从右向左直到找出第一个“1”,该“1”
C-1=0 Ci=ai+Ci-1 ai*=ai⊕ECi-1 n+1位(不含符号位)的时间: tTC=n*2T+5T =(2n+5)T 假设:与门、或门延迟为2T
计算机学院体系结构中心
17
n+1位间接补码阵列乘法器
三个求补 器: 两个n位 算前求补 器 一个2n位 算后求补 器 n×n位不 带符号的 乘法阵列
计算机学院体系结构中心
7
A +x
右移一位→
部分积 Z 00 0000 00 1101 00 1101 00 0110 00 1101 01 0011
乘数 Y 1 0 1 1
C
B 00.1101 被乘数 X z0=0,y4=1 xy4+z0
1 1 0 1
1(丢弃)
z1=2-1(xy4+z0)
+x
右移一位→
商0还是商1?人比较后可以确定,但计算机如何确定? 余数末位补0后,减去除数右移后的值,导致加法器尾数逐渐 增多,最后要求加法器的位数必须为被除数的2倍
计算机学院体系结构中心
22
加减交替法(不恢复余数法)
判断是否够减: 被除数或部分余数左移减去除数得新余数 r'i=2ri-1–y 若r'i>0,则i位上商1,且在下一步,ri左移减除数。因为: ri = r'i ri+1= 2ri –y = 2r'i –y 若r'i<0,则i位上商0,且在下一步,ri左移加除数。因为: ri = r'i+y ri+1 = 2ri –y= 2(r'i+y)–y=2r'i+y 即:将恢复余数与下一步部分余数左移减去除数合并为加余数。 2r'i+y也可理解为:商0后,2r'i中已多减了2y,计算ri+1时加y 实际取得减除数的作用 如果最终的余数是负数,需“纠余”得到除法运算的余数: rn=r'n+y
计算机学院体系结构中心
18

设x=+15,y=–13, 已知机器补码表示有符号数,请用间接 补码阵列乘法器求出乘积x×y=? [x]补 =01111 [y]补 = 10011 算前求补器输出 |x|=1111,|y|=1101
算后求补级输出并加上乘积符号位1,得 [x× y]补 = 100111101 二进制数真值: x×y=( -11000011)2=(-195)10 十进制数验证:x×y = 15× (-13) = -195相等。
计算机学院体系结构中心
1(丢弃)
8
0
A、X
B、Y
C、0 N
CR
Cn = 1 ? Y 2-1(A+B) CR + 1 N A,C CR
2-1(A+0)
A,C
算法流程
A:部分积寄存器 B:被乘数寄存器 C:乘数寄存器 CR:计数寄存器
9
CR = n ? Y Sx + Sy SA
计算机学院体系结构中心
原码一位乘法的硬件电路
00 1001 00 0000 00 1001
1 1 1 0
1(丢弃)
+0
右移一位→
00 0100 00 1101 01 0001
1 1 1 1
0(丢弃)
例:设 X=0.1101, Y=0.1011, 求X×Y
X×Y=0.10001111 移位4次,运算完成
+x
右移一位→
00 1000 乘积高位
1 1 1 1 乘积低位
第2章 运算方法和运算器b
2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和浮点运算器
1
2.3 定点乘法运算
2
乘除法运算的机器实现方法
1.完全软件实现
不设乘除法运算的硬件电路,而是由软件利用运算 器中的加法器和移位寄存器实现乘、除法运算
2.加法器加上硬件辅助电路实现
y3
r1
加减交替法
r2
前提:除数大于被除数, 意味着商不会≥1
计算机学院体系结构中心
26
时间延迟
对一个2n位(小数部分)除以n位的不恢复余数 阵列除法器 (n+1)2个CAS单元 CAS单元的进位延迟为2T 除法的执行时间 t= (n+1)22T + 6T+T =(n+1)22T + 7T
计算机学院体系结构中心
19
2.4 定点除法运算
20
原码除法运算原理
设有n位定点小数(定点整数也适用)
被除数x,其原码为[x]原=xf.xn-1…x1x0 除数y,其原码为[y]原=yf.yn-1…y1y0 则其商q=xy,其原码为 [q]原=(xf⊕yf)+(0.xn-1…x1x00.yn-1…y1y0)
24
计算机学院体系结构中心
可控加法/减法(CAS)单元
当输入线P=0时,CAS做加法运算 当输入线P=1时,CAS做减法运算
Si=Ai⊕(Bi⊕P)⊕Ci Ci+1=(Ai+Ci)(Bi⊕P)+AiCi 当P=0时: Si=Ai⊕Bi⊕Ci Ci+1= AiBi+(AiBi)Ci =AiBi+BiCi+AiCi 当P=1时: Si=Ai⊕Bi⊕Ci Ci+1=AiBi+(AiBi)Ci =AiBi+BiCi+AiCi

所有位都完成后,部分积 即为最终结果。
N 位乘数 × M 位被乘数 => N+M 位的积 乘法显然比加法更复杂…

但比10进制乘法要简单
6
计算机学院体系结构中心
部分积
令:y=0.y1y2……yn 则:xy = x×(y1×2-1+ y2×2-2 +…… + yn×2-n) = 2-1 ×(xy1+ xy2×2-1 +…… + xyn×2-n+1) = 2-1 ×(xy1+ 2-1 (xy2+ 2-1 (xy3+ ……+ 2-1(xyn+0)) 令:z0=0 z1=2-1 (xyn+z0) z2=2-1 (xyn-1+z1) …… 部分积 zi=2-1 (xyn-i+1+zi-1) …… zn=2-1 (xy1+zn-1)=xy
A C
CR
B
计算机学院体系结构中心
10
不带符号的阵列乘法器
A=am-1…a1a0 B= bn-1…b1b0 P=A*B=pm+n-1…p1p0
计算机学院体系结构中心
11
m×n位不带符号的阵列乘法器逻辑图
计算机学院体系结构中心
12
5位×5位不带符号的阵列乘法器
低位来 被加数 的进位 FA 进位输出 和输出 加数
计算机学院体系结构中心
23
例:
X=0.01011 Y=0.01101
被除数(余数)
+) 0 +) 1 +) 1 +) 0 +) 1 001011 110011 111110 111100 001101 001001 0 1 0 0 10 110011 000101 001010 110011 111101 111010 0 0 1 1 01 000111
利用运算器中的加法器硬件电路和移位寄存器,再 设计必要的扩展电路,可以用硬件通过加法和移位操 作实现乘、除法运算
3.专用乘、除法器实现
在运算器中除了设置加法器之外,采用专用硬件电 路实现高速乘、除法部件,直接完成乘、除法运算
计算机学院体系结构中心
3
定点乘法运算算法
原码一位乘法运算 补码一位乘法运算(不要求) 原码两位乘法运算(不要求) 无符号的阵列乘法 有符号的阵列乘法 直接补码并行乘法(不要求)
计算机学院体系结构中心
30
回顾:一位全加器FA
逻辑表达式
Fi=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi
积的符号:被乘数与乘数两符号的异或值 积的数值:被乘数与乘数两数的绝对值之积
计算机学院体系结构中心
5
二进制乘法
例. 0.1101×1.1011 0.1101 ×0.1011 1101 1101 0000 1101 0.10001111 加符号:1.10001111
基本算法描述:
若乘数的当前位为1, 则将 被乘数和部分积求和。 若乘数的当前位为0,则跳 过。 将部分积移位。
计算机学院体系结构中心
14
例19
a4b0= 1 a4b1= 0 a4b2= 1 a4b3= 0 a4b4= 1 a3b0= 1 a3b1= 0 a3b2= 1 a3b3= 0 a3b4= 1 a2b0= 0 a2b1= 0 a2b2= 0 a2b3= 0 a2b4= 0 a1b0= 1 a1b1= 0 a1b2= 1 a1b3= 0 a1b4= 1 a0b0= 1 a0b1= 0 a0b2= 0 a0b3= 0 a0b4= 1
相关文档
最新文档