一、实验目的:
(1)理解总线的概念和作用。
(2)连接运算器与存储器,熟悉计算机的数据通路。
(3)理解微命令与微操作的概念。 (5分)
二、实验要求:
(1)做好实验预习,在实验之前填好表 5-3,读懂实验电路图,熟悉实验元器件的功能特性和使用方法。
(2)按照实验内容与步骤的要求进行实验,对预习时填写好的微命令进行验证与调试,遇到问题请冷静、独立思考,认真仔细地完成实验。
(3)写出实验报告。 (5分)
三、实验环境:
操作系统:Microsoft Windows 7 旗舰版
6.1.7601 Service Pack 1 Build 7601
实验平台:多思组成原理虚拟平台dsvlab1.0
浏览器:Internet Explorer11 11.0.9600.18665 (5分)
- 实验原理:
实验所用数据通路如图 5.2所示,数据开关、数据显示灯、运算器、存储器通过总线相连数据开关(SW7~SW0)用于设置数据或地址,数据和地址经三态门发送至总线。DR1和DR从总线上接受数据并传送到 ALU进行运算,运算结果经三态门送回至总线。地址寄存器 AR从总线上获取地址并送至存储器,存储器按地址进行读写,将读出的数据发送至总线,或者从总线输入数据并写入。数据显示灯与总线相连,流经总线的所有数据和地址都将在数据灯上显示
计算机控制器通过控制线向执行部件发出各种控制命令,这些控制命令被称为微命令,执行部件接收微命令后所进行的操作,叫作微操作。图5.2中的控制信号线都与控制器相连,并由控制器的相应微命令控制,例如当控制器中表示的微命令位设置为0时,低电平信号通过控制线传送到数据开关的三态门,三态门即执行“打开”微操作。为方便进行实验,将图5.2中的所有控制信号归纳在表5-1中。
位 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
控制信号 | S3 | S2 | S1 | S0 | M | ![]() | ![]() | WE | LDAR | LDDR1 | LDDR2 | ![]() | ![]() |
表5-1 微命令集合
实验的主要任务就是确定这些控制信号在每一个 CPU 周期的取值。可以设计不同的微命令组合,来实现不同的功能。例如,微命令组合0000011001010表示 DR1载入,数据开关三态门打开,存储器、DR2和 ALU 三态门都关闭,其功能即为:将数据开关上的数据送入 DR1。注意,表 5-1里的微命令只是实际计算机中的一部分,计算机运行所需要的微命令远不止这些。在存储逻辑型控制器中,计算机需要用到的所有微命令组合都已预先设计好并存储在控制存储器中,由控制器根据程序自动找出需要的微命令组合,通过控制线发送给各执行部件护行。其中的每一个微命令组合又叫一条微指令。本实验用人工设置数据开关的方法来代替控制器生成微命令,完成一系列操作和任务。
图 1实验原理图
- 实验内容与步骤:
- 运行虚拟实验系统,导入实验电路,接好表 5-1中列出的控制信号线,将控制信号线分别接至电路图上方的数据开关上,并仔细检查一遍,确保连接正确。
图 2虚拟实验电路图
(2)进行电路预设置。将DR1、DR2和AR 的MR置1,时序发生器的 Step 置1。
(3)打开电源开关。
(4)求 A+B,A 从数据开关输入,B是存储器操作数,B的地址也从数据开关输入,运
算结果在数据显示灯上显示。具体步骤如下:
2)打开电源。
3)设置控制信号:数据开关→DR1(0000011001010);将数据开关设置为A(00000011);
单击时序发生器的 Start 按钮。等待一个 CPU 周期后,数据开关上的值已存入 DR1。
4)设置控制信号:存储器操作数→DR2(0000010010110);将数据开关设为B的地址
(00000010);单击Start按钮。等待一个CPU周期后,B的值已存入 DR2。
5)设置控制信号:DR1+DR2→DRI(1001011001001)。运算结果在数据灯上显示。
(5)计算 C-D→存储单元 E,数据 C、D 和地址E都从数据开关输入。具体步骤如下
1)设计微命令,填入表 5-3 中。
2)设置控制信号:数据开关→DR1(0000011001010);将数据开关设置为 C(10001000);单击时序发生器的 Start 按钮。等待一个 CPU周期后,C已存入DR1。
3)设置控制信号:数据开关→DR2(0000011000110);将数据开关设置为D (01000010);单击 Star按钮。等待一个CPU 周期后,D 已存入DR2。
4)设置控制信号:存储单元地址→AR ( 0000011010010);将数据开关设置为 E(00000000);单击Start 按钮。等待一个 CPU周期后,地址E已存入AR。
5)设置控制信号:DR1-DR2→存储单元(0110000100001);单击Start按钮。等待一个 CPU周期后运算结果已存入存储单元 00H。
6)单击菜单中的“工具/存储器片设置”,查看存单元 00H 的值是否正确,如果不正确确,找到错误的原因,调试至正确为止。
(6)计算 F∧G→存储单元 H。 F 和 G 都是存储器操作数, F、 G 的地址以及地址 H 都从数据开关输入。具体步骤如下:
1)设计微命令,填入表 5-4 中:
表5-4 F∧G→存储单元 H微命令
2) 设置控制信号: 存储器操作数 →DR1(0000010001011);单击 start 按钮。等待一个 CPU 周期后, F 已存入 DR1。
3) 设置控制信号: 存储器操作数 →DR2(0000010000111);单击 start 按钮。等待一个 CPU 周期后, G 已存入 DR2。
4)设置控制信号:存储单元地址 →AR(0000011010010);将数据开关设置为 H ( 00000010);单击 start 按钮。等待一个 CPU 周期后,地址 H 已存入 AR。
5)设置控制信号: DR1∧DR2→存储单元(1011110100001 );单击 start 按钮。等待一个 CPU 周期后,运算结果已存入存储单元 02H。
6) 单击菜单中的“工具/存储器芯片设置“,查看存储单元 02H 的值是否正确,如果不正确,找到错误的原因,调试至正确为止。
- 实验记录:
1.实验数据1,将输入信号设置为:DR1:00000101,DR2:00000010,输出:00000111;如图3所示:
图 3实验截图1
2.实验数据2,将输入信号设置为:DR1:00010111,DR2:00001000,输出:00001111;如图4所示:
图 4实验截图2
3.实验数据3,将输入信号设置为:DR1:10100101,DR2:01010101,输出为:00000101,如图5所示:
图 5实验截图3
x.实验结果汇总
表5-2ADD SW,M (SW+M→DR1)
表5-3SUB SW1,SW2 (SW1-SW2→M)
表5-4AND M3,M1,M2 (M1&M2→M3)
七、结果分析:
根据实验数据汇总表进行分析,得出结果,并判断是否正确,如不正确,分析原因。 (10分)
实验数据完全正确。如果实验数据错误,可能的原因:
1.算法或逻辑错误:
使用的算法或逻辑可能存在错误,这可能导致计算过程中的错误或异常结果。
2.人为误差:
对实验过程的不熟悉或误操作也可能会导致误差。
3.电路连接问题:
电路线连接错误导致数据错误。
八、问题与思考:
指导书最后部分的思考与分析问答。也可附加实验过程中遇到的问题、发现的错误和解决过程。
1.总线的功能是什么? 按连接部件可以分为几类?此实验中的总线属于哪一类?
总线的功能:
总线是计算机各种功能部件之间传送信息的公共通信干线,它是连接各个部件的信息传输线,是各个部件共享的传输介质,是信号的公共传输线。通过总线,计算机的主机可以与各个部件进行数据传输。
按连接部件分类:
总线按照其所连接的对象可以分为以下几类:
1.片内总线(器件级总线):它是中央处理器芯片内部的总线。
2.系统总线(板级总线或内总线):它是计算机各功能部件之间的传输通路,微型计算机总线通常称为内总线。
3.通信总线(外总线):它是计算机系统之间,或者是计算机主机与外围设备之间的传输通路。
此实验中的总线属于哪一类:此实验中的总线属于系统总线。
- 单总线结构有什么特点?多总线结构相对于单总线结构有什么优势?
单总线结构的特点:
- 简单性:单总线结构只包含一个数据总线,使得系统设计相对简单。
- 成本低:由于只有一个总线,所以硬件成本相对较低。
- 容易实现:由于只有一个总线,因此控制和管理相对容易。
多总线结构相对于单总线结构的优势:
- 并行传输:多总线结构可以同时进行多条数据的传输,提高了数据传输效率。
- 降低冲突:在多总线结构中,不同的组件可以使用不同的总线进行通信,减少了组件之间的竞争和冲突。
- 提高吞吐量:多总线结构可以支持并行操作,从而提高了系统整体的吞吐量和性能表现。
- 模块化:多总线结构可以更好地实现系统的模块化,不同的总线可以连接不同的模块,降低了系统复杂度。
3.什么是微命令?什么是微操作?它们与各功能芯片如74LS181、6116 有什么关系?
微命令:
微命令是指微程序中的最小控制步骤,它代表了对硬件中某些部件的操作。微命令通常由微程序控制存储器提供,并且用于控制CPU内部各功能部件的操作。
微操作是CPU执行指令时的最小操作单位,包括对寄存器、ALU(算术逻辑单元)、数据通路等进行的基本操作。微操作是由微指令来控制执行的。
与各功能芯片如74LS181、6116的关系:
74LS181 是一种四位算术逻辑单元(ALU)芯片,用于执行各种算术和逻辑操作。在CPU的微指令中,可能会使用微命令来控制74LS181芯片进行特定的运算操作,比如加法、减法、逻辑与或逻辑非等操作。
6116 是一种静态RAM芯片,用于存储数据和指令。在微程序控制中,微命令和微操作可能会涉及到对6116芯片的读取和写入操作,以实现对微程序的存储和执行。
这个实验的电路线比较难连(这里给大家放了这个实验的txt文件,可以直接在多思实验室里面打开使用)
通过网盘分享的文件:微指令 (1).txt
链接: https://pan.baidu.com/s/1d2GOJCo67odJ1bmhPFSBmw 提取码: 8m9s