国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南

這篇具有很好參考價值的文章主要介紹了【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

Perface ARM簡介

ARM處理器無處不在。

移動電話、個人計算機(jī)、電視或汽車。在大約30億元的微處理器總出貨量中,x86架構(gòu)占據(jù)一個非常小的位置(但仍然非常有利可圖的)。

ARM歷史

ARM處理器不是一個單一的處理器,而是一個擁有相同指令集和程序員模型的同一處理器家族,并有一定程度的向后兼容性。

第一個ARM的處理器(ARM1)是由Acorn電腦有限公司中Sophie Wilson和Steve Furber領(lǐng)導(dǎo)的小組設(shè)計完成的,并在1985年4月生產(chǎn)了第一款硅片。

ARM1迅速被ARM2取代(其中新增乘法硬件), ARM2被用于實際系統(tǒng)中,包括Acorn的阿基米德個人計算機(jī)。

1990年11月,ARM成立于英國劍橋,作為高級RISC機(jī)器有限公司,它是蘋果電腦、Acorn電腦和VLSI科技公司的合資企業(yè),最初的12名員工主要來自Acorn電腦的團(tuán)隊。

ARM成為一個獨(dú)立的公司的原因之一是處理器已經(jīng)被蘋果電腦用在了牛頓產(chǎn)品中。

新公司迅速決定,他們技術(shù)前進(jìn)的最好方式是注冊他們的知識產(chǎn)權(quán)(IP),而不是他們自己設(shè)計、制造和銷售芯片,他們將出售設(shè)計權(quán)給半導(dǎo)體公司。

出名的戰(zhàn)略,背后有很多有意思的故事。

ARM也注冊了物理IP——單元庫(NAND門、RAM等)、圖形和視頻加速器以及軟件開發(fā)產(chǎn)品,如編譯器、調(diào)試器和開發(fā)板。

片上系統(tǒng)(SoC)

由一個單獨(dú)的公司來生產(chǎn)這種系統(tǒng)的所有部件是越來越罕見的。出于這一點(diǎn),ARM以及其他半導(dǎo)體IP公司設(shè)計和驗證組件(所謂的IP模塊或處理器)。

半導(dǎo)體公司允許在他們自己的設(shè)計使用這些模塊,如微處理器、DSP、3D圖形和視頻控制器及許多其他功能。

半導(dǎo)體公司將這些模塊和特定系統(tǒng)的其他部分集成到芯片上,形成一個系統(tǒng)級芯片(SoC)。為了形成系統(tǒng),這些設(shè)備的構(gòu)造者必須選擇適當(dāng)?shù)奶幚砥?、?nèi)存控制器、片上存儲器、外設(shè)、互連總線和其他邏輯塊(可能包括模擬或射頻部分)。

ASIC(Application Specific Integrated Circuit)這個術(shù)語,這是一種為特定應(yīng)用而設(shè)計的集成電路。一個單獨(dú)的ASIC可能包含一個ARM處理器、內(nèi)存和其他組件。

這跟那些被稱為系統(tǒng)級芯片的設(shè)備顯然有很多相似的地方。SoC通常是指一種具有高集成度的設(shè)備,即在單一的設(shè)備上包括系統(tǒng)的很多部分,可能包括模擬、混合信號或射頻電路。

當(dāng)然,像Linux這樣強(qiáng)大的操作系統(tǒng)需要大量的內(nèi)存空間,不僅僅是在單一的硅器件上運(yùn)行。由于單個設(shè)備不能包含整個系統(tǒng),因此,片上系統(tǒng)的命名未必完全準(zhǔn)確。

拋開硅片面積的問題不談,在通常的情況下,一個系統(tǒng)的許多部分需要專業(yè)的硅制造工藝并避免它們被放置到相同的晶片上。

在一定程度上,SoC概念的擴(kuò)展就是封裝內(nèi)系統(tǒng)(SiP),在一個單一的物理封裝內(nèi)結(jié)合了許多單獨(dú)的芯片,也被廣泛認(rèn)為封裝堆疊。

SoC芯片采用的封裝用于底部(用于連接到PCB)到頂部(包含連接到獨(dú)立的軟件包,可能包含一個閃速存儲器或一個大的SDRAM器件)的連接。

嵌入式系統(tǒng)

嵌入式系統(tǒng)的常規(guī)定義是在一塊計算機(jī)硬件上運(yùn)行軟件以執(zhí)行特定的任務(wù)。例如,電視機(jī)頂盒、智能卡、路由器、磁盤驅(qū)動器、打印機(jī)、汽車發(fā)動機(jī)管理系統(tǒng)、MP3或復(fù)印機(jī)。

