计算机组成原理讲义第2章数据表示运算和运算器部.ppt

上传人:小飞机 文档编号:6342742 上传时间:2023-10-18 格式:PPT 页数:54 大小:594.50KB
返回 下载 相关 举报
计算机组成原理讲义第2章数据表示运算和运算器部.ppt_第1页
第1页 / 共54页
计算机组成原理讲义第2章数据表示运算和运算器部.ppt_第2页
第2页 / 共54页
计算机组成原理讲义第2章数据表示运算和运算器部.ppt_第3页
第3页 / 共54页
计算机组成原理讲义第2章数据表示运算和运算器部.ppt_第4页
第4页 / 共54页
计算机组成原理讲义第2章数据表示运算和运算器部.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《计算机组成原理讲义第2章数据表示运算和运算器部.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理讲义第2章数据表示运算和运算器部.ppt(54页珍藏版)》请在三一办公上搜索。

1、计算机组成原理讲义第2章 数据表示、运算和运算器部件,诀窍详细内容请参阅王诚主编“计算机组成原理”,本章主要教学内容,围绕定点运算器的功能、组成、设计和实现来介绍。掌握各种数据在计算机内的表示、存储方式、完成运算所用的算法和实现这些算法所用的逻辑电路。本章从数值化信息编码讲起,引出二进制编码,数制转换,插入部分检错纠错码知识。介绍各种数据表示、数值数据算术运算的有关算法。讲解在计算机中实现算术运算与逻辑运算所用的功能部件运算器部件。,第2章 数据表示、运算和运算器部件,2.1 数字化信息编码的概念和二进制编码知识2.2 数据表示-采用的信息编码 2.3 二进制数值数据的编码与运算算法2.4 运

2、算器部件的组成与设计2.5 浮点运算与浮点运算器,2.1 数字化信息编码的概念和二进制编码知识,2.1.1 数字化信息编码的概念2.1.2 二进制编码和码制转换2.1.3 检错纠错码,2.1.1 数字化信息编码的概念,所谓编码,就是用少量、简单的基本符号,选用一定的组合规则,以表示大量复杂多样的信息。多重编码,是指当使用的基本符号较多时,往往还要采取措施,以便首先使用少量的简单符号来编码、以表示那些量大而复杂的基本符号,再用这些基本符号来表示信息。例如汉字编码。二进制编码的优点:容易实现;运算简单;对应逻辑值。,2.1.2 二进制编码和码制转换,数制与进位记数法基r数制:用r个基本符号通过排列

3、起来的符号串表示数值,称为基r数制,称r为该数制的基。有权基r数制:如果每一位的单位值都赋以固定的值Wi,则称Wi为该位的权,此时的数制为有权的基r数制。r进位数制(r进制):如果基r数制符合“逢r进位”的规则,则每位的权为ri,称为r进制。二进制编码与二进制数据二进制编码方法;二进制数值数据的计算(十进制展开)。,2.1.2 二进制编码和码制转换(续),数制转换 二(八和十六)进制与十进制数据转换:整数部分:除以基数,取其余数,倒序排列。小数部分:乘以基数,取其整数,正序排列。二进制与八进制或十六进制数据转换:原理:一位八(十六)进制数可表示成3(4)位二进制数。方法:从小数点所在位置分别向

4、左、右对每3 位或4位进行分组,写出每一组对应值(注意补零问题)。,2.1.2 二进制编码和码制转换(续),二进制数的运算规则:算术运算和逻辑运算加法运算规则减法运算规则乘法运算规则除法运算规则逻辑或运算规则(运算符为)逻辑与运算规则(运算符为)逻辑非运算规则(运算符为)逻辑异或运算规则(运算符为),2.1.3 检错纠错码,检错纠错的有关概念和实现思路实现原理:在合法的数据编码之间加进一些不允许出现的编码,使合法编码出现某些错误时,就成为非法编码。(最小)码距:任意两个合法编码之间至少有几个二进制位不相同,常用的数据校验码是奇偶校验码、海明校验码、循环冗余码。纠错码是对校验码的更进一步的发展和

5、应用。,2.1.3 检错纠错码(续),三种常用的检错纠错码奇偶校验码:原理:使原来合法码距由1正加到2;方法:正加一个二进制位成奇(偶)个“1”;特点:只能发现一位或奇数个位出错。,2.1.3 检错纠错码(续),海明校验码:原理:在k个数据位之外加上r个校验位,形成k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化;方法:见表2.2和表2.3;特点:能发现并纠正一位出错或发现两位出错。,2.1.3 检错纠错码(续),循环冗余码原理:在k个数据位之外拼接r个校验位,关键是如何从k位信息位简单地得

