当前位置:文档之家› 微程序控制器的设计与实现

微程序控制器的设计与实现


因此各个信号的 )、 Y# 、 Y! 之间分别相差 "$] 、 #$" 、 "$] 时钟周期。 建立保持时间至少都有半个时钟周期长, 其具体情况如表 # 所 示。
表#
部件 输入模块 下地址逻辑 控制 SZX 和拼接电路
微控制器间 电路最小工作时间( (aL)
Y#( 7@#) Y#( 7) Y!( 7)
5’
中图分类号 (!2L#!
文章编号 #""!>L77#>( !""# ) "%>""!%>"7
文献标识码 M
!"# $#%&’( )(* +,-.#,#(/)/&0( 01 /"# 2&340 540’4), 60(/40..#4
7)(’ 80 9)0 $#:;)( ( MN,@O,PB ),GQPF-FGOQPB,G &FBOFQ , :PQORHF/OFQB ’P-AOFGRB,G@- (B,NFQ/,OA , S,T@B %#""%!)
!$?
微指令的内外码转换
微程序 &’( 的大小为 !BC=# 位,从 &’( 中读出的微指
在将它送上 =" 位的微指令总线之前要将它的 令宽度为 =# 位, 部分内容由译码器的输出替换掉。其原理如图 ! 所示。 采用这种方案可以有效减少微指令的种类和它的宽度。 因 为 )*+ 处理器属于 *D+* 型指令系统,其寻址方式非常复 杂 , 如果根据不同的情况编制不同的微指令, 将会导致微指令种类 激增。微指令拼接的本质就是多次译码的原理, 对各种情况采 用统一的微指令, 根据微指令中的某些字段的内容来决定采用
图#
微程序控制器的体系结构
微控制器内部所有器件数据通路宽度均为 ## 位, 提供 !;
!
:&4 中微程序控制器的体系结构
在处理器中产生控制信号一般有微程序控制和硬布线控
寻址空间。它接收译码器输出的操作码、 操作数和其他译码信 息以及执行部件反馈回的状态条件,经过内部 处 理 后 送 出 <"
基金项目: “ 九五” 国防预研课题 “ 军用 )’( 、 ( 编号: 资助 )&( 技术” L$#$7$1 ) 作者简介: 杨波, 博士研究生, 主要从事计算机体系结构和 M45& 系统设计。高德远, 教授, 博士生导师, 主要从事 *345 系统设计研究工作。
图 ? 所 示 , 其 中 *EB 为 管 脚 输 入 , + 是 *EB 的 二 分 频 时 钟 , + 和 *EB 经过 运 算 得 到 时 钟 .# 和 .! 。 这 样 可 以 保 证 在 每 个 处 理器周期内都有一个工作时钟沿, 降低了硬件设计难度, 同时 也降低了电路中的时钟频率, 提高了电路的可靠性。 采用时钟 + 作为微指令周 期 , 与其他硬 在 )*+ 处理器中, 可以保证电路的保持 件工作时钟 .# 、 .! 的工作上沿互相间隔, 建立时间。如果微指令 5 有访内请求, 它对应的外部 总 线 周 期 这样做可以保证接口部件所需要的各种信号的时 如图 ? 所示, 序要求如: 地址、 内 存 操 作 还 是 D’ 操 作 、 字操作还是字节操作 等。 在一条微指令执行过程中在 .# 时钟沿一些用于控制转移 微 的状态信号开始生效, 在 .! 时刻地址转移逻辑送出微地址, 控制器利用半个时钟周期来完成 &’( 的读取和拼接电路的工 作。
!$!
下地址转移逻辑
下地址产生逻辑是微程序控制器的核心部件, 主要用来产
生下一条微指令的地址, 控制微程序的执行方向。 它具有一个四输入的多路地址开关,用来选择: ( # )寄存 ; ( ; ( 器 @ 计数器 ( A) !) 直 接 输 入 地 址 ( A) ?) 微 程 序 计 数 器 ( ; ( 微堆栈( 。四路中的任一路可作为下一条微指令 !.* ) =) 0) 的地址。 微指令字中有 = 位用来作为下地址转移逻辑的控制命令, 内部的命令译码器接收这四位控制字段以及硬件状态, 译码出
<=%/4)3/: UR,/ I@IFQ K,/GJ//F/ ORF KF/,CB PV ORF ?,GQP>IQPCQ@? GPBOQP--FQ ,B :&4 &’($+F ,BOQPKJGF ORF @QGR,OFGOJQF PV ORF GPBOQP--FQ @BK ORF VF@OJQF/ PV ORF GJQQFBO/$5B ORF KF/,CB HF J/F /P?F OFGRB,WJF/ /JGR @/: ?J-O, >@KKQF// FBX OQ@BGF , ORF GR@BCF DFOHFFB ,BBFQ @BK PJOFQ ?,GQP>,B/OQJGO,PB, ORF -PG. ?FGR@B,/?$URF/F ?FORPK/ G@B ,?IQPNF ORF IFQX VPQ?@BGF PV ORF GPBOQP--FQ CQF@O-A$+F @-/P KFOFQ?,BF ORF G-PG., K@OF I@OR @BK GPBOQP- I@OR$MO -@/O HF IP,BO PJO OR@O ORF /JGGF//VJ- KF/,CB PV ORF ?,GQP>IQPCQ@? GPBOQP--FQ ,/ ORF .FA OP KF/,CB PV R,CR>IFQVPQ?@BGF &’($ >#:?04*%: ),GQP>IQPCQ@? &PBOQP--FQ, 3PG. )FGR@B,/? UQ@B/VPQ? PV ),GQP>,B/OQJGO,PB/, 5BOF--FGOJ@- ’QPIFQOA ( 5’)
,!-
图!
内外码转换机制
!$=
微指令控制器时序和控制通路
在 )*+ 处 理 器 中 采 用 三 相 时 钟 作 为 系 统 的 工 作 时 钟 , 如
情况不同有 < 个入口,分别对应 # 、 !、 =、 >、 % 和 =% 个数据的传 送。 执行协处理器指令时, 需要从上述一个入口中进入微程序。 译码器的地址输出, 如果是一条没有访内操作的普通 ( ?) 指令, 从这个入口进入微程序, 否则的话, 先执行完前两种情况 的微程序后再转入该入口执行。 微指令的下地址字段, 这些地址的选择由译码器和微 ( =) 指令送出的控制信息来决定。 它用来完成微程序内部微指令间 的转移。
?
封锁机制
在设计中考虑到实际情况的需要, 微控制部件应具有如下
#< 条指令来控制电路的工作 。
,?-
两种功能: 在某些条件下重复执行某一条微指令。 ( #) ( 应可以输出一种微指令, 这条微指令使 *./ 内 部 受 微 !) 指令控制的部件不再工作, 也不影响状态字。 第一种情况主要是为了处理接口部件访问内存时速度滞 对应的微程序中 后问题。一次访内操作最少为两个 *./ 周期, 从该 先是一条发送地址的微指令, 它在 + 的上跳沿开始生效,
+ 周期的下一周期中的 .# 上沿接口部件进行工作。因 此 在 送
地址微指令后的第三个周期应安排一条去输入数据寄存器取 操作数的微指令, 如果此时接口部件未将该操作数取回, 应重
图?
微控制器的时序
!F
!""#$% 计算机工程与应用
复执行该指令直至操作数取回, 写操作数的情况类似。利用接 口部件送来的封锁信号将地址转移逻辑内部的微程序计数器 的进位置为零, 并配合以相应的控制字即可实现当前微地址的 重复加载。 该封锁信号在外总线结束的 Y# 时钟沿更新数据, 在 微地址更新的 Y! 时钟沿被采样, 从时序上是非常稳定的。 第二种情况是为了方便地实现系统的 V>9 指令,采用硬件 完成的办法。在拼接电路的出口处有一使能信号, 当该信号有 效时, 拼接电路得输出被强制为全零微指令, 此时处理其内部 受微指令控制的部件不再工作, 微程序也无法继续执行, 系统 处于停机状态。 该封锁信号由译码器在 Y! 时刻更新, 在微指令 总线加载的 ) 上沿被采样, 时序上的安排也是合理的。 在微程序控制器中引入封锁机制简化了微程序设计, 便于 微程序的流程控制, 有效地缩短了字长和微程序长度。同时在 少量增加微程序控制器硬件的代价下, 简化了其它部件的硬件 设计, 提高了控制通路的稳定性。
计算机工程与应用 !""#$%
!%
位宽的微指令字控制整个处理器的工作。
译码器输出的相应字段来替换。 用来作为替换内容的译码器的 输出主要包括通用寄存器字段和操作码字段。
!$#
输入地址选择模块
下地址转移逻辑可以选择它的数据输入口作为访问微程
如果向该地址输入口传送的地址可以有多 序 &’( 的下 地 址 , 种选择, 那么微程序控制的转移能力无疑会有巨大提高。针对 安排一些常用的微程序段的入口作为可供 )*+ 处理器的特点, 选择的地址。有以下几种: 计算地址例程的微程序入口, 它是由指令的寻址方式 ( #) 决定的。根据参与计算的操作数个数的不同, 这种类型的地址 分别对应一至三个操作数。 当开始执行一条 入口有三种情况 ,!-, 新的指令时, 如果该指令需要访内操作, 那么需要从以上一个 入口进入。 处 理 *./ 与 0./ ( 之间操作数 ( !) 01234567 .829:;; /654) 和操作码传递的微程序入口, 它是由该条协处理器指令需要在 处理器和浮点部件之间传送的数据个数决定的 。根据传送的
微程序控制器的设计与实现
杨 波 高德远 ( 西安 %#""%! ) 西北工业大学航空微电子中心
=>?@,-: A@BCDE@?FG$BHIJ$FKJ$GB
摘 要 该文讨论了 :&4 处理器中微程序控制器的设计方法 , 介绍了微程序控制器的基本构成电路和工作特点; 在设
相关主题