ARM基础知识---CPU---处理器
目录
一、ARM架构
1.1.RAM---随机存储器
1.2.ROM---只读存储器
1.3.flash---闪存存储器
1.4.时钟(振晶)
1.5.复位
二、CPU---ARM920T
2.1.R0~R12---通用寄存器
2.2.PC程序计数器
2.3.LR连接寄存器
2.4.SP栈指针寄存器
2.5.CPSR当前程序状态寄存器
2.6.SPSR -CPSR备份寄存器
2.7.Cache缓存
2.8.MMU: 内存管理单元
2.9.ALU算数逻辑单元
三、处理器
四、总结
一、ARM架构

1.1.RAM---随机存储器
RAM---随机存储器特点--速度快,掉电数据丢失分类:SRAM---静态随机存储器DRAM---动态随机存储器SDRAM---同步动态随机存储器DDR(n)---内存条
1.2.ROM---只读存储器
ROM---只读存储器特点--速度慢,掉电数据不丢失分类:PROM---可编程只读存储器EPROM---可擦除只读存储器EEPROM---电擦除只读存储器
1.3.flash---闪存存储器
特点---速度快,掉电数据不丢失 分类:norflash---基础单元就是 或非门 可线性访问nandflash---基础单元就是 与非门 不可线性访问线性访问---有专门的地址总线和数据总线(可以像内存一样访问)
1.4.时钟(振晶)
时钟是同步工作系统的同步节拍,各个部分通过这个节拍来完成协调一致,从而实现协调配合。SoC内部有很多器件,例如CPU、串口、DRAM控制器、GPIO等内部外设,这些要实现协同工作,需要一个同步的时钟系统来指挥。这个就是我们的SoC时钟系统。
1.5.复位
ARM处理器的复位是一种初始化过程,它发生在系统启动或者发生故障后恢复运行时。当处理器处于复位状态时,它的内部寄存器、指令指针和内存状态都会被重置到预设的初始值,以便于开始执行固件(通常是最小的引导程序)中的第一条指令。这一过程有助于保证系统的可靠性和一致性,使得设备可以从停机状态或异常情况快速恢复正常操作。
二、CPU---ARM920T
2.1.R0~R12---通用寄存器
寄存器r0-r12是ARM处理器的通用寄存器,主要用来存储临时数据、函数参数和返回值。这些32位寄存器在不同场景有不同的用途,如r0-r3常用于参数传递,r4-r11存储临时数据,r12(IP)在某些版本中作为临时存储。此外,r13-r15是特殊寄存器,分别对应栈指针SP、链接寄存器LR和程序计数器PC。
2.2.PC程序计数器
程序计数器, 默认值为0, 做自加运算, 实际指向正在运行的下下条指令。
2.3.LR连接寄存器
保存函数的返回地址。
2.4.SP栈指针寄存器
指向栈定。
栈的种类有4种:---满增栈---满减栈---空增栈---空减栈
ARM中我们使用的是满减栈。
为啥要使用满减栈 ?
从高地址开始进栈保存返回值,越界会进入堆区,产生越界错误,进程结束运行,而如果使用满增栈,越界会进入内核区,影响整个系统的运行;(减)
满增栈,每次将元素插入指针的位置,栈指针再后移一,出栈时,栈指针先减一,再元素出栈,最后一个元素出栈无法判断是否栈空了;而满减栈,每次先指针后移一次,再将元素插入指针的位置,使用栈的第一个位置会空出来,而出栈时,元素显出栈,指针再减一,可以再判断时,判断指针指向的空间是否为空,为空则说明栈空了;只有满减栈,才可以再出栈时判断栈是否空了。(满)
2.5.CPSR当前程序状态寄存器
运算结果为正、负、进借位、结果为0等标志, 中断的使能, 工作状态,工作模式;
2.6.SPSR -CPSR备份寄存器
2.7.Cache缓存
CPU缓存是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度却比内存要快得多。CPU高速缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾。
因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可先从缓存中调用,从而加快读取速度。
两种Cache模型?
哈佛 数据和指令分开存储 ---读取效率高(可以同步读取数据和指令)
冯诺伊曼 数据和指令一起存储 ---读取效率慢
2.8.MMU: 内存管理单元
虚拟地址到物理地址的映射。
2.9.ALU算数逻辑单元
三、处理器

CPU:中央处理单元MCU:微控制器 51单片机MPU:微处理器 intelDSP:数字信号处理器FPGA:现场可编程门阵列 -- 硬件设计语言AHB:高速总线
APB:低速总线数据总线:是CPU与内存或其他器件之间的数据传送的通道地址总线:用于传输指示计算机中的内存或外设的物理地址控制总线:读写信号等RISC:精简指令集
CISC:复杂指令集
处理器中的ARM920T也就是CPU,相当于微处理器,计算十分强大,但需要许多控制器来配合实现不同的功能。处理器也就有了许多控制器的加入。
四、硬件存储结构

