实验二 模型机综合实验——微程序控制器实验
一、CPTH控制器简介:
1. CPTH支持两种控制器方式
微程序控制器:系统已将微程序存储在uM微控存中,电路设计uM只能读,不能写。指令执行过程中一条一条读出微指令。
组合逻辑控制器:系统已下载了一套完整的实验方案(组合逻辑表达式)到组合逻辑芯片中,完成对运算器、寄存器、存储器的控制。
2. 微程序控制器组成:
微程序计数器uPC———当前微指令地址
微程序存储器uM ———当前微指令
程序计数器PC ————下条机器指令地址
程序存储器EM ————当前PC所指单元内容
指令寄存器IR————当前正在执行的机器指令
3. 微控存uM寻址:——CPTH实验系统所有指令的微程序都存储在uM中,那么如何寻址uM呢?
方法:用指令码作为微地址来寻址uM。模型机的指令码为8 位,其中指令码高6位做为uPC的高6位,uPC的低两位被恒置为00,来寻址微程序存储器uM,找到执行该指令的微程序。指令码最低两位来选择R0-R3 寄存器。
一条机器指令最多由四条微指令组成;每条微指令占一个状态周期(即一个时钟脉冲),每个周期产生不同的控制逻辑,实现各种功能。
每条微指令有24位微码。这24 位控制位来控制存储器的读写,寄存器的读写,运算器的运算功能。
微程序初始地址为复位地址00H,微程序入口地址由指令码产生,微程序下一地址由微程序计数器uPC产生。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
4. 两种实验模式
①手动运行“Hand……”:通过拨动实验箱上开关输入数据,用发光数码管、二极管显示输出结果,实现手动操作方式的输入/输出和机器调试。
②自动运行:通过系统小键盘及液晶显示器或PC机,直接输入、编译装载用户程序,实现微程序控制运行。
二、模型机寻址方式(五种)
1. 累加器寻址:操作数为累加器A。例:CPL A
2. 寄存器寻址:数据在R0-R3 的寄存器中。例:ADD A,R1
3. 寄存器间接寻址:数据在存储器EM 中,数据的地址在寄存器R0-R3中。例:MOV A,@R2
4. 存储器直接寻址:数据在存储器EM 中,数据的地址为指令的操作数。例:AND A,40H”
5. 立即数寻址:数据为指令的操作数。例:SUB A,#10H
三、模型机指令集(49条机器指令)(P7-8)
助记符机器码1机器码2注释_FATCH_000000xx实验机占用,不可修改,复位后,所有寄存器清
0(IR除外),首先执行 _FATCH_指令取指000001xx未使用000010xx未使用000011xx未使用ADD A,R?000100xx将寄存器R?的值加入累加器A中 ADD A,@R?000101xx将间址存储器的值加入累加器A中ADD A,MM000110xxMM将存储器MM地址的值加入累加器A中ADD A,#II 000111xxII 将立即数I 加入累加器A中ADDC A,R?001000xx将寄存器R?的值加入累加器A中,带进位 ADDC A,@R?001001xx将间址存储器的值加入累加器A中,带进位 ADDC A,MM001010xxMM将存储器MM地址的值加入累加器A中,带进位ADDC A,#I001011xxII 将立即数I 加入累加器A中,带进位SUB A,R?001100xx从累加器A中 减去寄存器R?的值SUB A,@R?001101xx从累加器A中 减去间址存储器的值SUB A,MM001110xxMM从累加器A中 减去存储器MM地址的值 SUB A,#I001111xxII 从累加器A中 减去立即数I 加入累加器A中SUBC A,R?010000xx从累加器A中 减去寄存器R?值,减进位助记符机器码1机器码2注释SUBC A,@R?010010xx从累加器A中 减去间址存储器的值,减进位SUBC A,MM010010xxMM从累加器A中 减去存储器MM地址的值,减进位SUBC A,#II010011xxII从累加器A中 减去立即数II,减进位AND A,R?010100xx累加器A“与”寄存器R?的值AND A,@R?010101xx累加器A“与”间址存储器的值AND A,MM010110xxMM累加器A“与”存储器MM地址的值