6、到r位校验位编码。以及如何判断k+r位码字是否正确;方法:由信息表达式及生成表达式生成模余数表达式,并拼接在信息表达式之后;特点:能发现并纠正一位、多位出错,用于串行通信。,2.2 数据表示-采用的信息编码,2.2.1 逻辑数据的表示2.2.2 字符数据的表示2.2.3 数值型数据的表示,2.2.1 逻辑数据的表示,用来表示二值逻辑中的“是”与“否”或称“真”与“假”两个状态的数据。在计算机中可用一个基二码、一个字或一个字节来表示单个逻辑数。,2.2.2 字符数据的表示,用一定位数的基二码为每一个字符指定一个确定 的编码。ASCII码和EBCDIC码ASCII码:7位基二码表示的字符,见表2.

7、8。EBCDIC码:8位编码,主要用在IBM计算机中。,2.2.2 字符数据的表示(续),字符串的表示连续的一串字符,占用主存中连续的多个字节,每个字节存一个字符。注意其存放顺序(P.68 图2.4)。,2.2.2 字符数据的表示(续),中文(汉字)的编码表示用两个字节表示一个汉字。将两个字节的最高位设定为1。128*128个。注意与ASCII码的奇偶校验码有冲突。,2.2.3 数值型数据的表示,*表示数量多少、数值大小的数据。表示方法:带正负符号的十进制数形式,用于输入/输出。二-十进制编码,即用4为基2码编码一位十进制数,多位十进制数表示成编码的数串。二进制原、反、补码表示数据。注意:数值

8、数据有一定的表示范围和表示精度。二进制数主要分成定点小数、整数与浮点数三类。,2.2.3 数值型数据的表示(续),定点小数的表示方法指小数点准确固定在数据某个位置上的小数,实用上都把小数点固定在最高数据位的左边,小数点前边再设一位符号位。N=NS.N-1N-2N-m主要用在早期计算机中,在本课中主要通过定点小数讨论数值数据的不同编码方案,而且定点小数也被用来表示浮点数的尾数部分。,2.2.3 数值型数据的表示(续),整数的表示方法小数点定位在数值最低位右面的一种数据。整数被分成带符号和不带符号的两类。带符号数:N=NS.NnNn-1N2 N1 N0 不带符号数:N=Nn+1NnNn-1N2 N

9、1 N0在计算机中,整数所占用的存储空间和所表示数值范围是不同的,如8位、16位、32位或64位。,2.2.3 数值型数据的表示(续),浮点数的表示方法浮点数是指小数点在数据中的位置可以左右浮动的数据。表示成:N=M*RE在计算机中,表示浮点数要有符号位;而R规定位2、8或16,是确定常量不必表示出来。浮点数表示成:MS(1位)E(m位)M(n位)浮点数的规格化表示及处理:规定计算机内浮点数的尾数部分用纯小数形式给出,而且尾数的值不为0时,其绝对值应大于或等于0.5。,2.2.3 数值型数据的表示(续),浮点数的表示方法(续)浮点数的规格化处理:规格化的过程称为规格化处理。常用浮点数的格式:P

10、.71隐藏位技术:对短浮点数和长浮点数,在存储时,去掉最高位(规格化后必为1)的技术称为隐藏位技术。对临时浮点数,不使用隐藏位技术。,2.2.3 数值型数据的表示(续),十进制数的编码与运算*采用基二码对每个十进制数位进行重编码。十进制有权码:每一位基2码有确定的权。8421码(BCD码):运算简单;转换方便;结果需修正。其它有权码:见表2.9十进制无权码:每一位基2码没有确定的权。余三码:每个二进制代码都加上0011得到。格蕾码:任两个相临代码只有1位状态不同。,2.2.3 数值型数据的表示(续),十进制数的编码与运算(续)十进制数的其它编码方法:见表2.11 数字串在计算机中的表示余存储字

11、符串形式:一个字节存放一个十进制的数位或符号位。不便于算术运算。压缩的十进制数串形式:一个字节存放两个十进制的数位。便于算术运算。注意符号位的表示以及所占位数必为偶数。每种表示都需知道其起始地址和长度。,2.3 二进制数值数据的编码与运算算法,2.3.1 原码、反码、补码的定义 2.3.2 补码加、减运算规则 2.3.3 原码一位乘法的实现算法 2.3.4 定点补码一位乘法的实现算法2.3.5 原码一位除法的实现算法 2.3.6 定点补码一位除法的实现算法2.3.7 加速乘除法运算的有关算法介绍,2.3.1 原码、反码、补码的定义,编码方法是指如何能统一地表示正数、零和负数,并尽可能地有利于简

