day2-ARM处理器概述

2023-10-29

指令集

指令

能够指示处理器执行某种运算的命令称为指令

指令在内存中以机器码(二进制)的方式存在

每一条指令都对应一条汇编

程序是指令的有序集合

指令集

处理器能识别的指令的集合称为指令集

不同架构的处理器指令集不同

指令集是处理器对开发者提供的接口

ARM指令集

大多数ARM处理器支持两种指令集

ARM指令集

所有指令(机器码)都占用32bit存储空间

代码灵活度高、简化了解码复杂度

执行ARM指令集时PC值每次自增4

Thumb指令集

所有指令(机器码)都占用16bit存储空间

代码密度高、节省存储空间

执行Thumb指令集时PC值每次自增2

编译原理

C语言>汇编语言->机器码

机器码(二进制)是处理器能直接识别的语言,不同的机器码代表不同的运算指令,处理器能够识别哪些机器码是由处理器的硬件设计所决定的,不同的处理器机器码不同,所以机器码不可移植

汇编语言是机器码的符号化,即汇编就是用一个符号来代替一条机器码,所以不同的处理器汇编也不一样,即汇编语言也不可移植

C语言在编译时我们可以使用不同的编译器将C源码编译成不同架构处理器的汇编,所以C语言可以移植

ARM储存模型

ARM数据类型

ARM采用32为架构,基本数据类型有以下三种

Byte 8bits

Halfword 16bits

Word 32bits

Word型数据在内存的起始地址必须是4的整数倍

Halfword型数据在内存的起始地址必须是2的整数倍

字节序

大端对齐

小端对齐

ARM指令存储

处理器处于ARM状态时

所有指令在内存的起始地址必须是4的整数倍

PC值由其[31:2]决定,[1:0]位未定义

处理器处于Thumb状态时

所有指令在内存的起始地址必须为2的整数倍

PC值由其[31:1]决定,[0]未定义

ARM工作模式

不同模式拥有不同权限

不同模式执行不同代码

不同模式完成不同的功能

按照权限

User为非特权模式(权限较低),其余模式均为特权模式(权限较高)

按照状态

FIQ IRQ SVC Abort Undef属于异常模式,即当处理器遇到异常后会进入对应的模式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

