嵌入式面试高频(微处理器)
微处理器
1 ARM是大端模式还是小端模式?51单片机呢?⭐⭐⭐⭐
小端模式:低的有效字节存储在低的存储器地址。常用的X86结构是小端模式。很多的ARM,DSP都为小端模式。
大端模式:高的有效字节存储在低的存储器地址。KEIL C51则为大端模式。
2 什么是MMU?工作原理是什么?⭐⭐⭐⭐⭐
1 MMU(Memory Management Unit)主要用来管理虚拟内存、物理内存的控制线路,同时也负责虚拟地址映射为物理地址。
如果处理器没有MMU,或者有MMU但没有启用,CPU执行单元发出的内存地址将直接传到芯片引脚上,被内存芯片(以下称为物理内存,以便与虚拟内存区分)接收,这称为物理地址(Physical Address,以下简称PA)
如果处理器启用了MMU(一般是在bootloader中的eboot阶段的进入main()函数的时候启用),CPU执行单元发出的内存地址将被MMU截获,从CPU到MMU的地址称为虚拟地址(Virtual Address,以下简称VA),而MMU将这个地址翻译成另一个地址发到CPU芯片的外部地址引脚上,也就是将VA映射成PA
大多数使用MMU的机器都采用分页机制。虚拟地址空间以页为单位进行划分(对于32位的CPU,通常一页为4k),而相应的物理地址空间也被划分,其使用的单位称为页帧,页帧和页必须保持相同,因为内存与外部存储器之间的传输是以页为单位进行传输的。
2 MMU的作用:一是扩大地址空间,二是内存保护与共享,三是避免内存碎片.
3 什么是TLB?⭐⭐⭐⭐⭐
TLB(Translation Lookaside Buffer),也就是高速后备缓冲区,在TLB中可以存放一部分段表中的内容。当CPU访问内存时,先访问TLB查找访问的内存映射关系是否存放在TLB中。如果在,则从TLB中读取映射关系,否则再去访问内存中的段表,从段表中读取映射关系,并把相应的结果添加到TLB中,更新它的内容。这样CPU下一次又需要该地址映射关系的话,就可以直接从TLB取得。因为TLB的访问速度比内存的访问速度要快得多,如果采取一定的技术,使访问TLB的命中率比较高的话,就可以大大提高访问内存的速度。简单来说,TLB就是映射表的缓存。
4 什么是DSP?⭐⭐⭐⭐
DSP(digital singnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。采用哈佛结构,将程序和数据空间分开,可以同时访问指令和数据;DSP优势在于其有独特乘法器,一个指令就可以完成乘加运算。并且同时访问指令和数据,大大提高效率。
5 DSP和ARM有什么区别?⭐⭐⭐⭐
DSP(Digital Signal Processor)和ARM是两种不同的芯片,其设计和用
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
该专栏面向嵌入式开发工程师、C++开发工程师,包括C语言、C++,操作系统,ARM架构、RTOS、Linux基础、Linux驱动、Linux系统移植、计算机网络、数据结构与算法、数电基础、模电基础、5篇面试题目、HR面试常见问题汇总和嵌入式面试简历模板等文章。超全的嵌入式软件工程师面试题目和高频知识点总结! 另外,专栏分为两个部分,大家可以各取所好,为了有更好的阅读体验,后面会持续更新!!!