五、总结
需要清楚知道APM架构的组成,以及其处理器的组成成分和CPU的组成成分。处理器中可以有很多个CPU也就是现在常说的几核处理器,CPU可有相同类型大小不同,也可以是不同的类型,可以把他们看作电路来理解。
相关文章:
ARM基础知识---CPU---处理器
目录 一、ARM架构 1.1.RAM---随机存储器 1.2.ROM---只读存储器 1.3.flash---闪存存储器 1.4.时钟(振晶) 1.5.复位 二、CPU---ARM920T 2.1.R0~R12---通用寄存器 2.2.PC程序计数器 2.3.LR连接寄存器 2.4.SP栈指针寄存器 2.5.CPSR当前程序状态寄存…...
将星 x17 安装ubuntu 20.04 双系统
准备工作,包含关闭快速启动,关闭Secret Boot 1.进入控制面板选择小图标,找到电源选项 2.点击更改当前不可用的设置,关闭快速启动 3.开机启动时快速按F2,进入BIOS 4.选择Setup Utiltity,选择Security&#…...
E31.【C语言】练习:指针运算习题集(上)
Exercise 1 求下列代码的运行结果 #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d",*(ptr - 1));return 0; } 答案速查: 分析: Exercise 2 求下列代码的运行结果 //在x86环境下 //假设结…...
git分支的管理
分支管理是 Git 版本控制系统中的一个核心功能,它涉及如何创建、管理、合并和删除分支,以便在团队协作和开发过程中更有效地组织代码。以下是分支管理中的一些关键概念和实践: 1. 分支的创建 创建新分支:在开发新功能、修复 bug…...
对于消息队列的一些思考
如何保证消息不被重复消费 唯一ID:你提到的通过唯一ID解决重复消费问题非常重要。这通常通过业务系统引入唯一消息ID(如UUID)来实现。在消费端,先检查消息ID是否已经被处理,未处理过的才进行处理,确保幂等…...
IM即时通讯软件-WorkPlus私有化部署的局域网即时通讯工具
随着企业对通讯安全和数据掌控的需求不断增加,许多企业开始选择私有化部署的即时通讯工具,以在内部局域网环境中实现安全、高效的沟通与协作。IM-WorkPlus作为一款受欢迎的即时通讯软件,提供了私有化部署的选项,使企业能够在自己的…...
AI大模型的饕餮盛宴,系统学习大模型技术,你想要的书都在这里了
AI大模型的饕餮盛宴,系统学习大模型技术,你想要的书都在这里了 要说现在最热门的技术,可谓非大模型莫属!不少小伙伴都想要学习大模型技术,转战AI领域,以适应未来的大趋势,寻求更有前景的发展~~…...
支付宝开放平台-开发者社区——AI 日报「9 月 9 日」
1 离开 OpenAl 后,llya 拿了10亿美金对抗 Al 作恶 极窖公园 丨阅读原文 lya Sutskever, OpenAl的前联合创始人,成立了SS1 (Safe Superintelligence),旨在构建安全的Al模型。SSl获得了10亿美元的融资,估值达到50亿美元ÿ…...
将AI与情境定位结合以确保品牌安全
你可能会看到一些广告,感觉它们跟你在线阅读或观看的内容有奇怪的关联。这就是上下文广告在起作用。这种基于广告的解决方案在不断变化的数字环境中逐步发展,已经成为每个广告主的必备工具。不过,这种广告不只是把广告和上下文进行匹配这么简…...
OpenAI 联合 SWE 发布 AI 软件工程能力测试集,Gru.ai 荣登榜首
在 9 月 3 日,Gru.ai 在 SWE-Bench-Verified 评估最新发布的数据中以 45.2% 的高分排名第一。SWE-Bench-Verified 是 OpenAI 联合 SWE 发布测试集,旨在更可靠的评估 AI 解决实际软件问题的能力。该测试集经由人工验证打标,被认为是评估 AI 软…...
一文读懂SpringMVC的工作原理
前言 MVC是经典的软件架构设计模式,几乎在各个领域各种开发语言中,均采纳了这个思想。此刻博主突然想到了Thinking in xxx系列设计书籍。换句话说,就是“各人自扫门前雪”和“术业有专攻”。当职责分配得当后,剩下的就是发挥各“…...
【python-斐波那契数列和完美数之间的区别】
斐波那契数列和完美数在数学领域中是两个截然不同的概念,它们之间存在明显的区别。以下是对这两个概念及其区别的详细阐述: 斐波那契数列 定义: 斐波那契数列,又称黄金分割数列,是一个在数学上具有重要意义的数列。它…...
【redis】本地windows五分钟快速安装redis
用处:本地自测,有时候公司redis环境不稳定,用自己的 1.下载,github下载一个解压缩在自己想要的位置 选择版本:Redis-7.4.0-Windows-x64-msys2-with-Service,zip GitHub - redis-windows/redis-windows: …...
arm64高速缓存基础知识
高速缓存的替换策略 随机法:随机地确定替换的高速缓存行,由一个随机数产生器产生随机数来确认替换行 FIFO法:选择最先调入的高速缓存行进行替换 LRU法:最少使用的行优先替换。 高速缓存的共享属性 内部共享的高速缓存通常指的…...
物管王 物业管理系统软件
物管王 物业收费管理系统软件 网络版...
YOLOv10改进:CA注意力机制【注意力系列篇】(附详细的修改步骤,以及代码,目标检测效果优于SE和CBAM注意力)
YOLOv10改进:CA注意力机制【注意力系列篇】(附详细的修改步骤,以及代码) 如果实验环境尚未搭建成功,可以参考这篇文章 ->【YOLOv10超详细环境搭建以及模型训练(GPU版本)】 文章链接为&…...
使用go语言获取海南七星彩历史开奖记录并打印输出
效果如下 : 1.引用json与http模块 import ("encoding/json""fmt""github.com/nahid/gohttp" ) 2.创建请求: req := gohttp.NewRequest()resp, err := req.Get("这里填写请求地址")if err != nil {panic(err)} 3.处理响应结果 : if…...
使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统
引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创…...
记录ssl epoll的tcp socket服务端在客户端断开时崩溃的问题
文章目录 当客户端关闭后,Epoll 的 TCP socket 服务端会收到两次断开事件可能有以下原因及解决方法:原因分析解决方法 问题ssl socket服务端代码出错现象第一次尝试修改正确改法附上客户端代码 记录ssl epoll的tcp socket服务端在客户端断开时接收到多次…...
ubuntu任何版本 卡死 解决办法
首先,我们一定要记得ubuntu一定不要强制关机,一定,一定 因为90% 的可能你的电脑从此就会黑屏开不了机了,然后你就可以按照我的方法去卸载,重装ubuntu系统了。/(ㄒoㄒ)/~~ (如果能解决您的问题,…...
如何高效使用NHSE:动物森友会存档编辑器的完整专业指南
如何高效使用NHSE:动物森友会存档编辑器的完整专业指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 你是否厌倦了在《集合啦!动物森友会》中花费数百小时收集稀有物品&a…...
Zotero PDF Translate:打破语言壁垒,让外文文献阅读变得前所未有的简单
Zotero PDF Translate:打破语言壁垒,让外文文献阅读变得前所未有的简单 【免费下载链接】zotero-pdf-translate Translate PDF, EPub, webpage, metadata, annotations, notes to the target language. Support 20 translate services. 项目地址: http…...
UABEA深度指南:Unity AssetBundle资源提取与序列化层逆向分析
1. 为什么Unity开发者总在“找资源”上浪费半天——UABEA不是万能钥匙,但它是你最该先摸清的那把 Unity项目交付后,美术资源、音频片段、UI图集、甚至脚本逻辑,常常被打包进AssetBundle(.unity3d)、Resources文件夹或更…...
Postman并发测试真相:不是高并发工具,而是缺陷暴露加速器
1. 为什么“并发测试”不是点几下就能出结果的幻觉?很多人第一次打开 Postman 的 Collection Runner,看到“Iterations”和“Delay”两个输入框,心里就默认:“填个100,点Run,不就模拟100个用户同时访问了吗…...
GHelper终极指南:像调音师一样掌控你的ROG笔记本散热系统
GHelper终极指南:像调音师一样掌控你的ROG笔记本散热系统 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook,…...
DVWA靶场实战避坑指南:Docker环境搭建与四层安全等级解析
1. 这不是“又一个DVWA教程”,而是一份能让你在真实渗透测试中少走三周弯路的靶场操作手册很多人第一次接触渗透测试,打开浏览器输入http://192.168.1.10/dvwa,看到那个灰扑扑的登录页,就以为自己已经站在了红队门口。结果刚点开S…...
AQMLator:AutoML与量子计算融合,自动化量子机器学习模型搜索平台
1. 项目概述:当AutoML遇见量子计算如果你是一名数据科学家或机器学习工程师,最近几年肯定没少和AutoML打交道。从谷歌的AutoML Tables到开源的Auto-Sklearn、TPOT,这些工具让我们从繁琐的调参和模型选择中解放出来,把更多精力放在…...
C#直连Tesseract C++原生API实战指南
1. 为什么C#开发者要绕开NuGet包,直连Tesseract C原生API?“C#也能玩转OCR?”——这句话在.NET生态里常被当成一句调侃。多数人点开Visual Studio,搜tesseract,顺手装个Tesseract或Tesseract.NETNuGet包,写…...
别再乱删文件了!详解CentOS LVM动态调整分区:从理解PV、VG、LV到实战给根目录扩容
深入掌握LVM:从核心概念到实战扩容的完整指南在Linux系统管理中,磁盘空间管理一直是运维工程师的必修课。想象一下这样的场景:你的服务器根分区空间告急,而/home分区却闲置了大量空间,传统的分区方式让你束手无策——这…...
保险精算AutoML实战:超参数优化与集成学习提升模型效率
1. 项目概述:当AutoML遇上保险精算在保险行业干了十几年,我亲眼见证了精算师们从抱着厚重的费率手册和GLM(广义线性模型)公式,到如今开始尝试用Python脚本跑几个机器学习模型。但一个普遍的现象是:很多精算…...
