【计算机组成原理】指令系统

一、指令格式

指令:操作码字段   地址码字段

指令字(简称指令):表示一条指令的机器字。

指令格式:是指令自用二进制代码表示的结构形式,由操作码字段和地址码字段组成。

操作码字段:表征指令的操作特性与功能   (指令的唯一标识) 不同的指令操作码不能相同

地址码字段:指定参与操作的操作数的地址码

二、操作码分类

操作码可以分为固定长度的代码和可变长度的代码

1、固定长度的代码

多有指令操作码的长度相等

例如:某计算机共有64条指令,采用固定长度操作码,需要6位编码,从000000~111111  2的6次方为64

优点:编码方法简单,便于指令的译码

确定:不方便指令系统中增加新的指令(扩展不方便)

2、可变长度的代码

不等长的指令操作码可以减小操作码的平均长度,提高指令编码的效率,从指令的扩展性来看,也希望操作码长度可变。

例如:设某台计算机有100条指令,要求:

1)采用固定长度操作码编码,请设计其操作码编码

2)假设这100条指令中有10条指令的使用改了达到90%。其余90条指令的使用概率达到10%,请采用不定长编码设计一种操作码编码的方案,并求出操作码的平均长度(常用指令用短编码  不常用指令用长编码)

答、1)采用固定长度操作码编码,需要7位操作码,取其中100个代码作为操作码 0000000~1100011之间的代码代表100条指令(长度为7)

其余的1100100~1111111共28个代码可用于增加新的操作码

2)采用不固定长度的操作码编码,可以用4位代码对10条指令进行编码,用8位代码对90条指令进行编码

0000~1001对应10条常用的指令,从未使用的1010~1111的代码后面扩展4位

10100000~10101111     16个

10110000~10111111     16个

11000000~11001111     16个

11010000~11011111     16个

11100000~11101111     16个

11110000~11111001     10个

已上的1010 ,0000~1111,1001之间的90个代码表示其余90条指令

指令操作码的平均长度为:

4*90%+8*10%=4.4  小于等长编码的7位

剩余的编码11111010~1111111(6个)可用于操作码长度的进一步的扩展

例:设有一台简单计算机的指令系统共有10条指令,各指令的使用频率如下:

11  20%  12 12%   13  11%  14  15%  15  8%  16 3%  17   2%   18  18%  19  10%  110 1%

1)用霍夫曼编码设计这10条指令的操作码,并计算操作码的平均长度

2)设计只有2中长度,且平均长度不大于3.20位的等长扩展操作码,并计算操作码的平均长度

答:1)霍夫曼树为

霍夫曼编码结果如:(左支代表0  右支代表1  从最后边0.20开始霍夫曼编码如下)

11  011 010  001 101 100 0001 00001 000001 000000

平均长度:3.03 =2*0.2+3*-.18+3*0.15+....

2)一种设计方案是取3位和4位两种长度,如000 001  010 011 100 101  1100 1101 1110 1111

平均长度为3.14

3位可以表示8种编码,我们选取7个来表示三位编码,还剩4个需要扩展 也就是需要2位

另一种设计方案是选择3和5两种长度,如:000 001 010 011 100 101 110  11100 11101 11110

平均长度为3.12

选取3位表示7个 然后固定前3位为111 扩展2位 2的2次方就是4>3 也满足

三、地址码

指令中指定操作数存储位置的字段称为地址码,地址码中可以包含存储器地址。也可包含寄存器编号。

指令中可以有一个、两个或者三个操作数,也可没有操作数,根据一条指令有几个操作数地址,可将指令分为零地址指令。一地址指令、二地址指令、三地址指令。4个地址码的指令很少被使用。

操作码字段 地址码
操作码 A1 A2 A3 三指令地址
操作码 A1 A2 二指令地址
操作码 A1 一指令地址
操作码   零指令地址

零地址指令:只有操作码,没有地址码(空操作  停止等)

一地址指令:指令编码中只有一个地址码,指出了参加操作的一个操作数的存储位置,如果还有另一个操作数则隐含在累加器中

eg: INC AL

INC [S1]

二地址指令:指令编码中有两个地址,分别指出了参加操作的两个操作数的存储位置,结果存储在其中一个地址中

(op a1,a2:a1 op a2 a1)

eg:  MOV AL ,BL

ADD AL,30

三地址指令:指令编码中有3个地址码,指出了参加操作的两个操作数的存储位置和一个结果的地址

(op a1,a2,a3: a1 op a2  a3)

二地址指令格式中,从操作数的物理位置来说有可归为三种类型

寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放入另一个寄存器,机器执行寄存器-寄存器型的指令非常快,不需要访存。

寄存器-存储器(RS)型指令:执行此类指令时,既要访问内存单元,又要访问寄存器。

原文地址:https://www.cnblogs.com/dream-to-pku/p/11597028.html

时间: 2024-08-02 19:16:59

【计算机组成原理】指令系统的相关文章

学习计算机组成原理~~指令系统与性能