day2-ARM处理器概述 的相关文章

  • 电脑提示vcruntime140_1.dll丢失怎么安装?

    许多用户在使用电脑的时候 在安装运行某些程序的时候 电脑突然提示由于找不到vcruntime140 1 dll 无法继续执行代码 遇到这种情况我们应该怎么解决呢 下面小编就带着大家一起看看吧 首先是打开电脑浏览器后在顶部输入 dll修复程序
  • 智慧教室--智能管控系统

    智慧教室系统是一款基于AIOT数字化平台的智能教育解决方案 该系统实现了全面数字化 自动化管理和智能化控制 可大大提高教学效率和质量 为学生带来更加优质的教育体验 智能管控是智慧教室系统的核心功能之一 通过物联网技术 将教室内各种设备和设施
  • python之浅拷贝、深拷贝

    什么是浅拷贝 深拷贝 理论来自python基础教程 在 Python 中 对象赋值实际上是对象的引用 当创建一个对象 然后把它赋给另一个变量的时候 Python 并没有拷贝这个对象 而只是拷贝了这个对象的引用 我们称之为浅拷贝 在 Pyth
  • Allegro使用总结-查看Layout基本操作:

    好久没用CSDN写过笔记了 没想到无意间打开 编辑器更新啦 以前巨难用的 富文本编辑器 终于改观了 变的好像语雀 1 视图 画面操作 a 画面缩放 Zoom F11 F12 或 鼠标滚轮 补充 Zoom分辨率调节 Setup user pr
  • kafka 监控工具--CMAK

    CMAK previously known as Kafka Manager is a tool for managing Apache Kafka clusters See below for details about the name
  • 【前端】批量导入和导出Excel数据

    1 准备 excel导入功能需要使用npm包xlsx 所以需要安装xlsx插件 读取和写入都依赖她 npm i xlsx 0 17 0 vue element admin模板提供了一个导入excel数据的文件 我们只需用即可 代码地址 ht
  • 使用python对银行信息管理系统的简单实现

    一 首先是用户属性的类 class account object 储存用户信息的类 def init self id1 name tel money self id id1 账户 self name name 姓名 self tel tel
  • Kettle同步表数据null处理

    kettle同步数据时会将空字符串 自动转换为 null 如果表字段非空则会报错 解决方案如下 方案一 kettle菜单栏 编辑 编辑kettle properties文件 配置项 KETTLE EMPTY STRING DIFFERS F
  • ARM接口编程—WDT(exynos 4412平台)

    WDT简介 Watch Dog Timer即看门狗定时器 其主要作用是当发生软件故障时可产生复位信号使SOC复位 其本质是一个计数器 WDT工作原理 WTD寄存器 wtd控制寄存器 用于设置一级分频 二级分频 使能 产生复位和中断信号 WT
  • 下面是两种解决Redis击穿问题的方法,并给出相应的Java代码实现。

    Redis击穿问题指的是当一个key在缓存中过期时 恰好有大量并发请求访问该key 导致请求直接打到数据库 引起数据库压力过大 甚至宕机 方法一 使用互斥锁 在访问缓存之前 首先获取一个互斥锁 防止多个请求同时访问数据库 只有一个请求可以访
  • macOS M2使用conda配置pytorch环境

    一 conda 首先我们需要有conda miniconda的安装配置流程可以看这个http t csdn cn ShcNb 二 进入官网 https pytorch org 选择对应的版本 复制下面的命令 conda install py
  • 主线剧情0.0-Linux学习资源大综合

    Linux 学习资源大综合 对收集到的比较丰富的 Linux 学习相关的资料进行整理 注 如果链接挂了请告诉我 如果链接里的内容被删了那么直接搜文章名字试试也许会搜出来很多转载的 备份 注 在 Github 上的原版文章日后可能会更新 在其
  • 【ffmpeg基础】ffmpeg音频编码

    一 aac编码 输入raw音频编码为AAC ffmpeg i input wav acodec aac y input aac 通过 acodec来指定音频编码器 视频编码器为 vcodec 也可以使用 c a来指定音频编码器 ffmpeg
  • 【CV with Pytorch】第 7 章 :图像异常检测

    机器学习的研究使我们进入了研究各种模式和行为的过程 它使我们能够构建可以研究封闭环境的模型 预测能力通常遵循模型训练过程 这是我们在训练模型时需要经常问的一个重要问题 还有另一个问题需要回答 多少数据足以帮助模型理解分布 以便我们有一个好的
  • SCSI、ISCSI、iSER、NVMe、NVMe-oF、NVMe-oF over RDMA

    在存储系统中 上层协议可以泛指 指令 也就是比如 读出从某某开始的多少长度的扇区 指令包含三大关键信息 1 操作码 Opreation Code 或称为OP code 比如write read等等 2 起始地址 从哪里开始读 如果是文件的话
  • mysql之操作数据库的DDL语句

    1 退出mysql exit 或 quit 2 显示当前所有数据库 show databases 3 创建数据库 create database 数据库名 4 删除库文件 drop database 数据库名 5 切换正在使用的数据库 us
  • 4大主流CPU处理器技术架构

    推荐阅读 浅谈linux 内核网络 sk buff 之克隆与复制 深入linux内核架构 进程 线程 了解Docker 依赖的linux内核技术 导读 RISC 精简指令集计算机 是一种执行较少类型计算机指令的微处理器 起源于80年代的MI
  • lv12 uboot源码配置编译 8

    目录 1 uboot源码获取 2 uboot特定 3 uboot源码结构 3 1 平台相关代码 3 1 1 arch 3 1 2 board 3 2 平台无关代码 3 2 1 common下放的都是uboot的命令 3 3 配置文件 帮助文
  • linux ARM64 处理器内存屏障

    一 内存类型 ARMv8架构将系统中所有的内存 按照它们的特性 划分成两种 即普通内存和设备内存 并且它们是互斥的 也就是说系统中的某段内存要么是普通内存 要么是设备内存 不能都是 1 普通内存 Normal Memory 普通内存的特性是
  • <sa8650>sa8650 CDT-之-汽车CDT配置用户指南(上)

    sa8650 sa8650 CDT 之 汽车CDT配置用户指南 上 2 CDT概述 2 1 Platform ID值 2 2 CDT一般结构 2 3 CDT头 2 4 块元数据 2 5 CDBs 2 6 加载CDT的启动过程

