计算机组成原理实验报告一
一、算术逻辑运算器
1. 实验目的与要求:
目的:① 掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
② 掌握简单运算器的数据传输通道。
③ 验算由74LS181等组合逻辑电路组成的运输功能发生器运输功能。
④ 能够按给定数据,完成实验指定的算术/逻辑运算。
要求:完成实验接线和所有练习题操作。
实验前,要求做好实验预习,掌握运算器的数据传送通道和ALU的特性,并熟悉本实验中所用的模拟开关的作用和使用方法。
实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。
实验完成后,要求每个学生写出实验报告。
2. 实验方案:
1.两片74LS181(每片4位)以并/串联形式构成字长为8为的运算器。
2.8为运算器的输出经过一个输入双向三态门(74LS245)与数据总线相连,运算器的两个数据输入端分别与两个8位寄存器(74LS273)DR1和DR2的输出端相连,DR1和DR2寄存器是用于保存参加运算的数据和运算的结果。寄存器的输入端于数据总线相连。
3.8位数据D7~D0(在“INPUT DEVICE”中)用来产生参与运算的数据,并经过一个输出三态门(74LS245)与数据总线相连。数据显示灯(BUS UNIT)已与数据总线相连,用来显示数据总线上所内容。
4.S3、S2、S1、S0是运算选择控制端,由它们决定运算器执行哪一种运算(16种算术运算或16种逻辑运算)。
5.M是算术/逻辑运算选择,M=0时,执行算术运算,M=1时,执行逻辑运算。
6.Cn是算术运算的进位控制端,Cn=0(低电平),表示有进位,运算时相当于在最低位上加进位1,Cn=1(高电平),表示无进位。逻辑运算与进位无关。
7.ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上。低电平有效。
8.SW-B是输入三态门的控制端,控制“INPUT DEVICE”中的8位数据开关D7~D0数据是否送到数据总线BUS上。低电平有效。
9.LDDR1是寄存器DR1存数控制信号,LDDR2是寄存器DR2存数控制信号。它们都是高电平有效。
10.A0~A3是4位数据输入通道A,B0~B3是4位数据输入通道B。
11.F0~F3是运算结果输出端。
3. 实验结果和数据处理:
实验结果记录表:
4. 结论
经过本次试验我懂得了用逻辑运算器进行简单的算术/逻辑运算,掌握了逻辑运算器的工作特性及使用方法。因为是第一次做实验,对时间的把握不是很好和对实验的仪器的不熟悉,所以导致很晚才完成老师的实验要求。
5. 问题与讨论及实验总结
问题与讨论:
1. 写出实验中各控制端的作用。
(1)KK2开关可获得实验所需的单脉冲信号。
(2)S3、S2、S1、S0、M、Cn、LDDR1、LDDR2、ALU-B、SW-B均为电平信号,与“SWITCH UNIT”中的二进制开关对应相接,用于模拟产生电平控制信号。开关状态打上去是高电平,打下来是低电平。
(3)数据开关输入数据时,要打开SW-B,关闭ALU-B。
2. 在实验中哪些控制端高电平有效,哪些控制端低电平有效?
ALU-B、SW-B为低电平有效,LDDR1、LDDR2为高电平有效。
3. 在实验正常的输入和输出操作中,SW-B和ALU-B为什么不能同时为“0”状态?
SW-B为输入开关,低电平(SW-B=0)有效,ALU-B低电平有效(ALU-B=0)有效。
实验总结
经过本次试验,我明白到了做计算机组成原理的实验首先一定要注意线路的连接,有些要对应的要一一对应,我一开始因为没注意.弄得数据不正确,还有要注意操作方法等等,总的来说,这次做的实验还是比较成功的,我掌握了算术逻辑运算器单元ALU(74LS181)的工作原理,并熟悉了怎样输入输出数据和验算由74LS181等组合逻辑电路的运算功能发生器运算功能等实验步骤和要求.
6. 思考选择题:(单选题)
1、( A )2、( A ) 3、( B ) 4、( B )
5、( A ) 6、( B ) 7、( B ) 8、( B )
二、进位控制运算器
1、实验目的与要求:
目的:①验证带进位控制的算术运算发生器的功能。
② 按给定的数据完成几种指定的算术运算。
要求:完成实验接线和所以练习题的操作。
实验前,要求做好实验预习,掌握进位控制运算器的原理。
实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期实验教学目的。
实验完成后,要求每个学生写出实验报告。
2、实验方案:
1.在算术逻辑运算实验的基础上增加进位控制部分,进位控制部分电路主要由一个74LS74锁存器组成,运算器的高位进位进入74LS74锁存器里。
2.AR是74LS74锁存器的控制号,低电平有效,与T4脉冲信号配合,可打开锁存器把进位结果存入其内。
3.CY是高位进位标志信号,连接一个发光二极管显示进位情况,当高位有进位时等亮,无进位时灯灭。
3、实验结果和数据处理:
实验结果记录表:
4、 结论
经过本次试验我懂得了用进位控制运算器进行简单的算术运算,掌握了进位控制运算器的工作特性及使用方法。由于在对逻辑运算器实验的时间的把握不是很好和对实验的仪器的不熟悉,从而导致进位控制运算器的实验要在很短的时间内完成,虽然时间仓促,经过努力还是进本完成了实验的要求。
5、 问题与讨论及实验总结
问题与讨论:为什么进位运算操作前要先对进位标志清零?
防止受之前算术结果的影响。
六.实验总结
在做这个实验中由于有了实验一(一)的教训和经验,我们较顺利地完成了这个实验,当然也有一点疏忽就是存数完成后忘了对进位标志清零。但是总的来说,我验证了带进位控制的算术运算功能发生器的功能,掌握了进位控制的算术运算。
6、 思考选择题(单选题)
1、( A )2、( A ) 3、( A )
实验报告二 :半导体存储器原理实验1
1. 实验目的与要求:
目的:1、掌握静态存储器的工作特性及使用方法。
2、掌握半导体随机存储器怎样存储和读出数据。
要求:实验前,要求做好实验预习,掌握616型RAM存储器的功能特性和使用方法。
实验过程中,要认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。
2. 实验方案:
1. 使用了一片6116静态RAM(2048×8位),但地址端A8~A10脚接地,因此实际上存储容量为256字节。存储器的数据线D7~D0接至数据总线。
2. 使用一片8位的74LS273作为地址寄存器(AR),地址寄存器的输出端接存储器6116的地址线A7~A0,所以存储单元的地址由地址存储器AR提供。
3. 数据开关(INPUT DEVICE)用来设置地址和数据,它经过一个三态门74LS245与数据总线相连,分别给出地址和数据。
4. 地址显示灯A D7~AD0与6116地址线相连,用来显示存储单元的地址,数据总线上的显示灯B7~B0用来显示写入存储单元的数据或从存储单元读出的数据。
5. 存储器有三个控制信号:CE片选信号、OE读命令信号、WE写信号。当片选信号CE=0时,RAM被选中,可以进行读/写操作;当CE=1时,RAM未被选中,不能进行读/写操作。读命令信号OE在本实验中已固定接地,在此情况下,当CE=0,WE=1时,存储器进行写操作,当CE=0,WE=0时,存储器进行读操作。
6. LDAR是地址存储器AR存数控制信号。
7. 按图连接好实验电路,检查无误后通电。
8. 将表2。2的地址和内容转化为二进制
9. 参考例1的操作,向存储器单元里先写第一个单元的地址、然后向第一个地址,再写第二个地址,然后向第二个地址单元写内容,就这样不断循环操作,直到做完。
3. 实验结果和数据处理:
表2.1
4. 结论
通过本实验我掌握了存储器的工作特性及使用方法,先做写地址操作,将数据写入地址寄存器AR里,再对存储器的地址单元进行写内容操作写入相关数据,最后再读出地址单元的内容,本次的实验比较容易完成,我做得很顺利,掌握了半导体存储器怎样存储和读出数据。
5. 问题与讨论及实验总结
这个实验在我所做的实验中给我的感觉是比较容易的。它没有很多的数据,也没有很多的步骤要你做。但这是以前做的实验再加深一些,我们要好好的把握这些实验的过程和结果。
1、存储器在写操作和读操作的过程中为什么都要先完成写地址操作。
答:在写操作中先完成写地址操作是为了能把数据写到指定的存储单元,从而能使数据不会杂乱。而读操作中写入地址是为了根据地址找内容并读出所要的内容。
2、写地址的操作完成后,在做写内容操作时,为什么要关闭LDAR?
答:因为LDAR是地址寄存器AR存数控制信号。
3、存储器读操作需要T3脉冲吗?
答:不需要。
4、在完成上面练习题操作中,能否先连续输入所有的地址,再连续的输入所有的内容或连续读出所有的内容,为什么?
答:不行。如果先连续输入所有地址再连续输入所有内容,那么会在输入内容的时候出现数据不知道储存在哪个单元。从而使数据杂乱无章。连续读内容也一样,系统不知道该在哪个时候读出哪个数据。
6. 思考选择题:(单选题)
1、( A ) 2、( B ) 3、( A )
4、( B ) 5、( B ) 6 、( B )
计算机组成原理实验四:基本模型机设计与实现
一、实验目的与要求
实验目的:
1.在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合成一起,组成一台基本模型计算机。
2.用微程序控制器来控制模型机的数据通道。
3.通过CPU运行五条机器指令组成的简单程序,掌握机器指令与微指令的关系,建立利用指令控制整机(输入、输出、运算、存储系统)的概念。
实验要求:
实验前,要求做好实验预习,学会用基本的五条机器指令编写程序。
实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想不太明白的问题通过实验去理解清楚,争取最好的实验结果,达到预期的实验教学目的。
实验完成后,要求写出实验报告。
二、实验方案
1.按下图连接实验线路,仔细检查无误后通电:
2.用基本的五条机器指令编写实验程序。
程序如下:(地址和内容都是十六进制,机器指令的前4位为操作码。)
微指令的微代码如下:(内容是十六进制)
3.修改和编写实验仪RAM和ROM数据。
三、实验结果和数据处理
(1)实验结果记录表:
(2)练习操作题记录表:
表4.6:
表4.7:
表4.8:
表4.10:
四、结论
(1)微指令控制器控制着运算的操作使运算器有条不紊的工作。
(2)经过实验证明,所有的实验结果与理论值一致。
五、问题讨论和实验总结
问题讨论:
(1)程序运行前必须对微地址清零。拨动实验仪右下角清零开关CLR(1→0→1)后,观看实验仪右上方的微地址显示灯(UA0-UA5)是否全为零,若全为零,则正确,若不全为零,说明有问题,要检查。
(2)使用单步微指令运行程序,单击该系统第三行的“单步微指令”图标即可。
(3)在每次单步执行一条微指令的过程中,都要观察屏幕动态流线显示的运行结果,根据屏幕显示的结果分析与该条微指令的格式和功能是否一致。若不一致,必须检查原因。
(4)上面程序的运行中,每执行完一条机器指令,微地址都要返回到01,是应为为取下一条指令作准备。
(5)在每一条机器指令的执行过程中,第一个CPU周期,取指令阶段是由下列微指令组成:01 02。它们完成的操作是:PC AR,M DR,DR IR,PC+1。
实验总结:
(1)通过本次实验,我对基本模型机设计与实现有了进一步的了解,理解它的功能特性和使用方法,对整个模型计算机的程序运行有了更全面的了解。让我能够在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合成一起,组成一台基本模型计算机;能够用微程序控制器来控制模型机的数据通道;并且通过CPU运行五条机器指令组成的简单程序,掌握了机器指令与微指令的关系,建立了利用指令控制整机(输入、输出、运算、存储系统)的概念。而对运算如何运算,如何无条件跳转都知道,特别是在屏幕动态流线显示流程的帮助下,更容易理解程序的整个流程。
(2)这次实验是个综合性的实验,难度比较大,,因为本实验的接线比较多,某一或两条线坏了,导致无法进行实验。虽然线是老师一开始就接好的,但是在下载数据再刷新后的数据和原本的不一样,出现错误,后来按照PPT的说法换了一条线后终于可以实现,接线才算成功。但是接着那仪器总是一开始没有输入数据的时候就是09而不是00,我们弄了好多次都不成功,花了好多时间,好不容易才把实验做正确。这次试验很需要耐心,但是理解了整个流程以及接线正确之后其实也不算太难的,只要认真细心就可以做好的。这次实验加强了我的理解能力和实验能力,,也更加巩固、完善和深化了我的知识体系。
六、思考题
(1)上面程序的运行中,为什么每执行完一条机器指令,微地址都要返回到01?取指令阶段是由那些微指令组成?它们完成了什么操作?
答:微地址要返回到01,是应为为取下一条指令作准备。在每一条机器指令的执行过程中,第一个CPU周期,取指令阶段是由下列微指令组成:01 02。它们完成的操作是:PC AR,M DR,DR IR,PC+1。
(2)
表4.12:
实验报告三:微程序控制器实验a
1. 实验目的与要求:
实验目的:1、掌握时序产生器的原理和具体操作。
2、掌握微程序控制器的功能、组成知识。
3、掌握微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。
要求:做好实验预习,掌握进位控制运算器的原理。实验之前,应认真准备,写出实验步骤和具体分析内容,否则实验效率会特别低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说学懂了些什么重要教学内容。
2. 实验方案:
1、 连接好实验线路,检查无误后接通电源。
2、 编程:(1)将编程开关(MJ20)置为PROM(编程)状态;
(2)将STATE UNIT中的STEP置为“STEP”状态,STOP置为“RUN”状态;
(3)在UA5-UA0开关上置要写的某个微地址(八进制);
(4)在MK24-MK1开关上置要写的微地址相应的24位微代码,24位开关对应24位显示灯,开关量为“1”灯亮,为“0”灯灭;
(5)启动时序电路(按动启动按钮START),即将微代码写入到E2PROM2816的相应地址对应的单元中;
(6)重复(3)~(5)步骤将每一条微指令写入E2PROM2816。
3、 校验:(1)将编程开关置为READ状态;
(2)将STEP开关置为“STEP”状态,STOP开关置为“RUN”状态;
(3)在开关UA5~UA0上置好要读的某个微地址;
(4)按动START键,启动时序电路,观察显示灯MD24-MD1的状态,检查读出的微代码是否已写入的相同。如果不同在将开关置于PROM编程状态,重新执行编程步骤;
(5)重复(3)(4)步骤将每一条微指令从E2PROM2816中读出。
4、 单步运行:(1)将编程开关置于“RUN”状态;
(2)STEP置为“STEP”状态,STOP置为“RUN”状态;
(3) “AW-BUS”开关置为0,将二进制开关INPUT DEVICE区域内的D5-D全为1;
(4)操作CLR开关使信号系统1→0→1;
(5)按动“START”,启动时序电路,则每按动一次启动键,读出一条微指令,当读到某些指令时需通过强制端强制转换后读出指令。同理把所有分支后执行一遍。
3. 实验结果和数据处理:
Φ
TS1
TS2
TS3
TS4
4. 实验结果分析:
分析ADD的每条微指的指令格式和功能:
ADD:为双字长指令。第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容与内存中以A为地址单元的数相加,结果放R0寄存器中。
ADD加法指令由11(PC→AR ,PC+1)、03(RAM→BUS, BUS→AR) 、04(RAM→BUS ,BUS→DR2) 、05(RO→DR1) 、06 ((DR1)+(DR2)→RO)共8条微指令组成。
11微指令功能是RAM赋给BUS,BUS赋给DR2; S3 S2 S1 S0 M CN 的值为“000000”代表进行自加1运算;A字段“110”代表选择LDAR操作,B字段“110”是选择PC-B操作;UA5-UA0中“000011”代表下一指令的地址为“011”。
03微指令功能是RAM赋给BUS,BUS赋给DR2; S3 S2 S1 S0 M CN 的值为“000000”代表进行自加1运算;A字段“110”代表选择LDAR操作,B字段“000”是无选择操作;UA5-UA0中“000100”代表下一指令的地址为“100”。
04微指令功能是RAM赋给BUS,BUS赋给DR2; S3 S2 S1 S0 M CN 的值为“000000”代表进行自加1运算;A字段“011”代表选择LDDR2操作,B字段“000”是无选择操作;UA5-UA0中“000101”代表下一指令的地址为“101”。
05微指令功能是RO赋给DR1; S3 S2 S1 S0 M CN 的值为“000000”代表进行自加1运算;A字段“010”代表选择LDDR1操作,B字段“001”是选择RS-B操作;UA5-UA0中“000110”代表下一指令的地址为“110”。
06微指令功能是DR1+DR2的和赋给R0; S3 S2 S1 S0 M CN 的值为“100101”代表进行加法运算;A字段“001”代表选择LDDRi操作,B字段“101”是选择PC-B操作;UA5-UA0中“00000001”代表下一指令的地址为“01”。
5. 写出你掌握了的控制信号的作用
A、B、C三个译码字段,通过3:8译码器分别译码出多位控制信号。A字段中,主要是寄存器的打入信号,B字段中主要是寄存器的输出信号,C字段中,主要是测试信号。
C字段中的AR为算术运算是否影响进位及判零标志控制位,其为0有效。LOAD是PC加1信号,P(1)-P(4)是四个测试判别信号,其功能是根据机器指令及相应微代码进行译码,使微程序输入相应的微地址入口,从而实现微程序的顺序、分支、循坏运行。
B字段中的RS-B、RD-B、RI-B分别为原寄存器选通输出信号、目的寄存器选通输出信号及变址寄存器选通输出信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通输出译码。
A字段中LDRi是存入工作寄存器信号的译码器是能控制位,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选择存入译码。
6. 结论
这次的实验难度比较大,但是我认真听老师的讲解,并根据预习的信息和通过和同学的相互讨论和交流,还是较快的掌握了相关的操作,掌握了程序的编制和写入,并学习了指令的执行流程。
7. 问题与讨论及实验总结
本次实验难度较高,而且实验量大,所以首先预习工作要做好,否则很难按时按要求完成实验。实验分两部分进行,前面部分是微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。在这过程中,难点就是要掌握如何通过强制端设置分支地址,。后半部分就是用联机软件的逻辑示波器观察时序信号。这个相对简单,连接好操作起来也很快。
问题:
1、 本次实验共设计了几条指令?
答:共11条。分别是IN(输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移).
2、 S3、S2、S1、S0、M、CN控制信号共同起到什么作用?
答:S3 S2 S1 S0 M CN 控制信号共同起到选择进行何种算术逻辑运算的作用。
3、 写出WE信号的作用。
答:WE信号的作用是写命令。
4、 UA5-UA0是当前微地址还是后继微地址?
答:UA5-UA0是后继微地址。
8. 思考选择题:(单选题)
1、( A ) 2、( C ) 3、( A ) 4、( A )
5、( B ) 6 、( C ) 7、( B ) 8、( A )
9、( A ) 10、( B ) 11、( C )