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

相关推荐
程序员弘羽9 分钟前
Linux进程管理:从基础到实战
linux·运维·服务器
GreatSQL社区11 分钟前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根12 分钟前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql
weixin_4383354014 分钟前
基础知识:mysql-connector-j依赖
数据库·mysql
PanZonghui17 分钟前
Centos项目部署之常用操作命令
linux
JeffersonZU20 分钟前
Linux/Unix进程概念及基本操作(PID、内存布局、虚拟内存、环境变量、fork、exit、wait、exec、system)
linux·c语言·unix·gnu
小明铭同学30 分钟前
MySQL 八股文【持续更新ing】
数据库·mysql
凌辰揽月33 分钟前
Servlet学习
hive·学习·servlet
大熊程序猿34 分钟前
netcore PowerShell 安装-linux
linux·运维
Mr_Xuhhh40 分钟前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构