词条 | 微程序设计 |
释义 | § 正文 在计算机等数字系统中,控制器的典型功能是按时间节拍发出一定数量的控制信号,使系统完成若干基本操作,经过若干节拍后即完成一种相对完整的功能,如一条机器指令的功能。在一般的控制器中这些控制都是由硬接线逻辑来实现的,在微程序控制器中这些基本操作是由存在于控制存储器中的微程序段控制完成的,每个基本操作称为微操作。微程序段由若干条微指令组成。 图中,从存储器中取一条机器指令送入指令寄存器,寄存器的输出接微程序控制器,由后者控制微程序的执行。通常,机器指令的操作码通过微程序控制器给出执行这条机器指令微程序段的首址,从控制存储器中取出此微程序段的第一条微指令存入微指令寄存器。一条微指令包含若干个微码域。各个微码域通过一定的译码控制各相应功能执行部件,在微指令周期内完成相应的各个微操作。微指令周期也称为微周期。微指令中一部分信息(微码域)也可反馈到微程序控制器,协同微指令执行后产生的状态信息和机器指令中除操作码以外的其他信息,通过微程序控制器去选取下一条微指令,从而控制微程序的流程相继执行这一段微程序而完成一条相应机器指令所要求的功能。各种机器指令的功能都是通过执行相应的微程序段来完成的,也可设计编制一微程序段,用以完成一条宏指令或宏命令。把设计编制的各微程序段适当组合起来可形成一个微程序整体,控制器的功能就反映在这一整体中,所以微程序控制的物理结构很规整,而其功能设计方法又很灵活。 微程序设计 微周期的长短以及在一个微周期内能完成的微操作个数,是决定计算机系统运行速度的主要因素。微周期越短,一个微周期内完成的微操作越多,系统的运行速度越高。微周期短,要求包括控制存储器在内的控制部件和被它控制的各个功能执行部件有足够的快速响应能力。在一个微周期内能完成的微操作越多,就要求这一系统有更多的功能执行部件(硬件资源),而微指令中也必须有对应的微码域,即增加微指令的字长或宽度,而且这些微操作所需的硬件资源数据和控制条件不能相关,以便在同一微周期内并行执行。如一个微操作所需的数据或控制条件依赖于另一个微操作的执行结果,则两个微操作就不能并行执行。为了获得高效率,在编制微程序时应使尽可能多的微操作并行执行,这通常称为微程序的优化。微程序设计的主要内容包括系统分析设计、微程序编制和微程序仿真。 系统分析和设计 设计前根据所要求的系统性能指标对计算机系统进行分析,确定需要配置的各种功能执行部件,即硬件资源。然后对微指令宽度及其所包含的各个微码域,微指令种类和微程序控制器等进行设计。 在规模大、性能高的系统中,要求微指令有较大的宽度,包含较多的微码域,使较多的微操作能并行执行。这种微指令通常称为水平型微指令。控制存储器是快速部件,成本较高,即使是水平型微指令,在不影响并行度的情况下也应尽可能压缩微指令的宽度。控制同一类型且彼此相斥的操作时,可以先对微码域进行译码再进行控制以缩短微指令宽度。例如,可将控制算术逻辑部件的微码域分为5个分微码域,其中1个分域用以选择一种算术逻辑运算,3个分域分别控制3个输入端数据源的选择,另外一个控制运算结果的去处。若部件共有16种运算(包括空操作),它们是互斥的,即任何时候只能选择其中一种。使用4位域经过译码可产生 16个选择信号,这和使用不经译码的16位域的作用是一样的。输入端数据源的选择控制和输出去处的控制的情况也与此类似。 对于规模较小的系统,硬件资源较少,并行度要求较低,可采用宽度小的微指令格式,通常称为垂直型微指令。水平型微指令并行度高,但造价也高,编写较困难。垂直型微指令并行度低,造价也低,编写比较容易。为了降低成本又有较好的并行度,可采用两级微程序控制的系统,第一级属垂直型,第二级属水平型,也称为毫微程序。由第一级微指令选取第二级微指令,再产生各种控制信号。这种两级微程序控制系统,结构上复杂一些,快速性也低于一级水平型微程序系统,但如果设计得每条毫微指令基本都可被若干条微指令来选取,大宽度的毫微指令条数可以减少好几成,能明显地降低成本,提高性能价格比。 微程序编制技术 主要包括微程序验证、优化和编写。系统是在微程序控制下运行的,微程序的正确性至关重要,编制的微程序必须通过模拟手段验证。微程序的效率直接影响系统的效率,所以必须优化。在实践中经常把优化与验证结合起来进行,目的是编制出正确而高效的微程序。编写微程序,特别是水平型微程序比较费时。最常用的编写工具是微汇编。 微程序仿真 用微程序设计的方法使某一计算机系统执行被仿真计算机系统的程序。仿真的作用与模拟相仿,但其效率比模拟高得多。既可对已有的计算机系统仿真,也可对正在设计中的计算机系统进行仿真。计算机的更新换代较快,为使原先用于老计算机系统的应用软件仍能在新系统上运行,可以在新系统上配置仿真器,用微程序仿真执行原先在老系统上开发的程序。微程序仿真是加快研制新的计算机软、硬系统的一种重要工具。 超大规模集成电路的进展能提供快速大容量而廉价的控制存储器,为进一步发展微程序技术创造条件。微程序是一种存储逻辑,既规整又便于检测,特别适于超大规模集成技术。 参考书目 N.Sandak and E.Mallach, Microprogramming,Artech House, Dedham, 1977. § 配图 § 相关连接 |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。