!1脱机运算器实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学实验预习报告
学院(系):电子信息与电气工程学部专业:计算机科学与技术班级:1101姓名:郝宽宽学号:201181394
指导教师签字:成绩:
实验一:脱机运算器实验
一、实验目的和要求
(1)理解运算器芯片Am2901的功能和内部组成,运行中使用的控制信号及各自的控制作用;
(2)理解4片Am2901构成16位运算器的具体方案,各数据位信号、各控制位信号的连接关系;
(3)使用24位微型开关中的23位控制信号确定运算与处理功能。
二、实验原理、逻辑框图和实验设备
实验原理:
①运算器脱离与计算机主机的连接;
②数据开关拨入参加运算的数据;
③微型开关提供操作运算器运行必须控制信号;信号指示灯观察运算结果,信号
亮表示高电平1,信号灯灭表示低电平0;
④最低位的进位输入信号Cin和左右移位输入信号RAM0、Q0、RAM15、Q15由MACH
内部SHIFT线路提供。
Am2901内部组成逻辑框图:
4片Am2901构成16位运算器逻辑框图:
实验设备:
清华大学 TEC-XP 实验箱的MACH 部分
三、实验内容
(1)实现如下6项操作功能:R0 ← 1234,R9 ← 789F ,R9 ← R9-R0 ,R0 ← R0+1 ,R10← R0 ,R9 ← R9^R0 。
(2)找出上述实现每一操作功能要用到的控制码。填写表中各组控制信号正确值,然后填入运行结果的状态信息表。
四、实验步骤
(1)将教学机左下方的 5 个拨动开关置为1XX00(单步、16 位、脱机);先按一下“RESET ”按键,再按一下“START ”按键,进行初始化。
(2)按实验内容(1)的操作在机器上进行运算器脱机实验,输入时需要转换通过两个12 位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。
(3)二进制数据由拨动开关SW 给出的(注:实验所给数据为十六进制数,需要转化为二进制输入)。按“START ”按键之前,ALU 输出的是计算结果,A 、B 口数据锁存是在时钟的下降沿,通用寄存器的接收是在低电平,要想寄存器接收ALU 计算结果必须按一次“START ”。
(4)记录实验数据并分析。
D11~D8 Y 15~Y12
Am 2902
Cn+z /G /P Cn+y /G /P Cn+x /G /P
OVR Q0
RAM 0 Cin
I 8~I0
B 地址
A 地址
/OE CP
Q15 RAM15 Cy
F15
D
D7~D4
D15~D12 Y3~Y0
Y7~Y4
Y 11~Y8
F=0
+5v
低位 Am2901
高位 Am2901
R
大连理工大学实验报告
学院(系):电子信息与电气工程专业:计算机科学与技术班级:1101
姓名:郝宽宽学号:201181394
指导教师签字:成绩:
实验一:脱机运算器实验
一、实验操作步骤
(1)将教学机左下方的5 个拨动开关置为1XX00(单步、16 位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。
(2)按预习报告实验内容(1)的操作在机器上进行脱机运算器实验。如:R0 ← 1234。通过指示灯观察运算结果及状态标志。
(3)二进制数据由拨动开关SW给出的(注:实验所给数据为十六进制数,需要转化为二进制输入)。如:1234表示十六进制数,转化为二进制为0001 0010 0011 0100,在SW16位数据开关从左到右依次输入(0表示开关拨下去为低电平,1表示开关拨上去为高电平)。
(4)数据输入后将数据赋值给16位寄存器地址单元R0(如B地址给0),则需要用到两个12位的红色微型开关向运算器提供控制信号。将B端口对应的区域设置为0000,A 端口对应的区域关闭。
I2-0为111表示将操作数分别为0和所输入的数据。
I5-3为000表示将两个操作数相加。
I8-6为011表示将赋值结果输出并给B端口地址的寄存器单元保存(按“START”键之后)。
SST设置为001表示接受ALU的标志位输出的值
SSH SCI均置为00 00 无最低位进位。
此时输出信号灯Y15-0会显示0001 0010 0011 0100(0表示等灭,1表示灯亮),即1234H。
(5)按“START”按键之前,ALU 输出的是计算结果,A、B 口数据锁存是在时钟的下降沿,通用寄存器的接收是在低电平,要想寄存器接收ALU计算结果必须按一次“START”。
(6)记录实验数据,并进行分析。
二、实验数据记录
预期功能
控制信号
I8-6 I5-3 I2-0 SST A地址B地址SCI SSH
R0←1234 011 000 111 001 0000 0000 00 00 R9←789F 011 000 111 001 0000 1001 00 00 R9←R9-R0 011 001 001 001 0000 1001 01 00 R0←R0+1 011 000 011 001 0000 0000 01 00 R10←R0 011 000 100 001 0000 1010 00 00 R9←R9ΛR0 011 100 001 001 0000 1001 00 00
功能
按START之前按START之后
Y15-0 C Z V S Y15-0 C Z V S
R0←1234 0001 0010 0011 0100 0 0 0 0 0001 0010 0011 0100 0 0 0 0
R9←789F 0111 1000 1001 1111 0 0 0 0 0111 1000 1001 1111 0 0 0 0
R9←R9-R0 0110 0110 0110 1011 0 0 0 0 0101 0100 0011 0111 1 0 0 0
R0←R0+1 0001 0010 0011 0101 1 0 0 0 0001 0010 0011 0110 0 0 0 0
R10←R0 0001 0010 0011 0101 0 0 0 0 0001 0010 0011 0101 0 0 0 0
R9←R9ΛR0 0000 0010 0010 0001 0 0 0 0 0000 0010 0010 0001 1 0 1 0
三、实验结果与分析
本实验可以用不同的方法来实现。但是,此次实验采用了PPT中建议的方式。
主要分析在按START之前和之后数据的状态。如操作R0 ← 1234:在初始化(RESET)并开始(START)之后,给B端口选一个单元地址R0(即,B=0000),并将1234H赋值给B,ALU执行R0←B(R0)+0运算并显示信号(0001 0010 0011 0100)。尽管如此,但运算器没有把操作结果存储在R0,只有当按下START后,才会将数据保存在R0中,此时因为另外的操作数为0,故ALU又执行了一遍R0←B(R0)+0后输出仍未改变。
又如R0←R0+1:按START前后ALU输出的值不一样了,原因在于按START之后R0保存了正确答案,但是此时ALU又执行了一遍R0←R0+1(如表按后输出加了1)。
如逻辑运算R9←R9ΛR0:由等幂律可知,R9ΛR0ΛR0=R9ΛR0,故即使在按START 之后,ALU输出仍然不变。
四、讨论、建议、质疑
运算器是计算机运算的核心,它通过接受来自控制器的控制信号来操作输入的数据,同时通过SST信号来控制它的标志输出,完成相应的反馈和运算。
通过学习它处理数据的原理,加深了对汇编语言运算的理解。但是此实验并没有反应出控制信号的原理,导致不能够很清楚的理解在做减法的时候为什么最低位需要进一,因为通过补码的运算算出的结果和实验结果有出入。如果了解了控制信号的原理,会更加深入了解运算的过程。