博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARM体系结构与内核回顾(三)
阅读量:4572 次
发布时间:2019-06-08

本文共 825 字,大约阅读时间需要 2 分钟。

1.3 核的控制

虽然CPU的主要功能只是执行指令,但是其功能不仅限于执行指令,围绕该核心功能,CPU又有许多其它的特色功能。

指令流的控制自然还是靠指令,分支跳转指令所实现的功能便是控制指令流,另外异常也是一种特殊的指令流控制方式。而CPU其它功能的实现,则需要寄存器的配置。

寄存器是几乎所有硬件与软件之间的接口,软件对硬件的控制的实现,几乎都是通过配置相应寄存器来实现的。CPU自然也不例外。

CPU的正常运行中,所涉及的主要寄存器,主要由核自身的寄存器,即通用寄存器组,以及CP15协处理器寄存器组组成。通用寄存器组只是设计指令执行所必须的地址及数据,而CP15协处理器,则是负责CPU其它功能的控制。例如cache、tcm、mmu(mpu)、security特性等

核自身寄存器,即通用寄存器组,主要用于运行过程中,各种量的临时存储,包括各种变量、地址、运算中间量,以及链接地址(即函数返回地址)、栈顶地址、程序状态字等。

在通用寄存器组中,虽然也可以对CPU的核心功能进行控制,即XPSR寄存器中,可以配置IRQ、FIQ、MMU、CACHE等功能的使能与关闭等,但是这只是最基本的,CPU更多的功能是通过CP15协处理器来实现的,即通过配置CP15寄存器来是想对其它功能的配置。其中不再是对相关功能的使能或关闭,而主要是配置,包括MMU页表的配置,cache的维护操作,CPU性能监控,TCM相关配置等,另外CPU信息的获取也是通过CP15。

除此以外,还有另外一些特殊地址,作为CPU的私有地址。这些地址为CPU的私有外设。例如在ARM11中,存在一个私有外设接口,该接口外接私有timer、ICU等模块,而A9中,其内部timer、gic、scu等模块也是占有一定地址空间。

arm核的基本功能介绍就此结束,以下会详细分析各个部分

转载于:https://www.cnblogs.com/iambobor/p/3763786.html

你可能感兴趣的文章
Python3 的递归
查看>>
jquery判断页面网址是否有效
查看>>
OC 的Runtime 消息转发机制
查看>>
单线程与多线程的简单示例(以Windows服务发短信为示例)
查看>>
Redis在win7上的可视化应用
查看>>
Linq表连接大全(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
查看>>
微信小程序之转发功能(附效果图和源码)
查看>>
成熟法则
查看>>
Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
查看>>
[转]SP 2010: How To – Event Receivers and Custom Error Pages
查看>>
棋牌分布式架构
查看>>
【安卓基础】倒计时按钮封装(验证码倒计时按钮)
查看>>
configparser模块
查看>>
Crack的必备工具(2)
查看>>
SelectQueryBuilder的用法
查看>>
无法启动此程序,因为计算机丢失MSVCP120.dll
查看>>
jQuery EasyUI API 中文文档 - 表单(Form)
查看>>
笔试遇到过的算法题
查看>>
android 强制设置横屏 判断是横屏还是竖屏
查看>>
几种颜色模型的转换公式
查看>>