计算机组成原理实验二

时间:2024-04-11 19:38:31

一、实验目的与要求
1.1实验目的
(1)了解运算器的组成结构
(2)掌握运算器的工作原理

1.2实验要求
(1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务;
(2)应在实验前掌握所以控制信号的作用,写出实验预习报告并带入实验室;
(3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要自习思考实验有关内容;
(4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要上交老师。

二、实验内容

2.1画实验逻辑原理图

计算机组成原理实验二

2.2逻辑原理图分析
上图为运算器原理图。如图所示运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定(三选一开关),任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志FZ。ALU中所有模块集成在一片CPLD中。
ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。图中除T4和CLR,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。T4由时序单元的TS4提供,其余控制信号均由CON单元的二进制数据开关模拟给出。控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,控制运算器的输出。其余为高有效。
暂存器A和暂存器B的数据以及进位标志FC、零标志FZ和数据总线D7…D0能在LED灯上实时显示。亮表示1,灭表示0。LDA和LDB用于控制算逻部件的输入数据。满足LDA=1且T4传来脉冲信号时,数据将会传入暂存器A,同理当LEB=1且T4传来脉冲信号时,数据传入B暂存器。
逻辑运算部件由逻辑门构成,较为简单,可将两个数据按位进行与、或、异或,以及将一个数据的各位求非。有的运算器还能进行二值代码的16种逻辑操作。
算术运算部件最基本的操作是加法。一个数与零相加,等于简单地传送这个数。将一个数的代码求补,与另一个数相加,相当于从后一个数中减去前一个数。将两个数相减可以比较它们的大小。
移位运算部件采用的是桶形移位器,一般采用交叉开关矩阵来实现,每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:
(1)对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。
(2) 对于循环右移功能,右移对角线同互补的左移对角线一起**。
(3) 对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。

2.3实验步骤
1、连接实验电路,并检查无误。
2、将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档。
3、打开电源开关,如果有警报声响起,说明有总线竞争现象,应立即关闭电源,重新检查连线,直到错误排除。然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零。
4、用输入开关向暂存器A置数
(1)拨动CON单元的SD27——SD20数据开关,形成二进制数01100101(或其他数值),数据显示亮为‘1’,灭为‘0’;
(2)置LDAR=1,LDB=0,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7——A0八位LED灯显示。实验结果如下图所示:
计算机组成原理实验二
图一:用输入开关向暂存器A置数图

5、用输入开关向暂存器B置数
(1)拨动CON单元的SD27——SD20数据开关,形成二进制数10100111(或其他数值)。
(2)置LDAR=0,LDB=1,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数10100111置入暂存器B中,暂存器B的值通过ALU单元的B7——B0八位LED灯显示。实验结果如下图所示:
计算机组成原理实验二
图二:用输入开关向暂存器B置数图
6、改变运算器的功能设置,观察运算器的输出。置ALU_B=0、LDA=0、LDB=0,然后按表3—1置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。
(1)置S3、S2、S1、S0为0000,运算器做逻辑运算,结果如下所示:
计算机组成原理实验二
图三:逻辑运算0000图
(2)置S3、S2、S1、S0为0001,运算器做逻辑运算,图像如下所示:
计算机组成原理实验二
图四:逻辑运算0001图

(3)置S3、S2、S1、S0为0010,运算器做逻辑运算,图像如下所示:
计算机组成原理实验二
图五:逻辑运算0010图
(4)置S3、S2、S1、S0为0011,运算器做逻辑运算,图像如下所示:
计算机组成原理实验二
图六:逻辑运算0011图
(5)置S3、S2、S1、S0为0100,运算器做逻辑运算,图像如下所示:
计算机组成原理实验二
图七:逻辑运算0100图
(6)置S3、S2、S1、S0为0101,运算器做移位运算,图像如下所示:
计算机组成原理实验二
图八:移位运算0101图
(7)置S3、S2、S1、S0为0110,CN = 0运算器做移位运算,图像如下所示:
计算机组成原理实验二
图九:移位运算0110图
(8)置S3、S2、S1、S0为0110,CN = 1运算器做移位运算,图像如下所示:
计算机组成原理实验二
图十:移位运算0110图

(9)置S3、S2、S1、S0为0111,CN = 0运算器做移位运算,图像如下所示:
计算机组成原理实验二
图十一:移位运算0111图
(10)置S3、S2、S1、S0为0111,CN = 1运算器做移位运算,图像如下所示:
计算机组成原理实验二
图十二:移位运算0111图

(11)置S3、S2、S1、S0为1000,运算器做算术运算,图像如下所示:
计算机组成原理实验二
图十三:算术运算1000图
(12)置S3、S2、S1、S0为1001,运算器做算术运算,图像如下所示:
计算机组成原理实验二
图十四:算术运算1001图
(13)置S3、S2、S1、S0为1010(FC = 1),运算器做算术运算,图像如下所示:
计算机组成原理实验二
图十五:算术运算1010图
(14)置S3、S2、S1、S0为1011,运算器做算术运算,图像如下所示:
计算机组成原理实验二
图十六:算术运算1011图

(15)置S3、S2、S1、S0为1100,运算器做算术运算,图像如下所示:
计算机组成原理实验二
图十七:算术运算1100图
(16)置S3、S2、S1、S0为1101,运算器做算术运算,图像如下所示:
计算机组成原理实验二
图十八:算术运算1101图
2.4实验数据和结果分析
实验结果数据
运算类型 A B S3 S2 S1 S0 CN 结果

逻辑运算 65 A7 0000 X F=(65) FC=(0) FZ=(0)
65 A7 0001 X F=(A7) FC=(0) FZ=(0)
65 A7 0010 X F=(25) FC=(0) FZ=(0)
65 A7 0011 X F=(E7) FC=(0) FZ=(0)
65 A7 0100 X F=(9A) FC=(0) FZ=(0)

移位运算 65 A7 0101 X F=(CA) FC=(0) FZ=(0)
65 A7 0110 0 F=(32) FC=(0) FZ=(0)
65 A7 1 F=(B2) FC=(1) FZ=(0)
65 A7
0111 0 F=(CA) FC=(1) FZ=(0)
65 A7 1 F=(CA) FC=(0) FZ=(0)

算术运算 65 A7 1000 X F=(65) FC=(1) FZ=(0)
65 A7 1001 X F=(0C) FC=(1) FZ=(0)
1 2 1010(FC=0) X F=(03) FC=(0) FZ=(0)
65 A7 1010(FC=1) X F=(0D) FC=(1) FZ=(0)
65 A7 1011 X F=(BE) FC=(1) FZ=(0)
65 A7 1100 X F=(64) FC=(0) FZ=(0)
65 A7 1101 X F=(66) FC=(0) FZ=(0)

结果数据分析
(1)运算器能实现二进制算术、逻辑和移位运算;
(2)设置运算器的S3,S2,S1,S0,Cn,可选择运算器的不同功能;
(3)数据的输入、输出以及FC、FZ标志状态要通过LED显示灯观察时都需要按下脉冲单元的ST按钮;
(4)计算前暂存器A、暂存器B或FC、FZ不清零,则会影响运算结果;
(5)实验时当FC=1,清零后重新打入数据时要注意按动ST直到数据改变,(根据LED显示灯的亮灭)否者可能会导致数据没有传入;
(6)根据LED显示灯读数据时或输入数据时,注意方向,A(D)0-A(D)7还是A(D)7-A(D)0;
(7)数据进入哪一个寄存器就必须开启哪一个寄存器。譬如:要使数据只进入暂存器A则必须置LDA=1,LDB=0,且获得T4脉冲信号。

三.实验问题分析、思考题与小结
3.1思考题
CON单元的SD27——SD20数据开关置一个二进制数(任意)、置LDA=1、LDB=0,连续按动时序单元的ST按钮,实现了什么数据通路?
答:数据开关LDA
CON单元的SD27——SD20数据开关置一个二进制数(任意)、置LDA=0、LDB=1,连续按动时序单元的ST按钮,实现了什么数据通路?
答:数据开关LDB
置ALU_B=0、LDA=0、LDB=0、置(S3、S2、S1、S0、M)=11111,实现了什么数据通路,进行了什么运算?
答:LDA,LDBART多路开关BUS,进行的是算数运算,保留。
置ALU_B=0、LDA=0、LDB=0、置(S3、S2、S1、S0、M)=10101,实现了什么数据通路,进行了什么运算?
答:LDA,LDBART多路开关BUS,进行的是算数运算,F=A+B+FC。
5、置ALU_B=0、LDA=0、LDB=0、置(S3、S2、S1、S0、M)=10101,运算结果是多少?
答:F=A+B+FC,FC=0时F=0D,FC=1时,F=0E。
你对74181的功能有哪些认识?
答:74181是4位的算逻单元,其中红色的标示为输入信号,绿色的标示为输出信号。其中A/B为两个输入的操作数据,F为输出的结果,S为ALU功能选择线,包括各种算数运算和逻辑运算等。Cn为低位向它的进位,Cn+4为它向高位的进位,G为进位产生的函数,P为进位传递函数,A=B指示A与B相等的输出信号。通过与74181的级联操作,可以构造更多位数的加法器。
3.2小结
在本次实验中,我通过了解到运算器基本结构了解到运算器的运算方法以及运算器的运行方式可以分为逻辑运算、算术运算、移位运算等方式,由此了解到运算器各种运算的方式。也了解了运算器的基本组成以及它的工作原理,也增强了我的动手能力,体验到了实验的乐趣,下次试验继续努力。

得分(百分制)