微程序控制器
发展
微程序的概念和原理是由英国剑桥大学的M·V·Wilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。
直到1964年,IBM公司在IBM 360系列机上成功地采用了微程序设计技术。
20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。
目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。
基本思想:
仿照解题的方法,
- 把操作控制信号编制成微指令,存放到CPU中的控制存储器里
- 运行时,从控存中取出微指令,产生指令运行过程中所需的各种操作控制信号。
因此:
微程序设计技术是用软件方法来设计硬件的技术。
微程序控制原理
组成计算机的部件可以分为两大类:
- 控制部件
- 执行部件。
他们之间通过控制线进行联系。
微命令和微操作
微命令:
控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。
方向:\(控制部件\to 执行部件\)
例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。
微命令是控制计算机各部件完成某个基本微操作的命令。
微操作
执行部件接受微命令后所完成的操作叫微操作。微操作是执行部件中最基本的操作。
方向:\(执行部件\to 操作\)
分类:
由于数据通路的结构关系,微操作可分为相容性的和互斥性的两种:
-
互斥性的微操作
是指不能同时或不能在同一个CPU周期内可以并行执行的微操作。可以编码实现 -
相容性的微操作
是指能够同时或在同一个CPU周期内并行执行的微操作。必须各占一位
举例
1,2,3之间相互相容。 4,6,8与5,7,9相容
两者关系:微命令和微操作是一一对应的。
微命令是微操作的控制信号,微操作是微命令的操作过程。
微指令和微程序
微指令
把在同一个CPU周期内一组实现一定操作功能的微命令的组合叫做一条微指令(Microinstruction)。
它是并行执行的微操作控制信息,存储在控制存储器里。
它是微命令的组合,微指令存储在控制器中的控制存储器中
一条微指令通常至少包含两大部分信息:
操作控制字段,又称微操作码字段,用以产生某一步操作(CPU周期)所需的各个微操作控制信号。
某位为1,表明发微命令
微指令发出的控制信号都是节拍电位信号,持续时间为一个CPU周期,微命令信号还要引入时间控制
顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。
微程序
实现一条机器指令功能的一系列微指令的有序集合就是微程序。
一段微程序对应一条机器指令。
微地址 :存放微指令的控制存储器的单元地址
下面我们举一个十进制加法指令为实例。
微指令基本格式
十进制加法指令 ADDB R1,R2,假定操作码为1010
数据通路图
操作流程图(假定相加的俩数已存放在R1、R2中,常数6在R3中)