计组实验4控制器实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

综合实验报告

( 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 ,为启动监控程序做好准备,只在教学计算机系统加电启动时被执行一次,在教学计算机正常运行的过程中不会进入

这个节拍。

图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步完成。

读 取 指 令

1000 按RESET 键

相关文档
最新文档