與計算機(jī)系統(tǒng)相比,不同之處在于計算機(jī)上具有各種各樣的通用軟件,以及輸入和輸出的設(shè)備,如鍵盤和某種類型的圖形化顯示器。

現(xiàn)在,這種區(qū)分變得越來越模糊,如移動電話,一個基本電話原型可能只能執(zhí)行撥打電話的任務(wù),但現(xiàn)代智能手機(jī)還可以運(yùn)行一個復(fù)雜的操作系統(tǒng),甚至可下載成千上萬的應(yīng)用程序。

嵌入式系統(tǒng)可能包含簡單的8位微處理器,如Intel 8051或PIC微控制器,或者包含一些復(fù)雜的32位或64位處理器,如ARM系列。

系統(tǒng)需要一些RAM和某種形式的非易失性存儲空間來保存系統(tǒng)執(zhí)行的程序,需要一些額外的外圍設(shè)備,對于這些設(shè)備的實際功能(通常包括通用異步收發(fā)器(UART)、中斷控制器、定時器、GPIO控制器)也可能是相當(dāng)復(fù)雜的模塊,如DSP、GPU(圖形處理器)或DMA控制器。

在嵌入式系統(tǒng)上運(yùn)行的軟件通常分為兩個獨(dú)立的部分:操作系統(tǒng)(OS)和在OS上運(yùn)行的應(yīng)用程序。

大量投入使用的操作系統(tǒng),從簡單的內(nèi)核、復(fù)雜的實時操作系統(tǒng)(RTOS),到全功能的、存在于電腦上的復(fù)雜操作系統(tǒng)。

由于嵌入式系統(tǒng)上很多限制存在,與通用PC的編程相比,嵌入式系統(tǒng)的編程可能會面臨更多的挑戰(zhàn)。

  • (1)內(nèi)存占用。在許多系統(tǒng)中,為了最大限度地降低成本,內(nèi)存的大小是被限制的。程序員可能會被迫考慮程序的規(guī)模,以及在程序運(yùn)行時如何減少對內(nèi)存的使用。
  • (2)實時性。某些系統(tǒng)的特點(diǎn)是對外部事件的響應(yīng)有一定的時間限制。這可能是“硬性”的要求(如汽車制動系統(tǒng)必須在一定時間內(nèi)響應(yīng))或“軟性”的要求(如音頻處理必須某個時間幀下完成,以避免糟糕的用戶體驗,不能滿足則可能導(dǎo)致這個系統(tǒng)不值錢)。
  • (3)功率。許多嵌入式系統(tǒng)中的電源都是電池,程序員和硬件設(shè)計師必須最大限度地減少對系統(tǒng)的能源使用。這是可以做到的,例如通過減慢時鐘、減少供應(yīng)電壓或在沒有工作的時候關(guān)閉處理器。
  • (4)成本。成本可能是一個系統(tǒng)設(shè)計的最大約束點(diǎn)。
  • (5)上市時間。在競爭激烈的市場中,開發(fā)一個產(chǎn)品所用的時間是影響該產(chǎn)品的成功的一個重要因素。

ARM體系結(jié)構(gòu)和處理器

RM本身并不生產(chǎn)硅器件。相反地,ARM創(chuàng)建微處理器設(shè)計,并授權(quán)給半導(dǎo)體公司和原始設(shè)備制造商(OEM),由原始設(shè)備制造商把微處理器集成到片上系統(tǒng)設(shè)備上。

為確保實施上的兼容,ARM定義的體系結(jié)構(gòu)規(guī)范中明確了合格產(chǎn)品的行為。ARM體系結(jié)構(gòu)中處理器的實現(xiàn)符合一個特定版本的體系結(jié)構(gòu),不同的處理器可能會有不同的內(nèi)部實現(xiàn)和微架構(gòu),但不同的周期時間和時鐘速度都符合同一版本的體系結(jié)構(gòu)。

  • (1)體系結(jié)構(gòu)。

定義了常見的一組或一系列的處理器設(shè)計行為,也在ARM體系結(jié)構(gòu)參考手冊(ARM ARM)中定義,包括指令集、寄存器、異常處理和其他編程模塊功能。該體系結(jié)構(gòu)定義的是程序員可見的行為,例如,哪個寄存器可用以及單獨(dú)的匯編語言指令能完成的功能。

  • (2)微體系結(jié)構(gòu)。

定義了體系結(jié)構(gòu)的可見行為是如何執(zhí)行的,如流水線級數(shù);還會有一些程序員可見的效果**,如執(zhí)行特定的指令要多久、停頓周期后的結(jié)果。**

  • (3)處理器。