12、化对它们实现算术运算用到的规则。数据的正负符号用一位二进制0和1两个状态表示。通常称表示一个数值数据的机内编码机器数,而把它所代表的实际值称为机器数的真值。用定点小数引出数值的3种编码(原码、补码和反码)是最方便的。,2.3.1 原码、反码、补码的定义(续),定点小数的编码方法原码表示法:用机器数的最高一位代表符号,以下各位给出数值绝对值的表示方法。定义见P.75(2.9),其性质为:x原=符号位+|X|零有两种表示:+0.0原=0000,-0.0原=1000 优缺点:乘除运算规则简单;加减运算不方便。,2.3.1 原码、反码、补码的定义(续),补码表示法:用机器数的最高一位代表符号,以下各位

13、给出数值按2取模结果的表示方法。定义见P.76(2.10),其性质为:x补=2*符号位+X零有唯一表示:+0.0补=-0.0补=0000X+Y补=X补+Y补 MOD 2(重要),2.3.1 原码、反码、补码的定义(续),补码表示法:(续)*由补码求真值:正数:X=X补;负数:数值部分求补,并加上符号。*补码的算术移位:将符号位与数值位一起右移一次并保持原符号位的值不变,可实现除法。*由原码求补码:对正数或零:X补=X原。对负数:符号位不变,数值位变反末尾加1。,2.3.1 原码、反码、补码的定义(续),补码表示法:(续)*变形补码:模4补码或双符号位补码。定义见P.77(2.13),其性质为:

14、数值与模2补码相同;符号位为00或11,若为01或10时表示溢出,01表正数相加产生上溢;10表负数相加产生下溢。零有唯一编码,且能表示负1。存储模4补码时,只存储一位符号位即可。,2.3.1 原码、反码、补码的定义(续),反码表示法:用机器数的最高一位代表符号,数值位是对负数值各位取反、对正数与原补码具有相同的表示方法。其定义见P.78(2.14),其性质为:x反=(2-2-n)+X)MOD(2-2-n)零有两种表示:+0.0反=0000,-0.0反=1111实现算术运算不方便,0有两个编码,不常用。,2.3.1 原码、反码、补码的定义(续),整数的编码方法*整数也用原、补和反码表示。*与小

15、数有如下异同:小数点设在最低一位的右边,最高位为符号位。数值的范围及编码的取模值与所用的位数有关。编码的定义、特性和相互转换方法均与定点小数类似,只是补码的取模值为2k或2k+1,k为二进制整数数值的位数。,2.3.1 原码、反码、补码的定义(续),浮点数的编码方法:Ms E M符号位Ms仍采用0表正、1表负的规则。尾数M采用定点小数表示,可用原(补)编码。阶码E多采用整数形式的移码表示:定义:P.79(2.15)与补码的关系:变补码的符号为其反码。性质:a.符号位与原、补码相反;b.只用于整数(浮点数阶码);c.移码加减运算结果需变符号修正;d.零有唯一编码10000(-2n)。,2.3.2

16、 补码加、减运算规则,加减法运算规则:X+Y补=X补+Y补,X-Y补=X补-Y补=X补+-Y补 补码直接参与运算:包括符号与数值。已知补码求其负数的补码:按位求反末尾加1。运算溢出的表达方式:同符号补码相加,和的符号与加数符号相同;最高位向符号位的进位与符号位向更高位进位不同;双符号位运算时,两个符号位不同。,2.3.3 原码一位乘法的实现算法,乘积的符号为两数符号的异或值,数值为两数绝对值之积。乘法算法实现:运算器只能完成对两个数的求和操作;用N位加法器实现两个N位数的乘法:每求得一次部分积之后使其右移一位。加零或加被乘数的判断:每求一次部分积,使放乘数的寄存器执行一次右移操作,并使其最高位

17、接收加法器最低位的移位输出。乘积的符号为两数符号的异或值(半加和)。,2.3.4 定点补码一位乘法的实现算法,*直接用补码相乘实现乘法运算。方案一:乘数为正数:X*Y补=X补*Y补乘数为负数:用X补乘Y补的数值位,再将乘积加上-X补。方案二:比较法,2.3.5 原码一位除法的实现算法,原码恢复余数法和加减交替法实现,商的符号为两数符号的异或值,数值为两数绝对值之商。除法算法实现:左移被除数(余数);上商要根据减法运输结果确定,为正上1,为负上0,且恢复余数(两种不同实现方法)。上商是将商存入寄存器,并使其左移。寄存器的初始值可以是双倍字长被除数的低位部分,在实现部分余数左移时,将它的最高位移入

