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

合集下载

计算机原理第二章运算方法和运算器

计算机原理第二章运算方法和运算器
算术移位
算术移位时,符号位保持不变,其 余位进行相应移动。算术左移相当 于乘以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

计算机组成原理第2章-二进制加减法器

计算机组成原理第2章-二进制加减法器

X←F 选通门
X ← X-Y
F← X

F← Y F← 1
X← F
4/12/2021
实现补码加运算的执行过程
X ← X+Y
Fs
00000111
OVR
Z
Fs 加法器
C
完成加运算,需 要把被加数和加 数送ALU的输入
端,运算结果要
F←X
选通门
F←Y 接收到累加器,
二选一
需要给出命令:
X
CP
01001001101
基本的二进制加/减法器
全加器的表达式为:
Si = Ai Bi Ci Ci+1 = AiBi + BiCi + AiCi 一位全加器内部逻辑图
Ci+
Si
C
1
AB C
Ci
Ai
Bi A
B
3
信 息 科 学 与 工 程 学 院3
第二章 运算方法和运算器
数据与文字的表示 定点加减法运算 定点乘法运算 定点除法运算 定点运算器的组成 浮点运算与浮点运算器
4/12/2021
单符号位判断
数值位向符 号位有进位
OV= C0 C1 + C0 C1 判断电路
但符号位无 进位输出或
c0
数值位向符 号位没有进 位但符号位 本身有进位 输出是溢出
x0 y0
x1 y1
FA
z0
c1
FA
z1
OV
4/12/2021
双符号位判断
OV= z0' z0 + z'0 z0 = z0' z0
5
信 息 科 学 与 工 程 学 院5

计算机组成原理第四版第二章

