linux 硬件 arm架构

一.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 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。

  • 29
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值