linux 硬件 arm架构

news2024/9/24 2:35:17

一.ARM:

1.时钟晶振

        在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。

2.系统复位:

        这个复位会使整个芯片的所有电路都进行复位。

3.处理器内存:

        1. 负责硬盘等硬件上的数据与CPU之间数据交换处理;

        2. 缓存系统中的临时数据。

        3. 断电后数据丢失。

4.flash:闪存

        它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。

线性访问: 有专门的地址总线和数据总线(可以像内存一样访问)
norflash : 或非门 可线性访问 是一种随机访问设备,具有专用的地址和数据线(和SRAM类似),以字节的方式进行读写,允许对存储器当中的任何位置进行访问。
nandflash : 与非门 不可线性访问没有专用的地址线,不能直接寻址,是通过一个间接的、类似I/O的接口来发送命令和地址来进行控制的,这就意味着NAND闪存只能够以页的方式进行访问。NOR 主要应用于代码存储介质中,而 NAND 则用于数据存储。

5.RAM: random access memory 随机存储
                 --- 快 掉电数据丢失

        1、SRAM 静态RAM(StaticRAM/SRAM)

        不需要刷新电路,掉电丢失数据,而且一般不是行列地址复用的。
集成度比较低,不适合做容量大的内存,一般是用在处理器的缓存里面。像S3C2440的ARM9处理器里面就有4K的SRAM用来做CPU启动时用的;
SRAM内部采用的是双稳态电路的形式来存储数据;
制造相同容量的SRAM比DRAM的成本高的多;
因此目前SRAM基本上只用于CPU内部的一级缓存以及内置的二级缓存。仅有少量的网络服务器以及路由器上能够使用SRAM。
        2、DRAM 动态RAM(Dynamic RAM/DRAM)

        掉电丢失数据。每隔一段时间就要刷新一次数据,才能保存数据。而且是行列地址复用的,许多都有页模式。DRAM利用MOS管的栅电容上的电荷来存储信息,一旦掉电信息会全部的丢失,由于栅极会漏电,所以每隔一定的时间就需要一个刷新机构给这些栅电容补充电荷,并且每读出一次数据之后也需要补充电荷,这个就叫动态刷新,所以称其为动态随机存储器。由于它只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。SDRAM比它多了一个与CPU时钟同步。
        DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快;
从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的;
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。
        3、DDR RAM(Data-Rate RAM)也称作DDR SDRAM  
DDR(n)

