计算机组成原理辅导与实验_第1页
计算机组成原理辅导与实验_第2页
计算机组成原理辅导与实验_第3页
计算机组成原理辅导与实验_第4页
计算机组成原理辅导与实验_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE83典型例题精选选择题最早提出“存储程序”概念的是: 。 A.Babbage B.V·Neumann C.Pascal D.Bell 分析:目前大多数计算机都是根据冯·诺依曼计算机体系结构的思想来设计的,其主要特点是二进制和存储程序。答案:B.V·Neumann计算机的算术逻辑单元、控制单元及存储器合称为 。 A.CPU B.ALU C.主机 D.微处理器分析:一般将计算机中的控制器和存储器合称为主机,控制器包括有算术逻辑单元和控制单元。答案:C.主机完整的计算机系统应包括 。 A.运算器、控制器、存储器 B.外部设备和主机 C.主机和实用程序 D.软硬件系统分析:完整的计算机系统由计算机硬件和计算机软件组成。答案:D.软硬件系统用于科学计算的计算机中,标志系统性能的主要参数是___。主时钟频率主存容量MFLOPSMIPS分析:A和B越大有利于提高性能,但是并不是标志性能的主要参数,不同频率或者主存容量的计算机如果运行不同的程序,得到的性能并不一定是高频率或大主存的就一定好。MFLOPS是每秒执行百万条浮点指令条数(Million

Float

Instruction

Per

Second),是用来描述计算机浮点性能的,而用于科学计算的计算机主要就是看重浮点的性能,故选C。MIPS是每秒执行百万条指令条数(Million

Instruction

Per

Second),是用来描述一般的计算机系统性能的,并不同于专用于科学计算的评价标准。答案:C.MFLOPS填空题1812年,计算机之父 首先提出了整个计算机过程自动化的概念,设计了第一台通用自动时序控制机械式计算机。 分析:1812年,Babbage首先提出了整个计算机过程自动化的概念,并应用此概念设计制作了第一台通用自动时序控制机械式计算机,被称为计算机之父。答案:Babbage 年美国研制成功世界上第一台电子数字计算机 。 分析:第一台电子数字计算机是1946年在美国研制成功,命名为ENIAC。答案:1946年,ENIAC按用途分,数字计算机可分为 和 两类。根据体积、功耗、规模和价格因素,又可分为 、 、 、 、 和 。分析:按用途分,数字计算机可分为通用计算机和专用计算机两类。按体积、功耗、规模和价格因素分,可分为巨型机,大型机,中型机,小型机,微型机,单片机。答案:通用计算机,专用计算机,巨型机,大型机,中型机,小型机,微型机,单片机存储器可分为主存和 。程序必须存储在 内,CPU才能执行其中的指令。分析:存储器可分为主存和辅存,CPU运行时,是从主存中逐条取出程序指令,顺序执行。答案:辅存,主存简答题衡量计算机的性能指标主要有哪些(答主要三项指标)?并说明为什么? 分析:衡量计算机的性能指标有很多,最基本的就是反映计算机运算性能的指标,所以本题答案不唯一。 答案:衡量计算机性能的指标主要有:运算速度,存储容量和通讯带宽。运算速度是反映CPU性能,也是反映计算机运算能力的主要指标之一。存储容量反映出计算机可以处理的数据量空间的大小。带宽反映出计算机处理信息的通讯能力。什么是存储程序原理? 分析:存储程序控制是冯·诺依曼结构的核心,现代计算机几乎都使用这种结构。答案:存储程序原理的基本思想是:计算机要自动完成解题任务。必须将事先设计好、用以描述计算机解题过程的程序如同数据一样,采用二进制形式存储在机器中,计算机在工作时自动高速地从机器中逐条取出指令加以执行。存储程序计算机硬件包含哪几部分? 分析:硬件是组成电子计算机的所有电子器件和机电装置的总称。硬件是构成计算机的物质基础,是计算机系统的核心。现代电子计算机均遵照存储程序计算机体系结构。根据存储程序计算机的五大功能,计算机硬件系统均由运算器、控制器、存储器、输入设备、输出设备以及将它们联接为有机整体的总线构成。 答案:存储程序计算机硬件包含运算器、控制器、存储器、输入设备、输出设备五大部分以及联接这五大部分的总线。练习题一、选择题冯·诺依曼(VonNeumann)机工作方式的基本特点是 。A.指令流单数据流B.按地址访问并顺序执行指令C.堆栈操作D.存储器按内容选择地址下列描述中 是正确的。A.控制器能够识别、解释和执行所有的指令及存储结果B.计算机主要由输入输出单元、控制器、存储器和算术逻辑单元构成C.所有的数据运算都在控制器中完成D.以上三者都正确计算机系统中的存储器系统是指 。A.RAM存储器; B.ROM存储器;C.主存储器; D.主存储器和外存储器。计算机科技文献中,英文缩写CAI代表 。A.计算机辅助制造 B.计算机辅助教学C.计算机辅助设计 D.计算机辅助管理能够被计算机硬件直接识别的语言是 。A.汇编语言 B.高级语言 C.机器语言 D.应用语言计算机软件分为两大类,他们是 。A.操作系统与应用软件B.操作系统与系统软件C.操作系统与CAD软件D.系统软件与应用软件完整的计算机系统是由 组成的。A.主机与外设 B.CPU与存储C.ALU与控制器 D.硬件系统与软件系统高级语言源程序不能直接在计算机上运行,需要有相应的语言处理程序翻译成 程序后才能运行。A.C语言 B.汇编语言 C.机器语言 D.宏汇编语言当前设计高性能计算机的重要技术途径是___。A.提高CPU主频B.扩大主存容量C.采用非冯·诺依曼结构D.采用并行处理技术下列体系结构中,最适合多个任务并行执行的体系结构是___。A.流水线向量机结构B.堆栈处理机结构C.共享存储多处理机结构D.分布存储多计算机结构二、填空题电子计算机从诞生至今,按其工艺和器件特点,大致经历了四代。第一代从 A 年开始,采用 B;第二代从 C年开始,采用 D ;第三代从 E年开始,采用 F;第四代从 G 年开始,采用 H 。计算机的硬件是指 A,软件是指 B。计算机将部分软件存储在只读存储器中,称之为 A 。将许多电子元件集成在一块芯片上称为 A 。系统软件是 A,应用软件是 B,操作系统是 C。数据库是 A,数据库管理系统是 B。计算机系统结构的发展和演变看,早期的计算机是以 A为中心的系统结构,而近代的计算机是以 B为中心的系统结构。在下列常用术语后面,写出相应的中文名称:VLSI__A___MPP___B___RISC____C__DMA___D__在由n台计算机构成的并行计算机中,其运行程序的加速比一般都小于n,其主要原因是___A__和__B____。在计算机系统当中,根据应用条件和硬件资源的不同,数据传输方式可以采用A___传送、B__传送和C___传送三种方式。为了使计算机能够直接处理十进制形式的数据,采用A___形式和B___形式两种表示形式。前者主要用在C___计算的应用领域。字符信息是_A__数据,属于处理B___领域的问题。国际上采用的字符系统是七单位的C___码。三、问答题冯·诺依曼计算机体系的基本思想是什么?按此思想设计的计算机硬件系统应由哪些部件组成?计算机的系统软件和应用软件的作用是什么?试说明冯·诺依曼计算机结构的特点。计算机一般有哪些分类方法?试说明计算机的层次结构。简述计算机的工作特点。练习题题解一、选择题1.B2.B 3.D 4.B 5.C6.A7.D8.C9.D10.D二、填空题A.1946 B.电子管、声汞延迟线、磁鼓C.1955 D.分立晶体管、铁淦氧磁芯、磁盘E.1965 F.SSI电路和MSI电路G.1971 H.LSI电路和VLSI电路、半导体存储器A.计算机中的电子线路和物理装置B.描述解决问题的方法、思想和过程的程序和数据A.固件A.集成电路A.用于实现计算机系统的管理、调度、监视和服务等功能的程序,其目的是方便用户,提高计算机使用效率,扩充系统的功能B.用户为解决某种应用问题而编制的一些程序C.为提高计算机利用率,方便用户使用计算机以及提高计算机响应时间而配备的一种软件A.计算机存储设备上存放的相互关联的数据的集合B.操作和管理数据库的一种软件A.运算器B.主存储器A.Very

