首页 > 其他分享 >寻址方式

寻址方式

时间:2024-09-12 16:13:03浏览次数:1  
标签:操作数 方式 地址 寻址 指令 寄存器 流水线

在嵌入式系统设计课程中,寻址方式(Addressing Modes)是指处理器或控制器在执行指令时如何访问操作数或指令中的数据。寻址方式分为指令寻址数据寻址
1. 指令寻址(Instruction Addressing)
指令寻址是指寻找下一条将要执行的指令地址。指令寻址包括顺序寻址、跳跃寻址
*顺序寻址:程序计数器(PC)自动递增,指向内存中下一条指令的地址。
*跳跃寻址:是指下一条指令的地址码不是由PC给出的,而是本条指令给出的。通过转移类指令实现。

  • 注意:这里所说的 “ PC 加1 ” 并不是 PC 一定会加 “1” 这个数值,而是要加当前指令占据的地址长度,从而总能得到下一条指令的地址;例如,如果机器按字节编址,当前指令字长是 4 个字节,那么执行这条指令后 PC = PC + 4。

2. 数据寻址(Data Addressing)
数据寻址是确定本条指令地址码指明的真实地址

  • 操作数:操作数是指令中参与操作的数据。
    
    • 直接寻址:指令中的形式地址A就是操作数的真实地址EA,即EA=A。
    • 间接寻址:指令的地址字段给出的形式地址不是操作数的真正地址,而是操作数地址所在的存储单元地址;也就是 “地址的地址”,即EA = (A)。
    • 寄存器寻址:在指令中直接给出操作数所在的寄存器编号,寄存器存储的为操作数的地址。
    • 寄存器间接选址:如果寄存器中不是直接给出操作数,而是操作数的内存地址,那么就称为寄存器间接寻址。(寄存器寻址+间接寻址)
    • 隐含寻址:指指令字中不直接给出操作数的地址,而是隐含在某个寄存器中(通过操作码表示)。
    • 立即寻址:地址码的形式地址A就是操作数本身,又称为立即数,一般采用补码形式。
    • 偏移寻址:包括基址寻址、变址寻址和相对寻址。在偏移寻址中,操作数的地址通过一个基地址(通常存储在寄存器中)和一个偏移量相加计算得到。
    • 堆栈寻址:通过堆栈指针操作数据,数据从堆栈中取出或压入。

**3. 流水线 **

* 概念:流水线是指在程序执行时`多条指令重叠进行`操作的一种准`并行处理`实现技术。即可以同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。


* 流水线的优化技术
* 超标量流水线(Superscalar Pipeline):在一个时钟周期内,处理器可以同时发射多条指令进入流水线执行,从而进一步提高指令执行的并行性。
* 动态调度(Dynamic Scheduling):处理器可以动态地调度指令的执行顺序,以减少流水线中的数据冲突和控制冲突。
* 分支预测(Branch Prediction)处理器通过硬件预测跳转指令的执行结果,从而减少因分支指令造成的流水线暂停。
* 多级流水线(Multistage Pipeline)流水线可以进一步划分为更多阶段,以减少每个阶段的执行时间,从而提高时钟频率。

参考:> https://www.cnblogs.com/yandashan666/p/11426482.html

标签:操作数,方式,地址,寻址,指令,寄存器,流水线
From: https://www.cnblogs.com/Air-zhw/p/18409937

相关文章

  • 【特征融合】卷积神经网络中的特征融合方式有哪些??让我们一起看看!
    【特征融合】卷积神经网络中的特征融合方式总结与探索…【特征融合】卷积神经网络中的特征融合方式总结与探索…前言:**在深度学习中,**特征融合(FeatureFusion)是一种将不同特征图或不同层的输出进行组合的技术,旨在提升模型的表现。特征融合主要用于增强特征表示能力,特别......
  • shardingJdbc分表执行批量update不支持的解决方式
    引言本次场景,公司通过shardingjdbc对mysql数据库进行分表,模糊匹配按照createTime,每季度一张表的方式,精确匹配按照creatTime的方式。关于模糊匹配、精确匹配,自行在shardingjdbc官网查看,分表策略等。由于是跟进createTime字段去作为分表的key,那么在执行select、update、delete......
  • 信号和槽介绍、使用方式
    一、信号与槽的简介    信号与槽是Qt的编程基础,是Qt编程的核心特性,也是Qt区别与其它C++开发框架的重要特性。    信号:是在特定情况下被发射的通知,例如QPushButton较常见的信号就是点击时发射的clicked()信号。GUI程序设计的主要工作就是对界面上各组件的信......
  • IP传递方式的综述
    IP的传递方式单播(Unicast):单播是主机间一对一的通讯模式。网络中的设备根据网络报文中包含的目的地址选择传输路径,将单播报文传送到指定的目的地,只对接收到的数据进行转发,不会进行复制。采用单播方式时,系统为每个需求该数据的用户单独建立一条数据传输通路,并为该用户发送一份......
  • 爬虫案例2-爬取视频的三种方式之一:selenium篇(2)
    @目录前言selenium简介实战案例共勉博客前言继使用requests库爬取好看视频的文章后,本文分享使用python第三方库selenium库接着来爬取视频网站,后续也会接着分享使用第三方库DrissionPage爬取视频。selenium简介selenium是一个用于web应用测试的工具集,它可以直接运行在浏览器中,......
  • ThreadLocal 释放的方式有哪些
    ThreadLocal基础概念:IT-BLOG-CNThreadLocal是Java中用于在同一个线程中存储和隔离变量的一种机制。通常情况下,我们使用ThreadLocal来存储线程独有的变量,并在任务完成后通过remove方法清理这些变量,以防止内存泄漏。然而,在使用线程池时,线程会被重用,这可能导致ThreadLocal变量......
  • css常用方式
     常容器用的样式:position:relative|absolute;/*相对定位|决定定位*/display:flex;/*浮动*/line-height:0px;/*div撑开问题*/对 rpx 详细说明:设计师在提供设计图时,一般只提供一个分辨率的图。严格按设计图标注的px做开发,在不同宽度的手机上界面很容易变......
  • --优质Java基础练习-- 采取控制台方式书写简单学生管理系统【升级版本(含注册登录功能)
    目录前言     该项目涉及的知识点项目准备 JDK编程工具Idea 需求文档-升级部分(参考黑马程序员)学生管理系统升级版需求分析登录界面用户类注册功能登录功能忘记密码验证码规则需求分析 编码新建项目-StudentManagementStudent类User类 核心方......
  • 【PHP编程】PHP闭包函数及函数回调的实现方式
    https://mp.weixin.qq.com/s/ji6hofCun7w7ErRvLuAiuA原创PHP星编程经验共享2023年10月19日08:01广东1.匿名函数在了解回调函数之前我们来了解一下什么是匿名函数?顾名思义,匿名函数就是一个没有确定函数名的函数,PHP将匿名函数和闭包视作相同的概念,所以匿名函数在PHP中......
  • 零基础国产GD32单片机编程入门(十六)DMA详解及ADC-DMA方式采集含源码
    文章目录一.概要二.GD32F103C8T6单片机DMA外设特点三.GD32单片机DMA内部结构图四.DMA各通道请求五.GD32F103C8T6单片机ADC-DMA采集例程六.工程源代码下载七.小结一.概要基本概念:DMA是DirectMemoryAccess的首字母缩写,是一种完全由硬件执行数据交换的工作方式。DM......