一個處理器是一個微體系結(jié)構(gòu)的具體實現(xiàn),一個處理器可能會被授權(quán)給多個公司制造生產(chǎn),因此**,它可能已被集成到各種各樣的設(shè)備和系統(tǒng)上,同時也有與之相應(yīng)的存儲器映射、外圍設(shè)備和其他執(zhí)行特定功能的模塊**。處理器都在技術(shù)參考手冊中介紹,這些手冊可在ARM網(wǎng)站上找到。

  • (4)核心。

我們使用這個詞來描述一個多核處理器的一個單獨(dú)的邏輯執(zhí)行單元。

  • (5)SoC。

一個片上系統(tǒng)包含一個或多個處理器,同時也包含存儲器和外設(shè),該設(shè)備可能包含一個或多個額外的處理器、存儲器和外設(shè)系統(tǒng)的一部分。針對這些系統(tǒng),一般都由獨(dú)立SoC或平臺的供應(yīng)商的文檔提供詳細(xì)介紹。

體系結(jié)構(gòu)的版本

ARM會定期發(fā)布體系結(jié)構(gòu)新的版本,在現(xiàn)有功能的基礎(chǔ)上新增新的功能或更新。這種更新通常是向后兼容的,這意味著運(yùn)行在舊版本的用戶編碼在新版本上仍可以正確運(yùn)行。

當(dāng)然,利用新功能編寫的代碼就不一定能在舊的處理器上運(yùn)行了,因為舊處理器通常缺少這個功能模塊。

在所有版本的體系結(jié)構(gòu)中,一些系統(tǒng)特性和行為留給具體實現(xiàn)來定義。例如,體系結(jié)構(gòu)不定義高速緩存的大小、指令周期的時序,這是由具體實現(xiàn)的處理器和SoC決定的。

**每個體系結(jié)構(gòu)的版本都定義了可選的擴(kuò)展。**在處理器的具體實現(xiàn)中,這些擴(kuò)展可能并沒有被實現(xiàn)。例如,在ARMv7的體系結(jié)構(gòu)中,高級SIMD(NEON)技術(shù)就是一個可選擴(kuò)展。

**ARMv7體系結(jié)構(gòu)還具有配置屬性的概念。針對處理器的不同市場和用途,產(chǎn)生了這些體系結(jié)構(gòu)的變種。**簡介如下。

  • (1)A:應(yīng)用程序配置系列,定義了一種針對高性能處理器的體系結(jié)構(gòu),它支持使用內(nèi)存管理單元(MMU)的虛擬內(nèi)存系統(tǒng),能夠運(yùn)行復(fù)雜的操作系統(tǒng),同時支持ARM和Thumb指令集。
  • (2)R:實時配置系列,定義了一種系統(tǒng)的實時結(jié)構(gòu),這種結(jié)構(gòu)需要確定的時序和較低的中斷響應(yīng)延遲,不需要對虛擬內(nèi)存系統(tǒng)和MMU的支持,而是使用一個簡單的內(nèi)存保護(hù)單元(MPU)。
  • (3)M:微控制器的配置系列,定義了一種低成本和低性能系統(tǒng)的體系結(jié)構(gòu),其中低延遲的中斷處理是非常重要的。相比其他配置系列,它使用了一個不同的異常處理模型,并只支持一種Thumb指令集的變體。

這里就不展開了,因為基本上都是基于V8了。

體系結(jié)構(gòu)的歷史與擴(kuò)展