Large

Scale

Integration

超大规模集成电路B.Massively

Parallel

Processing大规模并行处理机C.Reduced

Instruction

Set

Computing简化指令系统计算机D.Direct

Memory

Access直接存储器访问A.程序中有不能并行的串行计算部分存在通信开销10.A.并行B.串行C.复用11.A.字符串B.压缩的十进制数C.非数值12.A.符号B.非数值C.ASCII三、问答题根据冯·诺依曼计算机体系结构来设计的计算机具有共同的基本配置,即具有五大部件:输入设备、存储器(主存储器)、运算器、控制器和输出设备。运算器与控制器合称为中央处理器(CPU)。CPU和存储器通常组装在一个主板上,合称为主机。输入设备和输出设备统称输入/输出设备,有时也称为外部设备或外围设备。系统软件用于实现计算机系统的管理、调度、监视和服务等功能,其目的是方便用户,提高计算机使用效率,扩充系统的功能。通常将系统软件分为以下六类:操作系统、语言处理程序、标准库程序、服务性程序、数据库管理系统和计算机网络软件。应用软件是用户为解决某种应用问题而编制的程序,如科学计算程序、自动控制程序、工程设计程序、数据处理程序、情报检索程序等。随着计算机的广泛应用,应用软件的种类及数量将越来越多、越来越庞大。近年来,计算机系统的结构和制造技术发生了极大的变化。但是,就计算机最基本的原理而言,大都沿用冯·诺依曼结构。冯·诺依曼结构的主要特点是主要特点是二进制和存储程序原理。按信息的表示形式和处理方式分类,可分为数字计算机、模拟计算机和混合计算机。按用途分类,可分为通用计算机和专用计算机。按规模分类,可分为巨型机、大型机、中型机、小型机、微型机和单片机等。按使用方式分类,可分为工作站和服务器。现代计算机系统可分为五个层次级别:第一级是微程序设计级。这是一个实在的硬件级,它由机器硬件直接执行微指令。第二级是一般机器级,也称为机器语言级。由微程序解释机器指令系统。属硬件级。第三级是操作系统级,它由操作系统程序实现。这一级也称为混合级。第四级是汇编语言级。这一级由汇编程序支持和执行。第五级是高级语言级。这是面向用户的,这一级由各种高级语言编译程序支持。层次结构的特点是上层是下层功能的扩展,下层是上层的基础。另外,站在不同的层次观察计算机系统,会得到不同的概念。层次的划分不是绝对的。机器指令系统级与操作系统级的界面,又称硬、软件交界面,常常是分不清的,它随着软件硬化和硬件软化而动态变化。操作系统和其他系统软件的界面,也不是很清楚的,例如,数据库软件也部分地起到了操作系统的作用。此外,某些常用的带有应用性质的程序,既可以划归为应用程序层,也可以划归为系统软件层。计算机的工作特点为:运算速度快、运算精度高、记忆功能强、通用性广、自动运算。典型例题精选例2.1某机器字长16位,采用两位比较法进行补码乘法运算,此时并行加法器应该是 位加法器,应该进行 次相加移位操作。分析:采用两位比较法进行补码乘法运算,设被乘数为[X]补=X0.X1X2…Xn,乘数为[Y]补=Y0.Y1Y2…Yn,两者的乘积为[Z]补=Z0.Z1Z2…Zn,部分积与被乘数必须采用两位符号位才能保证运算正确,注意,由于乘数只用一位符号位,Booth乘法只需作n+1步乘法。解:正确答案为:17,16.例2.2多项选择:在下面每小题所列出的若干答案中,选取所有的正确答案(可能没有,也可以有一个或多个)。补码加法规则如下:所有的操作数都用补码表示,结果也用补码表示。若两数同号做加法,异号则做减法。符号位和操作数一样参与运算。结果的符号为1,表示溢出。分析:补码加(减)法运算规则可归纳如下:参与运算的操作数用补码表示;符号位采用两位,即用变形补码表示;符号位作为数的一部分一起参与运算;运算结果以补码表示,若两符号位相同,结果正常,若符号位为01,表示正溢出,若符号位为10,表示负溢出。解:正确答案为:A,C例2.3单选:某浮点机,采用规格化浮点数表示,阶码用移码表示(最高位代表符号位),尾数用原码表示。下列哪个数的表示不是规格化浮点数。A.阶码:1111111 尾数:1.1000……00B.阶码:0011111 尾数:1.0111……01C.阶码:1000001 尾数:0.1111……01D.阶码:0111111 尾数:0.1000……10分析:因为规格化的浮点数,尾数有三种形式: 00.1xx……x (原码、补码、反码都是正数的形式) 11.0xx……x (补码、反码都是负数的形式) 11.1xx……x (原码是负数的形式)选择项B不符合规格化的形式。解:正确答案是:B。例2.4设32位字长的浮点数,其中阶符1位,阶码7位,数符1位,尾23位。分别写出机器数采用原码和补码表示时,所对应的最接近0的十进制负数。分析:计算机中的数据表示是二进制形式,本题中使用的32位浮点数据表示,阶码共8位,尾数共24位。求最接近0的十进制负数的浮点表示就是数据表示中最大的负数,即绝对值最小的负数。此时,该数的阶码为负,且绝对值最大;该数的尾数为负,且绝对值最小。注意尾数不能为0。由于原码可以表示正0与负0,当机器采用n位原码数据表示时,定点小数的表示范围为:-(1-21–n)~(1-21–n);定点整数的表示范围为:-(2n–1-1)~(2n–1-1)。而补码表示0的形式是唯一的,其负数表示的数据比原码表示的数据多一个。当机器采用n位补码数据表示时,定点小数的表示范围为:-1~(1-21–n);定点整数的表示范围为:(-2n–1)~(2n–1-1)。采用原码数据表示时,最接近0的负数的阶码为-(27-1)=-127,尾数为-2–23。采用补码数据表示时,最接近0的负数的阶码为-128,尾数为-2-23。最后需要将该数以科学计数法表示出来即可。解:最接近0的十进制负数的浮点表示就是数据表示中最大的负数,即绝对值最小的负数。阶码为8位(含1位符号位),尾数为24位(含1位符号位)。采用原码数据表示时,阶码为-127,尾数为-2–23。该数为-2–23×2–127。采用补码数据表示时,阶码为-128,尾数为-2–23。该数为-2–23×2–128。例2.5用32位表示一个数,阶码部分占8位(含一位符号位),尾数部分占24位(含一位符号位)。设x1=-256.5,x2=127/256,试写出x1和x2的补码浮点数表示格式。解:(1)x1=-256.5=-100000000.12=-29×0.1000000001 阶码的补码为 [+9]补=00001001 尾数 1.01111111110000000000000(规格化补码)浮点表示的格式为00001001,1.01111111110000000000000用十六进制表示的格式为 09BFE00016(2)x2=127/256=(1111111)2×2-8=2-1×0.1111111 阶码的补码为 (-1)补=11111111 尾数 0.11111110000000000000000(规格化补码)浮点表示的格式为11111111,0.11111110000000000000000用十六进制表示的格式为(FF7F0000)16例2.6某机字长32位,浮点表示时,指数部分(即阶码)占8位(含一位符号位),尾数部分占24位(含一位符号位),问带符号定点小数的最大表示范围是多少?带符号定点整数的最大表示范围是多少?浮点表示时,最大正数是多少?浮点表示时,最大负数是多少?浮点表示时,最小的规格化正数是多少?分析:采用补码表示时,可表示的数据范围最大。因此本题可用补码来求解。带符号的定点小数通常就是浮点数。浮点数据表示阶码占8位,尾数占24位,各包含一位符号位。此时阶码的表示范围为:-128~127;尾数的表示范围为:-1~1-2–23。带符号的定点整数其符号位1位,其余位均用来表示数据。此时的表示范围为:-231~231-1。浮点表示时,最大正数为阶码最大,尾数最大的正数。最大负数为阶码最小,尾数最小的负数。采用规格化数据表示时要注意尾数必须保证大于等于0.5,小于1。因此,浮点表示时,最小的规格化正数阶码最小,尾数最小为0.5。解:采用补码进行数据表示的范围最大。整数表示时符号位1位,数据位31位。浮点表示时,阶码占8位,尾数占24位,各包含一位符号位。因此:带符号定点小数的最大表示范围为:-1×2127~(1-2-23)×2127带符号定点整数的最大表示范围为:-231~231-1。浮点表示时,最大正数为:(1-2-23)×2浮点表示时,最大负数为:-2-23×2-128。浮点表示时,最小的规格化正数为:0.5×2-128。例2.7已知浮点数运算的中间结果如下: 阶码1010尾数10011101其中,阶码是4位补码。问如果尾数是8位原码,求其规格化的浮点数的形式。如果尾数是8位补码,求其规格化的浮点数的形式。解:(1)尾数为8位原码,最高位M-1=0,不是规格化表示形式。所以尾数左移2位,尾数低位补0,阶码减2,由1010变为1000,变换后的规格化浮点数的形式是:100011110100(2)尾数为8位补码,尾数的最高位与其符号位正好相反,这表明已经是规格化浮点数的形式。例2.8设阶码8位(包括一位符号位),用移码表示,尾数为24位(包括一位符号位),用规格化补码表示,则它所能表示的最大正数的阶码为A,尾数为B;绝对值最小的负数的阶码为C,尾数为D。分析:题目的关键是搞懂阶码是定点整数的移码表示,而尾数是定点小数的补码表示,其中的补码和移码的表示法一定要非常清楚。阶码和补码在形式上的唯一区别就是在表示同一个数时符号刚好相反。解:最大正数阶码:11111111(最左符号位,要最大当然阶码要大),尾数当然也要最大,为0111

