第2章_运算方法和运算器
第2章运算方法和运算器74181

第2位向第3位的进位公式为: P=X0X1X2X3
Cn +3 =Y2 + X2 Cn +2 =Y2 +Y 1 X1 +Y0 X1 X2 +X 0 X1 X2 Cn
第3位的进位输出(即整个4位运算进位输出)公式为: C n + 4 = Y 3 + X 3 C n + 3 = Y 3 + Y 2 X 3 + Y 1 X 2 X 3 + Y 0 X 1 X 2 X 3 + X 0 X 1X 2 X 3 C n
i
Y3+Y2X3+Y1X2X3+Y0X1X2X3 =G
2.5.2多功能算术/逻辑运算单元(ALU)续8
3.算术逻辑运算的实现
除了S0-S3四个控制端外,还有一个控制端 M,它使用来控制ALU是进行算术运算还是进行逻 辑运算的。
当M=0时,进行算术操作。M对进位信号没 有任何影响。此时F不仅与本位的被操作数Y和操 作数X有关,而且与本位的进位输出,即C有关。 当M=1时,进行逻辑操作。封锁了各位的进 位输出,即C =0,各位的运算结果F仅与Y和X有关。
定点运算器的组成
4位之间采用先行进位公式,根据式(2.36),每一
位的进位公式可递推如下: 第0位向第1位的进位公式为:
Cn +1 =Y0 +X0 Cn 其中Cn是向第0位(末位)的进位。
第1位向第2位的进位公式为:
Cn + + X1 C Y1 + Y0 X1 +X X X1Cn+Y X X X 设: = Y Y Y 2=Y1G n+ 1= 3+ 2X3+ 1 02X 3 0 1 2 3
将Xi 和Yi代入前面的进位表达式,可简化为: Cn+i+1=Yi+Xi Cn+ i
1 1
0
1 1
Ai
定点运算器的组成
计算机原理第二章运算方法和运算器

算术移位时,符号位保持不变,其 余位进行相应移动。算术左移相当 于乘以2,算术右移相当于除以2并 向下取整。
乘法运算方法
原码一位乘法
将被乘数和乘数均取原码,从乘数的最低位开始逐位判断,若为1则加上被乘 数的原码,若为0则不变。重复此过程直至乘数所有位均判断完毕。
补码一位乘法
将被乘数和乘数均取补码,从乘数的最低位开始逐位判断,若为1则加上被乘数 的补码并考虑进位,若为0则只考虑进位。重复此过程直至乘数所有位均判断完 毕。
节能技术
采用节能技术,如动态电压调整、睡眠模式等, 以降低运算器在空闲或低负载时的功耗。
06
计算机中数的表示和运算 方法扩展
大数表示和运算方法
大数的概念
超出计算机基本数据类型表示范围的整数或浮点数。
大数表示方法
采用多精度表示法,将大数拆分成多个基本数据类型的数进行表示 和存储。
大数运算方法
设计相应的大数运算算法,如大数加法、减法、乘法、除法等。
转换方法
根据机器数的表示方法,通过相应的运算将其转换为真值。
定点数与浮点数
定点数
表示范围与精度
小数点位置固定的数,可表示整数或 小数。
定点数表示范围有限,精度较高;浮 点数表示范围大,但精度相对较低。
浮点数
小数点位置可变的数,由阶码和尾数 两部分组成,可表示大范围的数值。
02
基本运算方法
定点加减法运算
运算流水线设计
在算术逻辑单元(ALU)中采用流 水线技术,将复杂的运算过程分解 为多个简单的运算步骤,提高运算 速度。
超标量流水线设计
在一个周期内同时发射多条指令, 通过多个功能部件并行执行,进一 步提高处理器的性能。
计算机组成原理 第五课

