yaboPP电子
技术文章

什么是微型建筑?了解ARM核心中的处理器和注册文件

2019年2月7日经过斯蒂芬圣迈克尔

了解一个ARM处理器的微架构,包括对寄存器文件的解释和它在处理器中的功能。

了解一个ARM核心的微架构,包括对寄存器文件的解释和它在处理器中的功能。

在本文中,我们将定义什么是微架构。我们还将解释什么是ARM寄存器文件以及它在处理器微架构中的位置。

本文旨在为下一篇文章提供基础信息,在这篇文章中,我们将介绍汇编的基础知识,并展示使用Raspberry Pi编写的32位ARM核心的一些基本汇编指令。

支持信息

什么是微型建筑?

微架构(有时写成“微架构”)是允许执行指令集的数字逻辑。它是寄存器、存储器、算术逻辑单元、多路复用器和任何其他数字逻辑块的组合实现。所有这些加在一起就形成了处理器。

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

ARM注册文件

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

让我们以一个32位ARM内核为例。在本例中,我们将重点讨论32位ARMV7指令和32位寄存器。

32位或四字节,数量对应于ARM指令集中的单词。ARM寄存器文件包含用于执行指令的16个寄存器。状态寄存器还存在存储有关操作结果的信息,并允许处理器根据该结果进行决策。

注册表示

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

  • R0-R3用于存储临时值或变量,但也在子例程调用期间发挥作用。
  • R4-R12是通用目的。
  • R13或SP是堆栈指针。堆栈指针包含一个内存地址,其中程序可以存储稍后需要检索的信息。
  • R14是链接寄存器,用于返回程序中的前一个位置的分支指令。
  • R15,称为PCP.rogram.C计数器,存储要执行的下一条指令的地址。这给了PC一个巨大的责任,因为它控制什么指令在处理器上执行。在电脑中输入错误的值,你的程序可能会突然停止运行;这通常被称为崩溃。

注册标志

CurrentP.rogram.S.tatus.R.前面提到的Egister(CPSR)包含许多可以在指令执行时设置的标志。

这些标志是n,z,c和v标志:

  • N代表N当指令的结果为负时使用并且被使用。
  • Z., 为了Z.当结果为0时设置。
  • C代表Carry并在指令落实时设置。
  • V.代表O.V.erflow并在溢出发生时设置。

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

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

虽然我们不会进入设计ARM处理器的详细信息(可能在未来的文章中),但对于在运行我们的指令的系统中具有寄存器文件的基本思想可能很好。下面的图1是处理器的高度简化框图。

寄存器文件包含处理器的当前状态,ALU和内存与该状态交互。内存被分成部分。一个包含正在执行的指令列表,装配程序;另一个包含程序将使用的数据。所有这些组件以及以绿色突出显示的线路,构成处理器的数据路径。

数据路径包含在正在实施的ISA中执行所有指令所需的一切。但数据路径如何知道哪些操作执行?

图1。高度简化的处理器

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

增加内存,允许CPU与其他组件进行交互,形成我们所说的处理器。


现在我们已经对微体系结构有了基本的了解,在下一篇文章中,我们将介绍用于编程32位ARM核心的基本汇编代码指令。

想看一篇关于处理器架构的文章吗?请在下面的评论中告诉我们。

3评论
  • andyolivares 2019年2月09年,

    知道添加者,寄存器等的基本逻辑组件如何形成更复杂的结构,如ALU或控制单元。

    即使我在大学ee课上学过大量的计算机架构,我从未有机会实际设计一个简单的处理器。

    也许是关于使用Verilog设计基本8位处理器的系列文章?这将终结我多年来的许多疑虑。

    这对于其他Verilog AAC文章来说也是一个很好的实践练习

    喜欢的。 回复
    • 一世
      illiadin 2019年2月15日
      检查此课程HTTPS://www.coursera.org/learn/build-a-computer,它确切地解释了您正在寻找的内容。
      喜欢的。 回复
  • Jakub Standarski 2019年6月22日

    简单,易于理解基本基础。我喜欢这样的文章,对这个处理器,电脑和其他巨大电器的魔法世界的巨大戒律。

    喜欢的。 回复