從20世紀(jì)80年代中期的第一款測試硅片到20世紀(jì)90年代初的第一個ARM6和ARM7設(shè)備,ARM體系結(jié)構(gòu)的變化相對較小。

  • 在第1版本的體系結(jié)構(gòu)中,ARM1實現(xiàn)了大部分異常模式的加載、存儲和算術(shù)運(yùn)算,以及寄存器組。

  • 第2版本增加了乘法和乘法累加指令,以及對協(xié)處理器的支持,再加上一些進(jìn)一步的創(chuàng)新。這些早期的處理器只支持26位的地址空間。

  • 第3版本的體系結(jié)構(gòu)分離了程序指針寄存器和程序狀態(tài)寄存器,并增加了一些新的模式來支持32位的地址空間。

  • 第4版本增加了對半字的加載和存儲操作以及一個額外的內(nèi)核級特權(quán)模式。

  • ARMv4T體系結(jié)構(gòu)推出的Thumb(16位)指令集已經(jīng)在ARM7TDMI?和ARM9TDMI?的處理器上應(yīng)用,并已出貨數(shù)十億美元的產(chǎn)品。

  • ARMv5TE體系結(jié)構(gòu)添加改進(jìn)了DSP類型操作和飽和算術(shù)和ARM/Thumb互相配合。

  • ARMv6的提出了一些增強(qiáng)功能,如支持未對齊的內(nèi)存訪問,對存儲器結(jié)構(gòu)的重要改變和對多處理器的支持,再加上對32位寄存器內(nèi)字節(jié)或半字的SIMD操作的支持,它還提供了許多可選的擴(kuò)展,主要是Thumb-2和安全擴(kuò)展(TrustZone)。Thumb-2將Thumb擴(kuò)展到混合長度(16位和32位)的指令集。

  • ARMv7-A體系結(jié)構(gòu)對Thumb-2進(jìn)行強(qiáng)制性擴(kuò)展,并增加了高級SIMD擴(kuò)展(NEON)。

  • 數(shù)年以來,ARM在ARM9中采用了連續(xù)編號處理器系統(tǒng),

  • ARM9是從ARM8發(fā)展來的,ARM8又是繼ARM7而來的。

在整個ARM家族中,用附加的各種數(shù)字和字母來表示不同的變種。例如,ARM7TDMI處理器用T來表示Thumb,用D表示Debug, M表示快速乘法器,I表示嵌入式ICE。

對于ARMv7體系結(jié)構(gòu),ARM公司采用商標(biāo)Cortex,并補(bǔ)充表明處理器支持哪種配置系列(A、R還是M)。
【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)
圖顯示了不同版本的體系結(jié)構(gòu)如何對應(yīng)于不同的處理器實現(xiàn)。

注意,這個圖不全面,也不包括所有體系結(jié)構(gòu)的版本或處理器實現(xiàn)。

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)


整幾張圖給大家看看:原創(chuàng)見水印

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)

ARM V7與V8的比較:

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)

ARM V7與V8的CPU核:

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)文章來源地址http://www.zghlxwxcb.cn/news/detail-789889.html

以上這些東西再ARM官網(wǎng)都能找到相應(yīng)的圖,到這里咱們有個感性的認(rèn)識即可。

最后在這里,我們將簡要地介紹了一些基本結(jié)構(gòu)單元。

一些基本結(jié)構(gòu)單元

1.DSP乘累加和飽和算術(shù)指令

加入到ARMv5TE體系結(jié)構(gòu)中的這些指令,改善了數(shù)字信號處理和多媒體軟件的能力并由字母E來表示。

這些新的指令提供了許多不同種類的帶符號乘累加、飽和加減、前導(dǎo)零計數(shù),并且在更高版本的體系結(jié)構(gòu)上保留下來。在許多情況下,這使得可以在系統(tǒng)中省掉一個簡單的獨(dú)立DSP。

2.Jazelle

當(dāng)需要節(jié)省電量時,Jazelle DBX(直接字節(jié)碼執(zhí)行)被ARMv5TEJ用來改善執(zhí)行Java代碼的性能,增加內(nèi)存的可用性和即時(JIT)編譯器的改進(jìn),降低處理器的應(yīng)用價值。因此,許多的ARMv7-A處理器不需要硬件加速。

在非常有限的內(nèi)存中提供給系統(tǒng)高性能的Java性能時,Jazelle DBX是最適合的,例如,功能型手機(jī)或低成本的嵌入式應(yīng)用。在當(dāng)今的系統(tǒng)中,它主要是用于向后兼容。

3.Thumb執(zhí)行環(huán)境(ThumbEE)

