一.ARM:
1.时钟晶振:
在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。
2.系统复位:
这个复位会使整个芯片的所有电路都进行复位。
3.处理器内存:
1. 负责硬盘等硬件上的数据与CPU之间数据交换处理;
2. 缓存系统中的临时数据。
3. 断电后数据丢失。
4.flash:闪存
它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。
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
1.ALU:
算术逻辑单元(Arithmetic&Logic Unit),简称ALU
ALU有2个单元,算术单元(Arithmetic Unit)和逻辑单元(Logic Unit),算术单元负责计算机里的所有数字操作
作用:计算机中负责运算的组件,处理数字/逻辑的最基本单元
算术操作:加法、减法、乘法、除法等。
逻辑操作:AND、OR、NOT、XOR、比较等。
数据转换:如浮点数与整数之间的转换。
ALU通常由一系列的数字逻辑电路组成,如门电路、触发器等。这些电路协同工作,执行复杂的算术和逻辑运算。
寄存器:
寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
用途
- 可将寄存器内的数据执行算术及逻辑运算;
- 存于寄存器内的地址可用来指向内存的某个位置,即寻址;
- 可以用来读写数据到电脑的周边设备。
![](https://i-blog.csdnimg.cn/direct/f0e1c3d6d5104e8ba6321f8ea4e3af8c.png)
满、空栈区别:根据当前指针所在位置是否有东西。
满栈(full stack):栈指针指向最后压入栈的数据,数据入栈时,sp先减一(或加一)再入栈。
空栈(empty stack):栈指针指向下一个将要放入数据的位置,数据入栈时,先入栈sp再减一(或加一)。
增、减栈区别:根据堆栈的生成方向不同。
递增堆栈(ascending stack):堆栈由低地址向高地址生长。
递减堆栈(secending stack):堆栈由高地址向低地址生长。
![](https://i-blog.csdnimg.cn/direct/b988bc9a63064c329e1584dabc93bbce.png)
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中,则可以快速访问。
MMU(Memory Management Unit,内存管理单元)是一种硬件模块,用于在CPU和内存之间实现虚拟内存管理。
其主要功能是将虚拟地址转换为物理地址,同时提供访问权限的控制和缓存管理等功能。
放在整个大系统多核架构里面,每个处理器内置了MMU模块,MMU模块包含了TLB和TWU两个子模块。
![](https://i-blog.csdnimg.cn/direct/42abc808b8f94f0aaab434500ea5e469.png)
![](https://i-blog.csdnimg.cn/direct/8de10582417a43d097696df922bfcd91.png)
传递数据信息。在 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)的信号,传送到周边设备
- 按照 传输数据的方式 划分,可以分为 串行总线 和 并行总线
- 按照 时钟信号是否独立 划分,可以分为 同步总线 和 异步总线
![](https://i-blog.csdnimg.cn/direct/ad8167c9212043c795fe8e780032c062.png)