当前位置: 首页 > news >正文

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; } 答案速查: 分析&#xff1a; Exercise 2 求下列代码的运行结果 //在x86环境下 //假设结…...

git分支的管理

分支管理是 Git 版本控制系统中的一个核心功能&#xff0c;它涉及如何创建、管理、合并和删除分支&#xff0c;以便在团队协作和开发过程中更有效地组织代码。以下是分支管理中的一些关键概念和实践&#xff1a; 1. 分支的创建 创建新分支&#xff1a;在开发新功能、修复 bug…...

对于消息队列的一些思考

如何保证消息不被重复消费 唯一ID&#xff1a;你提到的通过唯一ID解决重复消费问题非常重要。这通常通过业务系统引入唯一消息ID&#xff08;如UUID&#xff09;来实现。在消费端&#xff0c;先检查消息ID是否已经被处理&#xff0c;未处理过的才进行处理&#xff0c;确保幂等…...

IM即时通讯软件-WorkPlus私有化部署的局域网即时通讯工具

随着企业对通讯安全和数据掌控的需求不断增加&#xff0c;许多企业开始选择私有化部署的即时通讯工具&#xff0c;以在内部局域网环境中实现安全、高效的沟通与协作。IM-WorkPlus作为一款受欢迎的即时通讯软件&#xff0c;提供了私有化部署的选项&#xff0c;使企业能够在自己的…...

AI大模型的饕餮盛宴,系统学习大模型技术,你想要的书都在这里了

AI大模型的饕餮盛宴&#xff0c;系统学习大模型技术&#xff0c;你想要的书都在这里了 要说现在最热门的技术&#xff0c;可谓非大模型莫属&#xff01;不少小伙伴都想要学习大模型技术&#xff0c;转战AI领域&#xff0c;以适应未来的大趋势&#xff0c;寻求更有前景的发展~~…...

支付宝开放平台-开发者社区——AI 日报「9 月 9 日」

1 离开 OpenAl 后&#xff0c;llya 拿了10亿美金对抗 Al 作恶 极窖公园 丨阅读原文 lya Sutskever, OpenAl的前联合创始人&#xff0c;成立了SS1 (Safe Superintelligence)&#xff0c;旨在构建安全的Al模型。SSl获得了10亿美元的融资&#xff0c;估值达到50亿美元&#xff…...

将AI与情境定位结合以确保品牌安全

你可能会看到一些广告&#xff0c;感觉它们跟你在线阅读或观看的内容有奇怪的关联。这就是上下文广告在起作用。这种基于广告的解决方案在不断变化的数字环境中逐步发展&#xff0c;已经成为每个广告主的必备工具。不过&#xff0c;这种广告不只是把广告和上下文进行匹配这么简…...

OpenAI 联合 SWE 发布 AI 软件工程能力测试集,Gru.ai 荣登榜首

在 9 月 3 日&#xff0c;Gru.ai 在 SWE-Bench-Verified 评估最新发布的数据中以 45.2% 的高分排名第一。SWE-Bench-Verified 是 OpenAI 联合 SWE 发布测试集&#xff0c;旨在更可靠的评估 AI 解决实际软件问题的能力。该测试集经由人工验证打标&#xff0c;被认为是评估 AI 软…...

一文读懂SpringMVC的工作原理

前言 MVC是经典的软件架构设计模式&#xff0c;几乎在各个领域各种开发语言中&#xff0c;均采纳了这个思想。此刻博主突然想到了Thinking in xxx系列设计书籍。换句话说&#xff0c;就是“各人自扫门前雪”和“术业有专攻”。当职责分配得当后&#xff0c;剩下的就是发挥各“…...

【python-斐波那契数列和完美数之间的区别】

斐波那契数列和完美数在数学领域中是两个截然不同的概念&#xff0c;它们之间存在明显的区别。以下是对这两个概念及其区别的详细阐述&#xff1a; 斐波那契数列 定义&#xff1a; 斐波那契数列&#xff0c;又称黄金分割数列&#xff0c;是一个在数学上具有重要意义的数列。它…...

【redis】本地windows五分钟快速安装redis

用处&#xff1a;本地自测&#xff0c;有时候公司redis环境不稳定&#xff0c;用自己的 1.下载&#xff0c;github下载一个解压缩在自己想要的位置 选择版本&#xff1a;Redis-7.4.0-Windows-x64-msys2-with-Service&#xff0c;zip GitHub - redis-windows/redis-windows: …...

arm64高速缓存基础知识

高速缓存的替换策略 随机法&#xff1a;随机地确定替换的高速缓存行&#xff0c;由一个随机数产生器产生随机数来确认替换行 FIFO法&#xff1a;选择最先调入的高速缓存行进行替换 LRU法&#xff1a;最少使用的行优先替换。 高速缓存的共享属性 内部共享的高速缓存通常指的…...

物管王 物业管理系统软件

物管王 物业收费管理系统软件 网络版...

YOLOv10改进:CA注意力机制【注意力系列篇】(附详细的修改步骤,以及代码,目标检测效果优于SE和CBAM注意力)

YOLOv10改进&#xff1a;CA注意力机制【注意力系列篇】&#xff08;附详细的修改步骤&#xff0c;以及代码&#xff09; 如果实验环境尚未搭建成功&#xff0c;可以参考这篇文章 ->【YOLOv10超详细环境搭建以及模型训练&#xff08;GPU版本&#xff09;】 文章链接为&…...

使用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和单例模式构建库存管理系统

引言 在企业级应用开发中&#xff0c;数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互&#xff0c;它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外&#xff0c;设计模式如单例模式可以帮助我们更好地管理和控制对象的创…...

记录ssl epoll的tcp socket服务端在客户端断开时崩溃的问题

文章目录 当客户端关闭后&#xff0c;Epoll 的 TCP socket 服务端会收到两次断开事件可能有以下原因及解决方法&#xff1a;原因分析解决方法 问题ssl socket服务端代码出错现象第一次尝试修改正确改法附上客户端代码 记录ssl epoll的tcp socket服务端在客户端断开时接收到多次…...

ubuntu任何版本 卡死 解决办法

首先&#xff0c;我们一定要记得ubuntu一定不要强制关机&#xff0c;一定&#xff0c;一定 因为90% 的可能你的电脑从此就会黑屏开不了机了&#xff0c;然后你就可以按照我的方法去卸载&#xff0c;重装ubuntu系统了。/(ㄒoㄒ)/~~ &#xff08;如果能解决您的问题&#xff0c…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点&#xff1a; 共 6 个字段&#xff1a; Year&#xff08;年&#xff09;Month&#xff08;月&#xff09;Day&#xff08;日&#xff09;Hour&#xff08;小时&#xff09;Minute&#xff08;分钟&#xff09;Second&#xff08;秒&#xff09; 表示…...