实验内容:
1.掌握微程序控制器的工作流程
实验目的:
1.理解微程序控制器的控制原理
2.进一步掌握指令流程和功能
3.了解掌握微程序控制器的设计思路和方法
实验内容:(vhd完整代码会在最后给出)
微程序控制器的组成原理框图:
实验中,我们设计一个简单的微处理器,整个设计分成控制器和数据通路,执行简单的直接寻址指令。为了简化微处理器的设计,我们假定只有一条总线,且总线和所有数据通路组件的宽度都是8位。由于单总线可能会被许多不同的组件驱动,每个组件需要使用三态缓冲器以确保在任一时刻仅有一个组件能将有效数据送至总线上。我们用一个时钟驱动所有的时序块以确保设计完全同步。微处理器的模块图如图所示。
1.数据通路
数据通路为:单总线8位CPU,由微处理器执行的程序与数据一起存储于存储器中,存储器地址寄存器(MAR)和数据寄存器(MDR)作为地址和数据信号在存储器与总线间的缓冲器。 算术逻辑单元(ALU)执行算术操作(ADD、SUB)。算术逻辑单元是一个组合模块,算术操作的结果保存于一个称为累加器(ACC)的寄存器中。ALU的输入是总线和ACC。ALU可以有更多的输出或者标志来表示ACC中结果的性质,比如为负,这些标志作为控制器的输入。
程序的不同指令在存储器中是顺序存储的。因此需要保存下一条将要执行的指令的地址。这是使用程序计数器(PC)来完成的,如果执行一个分支,程序就要跳出顺序执行,所以必须加载一个新的地址到PC中。
最后,从存储器中读取的指令需要保存与执行。指令寄存器(IR)保存当前指令。操作码的相应位输入至控制器,以产生相应的控制信号。
控制器产生许多控制信号,这些信号决定写总线的组件、读总线的寄存器以及执行的ALU操作。
2.指令系统
本微处理器的指令系统中包含5条指令:Load、Store、add、sub、bne。整个指令系统对应的微程序存放在控制存储器中。
3.指令格式怎样?写出五条指令的机器码(用二进制表示)
微程序的编码采用直接编码方法,有15个控制信号,外加5位地址,所以一共20位。微处理器的所有数据通路宽度是8位,操作码是3位,只有直接寻址方式,所以说地址是5位。
load -> 01000
store -> 01001
add -> 01010
sub -> 01011
bne -> 01100
4.模拟时许执行的程序
流程图:
5.微操作控制信号有哪些
控制信号 |
描述 |
ACC_bus |
用ACC的内容驱动总线 |
load_ACC |