18、部分余数的最低位。,2.3.6 定点补码一位除法的实现算法,*运输规则见P.90,2.3.7 加速乘除法运算的有关算法介绍,定点双位乘法的实现方案阵列乘法器跳0跳1除法用快速乘法器实现快速除法器,2.4 运算器部件的组成与设计,2.4.1 运算器部件的功能与组成概述2.4.2 位片结构的运算器芯片Am29012.4.3 教学计算机运算器的设计与实现2.4.4 教学计算机的运算器使用事例,2.4.1 运算器部件的功能与组成概述,运算器的功能:首要功能是完成数据的算术和逻辑运算。由ALU实现:给出运算结果和结果的某些特征。第二项功能是暂存运算数据和中间结果。由通用寄存器实现:区别于专用寄存器。第三

19、项功能是用硬件完成乘除指令运算。由乘商寄存器实现:能自行左右移位(专用)。第四项功能是作为处理机内传送数据的通路。,2.4.1 运算器部件的功能与组成概述,运算器的控制与操作:正确地向运算器提供控制信号,解决正确向运算器提供参加运算数据的种种问题。给出正确的数据来源何正确的控制信号,运算器就执行规定的操作功能。在计算机整机运行过程中,运算器用到的控制信号是由计算机的控制器部件提供的。,2.4.2 位片结构的运算器芯片Am2901,Am2901的内部组成Am2901的控制与操作,2.4.3 教学计算机运算器的设计与实现,Am2901的管脚信号8位教学机的运算器部件的主体部分的设计与实现16位教学

20、机的运算器部件的主体部分的设计与实现教学机的运算器部件的辅助组成部分的设计与实现运算器的控制与操作,2.4.4 教学计算机的运算器使用实例,8位教学机的运算器部件实验16位教学机的运算器部件实验,2.5 浮点运算与浮点运算器,浮点运算器是主要用于对计算机内的浮点数进行运算的部件。浮点数通常由阶码和尾数两部分组成,阶码是正数形式,尾数是定点小数形式,执行的操作不相同。浮点运算器总是由处理阶码和处理尾数的两部分逻辑线路组成。,2.5.1 浮点数的运算规则,*浮点数形式:X=MX*2EX*MX为浮点数的尾数,一般为小于1的规格化的二进 制小数,机器中多用原码(或补码)形式表示。*EX为浮点数的阶码,

21、一般为二进制整数,机器中多用移码(或补码)形式表示,给出的是一个指数的幂,其底数常用2,8或16。,2.5.1 浮点数的运算规则,浮点加减法的运算步骤:X=Mx*2Ex,Y=My*2Ey对阶操作:比较两个浮点数阶码的大小。尾数加(减)运算。规格化处理。舍入操作:“0”舍“1”入或最低位置“1”。判断结果的正确性:检查阶码是否溢出。,2.5.1 浮点数的运算规则,浮点乘除法的运算步骤:两个浮点数相乘,其乘积的阶码为相乘两数阶码之和,其尾数为相乘两数尾数之积。两个浮点数相除,商的阶码为被除数阶码减去除数阶码之差,其尾数为被除数尾数除以除数之商。乘除运算都可能出现结果溢出,或结果不满足规格化的问题,

22、浮点数运算也有精度处理要求。,2.5.1 浮点数的运算规则,浮点乘除法的运算步骤(续)浮点数的阶码运算 移码运算:X移+Y移=2n+X+Y移 移码补码运算:X移+Y补=X+Y移 X移+-Y补=X-Y移浮点数的尾数处理 截断处理:无条件去掉某些位。舍入处理:按规则(例:P.124)修正尾数。注意原码运算与补码运算的区别。,2.5.1 浮点数的运算规则,有关浮点数运算和浮点运算器的一点补充说明阶码的底为8或16的情况浮点运算器的移位电路,2.5.2 浮点运算器举例,*以Intel 80287浮点协处理器为例讨论浮点运算器的组成和运行方式。80287的性能及内部结构80287的指令举例80286与80287的连接及协同运行问题,本章小结,二进制编码、数制转换,定点小数和整数的原、反、补码表示。检错纠错码概念、三种常用的检错纠错码的实现原理。定点小数、整数、浮点数在计算机中的表示、补码加减法的运算规则、一位乘除法的实现算法。定点运算器的功能和组成、控制和操作方法。,序号,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号