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
    +关注

    关注

    135

    文章

    9508

    浏览量

    389103
  • 微架构
    +关注

    关注

    0

    文章

    22

    浏览量

    7306
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于E203 NICE协处理器扩展指令

    扩展到某些特定领域可以非常明显地提高能效比。NICE协处理器(Nuclei Instruction Co-unitExtension,蜂鸟内核指令协处理器扩展机制)是一个独立于蜂鸟E203内核
    发表于 10-21 14:35

    Cortex-M0+处理器的HardFault错误介绍

    ARM处理器,如果一个程序产生了错误并且被处理器检测到,就会产生错误异常。Cortex-M0+处理器只有一种异常用以
    的头像 发表于 10-14 10:50 3027次阅读
    Cortex-M0+<b class='flag-5'>处理器</b>的HardFault错误介绍

    石油测井仪器电子舱的“大脑”——高温ARM处理器芯片

    175℃高温ARM处理器芯片是高温电子学的尖端成果,是解锁深部、高温油气资源勘探开发的关键技术之一
    的头像 发表于 07-22 13:09 733次阅读
    石油测井仪器电子舱的“大脑”——高温<b class='flag-5'>ARM</b><b class='flag-5'>处理器</b>芯片

    集成了Arm® Cortex®-M0内核处理器的电容处理器芯片

    ‌电容处理器芯片的工作原理‌主要基于电容传感的原理,通过检测电容的变化来感知物理量的变化。电容传感利用两个导体之间的电容变化来检测各种物理量,如距离、位置、液位和压力等‌。
    的头像 发表于 06-06 10:09 487次阅读
    集成了<b class='flag-5'>Arm</b>® Cortex®-M0<b class='flag-5'>内核</b>微<b class='flag-5'>处理器</b>的电容<b class='flag-5'>处理器</b>芯片

    龙芯处理器支持WINDOWS吗?

    )。 Windows的适配:微软官方仅支持x86/x64和ARM架构的处理器,未推出针对LoongArch或MIPS的Windows版本。 技术限制 指令集不兼容:Windows系统的内核、驱动和应用程序均依赖x86
    发表于 06-05 14:24

    宽带收发IC ADI ADRV9040用户手册文档详解

    宽带收发IC ADI ADRV9040用户手册文档详解
    的头像 发表于 03-25 19:23 1218次阅读
    宽带收发<b class='flag-5'>器</b>IC  ADI ADRV9040用户手<b class='flag-5'>册文</b>档详解

    集成多种Arm内核的超高性能微处理器RZ/G2M数据手册

    软件包由瑞萨电子进行验证并提供。 *附件:集成多种Arm内核的超高性能微处理器RZG2M数据手册.pdf 特性 顶级运算性能:约 23300 DMIPS
    的头像 发表于 03-10 16:37 946次阅读
    集成多种<b class='flag-5'>Arm</b><b class='flag-5'>内核</b>的超高性能微<b class='flag-5'>处理器</b>RZ/G2M数据手册

    处理器超频技巧与注意事项

    随着科技的发展,处理器的性能越来越强大,但有时我们仍希望获得更高的性能。超频是一种提高处理器性能的方法,但需要谨慎操作以避免潜在风险。 超频前的准备 了解处理器规格 :在超频前,
    的头像 发表于 02-07 09:16 1938次阅读

    EE-200:ADSP-TS20x TigerSHARC处理器引导加载程序内核操作

    电子发烧友网站提供《EE-200:ADSP-TS20x TigerSHARC处理器引导加载程序内核操作.pdf》资料免费下载
    发表于 01-15 16:16 0次下载
    EE-200:ADSP-TS20x TigerSHARC<b class='flag-5'>处理器</b>引导加载程序<b class='flag-5'>内核</b>操作

    EE-174:ADSP-TS101S TigerSHARC处理器引导加载程序内核操作

    电子发烧友网站提供《EE-174:ADSP-TS101S TigerSHARC处理器引导加载程序内核操作.pdf》资料免费下载
    发表于 01-15 15:35 0次下载
    EE-174:ADSP-TS101S TigerSHARC<b class='flag-5'>处理器</b>引导加载程序<b class='flag-5'>内核</b>操作

    EE-345:SHARC处理器的启动内核定制和固件可升级性

    电子发烧友网站提供《EE-345:SHARC处理器的启动内核定制和固件可升级性.pdf》资料免费下载
    发表于 01-07 14:14 0次下载
    EE-345:SHARC<b class='flag-5'>处理器</b>的启动<b class='flag-5'>内核</b>定制和固件可升级性

    EE-69:了解和使用SHARC处理器上的链接描述文件

    电子发烧友网站提供《EE-69:了解和使用SHARC处理器上的链接描述文件.pdf》资料免费下载
    发表于 01-06 16:06 0次下载
    EE-69:<b class='flag-5'>了解</b>和使用SHARC<b class='flag-5'>处理器</b>上的链接<b class='flag-5'>器</b>描述<b class='flag-5'>文件</b>

    EE-290:管理SHARC处理器上的内核PLL

    电子发烧友网站提供《EE-290:管理SHARC处理器上的内核PLL.pdf》资料免费下载
    发表于 01-05 09:41 0次下载
    EE-290:管理SHARC<b class='flag-5'>处理器</b>上的<b class='flag-5'>内核</b>PLL

    双向逆变器之ARM内核处理器

    继续原来给大家分享的内容: 双向逆变器之ARM内核处理器 今天用开发板调试了一下工作所需要的波形时序,效果还不错,软件上最终还得用寄存操作,库函数只能做简单的功能,不方便
    的头像 发表于 01-03 09:12 1365次阅读
    双向逆变器之<b class='flag-5'>ARM</b><b class='flag-5'>内核</b><b class='flag-5'>处理器</b>

    强悍的AWS Graviton4处理器及其背后的Arm Neoverse

    电子发烧友网报道(文/吴子鹏)在今年的亚马逊re:Invent 2024大会上,该公司正式对外发布了旗下第四代自研Arm芯片——Graviton4。作为目前最强大的Graviton处理器
    的头像 发表于 12-19 00:04 2944次阅读