由于ARMv7-A的引進(jìn)和要求,ThumbEE有時也被稱為Jazelle-RCT(運(yùn)行時編譯目標(biāo))。它涉及對Thumb指令集微小改變,使它能更好地在受控環(huán)境中運(yùn)行而生成代碼(如管理語言中的Java、Dalvik、C#、Python或Perl)。

ThumbEE被用在實時(JIT)或提前(AOT)編譯器中,它可以減少重新編譯的代碼大小。管理代碼的編譯不屬于本書的討論范圍。

4.Thumb-2

在ARMv6T2中引進(jìn)Thumb-2技術(shù),此技術(shù)也是ARMv7所需。該技術(shù)將原來的16位Thumb指令集擴(kuò)展到32位指令集。

16位和32位Thumb指令集的組合實現(xiàn)了原始Thumb指令集的相似代碼密度,但性能類似于32位ARM指令集。由此產(chǎn)生的Thumb指令集提供了幾乎所有的ARM指令集的功能,以及額外的功能。

5.安全擴(kuò)展(TrustZone)

ARMv6K引入的可選安全擴(kuò)展TrustZone已經(jīng)在所有ARM Cortex-A處理器中實現(xiàn)。TrustZone提供了一個獨(dú)立的安全區(qū)域,可以將敏感代碼和數(shù)據(jù)從包含操作系統(tǒng)和應(yīng)用程序的普通區(qū)域分離出來。

因此,安全區(qū)域中的軟件旨在為普通(非安全區(qū)域)提供安全服務(wù)。

6.VFP

在ARMv7之前,VFP的擴(kuò)展被稱為矢量浮點(diǎn)結(jié)構(gòu),并用于矢量運(yùn)算。VFP是一種實現(xiàn)單精度和可選雙精度浮點(diǎn)運(yùn)算的擴(kuò)展,符合ANSI/IEEE標(biāo)準(zhǔn)的浮點(diǎn)運(yùn)算。

7.高級SIMD(NEON)

ARM NEON技術(shù)使得高級單指令多數(shù)據(jù)(SIMD)指令集擁有獨(dú)立的寄存器表(與VFP共享),一些具體實現(xiàn)有單獨(dú)的NEON流水線后端,支持8位、16位、32位和64位整數(shù),以及單精度(32位)浮點(diǎn)數(shù)據(jù),并可以在64位和128位的寄存器上進(jìn)行運(yùn)算。

8.大物理地址擴(kuò)展(LPAE)

LPAE是v7-A體系結(jié)構(gòu)的可選部分,并且在Cortex-A7和Cortex-A15處理器上實現(xiàn),它允許32位處理器由原來通常最大的4 GB訪問空間擴(kuò)展到1 TB的訪問空間,這1 TB是通過把32位虛擬內(nèi)存地址轉(zhuǎn)換成40位物理內(nèi)存地址得來的。

9.虛擬化

ARM處理器的虛擬化擴(kuò)展也是ARMv7-A體系結(jié)構(gòu)文件的可選擴(kuò)展,此擴(kuò)展可支持通過虛擬機(jī)監(jiān)視器(稱為虛擬機(jī)超級管理員)從一個操作系統(tǒng)切換到另一個。

當(dāng)在一個單處理器和多處理器系統(tǒng)中執(zhí)行時,虛擬化擴(kuò)展可支持在一個處理器上運(yùn)行多個虛擬機(jī)。

10.big.LITTLE大小模式

big.LITTLE大小模式處理被引入到ARMv7體系結(jié)構(gòu)中,可解決行業(yè)當(dāng)前的的挑戰(zhàn),即如何創(chuàng)建既有高性能又有極佳節(jié)能效果的片上系統(tǒng)(SoC)以延長電池使用壽命

big.LITTLE采用了高性能的Cortex-A15處理器,再加上一個高效節(jié)能的Cortex-A7處理器,Cortex-A15處理器可被用于繁重的工作量,Cortex-A7處理器可以承擔(dān)移動設(shè)備的大部分工作。

ARM Cortex-A系列處理器架構(gòu)關(guān)鍵點(diǎn)

許多關(guān)鍵點(diǎn)對于Cortex-A系列器件都是相同的。

  • ● 32位RISC處理器,具有16×32位的寄存器和以模式為基礎(chǔ)的寄存器集合;
  • ● 改進(jìn)型哈佛體系結(jié)構(gòu)(獨(dú)立的、指令和數(shù)據(jù)的并發(fā)訪問);
  • ● load/store(加載/存儲)體系結(jié)構(gòu);
  • ● 以Thumb-2技術(shù)為標(biāo)準(zhǔn);
  • ● VFP和NEON的選項,有望成為通用目的應(yīng)用處理器的標(biāo)準(zhǔn)功能;
  • ● 對來自于以前ARM處理器的代碼向后兼容;
  • ● 4GB的虛擬地址空間和最小4 GB的物理地址空間;
  • ● 虛擬地址轉(zhuǎn)換到物理地址的硬件轉(zhuǎn)換表;
  • ● 虛擬頁面大小為4KB、64KB、1MB和16MB,可緩存屬性和存取權(quán)限可以在每個頁面上進(jìn)行單獨(dú)設(shè)置;
  • ● 大端和小端字節(jié)數(shù)據(jù)訪問支持;
  • ● 基本加載/存儲指令的未對齊訪問支持;
  • ● 對稱多處理器SMP支持MPCore?變種,具有L1級別高速緩存的完整數(shù)據(jù);
  • ● 自動緩存和轉(zhuǎn)換后備緩沖器(TLB)維護(hù)傳播提供高效率的SMP操作;
  • ● 物理索引,物理標(biāo)記(PIPT)的數(shù)據(jù)高速緩存。

處理器和路徑

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)
【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)

