为了便于实现分级译码,一般采用等长扩展法,例如,操作码按4位、8位、12位,每次加长4位的方法扩展,记作4-8-12扩展法,还有3-6-9扩展法等。当然,也可以根据具体需要,采用每次扩展的位数不等的不等长扩展法。 对于等长扩展法,因为采用不同的扩展标志还可以有多种不同的扩展方法。例如,对于4-8-12扩展法,有采用保留一个码点标志的15/15/15扩展法,采用每次保留多个标志位的8/64/512扩展法等。当然,也可以根据不同的需要,在操作码长度扩展过程中,每次采用不同的扩展标志。 对于4-8-12等长扩展法中的15/15/15扩展法和8/64/512扩展法,操作码的具体编码方法如图3.2所示。 在对操作码进行编码时,具体采用哪种扩展编码方法,要根据具体计算机系统中各种指令出现的概论分布情况来决定。 例如,某台计算机系统中,有15种指令出现的概论值比较大,另15种次之,其余指令出现的概论值很小,这时可采用15/15/15扩展编码法。 如果有8种指令出现的概论值比较大,另64种指令出现的概论值次之,可采用8/64/512扩展编码法。 总之,无论采用哪一种扩展编码方法,衡量的标准是要看这种编码方法的操作码平均长度是否最短,或信息的冗余量是否最小。 另外,也可以采用不等长扩展编码方法,例如,采用4-6-10扩展编码法。根据具体计算机系统中各种指令出现的概论分布情况,可以有很多种不等长编码方法,举例如表3.4所示。 |
|||||||||||||||||||||||||||||||||||
(a)等长15/15/15扩展法 | (b)等长8/64/512扩展法 | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
图3.2 操作码的的等长扩展编码法 | |||||||||||||||||||||||||||||||||||
表3.4 4-6-10不等长扩展编码法举例 | |||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||