计组实验4控制器实验

更新时间:2024-02-02 20:16:01 阅读量: 教育文库 文档下载

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

综合实验报告

( 2013-- 2014 年度第 一 学期)

名 称: 计算机组成原理综合实验 题 目: 控制器实验 院 系: 班 级: 学 号: 学生姓名: 指导教师: 王晓霞 李梅 设计周数:

成 绩:

日期: 年 月

一、目的与要求

实验目的:

1. 2. 3. 4.

熟悉教学计算机的指令格式、指令编码、寻址方式和指令功能等内容;

熟悉教学计算机的总体组成和各个部件的运行原理,理解控制器部件在计算机系统理解和熟悉指令执行步骤的划分方案; 对微程序控制器:

1) 熟悉教学计算机的微指令格式和各个字段的控制功能,理解微指令下地址字段

的作用,并学会使用这个字段解决微指令之间的接续关系。

2) 熟悉教学计算机的微程序控制器的组成和运行原理,学习设计微程序控制器的过程和方法。 5.

对组合逻辑控制器:

1) 熟悉教学组合逻辑控制器的各个控制字段的组成及其控制功能,理解节拍发生

器线路设计和控制作用,并学会依照指令内容和节拍状态信号写出每一位控制信号的逻辑表达式。

2) 熟悉教学计算机的微程序控制器的组成和运行原理,学习设计组合逻辑控制器

的过程和方法。

中的作用。

实验要求:

(1) 实验之前认真预习,明确实验的目的和具体实验内容,认真地学懂几条典型指令的微程序的有关内容,对所选择的控制器的组成和运行原理有一个初步的理解。

(2) 参照对已有指令执行过程的设计结果,设计待扩展的几条指令的执行过程和各控制字段的组成及其具体内容,要特别注意属于相同指令组的指令,在执行步骤划分、每一个执行步骤(每一微指令)所用到的控制信号取值的相似性和差异之处,有意识地加深对所选择的控制器的设计过程与具体方法的理解程度,做好实验之前必要的准备工作。

(3)想一想实验的操作步骤,明确可以通过实验学习到哪些知识,想一想怎么样有意识地提高教学实验的真正效果;在教学实验过程中,要爱护教学实验设备和用到的辅助仪表,记录实验步骤中的数据和运算结果,仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。

(4) 实验之后认真写出实验报告,重点在于预习时准备的内容,最终正确的设计结果,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。

二、实验正文

1. 扩展指令怎样写到存储单元中,怎样执行测试?

答:A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行有扩展指令的程序。

2. 进行指令的扩展时,在指令格式、功能、执行流程设计过程中必须遵从哪些约束条件?

答:为了完成自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的实验内容,具体过程包括:

1)确定指令格式和功能,要受到教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致;

2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的取值,应参照已实现指令的处理办法来完成,特别要注意的是,读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能地与原用节拍的状态保持一致和相近;

3) 在指令流程表中填写每一个控制信号的状态值,基本上是个查表填数的过程,应该特别仔细,并有意识地体会这些信号的控制作用;

4) 在给出的mach的源文件中添加扩展指令的控制信号的逻辑表达式,编译适配后下载到MACH器件中;

5) 写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,(比如手动置指令,单步调试每个节拍对应的控制信号)继续调试,直到完全正确。

3. 组合逻辑控制器指令为什么划分成A、B、C、D共4组。画出各自的流程。 在这里首先给出硬连线控制器关键部分的设计结果,包括指令执行步骤的划分方案和节拍状态编码,指令执行流程表的完整内容。这两个部件的线路是在MACH芯片中实现的,每一个节拍状态转换的逻辑描述,每一位控制信号的逻辑表达式,请参见ABEL语言程序的相关段落,应该非常清楚地理解这里给出的设计结果和相关程序内容之间的对应关系。

首先,我们给出教学计算机的指令执行流程图(如图2.6)及其基本指令执行流程表(如表2-2)。

下面对图2.6中的每个符号及其含义进行必要说明。

图中的每一个方框代表一个节拍,表示指令的一个执行步骤。方框内部的文字简要说明在该节拍中应该完成的主要操作功能。

方框之间的带箭头的连线表示节拍状态的转换次序和方向。箭头线旁边有文字说明的,表示从前一个节拍转换为当前节拍的条件,没有文字说明的,表示无条件地从前一个节拍转换为当前节拍。

每个方框左上角的4位数字,是为该节拍分配的节拍状态编码。

前面已经讲到,把教学计算机全部指令按其应完成的功能和执行步骤情况,划分成A、B、C、D共4组。从指令流程图上可以看到,在完成读取指令之后,即已经得知指令操作码的前提下,节拍发生器就按这4类指令的划分情况,分别进入到各自不同的节拍序列。

其中状态编码为1000的节拍完成把0值送到程序计数器PC,为启动监控程序做好准备,只在教学计算机系统加电启动时被执行一次,在教学计算机正常运行的过程中不会进入

1000 按RESET键 读取指令000AR ? PC, PC ? PC+1 0010 读内存, IR ? 读出指令 A组指令 0011 寄存器之间的 数据运算或传送 B、C、D组指令 检查有无 这个节拍。

图2.6 教学计算机的指令执行流程图