Cortex-A系列處理器

Cortex- A5處理器

Cortex-A5處理器支持ARMv7-A所有的架構(gòu)功能,包括TrustZone安全擴(kuò)展和NEON媒體處理引擎

它的面積和功耗效率是極高的,但比其他Cortex-A系列處理器的最高性能都低。Cortex-A5處理器有單核和多核版本。

如圖所示的Cortex-A5處理器在某些情況下可以同時執(zhí)行一個非分支跳轉(zhuǎn)指令和緊接著的分支跳轉(zhuǎn)指令,并且包含一個復(fù)雜的分支預(yù)測邏輯,以避免因分支跳轉(zhuǎn)導(dǎo)致流水線被沖刷并重新填充。

NEON和浮點(diǎn)硬件的支持是可選的。Cortex-A5處理器還支持ARM和Thumb指令集以及Jazelle DBX和Jazelle-RCT技術(shù)。

Cortex-A7處理器

Cortex-A7多核處理器是一個高性能,低功耗的處理器,與其他在本書提到的Cortex-A系列處理器完全兼容。單核Cortex-A7處理器框圖如圖所示。

Cortex-A7處理器包含高性能的Cortex-A15處理器的所有功能,包括虛擬化、大的物理地址的擴(kuò)展(LPAE)、NENO和AMBA4 ACE的一致性。Cortex-A7 MPCore處理器具有以下特點(diǎn):

  • ● 改進(jìn)內(nèi)存管理和總線接口;
  • ● LPAE,可尋址高達(dá)1 TB的內(nèi)存;
  • ● 通過AMBA4技術(shù)解決多核處理器集的一致性問題;
  • ● AMBA4緩存一致性互連技術(shù)(CCI)保證在多個Cortex-A7 MPCore處理器之間實現(xiàn)所有的緩存一致性。

Cortex-A8處理器

Cortex-A8處理器是第一個實現(xiàn)ARMv7-A體系結(jié)構(gòu)的處理器。許多不同的處理器都使用它,包括三星S5PC100,德州儀器的OMAP3530和飛思卡爾的i.MX515,擁有很廣泛的應(yīng)用,有些能超過1 GHz的主頻。

與以前的ARM處理器相比,Cortex-A8處理器有更復(fù)雜的微體系結(jié)構(gòu)。

圖是單核Cortex-A8處理器框圖,展示了Cortex-A8處理器的內(nèi)部結(jié)構(gòu),包括路徑。

獨(dú)立的指令和數(shù)據(jù)的一級高速緩存的大小為16KB或32KB,是對集成的統(tǒng)一二級高速緩存的一種補(bǔ)充,二級高速緩存可高達(dá)1MB的大小。一級和二級高速緩存都可為處理器提供128位寬的數(shù)據(jù)接口。

一級數(shù)據(jù)緩存虛擬索引,但物理標(biāo)記,而二級高速緩存的索引和標(biāo)記都使用物理地址。在默認(rèn)情況下,NEON使用的數(shù)據(jù)是不通過L1來緩存的(雖然NEON可以讀寫L1數(shù)據(jù)高速緩存中的數(shù)據(jù))。

Cortex-A9處理器

Cortex-A9 MPCore處理器和Cortex-A9單核處理器提供比Cortex-A5和Cortex-A8處理器更高的性能,支持ARM、Thumb、Thumb-2、TrustZone、Jazelle RCT和DBX等技術(shù)單核Cortex-A9處理器框圖如圖所示。

一級高速緩存系統(tǒng)在硬件上支持1~4個處理器的多核軟件的高速緩存一致性。ARM提供外部的二級高速緩存控制器(L2C-310,以前稱為PL310),支持高達(dá)8MB的高速緩存大小。

該處理器還包含一個集成的中斷控制器,ARM通用中斷控制器(GIC)結(jié)構(gòu)規(guī)范的實現(xiàn),這可以被配置為對多達(dá)224個中斷源的支持。集成Cortex-A9處理器的設(shè)備,有nVidia的雙核Tegra-2、ST的SPEAr1300和TI的OMAP4平臺。

Cortex-A15處理器

Cortex-A15 MPCore處理器是目前ARM處理器中性能最高的(在本書即將完成時,ARM已推出了更新的Cortex-A57),并且與本書中描述的其他ARM處理器的應(yīng)用程序是兼容的。

