计算机组成原理实验报告 - 图文

更新时间:2024-04-04 03:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程名称:计算机组成原理

实验地点:

专业班级:

学生姓名:指导教师:

本科实验报告

年月 日

实验一 运算器

【实验目的与要求】

1.掌握运算器的组成、功能及工作原理;

2.验证由74LS181组成的16位ALU的功能,进一步验证带初始进位的ALU的功能; 3. 熟悉运算器执行算术运算操作和逻辑运算操作的具体实现过程。 【实验设备和环境】

本实验使用EL-JY-II型计算机组成原理实验挂箱一组连接线。 【实验内容】 一.实验原理

四片74LS181以串行方式构成16位运算器,对两个16位二进制数进行多种算术或逻辑运算,采用高电平方式用原码输入输出。

三态门74LS244作为输出缓冲器由ALU-G信号控制,ALU-G 为“0”时,三态门开通,此时其输出等于其输入;ALU-G 为“1”时,三态门关闭,此时其输出呈高阻。

四片74LS273作为两个16数据暂存器,其控制信号分别为LDR1和LDR2,当LDR1和LDR2 为高电平有效时,在T4脉冲的前沿,总线上的数据被送入暂存器保存。 二.实验步骤

1. 实验连线

2、通过数据输入电路的开关向两个数据暂存器中置数 3.验证74LS181的算术和逻辑功能 三. 实验总结

实验中遇到的问题:所用连线和实验台质量良莠不齐,造成我们对于自己本身的操作的极大怀疑.另外做实验时须准确掌握输入输出操作以及控制三态门的操作,记忆不清曾经造成混乱.

心得与感悟: 实验过程中连线问题不大,根据给出的实验图即可完成.但由于部分实验器材存在略微的问题,导致指示灯显示错误,最终更换实验台实验得以完成.通过本次实验使得我们对于运算器的掌握更加生动立体,并且成功验证由74LS181组成的ALU的功能.

实验结果如下表: LT1 01100110 0 0110000

