ARM————体系结构

1、ARM结构框架

复制代码
RAM:随机存储,存储速度快,掉电数据丢失
    SRAM    静态存储
    DRAM    动态存储
    SDRAM   同步存储
    DDR     双倍速率同步存储

ROM:只读存储,存储速度慢,掉电不丢失数据
    PROM    可编程存储
    EPROM   可擦除编程存储
    EEPROM  可擦除电信号编程存储

FLASH:闪存,存储速度快,掉电数据不丢失
    norflash:或非门,可线性访问
    nandflash:与非门,不可线性访问
    线性访问:有专门的地址总线和数据总线,可以像内存一样访问

时钟:时钟是同步工作系统的同步节拍,时钟的快慢就是我们常说的工作频率,以赫兹(HZ)为单位。

2、CPU-ARM920T(中央处理器)

复制代码
ALU:运算单元
RO--R12:通用寄存器
R13-R15:特殊寄存器,程序计数器PC,链接寄存器LR,栈指针寄存器SP
PC:程序计数器,默认值为0,做自加运算,实际指向正在运行的下下条指令
LR:链接寄存器,保存函数的返回的PC地址
SP:栈指针寄存器,指向栈顶,存储传入函数的PC地址,函数结束时调用(利用满减栈)
    栈分类:满增栈,满减栈,空增栈,空减栈
CPSR:当前程序状态寄存器;运算结果为正、负、进借位、结果为0等标志, 中断的使能,工作状态,工作模式
SPSR:CPSR的备份,防止程序异常崩溃,保存当时程序状态
D-Cache:数据缓存区
I-Cache:指令缓存区
    冯。诺伊曼模型:数据缓存区和指令缓存区在一起,读取慢,占用资源少
    哈佛模型:数据和指令分开存储,读取快,占用资源多
MMU:内存管理单元(虚拟地址到物理地址的映射)

2.1为什么使用LR,SP存储PC地址

程序运行总是由低地址向高地址顺序执行,以PC来进行监控,若其中调用函数则会改变PC的值,若调用一次函数,函数结束后返回PC+1;若多次调用则会进入死循环,需要利用SP栈指针寄存器,存储调用函数前的PC值;使用满减栈,利用栈的特性,先进后出,由高地址到低地址,避免越界风险,可以判断栈是否为空。

2.2缓存与CPU的关系

CPU缓存是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度却比内存要快得多。CPU高速缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾。

3、SOC处理器

复制代码
CPU:中央处理单元
MCU:微控制器  51单片机
MPU:微处理器  intel
DSP:数字信号处理器
FPGA:现场可编程门阵列 --  硬件设计语言

AHB:高速总线
APB:低速总线

数据总线:
    1.定义
    指用来传输数据信息的系统总线
    指用来传输各功能部件之间的数据信息的系统总线
    2. 特性
    是双向传输的
    其位宽与机器字长、存储字长有关,一般为 8 位、16 位或 32 位

地址总线:
    1.定义
    指用来传输地址信息的系统总线
    指用来传输 CPU 想要访问的存储单元或 I/O 设备端口地址的系统总线
    2.特性
    由 CPU 输出地址信息到地址总线上
    单向传输

控制总线:读写信号等
    1.定义:用来传输各种控制信号的系统总线
    2.特性
    对单独的控制线而言,即对某一具体的控制信号来将,是单向传输的
    对控制总线这一总体而言,又可以认为是双向传输的(控制总线由多条控制线组成)
    控制总线会起到监视各部件状态的作用。例如,查询该设备是处于"忙"还是"闲",是否出错等

RISC:精简指令集
CISC:复杂指令集

4、电容、电阻、二极管、三极管

相关推荐
男孩李1 分钟前
linux下如何执行postgres数据库的sql文件
数据库·sql·postgresql
小李独爱秋4 分钟前
计算机网络经典问题透视:在浏览器中应当有几个可选解释程序?
服务器·网络·网络协议·tcp/ip·计算机网络
zwjapple5 分钟前
MySQL SQL 面试核心考点与注意事项总结
数据库·sql·mysql
乐韵天城6 分钟前
SpringBoot中如何手动开启数据库事务
数据库·spring boot
05大叔11 分钟前
Spring Day02
数据库·sql·spring
默默前行的虫虫18 分钟前
nicegui中多次调用数据库操作总结
数据库·python
鸽鸽程序猿24 分钟前
【Redis】事务
数据库·redis·缓存
奕辰杰36 分钟前
Netty私人学习笔记
笔记·学习·netty·网络通信·nio
卜锦元44 分钟前
Golang后端性能优化手册(第三章:代码层面性能优化)
开发语言·数据结构·后端·算法·性能优化·golang
Knight_AL1 小时前
MySQL 分区表应用案例:优化数据管理与性能
数据库·mysql