0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

了解ARM內(nèi)核中的處理器和注冊文件

嵌入式星球 ? 2020-10-09 14:54 ? 次閱讀

了解ARM內(nèi)核的微體系結(jié)構(gòu),包括寄存器文件的說明及其在處理器中的功能。
在本文中,我們將定義什么是微體系結(jié)構(gòu)。我們還將說明什么是ARM寄存器文件以及它在處理器的微體系結(jié)構(gòu)中的位置。
本文旨在為下一篇文章提供基礎(chǔ)信息,在本文中,我們將介紹匯編的基礎(chǔ)知識,并展示一些使用Raspberry Pi編寫的32位ARM內(nèi)核的基本匯編指令

什么是微架構(gòu)?


微體系結(jié)構(gòu)(有時寫為“微體系結(jié)構(gòu)”)是允許執(zhí)行指令集的數(shù)字邏輯。它是寄存器,存儲器,算術(shù)邏輯單元,多路復(fù)用器和任何其他數(shù)字邏輯塊的組合實(shí)現(xiàn)。所有這些共同構(gòu)成了處理器。

微體系結(jié)構(gòu)與指令集體系結(jié)構(gòu)(ISA)相結(jié)合,構(gòu)成了系統(tǒng)的整體計(jì)算機(jī)體系結(jié)構(gòu)。不同的微體系結(jié)構(gòu)可以實(shí)現(xiàn)相同的ISA,但是需要在功率效率或執(zhí)行速度等方面進(jìn)行權(quán)衡。最基本的處理器將包括一個寄存器文件,一個ALU,系統(tǒng)存儲器和一個控制單元,該控制單元使處理器可以根據(jù)其執(zhí)行的指令來做出決定。


ARM寄存器文件


要對數(shù)據(jù)執(zhí)行操作,需要有一個臨時存儲該數(shù)據(jù)的地方。這就是處理器的注冊文件的用途。寄存器文件是一堆寄存器,用于存儲臨時值并對這些值執(zhí)行操作。在寄存器之外,可以檢索數(shù)據(jù)并將其存儲在計(jì)算機(jī)的內(nèi)存中。雖然這是一個較慢的操作,但是與可用的相對較少的寄存器相比,可以在內(nèi)存中存儲的內(nèi)容更多。寄存器文件通常以SRAM的形式出現(xiàn)。

讓我們以32位ARM內(nèi)核為例。在這種情況下,我們將重點(diǎn)介紹32位ARMV7指令和32位寄存器。

32位或4字節(jié)的數(shù)量對應(yīng)于ARM指令集中的一個字。ARM寄存器文件包含十六個用于執(zhí)行指令的寄存器。還存在狀態(tài)寄存器來存儲有關(guān)操作結(jié)果的信息,并允許處理器根據(jù)該結(jié)果做出決定。


注冊符號


寄存器用字母R和數(shù)字表示。

  • R0–R3用于存儲臨時值或變量,但在子例程調(diào)用中也起作用。

  • R4–R12是通用的。

  • R13或SP是堆棧指針。堆棧指針包含一個內(nèi)存地址,程序可以在該內(nèi)存中存儲以后需要檢索的信息。

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

  • R15,稱為PC為program?ounter,存儲下一個指令的地址被執(zhí)行。這給PC帶來了巨大的責(zé)任,因?yàn)樗梢钥刂铺幚砥魃蠄?zhí)行的指令。在PC上輸入錯誤的值,您的程序可能會突然停止運(yùn)行;這通常稱為崩潰。



注冊標(biāo)志

所述 current program status register (CPSR),前面提到的,包含大量的標(biāo)記,可以是當(dāng)集的指令執(zhí)行的。

這些標(biāo)志是N,Z,C和V標(biāo)志:

  • N代表負(fù)數(shù),并在指令結(jié)果為負(fù)數(shù)時使用。

  • Z,ZERO,當(dāng)結(jié)果為零。

  • C代表carry并且在進(jìn)位輸出被設(shè)定的指令結(jié)果時。

  • V代表oveRFlow ,發(fā)生溢出時被設(shè)置。

為了檢查這些標(biāo)志,在編寫匯編代碼時,某些條件后綴(在后面的文章中討論)會附加到指令中。