本人之前没有系统学习过,计算机组成原理,现在只能自己学习~~ 首先是概念: 指令---计算机去执行某种操作的命令.---Instruction 指令系统----机器指令的集合,也称指令集. Instruction Set . CIS(复杂指令系统,Complex  Instruction Set ),具有复杂指令系统的计算机称为复杂指令系统计算机(CISC). CISC中只有20%常用,产生了精简指令系统(RIS--Reduced  Instruction Set),具有RIS的计算机称为精简指

计算机组成原理——指令系统考研题

(一)指令格式 1.指令的基本格式 2.定长操作码指令格式 3.扩展操作码指令格式 (二)指令的寻址方式 1.有效地址的概念 2.数据寻址和指令寻址 3.常见寻址方式 (三)CISC和 RISC的基本概念 2009 16.某机器字长16位,主存按字节编制,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段.假定取指令时,每取一个字节PC自动加1.若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是    A. 2

计算机组成原理_第四版课后习题答案(完整版)

计算机组成原理_第四版课后习题答案(完整版) ?第一章 1.?比较数字计算机和模拟计算机的特点. 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的: 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行. 两者主要区别见P1?表1.1. 2.?数字计算机如何分类?分类的依据是什么? 解:分类: 数字计算机分为专用计算机和通用计算机.通用计算机又分为巨型机.大型机. 中型机.小型机.微型机和单片机六类. 分类依据:专用和通用是根据计算机的效率.速度.价格.运行的经济性和适应性来划

《计算机组成原理》知识点复习

                                                                             <计算机组成原理>知识点复习 <一>计算题 1. [x]原=0.11001110           [-x]原=(1.11001110) [-x]反=(1.00110001)      [-x]补=(1.00110010) 2. x=-0.1011=11011,x补=10101 y=-0.0101=10101,y补=11011,

计算机组成原理答疑--来源于南京大学课件

1.数据通路宽度.机器字长.“字”宽.存储单元宽度.编址单位.总线宽度.指令字长各指什么?它们之间有何关系? 答:在计算机内部,有指令和数据两大类信息.指令和数据都以二进制形式存放在存储器中,运行程序时,需要把指令和数据从存储器读出,通过总线传输到CPU,然后,CPU再通过执行指令来对操作数进行相应的运算,最后把结果数据送到寄存器或存储器中.所以,在设计或使用计算机过程中,要涉及到:指令和数据在存储器中按什么长度存放:写入或读出时按什么长度存取:在总线上传输时同时传送多少位:数据和指令送到CPU

计算机组成原理基本概念汇总

计算机组成原理是计算机科目中偏向于硬件的,我真的没学好,唯一做的好的笔记还是比较完整的.哈哈.这门课真的是博大精深.现在把组成原理的基本知识点与大家分享,希望大家在这门课的学习中少走弯路. 计算机系统概论 把以软件为主实现的机器称为虚拟机器:把由硬件和固件实现的机器称为实际机器. 高级语言的翻译程序有编译程序和解释程序两种. 计算机系统的层次结构从低到高: (1)微程序机器(第0级). (2)传统机器(第1级). (3)操作系统机器(第2级). (4)汇编语言机器(第3级). (5)高级语言机器

计算机组成原理 课程设计报告

        计算机组成原理 课程设计报告      成员:许恺   2014011329          胡强勇  2014011315     时间:2016.12.20                 一.简要总结计算机组成原理实验 计算机组成原理实验总共五个实验,首先我们熟悉了教学机的使用方法,后面的实验我们分为运算器.存储器.控制器,控制器分为两次实验.紧接的第二次实验我们就进行了运算器的实验,对运算器的内部构造极其原理进行了验证理解,在这里我们学习了运算器ALU的8种运算功能,以

计算机组成原理复习提纲

一.本课程学习要求: 了解数据信息的表示.运算方法与各类半导体存储器.辅助存储器.打印设备与显示装置设备:掌握计算机组成与系统结构的基本概念.基本原理.基本算法.基本结构和分析方法:掌握运算器.控制器.存储器的构成与原理:掌握指令流程.组合逻辑控制.微程序控制等内容:能对计算机的工作原理有清楚的认识并能够分析计算机的性能. 二.先行课程.:计算机导论  数字电路 第一章 计算机系统概论(1) 第二章   计算机的逻辑部件(补充) 第三章   计算机的运算方法(重点)(2) 第四章   系统总线(

计算机组成原理和结构图式(第一章 概论)

计算机组成原理和结构图式(第一章 概论) 1.计算机硬件概念 CPU(中央处理器) 构成:运算器.控制器.寄存器组 运算器:算术运算(定点数.浮点数)和逻辑运算 控制器:微命令(组合逻辑和微程序控制方式) 寄存器组:存放数据信息和控制信息 存储器 缓存>主存>外存 主存:固定地址CPU按地址访问,与CPU合称主机 外存:先调入主存 高速缓存:CPU和主存之间,集成在CPU内部 输入/输出设备(Input/Output,I/O)外设 总线 分时共享:一发多收 系统总线分为 (1)数据总线(运算器