例:X0X1X2X3C =10110 (奇) X0'X1'X2'X3' C' =11110 由X0'X1'X2'X3'生成C*=
(1 ⊕ 1) ⊕ (1 ⊕ 1)
=1,则
C*⊕C' =1⊕0=1 —— 出错
(4) 优缺点
优点:简单易行,省器件. 缺点:只能发现奇数位错,无纠错能力.
2.1.4 数据校验码
1. 数据校验码:
用以发现或同时能得出错误位置特征的数据编码. 计算机中的错误类型: ; (1)固定性错误---元器件故障; ) (2)突发性错误---噪声干扰. )
2. 检错码--奇偶校验码 (1) 定义
使包括一位校验位在内的数据代码,"1"的个数总是奇 (或偶)数个为合法数据的编码.
2. 补码定点减法
(1)补码减法的规则: 推论: [X-Y]补= [X+(-Y)]补 =[X]补+[-Y]补 已知 [Y]补 ,那么 [-Y]补=? (2)求补: 由[Y]补求[-Y]补,称为对Y求补. (3)求补规则 : 不管真值Y时正数还是负数,求补的方法都是将[Y]补 可见:求补时,从[Y]补的最低位开始向高位扫描,见到第 连同符号位在内各位变反, 末位加1. 一个"1",包括这个"1"的各位不变,其余各位变反 例如:[y]补=1.1010,则环冗余校验码(CRC) CRC
n位数据位和r位校验位只有1位出错,共有n+r种情况, (1) 纠正一位错所需的校验码位数r 加上没有错的一种情况,共有n+r+1种情况,而r位二进 设待编码的信息有效位数为n,则r应满足: 制的编码数为2r,因此 2r≥n+r+1 即 r>log2n n r 1 2 2~4 3 5~11 12~26 4 5
计算机组成原理第四版第二章

+ [y]补 0. 0 1 0 1 [x+y]补 0. 1 1 1 0
所以x+y=+0.1110
Back
第二章 运算方法和运算器
B 补码减法
➢ 公式:
[x-y]补=[x]补-[y]补=[x]补+[-y]补
➢ 举例
已知 x=+0.1101 , y=+0.0110,求x-y。 解: [x]补=0.1101 [y]补=0.0110 ,[-y]补=1.1010 [x]补 0. 1 1 0 1 + [-y]补 1. 1 0 1 0 [x-y]补 1 0. 0 1 1 1
最大正数,称为“上溢” 或“正溢出”
两个负数相加,结果 小于机器所能表示的最
小负数,称为“下溢” 或“负溢出”
判断方法
举例说明
Back
第二章 运算方法和运算器
溢出检测方法常用以下两种方法:
1.采用双符号位(变形补码)判断方法:
变形补码: “00”表示正数、“11”表负数,两符号位同时参加运算, 运算结果符号出现01或10表明溢出。
发生溢出;而在浮点运算时,运算结果超出尾数的表示范围 却并不一定溢出,只有当阶码也超出所能表示的范围时,才 发生溢出。
Back
3.十进制数串的表示方法
➢ 目前,大多数通用性较强的计算机都能直接 处理十进制形式表示的数据。十进制数串 在计算机内主要有两种表示形式:
➢ 1.字符串形式 ➢ 2.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。
白中英计算机组成原理第2章_运算方法与运算器 (1)解析

定点整数的表示范围
纯整数的表示范围为(x1x2…xn各位均为0时 最小;各位均为1时最大,x0为符号位) 0≤|x|≤ 2n -1
例如:n=8,最大值编码:11111111 表示: 11111111=100000000-1 =28-1
目前计算机中多采用定点纯整数表示,因此 将定点数表示的运算简称为整数运算
第二章 运算方法和运算器
重点:数据表示 简介:运算方法和运算器 补充:数字逻辑
二进制数
便于计算机存储及物理实现 特点:逢二进一,由0和1两个数码组成,基数
为2,各个位权以2k表示 二进制数:
anan-1…a1a0.b1b2…bm= an×2n+an-1×2n-1+…+a1×21+a0×20 +b1×2-1+b2×2-2+…+bm×2-m 其中ai,bj非0即1
定点小数的表示范围
纯小数的表示范围为(x1x2…xn各位均为0时 最小;各位均为1时最大,x0为符号位) 0≤|x|≤1-2-n
例如,n=8,最大值编码:0.11111111 表示: 0.11111111 =1.0-0.00000001 =1-2-8
非常大和非常小的数
如何用定点数来表示非常大(e.g. 2×10+33 )的数和非常小(e.g. 9×10-28 )的数?
00111010B=3AH,F2H=11110010B
十六进制数的加减运算类似十进制
•逢16进位1,借1当16
23D9H+94BEH=B897H
A59FH-62B8H=42E7H
计算机组成原理
7
真值和机器数
真值:现实中真实的数值 机器数:计算机中用0和1数码组合表达的数值 定点数:固定小数点的位置表达数值的机器数
一个R进制数N可以写成 N=Re×M
经典:计算机组成原理-第2章-运算方法和运算器