随机推荐

  • 佳能打印机复印身份证的双面到A4纸上的方法

    1 选择其他功能 页面合并 2 选择来源纸张大小 身份证可以选择A5R大小的 3 选择打印纸张大小 默认A4 4 完成设置 按那个平常的复印将进行扫描 画面上会显示继续扫面R2 然后将身份证翻转放到原来的地方 然后再按扫描 5 最后按界面上
  • centOS7 中安装可视化图形界面

    centOS7 中安装可视化图形界面 一 检查 yum是否可用 输入 yum list 如果出现以下情况说明不可用 二 下载可视化图形界面 2 1 安装 x Windows System 输入 yum groupinstall X Wind
  • html+写入数据库+JDBC更改数据库

    1 HTML部分 2 CSS部分 Login div div div div class input box div div
  • starter-canal 下载并打成依赖放入maven本地仓库

    https github com chenqian56131 spring boot starter canal 下载代码 1 下载完成进入项目根目录starter canal 中 命令行如下 mvn install 2 等待打包完成 ta
  • SpringBoot集成WebSocket实现客户端与服务端长连接通信

    场景 1 WebSocket协议是用于前后端长连接交互的技术 此技术多用于交互不断开的场景 特点是连接不间断 更轻量 只有在关闭浏览器窗口 或者关闭浏览器 或主动close 当前会话对象才会关闭 2 相较于 Http Https 通信只能由
  • python解释器怎么添加_Python解释器的配置

    1 准备工作 安装好Pycharm2017版本 电脑上安装好Python解释器 2 本地解释器配置 配置本地解释器的步骤相对简洁直观 1 单击工具栏中的设置按钮 2 在Settings Preferences对话框中选中 Project I
  • 人脸跟踪开源项目

    https github com xiangdeyizhang FaceTrack ncnn HyperFT https github com qaz734913414 Ncnn FaceTrack Ncnn FaceTrack 基于mtc
  • 数字水印简介

    转自 http baike baidu com view 39205 htm 数字水印 Digital Watermarking 技术是将一些标识信息 即数字水印 直接嵌入数字载体当中 包括多媒体 文档 软件等 或是间接表示 修改特定区域的
  • 经纬度坐标正则验证

    经纬度正则验证表达式 纬度正则表达式 90 至 90 0 8 d 1 d 0 6 90 0 0 6 0 8 d 1 90 经度正则表达式 180 至 180 d 1 9 d 1 0 7 d 0 1 3 d 0 6 d 1 9 d 1 0 7
  • 趣味解C——编程(1)

    前言 题目虽是基础题 旨在用趣味使其乐趣性翻倍 纯属娱乐 解题思路 1 房间 一共n间 我们可以设其为 i 从而定义循环 for i 1 i lt n i 2 服务员 各个服务员都记得自己的使命 ta们没有名字 只知道自己是第几 于是1号最
  • Unity 面试题汇总(三)Unity 基础相关

    Unity 面试题汇总 三 Unity 基础相关 目录 Unity 面试题汇总 三 Unity 基础相关 0 FSM 状态机 HFSM 分层状态机 BT 行为树 的区别 1 什么是协同程序 2 Unity3D中的碰撞器和触发器的区别 3 物
  • 反射概述

    package com kuang reflection 什么叫反射 public class test02 public static void main String args throws ClassNotFoundException
  • SA实战 ·《SpringCloud Alibaba实战》微服务介绍

    微服务化后的问题 一个系统 尤其是大型系统使用微服务架构模式进行搭建和开发时 虽然总体上能够提高研发效率 能够支持更高的并发 也能够提高系统整体的性能和可靠性 以及可维护性 但是在实现细节上还是存在着不少的问题 1 将系统拆分成各个微服务后
  • 御剑的使用

    御剑 1 扫描线程自定义 用户可根据自身电脑的配置来设置调节扫描线程 2 集合DIR扫描 ASP ASPX PHP JSP MDB数据库 包含所有网站脚本路径扫描 3 默认探测200 也就是扫描的网站真实存在的路径文件 我们使用御剑扫描器
  • Java基础8--Scanner类

    Java基础8 Scanner类 java util Scanner 是 Java5 的新特征 我们可以通过 Scanner 类来获取用户的输入 下面是创建 Scanner 对象的基本语法 Scanner s new Scanner Sys
  • 程序员必须知道的十大算法之 快速排序

    快速排序是由东尼 霍尔所发展的一种排序算法 在平均状况下 排序 n 个项目要 nlogn 次比较 在最坏状况下则需要 n2 次比较 但这种状况并不常见 事实上 快速排序通常明显比其他 nlogn 算法更快 因为它的内部循环 innerloo
  • 设计原则与思想:总结课

    文章目录 设计原则与思想 总结课 总结回顾面向对象 设计原则 编程规范 重构技巧等知识点 一 代码质量评判标准 如何评价代码质量的高低 最常用的评价标准有哪几个 如何才能写出高质量的代码 二 面向对象 三 设计原则 四 规范与重构 常见的
  • Win10防止Windows安全中心(Windows Defender)乱删文件

    Windows Defender乱删文件着实让人哭笑不得 还好它还有个排除项 不然只能安个杀毒软件接管它了 点击 开始 点击 设置 开始上面的齿轮图标 打开Windows设置 点击最下面的 更新和安全 点击 Windows安全中心 点击右侧
  • mock详细教程入门这一篇就够了

    1 什么是mock测试 1 png Mock测试就是在测试活动中 对于某些不容易构造或者不容易获取的比较复杂的数据 场景 用一个虚拟的对象 Mock对象 来创建用于测试的测试方法 2 为什么要进行Mock测试 Mock是为了解决不同的单元之
  • day2-ARM处理器概述

    指令集 指令 能够指示处理器执行某种运算的命令称为指令 指令在内存中以机器码 二进制 的方式存在 每一条指令都对应一条汇编 程序是指令的有序集合 指令集 处理器能识别的指令的集合称为指令集 不同架构的处理器指令集不同 指令集是处理器对开发者