计算机组成原理之指令和寻址方式

您所在的位置:网站首页 操作码和操作数怎么区分 计算机组成原理之指令和寻址方式

计算机组成原理之指令和寻址方式

2024-07-12 12:42:55| 来源: 网络整理| 查看: 265

一 机器指令

能够被计算机CPU识别并且操作的命令,就是机器指令。软件通过指令告诉硬件干什么,硬件把结果和状态通过指令系统返回给软件。

1.1 指令的格式

操作码 地址码 寻址方式

1.1.1操作码

机器要做什么操作

1.1.2 地址码

第一种:四地址 在这里插入图片描述

A1: 第一个操作数地址 A2: 第二个操作数地址 A3: 结果的地址 A4: 下一条指令的地址,利用A4取下一条指令 假设指令字长为32位,操作码固定位8位,则剩余的24位分配给4个操作数,则每一个操作数是6位,寻址范围是2^6 =64,如图示: 在这里插入图片描述

很明显这样的范围是不够用,也不可用的。 第二种:三地址 在现代的计算机中,一般使用硬件程序计数器,来存储下一条要访问的指令,来代替A4. 那么4地址就可以变为3地址,从而可以增加每一个操作数的寻址范围。如图示: 在这里插入图片描述

那么每一个操作数可寻址范围就是2^8 = 256,即每一个地址码的长度增加了

第三种:二地址 在这里插入图片描述

我们将计算结果不再保存到A3地址中,而是保存到A1或者A2的地址中 地址码从三个变为2个,每一个地址码长度增加了,2^12 = 4096 如果我们不把结果保存在A1或者A2当中,而是保存在指定一个寄存器当中,比如放在ACC, 这样就可以减少访存次数。

第四种:一地址 只要我们知道一个操作数的在内存中地址和ACC,那么我们就可以把另外一个操作数和操作结果都放在ACC中,这样还可以继续增加地址码的长度,变为24位,为2^24 = 16M, 而且只需要2次访问内存 在这里插入图片描述

1.2 指令的字长

指令的字长取决于操作码和地址码,如果指令字长是可变的,那么地址码的个数对指令的字长也是有影响的。

二 操作数的类型和种类 2.1 操作数类型

地址:比如跳转指令,操作的就是地址 数字:定点数、浮点数、十进制数 字符:ASCII 逻辑数:逻辑运算

2.2 数据在存储器中存放方式

比如1 2 3 4 5 6 7 8 H

在这里插入图片描述

数据在存储器中存储方式(存储字长64位,机器字长32位) 存储字长:表示CPU在访问内存的过程中,一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数 机器字长:表示CPU一次能处理数据的位数,通常与CPU的寄存器位数有关

在这里因为机器字长是32位,所以1字=4字节;存储字长是64位,所以是双字,即2个32位

2.2.1 从任意位置开始编址

那可能一个数据是1个字(32位),也可能是半字(16位),也有可能是双字(64位)。 优点:存储紧凑,不浪费资源 缺点:读写控制比较麻烦

2.2.2 从一个存储字的起始位置开始:

在这里插入图片描述

优点:每一次都从一个存储字的起始地址开始。任何类型的数据都可以保证在一个主存周期内完成,读写控制简单 缺点:浪费内存资源

2.2.3 边界对准方式,从地址的整数倍位置开始:

如果是半字,即16位,2字节,则从地址是2的倍数的位置开始存储 如果是字,即32位,4字节,则从地址是4的倍数的位置开始存储 如果是双字,即64位,8字节,则从地址是8的倍数的位置开始存储 在这里插入图片描述

优点:可以保证任何类型,一个存取周期就可以读写的数据,是前两个方法的折中;也减少了存储空间的浪费。数据存放的起始地址是数据长度的倍数

2.3 操作的类型 2.3.1 数据传送

在这里插入图片描述

2.3.2 算术逻辑运算

加(add)、减(sub)、乘(mul)、除(div) 增1(inc) 减1(dec) 求补(cmp) 浮点运算 与(and) 或(or) 非(not) 异或(xor) 位操作

2.3.3 移位 2.3.4 转移

无条件转移:JMP 条件转移:JZ(结果为零转移),JO(结果溢出转移),跳过一条指令(SKP)

调用和返回:call return

2.4 陷阱和陷阱指令

陷阱:可预知的意外事件 陷阱指令:INT TYPE

三 寻址方式 3.1 什么是寻址方式

确定本条指令的操作数地址或者下一条要执行的指令的指令地址,说白了就是如何找到指令或者指令要操作的数据的地址。

所以寻址方式又可以具体分为指令寻址和数据寻址。

3.2 指令寻址

顺序寻址:取完一条指令,顺序取下一条指令,比如PC的地址加1,然后送入到PC当中,那这里是不是在任何一台计算机都是可以的? 如果内存存储单元编址单位是字节,每一条指令的长度是32位,即4个字节,顺序寻址的时候就是+4;如果是64位,则顺序寻址的时候就是+8。

跳跃寻址:由转移指令指出下一条指令它的地址 在这里插入图片描述

3.3 数据寻址

在这里插入图片描述

操作码:操作类型 寻址方式:使用哪一种寻址方式 形式地址:取决于寻址方式 假设指令字长=机器字长=存储字长

3.3.1 立即寻址

形式地址直接给出来的就是操作数,直接参与操作码指定的运算。 在这里插入图片描述

指令的执行阶段,不需要访存

3.3.2 直接寻址

有效地址就是形式地址,也就是是真正内存单元的物理地址。把A这个地址的操作数送到CPU的ACC寄存器中去。A地址的位数决定了该指令的寻址范围 缺点:操作数的地址不易修改

3.3.3 隐含寻址

我们把寻址方式隐藏到操作码之中

3.3.4 间接寻址

有效地址由形式地址间接提供。 指的是形式地址指向的是内存中一个地址,但是这个地址的值仍然是一个地址,即真实的地址,这种方式需要访存2次,而且便于编制程序。

3.3.5 寄存器寻址

有效地址即为寄存器编号,CPU需要从给定的编号的寄存器中把操作数取出来,进行相应的操作。

3.3.6 寄存器间接寻址

地址保存的是一个在寄存器中的地址,这个寄存器中的地址保存的是操作数真正在内存中的物理地址。

3.3.7 基址寻址 3.3.7.1 采用专用的寄存器作为基址寄存器

有效地址是基准寄存器中保存的内容+形式就可以得到内存的物理地址 优点:扩大了寻址范围,因为基址寄存器给定了一个首地址,然后指令中地址A只是一个偏移量;另外,非常有利于多道程序设计,多到程序分时进行执行的时候,程序的起始地址可以放在基址寄存器,执行过程中动态产生操作数地址,也叫动态定位。

在这里插入图片描述

3.3.7.2 基于通用地址寄存器作为基址寄存器 3.3.8 变址寻址

指定一个变指寄存器作为基址寄存器。用户可以修改变址寄存器的地址,这是和基址寄存器不一样地方。 在这里插入图片描述

3.3.9 相对寻址

用程序计数器中地址加上程序里的地址,形式地址相当于当前指令的位移量。 A的位数决定了相对地址的寻址范围。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