三. 实验原理
控制器组成框图:
1. 微程序控制器的组成结构
1)控制存储器CM
如图2-4-14所示的CM框为微程序控制器,由2片6264和1片6116共三片静态存储器平行组成。它们的地址通路由微程序计数器μPC供给,其寻址范围为0~7FF.控制器设有段微址,2片6264的数据端在段微址的指示下分时输出下址与微控制信息,并和6116的数据端平行组成24个途经三态门隔离驱动的微控制位(M23~M0)。
2)微程序计数器μPC
图2-4-14所示的微地址计数器框由3片161构成按字方式寻址的uPC计数器,计数器的输入端通过微总线(ubus)从指令译码器ID、微控制器(CM)的下址段捕捉非因变分量,从运算标志PSW、中断请求标志INQ等标志中捕捉因变分量。计数器的输出端组成12位微地址总线,控制微程序存储器的寻址。其中ua11为段微址,电路构造中与2片6264的地址端“A11”相连,它零状态输出微控制信息,“1”状态输出下续微地址。它的清零端由中央外理器单元直控,上电时uPC计数器自动淸零,实验中按【返回】键亦可实现计数器的手动淸零。
图2-4-14 微程序控制器原理图
______________________________________________________________________________
四.实验步骤及结果分析
1. 指令微地址的形成实验
我们默认操作码段的字长为八位,从PC零地址开始,向EM主存写入指令码,然后模拟“取指”微操作中机器指令起始微地址的形成。
①K23~K0置“1”,按【返回】键迫使PC=0,向程序段依次写入00h、80h、0C0h、0FFh。
②机器指令写入成功后,令K23~K0为“1”,灭M23~M0控位显示灯,然后令K22 K2=00,点亮M22、M2控位显示灯,按【单拍】按钮执行取指微操作,把指令码00h打入ID指令译码器,uPC自动转入机器指令“00h”的微入口地址600h,ID按下流程完成取指微操作。
③保持当前“取指”状态,每按一次【单拍】按钮,uPC依次变址为700h、780h、7FEh??随机,当PC≥004h后,每按一次【单拍】按钮,uPC随机散转。
2. 后续微地址的形成实验
找到初始微地址,开始执行相应的微程序,每条微指令执行完毕,都要根据要求形成后续微地址。后续微地址的形成方法对微程序编制的灵活性影响很大。本系统采用断定方式,其后续微地址的定义可由设计者指定或由设计者指定的下址与识别判断字段指定的条件组合产生。
⑴增量计数实践
默认当前uPC,K23~K0置“1”,在M23~M0控制灯全灭的状态下,令K4=0,按【单拍】按钮,uPC执行现行微地址的增1计数操作。
⑵绝对变址实践
微程序控制器支持设计者在微程序控制器的004~7FF范围内任意选择与指定后续微地址。操作方法如下:
⑶条件变址实践
条件变址的后续微地址由非因变分量和因变分量两部分组成,非因变分量是由设计者直接指定,对应下址段ud10~ud1。因变分量以当前运算标志为条件产生,对应下址段ud0。
①进位变址实验
我们以准双向I/O部件S10~S0模拟非因变分量部分的微地址,因变分量部分通过进位标志的置位清零操作产生,形成以进位标志为条件的后续微地址。K23~K0置“1”,灭M23~M0控位显示灯,按【返回】键后照下流程操作。
②零标志变址实验
我们仍以准双向I/O部件S10~S0模拟非因变分量部分的微地址,因变分量部分通过运算操作动态产生零标志,形成以零标志为条件的后续微地址。
首先按【返回】键,清零运算寄存器AX、BX,令X2~X0=111,然后按下流程操作。
⑷中断变址实践
控制器把机器指令最后一个机器周期定义为中断测试微周期,它的后续微地址由取指公用微地址与中断请求源INQ两个部分组成,微总线指定为“001h”,其中ud1=/INQ。当INQ=“1”时,即无中断请求时它的后续微地址为001h,执行机器指令的取指操作;遇INQ=“0”它的后续微地址为003h,执行中断响应微程序。
实验时我们以准双向I/O部件S10~S0模拟产生取指微地址,由中断组成机制产生中断请求信号INQ,观察取指与中断响应微程序入口地址的形成。
实验时用一双头实验导线将中断请求源输入插孔XINT与中断源产生插孔INT相连接,按【返回】键,K23~K0置“1”,灭M23~M0控位显示灯,照下流程实施“取指”与“变址”操作。
1.
2.
1).向PC的0000-0003中存入00h、20h、40h、60h。
设置PC地址:调节I/O为0000,总线规则为字传递,源编码为I/O,利用PC装载,E/M,IP调节为00,按单拍按钮;
利用PC字写入向PC写入2000h;
利用PC+1,调节IP=0,按两次单拍按钮,调节pc地址为0002 向PC写入6040h 2).IR指令寄存器读
将PC置为0000,调节IR MWR=01,按单拍按钮,uPC显示0600; 利用PC+1,uPC先后显示0640,0680,06C0。 3.IR字打入,IR偶字节打入,IR奇字节打入 4.微总线指令前两位固定为11,最后一位固定为0,中间8位为机器指令对应的二进制代码,如20h,对应二进制为00100000,加上前两位和最后一位为11001000000,按每四位划分为110|0100|0000,化为十六进制即为640h。
计 算 机 组 成 与 结 构 实 验 报 告
Computer Organization And Architecture Lab Reports
______________________________________________________________________________ 班级: __21431_ 姓名:___陈治炜___ 学号:_2143121_ 实验日期:__2016.12.06____ 学院: ____计算机与通信工程学院____ 专业:_____计算机科学与技术________ 实验顺序:__6__ 原创:__是____ 实验名称:________复杂模型机的设计与实现_______ 实验分数:_______ 考评日期:________ 指导教师: 张旭
一.实验目的
综合运用所学计算机原理知识,设计并实现较为完整的计算机。
______________________________________________________________________________
二. 实验环境
Dais-CMX16+ ,导线
______________________________________________________________________________
三. 实验原理
1.指令系统
本模型机共有16条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。下表列出了各条指令的格式、汇编符号、指令功能。
助记符 LDA M,D,Rd 0 0 STA M,D,Rd 0 0 JMP M,D BZC M,D MOV Rd,Rs ADC Rd,Rs SBC Rd,Rs AND Rd,Rs CLR Rd INC Rd CPL Rd RRC Rd RLC Rd IN Rd,I/O 0 0 0 0 指令格式 M M M M 00 Rd E→Rd 01 Rd Rd→E 10 00 E→PC 11 00 当CY=1或Z=1时,E→PC 功 能 0 1 0 0 Rs Rd Rs→Rd 0 1 0 1 Rs Rd Rs+Rd+CY→Rd 0 1 1 0 Rs Rd Rs-Rd-CY→Rd 0 1 1 1 Rs Rd Rs∧Rd→Rd 1 0 0 0 00 Rd 0→Rd 1 0 0 1 00 Rd Rd+1→Rd 1 0 1 0 00 Rd Rd→Rd 1 0 1 1 00 Rd CY→Rd 1 1 0 0 00 Rd CY→Rd 1 1 0 1 00 Rd I/O→Rd OUT Rd,I/O 1 1 1 0 00 Rd Rd→I/O HALT 1 1 1 1 00 00 停机
2.复杂模型机微程序流程图