北 京 林 业 大 学
11学年—12学年第 2 学期计算机组成原理实验任务书
专业名称: 计算机科学与技术 实验学时: 2 课程名称:计算机组成原理 任课教师: 张海燕 实验题目:实验三 运算器部件实验 实验环境: TEC-XP+教学实验系统、PC机 实验内容
1.脱机情况下,实现往寄存器中送数、加、减、与、或、非、异或、左移、右移的运算。
2.在脱机情况下,通过数据开关拨入参加运算的数据,通过微型开关提供操作运算器运行所必需的控制信号,通过信号指示灯观察运算结果。
3.联机情况下,通过教学计算机的指令实现脱机运算器实验完成的功能。
实验目的
1.深入理解运算器芯片Am2901的功能和内部组成,运行中使用的控制信号及各自的控制作用;
2.熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方案,各数据位信号、各控制位信号的连接关系;
3.明确教学计算机的运算器部件,使用总计23位的控制信号就完全确定了它的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关中的23位提供这些控制信号,教学计算机正常执行指令时(即运算器联机时),这些控制信号必须改由控制器部件来提供。在两种方式下,每一位(组)的控制功能是完全相同的。
实验要求
1.实验之前认真预习,明确实验的目的和具体实验内容,写出实验用到的数据和控制信号的取值,做好实验之前的必要准备。
2.想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果;
3.在教学实验过程中,要爱护教学实验设备,记录实验步骤中的数据和运算结果,仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。
4.实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,运算结果的分析讨论,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。
5.请提前在ftp://202.204.125.21/zhanghaiyan/teaching_plan/本科生/计算机组成原理/实验/下载《TEC-XP+技术说明和实验指导》,阅读P22-24的内容:2.2.3运算器部件实验。
实验说明
运算器是计算机硬件系统传统的5大功能部件之一,承担执行运算和暂存运算数据的功能,通常由执行算术逻辑运算功能的ALU线路、暂存参加ALU运算的数据和中间运算结果的通用寄存器组、支持乘除法运算的专用寄存器三部分组成,三个部分之间通过多路选择器线路实现连接,从而构成一个完整的运算器部件。
TEC-XP16系统的运算器部件的主体部分由4片4位长度的位片结构的运算器芯片Am2901组成,每片Am2901可以接收来自内部总线IB的4位输入数据,其4位输出都直接送到地址寄存器AR的不同字段(AR不属于运算器的组成部分),并且经过支持三态功能的开关门电路送到内部总线IB。
脱机运算器实验方式是指使运算器部件完全脱离与计算机主机其他部件正常的连接关系,在完全孤立出来的运算器上进行的教学实验。此时,只能通过数据开关拨入参加运算的数据,通过微型开关提供操作运算器运行所必需的控制信号,通过信号指示灯观察运算结果,操作简单,实验结果清晰易理解。 下面先把课上讲过的、与该实验直接有关的结论性内容汇总如下。 1.12位微型开关的具体控制功能分配如下:
A口、B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号;
I8-I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位的控制码;其中:
I8-6: 选择操作数处理结果和运算器输出内容的3位控制码。 I5-3:选择运算操作功能的3位控制码。 I2-0:选择操作数来源的3位控制码。
I8-I0控制信号的功能如表1-a、表1-b、表1-c所示。
SCI、SSH和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理AM2901产生的状态标志位的结果。
表1-a I2-0控制信号的功能(选择操作数来源)
编码 R 000 001 010 011 100 101 110 111 其中:
R、S:表示两个操作数。
A、B:源与目的操作数的寄存器编号; Q:乘商寄存器; D:立即数。
表1-b I5-3控制信号的功能(选择运算操作功能)
I5-3 编码 功能 000 001 R+S S-R A A 0 0 0 D D D S Q B Q B A A Q 0 I2-0 010 011 100 101 110 111 R-S R∨S R∧S ¬R∧S R⊕S ¬(R⊕S) 表1-c I8-6控制信号的功能(选择操作数处理结果和运算器输出内容)
I8-6 编码 Y 000 001 010 011 100 101 110 111 2.开关位置说明:
做脱机运算器实验时,要用到提供24位控制信号的微动开关和提供16位数据的拨动开关。微动开关是红色的,一共有三个,一个微动开关可以提供12位的控制信号,三个开关分别标有SW1 micro switch、SW2 micro switch和SW3 micro switch,它们对应的控制信号见表2;数据开关是黑色的,左边的标有SWH的是高8位,右边的标有SWL的是低8位。
表2 微动开关与控制信号对应关系(由左到右)
SW1 Micro switch SW2 Micro switch SW3 Micro switch REG F→B F→B F/2→B F/2→B 2F→B 2F→B Q F→Q Q/2→Q 2Q→Q F F A F F F F F T3-T0 REQ/MIO/WE I2-I0 I8-I7 I6-I3 B PORT A PORT SST SSH SCI DC2 DC1 MIO、REQ、WE:内存读写和I/O读写
I8~I6:Y的输出、通用寄存器接收、Q寄存器接收 I5~I3:运算功能选择
I2~I0:数据组合选择状态
A口、B口:用于选择源与目的操作数的寄存器编号 SST:处理状态标志位的结果
SSH、SCI:最低位的进位、移位信号的入/出 DC1、DC2:用于中断
其中MIO、REQ、WE控制信号的控制功能如表3所示,SST控制信号的控制功能如表4所示,SSHSCI控制信号的控制功能如表5所示。
表3 MIO、REQ、WE控制信号的控制功能
MRW 000 001 010 011 1XX 功能 内存写 内存读 I/O 写 I/O 读 无读写 表4 SST控制信号的控制功能
SST 000 001 010 011 100 101 110 111 0 1 RAM0 RAM15 Q0 Z Z Z Z Z C C CY Z Z F=0 V V OVR 内部总线 V V V V V S S S S S S S F15 表5 SSHSCI控制信号的控制功能
SSHSCI 000 001 010 Cin/Shift Cin=0 Cin=1 Cin=C 100 101 3.开关检测
逻辑移位 循环移位 红色微动开关是该实验系统使用寿命最短的器件,开关好坏的检测方法比较简单,将6个控制机器工作方式的开关置于“1XX000”,从左面起第二个和第三个的开关处于任意位置,然后将三个微动开关上的小纽子(节拍除外)依次置为1(开关拨到上方为1),看对应的指示灯是否亮,然后再将其置为0,相应的指示灯会灭,如果有一个或数个指示灯不能正常点亮或者灭,则一般是开关出了问题。
将所有的微动开关都拨到下方。
实验注意事项
1.连接电源线和通讯线前TEC-XP+实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP+实验系统上的芯片和PC机的串口造成损害。 2.六个黑色控制开关的功能示意图如下:(开关拨到上方表示为1,拨到下方为0,x表示任意) 单步
手动置指令
组合逻辑
联机
8位
FPGA
上面 下面
连续
从内存读指令 微程序
脱机
16位
MACH
3.几种常用的工作方式(开关拨到上方表示为1,拨到下方为0,x表示任意)
工作方式 连续运行程序、组合逻辑控制器、联机、16位机、MACH 连续运行程序、微程序控制器、联机、16位机、MACH 六个拨动开关 001100 000100 单步、手动置指令、组合逻辑控制器、联机、16位机、MACH 111100 单步、手动置指令、微程序控制器、联机、16位机、MACH 110100 16位机、脱机运算器实验、MACH 连续运行程序、联机、16 位机、FPGA 1XX000 00X101 实验步骤
1.在断电状态下,取出TEC-XP+实验系统,将桌子上的串口线连接到TEC-XP+实验系统的串口(离电源接口远的);连接电源,将电源线的连到TEC-XP+实验系统的电源接口。
2.将教学机左下方的6个拨动开关置为1XX000(单步、16位、脱机、MACH)。 3.打开电源,船形开关和5V电源指示灯亮。先按一下“RESET”按键,再按一下“START”按键,进行初始化。 4.脱机运算器实验
(1)根据表6几项,填完其它预期功能的实现方案
表6预期功能及实现方案
预期功能 R0←0101 R1←1010 R0←R0+R1 R0←R0-R1 实现方案 数据开关拨0101,B地址给0,D+0,结果送B口选的R0 数据开关拨1010,B地址给1,D+0,结果送B口选的R1 A地址给1,B地址给0,A+B,结果送B口选的R0 A地址给1,B地址给0,最低位进位给1,B-A,结果送B口选的R0 R0←R0∨R1 R0←R0∧R1 R0←R0⊕R1 R0←¬(R0⊕R1) R1←¬R1∧R0 R1←2*R1 R0←R0/2 (2)在有了预期功能和实现方案之后,要解决的具体问题,就是依据表1的有关内容,找出实现每一操作功能要用到的控制码。请把表7各组控制信号的正确的取值填写在相应位置(SST和SSHSCI的取值已经给出,不用自己填,但是需要拨动相应的开关),根据取值拨动相应的微动开关(开关拨到上方为1),相应的灯会亮或灭(灯亮表示1,灯灭表示0),然后把运行结果的状态信息填入
表8 注意:
(1)前两条指令,需要通过拨动开关SW给出两个立即数0101和1010。开关给的是二进制的信号,注意二进制和十六进制间的转换。
(2)按“START”按键之前,ALU输出的是计算结果,而通用寄存器的接收是在低电平,所以要想寄存器接收ALU的计算结果必须按一次“START”按键。 (3)表8“ALU输出”查看教学系统上标有Y的指示灯。显示的是二进制信号,需转换成十六进制填写在表8。“CZVS”查看标有CZVS的指示灯。
表7实现各种预期功能需要的控制信号
预期功能 I8-6 R0←0101 R1←1010 R0←R0+R1 R0←R0-R1 R0←R0∨R1 R0←R0∧R1 R0←R0⊕R1 R0←¬(R0⊕R1) R1←¬R0∧R1 R1←2*R1 R0←R0/2 I5-3 I2-0 控制信号 B A SST 001 001 001 001 001 001 001 001 001 001 001 SSH SCI 000 000 000 001 000 000 000 000 000 000 000 表8运行结果状态信息
功能 按START之前 ALU输出 R0←0101 R1←1010 R0←R0+R1 R0←R0-R1 CZVS 按START之后 ALU输出 CZVS R0←R0∨R1 R0←R0∧R1 R0←R0⊕R1 R0←¬(R0⊕R1) R1←¬R0∧R1 R1←2*R1 R0←R0/2 5.联机运算器实验
联机的运算器实验,改用教学计算机的指令实现上述脱机运算器实验完成的功能。因为NOT是扩展指令,所以不用实现R0←¬(R0⊕R1)和R1←¬R0∧R1。
(1)将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,在这个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),确定电源打开。
(2)双击Pcec16.com,出现如图1所示的界面:
图1 选择串口的界面
(3)系统默认选择串口1,直接按回车后出现如图2所示的界面:
图2 选择参数的界面
(4)图2是系统设定的一些传输参数,直接回车。按一下TEC-XP+实验系统的“RESET”按钮放开后再按一下“START”按钮,出现界面如图3所示:
图3 启动界面
(5)用A命令建立程序 A 2000
2000:MVRD R0,0101 2002:MVRD R1,1010 2004:ADD R0,R1 2005:SUB R0,R1 2006:AND R0,R1
2007:OR R0,R1 2008:XOR R0,R1 2009:SHL R1 200A:SHR R0 200B:RET
(6)用T命令在单指令方式下运行这个程序,记录程序的每个语句执行后的运行结果。
T 2000
记录MVRD R0,0101指令执行后R0寄存器的内容: T
记录MVRD R1,1010指令执行后R1寄存器的内容: T
记录ADD R0,R1指令执行后R0寄存器的内容: T
记录SUB R0,R1指令执行后R0寄存器的内容: T
记录AND R0,R1指令执行后R0寄存器的内容: T
记录OR R0,R1指令执行后R0寄存器的内容: T
记录XOR R0,R1指令执行后R0寄存器的内容: T
记录SHL R1指令执行后R1寄存器的内容: T
记录SHR R0指令执行后R0寄存器的内容:
实验考核:
1、实验完毕后上交实验报告,实验报告模板从ftp://202.204.125.21/zhanghaiyan/teaching_plan/本科生/计算机组成原理/实验/中下载,实验报告的内容包括实验目的、实验内容和结果分析,实验报告
一律写成word文档。
2、将实验报告上传到ftp://202.204.125.21/zhanghaiyan/homework/计算机组成原理/各班文件夹
3、文件命名要求:学号姓名,例如你叫张三,学号为050101,则实验报告名称为“050101张三.doc”)