處理器的一部分:數(shù)據(jù)路徑和控制單元


盡管我們不會詳細(xì)介紹設(shè)計(jì)ARM處理器的細(xì)節(jié)(也許在以后的文章中),但最好能基本了解寄存器文件適合運(yùn)行我們的指令的系統(tǒng)的位置。下面的圖1是處理器的高度簡化框圖。

寄存器文件包含處理器的當(dāng)前狀態(tài),并且ALU和內(nèi)存與該狀態(tài)交互。內(nèi)存分為多個部分。其中包含正在執(zhí)行的指令列表(匯編程序);另一個保存程序?qū)⑹褂玫臄?shù)據(jù)。所有這些組件以及綠色突出顯示的行構(gòu)成了處理器的數(shù)據(jù)路徑。

數(shù)據(jù)路徑包含執(zhí)行正在實(shí)施的ISA中所有指令所需的所有內(nèi)容。但是數(shù)據(jù)路徑如何知道要執(zhí)行哪個操作?


圖1.高度簡化的處理器


數(shù)據(jù)路徑上方是控制單元??刂茊卧忉屧诿總€指令中找到的操作碼(操作碼)和條件碼,以打開或關(guān)閉數(shù)據(jù)路徑內(nèi)的路由。控制單元使處理器能夠根據(jù)當(dāng)前從內(nèi)存中讀取的指令執(zhí)行不同的操作??刂茊卧蛿?shù)據(jù)路徑共同構(gòu)成了CPU或中央處理單元。

