第二章 计算方法和运算器(十三)
- 格式:pdf
- 大小:209.57 KB
- 文档页数:3
《计算机组成原理》课程教学大纲一、教学大纲说明(一)、课程的地位、作用与任务《计算机组成原理》是信息类计算机应用专业学生必修的公共基础课之一,是一门涉及较多硬件知识的计算机系统软件课程。
在计算机软硬件课程的设置上,它起着承上启下的作用。
其特点是概念多、内容全面、涉及硬件内容,系统性强,其整体实现思想和技术理解有点难度。
(二)、课程的教学目的要求计算机组成原理对建立计算机整体概念,因此本课程的目的是使学生通过本课程的学习,理解计算机系统的基本概念和主要结构,掌握其工作原理,了解它的发展的新技术、新动向,从而为学生以后在各类计算机上从事开发和应用的需要。
掌握:基本概念包括:计算机系统组成及层次结构、运算方法和运算器、存储系统与指令系统、中央处理器、总线系统、外围设备、输入输出系统等。
基本知识:计算机系统的基本结构和工作原理以及有关的新技术。
理解重点:运算器结构、存储系统的管理方法、指令格式、中央处理器的结构和控制、外围设备通信控制方式。
难点:运算方法及运算器、中央处理器、输入输出控制方式。
(三)、课程的教学方法和手段1、本课程概念多、较抽象、涉及面广,因此教学形式以讲授方式为主。
2、为加强和落实动手能力的培养,应充分重视实践性教学环节,配合主教材、辅助教材、CAI、网络教材、试题库、实验教材综合使用,力求形成理论、抽象、设计三过程相统一的课程体系。
3、对关键性概念、整体实现思想方面的问题可辅以课堂讨论的形式。
4、如条件许可,应利用网络技术进行授课、答疑和讨论。
(四)、课程与其它课程的联系先修课为:计算机应用基础、操作系统原理、电子电路基础的知识(五)、教材与教学参考书教材:白中英,《计算机组成原理》(第三版、网络版) ,清华大学出版社,2008年3月二、课程的教学内容、重点和难点1.课程以文字教材为主(包括主教材和实验教材两部分),文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。
课程总复习第一章计算机系统概论1 计算机的分类电子计算机从总体上来说分为两大类:电子模拟计算机和电子数字计算机。
电子模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。
电子数字计算机的主要特点是按位运算,并且不连续地跳动计算。
数字计算机与模拟计算机的主要区别见表1.1:表1.1 数字计算机与模拟计算计的主要区别2 计算机系统结构与性能之间的关系分为巨型机、大型机、中型机、小型机、微型机、单片机六类,其结构复杂性、性能、价格、依次递减。
3 计算机的硬件组成一般结构由:运算器+存储器+控制器+适配器与输入/输出设备等构成。
应掌握各部分的主要功能。
[指令与程序的基本概念]:1)指令的形式指令的内容由两部分组成,即操作的性质和操作的地址。
前者称为操作码,2)存储程序的思想(冯.诺依曼结构计算机原理)/执行的操作,完成既定的任务。
非冯.诺依曼结构计算机则是指:脱离“存储程序”控制的模式,完成计算机功能。
3)指令流和数据流概念指令和数据统统放在内存中,从形式上看,它们都是二进制数码。
一般来讲,在取指周期中从内存读出的信息是指令流,它流向控制器;而执行周期中从内存读出的信息流是数据流,它由内存流向运算器。
适配器与输入设备、计算机的系统结构发展发展趋势(自阅)4 计算机的软件[软件的组成和分类]计算机软件一般分为两大类:一类叫系统程序,一类叫应用程序。
系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。
应用程序是用户利用计算机来解决某些问题所编制的程序,如工程设计程序、数据处理程序、自动控制程序、企业管理程序、情报检索程序、科学计算程序等等。
[软件的发展演变]目的程序--汇编程序--源程序--操作系统--数据库管理系统5 计算机系统的层次结构计算机系统多级结构包括:微程序设计级--一般机器级--操作系统级--汇编语言级--高级语言级第二章运算方法与运算器1 数据与文字的表示方法[数据格式 ]计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。
第⼆章运算⽅法和运算器第⼆章运算⽅法和运算器⼀、选择题1.在机器数中,(B)的零的表⽰形式是唯⼀的。
A.原码B.补码C.反码D.原码和反码2.计算机系统中采⽤补码运算的⽬的是为了(C)。
A.与⼿⼯运算⽅式保持⼀致B.提⾼运算速度C.简化计算机的设计D.提⾼运算的精度3.假定下列字符码中有奇偶校验位,但没有数据错误,采⽤偶校验的字符码是(D)。
A.11001011B.11010110C.11000001D.110010014.若某数X的真值为-0.1010,在计算机中该数表⽰为1.0110,则该数所⽤的编码⽅法是(B)码。
A.原B.补C.反D.移5.在浮点数原码运算时,判定结果为规格化数的条件是(D)。
A.阶的符号位与尾数的符号位不同B.尾数的符号位与最⾼数值位相同C.尾数的符号位与最⾼数值位不同D.尾数的最⾼数值位为16.运算器虽有许多部件组成,但核⼼部分是(B)。
A.数据总线B.算术逻辑运算单元C.多路开关D.通⽤寄存器7.下列说法中正确的是(C)。
A.采⽤变形补码进⾏加减法运算可以避免溢出B.只有定点数运算才有可能溢出,浮点数运算不会产⽣溢出C.只有带符号数的运算才有可能产⽣溢出D.只有将两个正数相加时才有可能产⽣溢出8.下溢指的是(B)。
A.运算结果的绝对值⼩于机器所能表⽰的最⼩绝对值B.运算的结果⼩于机器所能表⽰的最⼩负数C.运算的结果⼩于机器所能表⽰的最⼩正数D.运算结果的最低有效位产⽣的错误⼆、填空题1.⼀个定点数由(符号位)和(数值域)两部分组成。
根据⼩数点的位置不同,定点数有(纯⼩数)和(纯整数)两种表⽰⽅法。
2.按IEEE754标准,⼀个浮点数由(符号位)S、阶码E,尾数M三个域组成。
其中阶码E的值等于指数的(真值e)加上⼀个固定的(偏移值)。
3.对阶时,使(⼩)阶向(⼤)阶看齐,使⼩阶的尾数向(右)移位,每(右)移⼀位,其阶码加1,直到两数的阶码相等为⽌。
4.现代计算机的运算器⼀般通过总线结构来组织.按其总线数不同,⼤体有(单总线结构),(双总线结构)和(三总线结构)三种形式。
第⼆章运算⽅法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)这⼀章,主要介绍了好多种计算⽅法。
下⾯,写⼀点⾃⼰对于有些计算(⼿写计算过程)的见解。
1.原码、反码、补码 原码:相信⼤家都会写,符号位在前⼆进制数值在后,凑够位数即可。
反码:原码符号位不变,其他位全部取反。
补码:反码末位加⼀ / 原码符号位不变,从右往左数第⼀个1及其右边的各位不变,其余位全部取反2.IEEE754的转换 IEEE754标准32/64浮点规格化数形式:X = (-1)S * 1.M * 2E-127(其中,S-阶符,M-尾数,E-阶码) 32位的规格化浮点数:SEM00000...(即⼆进制SEM后⾯补0,写够32位) 以27/64为例: ①化形式:27/64 = + (1.1011)2 * 2-2 ②找SEM:S=0,M=1011,E=(125)10=(01111101)2 ③写结果:00111110 11011000 00000000 00000000 = (3ED800)163.变形补码计算加减法 变形补码没什么稀奇,不过是符号位变成两位⽽已(00为正,11为负),它的价值在于可以作溢出判断(结果00//11表⽰未溢出,01-上溢(所谓上溢符号位还是0),11-下溢(下溢符号位还是1)),就正常求补码(符号位double),放在⼀起加和,做溢出判断,最后别忘了把补码再转换回原码作为最终结果。
x+y: 以x=11011, y=00011为例: ①求补:[11011]补=0011011, [00011]补=0000011 ②加和:011011 + 000011 = 0011110;符号位00,未溢出,故x+y=11110 x-y:(这⾥把减法化为加法,即 x-y = x+(-y),另外[-y]补 = [y]补 从右往左数第⼀个1及其右边的各位不变,其余位全部取反,这次连带符号位也要取反) 以x=11011, y=-11111为例: ①求补:[11011]补=0011011, [-11111]补=1100001,[-y]补=0011111 ②加和:[x]补+[-y]补 = 0011011 + 0011111 = 0111010;符号位01,正溢(上溢);故x-y=+1110104.浮点数加减法(我⽤的是补码计算) 这⾥⾯涉及的东西⽐较多,每⼀步都需要仔细,错⼀步结果就错了。
四川警安职业学院标准教案纸
课程名称计算机组成原理(第十七讲)任课教师陈平授课时间地点多媒体授课班级人数
教学目标1.掌握浮点数的加法和减法运算规则
2.掌握对价方法及原理
3.掌握浮点数规格化及舍入处理
教学重点1.浮点数的运算规则
2.对价方法
教学难点 1.浮点数的规格化和舍入处理
教学时数2节教学方法讲授法、演示法、实践操作法教学手段多媒体教学
教学内容:
第二章计算方法和运算器(十三)
2.7.1浮点加法和减法
设有两个浮点数x和y,它们分别为:
x=2Ex·Mx
y=2Ey·My
两浮点数进行加法和减法的运算规则是
x±y=(Mx2Ex-Ey±My)2Ey,Ex<=Ey
其中,Ex、Ey分别为x、y的阶码,Sx、Sy分别为的尾数。
完成浮点加减运算的操作过程大体分为四步:
1.0操作数的检查;
2.比较阶码大小并完成对阶;
3.尾数进行加或减运算;
4.结果规格化并进行舍入处理。
1.0操作数检查
浮点加减运算过程比定点运算过程复杂。
如果判知两个操作数x或y中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作,以节省时间。
0操作数检查步骤则用来完成这一功能。
2.对阶
两浮点数进行加减,首先要看两数的阶码是否相同,即小数点位置是否对齐。
若两数阶码相同,表示小数点是对齐的,就可以进行尾数的加减运算。
反之,若两数阶码不同,表示小数点位置没有对齐,此时必须使两数的阶码相同,这个过程叫做对阶。
要对阶,首先应求出两数阶码E x和E y之差,即:
△x=E x-E y
若E x=E y,表示两数阶码相等,不需改变两数的阶码;若E x≠E y,要通过尾数的移位以改变E x或E y,使之相等。
由于浮点表示的数多是规格化的,尾数左移会引起最高有产位的丢失,造成很大误差;而尾数右移虽引起最低有效位的丢失,但造成的误差较小,因此,对阶操作规定使尾数右移,尾数右移后使阶码作相应增加,其数值保持不变。
很显然,一个增加后的阶码与另一个相等,所增加的阶码一定是小阶。
因此在对阶时,总是使小阶向大阶看齐,即小阶的尾数向右移位(相当于小数点左移),每右移一位,其阶码加1,直到两数的阶码相等为止,右移的位数等于阶差△E。
3.尾数求和
对阶完毕后就可对尾数求和。
不论是加法运算还是减法运算,都按加法进行操作,其方法与定点加减运算完全一样。
4.规格化
当尾数用二进制表示时,浮点规格化的定义是尾数M应满足:
1/2≤|M|<1
显然对于正数而言,有M=00.1φφ…φ;对于负数,其补码形式为11.0φφ…φ。
这样,当进行补码浮点加减运算时,只要对运算结果的符号位和小数点后的第一位进行比较:如果它们不等,即为00.1φφ…φ或11.1φφ…φ,就是规格化的数;如果它们相等,即为00.0φφ…φ或11.0φφ…φ,就不是规格化的数,在这种情况下需要尾数左移以实现规格化的过程,叫做向左规格化。
规则是:尾数左移1位,阶码减1。
在浮点加减运算时,尾数求和的结果也可以得到01.φφ…φ或10.φφ…φ,即两符号位不相等,在这定点加减运算中称为溢出,是不允许的。
但在浮点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化。
此时将尾数运算结果右移以实现规格化表示,称为向右规格化,即尾数右移1位,阶码加1。
5.舍入
在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理。
常用的舍入方法有两种:一种是“0舍1入”法,即如果右移时被丢掉数位的最高位为0则舍去,为1则将尾数的末位加“1”,另一种是“恒置1”,即只要数位被移掉,就在尾数的末位恒置“1”。
6.溢出处理
浮点数的溢出是以其阶码溢出表现出来的。
在加、减运算过程中要检查是否产生了溢出:若阶码正常,加(减)运算正常结束;若阶码溢出,则要进行相应的处理:若阶码下溢,要置运算结果为浮点形式的机器0;若阶码上溢,则置溢出标志。
【例】设x=2010×0.11011011,y=2100×(-0.10101100),求x+y。
[解:]
为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则它们的浮点表示分别为
[x]浮=00010,0.11011011
[y]浮=00100, 1.01010100
<1>求阶差并对阶
△E=Ex-Ey=[Ex]补+[-Ey]补=00010+11100=11110
即△E为-2,x的阶码小,应使Mx右移两位,Ex加2,
[x]浮=00100,0.00110110(11)
其中(11)表示Mx右移2位后移出的最低两位数。
<2>尾数求和
0.00110110(11)
+ 1.01010100
1.10001010(11)
<3>规格化处理
尾数运算结果的符号位与最高数值位同值,应执行左规处理,结果为1.00010101(10),阶码为00011。
<4>舍入处理
采用0舍1入法处理,则有
1.00010101
+1
────────────────
1.00010110
<5>判溢出
阶码符号位为00,不溢出,故得最终结果为
x+y=2011×(-0.11101010)
P70 2.9题作业
教学反馈。