状态编码为0000和0010的两个节拍完成读取指令的功能,公用于所有指令,是每一条指令开始执行时必须首先完成的两个操作步骤。图中用虚线菱形框表示的“响应与处理中断请求”的动作,在相邻两条指令进行切换的时刻,即前一条指令已经结束、下一条指令尚未开始的时刻,完成检查有无中断请求的功能,这个检查步骤也公用于所有指令,并依据检查结果进行不同的处理,无中断请求时,就开始下一条指令的执行过程,有中断请求时则进入中断响应和处理的过程,处理起来略显复杂,等到讲解中断的时候再详细说明。

其他节拍用于不同指令,具体说明如下。

A组指令将进入标记为0011状态的节拍,用1步完成寄存器之间的数据运算或传送; B组指令将进入标记为0110状态的节拍,再经过标记为0100的节拍,用2步完成1次对主存储器或IO设备的读写操作;

C组指令将进入标记为0110状态的节拍,再经过标记为0111的节拍、0101的节拍,用3步完成2次内存储器的读写操作,前2个节拍完成读主存储器的同时,还把读出内容传送到地址寄存器,第3个节拍直接使用该地址完成第二次对主存储器的读写操作;CALR指令是一次内存写操作和一次寄存器之间的数据传送操作,也是3个步骤完成。

D组指令,将进入标记为0110状态的节拍,再经过标记为0100的节拍、0111的节拍、0101的节拍,用4步完成2次内存储器的读写操作,每一次内存储器的读写操作各自用2步完成。

无 0110 传送地址 AR ? 地址 C组指令 0111 传送地址 AR ? 地址 D组指令 0101 中断请求 0100 B组指令 读、写内存 或读、写外设 读写内存 或寄存器间传送

4.组合逻辑控制器实验中,单步方式下,通过指示灯观察上面扩展的几条扩展指令的控制信号是否与设计的一致。

1) 观察A组指令中的ADC指令:

<1> 置拨动开关SW=00100000 00010000;

<2> 先按“RESET”按键;再连续按“START”按键,观察每一步的节拍及控制信号如

下表:

节拍 指令 编码 /MIO REQ /WE A 1000 0000 0010 B Sci SSH I8-6 I5-3 I2-0 SST DC1 DC2 0011 ADC 0010 0000

2) 观察A组指令中的STC指令:

<1> 置拨动开关SW=01101101 00000000;

<2> 先按“RESET”按键;再连续按“START”按键,观察每一步的节拍及控制信号如

下表。 节拍 指令 编码 /MIO REQ /WE A 1000 0000 0010 B Sci SSH I8-6 I5-3 I2-0 SST DC1 DC2 0011 STC 0110 1101 同样的方法给出其他扩展指令的控制信号。 节拍 指令 编码 /MIO REQ /WE A 1000 0000 0010 节拍 指令 编码 /MIO REQ /WE A 1000 0000 0010 节拍 指令 编码 /MIO REQ /WE A 1000 0000 0010 B Sci SSH I8-6 I5-3 I2-0 SST DC1 DC2 B Sci SSH I8-6 I5-3 I2-0 SST DC1 DC2 B Sci SSH I8-6 I5-3 I2-0 SST DC1 DC2 0011 SBB 0011 NOT

0011 CLC 9.用教学机已实现的基本指令和扩展的几条指令编写程序并运行,测试扩展的几条指令是否正确。

1)测试ADC和STC指令,给出测试结果。

2)测试SBB和CLC,给出测试结果。

5.微程序控制器实验中,单步方式下,通过指示灯观察上面扩展的几条扩展指令的控制信号是否与设计的一致。

1)扩展几条指令,确定各步的控制信号。 指令 操作功能 ADC DR+SR+CF→DR STC STC 微址 下址 CI3~0 SCC3~0 MRW I2~0 I8~6 I5~3 B口 A口 SST SSHSci DC2 DC1 LDRA PC→AR PC+1→PC MEM→AR CALR SP-1→SP、AR PCMEM SR→PC →

2)测试扩展的指令,给出实验结果。

三、综合实验总结

1. 组合逻辑控制器指令扩展和微程序控制器指令的扩展有何异同点?

答:

组合逻辑控制器是采用组合逻辑技术来实现控制操作,把控制部件看成是产生专门固定时序控制信号的逻辑电路,这种逻辑电路是由门电路和触发器构成的复杂逻辑网络。

采用组合逻辑设计方法设计控制单元,微操作控制部件的线路结构十分庞杂,不规整,而且指令系统功能越全,微操作命令越多,线路就越复杂。一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要想增加新的控制功能是不可能的。组合逻辑控制的最大优点是速度较快。

微程序控制器是为了克服组合逻辑控制器线路复杂、不易修改的缺点而提出的,用类似存

储程序的办法,来解决微操作命令序列的形成。就是把一条机器指令看成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或几个微操作。然后把这些微程序存到一个存储器中,用寻找用户程序机器指令的办法来寻找每个微程序中的微指令,逐条执行每一条微指令,也就相应地完成了一条机器指令的全部操作。

微程序控制器同组合逻辑控制器相比较,具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计。但是由于它使用了控制存储器,所以指令的执行速度比组合逻辑控制器慢。

2. 心得体会

1.1 1.2

------------

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

Top