第二章:运算方法和运算器
2.1 数据与文字的表示方法 2.2 定点加法、减法运算 2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和浮点运算器
其中尾数域所表示的值是1.M。因为规格化的浮点数的尾数域最
左位(最高有效位)总是1。故这一位经常不予存储,而认为隐藏
在小数点的左边。
64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏
移值是1023。因此规格化的64位浮点数x的真值为:
x=(-1)s ×(1.M) × 2E-1023 e=E-1023
[X]反=1.x1x2...xn 对于0,有[+0]反=[-0]反之分:
[+0]反=0.00...0
[-0]反=1.11...1
我们比较反码与补码的公式
[X]反=2-2-n+X
[X]补=2+X
可得到 [X]补=[X]反+2-n
8
若要一个负数变补码,其方法是符号位置1,其余各位0变1,1变 0,然后在最末位(2-n)上加1。
10100.10011=1.010010011*24 e=4 于是得到:S=0,E=4+127=131=10000011, M=010010011 最后得到32位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000=(41A4C000)164
计算机组成原理-第2周下-定点加减法运算

[y]补= 1 1 0 1 1 10 0110
所以
x+y=+0110
6
例: x=-11001 ,y=-00011,求 x+y=?
解:[x]补=1 0 0 1 1 1, [y]补=1 1 1 1 0 1
[x]补=1 0 0 1 1 1 +
丢掉
[y]补=1 1 1 1 0 1 11 0 01 0 0 由以上三例看到,补码加法的特点: (1) 符号位要作为数的一部分一 起参加运算。 (2) 要在模2n+1的意义下相加, 即超过2n+1的进位要丢掉!
13
[例16] x=-1101, y=-1011,求x+y。 [解:] [x]补=10011 [y]补=10101 [x]补 + [y]补 [x+y]补 10011 10101 01000
两个负数相加的结果成为正数,这同样是错误的。 之所以发生错误,是因为运算结果产生了溢出。两个正数相 加,结果大于机器所能表示的最大正数,称为正溢出。而两个负数 相加,结果小于机器所能表示的最小负数,称为负溢出。
21
常见的门电路
1.与门 真值表表示的两输入端与门如表2-1所示,逻辑符号如图 2-1所示。从与门的逻辑关系上可以看出,如果输入端A 作为控制端,则A的值将会决定输入端B的值是否能被输 出到端口Y。
Y AB
A
B
Y=AB
0 0 0 0 1 0 1 0 0 1 1 1 表2-1 两输入端与门的真值表
27
5.或非门
真值表表示的两输入端或非门如表2-5所示,逻辑符号如 图2-5所示。可以利用或非门的输入端A来控制输入端B。 当A=0时,(输入信号被反相输出);当A=1时,则不管 B的值是什么,Y都为0。
计算机组成原理(第四版)复习重点及例子

