精华内容
下载资源
问答
  • 指令操作码扩展

    万次阅读 多人点赞 2014-08-26 19:01:01
    题一 某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式,每个操作数字段均用6位二进制表示,该指令系统共有m条(m  A.2^6 B.(2^4-m)*(2^6)-1  C.(2^4-m)*2^6 D.(2^4-m)*(2^6-1) ...
    题一 某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式,每个操作数字段均用6位二进制表示,该指令系统共有m条(m<16)双操作数指令,并存在无操作数指令。若采用扩展操作码技术,那么最多还可设计出()条单操作数指令。
    
        A.2^6                          B.(2^4-m)*(2^6)-1
        C.(2^4-m)*2^6            D.(2^4-m)*(2^6-1)

    答案选B
    分析:
        对于双操作数指令而言,两个长度为6位的操作数共占了12位,剩余的4位用作操作码,所以可以设计出2的四次方个双操作数指令。系统中已经设计出了m条双操作数指令,那么剩余的2^4-m条可以用于设计单操作数的操作码。对于单操作数指令而言,它的操作码长度为16-6=10位。题目中要求使用扩展操作码技术,所以单操作数指令在原来的双操作数指令的4位操作码上可以扩展10-4=6位,所以最多可以设计出(2^4-m)*(2^6)-1条单操作数的指令。减去1的原因是“存在无操作数指令”,所以至少留下一个用来扩展无操作数指令。


        题二 指令字长为16位,采用扩展操作码技术,形成15条三地址指令、12条二地址指令、31条一地址指令和16条零地址指令。
    三地址:(15条)
    0000 **** **** ****
    ... ... ... ...
    1110 **** **** ****

    二地址:(12条)
    1111 0000 **** ****
    ... ... ... ...
    1111 1011 **** ****

    一地址:(31条)
    1111 1100 0000 ****
    ... ... ... ...
    1111 1101 1110 ****

    零地址:(16条)
    1111 1101 1111 0000
    ... ... ... ...
    1111 1101 1111 1111
    展开全文
  • 4.3 指令操作码扩展

    2021-10-03 21:15:29
    4.3 指令操作码扩展4.3.1操作码的编码方式4.3.2 扩展操作码技术4.3.3 指令扩展的要点 4.3.1操作码的编码方式 指令操作码的长度决定了指令系统中完成不同操作的指令条数。设操作码有n位,则指令条数最多为2n条。 1....

    4.3.1操作码的编码方式

    指令操作码的长度决定了指令系统中完成不同操作的指令条数。设操作码有n位,则指令条数最多为2n条。
    1.固定格式
    操作码长度固定,集中放在一个字段
    2.可变格式
    OP长度可变,分散放在指令的不同字段中

    4.3.2 扩展操作码技术

    当采用统一操作码,指令长度与各类指令的地址长度发生矛盾时,通常采用“扩展操作码”技术加以解决。 扩展操作码是一种指令优化技术,即让操作码的长度 随 地址数的减少 而增加(即扩展)。根据不同的地址指令格式,如三地址、二地址、单地址指令等,操作码的位数可以有不同的选择,从而在满足需要的前提下,有效地缩短了指令长度。

    4.3.3 指令扩展的要点

    ①操作码位数随地址码个数变化采取可变长度的类型;
    ②不允许短操作码是长操作码的一部分,以保证指令间指令码一定不重复;
    ③根据需要灵活变通,但操作码长度为有限几种。

    某机器的指令长度为16位,包括4位基本操作码和三个4位地址字段。
    若三地址指令仅需15条,两地址指令需15条,一地址指令需15条,零地址指令需16条,
    共61条指令,应如何安排操作码?
    

    在这里插入图片描述

    4.3.4 指令扩展详解

    某机器的指令长度为16位,包括4位基本操作码和三个4位地址字段,
    运用操作码的扩展技术,设计三地址指令15条、二地址指令15条、
    一地址指令14条和零地址指令32条,
    试画图写出指令扩展的详细情况。
    

    首先我们知道指令长度为16位, 未扩展操作码的操作码占了4位,那么剩下的就是地址码共12位,现在要求设计的最高是三地址,那我们就把地址码给设为三个,假设每个地址暂时都是4位,这样就正好16位。
    现在三地址的操作码只有4位,那就是0000~1110,共15条指令,剩下的1111用来作为扩展位;
    扩展到二地址时操作码就有8位了,原本应该时从1111开始,现在又扩展了4位,就是从1111 0000,到1111 1110,同样得,有15条指令,剩下的1111 1111就是用来给下一次扩展作扩展位;
    扩展到一地址时,题目要求有变化了,要求一地址有14条,后面的零地址32条,我们先这样做,一地址扩展后的指令范围为1111 1111 0000 ~ 1111 1111 1101,给留两个扩展位,这样就是14条了;
    最后的零地址就是两个起点了,先从1111 1111 1110 0000到1111 1111 1110 1111,有16条,接着继续从下一个起点,或者说扩展位 1111 1111 1111 0000到1111 1111 1111 1111 也有16条,共32条。
    在这里插入图片描述

    展开全文
  • 指令系统——扩展操作码指令格式

    千次阅读 2021-05-14 21:37:36
    文章目录扩展操作码扩展操作码举例设计扩展操作码需注意:设计扩展操作码例题:指令操作码操作码分类:定长操作码:扩展操作码(不定长操作码) : 扩展操作码 指令由操作码和若干个地址码组成。 PS:先回顾一下指令字...

    扩展操作码

    指令由操作码和若干个地址码组成。

    PS:先回顾一下指令字结构与操作码的概念:

    • 定长指令字结构:指令系统中所有指令的长度都相等
    • 变长指令字结构:指令系统中各种指令的长度不等

    • 定长操作码:指令系统中所有指令的操作码长度都相同
    • 可变长操作码:指令系统中各指令的操作码长度可变

    定长指令字结构+可变长操作码 → 扩展操作码指令格式(即不同地址数的指令使用不同长度的操作码

    扩展操作码举例

    这只是一种设计方法:
    在这里插入图片描述

    设计扩展操作码需注意:

    1. 不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同。(对比哈夫曼树“前缀编码”
    2. 各指令的操作码一定不能重复。

    通常情况下,对使用频率较高的指令,分配较短的操作码;对使用频率较低的指令,分配较长的操作码,从而尽可能减少指令译码和分析的时间。

    设计扩展操作码例题:

    设指令字长固定为16位,试设计一套指令系统满足:
    a) 有15条三地址指令
    b) 有12条二地址指令
    c) 有62条一地址指令
    d) 有32条零地址指令

    设地址长度为n,上一层留出m种状态,下一层可扩展出m×2!种状态

    解:
    a) 共24=16种状态
    留出16-15=1种

    b) 共1 ×24=16种
    留出16-12=4种

    c) 共4 ×24=64种
    留出64-62=2种

    d) 共2 ×24=32种

    0000 -1110A1(取的合法范围)A2A3
    1111 XXXX XXXXXXXX11110000 -1011A1A2
    1111 11XX XXXX XXXX11111100 –1110
    1111
    0000 –1111
    0000 –1101
    A1
    1111 1111 111X XXXX111111111110 –11110000 -1111

    指令操作码

    操作码指出指令中该指令应该执行什么性质的操作和具有何种功能。

    操作码是识别指令、了解指令功能与区分操作数地址内容的组成和使用方法等的关键信息
    例如,指出是算术加运算,还是减运算;是程序转移,还是返回操作。

    操作码分类:

    定长操作码:

    在指令字的最高位部分分配固定的若干位(定长)表示操作码。

    • 一般n位操作码字段的指令系统最大能够表示2n条指令。
    • 优:定长操作码对于简化计算机硬件设计,提高指令译码和识别速度很有利; - 缺:指令数量增加时会占用更多固定位,留给表示操作数地址的位数受限。

    扩展操作码(不定长操作码) :

    全部指令的操作码字段的位数不固定,且分散地放在指令字的不同位置上。

    • 最常见的变长操作码方法是扩展操作码,使操作码的长度随地址码的减少而增加,不同地址数的
      指令可以具有不同长度的操作码,从而在满足需要的前提下,有效地缩短指令字长。
    • 优: 在指令字长有限的前提下仍保持比较丰富的指令种类;
    • 缺 :增加了指令译码和分析的难度,使控制器的设计复杂化。
    展开全文
  • 计算机组成原理:扩展操作码技术

    千次阅读 多人点赞 2020-04-09 15:10:37
    今天有个好友问我一道《计算机组成原理》(唐朔飞) 中的例题,是...扩展操作码是一种指令优化技术,即让操作码的长度随地址数的减 少而增加(即扩展)。根据不同的地址指令格式,如三地址、二地址、单地址指令等,操作...

    今天有个好友问我一道《计算机组成原理》(唐朔飞) 中的例题,是关于扩展操作码的,为了让自己理解更加深刻一点,就写了这篇博客.

    首先看看什么是扩展操作码技术:

    当采用统一操作码,指令长度与各类指令的地址长度发生矛盾时,通常采用“扩展操作码”技术加以解决。 扩展操作码是一种指令优化技术即让操作码的长度随地址数的减  少而增加(即扩展)。根据不同的地址指令格式,如三地址、二地址、单地址指令等,操作码的位数可以有不同的选择,从而在满足需要的前提下有效地缩短了指令长度

    问题:(书本302页的例7.2)

           假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式.采用扩展操作码技术,若二地址指令有X种,零地址指令有Y种,则一地址指令最多有几种?

     书上给出的解答是: 采用扩展操作码技术,操作码位数可变,则二地址、一地址和零地址的操作码长度分别为4位、10位和16位.可见二地址指令操作码每减少一种,就可多构成2^6种一地址指令操作码;一地址指令操作码每减少一种,就可多构成2^6种零地址指令操作码.好友对于划线处不太理解,我个人的解释为:减少一条二地址指令,就是将一个特定的4位操作码变为一地址指令,地址就是6位,还有10位,除去特定的4位,还有10-4位可以任意组合,所以就是2^6种,零地址也是一样.

    所以一地址指令最多有 ( 2^4 - X ) * 2^6 种,设一地址指令有M种,则零地址指令最多有 [ ( 2^4 - X ) * 2^6 - M ] * 2^6 种.根据题中给出零地址有Y种,即Y = [ ( 2^4 - X ) * 2^6 - M ] * 2^6 ,则一地址指令M = ( 2^4 - X ) * 2^6 - Y * 2^6

     

    附加一道题帮助理解吧!这道题是教我们这门课的林楠老师的PPT上的一道例题.

    某指令系统,指令字长为16位,地址码长度为4位,试提出一种分配方案,使该指令系统有15条三地址指令,14条两地址指令,31条单地址指令,并留有表示零地址指令的可能。

    展开全文
  • 扩展操作码技术

    千次阅读 2020-05-13 15:45:30
    方法一:固定操作码的设计方式 0000 XXXX YYYY ZZZZ 1111 XXXX YYYY ZZZZ 16条三地址指令 方法二: 可变操作码的设计方法 扩展方式1: 0000 XXXX YYYY ZZZZ 1110 XXXX YYYY ZZZZ 15条三地址指令 1111 0000 XXXX YYYY...
  • 扩展操作码的总结

    万次阅读 多人点赞 2016-10-01 13:51:55
    需要建立的一种直观的认知是:既然是扩展操作码,就意味着操作码的位数越变越多! 之所以这么强调,是因为常常混淆了操作码扩展方向。再看扩展的原理: 假设指令字长是16位,平均劈开成4份,高位4位用作操作码,...
  • 扩展操作码的C实现,实现16位的扩展操作码的分配,分别为3,2,1,0地址指令描述
  • 指令操作码扩展2.1 为什么需要对操作码进行扩展2.2 如何扩展 1. 指令 指令是计算机执行某种操作的命令,一条指令中包括: 操作码 操作数地址 操作结果的存储地址 下一条指令的地址 下面详细说明指令的格式: 一...
  • 扩展操作码

    2021-07-04 17:07:44
    标题扩展(变长)操作码编码 (Expanding Opcodes ) 基本思想 将操作码的编码长度分成几种固定长的格式。被大多数指令集采用。 PDP-11是典型的变长操作码机器。 种类 等长扩展法:4-8-12;3-6-9;…… / 不等长扩展...
  • 计算机组成原理(唐朔飞第二版)301页,为什么采用扩展操作码技术后,比如说四位操作码就最多只能有15条一地址指令!这么做的主要作用是什么? 这是操作码不固定的指令格式,四位是基本的操作码,还可以扩充,但是...
  • 文章目录对于可变长指令指令设计要点例题巩固 对于可变长指令 不同指令的开头不可以一致(否则可能导致混淆) 有点儿像哈夫曼编码 指令设计要点 ...2)各指令操作码一定不能重复。 例题巩固 ...
  • 计组——扩展操作码

    2021-04-18 16:24:26
    文章目录一、扩展操作码二、扩展操作码的编码...因此,产生了扩展操作码(Expanding Opcodes):在定长的指令中,通过变长的操作码,表示更多的指令类型 二、扩展操作码的编码 区别操作码的长度:采用转义操作码(Escape
  • 正确答案: B操作码和地址码题目:组成计算机指令的两部分是解析:一条指令必须包括操作码和地址码(或“操作数”)两部分,操作码指出该指令完成操作的类型,如加、减、乘、除、传送等。地址码指出参与操作的数据和...
  • 4-2扩展操作码

    2020-12-01 19:40:35
    学习目标: 做题 学习内容: 概念: 1、 操作码、地址码的概念 2、 根据地址码数目不同分类 3、 根据指令长度分类 4、 根据操作码的长度不同分类 ...二地址指令为15条,将1111 1111留作扩展操作码
  • 如何设计扩展操作码--应用

    千次阅读 多人点赞 2016-10-01 14:44:04
    在下面这一篇讲过一点点基础原理。 http://blog.csdn.net/u011240016/article/details/52717315如果是给定指令字长,再给你一些需求,如何设计... 1)设固定操作码,若0地址指令有M种,一地址指令有N种,则二地址指
  • 操作码字段:表征指令的操作特性与功能 (指令的唯一标识) 不同的指令操作码不能相同地址码字段:指定参与操作的操作数的地址码二、操作码分类操作码可以分为固定长度的代码和可变长度的代码1、固定长度的代码多有...
  • 详细分析了常见密码算法的基本操作以及密码指令扩展的研究现状,针对当前密码系统需要支持多种密码算法的特点指出未来密码指令扩展的发展方向:指令设计需朝通用性上发展且通用密码处理器是处理器密码指令扩展...
  • 指令操作码扩展   指令主要分为两部分:操作码 + 操作数。指令操作码扩展主要思想是,在给定的指令字长情况下,确定操作数的位数(双操作数、单操作数、无操作数等),再用余下的位数作为操作码的位数。指令扩展都有...
  • 指令操作码与地址码

    千次阅读 2019-10-01 01:08:51
    指令字(简称指令)即表示一条指令的机器字。  指令格式则是指令字用二进制代码... 指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码字段的不同编码来表示,每一种...
  • 指令格式之操作码地址码

    千次阅读 多人点赞 2020-04-14 06:24:21
    指令格式之操作码地址码 一、指令格式 指令:操作码字段 地址码字段 指令字(简称指令):表示一条指令的机器字。 指令格式:是指令自用二进制代码表示的结构形式,由操作码字段和地址码字段组成。 操作码字段:表征...
  • 计算机组成原理------扩展操作码

    千次阅读 多人点赞 2019-07-12 21:09:08
    首先,需要建立的一种直观的认知是:既然是扩展操作码,就意味着操作码的位数越变越多! 之所以这么强调,是因为常常混淆了操作码扩展方向。 再看扩展的原理: 假设指令字长是16位,平均劈开成4份,高位4位用作...
  • 操作码

    万次阅读 2018-01-04 17:56:56
    操作码
  • 组成原理——指令格式(操作码

    千次阅读 2020-06-15 15:54:22
    操作码 指令操作码OP表示该...扩展操作码指令格式 即操作码的长度可变,且分散地放在指令字的不同字段中。通常是在指令字中用一一个固定长度的字段来表示基本操作码,而对于一部分不需要某 个地址码的指令,把它们
  • Java二进制指令代码解析 小注:去年在看《深入解析JVM》书的时候做的一些记录,同时参考了《Java虚拟机规范》。只是对指令的一些列举,加入了一些自己的理解。...在字节文件中,指令代码只是其中的一部

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 307,261
精华内容 122,904
关键字:

指令操作码的扩展技术