中央处理器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CHAPTER 8 Computer ARITHMETIC
(第8章计算机算法)
第三部分中央处理器
本部分介绍指令和数据类型这样的体系结构问题,考察计算机流水线的组织结构问题。
第8章计算机算法
考察ALU的功能,聚焦于实现算术运算的技术和数的表示方法。处理器支持两类算术运算:定点数和浮点数,讨论IEEE 754浮点标准。
第9章指令集:特征和功能
讨论指令集设计的功能方面。①功能类型②操作数类型③操作类型
第10章指令集:寻址方式和指令格式
讨论指令集的词义学问题,讨论指令集的语法学问题,考察指定存储器地址的方式,指令的整体格式。
第11章 CPU结构和功能
介绍寄存器的使用,CPU结构和功能的综述,重申整体组织讨论寄存器集的的具体组织。描述处理器执行机器指令的功能,考察指令周期,探讨使用流水技术改善性能。
第12章精简指令集计算机
介绍RISC概念相关方法,使用RISC设计的动力,考察RISC指令集设计和RISC CPU 体系结构。
第13章超标量处理器
考察超标量技术
第8章 计算机算法
● 计算机关注数字表示方式和基本算术运算的算法;适用于整数运算和浮点运算 ● 大多数处理器都实现了IEEE 754标准,用于浮点表示和浮点运算 本章重点放在ALU 的计算机算法。
8.1 The Arithmetic and Logic Unit(ALU) (算术和逻辑单元)
某种意义上当考察ALU 时,我们已到达计算机的核心或本质。
算逻单元及计算机所有电子部件都是基于简单数字逻辑装置的使用,这些装置保存二进制数字和完成简单的布尔逻辑运算。
CP200+EP275图8.1指出ALU 与CPU 互连,数据以寄存器提交给ALU ,运算结果也存于寄存器;ALU 亦将设置标志作为运算结果;标志值也存于CPU 内的寄存器中。
8.2 Integer Representation ( 整数表示)
二进制数值系统中,仅用数字0和1、负号和小数点表示任何一个数。对于计算机存储和处理,负号和小数点是不方便的。
通常,若一个n 位二进制数字序列a n-1 a n-2…a 1a 0表示一个无符号整数A=∑-=1
02n i i
ai 。 8.2.1 Sign-Magnitude Representation (符号-幅值表示法)
采用一个符号位的最简单的表示法是符号—幅值表示法。以一个n 位字为例,最左位为符号位,其余n-1位为整数的幅值(绝对值)
若定点小数的原码形式为X 0.X 1X 2X 3┅X n-1X n ,则原码定义为:
若定点整数的原码形式为X 0X 1X 2X 3┅X n-1X n ,则原码定义为:
符号-幅值表示法缺点:①加减运算时既要考虑数的符号,又要考虑幅值;②0有两种表示。因此符号-幅值表示法很少用于ALU 中的整数表示,常用的方案是2的补码。
8.2.2 Two ’s Complement Representation ( 2的补码表示法)
2的补码表示法使用最高位作为符号位,表8.1说明2的补码表示法和算术的关键特征。 以2的补码形式来表示一个n 位整数A 。
数零被标识为正的,正整数可表示的范围是由0到2n-1
-1。 ∑2-n 0.i i i 1-n 1-n a 2a 2
-A =+=
(8-2)
式(8-2)定义了正数和负数的2的补码表示法。
若定点小数的补码形式为X0.X1X2X3┅X n-1X n,则补码定义为:
若定点整数的补码形式为X0X1X2X3┅X n-1X n,则补码定义为:
CP203+EP279考察图8.2:加深对2的补码表示法的理解。
值盒子(value box)是说明补码的有效方法。对于整数而言,值盒子最右端是1(20),往左一个连续位置其值加倍,直到最左端,最左端的值是负。正如CP204+EP281图8.3(a),它能以2的补码表示的最小负数是-2n-1,负数的最左位必定是1,正数的最左位必定是0。图8.3其余部分说明使用值盒子将2的补码转换成十进制。
8.2.3Converting between Different Bit Lengths (不同位长间转换)
对于符号—幅值表示法,简单地将符号位移到新的最左位置上,多余出的空位全添0。
2的补码整数扩展规则应是,对于正数填充0,对于负数填充1。
8.2.4Fixed-Point Representation(定点表示法)
本节所讨论的表示法有时称为定点表示法,因为小数点是固定的并被假定为在最右数字的右边。
8.3Integer Arithmetic (整数算术运算)
考察补码表示数的普通算术功能。
8.3.1Negation (取负)
以2的补码表示法,求一个整数的负数可用如下规则:
1.将整数的每位求反。
2.将此结果作为一个无符号数对待,最低点位加1。
可使用2的补码表示定义[式(8-2)]来说明刚才介绍的操作的有效性。
①考虑A=0
②一个数首位为1,后面跟着n-1个0,对此n位数取负数将会是错误的。
出现特殊情况的原因在于n位字能表示不同的数只有2n个(偶数),希望能表示正整数、负整数和0,在2的补码表示法中,一个n位字可表示负数-2n,不能表示正数2n。
8.3.2Addition and Subtraction (加法和减法)
CP207+EP284图8.4表示了两个补码的加法,如果操作的结果为正,则得到原始的2进制数符号。如果结果为负,则会得到负数的补码形式: