0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解ARM内核中的处理器和注册文件

嵌入式星球 2020-10-09 14:54 次阅读

了解ARM内核的微体系结构,包括寄存器文件的说明及其在处理器中的功能。
在本文中,我们将定义什么是微体系结构。我们还将说明什么是ARM寄存器文件以及它在处理器的微体系结构中的位置。
本文旨在为下一篇文章提供基础信息,在本文中,我们将介绍汇编的基础知识,并展示一些使用Raspberry Pi编写的32位ARM内核的基本汇编指令

什么是微架构?


微体系结构(有时写为“微体系结构”)是允许执行指令集的数字逻辑。它是寄存器,存储器,算术逻辑单元,多路复用器和任何其他数字逻辑块的组合实现。所有这些共同构成了处理器。

微体系结构与指令集体系结构(ISA)相结合,构成了系统的整体计算机体系结构。不同的微体系结构可以实现相同的ISA,但是需要在功率效率或执行速度等方面进行权衡。最基本的处理器将包括一个寄存器文件,一个ALU,系统存储器和一个控制单元,该控制单元使处理器可以根据其执行的指令来做出决定。


ARM寄存器文件


要对数据执行操作,需要有一个临时存储该数据的地方。这就是处理器的注册文件的用途。寄存器文件是一堆寄存器,用于存储临时值并对这些值执行操作。在寄存器之外,可以检索数据并将其存储在计算机的内存中。虽然这是一个较慢的操作,但是与可用的相对较少的寄存器相比,可以在内存中存储的内容更多。寄存器文件通常以SRAM的形式出现。

让我们以32位ARM内核为例。在这种情况下,我们将重点介绍32位ARMV7指令和32位寄存器。

32位或4字节的数量对应于ARM指令集中的一个字。ARM寄存器文件包含十六个用于执行指令的寄存器。还存在状态寄存器来存储有关操作结果的信息,并允许处理器根据该结果做出决定。


注册符号


寄存器用字母R和数字表示。

  • R0–R3用于存储临时值或变量,但在子例程调用中也起作用。

  • R4–R12是通用的。

  • R13或SP是堆栈指针。堆栈指针包含一个内存地址,程序可以在该内存中存储以后需要检索的信息。

  • R14是链接寄存器,与分支指令一起使用以返回程序中的上一个位置。

  • R15,称为PC为programÇounter,存储下一个指令的地址被执行。这给PC带来了巨大的责任,因为它可以控制处理器上执行的指令。在PC上输入错误的值,您的程序可能会突然停止运行;这通常称为崩溃。



注册标志

所述 current program status register (CPSR),前面提到的,包含大量的标记,可以是当集的指令执行的。

这些标志是N,Z,C和V标志:

  • N代表负数,并在指令结果为负数时使用。

  • Z,ZERO,当结果为零。

  • C代表carry并且在进位输出被设定的指令结果时。

  • V代表oveRFlow ,发生溢出时被设置。

为了检查这些标志,在编写汇编代码时,某些条件后缀(在后面的文章中讨论)会附加到指令中。


处理器的一部分:数据路径和控制单元


尽管我们不会详细介绍设计ARM处理器的细节(也许在以后的文章中),但最好能基本了解寄存器文件适合运行我们的指令的系统的位置。下面的图1是处理器的高度简化框图。

寄存器文件包含处理器的当前状态,并且ALU和内存与该状态交互。内存分为多个部分。其中包含正在执行的指令列表(汇编程序);另一个保存程序将使用的数据。所有这些组件以及绿色突出显示的行构成了处理器的数据路径。

数据路径包含执行正在实施的ISA中所有指令所需的所有内容。但是数据路径如何知道要执行哪个操作?


图1.高度简化的处理器


数据路径上方是控制单元。控制单元解释在每个指令中找到的操作码(操作码)和条件码,以打开或关闭数据路径内的路由。控制单元使处理器能够根据当前从内存中读取的指令执行不同的操作。控制单元和数据路径共同构成了CPU或中央处理单元。

添加允许CPU与其他组件交互的内存就形成了我们所谓的处理器。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8639

    浏览量

    361641
  • 微架构
    +关注

    关注

    0

    文章

    20

    浏览量

    6997
