第2章 算术逻辑运算单元(ALU)
- 格式:ppt
- 大小:3.87 MB
- 文档页数:33
燕山大学EDA课程设计报告书题目:算术运算逻辑单元ALU 姓名:班级:学号:成绩:一、设计题目及要求题目名称:算术运算单元ALU要求:1.进行两个四位二进制数的运算;2.算术运算:A+B, A-B, A×B;3.逻辑运算:A and B, A or B, A not, A xor B;4. 用数码管显示算术运算结果,以LED指示灯显示逻辑运算结果。
二、设计过程及内容(包括○1总体设计的文字描述,即由哪几个部分构成的,各个部分的功能及如何实现方法;○2主要模块比较详尽的文字描述,并配以必要的图片加以说明,但图片数量无需太多)1.整体设计思路(1)根据设计要求将题目划分为五个模块。
包括两个逻辑运算模块,两个算术运算模块,和一个控制模块。
其中逻辑运算模块为A and B和A or B,A not和A xor B;算术模块为A±B,A×B。
(2)因为需要进行四位二进制数的运算,因此用A4,A3,A2,A1表示四位二进制数A,用B4,B3,B,B1表示四位二进制数B,用C4,C3,C2,C1表示四位二进制数C。
其中A,B为输入,C为输出。
2.分模块设计(1)A+B和A-B模块A+B可以直接通过74283 两个四位二进制数加法器实现。
A-B可以看作A+(-B),即A加B的补码来实现。
同时再设计一个转换控制端M。
M=0时实现A+B,M=1时实现A-B。
最后再设计一个总的控制端K1,K1=1时模块正常工作,K1=0时不工作。
做加法时,C0为进位输出,C0输出1表示有进位,做减法时,C0为借位输出,C0输出1表示有借位。
通过74283五位输出,进入译码器将五位变成八位输出,在通过数码管显示。
实现A+B,例:0111+0111=1110(7+7=14)则数码管应显示14。
实现A-B 例:1100-0110=0110(12-6=6)则数码管显示06。
A+B,A-B总原理图如下:A+B,A-B分原理图如下:译码器原理图如下:扫描电路原理图如下:A+B仿真图:A-B仿真图:(2)AXB模块AXB模块采用乘数累加被乘数的次的原理来实现乘法功能。
浮点数的表示与运算一、选择1、在规格化浮点数运算中,若浮点数为25×1.10101,其中尾数为补码表示,则该数需将尾数左移一位规格化2、浮点数格式如下:1位阶符,6位阶码,1位数符,8位尾数。
若阶码用移码,尾数用补码表示,则浮点数所能表示数的范围是-263 ~(1-2-8)×2633、某浮点机,采用规格化浮点数表示,阶码用移码表示(最高位代表符号位),尾数用原码表示。
下列哪个数的表示不是规格化浮点数?(B )阶码尾数A.11111111,1.1000 (00)B.0011111,1.0111 (01)C.1000001,0.1111 (01)D.0111111,0.1000 (10)4、设浮点数阶的基数为8,尾数用模4补码表示。
试指出下列浮点数中哪个是规格化数?(C )A.11.111000B.00.000111C.11.101010D.11.1111015、按照IEEE654标准规定的32位浮点数(41A4C000)16对应的十进制数是( D )A.4.59375B.-20.59375C.-4.59375D.20.593756、如果某单精度浮点数、某原码、某补码、某移码的32位机器数为0xF0000000。
这些数从大到小的顺序是移>补>原>浮7、假定采用IEEE754标准中的单精度浮点数格式表示一个数为45100000H,则该数的值是(+1.125)10×2118、设浮点数共12位。
其中阶码含1位阶符共4位,以2为底,补码表示:尾数含1位数符共8位,补码表示,规格化。
则该浮点数所能表示的最大正数是27-19、如果浮点数的尾数用补码表示,则下列(D )中的尾数是规格化数形式。
A. 1.11000B. 0.01110C. 0.01010D.1.0001010、设浮点数的基数为4,尾数用原码表示,则以下(C )是规格化的数。
A. 1.001101B.0.001101C.1.011011D.0.00001011、已知X=00.875×21,Y=0.625×22,设浮点数格式为阶符1位,阶码2位,数符1位,尾数3位,通过补码求出Z=X-Y 的二进制浮点数规格化结果是0111 01112、IEEE754标准中的舍入模式可以用于二进制数也可以用于十进制数,在采用舍入到最接近且可表示的值时,若要舍入两个有效数字形式,(12.5)D应该舍入为1213、下列关于舍入的说法,正确的是(E )A.不仅仅只有浮点数需要舍入,定点数在运算时也可能要舍入B. 在浮点数舍入中,只有左规格化时可能要舍入C. 在浮点数舍入中,只有右规格化时可能要舍入二、综合应用题1、什么是浮点数的溢出?什么情况下发生上溢出?什么情况下发生下溢出?2、现有一计算机字长32位(D31~D0),数符位是第31位。
第2章8086微处理器及其系统教材习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么?在执行指令期间,EU 能直接访问存储器吗,为什么?【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途?【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
算术逻辑单元实验报告一、实验目的1、掌握运算器的工作原理。
2、验证运算器的功能。
二、实验原理算术逻辑单元的主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移位操作。
算术运算包括定点加减乘除运算;逻辑运算主要有逻辑与、逻辑或、逻辑异或和逻辑非操作。
ALU通常有两个数据输入端A和B,一个数据输出端Y 以及标志位等。
三、实验要求1、实验设计目标设计一个16位算术逻辑单元,满足以下要求。
(1)16位算术逻辑单元能够进行下列运算:加法、减法、加1、减1、与、或、非和传送。
用3位运算操作码OP[2..0]进行运算,控制方式如下表所示。
(2)设立两个标志寄存器Z和C。
当复位信号reset为低电平时,将这两个标志寄存器清零。
当运算结束后,在时钟clk的上升沿改变标志寄存器Z和C的值。
运算结果改变标志寄存器C、Z的情况如下:加法、减法、加1、减1运算改变Z、C;与、或、非运算改变Z,C保不变;传送操作保持Z、C不变。
因此在运算结束Z、C需要两个D触发器保存。
(3)为了保存操作数A和B,设计两个16位寄存器A和B。
当寄存器选择信号sel=0时,如果允许写信号write=1.,则在诗中clk的上升沿将数据输入dinput送入A 寄存器;当寄存器选择信号sel=1时,如果允许写信号write=1.,则在诗中clk的上升沿将数据输入dinput送入B寄存器。
(4)算术逻辑单元用一个设计实体完成。
2.顶层设计实体的引脚要求(1)clk对应试验台上的时钟(单脉冲)。
(2)reset对应实验台上的CPU复位信号CPU-RST。
(3)数据输入dinput对应试验台开关SD15~SD0。
(4)允许写信号write对应试验台开关SA5.(5)OP[2..0]对应试验台开关SA2~SA0.(6)寄存器选择信号sel对应试验台开关SA4.(7)16为运算结果result对应实验台上的指示灯A15~A0.(8)Z、C标志位对应试验台上的Z、C指示灯。
第2章 8086 CPU 结构与功能1. 微处理器内部结构由哪几部分组成阐述各部分的主要功能。
解:微处理器内部结构由四部分组成:(1)算术逻辑运算单元ALU :完成所有的运算操作;(2)工作寄存器:暂存寻址信息和计算过程中的中间结果;(3)控制器:完成指令的读入、寄存和译码,并产生控制信号序列使ALU 完成指定操作;(4)I/O 控制逻辑:处理I/O 操作。
2. 微处理器级总线有哪几类各类总线有什么作用解:微处理器级总线有三类:(1)数据总线:传送信息;(2)地址总线:传送地址码;(3)控制总线 传送控制信号。
3. 为什么地址总线是单向的,而数据总线是双向的解:地址码只能由CPU 生成。
而数据需要在CPU 和存储器之间传输。
4. 8086/8088微处理器内部有哪些寄存器其主要作用是什么解:8086CPU 内部有14个16位寄存器,其中8个通用寄存器(4数据寄存器AX 、BX 、CX 、DX ,4地址指针/变址寄存器SI 、DI 、SP 、BP ),4个段寄存器(CS 、DS 、ES 、SS ),2个控制寄存器(指令指针IP ,微处理器状态字PSW )。
应该注意的是:可以在指令中用作为地址指针的寄存器有:SI 、DI 、BP 和BX ;在微处理器状态字PSW 中,一共设定了9个标志位,其中6个标志位用于反映ALU 前一次操作的结果状态(CF ,PF ,AF ,ZF ,SF ,OF ),另3个标志位用于控制CPU 操作(DF ,IF ,TF )。
5. 如果某微处理器有20条地址总线和16条数据总线:(1)假定存储器地址空间与I/O 地址空间是分开的,则存储器地址空间有多大(2)数据总线上传送的有符号整数的范围有多大解:(1)存储器地址空间为:2021MB =(2)有符号数范围为: 15152~21--, 即 -32768~327676. 将十六进制数62A0H 与下列各数相加,求出其结果及标志位CF 、AF 、SF 、ZF 、OF 和PF的值:(1)1234H;(2)4321H;(3)CFA0H;(4)9D60H解:(1)74D4H CF=0 AF=0 SF=0 ZF=0 OF=0 PF=1(2)A5C1H CF=0 AF=0 SF=1 ZF=0 OF=1 PF=0(3)3240H CF=1 AF=0 SF=0 ZF=0 OF=0 PF=0(4)0000H CF=1 AF=0 SF=0 ZF=1 OF=0 PF=17.从下列各数中减去4AE0H,求出其结果及标志位CF、AF、SF、ZF、OF和PF的值:(1)1234H;(2)5D90H;(3)9090H;(4)EA04H解:(1)C754H CF=1 AF=0 SF=1 ZF=0 OF=0 PF=0(2)12B0H CF=0 AF=0 SF=0 ZF=0 OF=0 PF=0(3)45B0H CF=0 AF=0 SF=0 ZF=0 OF=1 PF=0(4)9F24H CF=0 AF=0 SF=1 ZF=0 OF=0 PF=19.写出下列存储器地址的段地址、偏移地址和物理地址:(1)2134:10A0;(2)1FA0:0A1F;(3)267A:B876解:物理地址=段地址*10H+偏移地址(1)段地址:2134H,偏移地址:10A0H,物理地址:223E0H(2)段地址:1FA0H,偏移地址:0A1FH,物理地址:2041FH(3)段地址:267AH,偏移地址:B876H,物理地址:32016H10.给定一个数据的有效地址为2359H,并且(DS)=490BH,求该数据的物理地址。
alu的基本指令
摘要:
1.ALU 的基本指令概述
2.ALU 的基本指令分类
3.ALU 的基本指令示例
4.ALU 的基本指令的应用
正文:
【1.ALU 的基本指令概述】
ALU(算术逻辑单元)是计算机中进行算术和逻辑运算的基本单元。
ALU 的基本指令指的是在ALU 中执行的基本操作,它们用于实现对数据的加工和处理。
ALU 的基本指令可以分为两大类:算术指令和逻辑指令。
【2.ALU 的基本指令分类】
(1)算术指令:包括加法、减法、乘法、除法等运算。
这些指令用于实现对数据的算术处理,将其结果保存在寄存器中。
(2)逻辑指令:包括与、或、非、异或、进位等操作。
这些指令用于实现对数据的逻辑处理,根据运算结果改变寄存器中的值。
【3.ALU 的基本指令示例】
以RISC-V 架构为例,其ALU 的基本指令包括:
(1)加法指令:ADD
(2)减法指令:SUB
(3)乘法指令:MUL
(4)除法指令:DIV
(5)与指令:AND
(6)或指令:OR
(7)非指令:NOT
(8)异或指令:XOR
(9)进位指令:CMP
【4.ALU 的基本指令的应用】
ALU 的基本指令在计算机系统中具有广泛的应用。
它们不仅用于处理器内部的数据运算,还用于各种外部设备与处理器之间的数据交互。
例如,在计算机执行程序时,指令集会包含各种ALU 的基本指令,用于实现程序中的逻辑和算术运算。
此外,ALU 的基本指令在嵌入式系统、超级计算机等领域也有着广泛的应用。
EDA技术与应用实验报告(四)实验名称:ALU(算术逻辑运算单元)的设计姓名:陈丹学号:100401202班级:电信(2)班时间:2012.12.11南京理工大学紫金学院电光系一、实验目的1、学习包集和元件例化语句的使用。
2、学习ALU电路的设计。
二、实验原理1、ALU原理ALU的电路原理图如图1 所示,主要由算术运算单元、逻辑单元、选择单元构成。
图1ALU功能表如表1 所示。
表12、元件、包集在结构体的层次化设计中,采用结构描述方法就是通过调用库中的元件或者已经设计好的模块来完成相应的设计。
在这种结构体中,功能描述就像网表一样来表示模块和模块之间的互联。
如ALU 是由算术单元、逻辑单元、多路复用器互相连接而构成。
而以上三个模块是由相应的VHDL 代码产生的,在VHDL 输入方式下,如果要将三个模块连接起来,就要用到元件例化语句。
元件例化语句分为元件声明和元件例化。
1、元件声明在VHDL 代码中要引入设计好的模块,首先要在结构体的说明部分对要引入的模块进行说明。
然后使用元件例化语句引入模块。
元件声明语句格式:component 引入的元件(或模块)名port(端口说明);end component;注意:元件说明语句要放在“architecture”和“begin”之间。
2、元件例化语句为将引入的元件正确地嵌入到高一层的结构体描述中,就必须将被引用的元件端口信号与结构体相应端口信号正确地连接起来,元件例化语句可以实现该功能。
元件例化语句格式:标号名:元件名(模块名)port map(端口映射);标号名是元件例化语句的唯一标识,且结构体中的标识必须是唯一的;端口映射分为:位置映射、名称映射。
位置映射指port map 中实际信号的书写顺序与component 中端口说明中的信号书写顺序一致,位置映射对书写顺序要求很严格,不能颠倒;名称映射指port map 中将引用的元件的端口信号名称赋予结构体中要使用元件的各个信号,名称映射的书写顺序要求不严格,顺序可以颠倒。
计算机组成原理》电大/国开第1~8章形考试题第一章形考1.1计算机系统是由()组成。
正确答案是:硬件、软件计算机系统的层次结构从下至上按顺序划分为()。
正确答案是:数字逻辑层、微体系结构层、指令系统层、操作系统层、汇编语言层、高级语言层1.2计算机硬件系统是由()组成正确答案是:运算器、控制器、存储器、输入输出设备、总线1.4计算机体系结构是指()。
正确答案是:从机器语言或者汇编语言的程序设计人员所见到的计算机系统的属性计算机组成是()。
正确答案是:计算机体系结构的逻辑实现第二章形考2.1(101001)2是(101001)2、(52)8、(00101001)BCD、和(233)16四个数中最小的数。
()正确的答案是“错”。
2.2计算机系统是由()组成。
正确答案是:硬件、软件计算机系统的层次结构从下至上按顺序划分为()。
正确答案是:数字逻辑层、微体系结构层、指令系统层、操作系统层、汇编语言层、高级语言层2.3长度相同但格式不同的2种浮点数,假设前者阶码长、尾数短,后者阶码短、尾数长,其他规定均相同,则它们可表示的数的范围和精度为()。
正确答案是:前者可表示的数的范围大但精度低2.5奇偶校验码通常可以发现单个位错,但是不能确定是哪一位错,还可以发现奇数个位错,但肯定不能发现偶数个位错。
() 正确的答案是“对”2.6两个补码数相加,只有在()时有可能产生溢出。
()正确答案是:符号位相同在定点二进制运算器中,减法运算一般通过()来实现。
正确答案是:原码运算的二进制减法器下列说法中正确的是()。
正确答案是:定点数和浮点数运算都有可能产生溢出在定点数运算中产生溢出的原因是()。
正确答案是:运算的结果超出了机器的表示范围定点数补码加法具有两个特点:一是符号位与数值位分别进行运算;二是符号位向更高位上的进位要舍去。
()正确的答案是“错”。
在定点二进制运算器中,加法运算一般通过原码运算的二进制加法器来实现。
()正确的答案是“错”。
算术逻辑运算单元alu
算术逻辑运算单元AUL是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由“AndGate”(与门)和“OrGate”(或门)构成的算术逻辑单元,主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。
基本上,在所有现代CPU体系结构中,二进制都以补码的形式来表示。
算术逻辑运算单元ALU是进行整数运算的结构。
现阶段是用电路来实现,应用在电脑芯片中。
在计算机中,算术逻辑运算单元ALU是专门执行算术和逻辑运算的数字电路。
ALU是计算机中央处理器的最重要组成部分,甚至连最小的微处理器也包含ALU作计数功能。
在现代CPU和GPU处理器中已含有功能强大和复杂的ALU;一个单一的元件也可能含有ALU。
第二章逻辑运算与ALU2. 1 逻辑运算1 逻辑非逻辑非也称求反。
对某数进行逻辑非运算,就是按位求它的反,常用变量上方加一横来表示。
一位二进制数的逻辑非运算规则为:设一个数x表示成:x = x0 x1x2 (x)n对x的逻辑非,则有:z = z0 z1z2… zn【例】x1=01001011,x2=11110000,求x1,x2的逻辑非[解:]逻辑非x1=10110100逻辑非x2=000011112 逻辑或对两个数进行逻辑或,就是按位求它们的“或”,所以逻辑或又称逻辑加,常用记号“V“或“+”来表示。
一位二进制数的逻辑加运算规则为:x = x0 x1x2…x ny = y0 y1y2…y n若xⅤy = z0 z1 z2 …z n则z i= x iⅤy i (i = 0,1,2,…,n) 【例】x=10100001,y=10011011, 求x∨y。
1 0 1 0 0 0 0 1 x∨ 1 0 0 1 1 0 1 1 y1 0 1 1 1 0 1 1 z即x∨y= 101110113 逻辑与对两数进行逻辑与,就是按位求它们的“与”,所以逻辑与又称逻辑乘,常用记号“∧”或“·”来表示。
一位二进制数的逻辑乘规则为:x = x0 x1x2…x ny = y0 y1y2…y n则z i= x i∧y i (i = 0,1,2,…n)【例】x=10111001,y=11110011,求x∧y。
1 0 1 1 1 0 0 1 x∧ 1 1 1 1 0 0 1 1 y1 0 1 1 0 0 0 1 z即x∧y= 101100014 逻辑异或对两数进行逻辑异或就是按位求它们的模2和,所以逻辑异或又称按位加,常用记号“”来表示。
一位二进制数的逻辑异或运算规则为:x = x0x1x2…x ny = y0y1y2…y n若x和y的逻辑异为z:x⊕y=z=z0z1z2…zn则zi=xi⊕yi, (i=0,1,2,…,n) 【例】x=10101011,y=11001100,求x⊕y。
算术运算单元ALU的设计设计要求:(1)设计4位ALU,可实现8种算术逻辑运算。
a.进行两个四位二进制数的运算。
b.算术运算:A+B,A-B,A+1,A-1c.逻辑运算:A and B,A or B,A not, A xor B(2)4位输入A3—A0、B3---B0用开关设置输入。
(3)8种算术逻辑运算通过3位功能选择开关选择某一种功能。
(4)运算结果用两个数码管显示和2个发光管显示(有一个显示进借位、有一个显示溢出)。
系统框图:设计结构:设计分为输入控制模块、输出选择模块、加减运算模块及逻辑运算模块等部分。
在输入控制部分,利用锁存器,使A和B信号通过脉冲控制同时送入运算电路。
在输出控制模块,选择需要输出的显示信号。
加减运算电路实现加减运算功能。
逻辑运算电路实现逻辑运算功能。
输入控制加减运算加减输出显示输出选择控制逻辑电路逻辑显示(总电路图)功能的实现原理:该电路是是实现四种算术运算和四种逻辑运算功能的算术运算单元电路。
主要是由算术运算模块、逻辑运算模块、输入控制模块和输出控制模块几部分组成。
通过时序输入控制实现信号A,B同时送入到运算电路中进行运算,这样能解决非时序信号先后输入进行运算时产生的错误。
信号送入运算单元后,逻辑运算和算术运算是同时进行的,只是在不同的模块中进行的而已。
而四种算术运算则是通过控制端来进行先后选择运算的。
在输出时只显示一种功能则是通过5片74LS244(三态门芯片)和一些门电路通过控制信号f3,f2,f1置不同的数进行控制的选择输出的,数码显示管显示的算术运算的结果,小灯泡则是用来显示逻辑运算的结果。
f3f2f1置数111、000、001、010、011、100、101、110分别控制的输出显示是A+B,A-B,A与B,A或B,A异或B,非A,A+1,A-1.运算结果是同时被送出的,当f3f2f1被置某一个数时,对应的芯片244的使能端有效,那么相应的功能就被出去显示。
第二章习题答案1.名词解释CPU:中央处理器,是计算机的核心部件,由运算器、控制器和寄存器组构成。
执行单元:执行单元EU是程序中各条指令执行的核心,完成指令译码、运算及其他操作的执行。
执行单元EU从总线接口单元BIU的指令队列缓冲器中取出指令,由EU控制器的指令译码器译码产生响应的操作控制信号送给各部件。
执行单元EU对操作数进行算术运算和逻辑运算,并将运算结果的状态特征保存到标志(状态)寄存器FR(Flags Register)中。
EU 执行单元由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和操作控制器电路等部件组成。
总线接口单元:总线接口单元BIU是CPU在内存和各种I/O接口之间的连接部件,负责CPU 与存储器、I/O端口传送数据,核心功能是控制系统总线。
BIU通过系统总线从内存中提取指令送到指令队列缓冲器中。
CPU执行指令时,总线接口单元要配合EU从指定的内存单元或外设端口中取数据,将数据传送给EU或把EU的操作结果传送到指定的内存单元或外设端口中。
或者把执行部件的操作结果传送到指定的内存单元或外设端口中。
总线接口单元BIU地址加法器、段寄存器、指令队列缓冲器和总线控制电路等部件组成。
指令系统:指令是微处理器执行某种操作的命令,微处理器全部指令的集合称为指令系统。
流水线技术:微处理器的流水线(pipeline)技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
乱序执行:乱序执行(out-of-orderexecution,也可称为错序执行),是指CPU允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。
分支预测:分支预测(Branch Prediction)是指在指令结果出来之前,能够预测到指令是否产生分支转移。
MMX技术:MMX是Multi-media Extension的缩写,中文为多媒体扩展指令集。
MMX是Intel 公司为增强CPU 在音像、图形和通信应用方面而采取的技术,MMX技术是继Intel386(TM)处理器(将体系结构扩展至32位)之后对Intel体系结构的最重要的加强。
第2章习题参考答案18086CPU由哪两部分构成它们的主要功能是什么?答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。
指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成。
其主要功能是执行指令。
总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成。
其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?答:8086CPU的预取指令队列由6个字节组成。
按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。
从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。
8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取并送到指令队列。
3. 8086CPU中有哪些寄存器?各有什么用途?答:CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。
通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。
指令执行部件(EU)设有8个通用寄存器:AX:累加器,一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用BX:基址寄存器,除可作数据寄存器外,还可放内存的逻辑偏移地址CX:计数寄存器,既可作数据寄存器,又可在串指令和移位指令中作计数用DX:DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途源变址寄存器SI:多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据目标变址寄存器DI:多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据基址指针BP:用于存放内存的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中堆栈指针SP:用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置。
实验二算术逻辑单元(ALU)的设计与实现实验目的1.认识算术逻辑单元的功能及意义2.掌握算术逻辑单元的结构与实现3.进一步熟练Modelsim、Vivado软件和Verilog硬件描述语言的使用4.理解Digilent N4 DDR FPGA开发板上数码管显示原理实验原理1.ALU算术逻辑单元(Arithmetic/Logic Unit , ALU)是现代计算机的核心部件之一。
其内部由算术和逻辑操作部件组合而成,可以实现整数加、减等算术运算和与、或等逻辑运算。
一个典型的算术逻辑单元由两路N位输入、一路N位输出、一组功能选择信号和一些标志位(flag)组成。
两路N位输入数据作为参与运算的两个操作数,输入到ALU中,通过改变功能选择信号,控制ALU对两操作数进行不同的算术或逻辑运算操作,并将N位的结果输出,与结果一同输出的还有运算产生的标志位,例如运算结果为零的标记信号Z(zero)与运算结果溢出的标记信号O(over)、进位标志C(CY)、符号位S(SF)等,如图2-1所示。
图2- 1ALU模块示意图在本次实验中,我们把输入和输出的数据长度定为4位,数据输入命名为A、B,数据输出为F,功能控制信号输入为opcode,进位输入为C n,只产生结果为零的zero标志位。
功能控制信号opcode的定义如表2-1所示。
例如:opcode=0001,运算器实现加法运算。
2.数码管显示关于N4 DDR开发板上数码管的显示原理,参见前面的实验准备部分内容。
实验内容1.基础实验。
用实验调试软件验证ALU的功能,并操作分析、记录结果。
图2- 2 ALU虚拟实验示意图(1)运算功能和控制信号①输入输出对于的开关指示灯分配如下:输入信号A:SW(4-7) B:SW(3-0) Cn:SW8 opcode:SW(12-9)输出信号F:LD(12-15) 标志位S :LD(3) Z LD(2) O: LD(1) C: LD(0)②各种运算对应的控制信号及功能,如下表。