这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
        4、SDRAM(Synchronous DRAM,同步动态随机存储器

即数据的读写需要时钟来同步。
其存储单元不是按线性排列的,是分页的。
DRAM和SDRAM由于实现工艺问题,容量较SRAM大。但是读写速度不如SRAM。
一般的嵌入式产品里面的内存都是用的SDRAM。

6.ROM: read only memory 只读存储
        --- 慢 掉电数据不丢失

PROM(可编程的ROM):PROM是一次性的,早期的产品,现在已经不可能使用了;

EPROM(可擦除可编程ROM):EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器;

EEPROM:EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢;

二.CPU ARM920T

哈佛 数据和指令分开存储
冯诺伊曼 数据和指令一起存储 D-cache和I-cache在一块

1.ALU:

算术逻辑单元(Arithmetic&Logic Unit),简称ALU
        ALU有2个单元,算术单元(Arithmetic Unit)和逻辑单元(Logic Unit),算术单元负责计算机里的所有数字操作
        作用:计算机中负责运算的组件,处理数字/逻辑的最基本单元
        算术操作:加法、减法、乘法、除法等。
        逻辑操作:AND、OR、NOT、XOR、比较等。
        数据转换:如浮点数与整数之间的转换。
        ALU通常由一系列的数字逻辑电路组成,如门电路、触发器等。这些电路协同工作,执行复杂的算术和逻辑运算。

        寄存器:

        寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。

        用途
  • 可将寄存器内的数据执行算术及逻辑运算;
  • 存于寄存器内的地址可用来指向内存的某个位置,即寻址;
  • 可以用来读写数据到电脑的周边设备。
2.PC:R15
        程序计数器, 默认值为0, 做自加运算, 实际指向正在运行的下下条指令 ,PC是有读写限制的
3.LR:R14
        链接寄存器 保存函数的返回地址  。使用BL或BLX时,跳转指令自动把返回地址放入r14中
4.SP:R13
        栈指针寄存器 指向栈顶
增栈
减栈
满栈
空栈
满减栈

满、空栈区别:根据当前指针所在位置是否有东西。

满栈(full stack):栈指针指向最后压入栈的数据,数据入栈时,sp先减一(或加一)再入栈。

空栈(empty stack):栈指针指向下一个将要放入数据的位置,数据入栈时,先入栈sp再减一(或加一)。

 

增、减栈区别:根据堆栈的生成方向不同。

递增堆栈(ascending stack):堆栈由低地址向高地址生长。

递减堆栈(secending stack):堆栈由高地址向低地址生长。

5.CPSR:
         运算结果为正、负、进借位、结果为0等标志, 中断的使能,
        工作状态,工作模式
        程序状态寄存器(current program status register) 用户级编程时用于存储条件码 任何处理器模式下被访问 两种运行状态:ARM状态(32位)、Thumb状态(16位),两种状态之间可任意切换 七种运行模式:usr(用户)、fiq(快速中断)、irq(外部中断)、svc(管理)、sys (系统)、abt(数据访问中止)、und(未定义指令中止)
6.SPSR:
         CPSR的备份
7.Cache:
         缓存

        L1 Cache
        在ARM体系结构中,L1(Level 1)缓存是位于CPU内部的第一级高速缓存,用于存储指令和数据。L1缓存被进一步分为指令缓存(I-Cache)和数据缓存(D-cache),它们分别专门用于存储指令和数据。I-Cache存储CPU执行的指令,而D-cache存储CPU读取和写入的数据。

        I-Cache和D-cache的目的是通过提供更快的数据访问速度来减少对主内存的访问。当处理器核心需要执行指令时,它会首先在I-Cache中查找,如果指令已经缓存在I-Cache中,则可以立即执行。同样,当处理器核心需要读取或写入数据时,它会首先在D-cache中查找,如果数据已经缓存在D-cache中,则可以快速访问。

8.MMU:
        内存管理单元(虚拟地址到物理地址的映射)

        MMU(Memory Management Unit,内存管理单元)是一种硬件模块,用于在CPU和内存之间实现虚拟内存管理。

其主要功能是将虚拟地址转换为物理地址,同时提供访问权限的控制和缓存管理等功能。

放在整个大系统多核架构里面,每个处理器内置了MMU模块,MMU模块包含了TLB和TWU两个子模块。

9.RO是程序中的指令和常量
10: r12 用作子程序间scratch 寄存器,即 ip 寄存器;
三.SOC 处理器
片上系统。从狭义角度讲 , 它是信息
系统核心的芯片集成 , 是将系统关键部件集成在一块芯片上 ; 从广义角度
, SoC 是一个微小型系统 , 如果说中央处理器 (CPU) 是大脑 , 那么 SoC
就是包括大脑、心脏、眼睛和手的系统。
AHB:高速总线
APB:低速总线
数据总线:

        传递数据信息。在 CPU 与 RAM 之间来回传送需要处理或是需要储存的数据
        双向三态形式。既可以把 CPU 的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到 CPU
        数据总线宽度:CPU 中运算器与存储器之间互连的内部总线根数,也指 CPU 一次读取的二进制位数,同时也说明字长

地址总线:

        传送地址信息。用来指定在 RAM(Random Access Memory)之中储存的数据的地址
        单向三态形式。因为地址只能从 CPU 传向外部存储器或 I/O 端口
        地址总线宽度:也叫 地址总线根数,决定了 CPU 可直接寻址的内存空间大小。例如:地址总线宽度为 16,则说明 CPU 最大可寻址的空间大小为:2 16 2 ^ {16}2 
16

控制总线:读写信号等
  • 传送控制信号和时序信号。将微处理器控制单元(Control Unit)的信号,传送到周边设备
  • 按照 传输数据的方式 划分,可以分为 串行总线 和 并行总线
  • 按照 时钟信号是否独立 划分,可以分为 同步总线 和 异步总线
1.CPU:
        中央处理单元
中央处理器 (Central Processing Unit CPU )是
一台计算机的运算核心和控制核心。
  CPU 、内部存储器和输入 / 输出设备是电子计算机
三大核心部件。其功能主要是解释计算机指令以
及处理计算机软件中的数据。 处理器的既然是为了计算,那么存在的基本
功能的部件应该有:
Ø ALU Arithmetic Logical Unit
Ø 寄存器: reg
Ø 状态指示寄存器: PSR
Ø 外部数据访问
2.MCU:
        微控制器 是可编程特殊集成电路。
        51单片机 
3.MPU:
        微处理器  指随着大规模集成电路的出现及其发展,把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机,形成芯片级的芯片。
        intel
区别:MPU只是一个处理器,需要搭配内存等非常多的其他外设才可以构成一个系统。MCU内部有处理器、内存、Flash及其他模块,仅仅需要搭配少量外设就可以构成一个系统。
4.DSP:
        数字信号处理器
 DSP芯片是一种快速强大的微处理器,独特之处在于它能即时处理资料。 DSP 芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,可以用来快速的实现各种数字信号处理算法。
5.FPGA:
        现场可编程门阵列 -- 硬件设计语言
FPGA 就是一个可以通过编程来改变内部结构的芯片
6.RISC:精简指令集
CISC:复杂指令集
RISC-V

        CISC

  计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。

  RISC

  设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2099657.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Valley14.2免授权php跨境电商在线商城

6Valley 14.2 Nulled – 多供应商电子商务 – 完整的电子商务移动应用程序、Web、卖家和管理面板 后台可自定义收款,和翻译多国语言,中文需要自己对比翻译!一般用不到中文。毕竟是跨境电商平台 带商家即时通讯,全套带文档和APP双端…

DReg-NeRF: Deep Registration for Neural Radiance Fields论文解读

目录 一、导言 二、NeRF2NeRF 三、相关工作 1、神经辐射场 2、点云配准 3、NeRF配准 四、DReg-NeRF 1、NeRF神经辐射场查询 2、特征提取 3、transformer 4、Decoder 五、损失函数 一、导言 该论文来自于ICCV2023,主要提到一种DReg-NeRF的配准方法&#…

SQL 数据查询

文章目录 3.4.1 单表查询定义特点单表无条件查询单表带条件查询对查询结果进行排序限制查询结果数量 3.4.2 分组查询定义特点:聚集函数GROUP BY短语HAVING子句分组查询小结 3.4.3 连接查询定义特点:等值连接与非等值连接查询自然连接(内连接&…

全局安装react

1、首先安装react脚手架 npm install -g create-react-app2、创建react项目 create-react-app my-app3、 PS D:\桌面\papers\subject> create-react-app my-react-appCreating a new React app in D:\桌面\papers\subject\my-react-app.Installing packages. This might …

基于vue框架的超市订单管理系统16uob(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:员工,商品分类,商品信息,供货商,入库订单,销售订单,货架信息,盈利信息 开题报告内容 基于Vue框架的超市订单管理系统开题报告 一、研究背景与意义 随着信息技术的飞速发展和电子商务的普及,传统超市管理模式正面临前所未有…

wsl2 安装qt5

sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtcreator -ysudo apt-get install build-essential libfontconfig1 mesa-common-dev -y "qt5-default"从Ubuntu 21.04 存储库中就缺少了该软件包,后续会不会添加暂时未知。 在…

SpringBoot日志使用:Slf4j与Logback

步骤一&#xff1a;引入lombok即可&#xff0c;lombok自带Slf4j注解&#xff08;网上说不用引入api的依赖&#xff0c;若报错可添加&#xff09; <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version&…

数据访问:JPA

文章目录 JPA的由来JPA是什么Spring Data JPA快速上手 JPA的由来 ORM框架能够将Java对象映射到关系型数据库中&#xff0c;能够直接持久化复杂的 Java对象。ORM框架的出现&#xff0c;可以让开发者从数据库编程中解脱出来&#xff0c;把更多的精力放在业务模型与业务逻辑上。目…

Open3D 计算投影的点云的尺寸

目录 一、概述 1.1实现步骤 1.2应用场景 二、代码实现 三、实现效果 3.1原始点云 3.2投影后点云 Open3D点云算法汇总及实战案例汇总的目录地址&#xff1a; Open3D点云算法与点云深度学习案例汇总&#xff08;长期更新&#xff09;-CSDN博客 一、概述 在 Open3D 中&…

electron-vite打包出错

问题&#xff1a;1 electron-vite 安装&#xff0c; 打包下载资源失败&#xff0c;设置国内镜像 由于electron默认打包会从github上下载相关二进制包&#xff0c;众所周知&#xff0c;国内GitHub访问是相当慢的&#xff0c;所以经常会出现下载失败导致打包不成功&#xff0c;…

中兴-ZSRV2路由器-任意文件读取

中兴-ZSRV2路由器-任意文件读取 文章目录 中兴-ZSRV2路由器-任意文件读取免责声明漏洞描述搜索语法漏洞复现修复建议 免责声明 文章中涉及的程序(方法)可能带有攻击性&#xff0c;仅供安全研究与教学之用&#xff0c;读者将其信息做其他用途&#xff0c;由用户承担全部法律及连…

upload-labs闯关攻略

pass-1 提前准备好的一个PHP木马&#xff0c;然后将后缀名改为jpg上传 然后在上传的过程中利用抓包&#xff0c;将抓取到的包里面的后缀jpg改为php如图所示&#xff0c;然后放行 接着我们去访问上传的图片信息&#xff0c;如下图所示就为成功 pass-2 提前准备好的一个PHP木马…

线程池相关知识点

线程池是什么相信大家都是知道的&#xff0c;所以这里就不做解释了&#xff0c;直接看相关知识点吧。 初始化线程池方法 继承ThreadPool 实现Runnable 实现Callable 接口 FutureTask &#xff08;可以拿到返回结果&#xff0c;可以处理异常&#xff09; 核心参数 corePoo…

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-23 VTC视频时序控制器设计

软件版本&#xff1a;VIVADO2021.1 操作系统&#xff1a;WIN10 64bit 硬件平台&#xff1a;适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台&#xff1a;米联客-MLK-H3-CZ08-7100开发板 板卡获取平台&#xff1a;https://milianke.tmall.com/ 登录“米联客”FPGA社区 http…

Javascript LeeCode选题(汉诺塔求解)

LeeCode选题 汉诺塔递归求解move移动函数hanoi函数main方法测试代码&#xff1a;代码实现 汉诺塔递归求解 汉诺塔介绍&#xff1a; 汉诺塔的的图形&#xff08;从上到下1&#xff0c;2&#xff0c;3个&#xff09;实现&#xff1a; 这里我们可以看到因为必须要将第n个移动到…

数据结构与算法 第7天(树和森林)

树 树的存储结构 双亲表示法 找双亲容易&#xff0c;找孩子不容易 孩子链表法 把每个结点的孩子节点排列起来&#xff0c;看成一个线性表&#xff0c;用单链表存 找孩子容易&#xff0c;找双亲难 带双亲孩子链表法 给孩子链表加一个参数&#xff0c;存双亲的下标 孩子兄…

系统思考—盲点

突‮盲破‬点&#xff0c;解‮合锁‬作潜能——JSTO 的‮能高‬碰撞&#xff01; 在今天的JSTO会议中&#xff0c;我们在Check In环‮分节‬享了近1-2周‮实的‬践和反思。这‮环个‬节不仅‮助帮‬大家‮享共‬了更多的‮息信‬和资源&#xff0c;还‮效有‬促进了彼‮间此‬…

jenv 一款macos下的开源JAVA多版本环境安装管理切换工具

一个用于macos/linux下的多版本JAVA环境管理工具 -- jenv, 这款工具和 pyenv 类似,都是基于shell脚本开发的. 可以方便的管理 多个java环境版本. jenv安装 git clone https://gitee.com/tekintian/jenv.git ~/.jenv jenv环境配置 将下面的代码加入都你的 ~/.bash_profil…

堆垛机知识介绍:附图

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件是关于堆垛机的介绍&#xff0c;内容包括堆垛机的概念、分类、工作原理、结构…

Vue(九) 全局事件总线、Todo案例应用全局事件总线、消息订阅与发布、Todo案例应用消息订阅、编辑Item、$nextTick

文章目录 一、全局事件总线 (GlobalEventBus)1. 总线前言2. 安装全局事件总线3. 使用总线事件4. 解绑总线事件 二、Todo案例应用全局事件总线三、消息订阅与发布1. 前言2. 使用步骤 四、Todo案例应用消息订阅五、Todo案例编辑Item六、$nextTick修改后的Todo完整代码 一、全局事…