计算机组成原理第二次实验报告.docx
《计算机组成原理第二次实验报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理第二次实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
计算机组成原理第二次实验报告
机器号___________________
实验报告
专业班级:
姓名:
机器号:
学号:
E-mail:
指导教师:
总成绩:
分步成绩:
出勤:
实验表现
实验报告:
实验三运算器及移位实验
一、实验目的
1、了解运算器模块如何连接以及数据通路;
2、通过实际设置控制信号、给出ALU的输入端数据、观察运算结果,领会课堂教学中关于ALU的功能特性;
3、认识一种较新的设计实现ALU功能的方法——用CPLD实现运算器。
4、掌握作为运算器核心器件的ALU,其输出连入数据总线前常见处理方法——COP2000实验仪中使用了三种输出结果数据的方法——直通输出D、左移输出L、右移输出R。
二、实验原理
COP2000模型机中的8位ALU由一片CPLD(XC9572)实现。
有8种运算类型:
加、减、与、或、进位加、进位减、A取反、A输出运算,通过控制信号S2、S1、S0来选择。
运算数据由累加器A及寄存器W给出,运算结果输出到D,L,R。
具体结构如下图。
ALU原理图
移位器由3个8位寄存器组成,能实现直通、左移、右移。
直通门D将运算器的结果不移位送总线,右移门R将运算器的结果右移一位送总线,左移门L将运算器的结果左移一位送总线。
用控制信号CN决定运算器是否带进位移位。
三、实验内容
1、运算器实验
按照下表连线
连接
信号孔
接入
连接
信号孔
接入
1
J1座
J3座
5
AEN
K3
2
S0
K0
6
WEN
K4
3
S1
K1
7
CyIN
K5
4
S2
K2
8
ALUCK
CLOCK
注:
CyIN为运算器进位输入。
(1)将运算数据输入A、W中
将XXH写入A寄存器:
拨设置开关K23—K16,使其为A寄存器要输入的数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
1
0
0
置控制信号,使DBUS数据送入A寄存器中:
K5(CyIN)
K4(WEN)
K3(AEN)
K2(S2)
K1(S1)
K0(S0)
1
1
0
1
1
1
按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色指示灯亮,表示选择寄存器A。
放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据XXH被写入寄存器A。
将XXH写入W寄存器
拨设置开关K23—K16,使其为A寄存器要输入的数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
0
1
0
置控制信号,使DBUS数据送入W寄存器中:
K5(CyIN)
K4(WEN)
K3(KAEN)
K2(S2)
K1(S1)
K0(S0)
1
0
1
1
1
1
按住CLOCK脉冲键,CLOCK由高变低,这时寄存器W的黄色指示灯亮,表示选择寄存器W。
放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据XXH被写入寄存器W。
(2)置控制信号,填写运算结果。
K5(CyIN)
K2(S2)
K1(S1)
K0(S0)
结果(直通门D)
注释
0
0
0
0
06
加运算
0
0
0
1
02
减运算
0
0
1
0
06
或运算
0
0
1
1
00
与运算
0
1
0
0
06
带进位加运算
1
1
0
0
07
带进位加运算
0
1
0
1
02
带进位减运算
1
1
0
1
01
带进位减运算
0
1
1
0
FB
取反运算
0
1
1
1
04
输出A
2、移位实验
按照下表连线
连接
信号孔
接入
1
J1座谈
J3座
2
AEN
K0
3
CN
K1
4
CyIN
K2
5
S2
K3
6
S1
K4
7
S0
K5
8
ALUCK
CLOCK
注:
CyIN为移位进位输入。
(1)将数据写入A寄存器
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
0
1
0
置控制信号为:
K0(AEN)
K3(S2)
K4(S1)
K5(S0)
0
1
1
1
注:
S21S1S0=111时,运算器输出为寄存器A的内容。
(2)将A中数据进行三种方式操作,并写出结果
CN
CyIN
L
D
R
0
X
04
02
01
1
0
04
02
01
1
1
05
02
81
实验四存储器实验
一、实验目的
1、掌握静态随机存储器的工作原理;
2、通过对6116SRAM芯片的实验体会存储芯片读写信号的作用;
3、了解COP2000实验仪中内存模块地址的两个来源,学会给出地址并按地址向相应的EM单元中写入数据的方法;
4、掌握由EM读出数据打入指令寄存器IR和uPC的方法;
二、实验原理
EM原理图
内存中存放指令和数据,当内存存放指令时,将指令送指令总线;当内存存放数据时,将数据送数据总线。
存储器实验电路由一片RAM6116和二片74HC245组成。
6116是2K*8bit的SRAM,A0—A10是存储器的地址线,本实验电路中,只使用8条地址线A0—A7,而A8—A10接地。
D0—D7是存储器的数据线。
E是存储器的片选信号,当E为低电平时,存储器被选中,可以进行读写操作;当E为高电平时,存储器未被选中;本实验中E始终接地。
W为写命令,W为低电平时,是写操作;G为读命令,G为低电平时,是读操作。
RAM的数据输出通过74HC245与数据总线相连,RAM的地址线与地址总线相连,可选择由PC或MAR提供地址。
RAM的数据输出直接接到指令总线IBUS上。
指令总线的数据还可以由1片74HC245提供,当ICOE=0时,74HC245输出中断指令B8。
三、实验内容
按下表连接线
连接
信号孔
接入孔
连接
信号孔
接入孔
1
J2
J3
7
EMRD
K1
2
IREN
K6
8
EMWR
K0
3
PCOE
K5
9
PCCK
CLOCK
4
MAROE
K4
10
MARCK
CLOCK
5
MAREN
K3
11
EMCK
CLOCK
6
EMEN
K2
12
IRCK
CLOCK
1、置PC/MAR输出地址选择的控制信号
K5(PCOE)
K4(MAROE)
地址总线
红色地址输出指示灯
0
1
PC输出地址
PC地址输出指示灯亮
1
0
MAR输出地址
MAR地址输出指示灯亮
1
1
地址总线浮空
0
0
错误,PC及MAR同时输出
2、存储器EM写实验(以下存储器实验均由MAR提供地址)
(1)将地址0写入MAR:
将二进制开关K23—K16置为00000000,即DBUS[7:
0]的数据输入为00H
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
0
0
0
设置控制信号:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
1
0
1
1
1
按CLOCK键,将地址0写入MAR
向EM[0]中写入一个数据
置数据
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
0
1
0
置控制信号:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
0
1
0
1
0
按CLOCK键,将数据XXH写入EM[0]
(2)将地址1写入MAR:
将二进制开关K23—K16置为00000001,即DBUS[7:
0]的数据输入为01H
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
0
0
1
设置控制信号:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
1
0
1
1
1
按CLOCK键,将地址1写入MAR
向EM[1]中写入一个数据
置数据
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
1
0
0
置控制信号:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
0
1
0
1
0
按CLOCK键,将数据XXH写入EM[0]
可以重复若干次,向多个EM单元写入多个不同的数据。
3、存储器EM读实验
(1)将地址0写入MAR:
将二进制开关K23—K16置为00000000,即DBUS[7:
0]的数据输入为00H
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
0
0
0
置控制信号:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
1
0
1
1
1
按CLOCK键,将地址0写入MAR
读EM[0]:
置控制信号为:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
0
1
0
0
1
EM[0]读出值是___02___
(2)将地址1写入MAR:
将二进制开关K23—K16置为00000001,即DBUS[7:
0]的数据输入为01H
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
0
0
1
置控制信号:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
1
0
1
1
1
按CLOCK键,将地址1写入MAR
读EM[1]:
置控制信号为:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
0
1
0
0
1
EM[1]读出值是___04___
可以重复若干次,读出多个单元中的数据。
4、存储器打入IR/uPC实验
COP2000中直接用EM中读出的内容作为uM地址,故需具备EM内容打入uPC的功能。
(1)将地址0写入MAR
将二进制开关K23—K16置为00000000,即DBUS[7:
0]的数据输入为00H
K23
K22
K21
K20
K19
K18
K17
K16
0
0
0
0
0
0
0
0
置控制信号:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
1
1
1
0
1
1
1
按CLOCK键,将地址0写入MAR
(2)读EM[0],并写入IR及uPC
置控制信号:
K6
(IREN)
K5
(PCOE)
K4
(MAROE)
K3
(MAREN)
K2
(EMEN)
K1
(EMRD)
K0
(EMWR)
0
1
0
1
0
0
1
EM[0]读出值是___02___
按CLOCK键,将EM[0]写入IR及uPC,IR=___02_____,uPC=____00____
四、思考题
运算器
1、运算器在加上控制信号及数据(A、W)后,运算结果是否需CLOCK跳变才能给出?
答:
不需要,结果会直接给出。
2、S2、S1、S0控制信号的作用。
答:
通过控制信号S2、S1、S0来选择ALU的运算类型。
具体运算选择如下:
S2 S1 S0 功能
0 0 0 A+W 加
0 0 1 A—W 减
0 1 0 A|W 或
0 1 1 A&W 与
1 0 0 A+W+C 进位加
1 0 1 A—W+C 进位减
1 1 0 ~A 取反
1 1 1 A 输出
3、在移位实验中,CN是什么控制信号?
答:
CN是判断移位是否带进位的信号,CN=0表示不带进位,CN=1表示带进位。
4、移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。
但究竟把哪一个结果送数据总线由哪些控制信号决定?
答:
由DOE,LOE,ROE控制信号决定。
5、直通门D、左移门L和右移门R的输出结果是否总是同时给出?
为什么?
答:
输出结果是同时给出的,都是由CLOCK上升沿控制。
存储器
1、详细了解EM原理图,说明6116的三个控制端的连接方法的含义;写使能与读使能的区别。
答:
(1)E是存储器的片选信号,当E为低电平时,存储器被选中,可以进行读写操作;当E为高电平时,存储器未被选中;本实验中E始终接地,所以该存储器一直被选中,可以使用。
G为读命令,G为低电平时,是读操作,EMRD信号作为G的输入,因此当EMRD为低电平时,存储器进行读操作。
W为写命令,W为低电平时,是写操作。
EMWR和CK经或门后的输出作为W的输入,因此只有当EMWR为低电平,并且时钟脉冲到来时,在时钟脉冲的下降沿,W为低电平,将数据写入存储器。
(2)写使能有效时是将数据写入到存储器中,而读使能有效时是将数据从存储器送出到数据总线上。
2、观察EM地址的来源,EM的地址什么时候由PC提供,什么时候由MAR提供;
答:
控制信号不同会导致EM地址来源不同:
PCOE为0,MAROE为1时,EM的地址由PC提供;PCOE为1,MAROE为0时,EM的地址由MAR提供。
3、存储器进行读操作时,如果将EMRD置为1,能读出原来的写入数据吗?
读EM单元内容需要CLK跳变吗?
答:
如果将EMRD置为1,不能读出原来的写入数据,因为读使能为低电平有效。
读EM单元内容不需要CLK跳变,因为EM的G端的信号是直接由EMRD提供的。
4、同时打入IR和uPC的数据可能变成两个不同的数(例:
55H—55H,54H),为什么?
答:
因为指令总线IBUS[7:
0]的高六位被接到µPC预置输入的高六位,µPC预置的低两位直接接地,被置为0,所以打入µPC的数的低两位是默认为0的,因此会出现同时打入IR和µPC的数据变成两个不同的数,此时数据的真实值是IR显示的数值。
5、列表总结存储器实验用到控制信号及作用。
控制信号
作用
有效电平
EMWR
存储器写允许
低有效
EMRD
存储器读允许
低有效
EMEN
存储器与数据总线相连
低有效
POCE
PC输出地址到存储器
低有效
MAREN
MAR写允许
低有效
MAROE
MAR输出地址到存储器
低有效
IREN
IR、µPC写允许
低有效
五、实验体会及建议
实验遇到的问题及解决办法;
在做存储器的读写实验时遇到了问题,在对存储器进行写操作后,再对写入数据进行读取,发现读出的数据与写入的不一样,在进行多次尝试并且请教同学后,仍然没有解决这个问题,之后做将存储器的数据打入IR和µPC实验,结果发现打入的数据和存储的数据相同,然而存储器数码管上显示的数据仍然是不同的。
最后我们一致得出结论,是那个存储器的数码管坏了,没有显示正确的数值。
实验内容是否合适:
(内容多,适中,内容少);
适中,时间比较充裕,在做完实验后可以进行充分的思考,来消化吸收知识。
对本次实验的建议,以及以后实验内容安排的建议等。
希望可以老师们可以对实验仪器进行检查,避免因为仪器问题做不出实验结果。