指令译码器(Instruction Decoder,ID)是控制器中的主要部件之一。计算机能且只能执行“指令”。指令由
操作码和
地址码组成。操作码表示要执行的操作性质,即执行什么操作,或做什么;地址码是操作码执行时的操作对象的地址。计算机执行一条指定的指令时,必须首先分析这条指令的操作码是什么,以决定操作的性质和方法,然后才能控制计算机其他各部件协同完成指令表达的功能。这个分析工作由指令译码器来完成。指令执行通过控制部件进行指令译码,
标量指令由标量处理机执行
向量指令各Cache控制器监听总线所有操作,并对操作做相应处理(修改或作废),如
MESI协议。
译码器是
组合逻辑电路的一个重要的器件,其可以分为:变量译码和显示译码两类。
变量译码:一般是一种较少输入变为较多输出的器件,一般分为2n译码和
8421BCD码译码两类。
译码是编码的逆过程,在编码时,每一种二进制代码,都赋予了特定的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义“翻译”出来的过程叫做译码,实现译码操作的电路称为
译码器。或者说,译码器是可以将输入
二进制代码的状态翻译成
输出信号,以表示其原来含义的电路。
计算机
执行指令时,从内存中取出的一条指令经
数据总线送往
指令寄存器中。指令的
操作码被送到指令
译码器中译码,
地址码则送到地址形成部件。地址形成部件根据指令特征将地址码形成
有效地址,送往主存的
地址寄存器。对于
转移指令,要将形成的有效转移地址送往
程序计数器中,实现程序的转移。
操作控制器根据指令译码器对于指令操作码的译码,产生出实现
指令功能所需要的全部动作的
控制信号。这些控制信号按照一定的
时间顺序发往各个部件,控制各部件的动作。