当前位置: 首页 > article >正文

ARM体系结构

内存管理

(多线程) 

栈:局部变量 函数参数 函数返回地址
堆:程序员自己管理的内存区域,使用时需要动态申请, ---- 释放
bss : 初始化为 0 和未初始化的全局及静态变量
        bss段(未手动初始化的数据)并不给该段的数据分配空间,只是记录数据所需空间的大小;
data :初始化不为 0 全局及静态变量
        data段(已手动初始化的数据)则为数据分配空间,数据保存在目标文件中;
(全局变量初始化不为0会增加代码所占空间)
bss和data段整个区段被称为数据区

ARM处理器

 

 RAM 

 RAM: (random access memory)随机存储器
                --快  掉电数据丢失

SRAM DRAM  SDRAM DDR(n)
静态  动态(电容+晶体管  需要刷新)(时钟)同步  SDRAM 2及以上版本

  ROM

 ROM: (read only memory)  只读存储器

                --慢  掉电数据不丢失

  PROM                     EPROM           EEPROM
    可编程          可擦除可编程      电子可擦除可编程
(只能写一次) (用光擦除,擦除范围较难控制)   用电擦除     

  Flash

 Flash:闪存

                --快 掉电数据不丢失

线性访问 

                        有专门的地址总线和数据总线(可以像内存一样访问)   

                          norflash : 或非门 可线性访问

                         nandflash : 与非门 不可线性访问

CPU结构 

计算机两大结构 

   计算机结构
       冯诺依曼结构

                数据和指令一起存储

        (速度较哈佛结构慢些,同一时间只能存取一条指令或一条数据)

         哈佛结构

                数据和指令分开存储(下图属于哈佛结构)

        (速度更快,同一时间可以同时存取一条数据和一条指令)

CPU构成

寄存器: R0~R12
PC: 程序计数器, 默认值为 0 , 做自加运算, 实际指向正在运行的下下条指令
LR: 链接寄存器 保存函数的返回地址
SP: 栈指针寄存器, 指向栈顶
       增栈:从低地址向高地址增长
        减栈:从高地址向低地址增长
        满栈:存数据时,栈顶指针先加一再存数据,栈顶指针指向新入栈的数据
        空栈:存数据时,数据先存入栈顶指针指向的空间,再加一,此时栈顶指针指向空
使用满减栈:
        减栈:若数据入栈溢出时 不会溢出到内核区,而是堆区
        满栈:当最后一个数据出栈后,栈顶指针不会越界
CPSR: 运算结果为正、负、进借位、结果为 0 等标志, 中断的使能, 工作状态,工作模式
SPSR: CPSR 的备份
Cache: 缓存
MMU : 内存管理单元 ( 虚拟地址到物理地址的映射 )

   Soc 

                                                                    

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

 总线

数据总线:
地址总线:
控制总线:读写信号等
AHB :高速总线
APB :低速总线

                                         

指令集

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

http://www.kler.cn/a/287547.html

相关文章:

  • vulhub之log4j
  • ZSTD 内存泄漏问题
  • 解决Windows远程桌面 “为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多。请稍后片刻再重试,或与系统管理员或技术支持联系“问题
  • 无线迷踪:陈欣的网络之旅
  • 黑马智慧商城项目学习笔记
  • 三十九、Python(pytest框架-中)
  • Linux——性能调优工具一览
  • c语言中的前向声明
  • 基于深度学习的游客满意度分析与评论分析【情感分析、主题分析】
  • 【java】类的多层继承
  • 四款经典的防泄密软件,企业防泄密必备软件
  • 计算机网络面试真题总结(七)
  • 算法训练营|图论第10天 Bellman_ford:优化算法,判断负权算法,单源有限最短路
  • Mysql——高可用集群部署
  • WHAT - 通过 react-use 源码学习 React(Lifecycles 篇)
  • ThinkPHP数据库链式操作之field
  • 如何从mssql里面导出程序集ASSEMBLY为dll
  • Django框架安全
  • Spring 事务传播和自调用行为
  • SPI驱动学习三(spidev的使用)
  • 数据结构——顺序表和单链表
  • 论文精读-ReMoNet: Recurrent Multi-Output Network for Efficient Video Denoising
  • 如何轻松合并 PDF 文件
  • 27. 如何统计集合中每个元素的出现次数?请使用Map和Stream API举例说明。
  • Pinia 与 Vuex 对比
  • 【Nest 学习笔记】AOP切片编程