版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8086最小模式地址锁存器时钟发生器8086的内部结构执行部件(EU)总线接口部件(BIU)标志运算寄存器ALUDSSSES输入/输出控制电路IPCS内部暂存器20位地址加法16位指令队列缓冲器8位16位CHDHDISPBPSIBHAHDLCLALBL通用寄存器123456外部总线执行部分控制电路标志寄存器FR1514131211109876543210OFDFIFTFSFZFAFPFCF状态标志方向标志中断允标志陷阱标志控制标志进位标志奇偶标志半进位标志零标志符号标志溢出标志有进位则为1结果为零则为1结果为负则为1有溢出则为17.1无符号数和有符号数7.1.1无符号数
计算机中的数均放在寄存器中,通常称寄存器的位数为机器字长。在机器字长相同时,无符号数与有符号数所对应的数值范围是不同的。以机器字长为16位为例,无符号数的表示范围为0~65535,而有符号数的表示范围为-32768~+32767
(此数值对应补码表示,详见7.1.2节)。第七章(1)运算方法和运算器7.1.2有符号数1.机器数与真值
对有符号数而言,符号的“正”、“负”机器是无法识别的,但由于“正”、“负”恰好是两种截然不同的状态,如果用“0”表示“正”,用“1”表示“负”,这样符号也被数字化了,并且规定将它放在有效数字的前面,即组成了有符号数。2.原码表示法
原码是机器数中最简单的一种表示形式,符号位为0表示正数,符号位为1表示负数,数值位即真值的绝对值。第七章(1)运算方法和运算器3.补码表示法
(1)补数的概念
在日常生活中,常会遇到“补数”的概念。例如,时钟指示6点,欲使它指示3点,既可按顺对针方向将时针转9个点,又可按逆时针方向将时针转3个点,结果是一致的。假设顺时针方向转为正,逆时针方向转为负,则有66-3+9315第七章(一)运算方法和运算器3.补码表示法
(2)补码的定义
整数补码的定义为X2n+1>X≥0[X]补={2n+1+X0>X≥-2n
式中,x为真值,n为整数的位数。第七章(一)运算方法和运算器4.反码表示法
反码通常用来作为由原码求补码或者由补码求原码的中间过渡。反码的定义如下:
整数反码的定义为0,X2n>X≥0[X]反={
(2n+1-1)+X0≥X>-2nmod(2n+1-1))
式中,x为真值,n为整数的位数。
第七章(1)运算方法和运算器
5.移码表示法
当真值用补码表示时,由于符号位和数值部分一起编码,与习惯上的表示法不同,因此人们很难从补码的形式上直接判断其真值的大小,例如:
十进制数x=21,
对应的二进制数为+10101,则[x]补=0,10101
十进制数x=-21,对应的二进制数为-10101,则[x]补=1,01011
十进制数x=31,
对应的二进制数为+11111,则[x]补=0,11111
十进制数x=-31,对应的二进制数为-11111,则[x]补=1,00001第七章(1)运算方法和运算器
7.2.1定点表示
小数点固定在某一位置的数为定点数,有以下两种格式第七章(1)运算方法和运算器
7.2.2浮点表示
太阳的质量2×1033g,它们都不能直接用定点小数或定点整数表示,但均可用浮点数表示。浮点数即小数点的位置可以浮动的数,如352.47=3.5247×102=3524.7×10-1=0.35247×103
通常,浮点数被表示成N=S×rj
式中,S为尾数(可正可负),j为阶码(可正可负),r是基数(或基值)。在计算机中,基数可取2、8或16等。第七章(1)运算方法和运算器
1.浮点数的表示形式
浮点数在机器中的形式如下所示:采用这种数据格式的机器称为浮点机。第七章(1)运算方法和运算器
2.浮点数的表示范围
以通式N=S×rj为例,设浮点数阶码的数值位取m位,尾数的数值位取n位,当浮点数为非规格化数时,它在数轴上的表示范围如图7.2所示:第七章(1)运算方法和运算器
3.浮点数的规格化
为了提高浮点数的精度,其尾数必须为规格化数。如果不是规格化数,就要通过修改阶码并同时左右移尾数的办法,使其变成规格化数。将非规格化数转换成规格化数的过程称为规格化。对于基数不同的浮点数,因其规格化数的形式不同,规格化过程也不同。第七章(1)运算方法和运算器
7.2.3定点数和浮点数的比较
定点数和浮点数可从如下几个方面进行比较。
①当浮点机和定点机中数的位数相同时,浮点数的表示范围比定点数的大得多。
②当浮点数为规格化数时,其相对精度远比定点数高。
③浮点数运算要分阶码部分和尾数部分,而且运算结果都要求规格化,故浮点运算步骤比定点运算步骤多,运算速度比定点运算的低,运算线路比定点运算的复杂。
④在溢出的判断方法上,浮点数是对规格化数的阶码进行判断,而定点数是对数值本身进行判断。例如,小数定点机中的数,其绝对值必须小于1,否则“溢出”,此时要求机器停止运算,进行处理。为了防止溢出,上机前必须选择比例因子,这个工作比较麻烦,给编程带来不便。而浮点数的表示范围远比定点数大,仅当“上溢"时机器才停止运算。故一般不必考虑比例因子的选择。第七章(1)运算方法和运算器
7.3定点运算定点运算包括移位、加、减、乘、除几种。
7.3.1移位运算移位的意义计算机中小数点的位置是事先约定的,因此,二进制表示的机器数在相对于小数点作n位左移或右移时,其实质就是该数乘以或除以2n(n=1,2,…,n)。移位运算称为移位操作,对计算机来说,有很大的实用价值。例如,当某计算机没有乘(除)法运算线路时,可以采用移位和加法相结合,实现乘(除)运算。计算机中机器数的字长往往是固定的,当机器数左移n位或右移n位时,必然会使其n位低位或n位高位出现空位。那么,对空出的空位应该添补0还是1呢?这与机器数采用有符号数还是无符号数有关。对无符号数的移位称为逻辑移位,对有符号数的移位称为算术移位。第七章(1)运算方法和运算器
7.3.1移位运算2.算术移位的重要特点:①机器数为正时,不论是左移还是右移,添补代码均为0。
②由于负数的原码数值部分与真值相同,故在移位时只要使符号位不变,其空位均添0即可。
③由于负数的反码各位除符号位外与负数的原码正好相反,故移位后所添的代码应与原码相反,即全部添1。
④分析任意负数的补码可发现,当对其由低位向高位找到第一个“1”时,在此“1”左边的各位均与对应的反码相同,而在此“1”右边的各位(包括此“1”在内)均与对应的原码相同。故负数的补码左移时,因空位出现在低位,则添补的代码与原码相同,即添0;右移时因空位出现在高位,则添补的代码应与反码相同,即添1。第七章(1)运算方法和运算器
7.3.1移位运算3.算术移位和逻辑移位的区别有符号数的移位称为算术移位,无符号数的移位称为逻辑移位。逻辑移位的规则是:逻辑左移时,高位移丢,低位添0;逻辑右移时,低位移丢,高位添0。第七章(1)运算方法和运算器
7.3.2加法与减法运算
加减法运算是计算机中最基本的运算,因减法运算可看做被减数加上一个减数的负值,即:A-B=A+(-B),故在此将机器中的减法运算和加法运算合在一起讨论。1.补码加减运算的基本公式
补码加法的基本公式如下:
整数[A]补+[B]补=[A+B]补(mod2n+1)
小数[A]补+[B]补=[A+B]补(mod2)
现代计算机中都采用补码作加减法运算。第七章(1)运算方法和运算器
7.3.3乘法运算
在计算机中,乘法运算是一种很重要的运算,有的机器由硬件乘法器直接完成乘法运算,有的机器内没有乘法器,但可以按机器作乘法运算的方法,用软件编程实现:因此,学习乘法运算方法不仅有助于乘法器的设计,也有助于乘法编程。
下面从分析笔算乘法人手,介绍机器中用到的几种乘法运算方法。1.分析笔算乘法2.笔算乘法的改进3.原码乘法第七章(1)运算方法和运算器
笔算乘法的改进A×B=A×0.1011=0.1A+0.00A+0.001A+0.0001A=0.1A+0.00A+0.001(A+0.1A)=0.1A+0.01[0A+0.1(A+0.1A)]=0.1{A+0.1[0A+0.1(A+0.1A)]}=2-1{A+2-1[0A+2-1(A+2-1A)]}=2-1{A+2-1[0A+2-1(A+2-1(A+0))]}第七章(1)运算方法和运算器
两数相乘的过程,可视为加法和移位(乘2-1相当于做一位右移)两种运算,这对计算机来说是非常容易实现的。从初始值为0开始,对式(6-14)做分步运算,则有:第一步:被乘数加零A+0=0.1101+0.0000=0.1101第二步:右移一位,得新的部分积2-1(A+0)=0.01101第三步:被乘数加部分积A+2-1(A+0)=0.1101+0.01101=1.00111第四步:右移一位,得新的部分积2-1[A+2-1(A+0)]=0.100111第五步:0×A+2-1[A+2-1(A+0)]=0.100111第六步:2-1{0×A+2-1[A+2-1(A+0)]}=0.0100111第七步:A+2-1{0×A+2-1[A+2-1(A+0)]}=1.0001111第八步:2-1{A+2-1[0×A+2-1(A+2-1(A+0))]}=0.10001111第七章(1)运算方法和运算器
7.3.4除法运算1.分析笔算除法
以小数为例进行计算,设x=-0.1011,y=0.1101,求x/y。
笔算除法时,商的符号心算而得:负正得负。其数值部分的运算如下面的竖式所示。
(在黑板上演示)
所以x/y的商=-0.1101.余数=0.00000111第七章(1)运算方法和运算器
7.4.1浮点加减运算浮点数加减运算必须按以下几步进行:
①对阶,使两数的小数点位置对齐。
②尾数求和,将对阶后的两尾数按定点加减运算规则求和(差)。
③规格化,为增加有效数字的位数,提高运算精度,必须将求和(差)后的尾数规格化。
④舍入,为提高精度,要考虑尾数右移时丢失的数值位。
⑤溢出判断,即判断结果是否溢出。第七章(1)运算方法和运算器
7.4.2浮点乘除法运算
两个浮点数相乘,乘积的阶码应为相乘两数的阶码之和,乘积的尾数应为相乘两数的尾数之积。两个浮点数相除,商的阶码为被除数的阶码减去除数的阶码,尾数为被除数的尾数除以除数的尾数所得的商,可用下式描述。
设两浮点数
:x=Sx·rjxy=Sy·rjy
则x·y=(Sx·Sy)×rjx+jyx/y=(Sx/Sy)·rjx-jy第七章(1)运算方法和运算器
7.4.3浮点运算所需的硬件配置
由于浮点运算分阶码和尾数两部分,因此浮点运算器的硬件配置比定点运算器的复杂。分析浮点四则运算发现,对于阶码只有加减运算,对于尾数则有加、减、乘、除四种运算。第七章(1)运算方法和运算器
7.5算术逻辑单元
针对每一种算术运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 连续发酵技术原理与应用
- 培训班课件教学课件
- 培训主持人课件串词
- 园林绿化安全生产培训
- 口腔用药常识培训课件
- 华阳煤矿安全知识培训课件
- Unit 10 Is she a driver 第一课时(Part A、B、C)表格式公开课一等奖创新教学设计
- 分析室安全培训记录内容课件
- 道路工程材料课件 水泥混凝土组成设计实例
- 2025 小学一年级数学下册 20 以内退位减法算理课件
- 2026国企综合基础知识题库(附答案)
- 王昭君课件教学课件
- 债权人合同范本
- 易错点2.2摩擦力(解析版)高考易错点解读和针对训练
- 2025至2030丝苗米市场行业发展趋势分析与未来投资战略咨询研究报告
- 2026年教师资格之中学教育知识与能力考试题库300道含答案(a卷)
- 2025仁怀市公共交通服务有限公司招聘招聘141人考试笔试备考试题及答案解析
- 2026年电商评价管理策略与产品口碑优化实操手册
- 《短视频制作与运营》教案 项目5 短视频剪辑 (剪映)
- 小学STEM综合活动教学设计方案
- 2023年和田地区直遴选考试真题汇编附答案解析
评论
0/150
提交评论