Cortex-A15 MPCore處理器推出了一些新功能,包括支持完整的硬件虛擬化和大物理地址擴(kuò)展(LPAE),這就可以尋址高達(dá)1 TB的內(nèi)存,其框圖如圖所示。

Cortex-A15 MPCore處理器具有以下特點(diǎn):

  • ● 無序的超標(biāo)量流水線;
  • ● 緊密耦合的低延遲的二級高速緩存(高達(dá)4MB的大小);
  • ● 改進(jìn)的浮點(diǎn)和NEON媒體性能;
  • ● 全硬件虛擬化;
  • ● 尋址高達(dá)1 TB內(nèi)存的大物理地址擴(kuò)展(LPAE);
  • ● 容錯性的糾錯能力和軟件故障恢復(fù);
  • ● 通過AMBA4總線技術(shù)形成了多個相干的多核處理器集;
  • ● AMBA4緩存一致性互連(CCI),允許多個Cortex-A15 MPCore處理器之間的全緩存一致。

高通公司的Scorpion

設(shè)計兼容ARMv7-A指令集結(jié)構(gòu)的處理器的不只有ARM公司。2005年,美國高通公司宣布,在ARM的許可下創(chuàng)建了它自己的實現(xiàn),用了同樣的名稱——Scorpion。

Scorpion處理器是高通公司Snapdragon平臺的一部分,其中包含了上網(wǎng)本、智能手機(jī)或其他移動互聯(lián)網(wǎng)設(shè)備的主要功能。

高通面向公眾提供了較少的信息,盡管它提到了Scorpion與Cortex-A8處理器有很多相似點(diǎn),也是基于ARMv7-A體系結(jié)構(gòu)的實現(xiàn),ARMv7-A——超標(biāo)量和雙發(fā),以及對VFP和NEON(在高通的新聞稿上稱為VeNum媒體處理引擎)的支持。

然而相比之下還是有很多差異的,Scorpion可以在其NEON執(zhí)行中并行處理128位數(shù)據(jù),具有1個13級的加載/存儲流水線和2個整數(shù)流水線,其中一個是10級,只能執(zhí)行簡單的算術(shù)運(yùn)算指令(如加減),而另一種是12級,可以執(zhí)行所有的數(shù)據(jù)處理操作,包括乘法。

Scorpion還有1個23級的floating-point/SIMD的流水線和VFPv3操作流水線。


這點(diǎn)內(nèi)容確實有點(diǎn)老了,現(xiàn)在大多數(shù)都是基于v8的架構(gòu)。但是技術(shù)都是向后兼容的,所以也不用太過糾結(jié)。

【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南,ARM,arm開發(fā)

