科 技 学 院
综合实验报告
( 20## -- 20## 年度第 一 学期)
名 称:计算机组成原理综合实验
题 目:运算器实验
院 系:信息工程系
班 级:
学 号:
学生姓名:
指导教师:李梅王晓霞
设计周数:第十八周
成 绩:
日期: 年 月
一、目的与要求
1. 熟悉与深入理解4位的运算器芯片Am2901的功能和内部组成,运行中要求使用的控制信号及其各自的控制作用;
2. 熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方案,各数据位信号、各控制位信号的连接关系;
3. 熟悉与深入理解用2片GAL20V8芯片解决ALU最低位的进位输入信号和最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理;
4. 明确教学计算机的运算器部件,使用总计23位的控制信号就完全确定了它的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关中的23位提供这些控制信号,教学计算机正常执行指令时,这些控制信号必须改由控制器部件来提供。在两种方式下,每一位(组)的控制功能是完全相同的。
二、实验正文
1.实验内容
1.1 脱机运算器和联机运算器的区别和联系
运算器是计算机硬件系统传统的5大功能部件之一,承担执行运算和暂存运算数据的功能,通常由执行算术逻辑运算功能的ALU线路、暂存参加ALU运算的数据和中间运算结果的通用寄存器组、支持乘除法运算的专用寄存器三部分组成,三个部分之间通过多路选择器线路实现连接,从而构成一个完整的运算器部件。
TEC-XP16教学计算机的运算器部件,主体部分由4片4位长度的位片结构的运算器芯片Am2901组成,每片Am2901可以接收来自内部总线IB的4位输入数据,其4位输出都直接送到地址寄存器AR的不同字段(AR不属于运算器的组成部分,图中用虚线框表示),并且经过支持三态功能的开关门电路送到内部总线IB。还要使用MACH芯片内部的部分电路提供ALU最低位的进位输入信号和最高、最低位的移位输入信号,使用一片GAL20V8实现4位的标志位寄存器FLAG,接收ALU输出的4个标志位信号和来自内存堆栈区的4位数据(用于恢复现场状态信息),FLAG的4位输出可以经过一片带支持三态功能的开关门电路送到内部总线IB,用于保存现场状态信息到堆栈区。教学机运算器部件的组成线路和信息连接关系如图2.1所示。
图2.1 运算器组成线路和信息连接关系
运算器部件的教学实验,要在教学计算机主板上进行,既可以在脱机方式下完成,也可以在联机方式下完成。
脱机运算器实验方式是指使运算器部件完全脱离与计算机主机其他部件正常的连接关系,在完全孤立出来的运算器上进行的教学实验。此时,只能通过数据开关拨入参加运算的数据,通过微型开关提供操作运算器运行所必需的控制信号,通过信号指示灯观察运算结果,操作简单,实验结果清晰易理解。图2. 2为16位运算器脱机实验的环境,在计原16系统中,运算器最低位的进位输入信号Cin和左右移位输入信号RAM0、Q0、RAM15、Q15是由MACH芯片内部的SHIFT线路提供的,图左侧的长方形部分是MACH内部的线路。16个开关拨入的数据经开关门电路送到内部总线,内部总线与运算器的输入端D15~D0已经连接。23位的微型开关的不同组合完成不同的控制,其各编码对应的控制功能给出在表2-1。
图2.2 脱机运算器实验的环境
联机实验方式是指在运算器部件与计算机主机保持正常连接关系,教学计算机可以正常执行指令的情况下进行的以运算器为重点的教学实验。此时,可以通过指令提供参加运算的数据,通过控制器提供操作运算器运行所必需的控制信号,通过信号指示灯或者通过运行监控程序观察运算结果,操作略显复杂,涉及到目前尚未讲解到的如何让控制器提供运算器实验所要求的控制信号的办法,有一定难度,当然完成实验后的收获也会更大,提前接触到控制器部件的一些内容。
1.2 脱机运算器实验微型开关各字段的控制功能
TEC-XP 16脱机运算器实验微型开关各字段的控制功能
1.3 脱机运算器实验
1.脱机的运算器实验,在教学实验中实现如下7项操作功能:
预期功能 实现方案
R0 ← 1234 数据开关拨1234, B地址给0, D+0, 结果送B口选的R0
R9 ← 789F 数据开关拨789F, B地址给9, D+0, 结果送B口选的R9
R9 ← R9-R0 B地址9,A地址给0,最低位进位给1,B-A,结果送B口选的R9
R0 ← R0+1 B地址给0,最低位进位给1,B+0, 结果送B口选的R0
R10← R0 B地址给A,A地址给0, A+0, 结果送B口选的R10
逻辑右移
R0 ← R9^R0 B地址给0值, A地址也给9值, B^A并实现逻辑左移操作
Q ← R9 A地址给9, 通用寄存器不接收,A+0,结果送Q寄存器
在有了预期功能和实现方案之后,要解决的具体问题,就是依据教学计算机的简明操作卡中的有关表格中规定的内容,找出实现每一操作功能要用到的控制码。
有了预期功能和实现方案后,要解决具体问题,就是依据教学计算机的简明操作卡中的有关表格中的规定内容,找出实现每一操作功能要用到的控制码。请把下表中各种控制信号的正确取值填写在相应位置。
表 1
将上述七项运算的执行结果填进下表。
表2
还是采用脱机运算器的方法,完成表3。
表3
1.4 联机方式
三、综合实验总结
1. 实验难点
2. 心得体会
第二篇:实验二 运算器实验
南京工程学院 计算机工程学院
计算机组成与结构实验报告书
实验学生班级 实验学生姓名 王云峰 学 号 240121525 实 验 地 点 信息楼A115
实验二 运算器实验
同组同学 李翔240121515(合作小组朱赛杰240121533)实验日期 11月27日
一、实验目的
1. 加深对Am2901运算器内部组成的了解, 掌握四片Am2901芯片间的连接关系, 以及它与有关外部逻辑电路的连接关系。
2. 准确把握该运算器的控制与使用, 即掌握其运算与操作功能, 以及正确地为其提供全部控制信号及有关数据的手段与技术。
3. 初步了解运算器在计算机整机中的作用。
二、 实验内容
1. 脱机方式下运算器的控制及运行 设计控制信号序列,在脱机方式实现给定程序段的功能。记录按压START前后的ALU的运算结果和状态标志。
2. 联机方式下运算器的控制及运行 在联机方式下,汇编并单步执行给定程序段,查看并记录每条指令执行后的运行结果。使用指令的单步骤执行方式,观察与运算器相关的控制信号的状态。
三、实验步骤与结果
脱机的运算器实验,在教学实验中实现如下7项操作功能:
预期功能实现方案
R0 ←1234 数据开关拨1234,B地址给0,D+0,结果送B口选的R0 R9 ←789F 数据开关拨789F,B地址给9,D+0,结果送B口选的R9
R9 ←R9-R0 B地址9,A地址给0,最低位进位给1,B-A,结果送B口选的R9 R0 ←R0+1 B地址给0,最低位进位给1,B+0,结果送B口选的R0 R10←R0 B地址给A,A地址给0,A+0,结果送B口选的R10
逻辑右移
在有了预期功能和实现方案之后,要解决的具体问题,就是依据教学计算机的简明操作卡中的有关表格中规定的内容,找出实现每一操作功能要用到的控制码。请把表2-3中各组 1
控制信号的正确的取值填写在相应位置,然后把运行结果的状态信息填入表2-4。
2
思考题:执行R0+1时,为什么输出Y15-Y0为1234,而不是1235?
左右移位时,是通用寄存器本身移位,还是它与Q寄存器联合移位是怎么区分的? 最高、最低位的移位输入信号是怎么给出的?C在移位中有什么作用? 联机的运算器实验,改用教学计算机的指令实现上述脱机运算器实验完成的功能。需要指出的是不能在教学机的已有指令中实现Q←R9 的处理功能,因为运算器内部的乘商寄存器Q属于汇编程序员是不能访问的专用寄存器,只需完成剩余的其他6项功能即可。例如可以用A命令建立该程序,操作步骤如下。 A 2000
2000: MVRD R0, 1234 2002: MVRD R9, 789F 2004: SUB R9, R0 2005: INC R0
2006: MVRR R10,R0 2007: SHR R9 2008: RET
可以用G命令运行这个程序,查看程序的最终运行结果为: R0的内容为1235,R9的内容为3335,R10的内容为1235。
也可以用T命令在单指令方式下运行这个程序,查看程序的每个语句执行后的运行结果为: 第1条指令执行后,R0 的内容为1234; 第2条指令执行后,R9 的内容为789F; 第3条指令执行后,R9 的内容为666B; 第4条指令执行后,R0 的内容为1235; 第5条指令执行后,R10的内容为1235;
第6条指令执行后,R10的内容为3335,并且标志位C的值为1;
这个程序的最后一个语句用于结束程序的运行过程,使教学计算机返回监控状态。
也可以用指令的单步骤执行方式运行这个程序,此时需要把上述程序的最后一个语句从
3
RET修改为JR 2000,再用G命令运行这个程序时,这个程序将进入无休止的循环执行状态,以便有机会进入指令的单步骤执行方式。具体办法是,在这个程序处于循环执行的过程中,把教学机的5个功能选择开关中最左面的一个(STEP/CONTINUE)从朝下拨为朝上的方向,使教学计算机从正常运行进入指令的单步骤执行方式。此时,教学机可能处于上述7条指令的任何一条指令的任何一个执行步骤,此时可以通过查看指令寄存器的内容了解正在执行的是哪一条指令,查看当前微指令地址(运行微程序控制器)或者节拍发生器的状态(运行组合逻辑控制器)了解正在执行的是相关指令哪一个执行步骤,查看提供给运算器的23位控制信号的状态和运算器的执行结果,上述6条指令都一定有一个执行步骤实现的功能、使用的控制信号的状态与脱机运算器实验中的一个相关步骤相对应。这之后每按一次启动按钮,教学机将执行指令的一个步骤;前一条指令执行结束后将自动进入下一条指令的执行过程,可以执行到程序中的每一条指令的每一个执行步骤,同学可以观察自己感兴趣的全部有关结果和控制信号的状态。当然在这个执行过程中遇到的许多问题和相关知识目前尚未讲解,会存在许多的疑问,这正好为后续的学习提供了某些线索。此时同学应该把主要注意力放到上述6条指令执行过程中的、与脱机运算器实验中的一个相关步骤相对应的那个执行步骤,查看运算器的执行结果和送到运算器的23位控制信号,找出两种实验方式(脱机与联机)下运算器运行的相同结果,差异只是控制信号的提供方发生了变化,脱机方式下是通过24位的微型开关中的23位为运算器提供控制信号,联机方式下则是通过教学机的控制器为运算器提供这23位的控制信号。
四、实验分析与思考
1. 说明在脱机方式下运算器的数据来源、三组控制信号及A、B端口的地址来源。 ①运算器的数据来源于16位数据的拨动开关(仪器的右下角的那16个黑色的开关) ②三组控制信号来源:用24位微型开关来提供控制信号
③AB端口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号
关于上面的三个问题的叙述的图解:
4
2. 说明在联机方式下运算器的三组控制信号及A、B端口的地址来源。
此时可以通过PC机的输入各种指令来提供数据了
三组控制信号,由控制器来提供。
A,B端口地址应该还是操作数的寄存器地址吧
3. 理解ALU输出及SVZC状态在按压START键前后的变化。
① ALU输出的东西是计算的结果,按START键之后,寄存器接收到了ALU计算结果,以进行接下来的操作。
②SVZC状态在按压START键前后的变化的理解:
c进位标志(进位变1)例如本次实验:
z是否为0(本次实验皆为0)
v溢出标志(本次实验未有溢出)
s符号标志
4.说明运算器与有关外部逻辑电路的连接关系及其控制字段。
5
所示。主体部分由4片4位长度的位片结构的运算器芯片Am2901组成,每片Am2901可以接收来自内部总线IB的4位输入数据,其4位输出都直接送到地址寄存器AR的不同字段(AR不属于运算器的组成部分,图中用虚线框表示),并且经过支持三态功能的开关门电路送到内部总线IB。还要使用MACH芯片内部的部分电路提供ALU最低位的进位输入信号和最高、最低位的移位输入信号,使用一片GAL20V8实现4位的标志位寄存器FLAG,接收ALU输出的4个标志位信号和来自内存堆栈区的4位数据(用于恢复现场状态信息),FLAG的4位输出可以经过一片带支持三态功能的开关门电路送到内部总线IB,用于保存现场状态信息到堆栈区。
6
I8-6:Y的输出,通用寄存器接收,Q寄存器接收
I5-3:运算功能选择
I2-0:数据组合选择状态
SST:寄存器接收
SCI:最低进位
SSH:移位控制
A:A端口地址
B:B端口地址
各个控制字段的功能表即:
7
8