《计算机组成原理》3.6运算器的组成
4901061《计算机组成原理》(周建敏)414-9答案
第1章计算机系统概论1.简答题(1)计算机硬件包括哪些基本功能部件?为什么要有这些部件?答:计算机的最基本的功能部件是运算器、存储器、控制器、输入单元和输出单元。
计算机的基本功能就是存储和处理外部世界的信息并在需要的时候向外界提供这些信息。
为了完成这些基本功能,要求计算机能够自动地输入信息、输出信息、存储信息以及处理信息。
计算机的基本部件就是根据这些要求设置的,分别用一个部件完成上述个功能,完后用一个控制器实现上述功能的自动化。
(2)简述现代计算机常用的三级存储体系。
答:CPU能按存储单元地址直接访问主存(内存);增加高速缓存(Cache)的目的是为了提高速度,解决CPU与主存之间速度不匹配的矛盾;增加辅存(外存)的目的是弥补主存容量的不足。
(3)运算器中有哪些寄存器?答:运算器中有存放操作数和运算结果的寄存器,包括移位寄存器和若干通用寄存器。
(4)计算机软件有哪些类型?答:计算机软件一般可分为系统软件和应用软件两类。
系统软件是整个计算机系统的一部分,为用户操作计算机以及应用软件的运行提供一个方便的界面。
主要的系统软件有两类,一类是操作系统软件,负责计算机系统的运行控制;另一类是对程序设计语音进行处理的软件,包括编译程序解释程序、汇编程序等。
应用软件是完成用户所需功能的软件,专门为解决某文字处理软件、游戏软件等都属于应用软件。
(5)为什么说计算机的硬件和软件在功能上是等价的?答:因为计算机系统绝大部分硬件的功能可以用软件实现,软件的功能也可以用硬件来实现。
例如,浮点运算功能,早期的计算机中没有浮点运算部件,在这些计管机中实现浮点数据的运算是靠软件进行,现在计算机中都采用了硬件浮点运算部件。
可见计算机功能的这两种实现在逻辑上是等效的,其区别在于速度、成本、可靠性、存储容量、变更周期等因素。
2.改错题(1)现在的数字计算机系统的硬件都是由超大规模集成电路以及机电一体的外围设备构成的。
(2)运算器可以对数据进行算术运算和逻辑运算。
《计算机组成原理》各章练习参考答案
《计算机组成原理》各章练习题参考答案第一章思考练习题一.填空1.电子数字计算机可以分为专用计算机和通用计算机两类。
2.硬件采用LSI或VLSI的电子计算机属于计算机发展过程中的第四代。
3.存储器中存放数据和程序。
4.一台计算机包括运算、存储、控制、输入及输出五个单元。
5.完成算术运算和逻辑运算的部件是运算器(或ALU);运算器的核心是加法器;控制、指挥程序和数据的输入、运行以及处理运算结果的部件是控制器。
6.CPU内部连接各寄存器及运算部件之间的总线是内部总线;CPU同存储器、通道等互相连接的总线是系统总线;中、低速I/O设备之间互相连接的总线是I/O总线。
7.在多总路线结构中,CPU总线、系统总线和高速总线相连通过桥实现。
8.计算机软件一般分为系统软件和应用软件。
9.完整的计算机系统由硬件系统和软件系统构成。
10.机器字长是指一台计算机一次所能够处理的二进制位数量。
11.数据分类、统计、分析属于计算机在数据处理方面的应用。
12.计算机是一种信息处理机,它最能准确地反映计算机的主要功能。
13.个人台式商用机属于微型机。
14.对计算机软硬件进行管理,是操作系统的功能。
15.用于科学技术的计算机中,标志系统性能的主要参数是MFLOPS。
16.通用计算机又可以分为超级机、大型机、服务器、工作站、微型机和单片机六类。
17.“存储程序控制”原理是冯.诺依曼提出的。
18.运算器和控制器构成CPU,CPU和主存构成主机。
19.取指令所用的时间叫取指周期,执行指令所用的时间叫执行周期。
20.每个存储单元都有一个编号,该编号称为地址。
21.现代计算机存储系统一般由高速缓存、主存和辅存构成。
22.计算机能够自动完成运算或处理过程的基础是存储程序和程序控制原理。
二.单选1.存储器用来存放( C )。
A.数据B.程序C.数据和程序D.正在被执行的数据和程序2.下面的描述中,正确的是( B )A.控制器能够理解、解释并执行所有的指令及存储结果。
计算机组成原理数据通路实验报告
计算机组成原理数据通路实验报告计算机组成原理实验报告计算机组成原理实验报告实验一基本运算器实验一、实验目的1. 了解运算器的组成结构2. 掌握运算器的工作原理3. 深刻理解运算器的控制信号二、实验设备PC机一台、TD-CMA实验系统一套三、实验原理1. (思考题)运算器的组成包括算数逻辑运算单元ALU(Arithmetic and Logic Unit)、浮点运算单元FPU(Floating Point Unit)、通用寄存器组、专用寄存器组。
①算术逻辑运算单元ALU (Arithmetic and Logic Unit)ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。
在某些CPU中还有专门用于处理移位操作的移位器。
通常ALU由两个输入端和一个输出端。
整数单元有时也称为IEU(IntegerExecution Unit)。
我们通常所说的“CPU 是XX位的”就是指ALU所能处理的数据的位数。
②浮点运算单元FPU(Floating Point Unit)FPU主要负责浮点运算和高精度整数运算。
有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元。
③通用寄存器组通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。
④专用寄存器专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。
而运算器内部有三个独立运算部件,分别为算术、逻辑和移位运算部件,逻辑运算部件由逻辑门构成,而后面又有专门的算术运算部件设计实验。
下图为运算器内部原理构造图2. 运算器的控制信号实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。
T4由时序单元的TS4提供(脉冲信号),其余控制信号均由CON单元的二进制数据开关模拟给出。
控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。
计算机组成原理中的运算器与控制器
计算机组成原理中的运算器与控制器计算机组成原理是计算机科学与技术中的重要课程,它涉及到计算机内部各个组成部分的结构和工作方式。
在计算机组成原理中,运算器与控制器是其中两个核心模块,它们负责处理和控制计算机的数据和指令。
本文将对计算机组成原理中的运算器与控制器进行探讨。
一、运算器运算器是计算机的核心部件之一,它负责执行各种算术和逻辑运算。
运算器通常由算术逻辑单元(ALU)、累加寄存器(AC)和数据缓冲寄存器(DR)等组成。
算术逻辑单元是运算器中的关键部件,它能够执行四则运算和逻辑运算等操作。
累加寄存器用于存储运算结果,数据缓冲寄存器则用于暂时存放需要进行运算的数据。
在运算器中,ALU起到了核心的作用。
它能够对两个二进制数进行加减乘除等运算,还可以执行与、或、非、异或等逻辑运算。
ALU内部通常包含了多个逻辑门和触发器,通过这些基本逻辑电路可以实现各种算术和逻辑运算。
运算器还通过高速缓存和数据通路等技术手段来提高数据访问速度和运算效率。
二、控制器控制器是计算机硬件中的另一个重要组成部分,它负责控制各个部件之间的协调工作,以确保计算机按照用户的指令正确地执行操作。
控制器通常由指令寄存器(IR)、程序计数器(PC)、时钟电路和控制逻辑等组成。
指令寄存器用于存放当前正在执行的指令,程序计数器则用于存放下一条需要执行的指令地址。
时钟电路提供了固定的时序脉冲,控制逻辑根据时钟信号的变化来进行相应的控制操作。
控制器的工作过程通常分为指令获取、指令译码和执行三个阶段。
在指令获取阶段,控制器从内存中获取指令并存放到指令寄存器中;在指令译码阶段,控制器对指令进行解码,确定下一步的操作;在执行阶段,控制器根据指令的要求控制其他部件进行相应的操作,包括数据的读取、运算的执行和结果的存储等。
通过这些阶段的协调工作,控制器能够完成计算机的指令执行过程。
三、运算器与控制器的协作运算器和控制器在计算机组成原理中密切合作,彼此之间进行数据和控制信号的传递,以完成计算机的各种运算任务。
《计算机组成原理》3.6运算器的组成
由外部送来的三位控制码I2I1I0控制R、S的多路选择器选择输入。 运算器中有1个16×4位的通用寄存器组和一个4位的Q寄存器。 ALU给出的四个状态信息。 RAM3、RAM0、Q3、Q0:移位寄存器接收与送出移位数值的引线 运算器的四位输出为Y3~Y0,它可以是ALU的运算结果,也可以
整理课件
3.6.2 浮点运算器
由于浮点运算中阶码运算与尾数运算分别进行,因此 浮点运算部件应包括尾数部件和阶码部件两个部分。
整理课件
实现四则运算的浮点运算器
整理课件
尾数运算部件
进行尾数的加减乘除运算。 由寄存器R0、R1、MQ及并行加法器Fm组成。 R0、R1:暂存操作数。其中R0也称为累加器,用于存 放运算结果。 MQ:乘商寄存器 用于进行乘除运算,R0、MQ具有联合左移、右移的功 能,实现方法与定点乘、除法器相类似。 R1具有右 移功能,以实现对阶移位。
3.6 运算器组成
3.6.1定点运算器
1.基本结构
运算器结构的基本组成部分:包括ALU、寄存器、多 路开关、标志/状态触发器、移位器和数据总线等基 本逻辑部件。
运算器设计主要是围绕着ALU和寄存器同数据总线之 间如何传送操作数和运算结果而进行的。
整理课件
(1)单总线结构运算器
整理课件
(2)双总线结构运算器
Q /2→ Q 2Q→ Q
整理课件
Y 输出 F F A F F F F F
例:给出实现指令R0+R1→M的控制信号。
解: 选择R0:A地址=0000; 选择R1:B地址=0001; R=A,S=B:I2I1I0=001; R+S:I5I4I3=000; 输出运算结果F(Y=F):I8I7I6=001
计算机组成原理(薛胜军)课后习题答案第三版(1)
1. 1计算机是一种能自动地、高速地对各种数字化信息进行运算处理的电子设备。
1. 2冯诺依曼计算机体系结构的基本思想是存储程序,也就是将用指令序列描述的解题程序与原始数据一起存储到计算机中。
计算机只要一启动,就能自动地取出一条条指令并执行之,直至程序执行完毕,得到计算结果为止。
按此思想设计的计算机硬件系统包含:运算器、控制器、存储器、输入设备和输出设备。
各部分的作用见教材:P10—P121. 3计算机的发展经历了四代。
第一代:见教材P1第二代:见教材P2第三代:见教材P2第四代:见教材P21.4系统软件定义见教材:P12—13,应用软件定义见教材:P121.5见教材:P14—151.6见教材:P111.7见教材:P6—81.8硬件定义见教材:P9软件定义见教材:P12固件定义见教材:P131.91)听觉、文字、图像、音频、视频2)图像、声音、压缩、解压、DSP1.10处理程度按从易到难是:文本→图形→图像→音频→视频第二章2.1各数的原码、反码、补码和移码见下表:2.227/64=00011011/01000000=0.0110110=0.11011×2-1规格化浮点表示为:[27/64]原=101,011011000[27/64]反=110,011011000[27/64]补=111,011011000同理:--27/64=--0.11011×2-1规格化浮点表示为:[27/64]原=101,111011000[27/64]反=110,100100111[27/64]补=111,1001010002.3 模为:29=10000000002.4 不对,8421码是十进制的编码2.5浮点数的正负看尾数的符号位是1还是0浮点数能表示的数值范围取决于阶码的大小。
浮点数数值的精确度取决于尾数的长度。
2.61)不一定有N1>N2 2)正确2.7 最大的正数:0111 01111111 十进制数:(1-2-7)×27最小的正数:1001 00000001 十进制数:2-7×2-7最大的负数:1001 11111111 十进制数:--2-7×2-7最小的负数:0111 10000001 十进制数:--(1-2-7)×272.81)[x]补=00.1101 [y]补=11.0010[x+y]补=[x]补+[y]补=11.1111无溢出x+y= -0.0001[x]补=00.1101 [--y]补=00.1110[x-y]补=[x]补+[--y]补=01.1011 正向溢出2)[x]补=11.0101 [y]补=00.1111[x+y]补=[x]补+[y]补=00.0100 无溢出x+y= 0.0100[x]补=11.0101 [--y]补=11.0001[x-y]补=[x]补+[--y]补=10.0110 负向溢出3) [x]补=11.0001 [y]补=11.0100[x+y]补=[x]补+[y]补=10.0101 负向溢出[x]补=11.0001 [--y]补=00.1100[x-y]补=[x]补+[--y]补=11.1101 无溢出X-y=-0.00112.91)原码一位乘法 |x|=00.1111 |y|=0.1110部分积乘数 y n00.0000 0.1110+00.000000.0000→00.00000 0.111+00.111100.11110→00.011110 0.11+00.111101.011010→00.1011010 0.1+00.111101.1010010→00.11010010P f=x f⊕y f=1 |p|=|x|×|y|=0.11010010所以[x×y]原=1.11010010补码一位乘法 [x]补=11.0001 [y]补=0.1110 [--x]补=11.0001 部分积 y n y n+100.0000 0.11100→00.00000 0.1110+00.111100.11110→00.011110 0.111→00.0011110 0.11→00.00011110 0.1+11.000111.00101110[x×y]补=11.001011102)原码一位乘法 |x|=00.110 |y|=0.010部分积乘数 y n00.000 0.010+00.00000.000→00.0000 0.01+00.11000.1100→00.01100 0.0+00.00000.01100 0→00.001100P f=x f⊕y f=0 |p|=|x|×|y|=0.001100所以[x×y]原=0.001100补码一位乘法 [x]补=11.010 [y]补=1.110 [--x]补=00.110部分积 y n y n+100.000 1.1100→00.0000 1.110+00.11000.1100→00.01100 1.11→00.001100 1.1所以[x×y]补=0.0011002.101)原码两位乘法 |x|=000.1011 |y|=00.0001 2|x|=001.0110部分积乘数 c000.0000 00.00010+000.1011000.1011→000.001011 0.000→000.00001011 00.0P f=x f⊕y f=1 |p|=|x|×|y|=0.00001011所以[x×y]原=1.00001011补码两位乘法 [x]补=000.1011 [y]补=11.1111 [--x]补=111.0101部分积乘数 y n+1000.0000 11.11110+111.0101111.0101→111.110101 11.111→111.11110101 11.1所以[x×y]补=111.11110101 x×y=--0.000010112)原码两位乘法 |x|=000.101 |y|=0.111 2|x|=001.010 [--|x| ]补=111.011 部分积乘数 c000.000 0.1110+111.011111.011→111.11011 0.11+001.010001.00011→000.100011P f=x⊕y f=0 |p|=|x|×|y|=0.100011所以[x×y]原=0.100011补码两位乘法 [x]补=111.011 [y]补=1.001 [--x]补=000.101 2[--x]补=001.010 部分积乘数 y n+1000.000 1.0010+111.011111.011→111.111011 1.00+001.010001.00011→000.100011所以[x×y]补=0.1000112.111) 原码不恢复余数法 |x|=00.1010 |y|=00.1101 [--|y| ]补=11.0011部分积商数00.1010+11.00111101101 0←11.1010+00.110100.0111 0.1←00.1110+11.001100.0001 0.11←00.0010+11.001111.0101 0.110←01.1010+00.110111.0111 0.1100+00.110100.0100所以[x/y]原=0.1100 余数[r]原=0.0100×2—4补码不恢复余数法 [x]补=00.1010 [y]补=00.1101 [--y]补=11.0011 部分积商数00.1010+11.001111.1101 0←11.1010+00.110100.0111 0.1←00.1110+11.001100.0001 0.11←00.0010+11.001111.0101 0.110←10.1010+00.110111.0111 0.1100+00.110100.0100所以[x/y]补=0.1100 余数[r]补=0.0100×2—42)原码不恢复余数法 |x|=00.101 |y|=00.110 [--|y| ]补=11.010 部分积商数00.101+11.01011.111 0←11.110+00.11000.100 0.1←01.000+11.01000.010 0.11←00.100+11.01011.110 0.110+00.11000. 100所以[x/y]原=1.110 余数[r]原=1.100×2—3补码不恢复余数法 [x]补=11.011 [y]补=00.110 [--y]补=11.010 部分积商数11.011+00.11000.001 1←00.010+11.01011.100 1.0←11.000+00.11011.110 1.00←11.100+00.11000.010 1.001+11.01011.100所以[x/y]补=1.001+2—3=1.010 余数[r]补=1.100×2—32.121)[x]补=21101×00.100100 [y]补=21110×11.100110小阶向大阶看齐: [x]补=21110×00.010010求和:[x+y]补=21110×(00.010010+11.100110)=21110×11.111000 [x-y]补=21110×(00.010010+00.011010)=21110×00.101100 规格化:[x+y]补=21011×11.000000 浮点表示:1011,11.000000规格化:[x-y]补=21110×00.101100 浮点表示:1110,0.101100 2)[x]补=20101×11.011110 [y]补=20100×00.010110小阶向大阶看齐:[y]补=20101×00.001011求和:[x+y]补=20101×(11.011110+00.001011)=20101×11.101001 [x-y]补=20101×(11.011110+11.110101)=20101×00.010011 规格化:[x+y]补=21010×11.010010 浮点表示:1010,11. 010010规格化:[x-y]补=21010×00.100110 浮点表示:1010,00.1001102.13见教材:P702.141)1.0001011×262)0.110111*×2-62.151)串行进位方式C1=G1+P1C0 G1=A1B1, P1=A1⊕B1C2=G2+P2C1 G2=A2B2, P2=A2⊕B2C3=G3+P3C2 G3=A3B3, P3=A3⊕B3C4=G4+P4C3 G4=A4B4, P4=A4⊕B42)并行进位方式C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0C4= G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C02.16参考教材P62 32位两重进位方式的ALU和32位三重进位方式的ALU 2.17第三章3.1见教材:P793.2 见教材:P833.3与SRAM相比,DRAM在电路组成上有以下不同之处:1)地址线的引脚一般只有一半,因此,增加了两根控制线RAS、CAS,分别控制接受行地址和列地址。
第3章运算方法和运算器讲义(计算机组成原理课件)
N → ½ 1 Cn 2A-B→ A 2C → C
A<0?
Y → ½ 0 Cn 2A+B→A 2C → C
CR+1→CR N
CR=n? Y A<0? N 1 → Cn XS⊕YS→ QS End Y 0→Cn A+B→A
24
原码不恢复余数法需要注意的问题:
(1) 在定点小数除法运算时,为了防止溢出,要求被除 数的绝对值小于除数的绝对值, |X|< |Y| ( |X|=|Y|除 外),且除数不能为0。 (2)在原码加减交替法中,当最终余数为负数时,必须 恢复一次余数,使之变为正余数,注意此时不需要再左移 了。
二、补码乘法
将此式展开,得到递推关系: [Z0]补=0 [Z1]补=2-1{[Z0]补+(yn+1-yn)[x]补} [Z2]补=2-1{[Z1]补+(yn-yn-1)[x]补} . . [Zn]补=2-1{[Zn-1]补+(y2-y1)[x]补} 从而得到: [x×y]补=[Zn]补+(y1-ys).[x]补 --------补码一位乘比较法
1.补码一位乘
• 用补码做加减运算很方便,做乘法(包括除法)却
是原码很方便,既然这样为何又有补码乘法呢?主 要为了避免频繁的码制转换。 被乘数x, [x]补=xs.x1…xn 乘数y, [y]补=ys.y1…yn • 校正法 ⑴ x任意,y>0时, [X×Y]补 = [Y]补× [Y]补 ⑵ x任意,y<0时, [X×Y]补 = [X]补× (0.y1…yn )+[-X]补
3
§3.3 定点乘法运算
X×Y=X×0.1011 =X×0.1+X×0.00+X×0.001+X×0.0001 =0.1{X+0.1[0+0.1(X+0.1×X)]} =2-1{X+2-1{0+2-1[X+2-1(X+0)]}} |X|×|Y| = |X|× (0.Y1Y2 … Yn )
运算器组成实验原理
运算器组成实验原理
运算器是计算机的关键部件之一,它负责执行各种数学和逻辑运算。
一个基本的运算器通常由算术逻辑单元(ALU)、控
制器和寄存器组成。
算术逻辑单元(ALU)是运算器的核心部件,它负责执行各
种算术和逻辑运算,如加法、减法、与、或等。
ALU通常由
一组逻辑门、加法器和寄存器组成。
逻辑门用于执行逻辑运算,如与门和或门可以实现与和或运算。
加法器用于执行加法运算,可以将两个二进制数相加并得到结果。
寄存器用于存储运算的中间结果或最终结果。
控制器是运算器的另一个重要组成部分,它负责调度和控制ALU的操作。
控制器根据指令和输入信号来确定ALU要执行
的操作,并将结果存储到相应的寄存器中。
控制器通常由逻辑电路和状态机组成,它可以根据不同的输入信号和状态来产生相应的控制信号。
寄存器是运算器中的存储设备,用于存储数据和中间结果。
寄存器可以存储一个或多个位的数据,并且可以通过地址进行读写操作。
在运算器中,寄存器主要用于存储操作数和结果。
运算器通常具有多个寄存器,以便同时执行多个运算。
总的来说,运算器的组成实验原理主要是基于逻辑门、加法器、寄存器和控制器的组合和控制。
通过合理的设计和控制,可以实现各种数学和逻辑运算,从而完成计算机的核心功能。
《计算机组成原理》课件
将结果存回内存或寄存器 。
CPU的性能指标
速度
执行指令的速度,通常以MIPS(百万条 指令每秒)表示。
功耗
CPU在工作时的能耗。
集成度
CPU中晶体管的数量和密度。
可靠性
CPU在正常工作条件下无故障运行的概率 。
03
存储器
内存的分类与结构
分类
根据存储介质,内存可以分为RAM(随机存取存储器)和ROM(只读存储器)。RAM又可以分为DRAM(动态 随机存取存储器)和SRAM(静态随机存取存储器)。
谢谢您的聆听
THANKS
《计算机组成原理》ppt课件
CONTENTS
• 计算机系统概述 • 中央处理器 • 存储器 • 输入输出系统 • 总线系统 • 计算机系统可靠性及安全性
01
计算机系统概述
计算机的发展历程
机械计算机时代
1946年第一台电子计算机ENIAC诞生,占地170平方米,重30吨,运算速度5000次/秒。
晶体管计算机时代
20世纪50年代中期至60年代,计算机体积缩小,运算速度提高,可靠性增强。
集成电路计算机时代
20世纪60年代末至70年代初,微处理器出现,个人电脑开始进入市场。
大规模集成电路计算机时代
20世纪70年代中期至今,计算机体积更小,性能更高,应用领域更广泛。
计算机系统的组成
硬件系统
包括中央处理器、存储器、输入输出设备 等物理部件。
结构
内存主要由存储单元阵列、地址译码器和数据输入/输出缓冲器组成。每个存储单元阵列负责存储数据,地址译 码器负责将地址码转换为相应的存储单元的地址,数据输入/输出缓冲器则负责数据的读写操作。
内存的工作原理
组成运算器的部件
组成运算器的部件
运算器是一种计算机硬件,用于执行算术和逻辑计算。
在现代计算机中,运算器通常由多个部件组成,其中包括以下几个部分:
1. 寄存器:用于存储和处理数据的临时存储器。
寄存器通常是非常快速的,因此它们用于存储运算器正在处理的数据。
2. 算术逻辑单元(ALU):执行算术和逻辑运算的部件。
ALU通常包括加、减、乘、除等操作,并且还可以执行逻辑运算,如与、或、非等。
3. 控制单元:控制运算器的操作的部件。
控制单元通常解释指令,以确定如何操作ALU和其他部件。
4. 输入输出单元(I/O):用于与计算机的外部环境进行通信的部件,例如键盘、显示器、打印机等。
I/O单元与计算机的主要功能不同,但它们仍然是运算器的重要组成部分。
这些组成部分形成了一个完整的运算器,可以用于执行各种计算和处理任务。
对于现代计算机而言,运算器是非常重要的组件之一,因为它可以处理大量的数据并执行各种复杂的任务。
- 1 -。
国开作业《计算机组成原理》 (30)
题目:下列数中最小的数是。
选项A:(25)16选项B:(42)8选项C:(1010011)2选项D:(01101000)BCD答案:(42)8题目:加法器采用并行进位的目的是_____。
选项A:提高加法器的速度选项B:快速传递进位信号选项C:优化加法器结构选项D:增强加法器功能答案:快速传递进位信号题目:组成一个运算器需要多个部件,但下面所列_____不是组成运算器的部件。
选项A:状态寄存器选项B:数据总线选项C:算术逻辑运算单元选项D:地址寄存器答案:地址寄存器题目:运算器的主要功能是进行。
选项A:逻辑运算选项B:算术运算选项C:逻辑运算和算术运算选项D:只作加法答案:逻辑运算和算术运算题目:浮点数范围和精度取决于。
选项A:阶码的位数和尾数的位数选项B:阶码采用的编码和尾数的位数选项C:阶码和尾数采用的编码选项D:阶码采用的位数和尾数的编码答案:阶码的位数和尾数的位数题目:逻辑运算中的“逻辑加”是指。
选项A:与运算选项B:或运算选项C:非运算选项D:异或运算答案:或运算题目:下列说法正确的是。
选项A:采用双符号位补码进行加减运算可以避免溢出选项B:只有定点数运算才有可能溢出,浮点数运算不会产生溢出选项C:只有将两个正数相加时才有可能产生溢出选项D:只有带符号数的运算才有可能产生溢出答案:只有带符号数的运算才有可能产生溢出题目:请从下面表示浮点运算器的描述中选出描述正确的句子是_____。
选项A:浮点运算器可用两个定点运算器部件来实现选项B:阶码部件可实现加、减、乘、除四种运算选项C:阶码部件只进行阶码相加、相减和比较操作选项D:尾数部件只进行乘法和除法运算答案:浮点运算器可用两个定点运算器部件来实现, 阶码部件只进行阶码相加、相减和比较操作题目:对于阶码和尾数都用补码表示的浮点数,判断运算结果是否为规格化,错误的方法是_____。
选项A:阶符和数符相同选项B:阶符和数符相异选项C:数符与尾数小数点后第一位数字相同选项D:数符与尾数小数点后第一位数字相异答案:阶符和数符相同, 阶符和数符相异, 数符与尾数小数点后第一位数字相同题目:运算器内部寄存器的个数与系统运行的速度无关。
国开作业《计算机组成原理》 (38)
题目:一条指令通常由()组成选项A:操作数、操作数内存地址选项B:操作数、操作数地址选项C:操作码、操作数选项D:操作码、操作数地址答案:操作码、操作数地址题目:指令中操作数的类型通常有()选项A:无操作数选项B:无操作数、单操作数选项C:无操作数、单操作数、双操作数选项D:无操作数、单操作数、双操作数、多操作数答案:无操作数、单操作数、双操作数、多操作数题目:汇编语言要经过()的翻译才能在计算机中执行。
选项A:编译程序选项B:文字处理程序选项C:汇编器程序选项D:数据库管理程序答案:汇编器程序题目:间接寻址是指()。
选项A:指令中直接给出操作数选项B:指令中间接给出操作数地址选项C:指令中间接给出操作数选项D:指令中直接给出操作数地址答案:指令中间接给出操作数地址题目:变址寻址方式中,操作数的有效地址等于()。
选项A:程序计数器内容加上形式地址选项B:堆栈指示器内容加上形式地址选项C:基址寄存器内容加上形式地址(位移量)选项D:变址寄存器内容加上形式地址答案:变址寄存器内容加上形式地址题目:转移类指令的功能是()选项A:进行算术运算和逻辑运算选项B:改变程序中指令的执行的顺序选项C:进行CPU和I/O设备之间的数据传送选项D:进行主存与CPU之间的数据传送答案:改变程序中指令的执行的顺序题目:相对寻址方式中,求有效地址使用()加上偏移量。
选项A:程序计数器内容选项B:变址寄存器内容选项C:栈指示器内容选项D:基址寄存器内容答案:程序计数器内容题目:堆栈寻址的原则是()。
选项A:后进后出选项B:后进先出选项C:先出后进选项D:先进先出答案:后进先出题目:直接寻址,操作数在()中。
选项A:内存单元选项B:寄存器编号选项C:通用寄存器选项D:操作数的地址答案:内存单元题目:立即数寻址,操作数在()中。
选项A:通用寄存器选项B:操作数的地址选项C:操作数本身选项D:指令答案:指令题目:指令系统中采用不同寻址方式的目的主要是缩短指令长度,扩大寻址空间,提高编程灵活性。
《计算机组成原理》运算器实验报告(总结报告范文模板)
《计算机组成原理》运算器实验报告实验目录:一、实验1 Quartus Ⅱ的使用(一)实验目的(二)实验任务(三)实验要求(四)实验步骤(五)74138、74244、74273的原理图与仿真图二、实验2 运算器组成实验(一)实验目的(二)实验任务(三)实验要求(四)实验原理图与仿真图三、实验3 半导体存储器原理实验(一)实验目的(二)实验要求(三)实验原理图与仿真图四、实验4 数据通路的组成与故障分析实验(一)实验目的(二)实验电路(三)实验原理图与仿真图五、本次实验总结及体会:一、实验1 Quartus Ⅱ的使用(一)实验目的1.掌握Quartus Ⅱ的基本使用方法。
2.了解74138(3:8)译码器、74244、74273的功能。
3.利用Quartus Ⅱ验证74138(3:8)译码器、74244、74273的功能。
(二)实验任务1、熟悉Quartus Ⅱ中的管理项目、输入原理图以及仿真的设计方法与流程。
2、新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。
(三)实验要求1.做好实验预习,掌握74138、74244、74273的功能特性。
2.写出实验报告,内容如下:(1)实验目的;(2)写出完整的实验步骤;(3)画出74138、74244和74273的仿真波形,有关输入输出信号要标注清楚。
(四)实验步骤1.新建项目:首先一个项目管理索要新建的各种文件,在Quartus Ⅱ环境下,打开File,选择New Project Wizard后,打开New Project Wizard:Introduction窗口,按照提示创建新项目,点击“Next”按钮,再打开的窗口中输入有关的路径名和项目名称后,按“Finish”按钮,完成新建项目工作。
2.原理图设计与编译:原理图的设计与编译在Compile Mode(编译模式)下进行。
2.1.新建原理图文件打开File菜单,选择New,打开“新建”窗口。
《计算机组成原理》运算器实验报告
一. 实验目的及要求(1) 了解运算器的组成结构。
(2) 掌握运算器的工作原理。
二. 实验模块及实验原理本实验的原理如图1-1-1所示。
运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B ,三个部件同时接受来自 A 和B 的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号 S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为 ALU的输出。
如果是影响进位的运算,还将置进位标志 FC,在运算结果输出前,置 ALU零标志。
ALU中所有模块集成在一片CPLD 中。
逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。
移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。
图中显示的是一个 4X4 的矩阵(系统中是一个 8X8 的矩阵)。
每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:(1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连, 而没有同任何输入相连的则输出连接0 。
(2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。
例如,在4 位矩阵中使用‘右1 ’和‘左 3 ’对角线来实现右循环 1 位。
(3) 对于未连接的输出位,移位时使用符号扩展或是 0 填充,具体由相应的指令控制。
使用另外的逻辑进行移位总量译码和符号判别。
运算器部件由一片CPLD 实现。
ALU的输入和输出通过三态门74LS245 连到CPU 内总线上,另外还有指示灯标明进位标志FC和零标志FZ。
请注意:实验箱上凡丝印标注有马蹄形标记‘’,表示这两根排针之间是连通的。
图中除 T4和CLR ,其余信号均来自于 ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的 T1、T2、T3、T4,CLR 都连接至 CON单元的CLR 按钮。
国家开放大学《计算机组成原理》形考任务1-6参考答案
国家开放大学《计算机组成原理》形考任务1-6参考答案形考任务1一、单项选择题(每小题6分,共36分)1.下列数中最小的数是。
A. (1010011)2B. (42)8C. (10011000)BCDD. (5A)162.某计算机字长16位,采用补码定点小数表示,符号位为1位,数值位为15位,则可表示的最大正小数为_____,最小负小数为_____。
A.B.C.D.3.两个补码数相加,在符号位相同时有可能产生溢出,符号位不同时。
A. 会产生溢出B. 也有可能产生溢出C. 不一定会产生溢出D. 一定不会产生溢出4.已知[X]原=010100,[X]反= 。
A. 010100B. 001011C. 101011D. 1011005.已知[X]原=110100,[X]补= 。
A. 110100B. 001011C. 101011D. 1011006.已知[X]原=110100,[X]移=。
A. 101100B. 001100C. 101011D. 011011二、多项选择题(每小题9分,共36分)1.机器数中,零的表示形式不唯一的是_____。
A. 原码B. 补码C. 移码D. 反码2.ASCII编码_____。
A. 是8位的编码B. 是7位的编码C. 共有128个字符D. 共有256个字符E. 有64个控制字符3.相对补码而言,移码_____。
A. 仅用于表示小数B. 仅用于浮点数的阶码部分C. 仅用于浮点数的尾数部分D. 1表示正号,0表示负号4.当码距d=4时,海明校验码具有_____。
A. 检错能力B. 纠错能力C. 只能发现1位错,但不能纠错D. 能发现1位错,并纠正1位错E. 能发现2位错,并纠正1位错F. 能发现2位错,并纠正2位错三、判断题(每小题7分,共28分)1.定点数的表示范围有限,如果运算结果超出表示范围,称为溢出。
(√)2.浮点数数的表示范围取决于尾数的位数,精度取决于阶码的位数。
唐朔飞《计算机组成原理》课后答案
唐朔飞《计算机组成原理》课后答案第一章1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:P3计算机系统——计算机硬件、软件和数据通信设备地物理或逻辑地综合体.计算机硬件——计算机地物理实体.计算机软件——计算机运行所需地程序及相关资料.硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要.5. 冯•诺依曼计算机地特点是什么?解:冯氏计算机地特点是:P9•由运算器、控制器、存储器、输入设备、输出设备五大部件组成;•指令和数据以同一形式<二进制形式)存于存储器中;•指令由操作码、地址码两大部分组成;•指令在存储器中顺序存放,通常自动顺序取出执行;•以运算器为中心<原始冯氏机).7. 解释下列概念:主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长.b5E2RGbCAP解:P10主机——是计算机硬件地主体部分,由CPU+MM<主存或内存)组成;CPU——中央处理器<机),是计算机硬件地核心部件,由运算器+控制器组成;<早期地运、控不在同一芯片上)主存——计算机中存放正在运行地程序和数据地存储器,为计算机地主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成.p1EanqFDPw存储单元——可存放一个机器字并具有特定存储地址地存储单位;存储元件——存储一位二进制信息地物理元件,是存储器中最小地存储单位,又叫存储基元或存储元,不能单独存取;DXDiTa9E3d存储字——一个存储单元所存二进制代码地逻辑单位;存储字长——一个存储单元所存二进制代码地位数;存储容量——存储器中可存二进制代码地总量;<通常主、辅存容量分开描述)机器字长——CPU能同时处理地数据位数;RTCrpUDGiT指令字长——一条指令地二进制代码位数;讲评:一种不确切地答法:CPU与MM合称主机;运算器与控制器合称CPU.这两个概念应从结构角度解释较确切.8. 解释下列英文缩写地中文含义:CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS5PCzVD7HxA解:全面地回答应分英文全称、中文名、中文解释三部分.CPU——Central Processing Unit,中央处理机<器),见7题;PC——Program Counter,程序计数器,存放当前欲执行指令地地址,并可自动计数形成下一条指令地址地计数器;jLBHrnAILgIR——Instruction Register,指令寄存器,存放当前正在执行地指令地寄存器;CU——Control Unit,控制单元<部件),控制器中产生微操作命令序列地部件,为控制器地核心部件;xHAQX74J0XALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算地逻辑部件;LDAYtRyKfEACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果地寄存器;MQ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商地寄存器.Zzz6ZB2LtkX——此字母没有专指地缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;dvzfvkwMI1MAR——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址地寄存器;rqyn14ZNXIMDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据地寄存器;EmxvxOtOcoI/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备地总称,用于计算机内部和外界信息地转换与传送;SixE2yXPq5MIPS——Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标地一种计量单位;6ewMyirQFL10. 指令和数据都存于存储器中,计算机如何区分它们?解:计算机硬件主要通过不同地时间段来区分指令和数据,即:取指周期<或取指微程序)取出地既为指令,执行周期<或相应微程序)取出地既为数据.kavU42VRUs另外也可通过地址来源区分,从PC指出地存储单元取出地是指令,由指令地址码部分提供操作数地址.问题讨论:×由控制器分析是指令还是数据;数据进控制器?×指令由指令寄存器存取;指令寄存器有控制功能?×指令和数据地格式不一样;指令由操作码和地址码组成)两者地二进制代码形式不一样?×指令顺序存放,而数据不是;数据为什么不能顺序存放?× MAR放地址,MDR放数据;取指时MDR中也是数据?×存取数据和存取指令地操作在机器中完全一样;无法区分?×指令和数据地地址不一样;某一存储单元只能放数据<或指令)?×指令放在ROM中,数据放在RAM中;用户程序放在哪?第三章1. 什么是总线?总线传输有何特点?为了减轻总线负载,总线上地部件应具备什么特点?解:总线是多个部件共享地传输部件.总线传输地特点是:某一时刻只能有一路信息在总线上传输,即分时使用.为了减轻总线负载,总线上地部件应通过三态驱动缓冲电路与总线连通.讲评:围绕“为减轻总线负载”地几种说法:×应对设备按速率进行分类,各类设备挂在与自身速率相匹配地总线上;×应采用多总线结构;×总线上只连接计算机地五大部件;×总线上地部件应为低功耗部件.上述措施都无法从根上<工程上)解决问题,且增加了许多不必要<或不可能)地限制.×总线上地部件应具备机械特性、电器特性、功能特性、时间特性;这是不言而喻地.4. 为什么要设置总线判优控制?常见地集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?y6v3ALoS89解:总线判优控制解决多个部件同时申请总线时地使用权分配问题;常见地集中式总线控制有三种:链式查询、计数器查询、独立请求;特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高.M2ub6vSTnP5. 解释下列概念:总线地主设备<或主模块)、总线地从设备<或从模块)、总线地传输周期和总线地通信控制.0YujCfmUCw解:总线地主设备<主模块)——指一次总线传输期间,拥有总线控制权地设备<模块);总线地从设备<从模块)——指一次总线传输期间,配合主设备完成传输地设备<模块),它只能被动接受主设备发来地命令;eUts8ZQVRd总线地传输周期——总线完成一次完整而可靠地传输所需时间;总线地通信控制——指总线传送过程中双方地时间配合方式.6. 试比较同步通信和异步通信.解:同步通信——由统一时钟控制地通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降.适合于速度差别不大地场合;sQsAEJkW5T异步通信——不由统一时钟控制地通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率.GMsIasNXkA8. 为什么说半同步通信同时保留了同步通信和异步通信地特点?解:半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间.TIrRGchYzg10. 为什么要设置总线标准?你知道目前流行地总线标准有哪些?什么叫plug and play?哪些总线有这一特点?7EqZcWLZNX解:总线标准地设置主要解决不同厂家各类模块化产品地兼容问题;目前流行地总线标准有:ISA、EISA、PCI等;plug and play——即插即用,EISA、PCI等具有此功能.11. 画一个具有双向传输功能地总线逻辑图.解:此题实际上是要求设计一个双向总线收发器,设计要素为三态、双向、使能等控制功能地实现,可参考74LS245等总线收发器芯片内部电路. 逻辑图如下:<n位)几种错误地设计:lzq7IGf02E几种错误地设计:12. 设数据总线上接有A、B、C、D四个寄存器,要求选用合适地74系列芯片,完成下列逻辑设计:<1)设计一个电路,在同一时间实现D→A、D→B和D→C寄存器间地传送;<2)设计一个电路,实现下列操作:T0时刻完成D→总线;T1时刻完成总线→A;T2时刻完成A→总线;T3时刻完成总线→B.解:<1)采用三态输出地D型寄存器74LS374做A、B、C、D四个寄存器,其输出可直接挂总线.A、B、C三个寄存器地输入采用同一脉冲打入.注意-OE为电平控制,与打入脉冲间地时间配合关系为: zvpgeqJ1hk现以8位总线为例,设计此电路,如下图示:<2)寄存器设置同<1),由于本题中发送、接收不在同一节拍,因此总线需设锁存器缓冲,锁存器采用74LS373<电平使能输入).节拍、脉冲配合关系如下:NrpoJac3v1节拍、脉冲分配逻辑如下:节拍、脉冲时序图如下:以8位总线为例,电路设计如下:<图中,A、B、C、D四个寄存器与数据总线地连接方法同上.)几种错误地设计:<1)几种错误地设计:<1)几种错误地设计:<2)几种错误地设计:<2)几种错误地设计:第四章3. 存储器地层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?答:存储器地层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上. Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行地效果分析,CPU访存速度加快,接近于Cache地速度,而寻址空间和位价却接近于主存.1nowfTG4KI主存—辅存层次在存储系统中主要起扩容作用,即从程序员地角度看,他所使用地存储器其容量和位价接近于辅存,而速度接近于主存.fjnFLDa5Zo综合上述两个存储层次地作用,从整个存储系统来看,就达到了速度快、容量大、位价低地优化效果.主存与CACHE之间地信息调度功能全部由硬件自动完成.而主存—辅存层次地调度目前广泛采用虚拟存储技术实现,即将主存与辅存地一部份通过软硬结合地技术组成虚拟存储器,程序员可使用这个比主存实际空间<物理地址空间)大得多地虚拟地址空间<逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间地转换.因此,这两个层次上地调度或转换操作对于程序员来说都是透明地.tfnNhnE6e54. 说明存取周期和存取时间地区别.解:存取周期和存取时间地主要区别是:存取时间仅为完成一次操作地时间,而存取周期不仅包含操作时间,还包含操作后线路地恢复时间.即:HbmVN777sL存取周期 = 存取时间 + 恢复时间5. 什么是存储器地带宽?若存储器地数据总线宽度为32位,存取周期为200ns,则存储器地带宽是多少?V7l4jRB8Hs解:存储器地带宽指单位时间内从存储器进出信息地最大数量.存储器带宽= 1/200ns ×32位= 160M位/秒 = 20MB/S = 5M字/秒注意字长<32位)不是16位.<注:本题地兆单位来自时间=106)6. 某机字长为32位,其存储容量是64KB,按字编址它地寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址地分配情况.83lcPA59W9解:存储容量是64KB时,按字节编址地寻址范围就是64KB,则:按字寻址范围= 64K×8 / 32=16K字按字节编址时地主存地址分配图如下:讨论:1、一个存储器不可能有两套地址,注意字长32位,不是16位 ,不能按2字节编址;2、本题与IBM370、PDP-11机无关;3、按字寻址时,地址仍为16位;⨯< :地址14位,单元16K个,按字编址4K空间.) 4、字寻址地单位为字,不是B.5、按字编址地地址范围为0~16K-1,空间为16K字;按字节编址地地址范围为0~64K-1,空间为64KB.不能混淆;mZkklkzaaP6、画存储空间分配图时要画出上限.7. 一个容量为16K×32位地存储器,其地址线和数据线地总和是多少?当选用下列不同规格地存储芯片时,各需要多少片?AVktR43bpw1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位解:地址线和数据线地总和 = 14 + 32 = 46根;各需要地片数为:1K×4:16K×32 / 1K×4 = 16×8 = 128片2K×8:16K×32 / 2K×8 = 8×4 = 32片4K×4:16K×32 / 4K×4 = 4×8 = 32片16K×1:16K×32 / 16K×1 = 32片4K×8:16K×32 / 4K×8 = 4×4 = 16片8K×8:16K×32 / 8K×8 = 2×4 = 8片讨论:地址线根数与容量为2地幂地关系,在此为214,14根;:32=25,5根)⨯数据线根数与字长位数相等,在此为32根.<不是2地幂地关系.9. 什么叫刷新?为什么要刷新?说明刷新有几种方法.解:刷新——对DRAM定期进行地全部重写过程;刷新原因——因电容泄漏而引起地DRAM所存信息地衰减需要及时补充,因此安排了定期刷新操作;常用地刷新方法有三种——集中式、分散式、异步式.集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间;异步式:是集中式和分散式地折衷.讨论:1、刷新与再生地比较:共同点:•动作机制一样.都是利用DRAM存储元破坏性读操作时地重写过程实现;•操作性质一样.都是属于重写操作.区别:•解决地问题不一样.再生主要解决DRAM存储元破坏性读出时地信息重写问题;刷新主要解决长时间不访存时地信息衰减问题.ORjBnOwcEd•操作地时间不一样.再生紧跟在读操作之后,时间上是随机进行地;刷新以最大间隔时间为周期定时重复进行.•动作单位不一样.再生以存储单元为单位,每次仅重写刚被读出地一个字地所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵地同一行.2MiJTy0dTT•芯片内部I/O操作不一样.读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS信号无效,芯片数据引脚上无读出数据输出<唯RAS有效刷新,内部读).鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新.gIiSpiue7A2、CPU访存周期与存取周期地区别:CPU访存周期是从CPU一边看到地存储器工作周期,他不一定是真正地存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正地工作周期时间.uEh0U1Yfmh3、分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU访存周期.IAg9qLsgBX4、刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好地异步刷新方式.10. 半导体存储器芯片地译码驱动方式有几种?解:半导体存储器芯片地译码驱动方式有两种:线选法和重合法.线选法:地址译码信号只选中同一个字地所有位,结构简单,费器材;重合法:地址分行、列两部分译码,行、列译码线地交叉点即为所选单元.这种方法通过行、列译码信号地重合来选址,也称矩阵译码.可大大节省器材用量,是最常用地译码驱动方式.WwghWvVhPE11. 画出用1024×4位地存储芯片组成一个容量为64K×8位地存储器逻辑框图.要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片.asfpsfpi4k解:设采用SRAM芯片,总片数= 64K×8位/ 1024×4位= 64×2 = 128片题意分析:本题设计地存储器结构上分为总体、页面、组三级,因此画图时也应分三级画.首先应确定各级地容量:ooeyYZTjj1页面容量 = 总容量 / 页面数= 64K×8位 / 4= 16K×8位;组容量 = 页面容量 / 组数= 16K×8位/ 16 = 1K×8位;组内片数 = 组容量 / 片容量= 1K×8位/ 1K×4位 = 2片;地址分配:页面逻辑框图:<字扩展)存储器逻辑框图:<字扩展)讨论:页选地址取A11、A10,页内片选取A15~A12;⨯<页内组地址不连贯?)不分级画;问题:⨯1、不合题意;2、芯片太多难画;3、无页译码,6:64译码选组.⨯页选直接联到芯片;问题:1、SRAM一般只一个片选端;2、译码输出负载能力需考虑.附加门电路组合2级译码信号;⨯<应利用译码器使能端输入高一级地译码选通信号)不设组选,页选同时选8组<16组),并行存取?⨯组译码无页选输入;⨯⨯ 2片芯片合为一体画;文字叙述代替画图;⨯地址线、数据线不标信号名及信号序号.⨯12. 设有一个64K×8位地RAM芯片,试问该芯片共有多少个基本单元电路<简称存储基元)?欲设计一种具有上述同样多存储基元地芯片,要求对芯片字长地选择应满足地址线和数据线地总和为最小,试确定这种芯片地地址线和数据线,并说明有几种解答.BkeGuInkxI解:存储基元总数= 64K×8位= 512K位 = 219位;思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2地幂地关系,可较好地压缩线数.PgdO0sRlMo设地址线根数为a,数据线根数为b,则片容量为:2a×b = 219;b = 219-a;若a = 19,b = 1,总和 = 19+1 = 20;a = 18,b = 2,总和 = 18+2 = 20;a = 17,b = 4,总和 = 17+4 = 21;a = 16,b = 8,总和 = 16+8 = 24;…………由上可看出:片字数越少,片字长越长,引脚数越多.片字数、片位数均按2地幂变化.结论:如果满足地址线和数据线地总和为最小,这种芯片地引脚分配方案有两种:地址线 = 19根,数据线 = 1根;或地址线 = 18根,数据线 = 2根.3cdXwckm15采用字、位扩展技术设计;⨯13. 某8位微型机地址码为18位,若使用4K×4位地RAM芯片组成模块板结构地存储器,试问:<1)该机所允许地最大主存空间是多少?<2)若每个模块板为32K×8位,共需几个模块板?<3)每个模块板内共有几片RAM芯片?<4)共有多少片RAM?<5)CPU如何选择各模块板?解: <1)218 = 256K,则该机所允许地最大主存空间是256K×8位<或256KB);<2)模块板总数= 256K×8 / 32K×8= 8块;<3)板内片数= 32K×8位/ 4K×4位= 8×2 = 16片;<4)总片数 = 16片×8 = 128片;<5)CPU通过最高3位地址译码选板,次高3位地址译码选片.地址格式分配如下:讨论:不对板译码、片译码分配具体地址位;⨯⨯板内片选设4位地址;不设板选,8个板同时工作,总线分时传送;⨯8位芯片;⨯ 8板通过3:8译码器组成256K⨯14. 设CPU共有16根地址线,8根数据线,并用-MREQ<低电平有效)作访存控制信号,R/-W作读写命令信号<高电平为读,低电平为写).现有下列存储芯片:h8c52WOngMROM<2K×8位,4K×4位,8K×8位),RAM<1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路<门电路自定).试从上述规格中选用合适芯片,画出CPU和存储芯片地连接图.要求:v4bdyGious<1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;<2)指出选用地存储芯片类型及数量;<3)详细画出片选逻辑.解:<1)地址空间分配图:<2)选片:ROM:4K×4位:2片;RAM:4K×8位:3片;<3)CPU和存储器连接逻辑图及片选逻辑:讨论:1)选片:当采用字扩展和位扩展所用芯片一样多时,选位扩展.理由:字扩展需设计片选译码,较麻烦,而位扩展只需将数据线按位引出即可.本题如选用2K×8 ROM,片选要采用二级译码,实现较麻烦.当需要RAM、ROM等多种芯片混用时,应尽量选容量等外特性较为一致地芯片,以便于简化连线.2)应尽可能地避免使用二级译码,以使设计简练.但要注意在需要二级译码时如果不使用,会使选片产生二义性.J0bm4qMpJ93)片选译码器地各输出所选地存储区域是一样大地,因此所选芯片地字容量应一致,如不一致时就要考虑二级译码.另外如把片选译码输出“或”起来使用也是不合理地.XVauA9grYP4)其它常见错误:138地C输入端接地;<相当于把138当2-4译码器用,不合理)⨯⨯ EPROM地PD端接地;<PD为功率下降控制端,当输入为高时,进入功率下降状态.因此PD端地合理接法是与片选端-CS并联.)⨯ ROM连读/写控制线-WE;bR9C6TJscw<ROM无读/写控制端)15. CPU假设同上题,现有8片8K×8位地RAM芯片与CPU相连,试回答:<1)用74138译码器画出CPU与存储芯片地连接图;<2)写出每片RAM地地址范围;<3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址地存储芯片都有与其相同地数据,分析故障原因.pN9LBDdtrd<4)根据<1)地连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?解: <1)CPU与存储器芯片连接逻辑图:<2)地址空间分配图:<3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址地存储芯片(第5片>都有与其相同地数据,则根本地故障原因为:该存储芯片地片选输入端很可能总是处于低电平.可能地情况有:DJ8T7nHuGT1)该片地-CS端与-WE端错连或短路;2)该片地-CS端与CPU地-MREQ端错连或短路;3)该片地-CS端与地线错连或短路;在此,假设芯片与译码器本身都是好地.<4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”地情况.此时存储器只能寻址A13=1地地址空间(奇数片>,A13=0地另一半地址空间<偶数片)将永远访问不到.若对A13=0地地址空间<偶数片)进行访问,只能错误地访问到A13=1地对应空间(奇数片>中去.QF81D7bvUA17. 某机字长16位,常规地存储空间为64K字,若想不改用其他高速地存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明.4B7a9QFw9h解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取多体交叉存取技术,图示如下:8体交叉访问时序:18. 什么是“程序访问地局部性”?存储系统中哪一级采用了程序访问地局部性原理?解:程序运行地局部性原理指:在一小段时间内,最近被访问过地程序和数据很可能再次被访问;在空间上,这些被访问地程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行地可能性大 (大约 5:1 >.存储系统中Cache—主存层次采用了程序访问地局部性原理.ix6iFA8xoX20. Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处?答:Cache做在CPU芯片内主要有下面几个好处:1)可提高外部总线地利用率.因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线;2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存地信息传输,增强了系统地整体效率;wt6qbkCyDE3)可提高存取速度.因为Cache与CPU之间地数据通路大大缩短,故存取速度得以提高;将指令Cache和数据Cache分开有如下好处:1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作地完成;2)指令Cache可用ROM实现,以提高指令存取地可靠性;3)数据Cache对不同数据类型地支持更为灵活,既可支持整数<例32位),也可支持浮点数据<如64位).Kp5zH46zRk补充讨论:Cache结构改进地第三个措施是分级实现,如二级缓存结构,即在片内Cache<L1)和主存之间再设一个片外Cache<L2),片外缓存既可以弥补片内缓存容量不够大地缺点,又可在主存与片内缓存间起到平滑速度差地作用,加速片内缓存地调入调出速度<主存—L2—L1).Yl4HdOAA6121. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映象<即Cache每组内共有4个字块)地Cache组织,要求:ch4PJx4BlI<1)画出主存地址字段中各段地位数;<2)设Cache地初态为空,CPU依次从主存第0、1、2……99号单元读出100个字<主存一次读出一个字),并重复按此次序读8次,问命中率是多少?qd3YfhxCzo <3)若Cache地速度是主存地6倍,试问有Cache和无Cache相比,速度提高多少倍?答:<1)由于容量是按字节表示地,则主存地址字段格式划分如下:8 7 2 3 2<2)由于题意中给出地字地址是连续地,故<1)中地址格式地最低2位不参加字地读出操作.当主存读0号字单元时,将主存0号字块<0~7)调入Cache<0组x号块),主存读8号字单元时,将1号块<8~15)调入Cache<1组x号块)……主存读96号单元时,将12号块<96~103)调入Cache<12组x号块).E836L11DO5≈共需调100/8 13次,就把主存中地100个数调入Cache.除读第1遍时CPU需访问主存13次外,以后重复读时不需再访问主存.则在800个读操作中:S42ehLvE3M访Cache次数=<100-13)+700=787次≈ 0.98 ≈ Cache命中率=787/800 98%<3)设无Cache时访主存需时800T<T为主存周期),加入Cache后需时: <131.167+13)T≈T/6+13T⨯787144.167T≈5.55倍≈则:800T/144.167T有Cache和无Cache相比,速度提高4.55倍左右.23. 画出RZ、NRZ、NRZ1、PE、FM写入数字串1011001地写入电流波形图.解:24. 以写入1001 0110为例,比较调频制和改进调频制地写电流波形图.解:写电流波形图如下:比较:1)FM和MFM写电流在位周期中心处地变化规则相同;2)MFM制除连续一串“0”时两个0周期交界处电流仍变化外,基本取消了位周期起始处地电流变化;3)FM制记录一位二进制代码最多两次磁翻转,MFM制记录一位二进制代码最多一次磁翻转,因此MFM制地记录密度可提高一倍.上图中示出了在MFM制时位周期时间缩短一倍地情况.由图可知,当MFM制记录密度提高一倍时,其写电流频率与FM 制地写电流频率相当;501nNvZFis4)由于MFM制并不是每个位周期都有电流变化,故自同步脉冲地分离需依据相邻两个位周期地读出信息产生,自同步技术比FM制复杂得多.jW1viftGw925. 画出调相制记录01100010地驱动电流、记录磁通、感应电势、同步脉冲及读出代码等几种波形.解:注意:1)画波形图时应严格对准各种信号地时间关系.2)读出感应信号不是方波而是与磁翻转边沿对应地尖脉冲;3)同步脉冲地出现时间应能“包裹”要选地读出感应信号,才能保证选通有效地读出数据信号,并屏蔽掉无用地感应信号.xS0DOYWHLP4)最后读出地数据代码应与写入代码一致.26. 磁盘组有六片磁盘,每片有两个记录面,存储区域内径22厘M,外径33厘M,道密度为40道/厘M,内层密度为400位/厘M,转速2400转/分,问:LOZMkIqI0w <1)共有多少存储面可用?<2)共有多少柱面?<3)盘组总存储容量是多少?<4)数据传输率是多少?解:<1)若去掉两个保护面,则共有:6 × 2 - 2 = 10个存储面可用;<2)有效存储区域=<33-22)/ 2 = 5.5cm柱面数 = 40道/cm × 5.5= 220道= <3)内层道周长=22 69.08cm道容量=400位/cm×69.08cm= 3454B面容量=3454B × 220道= 759,880B盘组总容量 = 759,880B × 10面= 7,598,800B<4)转速 = 2400转 / 60秒= 40转/秒数据传输率= 3454B × 40转/秒= 138,160 B/S注意:。
《计算机组成原理》实验报告——运算器
南通大学信息科学技术学院《计算机组成实验》实验报告实验运算器的设计与实现一、实验目的1.熟悉Vivado软件的使用方法。
2.熟悉运算器的功能。
3.掌握自顶而下的硬件模块设计方法。
4.掌握电路仿真测试方法,掌握仿真激励文件的编写,掌握仿真输出的分析方法。
二、实验任务设计一个运算器,具有基本的加、减、与、非、异或等功能。
三、设计步骤(1)实验电路原理及信号说明运算器的逻辑结构如图所示:其中Aluc操作码对应功能如下:具体设计如下:本实验采用运算部件并行多路选择实现,运用了32位加/减法器,32位移位器,32位6选1选择器。
(2)实验电路设计顶层文件:module ALU(X,Y,Aluc,R,Z);input[31:0]X,Y;input[3:0]Aluc;output[31:0]R;output Z;wire[31:0]d_as,d_and,d_or,d_xor,d_lui,d_sh,d;ADDSUB_32 as32(X,Y,Aluc[0],d_as);assign d_and=X&Y;assign d_or=X|Y;assign d_xor=X^Y;assign d_lui={Y[15:0],16'h0};SHIFTER shift(Y,X[10:6],Aluc[3],Aluc[1],d_sh);MUX6X32 select(d_and,d_or,d_xor,d_lui,d_sh,d_as,Aluc[3:0],R);assign Z=~|R;endmodule32位加法/减法计算器:module ADDSUB_32(X,Y,Sub,S);input [31:0]X,Y;wire Cout;input Sub;output [31:0]S;CLA_32 adder0(X,Y^{32{Sub}},Sub,S,Cout);endmodule32位CLA运算器8x4位:module CLA_32(X,Y,Cin,S,Cout);input[31:0]X,Y;input Cin;output[31:0]S;output Cout;wire Cout0,Cout1,Cout2,Cout3,Cout4,Cout5,Cout6;CLA_4 add0(X[3:0],Y[3:0],Cin,S[3:0],Cout0);CLA_4 add1(X[7:4],Y[7:4],Cout0,S[7:4],Cout1);CLA_4 add2(X[11:8],Y[11:8],Cout1,S[11:8],Cout2);CLA_4 add3(X[15:12],Y[15:12],Cout2,S[15:12],Cout3);CLA_4 add4(X[19:16],Y[19:16],Cout3,S[19:16],Cout4);CLA_4 add5(X[23:20],Y[23:20],Cout4,S[23:20],Cout5);CLA_4 add6(X[27:24],Y[27:24],Cout5,S[27:24],Cout6);CLA_4 add7(X[31:28],Y[31:28],Cout6,S[31:28],Cout);Endmodule4位CLA运算器:module CLA_4(X,Y,Cin,S,Cout);input [3:0]X,Y;output Cout;input Cin;output [3:0]S;and i0(Y_3,X[3],Y[3]);or i1(X_3,X[3],Y[3]);and i2(Y_2,X[2],Y[2]);or i3(X_2,X[2],Y[2]);and i4(Y_1,X[1],Y[1]);or i5(X_1,X[1],Y[1]);and i6(Y_0,X[0],Y[0]);or i7(X_0,X[0],Y[0]);not i01(Y_31,Y_3);nand i02(Y_32,X_3,Y_2);nand i03(Y_33,X_3,X_2,Y_1);nand i04(Y_34,X_3,X_2,X_1,Y_0);nand i05(Y_35,X_3,X_2,X_1,X_0,Cin);nand i00(Cout,Y_31,Y_32,Y_33,Y_34,Y_35);//Cout的输出门级电路实现not i_2(Y__3,Y_3);and i21(Y_21,Y__3,X_3);not i22(Y_22,Y_2);nand i23(Y_23,X_2,Y_1);nand i24(Y_24,X_2,X_1,Y_0);nand i25(Y_25,X_2,X_1,X_0,Cin);nand i26(Y_26,Y_22,Y_23,Y_24,Y_25);xor i20(S[3],Y_21,Y_26);//S3的输出门级电路实现not i_1(Y__2,Y_2);and i11(Y_11,Y__2,X_2);not i12(Y_12,Y_1);nand i13(Y_13,X_1,Y_0);nand i14(Y_14,X_1,X_0,Cin);nand i15(Y_15,Y_12,Y_13,Y_14);xor i10(S[2],Y_11,Y_15);//S2的输出门级电路实现not i_0(Y__1,Y_1);and i51(Y_51,Y__1,X_1);not i52(Y_52,Y_0);nand i53(Y_53,X_0,Cin);nand i54(Y_54,Y_52,Y_53);xor i50(S[1],Y_51,Y_54);//S1的输出门级电路not i41(Y__0,Y_0);and i42(Y_4,Y__0,X_0);xor i40(S[0],Y_4,Cin);//S0的输出门级电路endmodule32位移位器:module SHIFTER(X,Sa,Arith,Right,Sh);input [31:0]X;//操作数input [4:0]Sa;//移位长度input Arith,Right;//right表示判断左移还是右移,arith判断逻辑还是算术移位output [31:0]Sh;//输出结果wire [31:0]T4,T3,T2,T1,T0,S4,S3,S2,S1;wire a=X[31]&Arith;wire [15:0]e={16{a}};parameter z=16'b0000000000000000;wire [31:0]L1u,L1d,L2u,L2d,L3u,L3d,L4u,L4d,L5u,L5d;assign L1u={X[15:0],z[15:0]};assign L1d={e,X[31:16]};MUX2X32 M1l(L1u,L1d,Right,T4);MUX2X32 M1r(X,T4,Sa[4],S4);//1assign L2u={S4[23:0],z[7:0]};assign L2d={e[7:0],S4[31:8]};MUX2X32 M2l(L2u,L2d,Right,T3);MUX2X32 M2r(S4,T3,Sa[3],S3);//2assign L3u={S3[27:0],z[3:0]};assign L3d={e[3:0],S3[31:4]};MUX2X32 M3l(L3u,L3d,Right,T2);MUX2X32 M3r(S3,T2,Sa[2],S2);//3assign L4u={S2[29:0],z[1:0]};assign L4d={e[1:0],S2[31:2]};MUX2X32 M4l(L4u,L4d,Right,T1);MUX2X32 M4r(S2,T1,Sa[1],S1);//4assign L5u={S1[30:0],z[0]};assign L5d={e[0],S1[31:1]};MUX2X32 M5l(L5u,L5d,Right,T0);MUX2X32 M5r(S1,T0,Sa[0],Sh);Endmodule32位6选1功能选择器:module MUX6X32(d_and,d_or,d_xor,d_lui,d_sh,d_as,Aluc,d);input [31:0]d_and,d_or,d_xor,d_lui,d_sh,d_as;input [3:0]Aluc;output [31:0]d;function [31:0]select;input [31:0]d_and,d_or,d_xor,d_lui,d_sh,d_as;input [3:0]Aluc;case(Aluc)4'b0000:select=d_as;4'b0001:select=d_as;4'b0010:select=d_and;4'b0011:select=d_or;4'b0100:select=d_xor;4'b0110:select=d_lui;4'b0101:select=d_sh;4'b0111:select=d_sh;4'b1111:select=d_sh;4'b1101:select=d_sh;endcaseendfunctionassign d=select(d_and,d_or,d_xor,d_lui,d_sh,d_as,Aluc); endmoduleRTL视图如下:四、实验仿真结果分析1.仿真测试文件:module sim();// ALU Inputsreg [31:0] X;reg [31:0] Y;reg [3:0] Aluc;// ALU Outputswire [31:0] R;wire Z;ALU u_ALU (.X ( X ),.Y ( Y ),.Aluc ( Aluc ),.R ( R ),.Z ( Z ) );initial beginAluc[3:0] = 0;X[31:0] = 3;Y[31:0] =2;#50;endalways #200 Aluc=Aluc+1;endmodule2.仿真测试波形:3.仿真测试结果分析开始时设置两个操作数X为3,Y为2;Aluc为0时执行加法运算,结果为5;Aluc为1时执行减法运算,结果为1;Aluc为2时执行与运算,结果为2;Aluc为3时执行或运算,结果为3;Aluc为4时执行异或运算,结果为1;……分析可知,设计符合实验要求。
计算机组成原理 定点运算器的组成和结构
计算机组成原理第八章定点运算器的组成和结构1. 算术逻辑单元(简称ALU)•针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。
当需完成逻辑运算时,势必需要配置相应的逻辑电路,而ALU电路是既能完成算术运算又能完成逻辑运算的部件。
一、ALU电路下图是ALU框图。
图中A i和B i为输入变量;K i为控制信号,K i的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算;F i是输出函数。
现在ALU电路已制成集成电路芯片,如74181是能完成四位二进制代码的算逻运算部件ALU是一种功能较强的组合逻辑电路。
它能进行多种算术运算和逻辑运算。
ALU的基本逻辑结构是超前进位加法器,它通过改变加法器的进位产生函数G和进位传递函数P来获得多种运算能力。
二、快速进位链随着操作数位数的增加,电路中进位的速度对运算时间的影响也越大,为了提高运算速度,本节将通过对进位过程的分析设计快速进位链引例:简单串行级联的4位全加器如下图所示:将4个全加器相连可得4位加法器(图2.7),但其加法时间长。
这是因为其位间进位是串行传送的。
本位全加和Fi必须等低位进位Ci-1来到后才能进行,加法时间与位数有关。
只有改变进位逐位传送的路径,才能提高加法器工作速度。
解决办法之一是采用“超前进位产生电路”来同时形成各位进位,从而实行快速加法。
我们称这种加法器为超前进位加法器。
根据各位进位的形成条件,可分别写出Ci的逻辑表达式:C1=X1Y1+(X1+Y1)C0=G1+P1C0其中: Gi=Xi·Yi 称为进位产生函数Pi=Xi+Yi 称为进位传递函数Gi的意义是:当XiYi 均为“1”时定会产生向高位的进位Pi的意义是:当Xi和Yi中有一个为“1”时,若同时低位有进位输入,则本位也将向高位传送进位。
写成通用式为:C1=G1+P1C0C2=G2+P2C1=G2+P2(G1+P1C0)= G2+P2G1+P2P1C0C3=G3+P3 G2+ P3 P2G1+ P3 P2P1C0C4=G4+P4 G3+ P4 P3 G2+ P4 P3 P2G1+ P4 P3 P2P1C0当全加器的输入均取反码时,它的输出也均取反码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a
12
3.6.2 浮点运算器
• 由于浮点运算中阶码运算与尾数运算分别进行, 因此浮点运算部件应包括尾数部件和阶码部件两 个部分。
a
13
实现四则运算的浮点运算器
a
14
尾数运算部件
进行尾数的加减乘除运算。 由寄存器R0、R1、MQ及并行加法器Fm组成。 R0、R1:暂存操作数。其中R0也称为累加器,用于存 放运算结果。 MQ:乘商寄存器 用于进行乘除运算,R0、MQ具有联合左移、右移的功 能,实现方法与定点乘、除法器相类似。 R1具有右 移功能,以实现对阶移位。
是寄存器组A输出端口上的内容。
a
8
表 3-9 ALU 功能选择
编码 I5 I4 I3 000 001 010 011 100ຫໍສະໝຸດ 101 110 111功能
R+S S-R R-S R∨S R∧S R ∧S R⊕S R⊙S
表 3-10 ALU 操作数选择
编码
ALU 操作数输入
I2 I1 I0
RS
000
AQ
△E为+,E2小,R1右移,每移一位,EC-1
△E为-,E1小,R0右移,每移一位,EC+1
直到EC=0,完成对阶工作a 。
16
② 尾数部件作加/减运算,结果存入R0。 ③ 判别运算结果,进行规格化。
在规格化处理过程中,每将R0左移(或右移) 一位时,应将E1与E2中的较大者减1(或加1), 最后作为结果的阶码。
a
5
(2)Am2901A位片式结构运算器
• 利用大规模集成电路技术(LSI)常将ALU与寄存器集 成为位片式结构的运算器芯片,如 4位/片。用几块 位片芯片拼接,可以构成较长位数的运算器。
• Am2901A是一种位片式结构运算器组件。
a
6
a
7
Am2901A运算器组件的特点
• 采用位片式结构,内部有四位线路,把多块Am2901A芯片级联起 来,可实现不同位数的运算器。
⑵ 作乘除运算时
尾数运算部件和阶码运算部件独立工作,阶
码仅作加减运算,运算结束,对结果进行规
格化处理。
a
17
浮点运算尾数部件中寄存器分配
a
18
OE
a
11
例:给出实现指令2(D-R9)→R10的控制信号
解: • 选择R9:A地址=1001; • 选择R10:B地址=1010; • R=D,S=A:I2I1I0=101; • R-S:I5I4I3=010; • 输出运算结果2F到R10:I8I7I6=111 • 为了封锁Y=F的输出,OE=1
a
15
阶码运算部件
进行阶码的加减运算。
由寄存器E1、E2、阶差计数器EC以及并行加法器Fe组 成。E1、E2:存放与R0、R1中尾数相对应的阶码。 ⑴ 作加减运算时
① 由阶码运算部件求出阶差△E=E1-E2,并存入阶 差计数器EC中,EC可根据符号判断哪个阶码小,
控制将对应的尾数(R0或R1)进行右移。
F
2F→ B
2Q→ Q
F
2F→ B a
F 10
例:给出实现指令R0+R1→M的控制信号。
解: • 选择R0:A地址=0000; • 选择R1:B地址=0001; • R=A,S=B:I2I1I0=001; • R+S:I5I4I3=000; • 输出运算结果F(Y=F):I8I7I6=001
• 控制允许运算结果F输出: =0
• 其ALU可实现八种运算功能,用外部送入的三位控制信号I5I4I3的 编码值,实现八种功能的选择控制。
• 由外部送来的三位控制码I2I1I0控制R、S的多路选择器选择输入。 • 运算器中有1个16×4位的通用寄存器组和一个4位的Q寄存器。
• ALU给出的四个状态信息。
• RAM3、RAM0、Q3、Q0:移位寄存器接收与送出移位数值的引线 • 运算器的四位输出为Y3~Y0,它可以是ALU的运算结果,也可以
001
AB
010
0Q
011
0B
100
0A
101
DA
110
DQ
111
D0
a
9
表 3-11 A L U 的 功 能 选 择
编码
功能
I8 I7 I6 000
寄存器组
Q 寄存器
Y 输出 F
001 010 011 100 101 110 111
F
F→ B
A
F→ B
F
F /2→ B
Q /2→ Q
F
F /2→ B
a
3
(3)三总线结构运算器
a
4
2.定点运算器举例
(1)最简单的运算器
最基本的运算器由算术逻 辑部件ALU、累加器(AC)、数据 缓冲寄存器(MDR)组成。
运算器与存储器之间通过 一条双向数据总线进行联系, 可以实现从存储器中读取一个 数据经MDR、ALU存放在AC中, 也可把AC中信息经MDR存入主存 的指定单元。它也可以实现AC 中数据与主存某一单元的数据 经ALU运算,结果暂存于AC中。
3.6 运算器组成
3.6.1定点运算器
1.基本结构
运算器结构的基本组成部分:包括ALU、寄存器、多 路开关、标志/状态触发器、移位器和数据总线等基 本逻辑部件。
运算器设计主要是围绕着ALU和寄存器同数据总线之 间如何传送操作数和运算结果而进行的。
a
1
(1)单总线结构运算器
a
2
(2)双总线结构运算器