第二章 计算方法和运算器(二)
《计算机组成原理》教学大纲-信息与计算科学专业

《计算机组成原理》课程教学大纲一、教学大纲说明(一)、课程的地位、作用与任务《计算机组成原理》是信息类计算机应用专业学生必修的公共基础课之一,是一门涉及较多硬件知识的计算机系统软件课程。
在计算机软硬件课程的设置上,它起着承上启下的作用。
其特点是概念多、内容全面、涉及硬件内容,系统性强,其整体实现思想和技术理解有点难度。
(二)、课程的教学目的要求计算机组成原理对建立计算机整体概念,因此本课程的目的是使学生通过本课程的学习,理解计算机系统的基本概念和主要结构,掌握其工作原理,了解它的发展的新技术、新动向,从而为学生以后在各类计算机上从事开发和应用的需要。
掌握:基本概念包括:计算机系统组成及层次结构、运算方法和运算器、存储系统与指令系统、中央处理器、总线系统、外围设备、输入输出系统等。
基本知识:计算机系统的基本结构和工作原理以及有关的新技术。
理解重点:运算器结构、存储系统的管理方法、指令格式、中央处理器的结构和控制、外围设备通信控制方式。
难点:运算方法及运算器、中央处理器、输入输出控制方式。
(三)、课程的教学方法和手段1、本课程概念多、较抽象、涉及面广,因此教学形式以讲授方式为主。
2、为加强和落实动手能力的培养,应充分重视实践性教学环节,配合主教材、辅助教材、CAI、网络教材、试题库、实验教材综合使用,力求形成理论、抽象、设计三过程相统一的课程体系。
3、对关键性概念、整体实现思想方面的问题可辅以课堂讨论的形式。
4、如条件许可,应利用网络技术进行授课、答疑和讨论。
(四)、课程与其它课程的联系先修课为:计算机应用基础、操作系统原理、电子电路基础的知识(五)、教材与教学参考书教材:白中英,《计算机组成原理》(第三版、网络版) ,清华大学出版社,2008年3月二、课程的教学内容、重点和难点1.课程以文字教材为主(包括主教材和实验教材两部分),文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。
第2章2.3浮点运算和浮点运算器

• 阶码用移码表示
• 移码的特点:真值越大,移码的数值也越大,无论正负 • 可以用比较电路直接比较两个阶码的大小
4
2.3 .3 浮点运算流水线
1 流水线原理
• 线性流水线 • 各子任务之间具有这种线性优先关系的流水线 • 线性流水线的硬件基本结构(流水线CAI演示) • 处理一个子任务的过程为过程段(Si) • 线性流水线由一系列串联的过程段组成 • 各个过程段之间设有高速缓冲寄存器(L),以暂 时保存上一过程子任务处理的结果 • 在一个统一的时钟(C)的控制下,数据从一个过 程段流向下一个相邻的过程段
• 当指令控制器工作时,运算器基本上处于空闲状态,而当 运算器工作时指令控制器又处于空闲状态,资源浪费浪费 • 完成第一条指令前三步后,指令控制器不等运算器完成 该指令后两步,立即开始第二条指令,运算器也如此; 16 • 形成一种与工厂中的装配流水线类似的流水线
2.3 .3 浮点运算流水线
1 流水线原理
【例2-18】 设x=2010×0.11011011,y=2100×(-0.10101100), 求x+y。 【解】 为了便于直观理解,假设两数均以补码表示,阶码采用双符 号位,尾数采用单符号位,则它们的浮点表示分别为 [x]浮=00 010 0.11011011 [y]浮=00 100 1.01010100 ①求阶差并对阶 △E=Ex-Ey=[Ex]补+[-Ey]补=00 010+11 100=(11 110)补= (11 010)原=(-2)10 简单起见,010是2D, 100是4D,所以 △E=-2D x的阶码小,应使Mx右移2位,Ex加2 ∴[x]浮=00 100 0.00110110(11) 其中(11)表示Mx右移2位后移出的最低两位数。
计算机组成原理第四版第二章

