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、电容、电阻、二极管、三极管

相关推荐
wj3055853787 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
吃好睡好便好7 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
abigriver7 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq8 小时前
windows下nginx的安装
linux·服务器·前端
nashane8 小时前
HarmonyOS 6学习:CapsLock键失效诊断与长截图完整实现指南
学习·华为·harmonyos
星星也在雾里8 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
YYRAN_ZZU8 小时前
Petalinux新建自动脚本启动
linux
charlie1145141919 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup9 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y9 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git