到了這里,關(guān)于【ARM學(xué)習(xí)】Cortex- A系列程序員學(xué)習(xí)指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 互聯(lián)網(wǎng)最新報告出爐!程序員必看系列!

    近期,CNNIC發(fā)布第50次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》,報告顯示:截至2022年6月,①我國網(wǎng)民規(guī)模為10.51億;②我國網(wǎng)民人均周上網(wǎng)29.5小時;③我國短視頻用戶規(guī)模達(dá)9.62億,網(wǎng)絡(luò)直播用戶規(guī)模達(dá)7.16億;④在線醫(yī)療用戶規(guī)模達(dá)3.00億。 自1997年起,CNNIC(中國互聯(lián)網(wǎng)絡(luò)信息中

    2024年02月12日
    瀏覽(23)
  • 程序員如何實現(xiàn)財富自由系列之:參與加密貨幣交易

    作者:禪與計算機(jī)程序設(shè)計藝術(shù) 近年來,隨著全球數(shù)字貨幣市場的崛起,越來越多的人開始關(guān)注數(shù)字貨幣投機(jī)者的種種行為。對于這類投機(jī)者來說,掌握一些加密貨幣交易的技巧和經(jīng)驗可以幫助他們實現(xiàn)財富自由。本文將會分享一些常用加密貨幣交易平臺的操作指南,讓大家

    2024年02月03日
    瀏覽(18)
  • 程序員面試系列,k8s常見面試題

    原文鏈接 Kubernetes(通常簡稱為K8s)是一個開源的容器編排平臺,用于自動化部署、擴(kuò)展和管理容器化應(yīng)用程序。它最初由谷歌開發(fā),并于2014年捐贈給了云原生計算基金會(CNCF)。Kubernetes 提供了一個強(qiáng)大的容器化應(yīng)用程序管理系統(tǒng),使開發(fā)人員和運(yùn)維團(tuán)隊能夠更輕松地構(gòu)建

    2024年02月06日
    瀏覽(27)
  • 程序員如何實現(xiàn)財富自由系列之:參與區(qū)塊鏈技術(shù)的開發(fā)和投資

    作者:禪與計算機(jī)程序設(shè)計藝術(shù) 隨著各行各業(yè)的人工智能技術(shù)應(yīng)用越來越普及,“區(qū)塊鏈”這個火熱詞匯在近幾年已經(jīng)掀起了一股新的熱潮。 區(qū)塊鏈(Blockchain)是一個分布式數(shù)據(jù)庫,它通過對數(shù)據(jù)進(jìn)行記錄、驗證、存儲、防篡改等方式確保數(shù)據(jù)的真實性、完整性和有效性。

    2024年02月07日
    瀏覽(26)
  • 【黑馬程序員】機(jī)器學(xué)習(xí)

    【黑馬程序員】機(jī)器學(xué)習(xí)

    一、機(jī)器學(xué)習(xí)算法分類 1、監(jiān)督學(xué)習(xí): ? ? ? ? (1)目標(biāo)值是類別:分類問題 ????????????????????????k-近鄰算法、貝葉斯分類、決策樹與隨機(jī)森林、邏輯回歸 ? ? ? ? (2)目標(biāo)值是連續(xù)型的數(shù)據(jù):回歸問題 ????????????????????????線性回歸、嶺回歸

    2024年02月07日
    瀏覽(24)
  • 程序員OKR學(xué)習(xí)法

    程序員OKR學(xué)習(xí)法

    本文原創(chuàng)作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl OKR(Objectives and Key Results)管理法是一種目標(biāo)管理方法,旨在通過制定明確的目標(biāo)和可量化的關(guān)鍵結(jié)果來幫助組織、團(tuán)隊和個人實現(xiàn)其目標(biāo)。以下是OKR管理法的具體步驟: 設(shè)定目標(biāo):首先,確定組織的長期目標(biāo)

    2023年04月08日
    瀏覽(19)
  • 【黑馬程序員】PySpark學(xué)習(xí)

    【黑馬程序員】PySpark學(xué)習(xí)

    定義:Apache Spark是用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一分析引擎 簡單來說,spark是一款分布式的計算框架,用于調(diào)度成百上千的服務(wù)器集群,計算PB、TB乃至EB級別的海量數(shù)據(jù) Spark對Python語言的支持重點(diǎn)體現(xiàn)在Python第三方庫:PySpark上 PySpark是由Spark官方開發(fā)的Python語言第三方庫 Python開發(fā)

    2024年04月17日
    瀏覽(110)
  • 程序員該如何學(xué)習(xí)技術(shù)

    程序員該如何學(xué)習(xí)技術(shù)

    前言 ??學(xué)習(xí)是第一生產(chǎn)力,我從來都是這么認(rèn)為的,人只有只有不斷地學(xué)習(xí)才能意識到自己的缺點(diǎn)和不足,身為程序員,我更認(rèn)為人們應(yīng)當(dāng)抱著終身學(xué)習(xí)的想法實踐下去,這是我所一直踐行且相信的。 ??高處不勝寒,只有站在更高的地方,才能欣賞更多的風(fēng)景,當(dāng)年老

    2024年02月01日
    瀏覽(26)
  • 程序員行業(yè)還是高薪職業(yè)嗎?我來和大家聊聊C++程序員該如何學(xué)習(xí)

    此外,程序員的勞動大多是腦力活動,不需要東奔西跑。這也就意味著,程序員的工作不會對身體健康造成太大的影響。 我們都知道,我們現(xiàn)在的生活水平越來越高科技,越來越先進(jìn)。在這樣的發(fā)展速度下,程序員怎么可能被淘汰呢?所以,別聽網(wǎng)上的瞎說,什么互聯(lián)網(wǎng)紅利

    2024年02月05日
    瀏覽(21)
  • 【小黑送書—第六期】>>AI時代,程序員如何應(yīng)對挑戰(zhàn)——《AI時代系列書籍》

    【小黑送書—第六期】>>AI時代,程序員如何應(yīng)對挑戰(zhàn)——《AI時代系列書籍》

    在AI時代,程序員面臨著新的機(jī)遇和挑戰(zhàn)。為了適應(yīng)這個快速發(fā)展的時代,掌握新技能并采取相應(yīng)的應(yīng)對策略是至關(guān)重要的。 對于辦公人員或程序員來說,利用AI可以提高工作效率 。例如,使用AI助手可以幫助自動化日常的重復(fù)性工作,如郵件篩選、日程安排等。此外,AI還可

    2024年02月05日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包