一.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。
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通常由一系列的数字逻辑电路组成,如门电路、触发器等。这些电路协同工作,执行复杂的算术和逻辑运算。
寄存器:
寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
用途
- 可将寄存器内的数据执行算术及逻辑运算;
- 存于寄存器内的地址可用来指向内存的某个位置,即寻址;
- 可以用来读写数据到电脑的周边设备。
满、空栈区别:根据当前指针所在位置是否有东西。
满栈(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)的信号,传送到周边设备
- 按照 传输数据的方式 划分,可以分为 串行总线 和 并行总线
- 按照 时钟信号是否独立 划分,可以分为 同步总线 和 异步总线
CISC
计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。
RISC
设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。
标签:架构,SRAM,RAM,arm,指令,linux,DRAM,数据,CPU From: https://blog.csdn.net/mxyzhy/article/details/141829272