实验四微控制器实验Word文件下载.doc
《实验四微控制器实验Word文件下载.doc》由会员分享,可在线阅读,更多相关《实验四微控制器实验Word文件下载.doc(9页珍藏版)》请在冰点文库上搜索。
M23~M19
M7~M0
M18……M8
直控字段
目的字段
运算字段
源字段
下续微地址字段
识别字段
保留段
表4-1 微指令的重叠结构定义
2)微程序计数器μPC
图4-2所示的微地址计数器框由3片161构成按字方式寻址的uPC计数器,计数器的输入端通过微总线(ubus)从指令译码器ID、微控制器(CM)的下址段捕捉非因变分量,从运算标志PSW、中断请求标志INQ等标志中捕捉因变分量。
计数器的输出端组成12位微地址总线,控制微程序存储器的寻址。
其中u0-u10为段微址,电路构造中与2片6264的地址端“A11”相连,它零状态输出微控制信息,“1”状态输出下续微地址。
它的清零端由中央外理器单元直控,上电时uPC计数器自动淸零,实验中按【返回】键亦可实现计数器的手动淸零。
操作控制字段
下续微地址控制字段
译码
微命令
u10……u0M23……M0
M2
M1
M0
CM
②
④
⑤
①
③
PC
AR
E/M主存
IRID
PSW
INQ
微地址
形成电路
uPC
微程序计数器
T3
T2
T1
图4-2 微程序控制器原理图
2.微程序的执行过程
图4-2所标示的字号表示微程序控制的全部工作过程。
1)启动取指微指令或微程序,根据程序计数器PC所提供的指令地址,从EM主存中取出所要执行的机器指令,送入指令寄存器IR、指令译码器ID中,并且完成PC+1,指向机器指令的下址单元。
2)根据ID译码器中的指令码,把微地址形成电路产生的机器指令起始微地址打入μPC。
3)从μPC所指定的CM控制存储器单元分时输出微操作控制字段与下续微地址控制字段。
4)微指令的操作控制字段经译码或直接产生一组微命令,控制有关功能部件完成微程序所规定的微操作。
5)微指令的下址段及当前PSW、INQ等标志送往微地址形成电路,产生下条微指令的地址,进入读取与执行下条微指令。
如此循环,直到一条机器指令的微程序全部执行完毕。
译码器
目的寻址字段
源寻址字段
下址段
M7…M0
M15…M11
M10…M8
M18…M16
M23…M19
M18…M8
微操作命令
目的微操作
运算微操作
源微操作
识别判断字
μd10~μd0
……
图4-3 微指令控制格式
3.微指令格式及编码
本系统采用字段直接编码法,把微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。
如图4-3所示,本控制器微指令字长35位,其中24个操作控制位分别由识别字段、判断字段、运算控制字段、源寻址字段、目的寻址字段及直接控制字段组成。
在下址捕捉时段由M18~M8输出字为十一位的后续微地址。
⑴识别字段
①M4、M1、M0分别定义Iμ、Icz、Ids,组成下址识别字段。
它们的编码下表所示。
表4-2 手控态识别字段编码表
M4
说明
Iμ
Icz
Ids
1
微址加1
执行周期微变址
无条件任意变址
带进位标志变址
带零标志位变址
②M2定义为取指控位IR
表4-3 取指控制一览表
M23
M21
T4
IP
MWR
IR
↑
打操作码
PC+1
打操作数
*注释:
当IP为“1”时PC不变,当MWR为“0”时执行指令寄存器写入操作
③M3定义为中断控位IE,中断源控制见表4-4~表4-6。
1.中断允许控制IEQ
表4-4 中断允许控制表
K7
K6
K3
K0
节拍
功能
Op
W
Ie
1→IEQ
开中断
0→IEQ
关中断
2.中断响应控制IAQ
表4-5 中断响应控制表
1→IAQ
中断响应
0→IAQ
中断退出
3.中断请求控制INQ
表4-6中断请求控制表
IEQ
IAQ
INT
1→INQ
锁存请求
X
清除请求
⑵运算字段
M15~M11分别定义M、S2、S1、S0,组成运算控制字段,其编码见实验一表1-1。
⑶源控制段
M10~M8组成X2、X1、X0源寻址段,其编码见表4-7。
表4-7源与目的寻址编码表
总线源编码
在线态目的编码
M10
M9
M8
M19
M18
M17
X2
X1
X0
O2
O1
O0
禁止
ALU
MAR
SP
BX
IOR
AX
MRD
XRD
IOW
RRD
XWR
RWR
⑷目的控制段
M19~M17组成o2、o1、o0目的寻址段。
其编码见表4-7.
⑸直接控制字段
①M6定义为字长控位W,当W=“0”时当前总线宽度为十六位;
若W=“1”根据总线源的奇偶特性形成偶递奇或奇递偶的八位字节总线。
②M7定义为源奇偶特性控位XP,在CPU特约的工作寄存器寻址中,当XP=“0”时源寄存器为偶寻址,总线宽度由字长控位“W”定义;
若XP=“1”源工作寄存器为奇寻址,并且形成奇递偶的八位字节总线。
在存储器或指令操作数字段为源的寻址中,XP可指定操作源的途径,亦可作为识别控位用。
③M16定义为目的奇偶控位OP,在CPU特约的工作寄存器寻址中,当OP=“0”时目的工作寄存器为偶操作,若总线宽度W=“0”时以字为目标,遇W=“1”时以字节为目标;
若OP=“1”目的工作寄存器为奇操作,以奇字节为目标。
在存储器或指令操作数字段的目的寻址中,OP可指定目标操作途径,亦可作为识别控位用。
④M5定义为运算源控位ALU,当ALU=“1”时运算器以AX、BX寄存器为源,若ALU=“0”运算器以当前源编码的定义部件为源。
⑤M20定义为寄存器与内存选择控位R/M,当R/M=“1”时选择工作寄存器,若R/M=“0”选择内存。
⑥M21定义为EM/RM主存及指令寄存器IR写命令MWR,当MWR=“0”、IR=“1”时执行存储器的写入操作。
当MWR=“0”、IR=“0”时执行指令寄存器IR写入操作。
⑦M22定义为程序计数器使能控位IP,当IP=“1”时程序计数器PC处保持状态,当IP=“0”时,遇E/M=“0”执行PC地址的装载,若E/M=“1”执行PC+1。
⑧M23定义为程序与数据的段地址选择控位E/M,当E/M=“1”时,主存以当前程序指针PC为Addr地址总线;
当E/M=“0”时,主存以当前AR为Addr地址总线。
⑹下址段
由M18~M8组成μD10~μD0共十一位下址微总线,在下址形成时段M18~M8输出下续微地址总线。
4.取址微操作流程
取指周期是每条指令都要经历的周期,因此取指周期的操作称为公操作。
在取指周期完成将现行指令从存储器中取出送往指令寄存器IR,并执行PC+1→PC,指向程序指令的下址。
从上图001号微单元所示的取指流程可知,“取指”按字节方式分时实现,执行时首先把操作码所在字节打入指令寄存器IR偶单元,然后把PC+1单元的内容打入IR奇单元,执行操作数的存储。
在同一机器周期内按字节方式分时实现十六位指令寄存器的打入操作。
五、控制器特约定义
为了迫使微程序控制器在上电或复位时按照预设的初始微操作信息步入正常工作状态,我们按照通用机设计规范强制定义了三个关联单元的微控制格式。
1.初始复位单元微程序定义
⑴初始复位微地址
控制器的微地址计数器upc初始复位状态为零,上电时微计数器自动淸零,实验中按【返回】键亦可实现微计数器的手动淸零。
⑵零微址单元格式
零微址单元的微操作编程为空操作,下址为增量计数方式。
其十六进制的指令格式为:
FFFF
FFFFFF
微指令控制段
2.取指周期微址与微操作定义
控制器定义001h单元为取指微入口,下址由指令译码器ID指定。
其十六进制指令格式为:
BFFFFB
3.中断控制微址与微操作定义
控制器定义003h单元为中断响应微入口,下址为增量计数方式。
FEFFF7
六、微控制器实践
微控制器的格式及控位定义渉及机器指令的设计,我们结合模型机运用实践加予阐述与论正。
这里围绕微控制器的顺序控制,以“取指”微操作所形成的微入口作为切入点,用手控方法模似微控制器的顺序控制过程,验证微控制器的基本工作原理。
首先把系统工作状态设置为“手动/在线”方式。
1.指令微地址的形成实验
我们默认操作码段的字长为八位,从PC零地址开始,向EM主存写入指令码,然后模拟“取指”微操作中机器指令起始微地址的形成。
①K23~K0置“1”,按【返回】键迫使PC=0,向程序段依次写入00h、80h、0C0h、0FFh。
置数
S15~S0=8000
S15~S0=FFC0
C0→[02]
X2X1X0=100
WXP=10
写数据
FF→[03]
80送[01]
XP=1
按【单拍】钮
00→[00]
E/MIPMWR=100
XP=0
②机器指令写入成功后,令K23~K0为“1”,灭M23~M0控位显示灯,按复位键使PC=0000H,然后令LDPCIR=00,点亮M22、M2控位显示灯,按【单拍】按钮执行取指微操作,把指令码00h打入ID指令译码器,uPC自动转入机器指令“00h”的微入口地址600h,ID按下流程完成取指微操作。
按【单拍】按钮
取指PC+1
IPIR=00
逻辑左移1位
(00000000)
加基地址600h
下续微地址
uPC=600h
关闭控位
M23~M0灯灭
按【返回】键
③保持当前“取指”状态,每按一次【单拍】按钮,uPC依次变址为700h、780h、7FEh……随机,当PC≥004h后,每按一次【单拍】按钮,uPC随机散转。
之后在按复位键,使PC,uPC恢复为零。
2.后续微地址的形成实验
找到初始微地址,开始执行相应的微程序,每条微指令执行完毕,都要根据要求形成后续微地址。
后续微地址的形成方法对微程序编制的灵活性影响很大。
本系统采用断定方式,其后续微地址的定义可由设计者指定或由设计者指定的下址与识别判断字段指定的条件组合产生。
⑴增量计数实践
默认当前uPC,K23~K0置“1”,在M23~M0控制灯全灭的状态下,令Iu(K4)=0,按【单拍】按钮,uPC执行现行微地址的增1计数操作。
当前uPC
当前uPC+1
Iu=0
按复位键,使uPC恢复为零
⑵绝对变址实践
微程序控制器支持设计者在微程序控制器的004~7FF范围内任意选择与指定后续微地址。
操作方法如下:
变址设置
设下续微址
I/O=0100h
微变址
uPC=100
uPC=311
IuIczIds=001
WXP=00
I/O=0311h
⑶条件变址实践
条件变址的后续微地址由非因变分量和因变分量两部分组成,非因变分量是由设计者直接指定,对应下址段ud10~ud1。
因变分量以当前运算标志为条件产生,对应下址段ud0。
①进位变址实验
我们以准双向I/O部件S10~S0模拟非因变分量部分的微地址,因变分量部分通过进位标志的置位清零操作产生,形成以进位标志为条件的后续微地址。
K23~K0置“1”,灭M23~M0控位显示灯,按【返回】键后照下流程操作。
CY灯亮
设非因变分量
条件变址
uPC=101h
uPC=100h
令CN=0
CN=1
令Icz=0
CY灯灭
CNIcz=10
CNIcz=01
②零标志变址实验
我们仍以准双向I/O部件S10~S0模拟非因变分量部分的微地址,因变分量部分通过运算操作动态产生零标志,形成以零标志为条件的后续微地址。
首先按【返回】键,清零运算寄存器AX、BX,令X2~X0=111,然后按下流程操作。
Z标志灯亮
I/O=0200h
uPC=201h
uPC=200h
令ALUIcz=01
WXP=00
ALUIczIds=100
Z标志灯灭
IczIds=00
S0ALUIczIds=0011
⑷中断变址实践
控制器把机器指令最后一个机器周期定义为中断测试微周期,它的后续微地址由取指公用微地址与中断请求源INQ两个部分组成,微总线指定为“001h”,其中ud1=/INQ。
当INQ=“1”时,即无中断请求时它的后续微地址为001h,执行机器指令的取指操作;
遇INQ=“0”它的后续微地址为003h,执行中断响应微程序。
实验时我们以准双向I/O部件S10~S0模拟产生取指微地址,由中断组成机制产生中断请求信号INQ,观察取指与中断响应微程序入口地址的形成。
实验时用一双头实验导线将中断请求源输入插孔XINT与中断源产生插孔INT相连接,按【返回】键,K23~K0置“1”,灭M23~M0控位显示灯,照下流程实施“取指”与“变址”操作。
中断请求
IEQ灯亮
LCD视窗
INQ=0
中断变址
uPC=003h
中断服务
uPC=001h
IE=0
按【中断】按钮
IE=1
IuIczIds=000
IAQ灯亮
OPIE=11
OPIE=00
IuIczIds=111
七、实验报告
1.根据课堂讲解内容和实验过程,画出upc发出的地址总线和两片6264以及1片6116的地址引脚的连接,画出这三片RAM的数据端口如何组成微指令的。
2.以一条机器指令为例,画出从pc向程序内存段存指令,然后从程序内存段取指令,并将其打入IR,让其散转为微程序入口地址的过程。
3.描述实验现象。