网站首页 > 技术文章 正文
ARM体系结构是一种基于精简指令集的微处理器架构,它支持多种工作状态和工作模式。工作状态是指处理器执行的指令的长度和对对齐方式,工作模式是指处理器可以访问的硬件资源和特权级别。
根据我的搜索结果,ARM体系结构有以下几种工作状态:
- ARM状态:处理器执行32位的字对对齐的ARM指令;
- Thumb状态:处理器执行16位的、半字对对齐的Thumb指令;
- Thumb-2状态:处理器执行16位或32位的、半字或字对对齐的Thumb-2指令。
在程序运行过程中,可以在两种状态之间进行相应的转换。转换不影响处理器的工作模式和寄存器内容。
ARM体系结构有以下几种工作模式:
- 用户模式:用户程序运行模式,不能直接切换到其他模式;
- 系统模式:运行特权级别操作系统任务,与用户模式类似,但具有可以直接切换到其他模式等特权;
- 一般中断模式:用于处理一般的中断请求,通常在硬件产生中断信号之后自动进入该模式;
- 快速中断模式:用于高速数据传输及通道处理,主要用于快速中断(FIQ);
- 管理模式:提供操作系统使用的一种保护模式,可以通过软中断(SWI)命令进入该模式;
- 中止模式:用于支持虚拟内存或存存储器保护,在ARM7TDMI没有大用处;
- 未定义指令终止(undefined)模式:支持通过软件件仿真硬件协处理器(如FPGA)的软件件仿真。
除了用户、系统、一般中断、快速中断、管理和未定义指令终止外,还有以下几种异常性质:
- 中断异常性质:当硬件产生中断信号时进入该性质;
- 中止异常性质:当用户程序访问非法地址或没有权限读取内存时进入该性质;
- 未定义异常性质:当CPU在译码阶段不能识别某条指令时进入该性质。
猜你喜欢
- 2024-09-23 长文解析|九类交互状态的自查与设计
- 2024-09-23 如何使用Axure做一份高质量的EMS能源管理系统原型?
- 2024-09-23 计算机机箱的结构通常包括以下几个部分: ? 外壳
- 2024-09-23 标准化的响应结构对于C#项目至关重要
- 2024-09-23 产品架构设计之产品实体设计一,二
- 2024-09-23 PostgreSQL技术内幕3:PG逻辑存储层级和物理存储结构
- 2024-09-23 一文彻底搞明白状态模式(什么是状态模式)
- 2024-09-23 09 打造无状态的存储实现随时切库的写入服务
- 2024-09-23 众合科技获得发明专利授权:“基于状态机的冗余架构设备资源管理方法”
- 2024-09-23 mysql索引数据结构(mysql中索引的数据结构)
- 1514℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 571℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 512℃MySQL service启动脚本浅析(r12笔记第59天)
- 486℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 485℃启用MySQL查询缓存(mysql8.0查询缓存)
- 468℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 447℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 445℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (83)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)