添加允許CPU與其他組件交互的內(nèi)存就形成了我們所謂的處理器。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9027

    瀏覽量

    366435
  • 微架構(gòu)
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    7028
收藏 人收藏

    評論

    相關(guān)推薦

    ARM處理器的尋址方式

    ARM處理器的尋址方式是處理器在執(zhí)行指令時,根據(jù)指令給出的地址信息來尋找物理地址的方法。ARM處理器
    的頭像 發(fā)表于 10-05 17:08 ?174次閱讀

    ARM處理器和CPU有什么區(qū)別

    ARM處理器和CPU(中央處理器)之間的關(guān)系及區(qū)別,可以從多個維度進(jìn)行深入探討。首先,需要明確的是,ARM處理器并非一種獨(dú)立的CPU類型,而
    的頭像 發(fā)表于 09-10 11:24 ?833次閱讀

    ARM處理器的工作模式和特點(diǎn)

    ARM處理器具有多種工作模式,這些模式根據(jù)處理器執(zhí)行的任務(wù)和當(dāng)前的狀態(tài)進(jìn)行劃分。常見的ARM處理器工作模式包括用戶模式(User Mode)
    的頭像 發(fā)表于 09-10 11:22 ?743次閱讀

    ARM處理器的指令集包括哪些

    ARM處理器的指令集是一個龐大而復(fù)雜的系統(tǒng),它涵蓋了多種類型的指令,用于實(shí)現(xiàn)數(shù)據(jù)處理、程序控制、內(nèi)存訪問等多種功能。
    的頭像 發(fā)表于 09-10 11:15 ?382次閱讀

    ARM處理器的寄存組織及功能

    ARM處理器的寄存組織是其核心架構(gòu)的重要組成部分,對于理解ARM處理器的運(yùn)行機(jī)制和性能特點(diǎn)具有重要意義。以下是對
    的頭像 發(fā)表于 09-10 11:11 ?867次閱讀

    ARM處理器和CISC處理器的區(qū)別

    ARM處理器和CISC(復(fù)雜指令集計(jì)算機(jī))處理器在多個方面存在顯著的區(qū)別。這些區(qū)別主要體現(xiàn)在架構(gòu)原理、性能與功耗、設(shè)計(jì)目標(biāo)、應(yīng)用領(lǐng)域以及市場生態(tài)等方面。
    的頭像 發(fā)表于 09-10 11:10 ?312次閱讀

    ARM處理器的結(jié)構(gòu)和特點(diǎn)

    ARM處理器,全稱Advanced RISC Machines,是一種基于精簡指令集(RISC)架構(gòu)的微處理器。其結(jié)構(gòu)和特點(diǎn)在嵌入式系統(tǒng)、移動設(shè)備、物聯(lián)網(wǎng)等多個領(lǐng)域具有顯著優(yōu)勢。以下將詳細(xì)闡述
    的頭像 發(fā)表于 09-10 11:09 ?482次閱讀

    ARM處理器概述和發(fā)展歷程

    ARM處理器是一種基于RISC(精簡指令集計(jì)算機(jī))架構(gòu)的高性能微處理器,由英國公司ARM(Advanced RISC Machines)開發(fā)和授權(quán)。它以其低功耗、低成本和高性能的特點(diǎn),
    的頭像 發(fā)表于 09-10 11:07 ?450次閱讀

    什么是ARM處理器?與x86的比較及其優(yōu)缺點(diǎn)

    中央處理器(CPU)被用于我們每天使用的技術(shù),從智能手機(jī)到筆記本電腦再到可穿戴設(shè)備。這些處理器允許這些設(shè)備執(zhí)行指令和任務(wù),以便其執(zhí)行其指定的功能。雖然當(dāng)今使用的設(shè)備中使用了不同類型的處理器
    的頭像 發(fā)表于 06-26 16:49 ?664次閱讀
    什么是<b class='flag-5'>ARM</b><b class='flag-5'>處理器</b>?與x86的比較及其優(yōu)缺點(diǎn)

    dsp是嵌入式微處理器的一種設(shè)備嗎 ARM嵌入式微處理器有何特點(diǎn)?

    的微處理器,它通常具有低功耗、小尺寸和低成本的特點(diǎn)。 ARM嵌入式微處理器是由ARM公司設(shè)計(jì)的一系列低功耗、高性能的嵌入式處理器架構(gòu)。它具有
    的頭像 發(fā)表于 04-21 09:37 ?876次閱讀

    業(yè)界首款基于Arm Cortex-M85處理器的MCU

    所有RA8系列MCU均利用Arm Cortex-M85處理器Arm的Helium技術(shù)所帶來的高性能,結(jié)合矢量/SIMD指令集擴(kuò)展,能夠在數(shù)字信號處理器(DSP)和機(jī)器學(xué)習(xí)(ML)的實(shí)
    發(fā)表于 03-05 14:14 ?585次閱讀
    業(yè)界首款基于<b class='flag-5'>Arm</b> Cortex-M85<b class='flag-5'>處理器</b>的MCU

    鴻蒙輕內(nèi)核源碼分析:MMU 協(xié)處理器

    1、 ARM C15 協(xié)處理器ARM 嵌入式應(yīng)用系統(tǒng), 很多系統(tǒng)控制由 ARM CP15 協(xié)處理
    的頭像 發(fā)表于 02-20 14:28 ?500次閱讀
    鴻蒙輕<b class='flag-5'>內(nèi)核</b>源碼分析:MMU 協(xié)<b class='flag-5'>處理器</b>

    ARM處理器7種工作模式

    CPSR; 早期的ARM核有狀態(tài)(ARM或Thumb)切換(通過BX等指令修改CPSR寄存(當(dāng)前程序狀態(tài)寄存,存放條件碼標(biāo)志,中斷禁止位,當(dāng)前
    發(fā)表于 12-15 10:15

    Arm最新處理器架構(gòu)分析—X4、A720和A520

    上一篇文章我們介紹了Arm的Cortex-X1至Cortex-X3系列處理器,2023年的5月底,Arm如期發(fā)布了新一年的處理器架構(gòu)
    的頭像 發(fā)表于 11-29 11:47 ?4516次閱讀
    <b class='flag-5'>Arm</b>最新<b class='flag-5'>處理器</b>架構(gòu)分析—X4、A720和A520

    芝識課堂【TX03微控制】—強(qiáng)大的Arm? Cortex?-M3內(nèi)核(上)

    是基于Arm Cortex -M3內(nèi)核設(shè)計(jì)的MCU,讓我們先來一起認(rèn)識Arm Cortex -M3處理器的基本功能,方框圖如
    的頭像 發(fā)表于 11-28 17:45 ?1014次閱讀
    芝識課堂【TX03微控制<b class='flag-5'>器</b>】—強(qiáng)大的<b class='flag-5'>Arm</b>? Cortex?-M3<b class='flag-5'>內(nèi)核</b>(上)