11111

11111

11111。绝对值最小的负数即是最大的负数,所以要阶码最达到负数的最小,绝对值的最大(即远离数轴原点的最左端),为00000000,而尾数应该达到负数的最大(即最靠近数轴原点的左端),为1011

11111

11111

11111(这里注意其中的0是因为题目规定要用规格化数表示,这点很重要,否则就是1111

11111

11111

11111)例2.9试证明[x]补十[y]补=[x十y]补(mod2)分析:由于定点整数和定点小数的补码公式不同.因此,对于题中要求的补码加法公式的证明应该区分是定点小数情况还是定点整数情况。这里证明补码加法公式用于定点小数的情况(mod2)。因为是定点小数加法,所以有|xI<1,|y|<1,且|x+yI<1。证明所需要的理论基础是定点小数补码的定义,即表2.6补码加法公式证明的几种情况XYX︱Y1=0=0=02>0>0>03>0<0>0或<04<0>0>0或<05<0<0<0由于补码的定义对于正数和负数是不同的,因此,证明该公式时亦应区分不同的情况进行,见表2.6。证明:设x,y为定点小数,且x十y亦为定点小数,故|xI<1,|y|<1,且|x+yI<1。(4)当x<0,y>0时,证明同(3)。讨论:该题证明是针对定点小数进行的,补码加法公式对定点整数也同样适用。补码公式的证明题目类型有很多种,一定要注意弄清证明的条件(如该例题中x,y为定点小数.即有|xI<1,lyI<1,lx十y|<1,以及证明可用的理论基础。补码定义和其他补码公式均可用作证明的理论基础。例2.10试证明[–y]补=–[y]补。 证明:方法一由补码加法公式得故 [–y]补=–[y]补方法二利用补码加法公式,[0]补=0,得[y]补+[–y]补=[y+(-y)]补=[y-y]补=[0]补=0即 [–y]补=–[y]补 讨论: [–y]补=–[y]补是一个非常重要的公式。对于定点整数和定点小数均适用,[–y]补的含义是将[y]补的各位(包括符号位)全部求反,末位加“1”。例2.11已知x=一0.0101B,y=一0.0111B,试用补码运算求x十y,x-y的值。解:[x]补=1.1011 [-y]补=0.0111 [y]补=-[-y]补=1.1001 [x]补 = 1.1011 [x]补 = 1.1011 + [y]补 = 1.1001 + [-y]补 = 0.0111 [x+y]补 =11.0100 [x-y]补 =10.0010 已超出模值,丢掉故 x+y=-0.1B x–y=0.001B讨论:在做加法运算时,先求出两个加数的补码,利用公式[x]补十[y]补=[x十y]补完成加法运算。在做减法运算时,先求出被减数和减数相反数的补码,利用公式[x]补十[–y]补=[x–y]补将减法转换成加法来完成。补码加法运算,符号位相加产生的进位需丢掉,产生的和即为结果的符号位。若x>o,则[x]原=[x]反=[x]补。若x<o,则求[x]补常用的方法有:先求出[x]原,[x]原符号位不变,数值位各位取反即得[x]反;[x]反末位加1即为[x]补。先求[-x]补,然后利用公式[-x]补=一[x]补,求出[x]补=一[-x]补。一[x]补的含意是[x]补的各位(包括符号位在内)全变反,末位加1。先求出[x]原,在[x]原的各位中,从右向左找出第一个“1”,包括该“1”在内的以右各位不变.以左各位(不包括符号位)取反即得[x]补。补码求真值的方法:首先判断数的正负,若为正数,则[x]原=[x]补,若为负数则对[x]补再求补一次即得[x]原。[x]原符号位0→十,1→一,即得x的二进制值。例2.12用补码运算完成下列各题.并讨论结果是否正确(1)己知x=一0.1001B,y=一0.1011B,求[x+y]补;(2)已知x=1000010B,y=一1001101B,求[x-y]补两个负数相加,和亦为负数。可 一个正数减去一个负数结果应是运算结果却为正数.表明溢出。所 为正数。可是运算结果却为负数,表以结果不正确。 明溢出,所以结果不正确。讨论:在定点计算机中,计算机的字长是固定的,因此所能表示的数据范围也就确定了。例如,在n位定点补码运算的机器中,其整数的取值范围是-2n-1~2n-1-1。当运算结果超出了定点数所能表示的数据范围时,就产生溢出。溢出是一种错误,CPU用中断进行处理。若运算结果小于机器所能表示的最小负数,则称负溢或下溢。若运算结果大于机器所能表示的最大正数.则称正溢或上溢。该例题中运用了符号位比较法判断运算结果是否溢出。下面具体说明符号位比较法的判溢方法。两个异号数相加或两个同号数相减决不会产生溢出;仅当两个同号数相加或两个异号数相减时,才有可能产生溢出。两同号数相加时,如果结果的符号与参加运算的操作数符号相反,则表明有溢出。出错的原因是相加后,最高数值位向符号位产生了进位,使结果的符号变反。两异号数相减实际上是转换为两个同号数相加来计算的.因而加减法的溢出判断可统一为逻辑表达式式中An、Bn、Sn分别为相加的两个操作数的符号位和结果的符号位,v为溢出标志位。当v=1时溢出,当v=0时无溢出。该式表示两同号数相加,若所得结果与该两数异号.则表明发生了溢出(此时v=1)。例2.13已知机器字长n=8位,x=44,y=53,求x+y=?解x=00101100y=00110101[x]补=00101100[y]补=00110101[x]补=00101100+[y]补=00110101[x+y]补=01100001(x+y)2=+1100001x+y=97例2.14已知机器字长n=8位,x=-44,y=-53,求x-y=?解x=-00101100y=-00110101[x]补=11010100[-y]补=00110101[x]补=11010100+[-y]补=00110101[x-y]补=100001001已超出模值,丢掉(x-y)2=+0001001x-y=+9例2.15已知x=0.1011,y=0.0111,求x+y=?解 用双符号位法: 用单符号位法: [x]补=00.1011[y]补=00.0111 [x]补=0.1011[y]补=0.0111[x]补=00.1011 [x]补 0.1011+[y]补=00.0111 + [y]补 0.0111[x+y]补=01.0010 [x+y]补 1.0010两符号位为01,表示出现正向溢出 Cn⊕Cn-1=0⊕1=1 溢出例2.16已知x=-0.1011,y=0.0111,求x-y=?解 用双符号位法: 用单符号位法:[x]补=11.0101[-y]补=11.1001 [x]补=1.0101[-y]补=1.1001[x]补=11.0101 [x]补 1.0101+[-y]补=11.1001 + [-y]补 1.1001[x-y]补=110.1110 [x-y]补 10.1110已超出模值,丢掉两符号位为10,表示出现负向溢出 Cn⊕Cn-1=1⊕0=1 溢出讨论:双符号位法、单符号位法以及符号位比较法是常用的溢出检测方法。符号位比较法在前面的例题中已经讨论过了,这里详细说明双符号位法和单符号位法。双符号依法也称模4补码法或变形补码法。操作数补码的符号位双写即构成变形补码,用“00”表示正数,“11”表示负数,双符号位分别称为高位符号位和低位符号位,两个符号位同时参加运算。运算后,若结果的两个符号位相同(00,11),则没有发生溢出;否则,表明产生了溢出。此时高位符号位表明结果的正负。双符号位为“10”表示负溢(下溢),说明运算结果为负,且小于定点数所能表示的最小负数。双符号位为“01”,表示正溢(上溢),说明运算结果为正,且大于定点数所能表示的最大正数。若运算结果的双符号位为sn+1s可用异或门实现该逻辑表达式。单符号位法也称为利用进位值的判断方法。判断的规则是,设cn-1为最高数值位向符号位产生的进位,Cn为符号位运算产生的进位。当两补码数进行加减运算(减法转化为加法进行)时.若Cn-1=1,而cn=0.则发生正溢;若cn-1=0,Cn=1,则发生负溢。溢出逻辑表达式为该式亦可用异或门实现。在定点计算机中,当运算结果发生溢出时,机器可以通过溢出逻辑电路自动检查出这种错误,并进行中断处理。例2.17已知x=-0.1101y=-0.1011用原码一位乘法求:(x×y)原=?分析:原码一位乘法运算规则:①被乘数和乘数均取绝对值参加运算,符号位单独考虑。②被乘数取双符号,部分积的长度与被乘数的长度相同,初值为0。③从乘数的最低位的yn位开始对乘数进行判断,若yn=1,则部分积加上被乘数|x|,然后右移一位;若yn=0,则部分积加上0,然后右移一位。重复③判断n次。积的符号Pf=xf⊕yf。解|x|=00.1101(用双符号表示)|y|=0.1011(用单符号表示)部分积乘数yn说明00.00000.1011+00.1101yn=1加|x|00.110100.011010.101右移一位得P1+00.1101yn=1加|x|01.00111+00.1001110.10右移一位得P200.0000yn=0加000.10011100.01001110.1右移一位得P3+00.1101yn=1加|x|01.000111100.100011110右移一位得P4由于Pf=xf⊕yf=1⊕1=0|P|=|x|.|y|=0.10001111所以(x×y)原=0.10001111例2.18x=-0.1101,y=0.1011,用补码一位乘法求[x×y]补=?分析:补码一位乘法运算规则如下:符号位参与运算,运算的数均以补码表示。被乘数一般取双符号位参加运算,部分积初值为0。乘数末位增设附加位yn+1,且初值为0。从低到高依次判断相邻两位ynyn-1的状态,按(00:部分积右移一位;01:部分积加[x]补,右移一位;10:部分积加[-x]补,右移一位;11:部分积右移一位)的规则进行操作。按照上述算法进行n+1步操作,第n+1步不移位,根据y0与y1的比较结果作相应的运算即可。补码移位规则,部分积为正,右移时有效位最高位补0;为负时最高位补1。解[x]补=11.0011,[-x]补=00.1101(用双符号表示)[y]补=0.1011(用单符号表示)部分积乘数ynyn+1说明 00.00000.10110+ 00.1101 ynyn+1=10,加[-x]补 00.1101 00.011010.1011 右移一位得P1 00.0011010.101 ynyn+1=11,右移一位得P2+ 11.0011 ynyn+1=01,加[x]补 11.011001 11.10110010.10 右移一位得P3+ 00.1101 ynyn+1=10,加[-x]补 00.1000001 00.010000010.1 右移一位得P4+ 11.0011 ynyn+1=01,加[x]补 11.01110001 最后一步不移位即[x×y]补=1.01110001讨论: 补码一位乘法算法对于定点整数的定点小数均适用,差别是最后一步的处理不同,即定点小数运算,最后一步不移位,末位补0;定点整数运算,最后一步同样右移一次,这样做的目的是构成2n位乘积。补码一位乘法每次根据乘数相邻的两位比较运算,处理一位乘数,因而速度慢。为了提高乘法运算速度,可采用补码二位乘法。例2.19x=–0.1101,y=0.0110,用补码二位乘法求[x×y]补=?分析:Yn-1YnYn+1操作000001010011100101110111加0,右移两位加[x]补,右移两位加[x]补,右移两位加2[x]补,右移两位加2[-x]补,右移两位加[-x]补,右移两位加[-x]补,右移两位加0,右移两位补码两位乘法的运算规则为:①符号位参加运算,两数均用补码表示。②部分积与被乘数均采用三位符号表示,乘数末位增加一位Yn+1,其初值为0。③按右表所示的操作。④若尾数n为偶数,则乘数用双符号,最后一步不移位;若尾数n为奇数,则乘数用单符号,最后一步移一位。解:[x]补=111.0011,2[-x]补=001.1010,2[x]补=110.0110(用三符号表示)[y]补=00.0110(用双符号表示)部分积乘数yn+1说明 000.000000.01100+ 001.1010yn-1ynyn+1=100,加2[-x]补 001.1010 000.01101000.011右移两位+ 110.0110yn-1ynyn+1=011,加2[x]补 110.110010 111.1011001000.0右移两位yn-1ynyn+1=000最后一步不移位故[x×y]补=1.10110010例2.20x=-0.011,y=-0.011,用补码二位乘法求[x×y]补=?解[x]补=111.101,[-x]补=000.011(用三符号表示)[y]补=1.101(用单符号表示)部分积乘数yn+1说明 000.0001.1010+ 111.101 yn-1ynyn+1=010,加[x]补 111.101 111.111011.10 右移两位+ 000.011 yn-1ynyn+1=110,加[-x]补 000.01001 000.001001 最后一步移一位故[x×y]补=0.001001 讨论: 补码二位乘法每次根据乘数相邻的三位比较运算,处理二位乘数,一次求出对应于该两位乘数的部分积。操作中出了加2[x]补,减2[x]补的操作等,可能因溢出而侵占双符号位的最高位,所以部分积和被乘数均采用三个符号位参与运算。例2.21x=-0.1101,y=0.0110,用原码二位乘法求[x×y]原=?分析:Yn-1ynC操作000001010011100101110111加0,右移两位,0→C加x,右移两位,0→C加x,右移两位,0→C加2x,右移两位,0→C加2x,右移两位,0→C减x,右移两位,1→C减x,右移两位,1→C加0,右移两位,1→C原码两位乘法的运算规则为:①符号位不参加运算,最后的符号Pf=xfyf。②③按右表所示的操作。④若尾数n为偶数,则乘数用双符号,最后一步不移位;若尾数n为奇数,则乘数用单符号,最后一步移一位。解:|x|=000.1101,2|x|=001.1010(用三符号表示)|y|=00.0110(用双符号表示)部分积乘数C说明 000.000000.01100+ 001.1010 yn-1ynC=100,加2|x| 001.1010 000.01101000.010 右移两位,0→C+ 000.1101 yn-1ynC=010,加|x| 001.001110 000.0100111000.0 右移两位,0→C yn-1ynC=000,最后一步不移位故 [x×y]原=0.01001110例2.22已知x=-0.1001,y=-0.1011用原码加减交替法求(x/y)原=?分析:原码加减交替法(不恢复余数法)运算规则为:符号位不参加运算,并要求|x|<|y|;先用被除数减去除数,当余数为正时,商上1,余数左移一位,再减去除数;当余数为负时,商上0,余数左移一位,再加上除数。当第n+1步余数为负时,需加上|y|得到第n+1步正确的余数,最后的余数为rn×2-n(余数与被除数同号)。商的符号Qf=xfyf解:|x|=00.1001|y|=00.1011[-|y|]补=11.0101(用双符号表示)被除数x/余数r商数q说明00.1001+(-|y|)补11.0101减去除数11.11100余数为负商上011.11000r和q左移一位+(|y|)补00.1011加上除数00.01110.1余数为正商上100.11100.1r和q左移一位+(-|y|)补11.0101减去除数00.00110.11余数为正商上100.01100.11r和q左移一位+(-|y|)补11.0101减去除数11.10110.110余数为负商上011.01100.110r和q左移一位+(|y|)补00.1011加上除数00.00010.1101余数为正商上1Qf=xf⊕yf=1⊕1=0(x/y)原=0.1101余数r原=1.0001×2-4(余数与被除数同号)。例2.23x=-0.1001,y=0.1011,用补码一位除法求[x/y]补=?分析:补码一位除法运算规则由比较上商规则、商的校正规则和余数校正规则组成:比较上商规则:①符号位参加运算,除数与被除数均用双符号补码表示。②若被除数与除数同号,用被除数减去除数得余数;若被除数与除数异号,用被除数加上除数得余数。③若余数与除数同号,商上1,余数和商左移一位,将余数减去除数得新余数;若余数与除数异号,商上0,余数和商左移一位,将余数加上除数得新余数。④重复规则(n+1)次,最后一步不移位,除法完成。商的校正规则:①若除尽(即运算过程中任一步余数为0),则除数为正,商不必校正;除数为负,商加2-n进行修正。②若除不尽,则商为正时,不必校正;商为负,则商需要加2-n进行修正。余数校正规则:①若商为正,则余数与被除数异号时,将余数加上除数得正确的余数。②若商为负,则余数与被除数异号时,余数需要减去除数进行校正。余数之所以需要校正,是因为在补码不恢复余数除法运算过程中先比较后上商的缘故。可见,如果要保存余数必须根据具体情况对余数作相应处理,否则余数不一定正确。解:[x]补=11.0111,[y]补=00.1011 [-y]补=11.0101(用双符号表示)被除数x/余数r商数q说明11.0111+[y]补00.1011x和y异号,[x]补+[y]补00.00101余数与y同号,商上100.01001r和q左移一位+[-y]补11.0101减去除数11.10011.0余数与y异号,商上011.00101.0r和q左移一位+[y]补00.1011加上除数11.11011.00余数与y异号,商上011.10101.00r和q左移一位+[y]补00.1011加上除数00.01011.001余数与y同号,商上100.10101.001r和q左移一位+[-y]补11.0101减去除数11.11111.0010余数与y异号,商上0不能除尽,商为负,故需校正:[x/y]补=1.0010+0.0001=1.0011余数与被除数同号,则不需校正:余数[r]补=1.1111×2-4(余数与被除数同号)。例2.24设数的阶码3位,尾数6位(不包括符号位),试按机器的浮点运算步骤计算[X±Y]补。X=2-011×0.100101,Y=2-010×0.011101解(1)求[X+Y]补两数以补码表示如下: [X]补=11101,00.100101[Y]补=11110,00.011101对阶: [△E]补=[EX]补-[EY]补=11101+00010=11111△E=-1,EX<EY,X的尾数应右移1次。得[X]补=11110,00.010011 (0舍1入)尾数求和[X+Y]补=11110,00.110000规格化:求和之后得到的数为已经是规格化了的数,即得[X+Y]补=11110,00.110000溢出检测:运算结果阶码的双符号位相同,结果无溢出。(2)求[X-Y]补对阶过程同(1)尾数相减 [X]补=00.010011 [Y]补=00.011101[–Y]补=11.100011 [X]补 00.010011 +[–Y]补 11.100011[X-Y]补 11.110110规格化 由于所得的数不是规格化数,故需将尾数左移2位,阶码减2,得[X-Y]补=11100,11.011000④溢出检测:运算结果阶码的双符号位相同,结果无溢出。 讨论:参与运算的浮点数如果为非规格化数,则应先进行规格化,再运算。浮点数运算的结果应该表示成规格化数。这样做的主要目的是使尾数表示尽可能多的有效数字,从而提高数的表示精度。在运算时,阶码和尾数通常采用双符号位进行运算,便于溢出检测和规格化。双符号位运算时,高位符号运算产生的进位要丢掉。补码的双符号位形式即符号位双写。练习题一、选择题在机器数 中,零的表示形式是唯一的。 A.原码 B.补码 C.补码和反码 D.原码和反码若浮点数格式为1位阶符、6位阶码、1位数符、8位尾数,则浮点数所能表示的数的范围是 。 说明:负数用2的补码表示,尾数部分没有规格化的情况也在考虑范围之内。 A.–263~(1–2–8)×263 B.–263~(1–2–7)×C.–264~(1–2–8)×264 D.–264~(1–2–7)×若浮点数用补码表示,则判断运算结果是否为规格化数的方法是 。 A.阶符与数符相同为规格化数 B.阶符与数符相异为规格化数 C.数符与尾数小数点后第1位数字相异为规格化数 D.数符与尾数小数点后第1位数字相同为规格化数原码加减法是指 。 A.操作数用原码表示,连同符号位直接相加减 B.操作数用原码表示,尾数直接相加减,符号位单独处理 C.操作数用原码表示,根据两数符号决定实际操作,符号位单独处理 D.操作数取绝对值,直接相加减,符号位单独处理补码加减法是指 。 A.操作数用补码表示,两数尾数相加减,符号位单独处理,减法用加法代替 B.操作数用补码表示,符号位与尾数一起参加运算,结果的符号与加减相同 C.操作数用补码表示,连同符号位直接相加减,减某数用加负某数的补码代替,结果的符号在运算中形成 D.操作数用补码表示,由数符决定两尾数的操作,符号位单独处理若一个数的编码是10000111,它的真值为+7,则该编码是 。A.原码B.反码C.补码D.移码n+1位定点整数补码的范围为 。A.-2n~2n-1B.-2n+1~2n-1C.-2n+1~2n-1D.-2n-1~2n-1运算器的主要功能是进行 。 A.逻辑运算 B.算术运算 C.逻辑运算与算术运算 D.初等函数运算运算器由许多部件组成,其核心部分是 。 A.数据总线 B.算术逻辑运算单元 C.多路开关 D.累加寄存器在定点二进制运算器中,减法运算一般通过 来实现。 A.原码运算的二进制减法器 B.补码运算的二进制减法器 C.补码运算的十进制加法器D.补码运算的二进制加法器计算机内进行加/减法运算时常采用 。A.ASCII码B.原码C.反码D.补码计算机内常采用 作为字符编码。A.ASCII码B.原码C.反码D.补码补码运算的特点是符号位 。A.与数值位分别进行运算B.与数值位一起参与运算C.要舍去D.表示溢出原码一位乘法中符号位 。A.与数值位分别进行运算B.与数值位一起参与运算C.表示进位D.表示溢出在原码加减交替除法中,当余数为负时的算法为 。A.商1,余数左移一位,加除数B.商1,余数左移一位,减除数C.商0,余数左移一位,加除数D.商0,余数左移一位,减除数采用原码一位乘法运算时,结果的符号可由两数的符号位进行 得到。A.逻辑加B.逻辑乘C.异或D.与非运算有关算术右移中,说法正确的是 。A.数据右移1位,最高位用0补充B.数据右移1位,最高位用1补充C.数据右移1位,最高位用原最低位补充D.数据右移1位,最高位用原最高位补充有关逻辑右移中,说法正确的是 。A.数据右移1位,最高位用0补充B.数据右移1位,最高位用1补充C.数据右移1位,最高位用原最低位补充D.数据右移1位,最高位用原最高位补充加/减法器做减法运算使用的方法是 。A.用减法器实现被减数减去减数B.从被减数中减去减数后求反C.将减法转化为补码的加法运算D.根据减数形式选择一种适当的方法关于浮点数加减法以下论述正确的是 。A.对阶时较小的数进行左移B.对阶时小阶向大阶对齐C.对阶时大阶向小阶对齐D.对阶时较大的数进行左移若寄存器中存放的是数据的 ,则经过一次算术右移操作后,结果相当于原来的数除以2。A.原码B.反码C.补码D.无符号数二、填空题8位补码定点整数所能表示的绝对值最大的负数(即最负的数)为 A 。8位二进制补码表示的最小值为A,最大值为B。二进制数X的真值为-0.1101B,其原码表示为A,补码表示位B,反码表示为C。补码一位乘法运算法则通过判断乘数最未位yn和补充位yn+1的值决定下一步操作,当ynyn+1= A 时,执行部分积加[-x]补,再右移一位,当ynyn+1= B 时,执行部分积加[x]补,再右移一位。在浮点加法运算中,主要的操作内容及步骤是 A 、 B 、 C 。完成浮点加法或减法时,需要进行对阶、求和、规格化和舍入等步骤,在对阶时,使 A阶向 B阶看齐,使小阶的尾数向 C 移位,每 D 移一位,其阶码加1,直到两数的阶码相等为止。两个用n+1位(包括符号位)原码表示的数,在机器中作一位乘法运算时,需要重复进行 A次 B操作和 C 操作,才能得到最后乘积,而符号位需要D 。浮点数的编码表示通常由A和B两部分组成。浮点数中尾数用补码表示时,其规格化的特征是A。ASCII码用A个二进制位表示,共有B种字符。变形补码判断溢出的条件是 A 。运算器的基本功能是实现 A 和 B 运算。运算器组成除了加法器外,还应有 A 、 B 、 C 、 D 和 E 。现代计算机的运算器一般通过总线结构来组织。按其总线数不同,大体有 A 、 B 和 C 三种形式。其中 D 操作速度慢, E 操作速度最快。内部总线是指 A 内部连接各逻辑部件的一组 B ,它用 C 或 D 来实现。浮点运算器由 A 和 B 组成,它们都是 C 运算器。 D 只要求能执行 E 运算,而 F 要求能进行 G 运算。采用双符号位的方法进行溢出检测时,若运算结果中两个符号位A则表明发生了溢出。若结果的符号位为B时,表示发生正溢出;为C时,表示发生负溢出。在减法运算中,正数减A数可能产生溢出,此时的溢出为B溢出;负数减C数可能产生溢出,此时的溢出为D溢出。原码一位乘法中,符号位与数值位A,运算结果的符号位等于B。原码加减交替除法的算法中,当余数为正时,商为A,余数B一位,C除数。机器码1.0000在原码表示法中表示为A,在反码表示法中表示为B;在补码表示法中,表示为C。十六进制数(3A.4)的二进制形式为A,八进制形式为B,十进制形式为C。变形补码形式中,判断是否溢出的条件是A。移码表示法的主要用途是:表示_A__数的阶码E,以便于比较两个_B__的大小和__C_操作。三、计算题把十进制数x=(+128.75)×2-10写成浮点表示的机器数,阶码、尾数分别用原码、反码和补码表示。设阶码4位,阶符1位,尾数5位,尾数符号1位。设用补码表示二进制浮点数,其阶符1位,阶码2位,尾数5位(包含1位符号位)。试算出:最大正数是多少?最小正数是多少?最大负数是多少?最小负数是多少?注:零除外,用十进制表示结果。写出下列各数的原码、反码、补码、移码。(1)+1011001(2)-1000101(3)+0.01011已知 (1) x=0.11001,y=0.00111 (2)x=0.11001,y=-0.10111 试采用单符号位求[x+y]补,并指出结果是否溢出。已知 (1)x=-0.0100,y=0.1001 (2)x=-0.1011,y=-0.1010用补码运算方法求x–y,并指出结果是否溢出。已知x=+0.1101,y=-0.1011。试用原码一位乘法求x×y并估算乘法总时间。已知x=0.1010,y=-0.0110。试用补码一位乘法步骤计算x×y并估算乘法总时间。已知x=0.10110,y=0.11111,试用原码加减交替法计算x÷y并估算除法总时间。设有两个十进制数:x=-0.875×21,y=0.625×22。将x,y的尾数转换为二进制补码形式。设阶码2位,阶符1位,数符1位,尾数3位。通过补码运算规则求出z=x–y的二进制浮点规格化结果。将十进制数-0.276和47化成二进制数,再写出各自的原码、补码、反码表示(符号位和数值位共8位)。判断下面的二元码的编码系统是有权码还是无权码,写出判断的推导过程。十进制数二元码的编码0

00001

01112

01103

01014

01005

10116

10107

10018

10009

1111用补码运算方法计算X+Y=?并判断结果是否溢出(采用双符号位)。X=0.1011Y=0.1100X=—0.1011Y=0.1001把下面给出的几个十进制的数化成二进制的数(无法精确表示时,小数点后取3位)、八进制的数、十六进制的数:

7+3/4,-23/64,27.5,-125.9375,5.43把下面给出的几种不同进制(以下标形式给出在右括号之后)的数化成十进制的数:

(1010.0101)2,-(101101111.101)2,(23.47)8,-(1A3C.D)完成下面几个二进制的数的算术运算:1010.111+0101.101,1010.111-0101.101,

1110×0101,10111101/1101写出下面2组数的原、反、补码表示,并用补码计算每组数的和、差。双符号位的作用是什么?它只出现在什么电路之处?X=0.1101,Y=-0.0111X=10111101,Y=-00101011假定X=0.0110011×211,Y=0.1101101×2-10(此处的数均为二进制),浮点数阶码用4位移码、尾数用8位原码表示(含1位符号位),写出该浮点数能表示的绝对值最大、最小的(正数和负数)数值;写出X,Y的正确的浮点数表示计算X+Y计算X×Y18.设有两个十进制数:x=-0.875×21,y=0.625×22。将x,y的尾数转换为二进制补码形式。设阶码2位,阶符1位,数符1位,尾数3位。通过补码运算规则求出x-y的二进制浮点规格化结果。四、问答题“8421码就是二进制数”。这种说法对吗?为什么?如何识别浮点数的正负?浮点数能表示的数值范围和数值的精确度取决于什么?何为定点溢出?给出判别定点溢出的两种方法。计算机中为什么使用二进制来表示数据?试述加/减法器如何实现减法运算。补码运算的特点是什么?简述采用双符号位检测溢出的方法。简述浮点运算中溢出的处理方法。为什么说并行加法器的进位信号是同时产生的?浮点数的阶码选用移码表示有何优点?浮点数表示中的隐藏位技术作用是什么?在什么时刻完成对隐藏位的处理?浮点数表示中,当尾数选用补码表示时,如何表示十进制的—0.5,才满足规格化表示的要求。回答奇偶校验码的用途是什么?写出下面几个二进制数的奇/偶校验码的值:0101011111010100练习题题解一、选择题1.B 2.B 3.C 4.C 5.C 6.D 7.A 8.C 9.B 10.D11.D 12.A 13.B 14.A 15.C 16.C 17.D 18.A 19.C 20.B21.C二、填空题A.-128A.-128(或10000000)B.127(或01111111)A.1.1101B.1.0011C.A.10B.01A.对阶B.求和C.规格化A.小 B.大 C.右 D.右A.n B.加法 C.右移 D.单独处理A.阶码B.尾数A.符号位与尾数最高位相反A.7B.128A.结果的两个符号位不同A.算术B.逻辑A.数据寄存器 B.移位器C.条件码寄存器 D.数据选择器E.数据总线A.单总线结构 B.双总线结构C.三总线结构 D.单总线E.三总线A.CPU B.数据传输线C.三态缓冲门 D.多路开关A.阶码运算器 B.尾数运算器C.定点 D.阶码运算器E.加、减法F.尾数运算器G.加、减、乘、除A.不相同B.01C.A.负B.正C.正D.负A.分开运算B.被乘数与乘数的符号位异或A.1B.左移C.加A.负0B.-0.1111C.A.00111010.0100B.072.2C.58.2523.A.看两符号位是否相异24.A.浮点B.指数C.对阶三、计算题x=(+128.75)×2-10 [x]原=100100100000001100000 [x]原=111010100000001100000 [x]原=111100100000001100000 阶阶数尾 符码符数(1)最大正数值为+7.5 (2)最小正数值为+1/128 (3)最大负数值为-1/128 (4)最小负数值为-7.5(1)[+1011001]原=01011001,[+1011001]反=01011001,[+1011001]补=01011001,[+1011001]移=11011001(2)[-1000101]原=11000101,[-1000101]反=10111010,[-1000101]补=10111011,[-1000101]移=00111011(3)[+0.01011]原=0.1001,[+0.01011]反=0.1001,[+0.01011]补=0.1001,定点小数没有移码定义(1) [x]补=0.11001 + [y]补=0.00111 [x+y]补=1.00000 因为最高有效位有进位,符号位无进位,所以结果有溢出。 (2) [x]补=0.11001 + [y]补=1.01001 [x+y]补=0.00010 因为最高有效位与符号位均有进位,所以结果无溢出。(1)由于 [x]补=11.1100 [-y]补=11.0111 [x-y]补=11.0011 所以 x-y=-0.1101 (2) 由于 [x]补=11.0101 + [-y]补=00.1010 [x-y]补=11.1111 所以 x-y=-0.0001符号位单独处理,乘积符号位=01=1,尾数绝对值相乘。由[x]原=0.1101,[y]原=1.1011 部分积 乘数y 说明 00.0000 yf 1011 z0=0 + 00.1101 y4=1,+x 00.1101 → 00.0110 1yf 101 右移,得z1 + 00.1101 y3=1,+x 01.0011 → 00.1001 11yf 10 右移,得z2 + 00.0000 y2=0,+0 00.1001 → 00.0100 111yf 1 右移,得z3 + 00.1101 y1=1,+x 01.0001 → 00.1000 1111yf 右移,得z4 得 |x·y|=|z4|=0.10001111xfyf=01=1 所以 x·y=-0.10001111 乘法操作总时间为:tm=n(ta+tr)=4(ta+tr) 其中,ta为加法器执行一次加法操作的时间,tr为执行一次移位操作的时间,n为尾数位数。 如果加法操作和移位操作同时进行,则tr一项可省去。由 [x]补=00.1010, [-x]补=11.0110, [y]补=11.1010 部分积 乘数y 说明 00.0000 1.10100 yn+1=0 + 00.0000 ynyn+1=00,+[0] 00.0000 → 00.0000 011010 右移一位 + 11.0110 ynyn+1=10,+[-x]补 11.0110 → 11.1011 001101 右移一位 + 00.1010 ynyn+1=01,+[x]补 00.0101 → 00.0010 100110 右移一位 + 11.0110 ynyn+1=10,+[-x]补 11.1000 → 11.1100 010011 右移一位 + 00.0000 ynyn+1=11,+[0]补 11.1100 0100 最后一步不移位 得 [x·y]补=1.11000100 所以 x·y=-0.00111100 执行补码一位乘

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论