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

相关推荐
一路往蓝-Anbo5 分钟前
【第20期】延时的艺术:HAL_Delay vs vTaskDelay
c语言·数据结构·stm32·单片机·嵌入式硬件
数据皮皮侠6 分钟前
2m气温数据集(1940-2024)
大数据·数据库·人工智能·制造·微信开放平台
QT 小鲜肉13 分钟前
【Linux命令大全】001.文件管理之mmove命令(实操篇)
linux·服务器·前端·chrome·笔记
Winner130019 分钟前
查看rk3566摄像头设备、能力、支持格式
linux·网络·人工智能
MaximusCoder26 分钟前
Linux信息收集Command
运维·服务器·经验分享
Psycho_MrZhang28 分钟前
Redis 设计思想总结
数据库·redis·缓存
QT 小鲜肉1 小时前
【Linux命令大全】001.文件管理之mdel命令(实操篇)
linux·运维·服务器·chrome·笔记
杰米不放弃1 小时前
AI大模型应用开发学习-26【20251227】
人工智能·学习
就不掉头发1 小时前
I/O复用
运维·服务器·c语言·开发语言
大聪明-PLUS1 小时前
如何从零开始开发 Linux 驱动程序
linux·嵌入式·arm·smarc