收藏 人收藏

    评论

    相关推荐

    ARM处理器7种工作模式

    CPSR; 早期的ARM核有状态(ARM或Thumb)切换(通过BX等指令修改CPSR寄存(当前程序状态寄存,存放条件码标志,中断禁止位,当前
    发表于 12-15 10:15

    arm处理器有哪些中断源?arm处理器对异常中断的响应过程

    arm处理器有哪些中断源?arm处理器对异常中断的响应过程  ARM处理器是一种广泛使用的嵌入式
    的头像 发表于 10-19 16:35 800次阅读

    基于ARM内核的嵌入式微处理器

    电子发烧友网站提供《基于ARM内核的嵌入式微处理器.pdf》资料免费下载
    发表于 09-26 09:33 0次下载
    基于<b class='flag-5'>ARM</b><b class='flag-5'>内核</b>的嵌入式微<b class='flag-5'>处理器</b>

    ARMv8-A处理器的裸机引导代码

    熟悉ARM软件开发。 它旨在帮助您编写ARMv8-A处理器的引导代码。 您可以参考本应用笔记的引导代码示例,并为基于ARMv8-A处理器的裸机系统编写自己的引导代码。
    发表于 08-23 06:20

    ARM体系结构、处理器和设备开发文章

    ARM不生产处理器硬件。 相反,ARM创造的微处理器设计被授权给我们的客户,他们将这些设计集成到片上系统(SoC)设备。 为了保证互操作性
    发表于 08-21 07:28

    Arm Cortex-R82处理器技术参考手册

    ®-R82处理器有一到八个核心,每个核心实施一个ARM®V8-R AArch64兼容处理元素(PE)。 在Cortex®-R82处理器的环境
    发表于 08-17 07:45

    ARM922T处理器技术参考手册

    以作为可以嵌入到更复杂的设备的独立核心来提供。独立核心有一个简单的总线接口,允许您设计自己的缓存和周围的内存系统。ARM9TDMI系列微处理器同时支持32位ARM和16位Thumb指
    发表于 08-02 15:44

    32位Mcu——国产32位MCU的处理器内核

    、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。 国产32位MCU多为基于ARM Cortex内核为基础,现在我们以芯海的32位mcu为例,简单介绍下ARM Cortex-M系列中的Cortex-M0
    的头像 发表于 08-02 15:21 1185次阅读
    32位Mcu——国产32位MCU的<b class='flag-5'>处理器</b><b class='flag-5'>内核</b>

    ARM920T处理器技术参考手册

    9TDMI处理器核心是一种哈佛体系结构的设备,使用由Fetch、Decode、Execute、Memory和Write阶段组成的五级流水线实现。它可以作为一个独立的核心提供,可以嵌入到更复杂的设备。独立内核有一个
    发表于 08-02 13:05

    ARM 720T处理器技术参考手册

    ARM720T是一款通用的32位微处理器,具有8KB的高速缓存、扩大的写入缓冲区和内存管理单元(MMU),组合在一个芯片中。ARM720T的CPU是
    发表于 08-02 11:36

    ARM7TDMI (Rev 3)核心处理器产品概述

    ARM7系列包括ARM7TDMI、ARM7TDMI-S、ARM720T和ARM7EJ-S处理器
    发表于 08-02 10:25

    ARM 946E-S可合成处理器技术参考手册

    的缓存处理器,提供完整的高性能处理器子系统,包括: •一个ARM9E-S RISC整数CPU内核,具有:--ARMv5TE 32位指令集,改进了AR
    发表于 08-02 10:17

    ARM966E-S处理器技术参考手册

    些应用,高性能、低系统成本、小芯片尺寸和低功耗都很重要。 ARM966E-S处理器宏单元提供了一个完整的高性能处理器子系统,包括一个ARM
    发表于 08-02 07:46

    了解体系结构 - 介绍 Arm 体系结构

    Arm 架构为处理器内核的设计提供了基础,我们称之为处理元件 (PE)。Arm 架构用于一系列技术,集成到片上系统 (SoC) 设备
    发表于 08-01 14:35

    混合信号世界中的ARM处理器分析

    ARM 处理器有多种类型,了解整个 ARM 处理器系列的最佳方式是按应用对其进行分类。ARM
    的头像 发表于 07-23 17:34 426次阅读
    混合信号世界中的<b class='flag-5'>ARM</b><b class='flag-5'>处理器</b>分析