运算器实验报告汇总
- 格式:docx
- 大小:562.12 KB
- 文档页数:15
井合肥禽院
HEFEI UNIVERSITY
计算机科学与技术系
实验报告
专业名称 _____ 计算机科学与技术___________
课程名称计算机组成与结构_____________
项目名称基本运算器实验______________
班级 __________________________________
学号 __________________________________
姓名 __________________________________
同组人员 ____________ 无____________________
实验日期2015-11-1 __________________
一、实验目的
1. 了解运算器的组成结构;
2. 掌握运算器的工作原理。
二、实验逻辑原理图与分析
2.1 实验逻辑原理图及分析运算器内部含有三个独立运算部件,分别是算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如
ARM,)各部
件对操作数进行何种运算由控制信号S3--S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。
如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。
ALU中所有模块集成在一片CPLD中。
逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不在赘述。
移位运算采用的是桶形移位器,一般采用交叉开关矩形来实现。
每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可以实现移位功能,即:
⑴ 对于逻辑左移或者逻辑右移功能,将一条对角线的开关导通,这将所有
的输入位与所使用的输出分别相连。
而没有同任何输入相连的则输出连接0.
⑵ 对于循环右移功能,右移对角线同互补的左移对角线一起激活。
⑶ 对于未连接的输出位,移位时使用符号扩展或者是0填充,具体由相应
的指令控制,使用另外的逻辑进位移位总量译码和符号判别,
运算器部件由一片CPLD实现。
ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯表明进位标志FG图中除T4和CLR其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。
T4由时序单元的TS4提供,其余控制线号均由CON单元的二进制数据开关模拟给出。
控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。
运算器原理图
暂存器A和暂存器B的数据能在LED灯上实时显示,原理如图所示。
进位标志FC零标志FZ和数据总线D7…D0的显示原理也是如此。
A0显示原理图
ALU和外围电路的连接如图所示,图中的小方框代表排针座。
在运算器的逻辑功能表中,S3、S2、S1、S0及CN为控制信号,FC为进位标志,FZ为运算器零标志,在功能栏内的FC FZ表示当前运算会影响到该标志。
三、数据通路图及分析(画出数据通路图并作出分析)
如果实验箱和PC联机操作,则可通过软件中的数据通路图来观测实验结果。
操作过程为:打开软件,选择联机软件的“实验一一运算器实验”,打开运算器实验的数据通路图,如下图所示。
进行手动操作,每按动一次ST按钮,数据通路图会有数据的流动,反应当前运算器所做的操作或在软件中选择“调试一一单节拍”,其作用相当于将时序单元的状态开关KK2置为'单拍'档后按动了一次ST 按钮,数据通路图也会反应当前运算器所做的操作。
数据通路图
四、实验数据和结果分析
4.1实验结果数据和结果数据分析如图所示
⑴将两个数的值置入暂存器中A和B中
⑵逻辑运算:置ALU_B=0 LDA=0,LDB=0 S3 S2、S1、S0=001Q 做与运算:
置ALU_B=0 LDA=0,LDB=0 S3、S2、S1、S0=0011,做A+B运算:
ALU B
IE
置 ALU B=0 LDA=0,LDB=0 S3、S2、S1、S0=0100,做 A 取反运算:
运算胖实验
LDA
LDB
SO
A B L .
FC
⑶移位运算:置 ALU_B=0 LDA=0,LDB=0 S3 S2、S1、S0=0101,做 A 不带 进位循环右移B (取低三位)运算:
运律器实验
LDA:
LDS
S 3
SJ
ART=:
Tl
ALU…B ART=
L OO ■■
SHF=
SQ
J SV
B"
置ALU_B=0 LDA=O丄DB=0 S3、S2、S1、S0=0110,当CN=0时做 A 逻辑右移
一位:
置ALU_B=O LDA=O,LDB=O S3、S2、S1、S0=0110,当CN=1 时做 A 带进位循环右移一位:
置ALU_B=0 LDA=0,LDB=0 S3、S2、S1、S0=0111,当CN=0时做A逻辑左移一位:
L C
M
L開
置ALU_B=0 LDA=O丄DB=0 S3、S2、S1、S0=0111,当CN=1 时做 A 带进位循
环左移一位:
ALU.El
IDA:
IDB:
B3
S2-
S1
SO
€n
FC:
⑷算术运算:置ALU_B=0 LDA=O,LDB=0 S3 S2、S1、S0=1000,置FC=CN 运算:
置ALU_B=0 LDA=0,LDB=0 S3 S2、S1、S0=1001,做A+B运算:
置ALU_B=O LDA=O,LDB=0 S3、S2、S1、S0=1010,当FC=1 时,做A+B+FC 运算:
置ALU_B=0 LDA=0,LDB=0 S3 S2、S1、S0=1011,做A-B 运算:
FZ
置ALU_B=0 LDA=0,LDB=0 S3、S2、S1、S0=1100,做A-1 运算:
置ALU_B=0 LDA=0,LDB=0 S3、S2、S1、S0=1101,做A+1 运算:
运席器实验
CY2
疋严LM
五、实验问题分析、思考题与小结
5.1实验问题分析
实验要完整无错误的进行,首先要确保实验接线图连线的正确性才能确保在进行实验时数据通路流向以及数据的的正确性,这样才能到达实验的目的;在进行实验过程中需要理解每一步骤的原因,也加强自己的理解性和掌握程度;在实验过程中活树会遇到线路正确但数据错误,这能很有可能是自己连接线路有问题,所以在连接线路上一定要保证每条线是否正确。
5.2思考题
⑴CON单元的SD27-SD20的数据开关置一个二进制数(任意)、置LDA=1
LDB=0连接按动时序单元的ST按钮,实现了什么数据逻辑?
答:实现了向暂存器A中存入一个二进制数。
⑵CON单元的SD27-SD20的数据开关置一个二进制数(任意)、置LDA=0
LDB=1连接按动时序单元的ST按钮,实现了什么数据逻辑?
答:实现了向暂存器B中存入一个二进制数。
⑶ 置ALU_B=O LDA=0 LDB=0 置(S3、S2、S1、SO、M)=11111,实现了什么数据通
路,进行什么运算?
答:实现了算数运算,数据通路是ALU单元到CPU内部总线。
⑷置ALU_B=O LDA=0 LDB=O 置(S3、S2、S1、SO、M)=10101,实现了什么数据通
路,进行什么运算?
答:实现了的运算是F=A+B+FC数据通路是ALU单元到CPU内部总线。
⑸置ALU_B=O LDA-0、LDB=O 置(S3、S2、S1、SO、M)=10101,运算结果是什
么?
答运算结果是当FC=1时F=OD,当FC=O是F=OC
⑹ 你对74181 的功能有哪些认识?
答:74181 是 4 位的算逻单元,其中红色的标示为输入信号;绿色的标示为输出信号;其中A/B为两个输入的操作数据;F为输出的结果;S为
ALU功能选择线:包括各种算术元算和逻辑运算等;Cn为低位向他的进
位,Cn+4为他向高位的进位;G为进位产生函数;P为进位传递函数;
A=B为指示A与B相等的输出信号。
利用它可以组成多位全加器。
5.3 小结在本次实验做的是运算器实验,主要完成逻辑运算、移位运算及算术运算。
刚开始时,对实验中操作的结果不是很理解,后来随着在实验操作过程中数据连通图会相应的变化,也明白了每步操作的目的。
在实验中S3、S2、S1、SO为控
制信号,通过他们完成相应运算,比如:当S3、S2、S1、S0=1001时,表示A+B 的运算结果。
所以呢,这次的实验不是很难,做起来很轻松。
当然,在上课前预习很重要,要明白每个部件的含义及作用,这样在实验过程中条理会清晰些。
得分(百分制)
实验报告分析评价。