+ [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.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。
【5A版】计算机组成原理习题解答

△E =-1,应修改x
△E=Ex-Ey=[Ex]补+[-Ey]补=11 101 +00 010=11 111
修改后的x表示为:
[x]浮= 11 110,0.010010(1)
② 尾数求和 Mx+My =1 . 1 1 0 1 0 0 (1)
存储容量
存储器所能保存二进制数据的总数,常用单位为KB、MB等。
单元地址 用于识别存储器中每个存储单元的编号,即单元地址。 数据字 表示计算机所要处理数据的计算机字,称为数据字。 指令字 表示一条指令的计算机字,称为指令字。
5
1.6 什么是指令?什么是程序?
指令:
1
计算机组成原理习题解答
河南大学计算机与信息工程学院
2
第一章 计算机系统概论
3
1.4 冯诺依曼型计算机的主要设计思想是什么? 它包括哪些主要组成部分?
冯诺依曼计算机的主要设计思想是: 存储程序并按地址顺序执行。
冯诺依曼计算机主要包括:
存储器、运算器、控制器、输入和输出五部分组成。
4
1.5 什么是存储容量?什么是单元地址? 什么是数据字?什么是指令字?
15
2.7 用原码阵列乘法器、补码阵列乘法器分别计算x×y。 (1) x=11011 y=-11111 (2) x=-11111 y=-11011 (1) 输入数据的原码: [x]原=0 11011
16
[y]原=1 11111
符号位单独运算: 0⊕1=1 算前求补器输出: |x|=11011 |y|=10011 乘法阵列: |x| ×|y| = 1 1 0 1 0 0 0 1 0 1
华南理工2017【计算机组成原理】随堂练习

9.设寄存器内容为11111111,若它等于+127,则机器码为()表示。
A、原码B、补码C、反码D、移码
参考答案:D
10.8位原码能表示的不同数据有()个。
A、15 B、16 C、255 D、256
参考答案:C
11.下列关于奇偶校验码错误的描述是()。
A、只能发现奇数位错B、无纠错能力
参考答案:C
4.在机器数的四种表示方法中,()对0的表示有两种形式。
A、原码和反码B、原码和补码C、反码和补码D、补码和移码
参考答案:A
5.n位定点补码表示的最大值是()。
A、2的n次方B、2的n次方-1 C、2的n-1次方D、2的n-1次方再-1
参考答案:B
6.将用8位二进制补码表示的十进制数-121,扩展成16位二进制补码,结果用十六进制表示为()。
参考答案:B
3.在指令格式中采用扩展码设计方案是为了()。
A、减少指令字长度B、增加指令字长度C、保持指令字长度不变而增加指令操作的数量
D、保持指令字长度不变而增加寻址空间
参考答案:C
4.某计算机存储器按字(16位)编址,每取出一条指令后PC值自动加1,说明其指令长度是()。
A、1个字节B、2个字节C、3个字节D、4个字节
A、原码B、补码和移码C、补码D、补码和反码
参考答案:B
2.二进制数-101101B的补码是()。
A、11001011B B、11010011B C、11010110B D、11110111B
参考答案:B
3.在补码表示的机器中若寄存器A中存放数9EH,经过一次()运算它可以变为CFH。
A、算术左移B、逻辑左移C、算术右移D、逻辑右移
计算机组成原理第12-浮点数的运算2

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的求和表达式如下:
x
y
z
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流水线完成一条浮点数操作指令。
第2章 加法器

3.5 定点运算器的组成 1)定点运算器的基本结构 • 不同的计算机其运算器的组成结构是不同的, 但一般都包含以下几部分。 1.算术逻辑运算单元ALU • 在计算机中,通常具体实现算术运算和逻辑 运算的部件称为算术逻辑运算单元 (Arithmetic and Logic Unit),简称ALU, 它是加法器、乘法器和逻辑运算器的集成, 是运算器的核心。ALU通常表示为两个输入 端,一个输出端和多个功能控制信号端的一 个逻辑符号。加法器是ALU的核心,是决定 ALU运算速度的主要因素。
第2 章 加法器
• 计算机要对各种信息进行加工和处理。 • 如对数值数据进行加、减、乘、除的数 值运算,对非数值数据进行与、或、非 的逻辑运算。 • 在计算机中必须有对数据进行处理的部 件,这个部件就是运算器。 • 目前,大多数计算机都将运算器和控制 器集成在一个芯片上,也就是我们常说 的CPU。
二进制加法器 1.半加器 • 两个一位二进制数相加(不考虑低位的进 位),称为半加。实现半加操作的电路称 为半加器。 • 半加器的真值表、逻辑图和逻辑符号。 2.全加器 • 在实现多位二进制数相加时,不仅考虑本 位,还要考虑低位来的进位,这种考虑低 位的进位加法运算就是全加运算, • 实现全加运算的电路称为全加器。
A8 A7A6A5 B8B7B6B5
A4 A3A2A1B4B3B2B1
16位行波进位加法器
• 在这种结构中,由于组间进位C4、C8、 C12、C16仍然是串行产生的,最高进位 的产生时间为4×(2.5ty)=10ty。 • 采用这种结构,在大大地缩短了进位延迟 时间的同时兼顾了电路设计的复杂性。 • 如果还需要进一步提高速度,可以采用两 级先行进位结构。
• 4)附加的控制线路 运算器要求运算速度快,运算精度高。为 了达到这一目的,通常还在运算器中附加 一些控制线路。 i -i • 如:运算器中的乘2 或乘2 运算和某些逻 辑运算是通过移位操作来实现的。这通常 是在ALU的输出端设置移位线路来实现。 移位包括左移,右移和直送。移位线路也 是一个多路选择器。 • 定点运算器的组成
经典:计算机组成原理-第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