目录
摘要…………………………………………………………….
实验装置组成…………………………………………………..
1 硬件部分…………………………………………………
2 软件部分…………………………………………………
软件使用说明…………………………………………………
1 界面说明…………………………………………………
2 编辑程序…………………………………………………
3 汇编程序…………………………………………………
4 运行方式…………………………………………………
5 跟踪调试…………………………………………………
实验操作流程…………………………………………………
指令系统汇编…………………………………………..
.
1 模型机指令系统…………………………………………
2 模型机指令码……………………………………………
微程序的设置与实现……………………………………
实验心得……………………………………
参考文献……………………………………
1
摘要
微程序控制器同组合逻辑控制器相比较,具有规整性、灵活性、可维护性等
一系列优点,因而在计算机设计中逐渐取代了早期采用的组合逻辑控制器,并已
被广泛地应用.在计算机系统中,微程序设计技术是利用软件方法来设计硬件的
一门技术 .
微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信
号编成所谓的“微指令”,存放到一个只读存储器里.当机器运行时,一条又一条
地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行
所规定的操作 .
采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是
指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往
往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令
中,若干条微指令组成一段微程序,对应一条机器指令。在设计 CPU 时,根据
指令系统的需要,事先编制好各段微程序 ,且将它们存入一个专用存储器。微
程序控制器由指令寄存器 IR、程序计数器 PC、程序状态字寄存器 PSW、时序系
统、控制存储器 CM、微指令寄存器以及微地址形成电路。微地址寄存器等部件
组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送
入微指令寄存器,译码后产生所需微命令,控制各步操作完成。
2
一 实验装置组成
(一)硬件部分
实验装置是为计算机组成原理的工作流程专门设计的。它能够让学生通过手动和自动的
操作弄清和掌握计算机工作的基本原理。
实验模块由手动实验部分和程序实验部分组成。手动实验主要完成计算机各个组成部分
的原理实验,包括数据流程、运算器执行、存储器和外设之间的数据交换等部分,通过组合
变化各个输入信号,进一步理解计算机各个部件的执行过程和工作原理,手动实验在本指导
书的前面部分已经作了详细介绍。程序实验主要完成指令系统中每条指令的具体执行,包括
取指、译码、执行过程中对应微指令的工作流程,并且还能观察各类指令执行的结果。操作
过程在计算机上进行,可实现单拍、单步和连续执行,每个执行过程可以在计算机上显示,
其执行结果和过程也可同步在实验板上显示,进一步观察对应指令在执行过程中的每个控制
信号和数据流向。
程序实验主要包括:
数据传输程序
各种运算程序
控制转移程序
数码转换程序
(二)软件部分
软件系统由编辑程序、编译程序、程序执行、调式程序几个部分组成,完成由源程序输
入、语法分析排错、指令汇编、应用程序调试的全过程。
软件系统采用集成化的窗口,各种软件功能分类设置在程序中,可以根据程序实验过程
的需要随意组合使用。软件系统的主窗口界面如下图所示:
图 7-1 软件系统主窗口界面
3
二、软件使用说明
(一)界面说明
图 7-2 界面说明标识
软件系统采用集成化的窗口,各种软件功能分类设置在程序中,软件系统的主窗口界面
如上图所示,现将界面各组成部位说明如下:
1 —— 寄存器
2 —— 存储器
3 —— 信息
4 —— 编辑源程序
5 —— 汇编
6 —— 程序复位
7 —— 运行
8 —— 停止
9 —— 单步
10 —— 单拍
11 —— 设置/取消断点
12 —— 连接/断开串行口
13 —— 源程序编辑区
14 —— 寄存器/存储器显示区 显示各寄存器/存储器的值
15 —— 微程序显示区
在程序执行过程中,观察各寄存器的值
在程序执行过程中,观察各存储器的值
显示当前指令对应的微程序
从汇编状态或运行状态返回到编辑源程序状态
对编辑好的源程序进行汇编连接
让程序指针指向程序的第一条指令
运行已通过汇编连接的程序
停止程序的运行
单步运行程序(逐条指令执行)
单拍运行程序(逐条微指令执行)
设置/取消断点,调试程序时用
连接/断开串行口,连通/断开程序和模型机通信
在该区域内编辑源程序
显示当前指令对应的微程序
4
(二)编辑程序
编辑源程序采用文本的编辑方式,按照给定的模型机指令系统,用汇编语言格式编辑程
序,对所编辑的程序进行语法分析,纠错处理。编辑程序主要实现如下的操作流程:
图 7-3 编辑源程序流程
图 7-4 新建编辑窗口
(三)汇编程序
汇编程序先对源程序进行语法检查,排除源程序中的语法错误,再将源程序编译为机器
码,在调试的窗口中显示指令行、机器码、助记符等信息。
5
图 7-5 汇编出错提示信息
图 7-6 内存地址、助记符和机器码
(四)运行方式
程序的运行有单拍、单步和连续执行三种方式。
单拍方式是逐条执行微程序中的微指令,屏幕显示信息(微指令、积存器和存储器状态)
与实验板显示信息(微指令对应的数据流向以及相应的控制信号)互相配合,可以将单拍微
指令执行的结果从不同角度显示出来,以便观察。
单步方式是一条一条指令执行的过程,每条指令执行后,将内存和寄存器中的变化显示
出来。
连续执行将一段程序执行的功能表现出来,在连续执行调试中可以采用设置断点的方
法,分模块或分段地进行程序调试。
(五)跟踪调试
程序执行的调试方法可按调试的目的考虑,一般有以下几种情况:
(1)为了掌握一般指令执行过程。采用单拍和单步,结合实验板观察有关的变化。
6
(2)为观察寄存器的变化。采用单步和连续执行,打开寄存器窗口观察寄存器变化。
图 7-7 单拍或单步运行
(3)为了观察内存的变化。采用单步和连续执行,打开内存窗口观察内存变化。
图 7-8 观察寄存器变化
7
(4)为了调试一段条件转移程序。可以在不同转移目标点设置断点,观察其转移情况。
图 7-9 观察存储器变化
图 7-10 设置断点
三、实验操作流程
1、熟悉本模型机的指令系统,理解各条指令的功能和用途。
2、打开实验例程,熟悉软件操作,根据程序执行流程观察寄存器和存储器单元的变化情况,
连接串行口连通模型机,观察模型机中数据流向和程序执行的同步情况。
3、利用本模型机的指令系统,自行编制一些小的程序,调试并运行。
四、指令系统汇编
(一)模型机指令系统
序号
1
2
3
4
5
6
7
8
9
10
类
型
算
逻
运
算
一
类
ADD
ADC
SUB
SBC
MUL
AND
OR
汇编助记符
指令格式
指令
操作码 源 目 第二字节 长度
状态位
注 释
RD,RS 0001
RD,RS 0010
RD,RS 0011
RD,RS 0100
RD,RS 0101
RD,RS 0110
RD,RS 0111
RS RD
RS RD
RS RD
RS RD
RS RD
RS RD
RS RD
1
1
1
1
1
1
1
Z,C,E,V,N RD←(RD)+(RS)
Z,C,E,V,N RD←(RD)+(RS)+CY
Z,C,E,V,N RD←(RD)-(RS)
Z,C,E,V,N RD←(RD)-(RS)-CY
Z,C,E,V,N RD←(RD)*(RS)
Z
Z
RD←(RD)and(RS)
RD←(RD)or(RS)
算
二
类
算
逻
运
ADD
ADC
RD,#IMM 101000
RD,#IMM 101001
#IMM RD #IMM 2
#IMM RD #IMM 2
Z,C,E,V,N RD←(RD)+#IMM
Z,C,E,V,N RD←(RD)+#IMM+CY
8