一、总览

二、操作数类型与寻址方式

三、数据寻址



四、立即寻址


立即寻址:形式地址A就是操作数本身,又称为立即数,一般采用补码形式。#表示立即寻址特征。
一条指令的执行:取指令访存1次,执行指令访存0次,暂不考虑存结果,共访存1次
优点
指令执行阶段不访问主存,指令执行时间最短
缺点:
A的位数限制了立即数的范围。
如A的位数为n,且立即数采用补码时,可表示的数据范围为-2n-1~2(n-1)-1

五、直接寻址


直接寻址:指令字中的形式地址A就是操作数的真实地址EA,即EA=A。

一条指令的执行:取指令访存1次,执行指令访存1次,暂不考虑存结果,共访存2次
优点:
简单,指令执行阶段仅访问一次主存,不需专门计算操作数的地址。
缺点:
A的位数决定了该指令操作数的寻址范围。操作数的地址不易修改。

六、间接寻址


间接寻址:指令的地址字段给出的形式地址不是操作数的真正地址,而是操作数有效地址所在的存储单元的地址,也就是操作数地址的地址,即EA=(A)。

优点:
可扩大寻址范围(有效地址EA的位数大于形式地址A的位数)。
便于编制程序(用间接寻址可以方便地完成子程序返回)。
缺点:
指令在执行阶段要多次访存(一次间址需两次访存,多次寻址需根据存储字的最高位确定几次访存)。

七、寄存器寻址


寄存器寻址:在指令字中直接给出操作数所在的寄存器编号,即EA=R,其操作数在由R所指的寄存器内。

一条指令的执行:取指令访存1次,执行指令访存0次,暂不考虑存结果,共访存1次
优点:
指令在执行阶段不访问主存,只访问寄存器,指令字短且执行速度快,支持向量/矩阵运算。
缺点:
寄存器价格昂贵,计算机中寄存器个数有限。

八、寄存器间接寻址


寄存器间接寻址:寄存器R中给出的不是一个操作数,而是操作数所在主存单元的地址,即EA=(Ri)。

一条指令的执行:取指令访存1次,执行指令访存1次,暂不考虑存结果,共访存2次
特点:
与一般间接寻址相比速度更快,但指令的执行阶段需要访问主存(因为操作数在主存中)。

九、隐含寻址

**隐含寻址:**不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。

优点:有利于缩短指令字长。
缺点:需增加存储操作数或隐含地址的硬件。

十、总结

指令系统——数据寻址(1)(详解)相关推荐

  1. [转载]用数据说话 Pytorch详解NLLLoss和CrossEntropyLoss

    [转载]用数据说话  Pytorch详解NLLLoss和CrossEntropyLoss https://www.cnblogs.com/jiading/p/11979391.html NLL_Los ...

  2. Python数据科学-技术详解与商业实践视频教程

    Python数据科学-技术详解与商业实践(八大案例) 网盘地址:https://pan.baidu.com/s/13QrR_5Er6LgWCWzSb7qOrQ 提取码:s7vw 备用地址(腾讯微云): ...

  3. android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...

  4. java编程数据溢出问题_Java数据溢出代码详解

    Java数据溢出代码详解 发布时间:2020-10-05 15:08:31 来源:脚本之家 阅读:103 作者:Pony小马 java是一门相对安全的语言,那么数据溢出时它是如何处理的呢? 看一段代码 ...

  5. java 分割数据_java 分割csv数据的实例详解

    java 分割csv数据的实例详解 实际需要解析的csv中很多都是从excel中转过来的,数据中本身包含了逗号的数据导致split的过程中发现数据对不上,因此,基于这种特性,重新写了一个csv数据的分 ...

  6. c语言 recv_sin,C++_C语言中经socket接收数据的相关函数详解,recv()函数: 头文件:#incl - phpStudy...

    C语言中经socket接收数据的相关函数详解 recv()函数:头文件: #include #include 定义函数: int recv(int s, void *buf, int len, uns ...

  7. 负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解

    负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负载均衡的基 ...

  8. python数据科学课后答案_Python数据科学-技术详解与商业实践-第五讲作业

    作者:Ben,著有<Python数据科学:技术详解与商业实践>.<用商业案例学R语言数据挖掘>.<胸有成竹-数据分析的SAS EG进阶>作者.2005年进入数据科学 ...

  9. 阿里云物联网平台-数据解析脚本详解

    阿里云物联网平台-数据解析脚本详解 var COMMAND_REPORT = 0x00; //属性上报. var COMMAND_SET = 0x01; //属性设置. var COMMAND_REP ...

  10. Discuz3.数据库数据表字典详解(完整版)

    Discuz3.数据库数据表字典详解(完整版) 转自:https://discuzt.cr180.com/discuzcode-db.html pre_common_admincp_cmenu后台菜单 ...

最新文章

  1. 离散数学中的联结符号
  2. 漫画 | 你对加班有什么看法?
  3. 应用vb编程_用VB编程来解决实际生活问题
  4. “数字化”才是智能制造的基础!
  5. 清空memcached中缓存的数据的方法
  6. linux复制文件快捷键,Linux基础学习(基本命令和文件操作)
  7. JavaScript Bitwise NOT Operator
  8. 我可以/应该在事务上下文中使用并行流吗?
  9. 微软推行 Windows 10 更新政策 往后不会太强硬要求升级!
  10. Android 3D系列之基本概念篇
  11. js-sdk探索之微信网页分享
  12. 离线安装wxpython_windows离线状态下源码安装Robotframework 环境及其依赖包
  13. java程序员选择多个offer时需要看重哪些?_27 道阿里巴巴 Java 面试题,你会几道?...
  14. java dateutil 获取时间戳_java获取时间戳的方法
  15. C++使用Code Runner添加编译参数
  16. Mac 下pyppeteer下载Chromium慢 / pyppeteer下载慢 / Chromium下载慢 / Chromium下载地址
  17. Java问题排查系列--线上问题排查的方法/步骤
  18. 三维地下管线系统(skyline)
  19. 基于 Next.js实现在线Excel
  20. PHP codeigniter layui 后台模板

热门文章

  1. qt 获取本机的wifi密码_还在记密码?这款开源免费的账号密码管理神器赶紧收了...
  2. PostgreSQL 入门
  3. 大数据入门:各种大数据技术的介绍
  4. Halcon—Tuple中符号的含义
  5. 录制wav格式的音频
  6. Linux桌面需要强制访问控制,RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...
  7. docker二进制安装mysql_Docker搭建MySQL读写分离主从模式 分布式数据库中间件Mycat分库分表应用...
  8. IDEA将项目打包为指定class文件的jar
  9. 【Python】模块学习之ConfigParser读写配置信息
  10. 转载:mongoDB java驱动学习笔记