计算机组成原理实验完整版

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

河南农业大学

计算机组成原理实验报告

题目简单机模型实验

学院信息与管理科学学院

专业班级计算机科学与技术2010级1班

学生姓名张子坡(1010101029)

指导教师郭玉峰

撰写日期:二○一二年六月五日

一、实验目的:

1.在掌握各部件的功能基础上,组成一个简单的计算机系统模型机;

2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程;

3定义五条机器指令,编写相应微程序并具体上机调试。

二、实验要求:

1.复习计算机组成的基本原理;

2.预习本实验的相关知识和内容

三、实验设备:

EL-JY-II型计算机组成原理试验系统一套,排线若干。

四、模型机结构及工作原理:

模型机结构框图见实验书56页图6-1.

输出设备由底板上上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据结构的数据送入数据管显示注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序寄存器时,只有低8位有效。

在本实验我们学习读、写机器指令和运行机器指令的完整过程。在机器指令的执行过程中,CPU从内存中取出一条机器指令到执行结束为一个指令周期,指令由微指令组成的序列来完成,一条机器指令对应一段微程序。另外,读、写机器指令分别由相应的微程序段来完成。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,必须设计三个控制操作微程序。

存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。

存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。

启动程序(RUN):拨动开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“11”时,按“单步”键,即可转入第01号“取指”微指令,启动程序运行。

注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式有监控程序直接对E4、E5赋值,无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关控制。

五、实验内容、分析及参考代码:

生成的下一条微地址

UA5 UA0

MS5 MS0

微地址

41221404

2231511

621

731

4P CA P I P I SA P CA P I P I SA P I SA P I SA SA ⋅+⋅+⋅=⋅+⋅+⋅=⋅=⋅==

进行P1测试时,P1为0,其他都为1。

进行P4测试时,P4为0,其他都为1。

当SA4-SA0为0时,对应的UA4-UA0被置1,否则UA 保持MS 原值不变。

1. 根据上面的逻辑表达式,分析56页图6-2的P1测试和P4测试

两条微指令的微地址转移方向。

P1测试时SA4=1、SA3=1、SA2=1、SA1=0、SA0=1,表明SA1对应位置1生成的下一条微地址001010,进入12号单元,12号单元的F3字段为101不是任何测试,所以就进入07号单元,把01H 送入BX ,07号单元的F3字段为111无操作,回到01号单元的取指阶段。同理,可得ADD 指令的地址转移方向。

P4测试时,它以CA1、CA2作为测试条件,出现读写机器指

令、直接运行机器指令三路分支,占用三个固定的地址元。 P4测试是对内存读、写或者直接运行程序,此时可得到SA4=1,

SA3=SA2=1,当CA1、CA2为“00”时SA1=SA0=1,全1则原样输出既010000,进入20号单元。20单元的F3字段为101,LPC 不是任何测试, 所以,下址字段为010010,既进入22号单元。22单元的F3字段为111无操作,下址字段为010111,进入27号单元,而27单元的F3字段为111,无操作下址字段为010000,所以又回到20号单元,开始循环。同理,当CA1、CA2为“10”时可得到SA1=0,SA0=1,则把SA0对应位置1,既010001进入微地址21,按照

“010001”、“010100”、“011000”方式循环。当CA1、CA2为“11”时可得到SA1=SA0=0对应置1,生成下一条微地址为010011

既23号单元,23单元的F3字段为111无操作生成的下址字段为000001,进入到取指阶段01号单元开始程序运行。

2.分析实验六中的五条机器指令的执行过程

引用以下代码及机器指令再分析

0000 0000 0000 0000 IN AX,KIN 数据输入电路->AX0000 0001 0010 0001 MOV BX,01H 0001H->BX

0000 0010 0000 0001

0000 0011 0001 0000 ADD AX,BX AX+BX->AX

0000 0100 0001 0000 OUTDISP AX AX->输出显示电路0000 0101 0100 0000 JMP 00H 00H->PC

0000 0110 0000 0000

表6-1机器指令表:

关于上面五条机器指令的执行过程。首先,进入取指阶段,PC 中机器指令的地址送AR,然后PC值加1,RAM中的数上数据总线,指令寄存器的门打开接收数据,操作码进行P1测试经译码后,对于IN AX,KIN取机器指令的高四位对SA4、SA3、SA2、SA1、SA0,判断

后得到下址字段,既进入10号单元完成把输入的数据给AX。然后,又回到“取指”阶段,“译码”进行P1测试取MOV BX,01H的高四位对SA4、SA3、SA2、SA1、SA0,判断后进入12号单元,执行当前PC中的值送AR,PC值加1,进入07号单元执行RAM中的数01H 上数据总线,寄存器BX接收数据。回到公用微指令“取指”,“译码”阶段,进行P1测试再取ADD AX,BX取出它的高四位对SA4、SA3、SA2、SA1、SA0判断进入11号单元寄存器AX的内容送数据总线LT1接收数据,进入03单元BX的内容上数据总线LT2接收进入06号单元LT1与LT2数据之和送给AX,最后回到取指阶段继续执行译码后取OUT DISP,AX ,P1测试后进入13号单元把寄存器AX的内容输出显示,然后回到取指阶段。最后执行JMP指令经P1测试进入14号单元,当前PC值送AR,然后加1,进入15号单元RAM中的数据上数据总线,把跳转地址送给PC,最后转向取指阶段。

3.修改MOV指令,使送入BX中的值为02H。

把02H送给BX,达到修改01H,MOV BX,01H为双字长第二个字为操作数01H。把操作数改成0000 0010即可。

4.设计一条机器指令,IN BX , KIN 数据输入电路->BX,微程序入口地址为16。将原程序中的MOV指令替换,再运行,写出执行过程和结果。

机器指令助记符说明

0110 0001 IN BX,KIN 数据输入电路->BX

机器指令执行,在取指阶段01号单元PC送AR,PC值加1,进入02单元RAM数据上数据总线指令寄存器门打开接收数据,P1

测试译码后,进入16号单元把数据送入BX,回到取指阶段译码。回到01号单元的取指阶段。

5.设计一条机器指令,SUB AX,BX AX-BX->AX ,微程序入口地址为17。将原程序中的ADD指令替换,再运行,写出执行过程和结果。

相关文档
最新文档