计算机组成原理自学笔记 您所在的位置:网站首页 图灵机计算机的基本原理 计算机组成原理自学笔记

计算机组成原理自学笔记

2023-07-09 04:24| 来源: 网络整理| 查看: 265

定长指令字结构+可变长操作码 = 拓展操作码(不同地址数的指令使用不同长度的操作码)

例子: 若指令字长为16位,每个地址码占4位

前四位 是基本操作码字段OP

剩下三个四位字长的地址字段

4位基本操作码全部用于三地址指令,则共有16条

但是如果想要变成拓展操作码,要保留1111这条

1111要用作判断是几地址指令

所以三地址指令只剩下15条

例如 

三地址指令1110A1A2A3二地址指令11111110A1A2一地址指令111111111110A1

二地址指令的前一位空位要填充1111,指令数仍然是15条

一地址指令的前两位空位要填充1111,指令数也为15条

零地址指令为16条 最后一条为 1111  1111 1111 1111

在设计拓展操作码时

不允许短码是长码的前缀,短操作码不能与长操作码的前面的部分相同

各指令的操作码一定不能重复

通常情况下,对使用频率较高的指令,分配较短的操作码

尽量减少指令译码和分析的时间

举例:

设指令字长固定为16位,设计一套指令系统

1 有15条三地址指令

2 有12条二地址指令

3 有62条一地址指令

4 有32条零地址指令

15条指令,即表示0-14即可

0000-1110  A1 A2 A3

只剩下1111没有被表示指令,则利用1111作为下三地址和二地址的区别

二地址:

1111 XXXX XXXX XXXX

前面有四个连续1就是二地址

一共12条指令 0-11  0000-1011

剩下 1100 1101 1110 1111

都是开头有11的,所以依此作为二地址和一地址的分界

62条一地址

1111 11XX XXXX XXXX

62条 0-61 000000-111101

剩下111110 111111

所以

零地址指令即为

1111 1111 111X XXXX

正好剩下32条



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有