LT2 0110000001101100 S3S2S1S0 M=0(算术运算) Cn=1(无进Cn= 0(有进M=1(逻辑运 CY进位灯 0000 F=0110011000110000 F=0110011000110001 F=1001100111001111 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 F=0110011001111100 F=1111111110110011 F=1111111111111111 F=0110110001000000 F=0110110010001100 F=0000010111000011 F=0000011000001111 F=1100011001010000 F=1100011010011100 F=0101111111010011 F=0110000000011111 F=1100110001100000 F=1100110010101100 F=0110010111100011 F=0110011000101111 F=0110011001111101 F=1111111110110100 F=0000000000000000 F=0110110001000001 F=0110110010001101 F=0000010111000100 F=0000011000010000 F=1100011001010001 F=1100011010011101 F=0101111111010100 F=0110000000100000 F=1100110001100001 F=1100110010101101 F=0110010111100100 F=0110011000110000 F=1001100110000011 F=0000000001001100 F=0000000000000000 F=1001111111011111 F=1001111110010011 F=0000011001011100 F=0000011000010000 F=11111000111101111 F=1111100110100011 F=0110000001101100 F=0110000000100000 F=1111111111111111 F=1111111110110011 F=0110011001111100 F=0110011000110000

实验二 移位器运算

【实验目的与要求】

1. 掌握移位寄存器的组成、功能及工作原理; 2.验证移位寄存器的各种移位功能。 【实验设备和环境】

本实验使用EL-JY-II型计算机组成原理实验挂箱和一组连接线。 【实验内容】 一.实验原理

输入数据,利用移位寄存器进行移位操作,移位实验电路如图2-1所示:

图2-1 移位实验原理 移位功能由控制信号S1、S0、M控制,具体功能见表: G-299 0 0 0 0 0 1 0 0 二.实验步骤

1. 实验连线

2、将数据输入到移位寄存器

S0 0 0 0 1 1 1 1 1 S1 0 1 1 0 0 1 1 1 M × 0 1 0 1 × 0 1 T4 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 功 能 保持 循环右移 带进位循环右移 循环左移 带进位循环左移 置数(进位保持) 置数(进位清零) 置数(进位置1)

3.验证移位寄存器的功能 三. 实验总结

心得体会: 由于对于实验形式的熟悉以及通过数次对于实验器材的检验为本次实验提供了较好的基础,本次实验进行过程较为成功,实现了循环左右移,带进位左右移等功能,对于移位器的功能有了更深的体会.

实验三 存储器

【实验目的与要求】

1.掌握存储器的组成、功能及工作原理。 2.验证半导体静态随机存储器RAM的读写过程。 【实验设备和环境】

本实验使用EL-JY-II型计算机组成原理实验挂箱和一组连接线。 【实验内容】 一.实验原理

实验中的静态存储器由2片SRAM 6116(2K×8)构成,其数据线D0~D15接到数据总线,地址线A0~A7由地址锁存器74LS273(集成于EP1K10内)给出。黄色地址显示灯A7-A0与地址总线相连,显示地址总线的内容。绿色数据显示灯与数据总线相连,显示数据总线的内容。

因地址寄存器为8位,接入SRAM 6116的地址A7-A0,而高三位A8-A10接地,所以其实际容量为28=256字节。6116有三个控制线,/CE(片选)、/R(读)、/W(写)。其写时间与T3脉冲宽度一致。

当LARI为高时,T3的上升沿将数据总线的低八位打入地址寄存器。当WEI为高时,T3的上升沿使6116进入写状态。 二.实验步骤

为了避免总线冲突,首先将控制开关电路的所有开关拨到输出高电平“1”状态,所有对应的指示灯亮。

本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。 连线时应注意:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。

1. 实验连线

按所给接线图接线,拨动清零开关CLR,使其指示灯显示状态为亮—灭—亮。

2. 往存储器写数据:

以往存储器的(FF) 地址单元写入数据“AABB”为例,操作过程如下图所示: (操作) (显示) (操作) (显示) (操作) 1.C –G=1 地址寄 1.C-G=1 1.LAR=1 存器电2.置数据输入绿色数据总2.置数据输入2.T3=1 路黄色电路 线显示灯显电路 (按【单D15—D0= 示 D15—D0= 地址显步】脉“0000000“0000000“1010101010示灯显01111111冲) 01111 111011” 示 1” 1111” 3. LAR=0 “1111113.CE=1 4. C-G=0 11” 4.C-G=0 (显示) (操作) 1.WE=1 2.CE=0 绿色数据总3.T3=1 线显示灯显(按【单示 步】) “1010101014.WE=0 0111011” 按下表单元地址写入相应的数据 地址(二进制) 00000000 01110001 01000010 01011010 10100011 11001111 11111000 11100110 3.从存储器里读数据

从存储器的(FF) 地址单元读出数据“AABB”,操作过程如图3-5所示:

(操作) (显示) (操作) (显示) (操作) (显示)

1.C-G=1 MAR电路 1.LAR=1 2. 置数据输入绿色数据总黄色地址 1. 2.T3=1 绿色数据总电路 线显示灯显显示灯显 C-G=1 2. (按【单线显示灯显D15—D0=示 示 LAR=0 步】) 示 \“000000001“11111113. 11111” 1111111” 1” “101010101WE=0 3.CE=1 0111011” 4.CE=0 4.C-G=0 数据(二进制) 0011001100110011 0011010000110100 0011010100110101 0101010101010101 0110011001100110 1010101110101011 0111011101110111 1001110110011011 图3-5 存储器读出数据示意图

按图3-5步骤从写入数据的单元读出相应的数据,验证其正确性。 三. 实验总结

实验四.总线控制

【实验目的与要求】

1. 掌握总线的组成、功能及工作原理;

2. 验证利用总线实现运算器和存储器的协同工作。 【实验设备和环境】

本实验使用EL-JY-II型计算机组成原理实验挂箱中的运算器电路和存储器电路部分和一组连接线。 【实验内容】 一.实验原理

总线是多个系统部件之间进行数据传送的公共通路,是构成计算机系统的骨架。借助总线连接,计算机在系统各部件之间实现传送地址、数据和控制信息的操作。因此,所谓总线就是指能为多个功能部件服务的一组公用信息线。

在本实验中,挂接在数据总线上的有输入设备、输出设备、存储器和加法器。为了使它们的输出互不干扰,这些设备都有三态输出控制,且任意两个输出控制信号不能同时有效。原理如图:

数码管显示电路用可编程逻辑芯片ATF16V8B进行译码和驱动,D-G为使能信号,W/R为写

信号。当D-G为低电平时,W/R的下降沿将数据线上的数据打入显示缓冲区,并译码显示。 二.实验步骤

1. 实验的流程

(1)从输入设备将一个数打入LT1寄存器。 (2)从输入设备将一个数打入LT2寄存器。 (3)LT1与LT2寄存器中的数运算。

(4)从输入设备将另一个数打入地址寄存器。 (5)将两数的运算结果写入当前地址指明的存储器中。 (6)将当前地址的存储器中的数用数码管显示出来。 2. 实验连线 本实验连线如图。

3. 总线初始化

4. 输入两个数(任意)到运算器运算 5. 运算结果写到存储器 6. 读出运算结果输出 三. 实验总结

实验过程中遇到的问题: 本次实验连线比较复杂,需要谨慎妥帖,几次失败问题分别是连线问题,实验台问题以及操作问题,最后成功的时候当然非常喜悦与珍惜.

心得体会: 对总线的组成, 功能和理解得到很好的加强,验证了利用总线实现运算器和存储器的协同工作,另外做实验需要耐心,连线繁琐,操作也可能屡战屡败,不过整体来说纯技术性难度不大,重点在于对于总线的理解,收获很大.

实验五 微程序控制器原理

【目的与要求】

1. 掌握微程序控制器的组成及工作原理;

2. 验证微程序的写入、读出和运行,学会设计简单的微程序。 【实验设备与环境】

本实验使用EL-JY-II型计算机组成原理实验挂箱和一组连接线。 【实验内容】 一.实验原理

微程序控制器在电路中使用一片三态输出8D触发器74LS374、三片EEPROM2816和一片三态门74LS245,其余逻辑控制电路均集成于EP1K10内部。

1. 写入微指令

在写入状态下,K2须为高电平状态,K3接至脉冲/T1端。MS1—MS24为24位写入微代码,由24位微代码开关提供。uA5—uA0为写入微地址,由微地址开关提供。K1接低电平使74LS374有效,在脉冲T1时刻,uAJ1的数据被锁存形成微地址,同时写脉冲将24位微代码写入当前微地址中。

2. 读出微指令

在读出状态下k2接至低电平,K3接至高电平。K1接低电平使74LS374有效,在脉冲T1时刻,uAJ1的数据被锁存形成微地址uA5—uA0,同时将当前微地址的24位微代码由MS1—MS24输出。 3. 运行微指令

在运行状态下,K2接低电平,K3接高电平,K1接高电平。使控制存储器2816处于读

出状态,74LS374无效,因而微地址由微程序内部产生。在脉冲T1时刻,当前地址的微代码由MS1—MS24输出;T2时刻将MS24—MS7打入18位寄存器中,然后译码输出各种控制信号;在同一时刻MS6—MS1被锁存,然后在T3时刻,由指令译码器输出的SA5—SA0将其中某几个触发器的输出端强制置位,从而形成新的微地址uA5—uA0,这就是将要运行的下一条微代码的地址。当下一个脉冲T1来到时,又重新进行上述操作。

4、脉冲源和时序

各个实验电路所需的时序信号端均已分别连至“控制总线”的“T1、T2、T3、T4”,实验时只需将“脉冲源及时序电路”模块的“T1、T2、T3、T4” 端与“控制总线”的“T1、T2、T3、T4” 端相连,即可给电路提供时序信号。 二.实验步骤

实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。为了避免总线冲突,首先将控制开关电路的所有开关拨到输出高电平“1”状态,所有对应的指示灯亮。连线时应注意:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。

1.实验连线 按下图接线:

2.写入微代码

首先将微程序控制电路上的开关K1 off、K2 on、K3 off,然后将24位微代码输入及显示电路上的开关K4拨到on状态。置控制开关UA5 到UA0=“000000”输入微地址,置24位微代码开关MS24---MS1为:“00000000 00000000 00000001”,按脉冲源及时序电路的【单步】,黄色微地址灯显示“000 000”,表明已写入微代码。保持K1K2K3K4状态不变,写入表5-1的所有微代码。

表5-1 实验用微代码表 UA5…UA0 控制开关电路 T1T2T3T4 脉冲源及时序电路 finf/4 微程序控制器电路 UAJ1 控制总线 T1T2T3T4

微地址(二进制) 000000 000001 000010 000011 000100 001000 001001 010000 010101 011000 011001 3. 读微代码并验证结果

微代码(十六进制) 000001 000002 000003 015FC4 012FC8 018E09 005B50 005B55 06F3D8 FF73D9 017E00 将微程序控制电路上的开关K1 off、K2 off、K3 on,然后将24位微代码输入及显示电路上的开关K4拨到off状态。置控制开关UA5 到UA0=“000000”,输入微地址“000000”, 按脉冲源及时序电路的【单步】,黄色微地址灯显示“000 000”,24位微代码显示“00000000 00000000 00000001”,即第一条微代码。保持K1K2K3K4状态不变,改变UA5到 UA0微地址的值,读出相应的微代码,验证是否正确。

4. 运行微程序 (1)微指令格式

微程序设计的关键技术之一是处理好每条微指令的下地址,以保证程序正确高效地进行。本系统采用分段编码的指令格式,采用断定方式确定下一条微指令的地址。图5-9为断定方式微程序控制部件示意图。

其中“微地址形成电路”对应于图5-1(b);“控存CM”对应于图5-1(a);“微指令寄存器及控制、地址场”对应于图5-1(c)。

微操作控制信号

控制场 下地址场 微指令寄存器MIR 控存CM

微指令

微指令

状态条件

微地址

指令操作码

图5-9 断定方式微程序控制部件示意图

每条微指令由24位组成,其控制位顺序如表5-2所示:

表5-2 微指令格式

24 23 S3 S2

微指令译码电路如图5-10,图5-10中MS24—MS16对应于微指令的第24—16位,S3S2S1S0MCn为运算器的方式控制,详见实验一和实验二;WE为外部器件的读写信号,‘1’表示写,‘0’表示读;1A、1B用于选通外部器件,通常接至底板IO控制电路的1A1B端,四个输出Y0Y1Y2Y3接外部器件的片选端。

图5—10中MS15—MS13对应于微指令中的F1,经锁存译码后产生6个输出信号:LRi、LDR1、LDR2、LDIR、LOAD、LAR。其中LDR1、LDR2为运算器的两个锁存控制(见实验一);LDIR为指令寄存器的锁存控制;LRi为寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作;LOAD为程序计数器的置数控制,LAR为地址寄存器的锁存控制。以上6个输出信号均为‘1’有效。

MS12—MS10对应于微指令中的F2,经锁存译码后产生6个输出信号:RAG、RBG、RCG、299-G、ALU-G、PC-G。其中RAG、RBG、RCG分别为寄存器Ax、Bx、Cx的输出控制;299-G为移位寄存器的输出控制(见实验二);ALU-G为运算器的输出控制(见实验一);PC-G为程序计数器的输出控制。以上信号均为‘0’有效。

MS9---- MS7对应于微指令中的F3,经锁存译码后产生6个输出信号:P1、P2、P3、P4、AR、LPC。其中P1、P2、P3、P4位测试字,其功能是对机器指令进行译码,使微程序转入

2222 1 0 1118 9 7 1A 115 14 12 11 9 8 6 13 10 7 1B F1 F2 F3 6 uA5 5 uA4 4 uA3 3 uA2 2 uA1 1 uA0 SSCWM 1 0 n E 相应的微地址入口,从而实现微程序的顺序、分支和循环运行(见图5-1(b)和图5-11);AR为运算器的进位输出控制(见实验一);LPC为程序计数器的时钟控制。以上信号均为‘1’有效。

微指令中的uA5-uA0为6位的后续微地址(见微地址形成电路图5-1(b))。F1、F2、F3三个字段的编码方案如表5-3所示:

图5-11为机器指令译码器电路。

表5-3 F1、F2、F3三个字段的编码方案

F1字段 15 14 13 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 (2)编制微程序

选择 LDRi LOAD LDR2 自定义 LDR1 LAR LDIR 无操作

F2字段 12 11 10 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 选择 RAG ALU-G RCG 自定义 RBG PC-G 299-G 无操作 F3字段 9 8 7 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 选择 P1 AR P3 自定义 P2 LPC P4 无操作 编写几条可以连续运行的微指令,熟悉本实验系统的微指令设计方式。表5-4(将表5-1中的微指令代码写成二进制)为几条简单的可以连续运行的二进制微指令代码实例,注意UA5-------UA0的编码规律,运行时注意观察后续地址。

表5-4 实验五微代码表

微地址(二进制) 000000 000001 000010 000011 000100 001000 S3 S2 S1 S0 M CN WE 1A 1B 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 F1 F2 F3 UA5...UA0 000001 000010 000011 000100 001000 001001 000 000 000 000 000 000 000 000 000 101 111 111 010 111 111 000 111 000 001001 010000 010101 011000 011001 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 11 0 1 111111 1 10 0 0 0 0 0 0 0 10 101 101 101 101 101 101 111 001 111 111 001 111 111 111 000 010000 010101 011000 011001 000000 以下举例说明微代码的含义:

#微地址“000011”:读Y1设备上的数据,并将该数据打入地址寄存器。然后跳转至微地址“000100”。

#微地址“000100”:读Y1设备上的数据,并将该数据打入运算暂存器2,然后跳转至微地址“001000”。 (3)运行微程序 三. 实验总结

心得体会: 本次实验连线虽然简单,个人感觉实现功能最好,通过练习来掌握微程序控制器的组成及工作原理,实验验证微程序的写入、读出和运行,而且学会设计简单的微程序。

本文来源:https://www.bwwdw.com/article/shvr.html

Top