计算机组成原理 实验报告
专业班级: 计算机1105 学 号: 指导教师: 分步成绩: 出勤: 姓 名: E-mail: 总成绩: 实验表现 机机器号: 32 实验报告: 实验三 运算器及移位实验 一、实验目的 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。具体结构如下图。 数据总线R4-R1AWSPRALU控制线LDR ALU原理图 移位器由3个8位寄存器组成,能实现直通、左移、右移。直通门D将运算器的结果不移位送总线,右移门R将运算器的结果右移一位送总线,左移门L将运算器的结果左移一位送总线。用控制信号CN决定运算器是否带进位移位。
1
三、实验内容 1、运算器实验 按照下表连线 连接 1 2 3 4 注:CyIN为运算器进位输入。
2
信号孔 J1座 S0 S1 S2 接入 J3座 K0 K1 K2 连接 5 6 7 8 信号孔 AEN WEN CyIN ALUCK 接入 K3 K4 K5 CLOCK (1)将运算数据输入A、W中 将55H写入A寄存器: 拨设置开关K23—K16,使其为A寄存器要输入的数据: K23 0 K22 1 K21 0 K20 1 K19 0 K18 1 K17 0 K16 1 置控制信号,使DBUS数据送入A寄存器中: K5(CyIN) K4(WEN) 0 1 K3(AEN) 0 K2(S2) 0 K1(S1) 0 K0(S0) 0 按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色指示灯亮,表示选择寄存器A。 放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据55H被写入寄存器A。 将33H写入W寄存器 拨设置开关K23—K16,使其为A寄存器要输入的数据: K23 0 K22 0 K21 1 K20 1 K19 0 K18 0 K17 1 K16 1 置控制信号,使DBUS数据送入W寄存器中: K5(CyIN) 0 K4(WEN) 0 K3(KAEN) K2(S2) 1 0 K1(S1) 0 K0(S0) 0 按住CLOCK脉冲键,CLOCK由高变低,这时寄存器W的黄色指示灯亮,表示选择寄存器W。 放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据33H被写入寄存器W。 (2)置控制信号,填写运算结果。 K5(CyIN) K2(S2) X X X X 0 1 0 1 X X 0 0 0 0 1 1 1 1 1 1 K1(S1) 0 0 1 1 0 0 0 0 1 1 K0(S0) 0 1 0 1 0 0 1 1 0 1 结果(直通门D) 88H 22H 77H 11H 88H H 22H 21H 0AAH 55H 注释 加运算 减运算 或运算 与运算 带进位加运算 带进位加运算 带进位减运算 带进位减运算 取反运算 输出A 2、移位实验 按照下表连线 连接 1 2 3 4 5 6 7 8 信号孔 J1座 AEN CN CyIN S2 S1 S0 ALUCK 接入 J3座 K0 K1 K2 K3 K4 K5 CLOCK 注:CyIN为移位进位输入。
3
(1) 将数据写入A寄存器 K23 0 K22 0 K21 1 K20 0 K19 1 K18 0 K17 1 K16 0 置控制信号为: K0(AEN) 0 K3(S2) 1 K4(S1) 1 K5(S0) 1 注:S21S1S0=111时,运算器输出为寄存器A的内容。 (2) 将A中数据进行三种方式操作,并写出结果 CN 0 1 1 CyIN L X 0 1 54H 01010100 54H 01010100 55H 01010101 D 2AH 00101010 2AH 00101010 2AH 00101010 R 15H 00010101 15H 00010101 95H 10010101 实验四 存储器实验 一、实验目的 1、掌握静态随机存储器的工作原理; 2、通过对6116SRAM芯片的实验体会存储芯片读写信号的作用; 3、了解COP2000实验仪中内存模块地址的两个来源,学会给出地址并按地址向相应的EM单元中写入数据的方法; 4、掌握由EM读出数据打入指令寄存器IR和uPC的方法; 二、实验原理
4
EM原理图 内存中存放指令和数据,当内存存放指令时,将指令送指令总线;当内存存放数据时,将数据送数据总线。存储器实验电路由一片RAM6116和二片74HC245组成。 6116是2K*8bit的SRAM,A0—A10是存储器的地址线,本实验电路中,只使用地址线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 2 3 4 5 6 信号孔 J2 IREN PCOE MAROE MAREN EMEN 接入孔 J3 K6 K5 K4 K3 K2 连接 7 8 9 10 11 12 信号孔 EMRD EMWR PCCK MARCK EMCK IRCK 接入孔 K1 K0 CLOCK CLOCK CLOCK CLOCK 1、 置PC/MAR输出地址选择的控制信号 K5(PCOE) 0 1 1 0 K4(MAROE) 地址总线 1 0 1 0 PC输出地址 MAR输出地址 地址总线浮空 红色地址输出指示灯 PC地址输出指示灯亮 MAR地址输出指示灯亮 错误,PC及MAR同时输出 PC和MAR地址输出指示灯亮 2、存储器EM写实验(以下存储器实验均由MAR提供地址) (1)将地址0写入MAR: 将二进制开关K23—K16置为00000000,即DBUS[7:0]的数据输入为00H K23 0 K22 0 K21 0 K20 0 K19 0 K18 0 K17 0 K16 0 设置控制信号: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 1 1 1 0 1 1 1 按CLOCK键,将地址0写入MAR 向EM[0]中写入一个数据 置数据 K23 0
K22 1 K21 1 K20 0 K19 1 K18 1 5
K17 0 K16 0 置控制信号: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 1 1 0 1 0 1 0 按CLOCK键,将数据6CH写入EM[0] (2)将地址1写入MAR: 将二进制开关K23—K16置为00000001,即DBUS[7:0]的数据输入为01H K23 0 K22 0 K21 0 K20 0 K19 0 K18 0 K17 0 K16 1 设置控制信号: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 1 1 1 0 1 1 1 按CLOCK键,将地址1写入MAR 向EM[1]中写入一个数据 置数据 K23 1 K22 0 K21 0 K20 0 K19 0 K18 1 K17 1 K16 1 置控制信号: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 1 1 0 1 0 1 0 按CLOCK键,将数据87H写入EM[1] 可以重复若干次,向多个EM单元写入多个不同的数据。 3、存储器EM读实验 (1)将地址0写入MAR: 将二进制开关K23—K16置为00000000,即DBUS[7:0]的数据输入为00H K23 0 K22 0 K21 0 K20 0 K19 0 K18 0 K17 0 K16 0 置控制信号: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 1 1 1 0 1 1 1 按CLOCK键,将地址0写入MAR 读EM[0]: 置控制信号为: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR)
6
1 1 0 1 0 0 1 EM[0]读出值是_6CH__ (2)将地址1写入MAR: 将二进制开关K23—K16置为00000001,即DBUS[7:0]的数据输入为01H K23 0 K22 0 K21 0 K20 0 K19 0 K18 0 K17 0 K16 1 置控制信号: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 1 1 1 0 1 1 1 按CLOCK键,将地址1写入MAR 读EM[1]: 置控制信号为: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 1 1 0 1 0 0 1 EM[1]读出值是__87H__ 可以重复若干次,读出多个单元中的数据。 4、存储器打入IR/uPC实验 COP2000中直接用EM中读出的内容作为uM地址,故需具备EM内容打入uPC的功能。 (1)将地址0写入MAR 将二进制开关K23—K16置为00000000,即DBUS[7:0]的数据输入为00H K23 0 K22 0 K21 0 K20 0 K19 0 K18 0 K17 0 K16 0 置控制信号: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 1 1 1 0 1 1 1 按CLOCK键,将地址0写入MAR (2)读EM[0],并写入IR及uPC 置控制信号: K6 K5 K4 K3 K2 K1 K0 (IREN) (PCOE) (MAROE) (MAREN) (EMEN) (EMRD) (EMWR) 0 1 1 1 1 0 1 EM[0]读出值是 6CH_ 按CLOCK键,将EM[0]写入IR及uPC,IR = ___6CH__,uPC = _6CH_ 四、思考题 运算器 1、运算器在加上控制信号及数据(A、W)后,运算结果是否需CLOCK跳变才能给出?
7
不需要,结果会直接给出。 2、S2、S1、S0控制信号的作用。 S2 S1 S0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 功能 A+W 加 A—W 减 A|W 或 A&W 与 A+W+C 带进位加 A—W+C 带进位减 ~A 取反 A 输出 3、在移位实验中,CN是什么控制信号? 移位是否带进位,CN=0:不带进位CN=1:带进位 4、移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。但究竟把哪一个结果送数据总线由哪些控制信号决定? X0,X1,X2。 5、直通门D、左移门L和右移门R的输出结果是否总是同时给出?为什么? 是,都使用CLOCK上升沿。 存储器 1、详细了解EM原理图,说明6116的三个控制端的连接方法的含义:EMEN存储器与数据总线相连,EMRD:存储器读允许,EMWR存储器写允许。 写使能与读使能的区别:写使能有效时是将数据写入到存储器中,而读使能有效时是将数据送出到数据总线上。 2、观察EM地址的来源,EM的地址什么时候由PC提供,什么时候由MAR提供; 设置的信号不同时,可导致EM地址来源不同。PCOE置为0,MAROE置为1时来选择PC;PCOE置为1,MAROE置为0时来选择MAR。 3、存储器进行读操作时,如果将EMRD置为1,能读出原来的写入数据吗?不能,读使能为低电平有效 读EM单元内容需要CLK跳变吗?不需要,直接给出 4、同时打入IR和uPC的数据可能变成两个不同的数(例:55H—55H,54H),为什么? 打入的数据后两位被清零。 5、列表总结存储器实验用到控制信号及作用。 控制信号 EMWR EMRD EMEN POCE MAREN MAROE IREN 作 用 存储器写允许 存储器读允许 存储器与数据总线相连 PC输出地址 MAR写允许 MAR输出地址 IR,μIR写允许 有 效 电 平 低 低 低 低 低 低 低 五、实验体会及建议 实验遇到的问题及解决办法:无 实验内容是否合适:(内容多,适中,内容少):适中 对本次实验的建议,以及以后实验内容安排的建议:无 8
9