中山大学计算机组成原理实验报告.docx
- 文档编号:15291706
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:20
- 大小:264.27KB
中山大学计算机组成原理实验报告.docx
《中山大学计算机组成原理实验报告.docx》由会员分享,可在线阅读,更多相关《中山大学计算机组成原理实验报告.docx(20页珍藏版)》请在冰点文库上搜索。
中山大学计算机组成原理实验报告
实验报告
实验人:
郑熙霖
学号:
09388334
日期:
2011-04-10
院(系):
软件学院
专业(班级):
09软件工程(数字媒体技术)
实验题目:
TEC-2实验计算机运算器实验
一.实验目的
1.了解和掌握Am2901运算器的组成结构和工作原理
2.认识和掌握TEC-2机运算器的组成和工作原理
3.了解和掌握TEC-2机运算器相关控制信号的含义和使用方法
4.了解和掌握运算器的进位时间的测试方法,及进一步掌握双踪示波器的使用方法。
二.实验原理
(一)概述
运算器部件是计算器五大功能部件中的数据加工部件。
运算器的首要功能是完成对数据的算术和逻辑运算,由算术逻辑运算部件(ALU)实现,它在给出运算结果的同时,还给出运算结果的标志,如溢出否、进位否、结果为零否和符号正负等,这些标志都保存在一个状态寄存器中。
运算器的第二项功能,是暂存将参加运算的数据和中间结果,由其内部的一组寄存器来承担。
因为这些寄存器可以被汇编程序直接访问与使用,因此将他们称为通用寄存器,以区别于那些计算机内部设置的、不能为汇编程序员访问的专用寄存器。
为了用硬件线路完成乘除指令运算,运算器内一般还有一个能自行左右移位的专用寄存器,称为乘商寄存器。
TEC-2试验机的运算核心组成部分是Am2901。
Am2901芯片是一个4位的位片结构的完整的运算器部件。
(二)Am2901运算器
1.Am2901芯片内部组成结构
图IAm2901内部结构图
①4位的ALU,实现实种运算功能,其每一位上的2个输入端数据分别用R和S表示,则这8种功能是R+S,S-R,R-S3种算术运算和RS,RS,/RS,RS,/(RS)5咱逻辑运算,这8种功能的选择控制,是用外部送入的3位编码值I5—I3实现的。
ALU还能给出CN+4,F,OVR和F=00004位状态信息,并能接收最低位的一个进位输入信号CN。
ALU还给出了超前进位信号/G和/P。
②16个4位的通用寄存器组,用R0-R15表示,和1个4位的Q寄存器。
通用寄存器组为双端口读出(用A地址与B地址选取择每个寄存器)和单端口(用B地址选取择)控制写入的运行方式,而且运算后的结果经一个移位器实现写入(左移,不移,右移)。
Q寄存器本身具有左移,右移功能且能接收ALU的运算结果,左右移位时,就有移出,移入信号RAM3,RAM0,Q3,Q0,4个入号,它们都通过具有双向传送功能的三态门实现的。
③该芯片能接收外部送入的4位数据D3-D0,并输出奇制胜们的数据Y3-Y0。
Y3-Y0可以是通用寄存器A端口上的输出或ALU的运算结果F,并还受输出允许控制信号/OE的控制,仅在/OE为低时,Y3-Y0才有输出,否则处于高阻态。
④从图上可以看到,ALU的两个输入端R和S分别可以接收D输入,A端口或逻辑0数据,和A端口,B端口,Q寄存器或逻辑0数据,Am2901器件只选取用了它们可能的全部12种组合中的8种,即A-Q,A-B,0-Q,0-B,0-A,D-A,D-Q,和D-0这8种,并用外部送来的3位控制码I2-I0来选择这是种组合。
⑤Am2901还采用另外来货位外部送来的控制信号I8-I6,一是选择向外部送出的数据的来源(A口数据还是ALU运算结果),二是选择其内部的通用寄存器组和Q寄存器接收不接收和如何接收数据库写入(左移,右移,直送)。
⑥通用寄存器组通过A端口,B端口读出内容的输出处均有锁存器线路支持,以保证在执行诸如A+B结果送B运算时操作的正确性。
2.Am2901的操作时序
Am2901芯片要用一个CLK(CP)时钟信号作为芯片内通用寄存器、锁存器和Q寄存器的打入信号。
其有关规定如图II所示。
图IIAm2901的时钟信号的作用
3.Am2901芯片的控制信号及其控制码与操作
Am2901芯片的控制信号有9个,即I8-I0,这回个控制信号分成三组,它们是:
I8、I7、I6(B30-28):
选择运算结果或有关数据以何种方式送往何处;
I5、I4、I3(B26-24):
选择ALU的运算功能,共8种;
I2、I1、I0(B22-20):
选择送入ALU进行运算的两个操作数据R和S来源,共有8种组合。
这三组控制信号与相应控制码的关系如下表:
表IIIAm29019个控制信号I8~I0
控制码
I8、I7、I6
I5、I4、I3
I2、I1、I0
000
F→Q
F
R+S
A
Q
001
无
F
S–R
A
B
010
F→B
A
R–S
0
Q
011
F→B
F
R∨S
0
B
100
F/2→B
Q/2→Q
F
R∧S
0
A
101
F/2→B
F
/R∧S
D
A
110
2F→B
2Q→Q
F
RS
D
Q
111
2F→B
F
R⊙S
D
0
寄存器结果选择
Y输出选择
运算功能选择
R
S
注:
R、S中的“0”为逻辑0。
4.TEC-2机运算器
(1)TEC-2机运算器主体构造
由4片Am2901芯片级联构成TEC-2机的运算器,4片间的连接关系是:
(1)16位的数据输入由4片各自的D3-D0组成,其位序号人高位芯片向低位芯片顺序排成D15-D0
(2)16位的数据输出由4片各自的Y3-Y0组成,其位序号人高位芯片向低位芯片顺序排成Y15-Y0.
(3)有高低位进位关系的3组信号,在高低位相邻芯片间连接关系是:
①:
高位芯片的RAM0与低位芯片的RAM3相连
②:
高位芯片的Q0与低位芯片的Q3相连
③:
在串行进位方式下,高位芯片的Cn与低位芯片的Cn+4相连;若选用AM2902芯片(与74LS182芯片功能相同,两者可以互换使用)实现并行进位,则低位的3个芯片的并行进位信号/G和/P应送往Am2902的相并没有管脚,并将各自对应的片间进位输出信号送入相邻高位芯片Am2901的Cn管脚。
同时支持串,并行丙种方式,有利于教学实验中方便地观察与测量每种进位方式的进位延迟时间。
此时,最低位芯片的RAM0与Q0是该16位的运算器的最低位的移入/出信号,最高位芯片的RAM3与Q3是运算器最高位的移入/出信号,均需有另外的逻辑电路与之连接,最低位的Cn是整个运算器的最低位进位输入信号。
最高位的CN+4是16位完整运算器的进位输出信号。
同理,只有最高们芯片的F3和OVR有意义,低位的3个芯片的F3和OVR不被使用。
4个芯片的F=0000管脚连接在一起,并经一个电阻接到+5V电源,已得到16位的ALU的运算结果为“0”的标志位信号。
(4)其它的几组输入信号,支4片Am2901器件来说应有相同的值,包括/OE(控制选通Y的输出),A地址,B地址,I8-80(控制Am2901的运算功能,数据来源,结果的处置)和工作脉冲CP,故应将4个芯片的这些的各对应管脚连接在一起。
完整的16位运算器的组成框图如下:
图Ⅴ完整的16位运算器的组成框图
(2)通用寄存器
16个16位通用寄存器R0~R15,其中R4(SP)堆栈指针、R5(PC)程序计数器、R6(IP)指令地址寄存器(存放当前正在执行的指令地址)为系统所用。
此外,还有一个Q寄存器。
(3)移位器
运算的结果经一个移位器实现写入操作(左移、不移、右移),Q寄存器本身具有左、右移或不移功能且能接收ALU(F)的运算结果。
左、右移位时,对于通用寄存器来说,就有移出、移入信号RAM15、RAM0;对于Q寄存器来说,有移出、移入信号Q15、Q0。
移位否由I8~I6控制信号决定。
5.TEC-2机运算器部件的辅助组成部分
(1)运算结果的标志位
标志位的含义及取值:
C:
进/借位标志,有进/借位产生,则C=1,否则为C=0;
Z:
运算结果标志,运算结果为0,则Z=1,否则为Z=0;
V:
溢出标志,有溢出,则V=1,否则V=0;
S:
符号标志,结果为负数,则S=1,否则S=0。
(2)微指令中三位微码(SST)与标志位的关系
三位微码与这8种处理的对应关系,已用表格形式给出。
表Ⅵ三位微码与状态位的关系表
SST编码
状态位输入
说明
B34B33B32
C
Z
V
S
000
C
Z
V
S
四个标志位的值保持不变
001
CY
F=0
OV
F15
接收ALU的标志位输出值
010
IB7
IB6
IB5
IB4
恢复标志位现场值
011
0
Z
V
S
置C为0,另三个标志不变
100
1
Z
V
S
置C为1,另三个标志不变
101
RAM0
Z
V
S
右移操作,另三个标志不变
110
RAM15
Z
V
S
左移操作,另三个标志不变
111
Q0
Z
V
S
联合右移,另三个标志不变
(3)运算器最低位进位信号的给出与控制(SCi)
运算器最低位的进位信号Cin,可能为0、1、C标志的值,为了调试与实验的方便,有时可送入一个连续的方波信号,当运算器执行16位全1与这个最低位的进位方波信号相加时,则加法器每一位的输出结果均为方波,有利于观察与调试。
表Ⅶ
SCi编码(B11、B10)
00
01
10
11
Cin取值
0
1
C
TCLK方波
(4)运算器最高位、最低位的输入信号(SSH)
移入通用寄存器中的移入信号RAM15和RAM0,以及乘商寄存器中的移入信号Q15和Q0。
左移时,向RAM0,或者RAM0与Q0移入数据;右移时,向RAM15,或RAM15与Q15移入数据。
我们把5条移位指令和剩除法计算中的联合移位都考虑进去,可以归纳出如下4种结果,并用两位微码SSH区分它们。
移位控制码SSH如下表Ⅷ所示:
表Ⅷ
控制码SSH
左移
右移
说明
B9B8
RAM0Q0
RAM15Q15
00
0X
0X
通用寄存器逻辑位移
01
CX
CX
通用寄存器与C循环移位
10
Q15/F15
CYRAM0
原码除(左移)乘(右移)
11
XX
F15⊕OVRRAM0
右移用于补码乘法
说明:
•表中“X”为任意值,表示取任意值都不受影响
•当通用寄存器本身移位时,Q寄存器不受影响
•乘除法运算要求通用寄存器与Q寄存器联合移位,没有Q寄存器单独移位功能
•左右移是由指令功能确定的
•SSH为0,用于逻辑移位指令
为1,用于循环移位指令
为2,用于乘除法运算的联合移位及上商
为3,用于算术右移指令,或补码乘法计算
三.实验内容
1.脱机实验
实验中所述将开关置为“1”,即表示将开关向上拨;将某开关置为“0”,即表示将开关向下拨。
(1)将TEC-2机功能开关FS4置为“1”。
(2)主脉冲置为单步方式,STEP/CONT开关拨向STEP一边,STEP为单脉冲方式,CONT为连续脉冲方式;
(3)用D0+0→R0将立即数D0(从数据开关输入:
A000H)置入寄存器R0。
(4)用D1+0→R1将立即数D1(从数据开关输入;4000H)置入寄存器R1。
(5)对R0和R1进行各种算术、逻辑运算。
将开关S2S1S0置于“110”时,指示灯将显示ALU的运算结果;将开关S2S1S0置于“000”时,指示灯将显示SVZC的状态,(H25=S,H26=V,H27=Z,H28=C)。
2.联机实验
(1)将FS1~FS4置成1010.,STEP/CONT置成CONT,启动TEC-2机,进入监控程序。
(2)在联机状态下,在命令行状态用“A”命令输入程序。
(3)用“G”命令运行程序。
(4)用“R”命令观察运行结果及状态。
(5)用“T”或“P”命令单步执行。
四.实验器材
TEC-2机一台,电脑一台
五.实验分析与设计
1.脱机实验
根据Am29019个控制信号I8~I0与相应控制码的关系,设计实现各功能的指令微码
脱机实验步骤:
(1)将TEC-2机功能开关FS4置为“1”。
(2)主脉冲置为单步方式,STEP/CONT开关拨向STEP一边,STEP为单脉冲方式,CONT为连续脉冲方式;
(3)用D0+0→R0将立即数D0(从数据开关输入:
A000H)置入寄存器R0。
波特率开关
数据开关
SW2(共12位,最末三位未用)
SW1(共12位)
MI876
MI543
MI210
未用
A口
B口(R0)
SCi
SSH
D15~D0
011
000
111
000
0000
0000
00
00
A000H
①按上表设置各控制信号(MI8~MI0)为垂直板元件V60SW2,A口、B口、SCi、SSH为垂直板元件V61SW1。
②按上表设置十六位数据开关(为“A000H”,即“1010000000000000B”)。
③按压一次STEP键后,立即数D0即置入寄存器R0中。
(4)用D1+0→R1将立即数D1(从数据开关输入;4000H)置入寄存器R1。
波特率开关
数据开关
SW2(共12位,最末三位未用)
SW1(共12位)
MI876
MI543
MI210
未用
A口
B口(R1)
SCi
SSH
D15~D0
011
000
111
000
0000
0001
00
00
4000H
①按上表设置各控制信号(MI8~MI0)为垂直板元件V60SW2,A口、B口、SCi、SSH为垂直板元件V61SW1。
②按上表设置十六位数据开关(为“4000H”,即“0100000000000000B”)。
③按压一次STEP键后,立即数D0即置入寄存器R1中。
(5)根据指令微码输入各控制信号,将开关S2S1S0置于“110”时,指示灯将显示ALU的运算结果;将开关S2S1S0置于“000”时,指示灯将显示SVZC的状态(H25=S,H26=V,H27=Z,H28=C),按压STEP前,记录ALU的输出、SVZC状态;按压STEP,记录按压后ALU的输出、SVZC状态,然后输入下个微码。
(6)按照设计的微码,逐个测试并记录。
设计思路:
(a)根据表IIIAm29019个控制信号I8~I0,明确I8~I6用于选择运算结果或数据传送到什么寄存器中,I5~I3用于选择ALU的运算功能,I2~I0用于选择送入ALU的操作数据的来源。
(b)根据功能需要,例如R1+R0→R0,将两个通用寄存器R1和R0的数值进行加法运算后,结果保存在寄存器R0中,那么,就可以让A口选择R1,B口选择R0,即A口设为0001,B口设为0000;由于传入ALU的两个数值分别来源于A口和B口,所以I2~I0选择001(即R为A,S为B);I5~I3明显应该选择加法000;运算结果保存到寄存器B,故I8~I6选择011(F→B)。
这样就完成了一条微码的设计。
(c)按压STEP前纪录ALU输出的值,还有SVZC的值;在TEC-2模拟机上,开关S2S1S0为110则查看ALU输出(16个灯),为000则查看SVZC的值(末尾4个灯)。
(d)按压STEP后纪录ALU输出的值,还有SVZC的值。
(e)其他各条微码按照(b)~(d)的步骤设计并逐条测试。
(f)当有进位端参与计算时,如R1+R0+C→R0和R0+1→R0,根据表Ⅶ,此时需要把SCi分别设置为10和01;10表示进位端参与计算;01表示直接在寄存器的值+1。
(g)当没有进位端参与计算时,其余情况均将SCi设置为00。
(h)最终得到结果如下:
表Ⅸ
功能
MI8~6
MI5~
MI2~0
A口
B口
按压STEP前
按压STEP后
ALU输出
SVZC
ALU输出
SVZC
R1+R0→R0
011
000
001
0001
0000
E000H
0000
2000H
1000
0+R0→R0
011
000
011
0000
0000
E000H
1000
E000H
1000
R0-R1→R0
011
001
001
0001
0000
A000H
1000
6000H
1000
0+R0→R0
011
000
011
0000
0000
A000H
1000
A000H
1000
R1∨R0→R0
011
011
001
0001
0000
E000H
1000
E000H
1000
0+R0→R0
011
000
011
0000
0000
E000H
1000
E000H
1000
R1∧R0→R0
011
100
001
0001
0000
4000H
1000
4000H
0000
0+R0→R0
011
000
011
0000
0000
4000H
0000
4000H
0000
R1⊕R0→R0
011
110
001
0001
0000
0000H
0000
4000H
0010
0+R0→R0
011
000
011
0000
0000
0000H
0010
0000H
0010
R1+R0+C→R0
011
000
001
0001
0000
4000H
0010
8000H
0000
0+R0→R0
011
000
011
0000
0000
4000H
0000
4000H
0000
R0*2→R0
111
000
011
0000
0000
4000H
0000
8000H
0000
0+R0→R0
011
000
011
0000
0000
8000H
0000
8000H
1000
R0+1→R0
011
000
011
0000
0000
8001H
1000
8002H
1000
0+R0→R0
011
000
011
0000
0000
8001H
1000
8001H
1000
SCi的设置:
R0+R1+C→R0,SCi=10;R0+1→R0,SCi=01其余SCi=00
说明:
表中ALU输出用16进制数表示,而SVZC用二进制数表示。
2.联机实验
(1)将FS1~FS4置成1010.,STEP/CONT置成CONT,启动TEC-2机,进入监控程序。
(2)在联机状态下,在命令行状态用“A”命令输入程序。
>A800
0800:
MOVR0,A000
MOVR1,4000
0804:
ADDR0,R1
SUBR0,R1
ORR0,R1
ANDR0,R1
XORR0,R1
ADCR0,R1
SHLR0
INCR0
RET
(3)用“G”命令运行程序。
在命令行提示符状态下输入:
>G800
执行上面输入的程序
(4)用“R”命令观察运行结果及状态。
在命令行提示符状态下输入:
>R
观察运行结果及状态
屏幕显示:
R0=8001R1=4000R2=0000R3=0000SP=FFFFPC=0800IP=080CR7=0000R8=0000
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=00011111
0800:
2C00A000MOVR0,A000
(5)用“T”或“P”命令单步执行。
在单步执行之前,先将寄存器R0、R1清空,输入命令:
>RR0
8000:
-0
>RR1
4000:
-0
在命令行提示符状态下输入:
>T或>P
执行之后,观察运行结果及状态
屏幕显示:
>T
R0=A000R1=0000R2=0000R3=0000SP=OFD0PC=0802IP=00CDR7=016AR8=0000
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=00011111
0802:
2C104000MOVR1,4000
>T
R0=A000R1=4000R2=0000R3=0000SP=OFD0PC=0804IP=00CDR7=016AR8=0000
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=00011111
0804:
0401ADDR0,R1
>T
R0=E000R1=4000R2=0000R3=0000SP=OFD0PC=0805IP=00CDR7=016AR8=0000
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=00011111
0805:
0C01SUBR0,R1
>T
R0=A000R1=4000R2=0000R3=0000SP=OFD0PC=0806IP=00CDR7=016AR8=0000
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=00011111
0806:
5801ORR0,R1
>T
R0=E000R1=4000R2=0000R3=0000SP=OFD0PC=0807IP=00CDR7=016AR8=0000
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=00011111
0807:
5001ANDR0,R1
>T
R0=4000R1=4000R2=0000R3=0000SP=OFD0PC=0808IP=00CDR7=016AR8=0000
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=00001111
0808:
5401XORR0,R1
>T
R0=0000R1=4000R2=0000R3=0000SP=OFD0PC=0809IP=00CDR7=016AR8=0000
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=01001111
0809:
0801ADCR0,R1
>T
R0=4000R1=4000R2=0000R3=0000SP=OFD0PC=080AIP=00CDR7=016AR8=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中山 大学计算机 组成 原理 实验 报告