计算机组成原理复习重点及要求第二章运算方法和运算器1.定点数的表示方法:掌握定点数的概念;掌握定点数的机器码表示(主要是原码、补码和移码)。
2.定点数的运算方法:掌握补码加减运算方法、溢出概念及检测方法。
3.定点运算器:掌握全加器的功能;掌握行波进位加减法器的结构及工作原理;理解多功能ALU的结构原理;掌握定点运算器的基本结构及其特点(包括单总线结构、双总线结构和三总线结构)。
4.浮点数的表示方法:掌握浮点数的概念;掌握浮点数表示的一般格式;掌握浮点数规格化表示的方法及其意义。
5.浮点数的运算方法:掌握浮点数的加减运算方法及步骤。
第三章存储系统1.理解多级存储器体系结构的意义及各级存储器的主要作用。
2.SRAM存储器:理解存储器芯片的逻辑结构(包括存储阵列、双译码方式、读写控制等);掌握SRAM存储器芯片的外部引脚特征(包括地址、数据、控制引脚);掌握SRAM存储器容量扩充方法(包括位扩展、字扩展、字位同时扩展,以及与CPU 的连接等)。
3.DRAM存储器:掌握DRAM存储器的存储原理;理解DRAM存储器的刷新问题及刷新方法;掌握DRAM存储器芯片的外部引脚特征。
4.ROM存储器:掌握ROM存储器的种类;掌握EPROM的擦、写特点。
5.Cache存储器:掌握cache存储器的作用及工作原理,理解程序局部性原理的意义;掌握cache-主存系统性能指标的计算方法(包括命中率、平均访问时间及效率);掌握各种主存与cache的地址映射方式及其特点,理解各种映射方式下的主存与cache的地址格式及其各字段的含义;理解替换策略对cache存储器的意义。
6.虚拟存储器:掌握虚拟存储器的作用及相关概念;掌握各式虚拟存储器的工作原理及特点(包括页式、段式和段页式虚拟存储器);掌握各式虚拟存储器的地址变换过程,掌握各自的虚地址格式及其各字段的含义。
第四章指令系统1.指令系统的基本概念:掌握机器指令、指令系统、系列机、CISC、RISC等概念。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
补码的表示范围
n+1位补码整数: 2n -1 ___ -2n n+1 位补码小数: 1- 2-n ___ - 1 若整数补码的位数是8位,
其表示的最大值、最小值: -128 -- 127
若小数补码的位数是8位时,则该数表示的最大值、最小值: - 1 __ 1- 2-7 即 -1 — 127/128
当X<0时
X + M = M - | X | < M, [x]补= X + M (Mod M)
(2)定点小数
若定点小数的补码形式为 x0. x1 x2 · xn,则补码表示的定 · · 义是: x 0x<1 -1 x 0 (mod 2)
[x]补 =
2 + x = 2 – |x|
例: x = + 0.1011, 则 [x]补= 0.1011 x = -0.1011, 则 [x]补= 10 + x = 10.0000-0.1011= 1.0101 对于0,[+0]补=[-0]补=0.0000 (mod 2) 注意:0的补码表示只有一种形式。
2、补码表示法
(1)模的概念 假设两位十进制数计算: • 77 - 38 = ? • 77 + 62 = 139 77 - 38 = 77 + 62 = 39 (mod 100) 由此可以看出,减38和加62是等价的,前提是说对 模为100是正确的。这个100在数学上称为模数
模的概念
计算机中运算器、寄存器、计数器都有一定的位数,不 可能容纳无限大的任意数。当运算结果超出实际的最大表 示范围,就会发生溢出,此时所产生的溢出量就是模 (module)。 因此,可以把模定义为一个计量器的容量。如:一个4位 的计数器,它的计数值为0--15。当计数器计满15之后再加 1,这个计数器就发生溢出,其溢出量为16,也就是模等于 16。
复习
浮点数的表示方法:
32位浮点数
31 30 S
23 22 E M
0
• X=(-1)s × (1.M) × 2E-127
复习
补码表示:
• 任意一个数X的补码记为[x]补, • [x]补= X + M (Mod M)
定点小数:
x [x]补 = 2 + x = 2 – |x| 0x<1 -1 x 0 (mod 2)
(4)特点
补码最高一位为符号位,0正1负;
补码零有唯一编码;
补码能很好用于加减运算。 补码满足 [-x]补+ [x]补=0 [+7]补=00111 [-7]补=11001 最高位参与演算,与其它位一样对待。
问题1: -1如何用补码表示?
27+1+(-1)=255=11 111 111
[3] 浮点数补码定义
32位浮点数 64位浮点数
31 30 S 63 S 62
23 22 E E M 52 51
0 0 M
问题提出:1101.101= 0.1101101 •24 = 1.101101 •23 =11011101 •2-3 浮点数规格化表示(尾数): 绝对值为>=0.5(0除外)。形式为:0.1…,最高位1视为隐藏在小 数点左侧,提高数据表示精度。 指数表示:采用移码方式(加上一个固定的偏移值)。 一个规格化的32位浮点数x的真值为: X=(-1)s × (1.M) × 2 E-127 e=E - 127 机器零:当一个浮点的尾数为0,不论阶码为何值;或当阶码 的值比阶码的最小值还小,不论尾数为何值,视为机器零
(3)定点整数
若定点整数的补码形式为 x0 x1 x2 · xn,则补码的定义是: · ·
[x]补 =
x 2n+1 + x = 2n+1 – |x|
0 x < 2n -2n x 0
(mod 2n+1)
例: x = +0111, 则 [x]补=00111 x = -0111, 则 [x]补=24+1 – |-0111|=100000 – 0111=11001
定点整数: x [x]补 = 2n+1 + x = 2n+1 – |x|
0 x < 2n -2n x 0
(mod 2n+1)
复习
定点小数反码定义
3. 十进制数串的表示方法
(1)字符串的形式:一个字节存放一个十进制的数位 或符号位。 为了指明这样一个数,需要给出该数在主存中的起 始地址和位数(串的长度)。主要用于非数值计算。 (2)压缩的十进制数串形式:一个字节存放两个十进 制的数位。 既节省存储空间,又便于直接完成算术运算,是广 泛采用的较为理想的方法。
4. 移码表示法
设x=x0 x1 …. xn,则移码的定义:
[x]移= 2n +x
ቤተ መጻሕፍቲ ባይዱ
2n >x≥-2n
移码是把符号位隐藏在数据中,实际上数据的第一位是符号位; 1表示正整数,0表示负整数,和原码、反码及补码的符号相反。
例如:x=+10101 [x]移= 25+x =1,10101 x=-10101 [x]移=25+x=25-10101=0,01011
普遍采用的字符系统:七单位的ASCII码(美国 国家信息交换标准字符码— American Standard Code for Interchange Information)。 其包括95个打印字符:10个十进制数,26个英文 字母(大小写),通用的运算符和标点符号等。33个 控制码:用于控制某些外围设备的工作特性和计算机 软件的运行情况。 字符串:连续的一串字符,通常他们占用主存中 连续的多个字节,每个字节存一个字符。
• 定点小数的溢出量为2(将符号位也当作数来对
待),即以2为模; • 一个字长为n+1位的定点整数的溢出量为2 n+1, 即以2n+1为模。
定义:
任意一个数X的补码记为[x]补, [x]补= X + M (Mod M) 当X>0时 X + M >M的部分 自动丢失, [x]补= X (Mod M)
第二章 运算方法和运算器
1、数据与文字的表示方法;
2、定点运算方法,定点运算器组成;
3、浮点运算方法,浮点运算器组成;
2.1 数据与文字的表示方法
2.1.1
数据格式
选择数的表示时要考虑的因素: 要表示的数的类型:决定表示方式 可能遇到的数值范围:确定存储、处理能力 数值的精确度:处理能力相关 数据的存储、处理所需的硬件代价:造价高低
...
xn-1
xn
n位数码位 纯小数 在x0 和x1 之间
0 ≤ |x|≤1-2-n
纯整数 在xn之后
0 ≤ |x|≤2n-1
2 浮点数的表示方法
特点:小数点位置不固定(浮动)。 实质:把一个数的有效数字和范围在一个存储单元中分别 予以表示。 653.12=10 3 × 0.65312 对于任意进制数 N可表示:N=Re•m(科学计数法) 其中m是浮点数的尾数(纯小数、有效数字位数,精度), e称 为指数,为阶码(纯整数,小数点位置,范围) ,比例因子R 为基数。在计算机中常为2、8、16。 一个机器浮点数应当由阶码、尾数和符号位组成(基数固定) Es 阶符 E1……Em 阶码 Ms 数符 M1……Mn 尾数
阶码部分按照定点整数的方法进行编码 尾数部分按照定点小数的方法进行编码
[4] 补码表示的特点
①与真值转换:符号位: 正数--“0”,负数--“1” 其它数据位:正数--不变,负数--模减绝对值 (按位取反后在末尾上加1) ②0的补码唯一: [+0]补=00 000 000,[-0]补=00 000 000
⑥补码最大的优点就是将减法运算转换成加法运算 [X+Y]补= [X]补+[Y]补 [X - Y]补 = [X]补+ [-Y]补 例如: X=(11)10=(1011)2 Y=(5)10=(0101)2 已知字长n=5位 [X]补+ [-Y]补 =01011+11011=100110=00110=(6)10 注: 最高1位已经超过字长故应丢掉 [X - Y]补= [0110]补=00110
x
0 ≤x <2n
(2n+1-1)+x -2n < x ≤0
[3] 浮点数反码定义 阶码部分按照定点整数的方法进行编码 尾数部分按照定点小数的方法进行编码
[4] 反码表示的特点
※与真值转换关系:符号位:正数--“0”,负数-“1” 其它数据位:按位求反 ※[+0]反= 00000000 ,[-0]反= 11111111 ※补码和反码公式比较: [x]反= (2-2-n)+x [x]补= 2+x 得到: [x]补= [x]反+ 2-n [x]补= [x]反+ 1
2.1.2 数的机器码表示
1、原码表示法
[1] 定点小数原码定义 若x=x0. x1 …. xn ,[x]原=
x
1-x=1+|x|
0≤x < 1
-1<x ≤ 0
例:x=+0.1101,则[x]原=0.1101 x=-0.1101,则[x]原=1.1101
[2] 定点整数原码定义 若x=x0 x1 …. xn ,[x]原= x 2n-x=2n+|x| 0 ≤ x < 2n -2n < x ≤ 0
③已知[x]补,求[x]原的方法 对于正数: [x]原= [x]补
对于负数: [x]原= [[x]补]补
④已知[x]补,求[x/2]补, [x/4]补的方法 对[x]补连同符号位一起右移一位或二位,左 边补一位或二位与原符号位相同的位。 ⑤已知[x]补,求[2x]补, [4x]补的方法 对[x]补连同符号位一起左移一位或二位,右边补 一位或二位“0”。 例: [x]补=0.00101011 则[2x]补= 0.01010110