10.2 ARM 体系与架构 处理器
一、冯诺依曼结构和哈佛结构的区别
- 存储器结构上:
冯诺依曼:采用单一存储器结构,程序和数据存放在同一个存储器中,通过同一组总线传输指令和数据。
哈佛:具有独立的程序存储器和数据存储器,有独立的指令总线和数据总线,可以同时对程序和数据进行访问。
- 指令执行:
冯诺依曼:需要先取指,再根据指令要求取数据。
哈佛:数据和指令可以同时访问,指令执行更具并行性。
二、什么是 ARM 流水线技术
通过多个功能部件并行工作缩短整体程序执行时间,提高处理器核的效率和吞吐率(单位时间内能够处理的指令或数据的数量)。ARM7 采用三级流水线的冯诺依曼结构,ARM9 采用五级流水线的哈弗结构。增加流水级数目的是为了简化各级流水线逻辑,进一步提高性能。
PC 总是指向第三条指令,PC = 当前程序执行位置 + 8 (取指、译码、执行)因为 RISC 每条指令 4 个字节。
三、ARM 有几种工作模式
1、用户模式(USR)
是用户程序的工作模式,运行在操作系统的用户态,不能切换到其他模式,要想切换到其他模式,只能通过软中断或异常。
2、系统模式(SYS)
是特权模式,与用户模式共用一套寄存器,和用户模式一样都没有 SPSR (已保存程序状态寄存器)
3、一般中断模式(IRQ)
普通中断模式,用于处理一般的中断请求。
4、快速中断模式(FIQ)
用于处理对时间要求比较紧急的中断请求,主要用于高速数据传输及通道处理。块中断有很多自己的专用寄存器(R8~R14),可以避免保存和恢复某些寄存器。
5、管理模式(SVC)
是 CPU 上电后的默认模式,该模式主要用来
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
一名985硕,在25年秋招中斩获多个C++/嵌入式开发Offer。本专栏将分享我的面经,涵盖C/C++、操作系统、计算机网络、ARM体系与架构、Linux应用/驱动开发、Qt、通信协议及开发工具链等核心内容。