计算机组成原理第四版第二章
[x]补=0.1001, [y]补=0.0101 [x]补 0. 1 0 0 1
+ [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章_运算方法和运算器74181

第2章_运算方法和运算器74181
根据上面所列的函数关系,化简Yi的逻辑表达式得: Yi=S0S1Ai+S0S1AiBi+S0S1AiBi =Ai(S0S1+S0S1Bi+S0S1Bi) =Ai(S0S1(Bi+Bi)+S0S1Bi+S0S1Bi) =Ai(S0Bi+S1Bi) =Ai +(S0+Bi )(S1+Bi) =Ai +(S0S1+S0Bi +S1Bi) =Ai+S0Bi+S1Bi
01100111z
x⊕y = 01100111
2.5.1 逻辑运算(续9)
事实上,逻辑加还可以通过逻辑乘和逻辑 非来实现:
zi=xi∨yi =xi∧yi
同样,逻辑乘也可以用逻辑加和逻辑非来 实现 :
zi=xi∧yi =xi∨yi
2.5.2 多功能算术/逻辑运算单元(ALU)
由一位全加器(FA)构成的行波进位加法器, 它可以实现补码数的加法运算和减法运算。
Fi=Xi⊕Yi⊕Cn+i Cn+i+1=XiYi+YiCn+i+Cn+iXi
图2.10 ALU的逻辑结构原理框图
2.5.2 多功能算术/逻辑运算单元(ALU)续2
上式中进位下标用n+i代替原来全加 器中的i,i代表集成在一片电路上的ALU的
二进制位数。对于4位一片的ALU,i= 0,1,2,3。
=G*+P*Cn 其中: 成组进位传送输出: P*=P0P1P2P3 成组进位发生输出:G*=G3+G2P3+G1P2P3+G0P1P2P3
根据以上表达式,用TTL器件实现的成组 先行进位部件74182的逻辑电路图如图2.12所 示 其中G*称为成组进位发生输出,P*称为成组 进位传送输出。
这种加法/减法器存在两个问题:
一是由于串行进位,它的运算时间很长。假如加 法二器是由就n行位波全进加位器加构法成器,本每身一来位说的,进它位只延能迟完时成间为

计算机组成原理前3章课后习题参考答案-

计算机组成原理前3章课后习题参考答案-

白中英第五版计算机组成原理课后习题参考答案第一章计算机系统概述4、冯•诺依曼型计算机的主要设计思想是什么它包括哪些主要组成部分答:冯•诺依曼型计算机的主要设计思想是存储程序和程序控制,其中存储程序是指将程序和数据事先存放到存储器中,而程序控制是指控制器依据存储的程序来控制全机协调地完成计算任务。

总体来讲,存储程序并按地址顺序执行,这就是冯•诺依曼型计算机的主要设计思想。

5、什么是存储容量什么是单元地址什么是数据字什么是指令字答:见教材P8和P10。

7、指令和数据均存放在内存中,计算机如何区分它们是指令还是数据答:见教材P10。

第二章运算方法和运算器】1、写出下列各整数的原码、反码、补码表示(用8位二进制数)。

3、有一个字长为32位的浮点数,符号位1位,阶码8位,用移码表示,尾数23位,用补码表示,基数为2,请写出:(1)最大数的二进制表示阶码用移码表示,题中并未说明具体偏移量,故此处按照移码的定义,即采用偏移量为27=128,则此时阶码E的表示范围为0000 0000~1111 1111,即0~255,则在上述条件下,浮点数为最大数的条件如下:所以最大数的二进制表示为:0 1111 1111 1111 1111 1111 1111 1111 1111 111对应十进制真值为:+(1-2-23)×2127(2)最小数的二进制表示浮点数为最小数的条件如下:所以最小数的二进制表示为:1 1111 1111 0000 0000 0000 0000 0000 000对应十进制真值为:-1×2127(3)规格化数所表示数的范围规格化要求尾数若为补码表示,则符号位和最高有效位符号必须不同。

(A)浮点数为最大正数的条件如下:所以最大正数的二进制表示为:0 1111 1111 1111 1111 1111 1111 1111 1111 111 对应十进制真值为:+(1-2-23)×2127(B)浮点数为最小正数的条件如下:所以最小正数的二进制表示为:0 0000 0000 1000 0000 0000 0000 0000 000对应十进制真值为:+2-1×2-128=+2-129(C)浮点数为最大负数的条件如下:所以最大负数的二进制表示为:0 0000 0000 0111 1111 1111 1111 1111 111对应十进制真值为:-(2-1+2-23)×2-128(D)浮点数为最小负数的条件如下:所以最小负数的二进制表示为:0 0000 0000 0000 0000 0000 0000 0000 000对应十进制真值为:-1×2127所以,规格化数所表示数的范围如下:正数+2-129~+(1-2-23)×2127负数-2127 ~-(2-1+2-23)×2-1284、将下列十进制数表示成IEEE754标准的32位浮点规格化数。

计算机组成原理课后答案

计算机组成原理课后答案
[x]补 = [y]补 = 0 0. 1 1 0 1 1 +0 0. 1 0 0 1 1 0 1. 0 1 1 1 0
溢出 7.用原码阵列乘法器、补码阵列乘法器分别计算x*y。 (1)x = 0.11011 y = - 0.11111 (2)x = -0.11111 y = - 0.11011 解:(1)原码阵列
的数据,外存通常指的是磁盘、磁带、光盘存储器等,用于存放暂不运 行的程序和暂不处理的数据。CPU是运算器和控制器的合称,适配器是 指连接主机与外设一个中间电路,也叫接口,其作用相当于一个转换 器,保证外设用与主机要求相适应的形式发送和接收信息。 9.计算机的系统软件包括哪几类?说明它们的用途。 答:计算机的软件包括系统软件和应用软件。系统软件用来简化程序设 计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能 及用途。它可分为四类:(1)各种服务性程序,如诊数据程序、排错 程序、练习程序等;(2)语言程序,如汇编程序、编译程序、解释程 序等;(3)操作系统程序;(4)数据库管理系统(DBMS)。而应用 软件是用户利用计算机来解决某些问题而编制的程序,如工程设计程 序,数据加工程序,自动控制程序,企业管理程序、情报检索程序、科 学计算程序等等。 10.说明软件发展的演变过程。 答:在早期的计算机中,人们是直接用机器语言来编写程序的,这种程 序称为手编程序或目的程序;后来,为了编写程序方便和提高使用效 率,人们使用汇编语言来编写程序,称为汇编程序;为了进一步实现程 序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用 计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序, 源程序通过编译系统产生编译程序,也可通过解释系统进行解释执行; 随着计算机技术的日益发展,人们又创造出操作系统;随着计算机在信 息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数 据,建立和检索大量的表格,于是产生了数据库管理系统。 11.现代计算机系统如何进行多级划分?这种分级观点对计算机设计 会产生什么影响? 答:现代计算机系统可分为五个层次,第一级是微程序设计级;第二级 是一般机器级;第三级是操作系统级;第四级是汇编语言级;第五级是 高级语言级。其中前二级是硬件系统、后两级是软件系统对硬件系统的 功能扩展,第三级是可以说是软件与硬件的一个交界面。这种分级不是 绝对的,也不是惟一的,比如随着大规模集成电路和固件的发展,硬件 的功能在不断往上层延伸。而且,不同的硬件结构,其层次也不同,如 硬布线控制器的计算机,就没有微程序级。 12.为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转 化的媒介是什么? 答:随着大规模集成电路和计算机系统结构的发展,实体硬件机的功能

CH02-1 运算方法-二进制数据表示,定点加法,溢出判断(2.1-2.4.5,附录,2.10)

CH02-1 运算方法-二进制数据表示,定点加法,溢出判断(2.1-2.4.5,附录,2.10)

2.2.2 补码表示法
1.概念与定义 例:先分析两个10进制数的运算 58-35=23 58+65=123 =100+23 如果使用两位10进制的运算器,在做加法58+65 时,结果中的100超出了该运算器的表示范围,将会 被自动舍去,运算器只能表示出结果23。在做减法 58-35时,若用加法58+65能得到同样的结果23。
[x]补 =
5.补码的性质
(1)补码的最高位是符号位,在形式上同于原 码,0表示正,1表示负。但应注意,原码的 符号位是人为地定义0正1负;而补码的符号 位是通过有模运算得到的,它是数值的一部 分,可直接参与运算。 (2)正数的补码表示在形式上同于原码;而负数 的补码表示则不同于原码,可用负数原码求 补方法进行转换。
2.2.3 反码表示法
1.定点小数的反码表示 定义:反码表示法是用机器数的最高一位代表 符号,数值位是对负数值各位取反的表 示方法,其数学表达式为(定点小 数): x 0 ≤ x <1 ⎧ [x]反 = ⎨ (2 − 2− n ) + x − 1 < x ≤ 0 ⎩ 其中n代表数的位数(不包括符号位), 或者说字长是n+1位。
= 10.00L0 − 0.00L1 = 1.11L1
2.定点整数的反码表 示:
对定点整数,反码表示的定义是:
⎧ x [x]反 = ⎨ n +1 ⎩(2 − 1) + x 0≤ x<2
(1)真值0在原码表示中有两种形式,以定点整 数为例 [+ 0]原 = 0000 [− 0]原 = 1000 (2)原码表示的定点小数,其表示范围为
− 1 < x < 1, 即 x < 1
原码表示的定点整数,其表示范围为

(NEW)白中英《计算机组成原理》(第5版)配套题库【考研真题精选+章节题库】

(NEW)白中英《计算机组成原理》(第5版)配套题库【考研真题精选+章节题库】

目 录第一部分 考研真题精选一、选择题二、综合应用题第二部分 章节题库第1章 计算机系统概论第2章 运算方法和运算器第3章 多层次的存储器第4章 指令系统第5章 中央处理器第6章 总线系统第7章 外存与I/O设备第8章 输入输出系统第9章 并行组织与结构第一部分 考研真题精选一、选择题1下列关于冯·诺依曼结构计算机基本思想的叙述中,错误的是( )。

[2019年408统考]A.程序的功能都通过中央处理器执行指令实现B.指令和数据都用二进制表示,形式上无差别C.指令按地址访问,数据都在指令中直接给出D.程序执行前,指令和数据需预先存放在存储器中【答案】C根据冯·诺依曼体系结构的基本思想可知,所有的数据和指令序【解析】列都是以二进制形式存放在存储器中,计算机根据周期来区分指令和数据,因此数据是从存储器读取而非在指令中给出,因此C项是错误的。

2下列有关处理器时钟脉冲信号的叙述中,错误的是( )。

[2019年408统考]A.时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频后形成B.时钟脉冲信号的宽度称为时钟周期,时钟周期的倒数为机器主频C.时钟周期以相邻状态单元间组合逻辑电路的最大延迟为基准确定D.处理器总是在每来一个时钟脉冲信号时就开始执行一条新的指令【答案】D【解析】计算机完成一条指令的时间称为指令周期,而一条指令通常是由几个时钟周期组成的,因此计算机不可能每来一个时钟脉冲就执行一个新指令,所以D项是错误的。

3某指令功能为R[r2]←R[r1]+M[R[r0]],其两个源操作数分别采用寄存器、寄存器间接寻址方式。

对于下列给定部件,该指令在取数及执行过程中需要用到的是( )。

[2019年408统考]Ⅰ.通用寄存器组(GPRs)Ⅱ.算术逻辑单元(ALU)Ⅲ.存储器(Memory)Ⅳ.指令译码器(ID)A.仅Ⅰ、ⅡB.仅Ⅰ、Ⅱ、ⅢC.仅Ⅱ、Ⅲ、ⅣD.仅Ⅰ、Ⅲ、Ⅳ【答案】B一条指令的执行过程为取指令、分析指令、执行指令。

经典:计算机组成原理-第2章-运算方法和运算器

经典:计算机组成原理-第2章-运算方法和运算器
1加法器的流水线时钟周期至少为90ns10ns100ns如果采用同样的逻辑电路但不是流水线方式则浮点加法所需的时间为300ns因此4级流水线加法器的加速比为30010032当每个过程段的时间都是75ns时加速比为300754例30已知计算一维向量xy的求和表达式如下
第二章:运算方法和运算器
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周下-定点加减法运算

计算机组成原理-第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等概念。

浮点数计算方法ppt

浮点数计算方法ppt
+|x|
2n>x≥0 0≥x>-2n
对于0,原码机器中往往有“+0”、“-0” 之分,故有两种形式:
[+0]原 = 0.000...0 [ -0]原 = 1.000...0
采用原码表示法简单易懂,但它的最大 缺点是加法运算复杂。这是因为,当两数相 加时,如果是同号则数值相加;如果是异号, 则要进行减法。而在进行减法时还要比较绝 对值的大小,然后大数减去小数,最后还要 给结果选择符号。为了解决这些矛盾,人们 找到了补码表示法。
2. 补码表示法
我们先以钟表对时为例说明补码的概念。
假设现在的标准时间为4点正; 而有一只表已
经7点了,为了校准时间,可以采用两种方法:
一是将时针退 7-4=3 格;一是将时针向前拨12-
3=9格。这两种方法都能对准到4点,由此可以
看出,减3和加9是等价的,就是说9是(-3)对12
的补码,可以用数学公式表示:
浮点数所表示的范围远比定点数大。一台 计算机中究竟采用定点表示还是浮点表示,要根 据计算机的使用条件来确定。一般在高档微机 以上的计算机中同时采用定点、浮点表示,由使 用者进行选择,而单片机中多采用定点表示。
[例1] 若浮点数x的754标准存储格式为
(41360000)16,求其浮点数的十进制数值。
4. 移码表示法
移码通常用于表示浮点数的阶码。由于
阶码是个n位的整数,假定定点整数移码形式
为 x0x1x2…xn时,对定点整数移码的传
统定义是:
[x]移=2n+x
2n>x≥-2n
若阶码数值部分为5位,以x表示真值,
则: [x]移=25+x
25>x≥- 25
小结:上面的数据四种机器表示法中,移码 表示法主要用于表示浮点数的阶码。由于补 码表示对加减法运算十分方便,因此目前机 器中广泛采用补码表示法。在这类机器中, 数用补码表示,补码存储,补码运算。也有 些机器,数用原码进行存储和传送,运算时 改用补码。还有些机器在做加减法时用补码 运算,在做乘除法时用原码运算。

计组第二章

计组第二章

tiger February 2012
4
2.浮点数的表示方法 N=10 E ×M (十进制表示) -28 = 0.9 ×10-27 9×10 2×1033 = 0.2 ×1034 (1) 浮点表示 把一个数的有效数字和数的范围在计算机的一个存储单元 中分别表示 这种把数的范围和精度分别表示,数的小数点位置随比例 因子的不同而在一定范围内自由浮动,称为浮点表示法 任意一个十进制数N可写成 E N=10 M 计算机中一个任意进制数N可写成 e N=R m m:尾数,是一个纯小数 e:比例因子的指数, 称为浮点的指数, 是一个整数 R:比例因子的基数,对于二进计数值的机器是一个常数, 一般规定R为2,8或16

tiger February 2012
1
2.1 数据与文字的表示方法
2.1.1 数据格式 2.1.2 数的机器码表示 2.1.3 字符与字符串的表示方法 2.1.4 汉字的表示方法 2.1.5 校验码

tiger February 2012
2
2.1.1 数据格式
计算机在数据、文字的表示方式时,应考虑4个因素 表示的数据类型(符号、小数点、数值) 数值的范围 数值精度 存储、处理、传送的硬件代价 计算机中常用的数据表示格式有两种 定点格式--容许的数值范围有限,要求的处理硬件比较简单 浮点格式--容许的数值范围很大,要求的处理硬件比较复杂
tiger February 2012
5
机器浮点数

一个机器浮点数由阶码、尾数及其符号位组成 尾数:用定点小数表示,给出有效数字的位数,决定浮点 数的表示精度 阶码:用整数形式表示,指明小数点在数据中的位置,决 定浮点数的表示范围

白中英计算机组成原理第2章-运算方法与运算器

白中英计算机组成原理第2章-运算方法与运算器
按编码不同又可分为原码、反码、补码、移码……
2024年7月16日星期二
5
2.1 数据与文字的表示方法
2.1.1 数据格式 2.1.2 数的机器码表示 2.1.1 数据格式 2.1.3 字符与字符串的表示方法 2.1.4 汉字的表示方法 2.1.5 校验码
2024年7月16日星期二
6
2.1.1 数据格式——定点数
2024年7月16日星期二
3
2.0 数据的类型(1/2)
按数制分:
十进制:在微机中直接运算困难;
二进制:占存储空间少,硬件上易于实现,易于运算;
十六进制:方便观察和使用;
二-十进制:4位二进制数表示1位十进制数,转换简单。 按数据格式分:
真值:没有经过编码的直观数据表示方式,其值可带正负号, 任何数制均可;
-8 1000 0000 -7 1001 0001 -6 1010 0010 …… …… ……
可以比较直观地判断两个数据的大小; 0 0000 1000
浮点数运算时,容易进行对阶操作;
+1 0001 1001
表示浮点数阶码时,容易判断是否下溢; …… …… ……
当阶码为全0时,浮点数下溢。
+7 0111 1111
优点 与真值对应关系简单;
缺点 参与运算复杂,需要将数值位与符号位分开考虑。
2024年7月16日星期二
11
补码表示法的引入(1/3)
要将指向5点的时钟调整到3点整,应如何处理?
5-2=3
2024年7月16日星期二
5+10=3(12自动 丢失。12就是模)
12
补码表示法的引入(2/3)
继续推导: 5-2=5+10(MOD 12) 5+(-2)=5+10(MOD 12) -2=10(MOD 12)

计算机组成原理”统考试题分析

计算机组成原理”统考试题分析
型,值不变,结果为真。
IAV..仅(dI+和f)II- d == f 大Bd约.=为1仅.150eI,1和0两0I,I数变I相成加浮,点阶数差阶为码32大0,约f为相3当30于,0f,=1被.5舍67去8e,3,再变减成d浮,点结数果阶为码0, 和Cf.相仅比较II,和结I果II为假。 D.仅III和IV
2012年真题
14.float类型(即IEEE754单精度浮点数 格式)能表示的最大正整数是: 分A析.:2126-2103 B.IE2EE17275-4单2精10度4 浮点数的真值为:
x=(-1)S×(1.M)×2E-127,其中M为23位
C.当2表1示27-最大21正03整数时: S=D0 .2128-2104
二、综合应用题(两大题,共23分) 43题(11分)分析计算题(指令执行和运算器):
涉及第2、5章 44题(12分)设计题(存储器):涉及第3章
第一章 计算机系统概论
2009年真题
11.冯·诺依曼计算机中指令和数据均以 二进制形式存放在存储器中,CPU区分它们 的依据是( ) A.指令操作码的译码结果 B.指令和数据的寻址方式 C.指令周期的不同阶段 D.指令和数据所在的存储单元

(1)R1:86H,R5:90H,R6:7C
(2)m:-122,n:-10
(3)可以利用同一个加法器及辅助电路实现。因 为无符号整数和有符号整数都是以补码形式存储, 所以运算规则都是一样的。但是有一点需要考虑, 由于无符号整数和有符号整数的表示范围是不一 样的,所以需要设置不一样的溢出电路。
(4)判断溢出方法:
双符号位:
单符号位:
K2会发生溢出
2012年真题
13.在C语言中,int型占32位,short型占16位, 若有下列语句: unsigned short x=65530 unsigned int y=x 则执行分析后:,y的16进制表示为: A.000X0=6755F3F0AD=FFFAH B.高0位00补X0和0F,Y都F则F是A 无符号整数,由16位扩展到32位, C.FFFYF=0700F0FAFFFAH D.FFFF FFFA

计算机组成原理第2章5-定点原码并行乘法运算

计算机组成原理第2章5-定点原码并行乘法运算
信 息 科 学 与 工 程 学 院2
第二章 运算方法和运算器
n位乘n位积可能为2n位.乘积的最后是所有部分积之和,有n个数相加,而FA只有 两个输入端,所以需要改造 方法一:硬件实现方法(串行的“加法和移位”),硬件结构简单,速度太慢(已经淘 汰). 方法二:阵列乘法器
信 息 科 学 与 工 程 学 院3
与 工 程 学 院7
第二章 运算方法和运算器
时间延迟:
这种乘法器要实现 n 位 × n 位时,需要 n ( n-1) 个全加器和 2n 个“与” 门。该乘法器的总的乘法时间可以估算如下 令Ta为“与门”的传输延迟时间,Tf为全加器(FA)的进位传输延迟时间,假 定用2级“与非”逻辑来实现FA的进位链功能,那么就有:
第二章 运算方法和运算器
不带符号的阵列乘法器
设有两个不带符号的二进制整数: A=am-1…a1a0 B=bn-1…b1b0 在二进制乘法中,被乘数A与乘数B相乘,产生m+n位乘积P:
P=A×B=pm+n-1…p1p0 乘积P 的数值为:
信 息 科 学 与 工 程 学 院4
第二章 运算方法和运算器
信 息 科 学 与 工 程 学 院8
第二章 运算方法和运算器
带符号的阵列乘法器
阵列乘法器只能处理原码的乘法运算,但在计算机中数据经常采用补码表示, 为实现补码乘法运算,就需要采用带符号的阵列乘法器。 带符号的阵列乘法器可借助无符号的阵列乘法器加上求补电路实现。
算前求补+乘法器+算后求补
信 息 科 学 与 工 程 学 院9
第二章 运算方法和运算器
在对2求补时,令A = an…a1a0是给定的(n + 1)位带符号的数,要求确定它的补 码形式。进行求补的方法就是采用按位扫描技术,从数的最右端a0开始,由右向左 进行扫描,直到找到第一个“1”。

计算机组成原理第12-浮点数的运算2

计算机组成原理第12-浮点数的运算2
Tk=k+(n-1) 其中k个时钟周期用于处理第一个任务。k个周期后,流水线被装满,剩余的n-1个 任务只需n-1个周期就完成了。 用非流水线的硬件来处理这n个任务,时间上只能串行进行,则所需时钟周期数为 TL=n·k 将TL和Tk的比值定义为k级线性流水线的加速比:
CK=TL/TK=(n·k)/(k+(n-1)) 当 n>>k 时, Ck->k 。这就是说,理论上k级线性流水线处理几乎 可以提高k倍速度。但实际上由于存储器冲突、数据相关,这个理想的加速比不一定能 达到。
[解:] (1)加法器的流水线时钟周期至少为 τ=90ns+10ns=100ns
如果采用同样的逻辑电路,但不是流水线方式,则浮点加法所需的时间为 τ1+τ2+τ3+τ4 =300ns
因此,4级流水线加法器的加速比为 Ck=300/100=3
(2) 当每个过程段的时间都是75ns时,加速比为 Ck=300/75=4
[例30] 已知计算一维向量x,y的求和表达式如下:



56
65
20.5
14.6
0
336
121 35.1 336
114.3 + 7.2 = 121.5
69.6
72.8
142.4
3.14
1.41
4.55
试用4段的浮点加法流水线来实现一维向量的求和运算,这4段流水线是阶码比较、 对阶操作、尾数相加、规格化。只要求画出向量加法计算流水时空图。
2.CPU之内的浮点运算器
奔腾CPU将浮点运算器包含在芯片内。浮点运算部件采用流水线设计。
指令执行过程分为8段流水线。前4 段为指令预取(DF)、指令译码(D1)、地址生 成(D2)、取操作数(EX),在U、V流水线中完成;后4段为执行1(X1)、执行2(X2) 、结果写回寄存器堆(WF)、错误报告(ER),在浮点运算器中完成。一般情况下 ,由U流水线完成一条浮点数操作指令。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[x2]补=0.1101
[-
x2]补=﹁[x2]补+ 2-4
=1.0010+0.0001=1.0011
返回
例11之解
[x]补=0.1101, [y]补=0.0110 [-y]补=1.1010 [x] 补 0.1101 + [-y] 补 1.1010 [ x- y] 补 10.0111
所以
x-y=+0.0111
或用同余式表示:[x]补=4+x 下式也同样成立:
[x]补+[y]补=[x+y]补
(mod 4)
(mod 4)
溢出概念与检测方法
得到两数变形补码之和等于两数之和的变形补码,
[x]补+[y]补=[x+y]补
(mod 4)
计算时: 1. 两个符号位都看作数码一样参加运算 2.两数进行以4位模的加法,即最高符号位上产生的进 位要丢掉。
返回
2.2.3 溢出概念与检验方法
以定点小数为例: 在定点小数机器中,数的表示范围为|x|<1. 在运算过程中如 出现大于1的现象,称为“溢出”。(这在定点机中是不允许的)
机器定点小数表示
如:两个正数相加,结果为负(即:大于机 器所能表示的最大正数),称为上溢。 而两个负数相加,结果为正(即:小于机器 所能表示的最小负数),称为下溢。
[解:]
[x]补=1.0011 [y]补=1.0101 [x ]补 1.0011
+有进位补 [y ]
[x + y ]补
1.果为正,显然错误。(运算中出现了“下溢”)
溢出概念与检测方法
[又例] x=-0.1101, y=-0.0010, 求x+y。
[解:]
[x]补=1.0011 [y]补=1.1110 [x ]补 1.0011

根据真值表,三个输入端和两个输入端可按如下逻 辑方程进行联系: S i = A i Bi C i Ci+1 = Ai Bi + Bi Ci +Ci Ai
(2.23)

按此表达式组成的一位全加器示图2.2(b)。
二进制加法/减法器
按式(2.23)组成的一位全加器(FA)示意图2.2(b)
对一位全加器(FA)来说, Si的时间延迟为6T 3T+T+T (每级异或门延迟3T), Ci+1的时间延迟为5T,其中 T被定义为相应于单级逻辑 电路的单位门延迟。T通常 采用一个“与非”门或一个 “或非”门的时间延迟来 作为度量单位。
溢出概念与检测方法
[又例] x=-0.0100, y=-0.1000,求x+y。
[解] : [x]补=11.1100, [y]补=11.1000 [x ]补 +[y]补 11.1100 11.1000 11.0100
两个符号位出现“11”,表示无溢出。
溢出概念与检测方法
由此可以得出如下结论: 1. 当以模4补码运算,运算结果的二符号位相异时, 表示溢出;相同时,表示未溢出。故溢出逻辑表 达式为 V=Sf1⊕Sf2,其中Sf1和Sf2分别为最高符号 位和第二符号位。此逻辑表达式可用异或门实现。 2. 模4补码相加的结果,不论溢出与否,最高符号位 始终指示正确的符号。
溢出概念与检测方法
第二种溢出检测方法:采用“单符号位法”。
从例1和例2中看到:(1).当最高有效位产生进位而 符号位无进位时,产生上溢;(2).当最高有效位无进 位而符号位有进位时,产生下溢。 故:溢出逻辑表达式为:
V = C r⊕C o
其中: Cf为符号位产生的进位,Co为最高有效位产生的 进位。(显然:此逻辑关系可用异或门方便地实现)。
[x]补 +[y]补
两个符号位 =“00”,表示无溢出。
溢出概念与检测方法
[例15] x=-0.1100, y=-0.1000,求x+y。
[解] : [x]补=11.0100, [y]补=11.1000
[x ]补
+[y]补
11.0100
11.1000
10.1100
两个符号位出现“10”,表示已溢出,即结果小 于-1。下溢
[x]补 +[y]补
00.1100 00.1000 01.0100
两个符号位出现“01”,表示已溢出,即结 果大于+1。上溢
溢出概念与检测方法
[又例] x=+0.1100, y=+0.0001,求x+y。
[解] :
[x]补=00.1100, [y]补=00.0001 00.1100 00.0001 00.1101
2.2.2 补码减法(续1)
例10:已知x1=-0.1110,x2=+0.1101,
求: [x1]
补 ,[-x1] 补 ,[x2]补 ,[-x2] 补。
解:
例11:x=+0.1101,y=+0.0110,
求x-y。
解:
例10之解
[x1]补=1.0010
[-
x1]补=﹁[x1]补+ 2-4
=0.1101+0.0001=0.1110
2.2.4 基本的二进制加法减法器(续2)

当不考虑溢出检测时,有 ta=(n-1) · T+9T 2



二进制加法/减法器
延迟时间ta为:
2T
延迟时间ta为:
3T
考虑溢出检测时,延迟时间ta为: 当不考虑溢出检测时,有: t n-1)2 T+9T ta=(a=n·T+9T =(2n+9)T · 2
2.2.4 基本的二进制加法减法器(续3)



对一位全加器来说,Si的时间延迟为6T,Ci+1的时 间延迟为5T。T通常采用一个“与非”门或一个 “或非”门的时间延迟来作为度量单位。 计算一个n位的行波进位加法器的时间延迟。假如 采用图2.2(a)所示的一位全加器并考虑溢出检测, 那么n位行波进位加法器的延迟时间ta为 ta=n· T+9T=(2n+9)T 2 (2.22) 9T为最低位上的两极“异或”门再加上溢出“异或” 门的总时间,2T为每级进位链的延迟时间。
采用变形补码后,如果两个数相加后,其结果的 符号位出现“01”或“10”两种组合时,表示发生溢 出。这是因为两个绝对值小于1的数相加,其结果不 会大于或等于2。所以,最高符号位所表示的是结果 的正确符号。
溢出概念与检测方法
[例14] x=+0.1100, y=+0.1000,求x+y。
[解] :
[x]补=00.1100, [y]补=00.1000
在定点机中,当运算结果发生溢出时,机器通过逻
辑电路自动检查出溢出故障,并进行中断处理。
2.2.4 基本的二进制加法减法器
两个二进制数字Ai,Bi和 一个进位输入Ci相加,产生 一个和输出Si,以及一个 进位输出Ci+1。 表2.2中列出一位全加器 进行加法运算的输入输出 真值表。

2.2.4 基本的二进制加法减法器(续1)
解:
例8之解
[x]
补=0.1001,
[y]
补=0.0101
[x] 补 0.1001 + [y] 补 0.0101 [ x+ y] 补 0.1110 所以 x+y=+0.1110
返回
例9之解
[x]
补=0.1011,
[y]
补=1.1011
[x] 补 0.1011 + [y] 补 1.1011 [ x+ y] 补 10.0110 所以 x+y=0.0110
2.2 定点加法、减法运算

2.2.1 补码加法 2.2.2 补码减法 2.2.3 溢出概念与检验方法 2.2.4 基本的二进制加法减法器 2.2.5 十进制加法器
2.2.1 补码加法



补码加法的公式是 [x]补+[y]补= [x+y] 补 在模2意义下,任意两数的补码之和等于 该两数之和的补码 这是补码加法的理论基础,其结论也适 用于定点整数
2.2.1 补码加法(续3)
⑶x<0,y>0,则x+y>0或 x+y<0。

这种情况和第2种情况一样,把x和y的位 置对调即得证。
2.2.1 补码加法(续4)
⑷x<0,y<0,则x+y<0。
相加两数都是负数,则其和也一定是负数。 在模2意义下,任意两数的补码之和等于该两 ∵ 数之和的补码。 [x] 补= 2+x, [y] 补=2+y ∴ 这是补码加法的理论基础,其结论也适用于 ) [x] 补+ [y] 补= 2+x+ 2+y=2+( 2+x+y 定点整数。 (x+y)是负数,其绝对值又小于1,那么(2 +(x+y))
返回
证明:[-Y]补=-[Y]补(mod 2)
因为 所以 又因为 所以 [X+Y]补=[X]补+[Y]补 (mod 2) [Y]补=[X+Y]补-[X]补 [X-Y]补=[X+(-Y)]补= [X]补+[-Y]补 [-Y]补=[X-Y]补-[X]补

[-Y]补+[Y]补=[X-Y]补+[X+Y]补-[X]补-[X]补
溢出概念与检测方法
[例12] x=+0.1011, y=+0.1001,求x+y。
[解:]
[x]补=0.1011 , [x ]补 + [y ]补
无进位
[y]补=0.1001 0.1011 0.1001 有进位 1.0100
[ x+y] 补
两正数相加,结果为负,显然错误。(运算中出现了“上溢”)
溢出概念与检测方法
3T+3T
一位全加器

n 个1位的全加器(FA)可级联成一个n 位的行波进
位加减器。 M为方式控制输入线, 当M=0时,作加法(A+B)运算; 当M=1时,作减法(A-B)运算。转化成[A]补+[B]补运算,求补过程由B+1来实现。 起始进位连接到功能方式线M上,作减法时M=1, 相当于在加法器的最低位上加1。 图中左边是单符号位法的溢出检测逻辑;当Cn=Cn -1时,运算无溢出;而当Cn≠ Cn-1时,运算有溢 出,经异或门产生溢出信号。
相关文档
最新文档