实验七基本模型机的设计与实现

  • 格式:pdf
  • 大小:380.11 KB
  • 文档页数:6

下载文档原格式

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

实验七 基本模型机的设计与实现

一、实验目的

⒈在掌握部件单元电路实验的基础上,进一步将其组成系统地构造

一台基本模型计算机。

⒉为其定义5条机器指令,并编写相应的微程序,上机调试掌握整机

概念。

二、实验设备

Dais-CMH+/CMH 计算器组成原理教学实验系统一台,实验用扁平

线、导线若干。

三、实验原理

部件实验过程中,各部件单元的控制信号是以人为模拟产生为主,而

本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特

定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完

成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全

部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、

STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下

(前三位为操作码):

==========================================================助记符 机器指令码 说 明

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

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

IN R0,SW 0010 0000 数据开关状态

→R0

ADD R0,[addr] 0100 0000 XXXXXXXX R0+[addr]→R0

STA [addr],R0 0110 0000 XXXXXXXX R0→[addr]

OUT [addr],LED 1000 0000 XXXXXXXX [addr]→LED

JMP addr 1010 0000 XXXXXXXX addr→PC

==========================================================其中IN为单字节(8位),其余为双字节指令,XXXXXXXX为addr对

应的二进制地址码。

根据以上要求设计数据通路框图,如图7-10-1所示。系统涉及到的

微程序流程见图7-7-3,当拟定“取指”微指令时,该微指令的判别测试

字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指

令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前3位

(IR7~IR5)作为测试条件,出现8路分支,占用8个固定微地址单元。

当全部微程序设计完毕后,应将每条微指令代码化,表7-10-1即为

将图7-10-2的微程序流程图按微指令格式转化而成的“二进制微代码

表”。

下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据总线上,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P(1),通过节拍脉冲

T4的控制以便识别所要求的操作。“

指令寄存器”根据指令中的操作码译码强置微控器单元的微地址,使

下一条微指令指向相应的微程序首地址。

本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是LED块,它作为输出设备(OUTPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到外部数据总线上,当LDED有效时,将数据打入输出锁存器,驱动LED显示。

图7-10-1 基本模型机数据通路框图

图7-10-2 基本模型机微程序流程图

按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换成十六进制格式文件。

表7-10-1

M25M24M23M22M21M20M19M18

C B A AR未用P(3)A9A8

M17M16M15M14M13M12M11M10

CE LOAD CN M S0S1S2S3

M9M8M7M6M5M4M3M2

P(2)LDAR LDPC LDIR LDDR2LDDR1LDR0WE 876543M1M0

UA0UA1UA2UA3UA4UA5P(1)SW-B

A字段

C B A选择

000禁止

001PC-B

010ALU-B

011299-B

100Rs-B

101Rd-B

110保留位

111保留位

本实验设计的机器指令程序如下:

地址(二进制) 内容(二进制) 助记符 说 明

0000 0010 0000 IN R0,SW 数据开关内容→R0 0001 0100 0000 ADD R0,[09H] R0+[09H]→R0 0010 0000 1001

0011 0110 0000 STA [0BH],R0 R0→[0BH]

0100 0000 1011

0101 1000 0000 OUT [0BH],LED [0BH]→LED

0110 0000 1011

0111 1100 0000 JMP 00H 00H→PC

1000 0000 0000

1001 0101 0101 用户自定义

1010 1010 1010 用户自定义

1011 求和结果存放单元

将微代码流程图代码化,本实验给出的微程序二进制代码转化成十六进制格式文件。机器指令及微程序按照规定的格式编写成十六进制格式文件,程序清单如下:

;机器指令格式说明("P"代表机器指令):

; PXX XX

; 地址 机器代码

P00 20 ;IN R0,SW

P01 40 09 ;ADD R0,[09H]

P03 60 0B ;STA [0BH],R0

P05 80 0B ;OUT [0BH],LED

P07 A0 00 ;JMP 00H

P09 55

P0A AA

;32位微控制代码说明("M"代表微指令):

; MXX XX XX XX XX

; 微地址 32位微指令代码

M00 00 00 00 80 ;空操作