當前位置:首頁 » 存儲配置 » arm存儲系統

arm存儲系統

發布時間: 2022-08-07 19:56:12

㈠ ARM 一共有多少種內核,最新的是什麼

1.3.2 ARM內核種類分類
帶有ARM內核的處理器大概有千種以上,這里不做介紹。下面主要對各類ARM處理器的幾個重要內核版本做一個簡要介紹。
1.ARM7處理器
ARM7處理器採用了ARMV4T(馮·諾依曼)體系結構,這種體系結構將程序指令存儲器和數據存儲器合並在一起。主要特點就是程序和數據共用一個存儲空間,程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置,採用單一的地址及數據匯流排,程序指令和數據的寬度相同。這樣,處理器在執行指令時,必須先從存儲器中取出指令進行解碼,再取操作數執行運算。總體來說ARM7體系結構具有三級流水、空間統一的指令與數據Cache、平均功耗為0.6mW/MHz、時鍾速度為66MHz、每條指令平均執行1.9個時鍾周期等特性。其中的ARM710、ARM720和ARM740為內帶Cache的ARM核。ARM7指令集同Thumb指令集擴展組合在一起,可以減少內存容量和系統成本。同時,它還利用嵌入式ICE調試技術來簡化系統設計,並用一個DSP增強擴展來改進性能。ARM7體系結構是小型、快速、低能耗、集成式的RISC內核結構。該產品的典型用途是數字蜂窩電話和硬碟驅動器等,目前主流的ARM7內核是ARM7TDMI、ARM7TDMI-S、ARM7EJ-S、ARM720T。現在市場上用得最多的ARM7處理器有Samsung公司的S3C44BOX與S3C4510處理器、Atmel公司的AT91FR40162系列處理器、Cirrus公司的EP73xx系列等。通常來說前兩三年大部分手機基帶部分的應用處理器基本上都以ARM7為主。還有很多的通信模塊,如CDMA模塊、GPRS模塊和GPS模塊中都含有ARM7處理器。
2.ARM9、ARM9E處理器
ARM9處理器採用ARMV4T(哈佛)體系結構。這種體系結構是一種將程序指令存儲和數據存儲分開的存儲器結構,是一種並行體系結構。其主要特點是程序和數據存儲在不同的存儲空間中,即程序存儲器和數據存儲器。它們是兩個相互獨立的存儲器,每個存儲器獨立編址、獨立訪問。與兩個存儲器相對應的是系統中的4套匯流排,程序的數據匯流排和地址匯流排,數據的數據匯流排和地址匯流排。這種分離的程序匯流排和數據匯流排可允許在一個機器周期內同時獲取指令字和操作數,從而提高了執行速度,使數據的吞吐量提高了一倍。又由於程序和數據存儲器在兩個分開的物理空間中,因而取指和執行能完全重疊。ARM9採用五級流水處理及分離的Cache結構,平均功耗為0.7mW/MHz。時鍾速度為120MHz~200MHz,每條指令平均執行1.5個時鍾周期。與ARM7處理器系列相似,其中的ARM920、ARM940和ARM9E處理器均為含有Cache的CPU核,性能為132MIPS(120MHz時鍾,3.3V供電)或220MIPS(200MHz時鍾)。ARM9處理器同時也配備Thumb指令擴展、調試和Harvard匯流排。在生產工藝相同的情況下,性能是ARM7TDMI處理器的兩倍之多。常用於無線設備、儀器儀表、聯網設備、機頂盒設備、高端列印機及數碼相機應用中。ARM9E內核是在ARM9內核的基礎上增加了緊密耦合存儲器TCM及DSP部分。目前主流的ARM9內核是ARM920T、ARM922T、ARM940。相關的處理器晶元有Samsung公司的S3C2510、Cirrus公司的EP93xx系列等。主流的ARM9E內核是ARM926EJ-S、ARM946E-S、ARM966E-S等。目前市場上常見的PDA,比如說PocketPC中一般都是用ARM9處理器,其中以Samsung公司的S3C2410處理器居多。
3.ARM10E處理器
ARM10E處理器採用ARMVST體系結構,可以分為六級流水處理,採用指令與數據分離的Cache結構,平均功耗1000mW,時鍾速度為300MHz,每條指令平均執行1.2個時鍾周期。ARM10TDMI與所有ARM核在二進制級代碼中兼容,內帶高速32×16 MAC,預留DSP協處理器介面。其中的VFP10(向量浮點單元)為七級流水結構。其中的ARM1020T處理器則是由ARMl0TDMI、32KB指令、數據Caches及MMU部分構成的。其系統時鍾高達300MHz時鍾,指令Cache和數據Cache分別為32KB,數據寬度為64位,能夠支持多種商用操作系統,適用於下一代高性能手持式網際網路設備及數字式消費類應用。主流的ARM10內核是ARM1020E、ARM1022E、ARM1026EJ-S等。
4.SecurCore處理器
SecurCore系列處理器提供了基於高性能的32位RISC技術的安全解決方案,該系列處理器具有體積小、功耗低、代碼密度大和性能高等特點。另外最為特別的就是該系列處理器提供了安全解決方案的支持。採用軟內核技術,以提供最大限度的靈活性,以及防止外部對其進行掃描探測,提供面向智能卡的和低成本的存儲保護單元MPU,可以靈活地集成用戶自己的安全特性和其他的協處理器,目前含有SC100、SC110、SC200、SC210 4種產品。
5.StrongARM處理器
StrongARM處理器採用ARMV4T的五級流水體系結構。目前有SA110、SA1100、SA1110等3個版本。另外Intel公司的基於ARMv5TE體系結構的XScale PXA27x系列處理器,與StrongARM相比增加了I/D Cache,並且加入了部分DSP功能,更適合於移動多媒體應用。目前市場上的大部分智能手機的核心處理器就是XScale系列處理器。
6.ARM11處理器
ARM11處理器系列可以在使用130nm代工廠技術、小至2.2mm2晶元面積和低至0.24mW/MHz的前提下達到高達500MHz的性能表現。ARM11處理器系列以眾多消費產品市場為目標,推出了許多新的技術,包括針對媒體處理的SIMD,用以提高安全性能的TrustZone技術,智能能源管理(IEM),以及需要非常高的、可升級的超過2600 Dhrystone 2.1 MIPS 性能的系統多處理技術。主要的ARM11處理器有ARM1136JF-S、ARM1156T2F-S、ARM1176JZF-S、ARM11 MCORE等多種。
下面對幾個ARM處理器內核做了簡單的介紹。可以注意到,隨著處理器內核技術的發展,處理器的速度越來越快,其主要得益於ARM流水線的技術發展。
這里對各類處理器核的ARM流水線做一下對比,如圖1-1所示。

圖1 1 ARM處理器內核流水線
另外按照市場應用,ARM處理器內核大體可以分成如下表的Embedded Core、Application Core、Secure Core 3個部分,如表1-1所示。
表1 1 ARM處理器分類

處理器內核分類
具體的處理器IP核
應 用 市 場

Embedded Core
ARM7TDMI、ARM946E-S、

ARM926EJ-S
無線、網路應用、汽車電子

Application Core
ARM926EJ-S、ARM1026EJ-S、ARM11
消費類市場、多媒體數碼產品

Secure Core
SC110、SC110、SC200、SC210
智能卡、身份識別

前面描述了ARM處理器的各種體系結構,接下來簡單回顧一下ARM處理器的工作模式及處理器內部的CPU寄存器及異常中斷處理等機制。

㈡ ARM的概念

概述

ARM(Advanced RISC Machines)處理器是Acorn計算機有限公司面向低預算市場設計的第一款RISC微處理器。更早稱作Acorn RISC Machine。
ARM處理器本身是32位設計,但也配備16位指令集。一般來講比等價32位代碼節省達35%,卻能保留32位系統的所有優勢。
ARM的Jazelle技術使Java加速得到比基於軟體的Java虛擬機(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增強的16位和32位算術運算能力,提高了性能和靈活性。ARM還提供兩個前沿特性來輔助帶深嵌入處理器的高集成SoC器件的調試,它們是嵌入式ICE-RT邏輯和嵌入式跟蹤宏核(ETMS)系列。
編輯本段
特點

ARM處理器的三大特點是:耗電少功能強、16位/32位雙指令集和合作夥伴眾多。
1、體積小、低功耗、低成本、高性能;
2、支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;
3、大量使用寄存器,指令執行速度更快;
4、大多數數據操作都在寄存器中完成;
5、定址方式靈活簡單,執行效率高;
6、指令長度固定。
編輯本段
結構

體系結構
1 CISC(ComplexInstructionSetComputer,復雜指令集計算機)
在CISC指令集的各種指令中,大約有20%的指令會被反復使用,占整個程序代碼的80%。而餘下的80%的指令卻不經常使用,在程序設計中只佔20%。
2 RISC(RecedInstructionSetComputer,精簡指令集計算機)
RISC結構優先選取使用頻最高的簡單指令,避免復雜指令;將指令長度固定,指令格式和定址方式種類減少;以控制邏輯為主,不用或少用微碼控制等
RISC體系結構應具有如下特點:
1採用固定長度的指令格式,指令歸整、簡單、基本定址方式有2~3種。
2使用單周期指令,便於流水線操作執行。
3大量使用寄存器,數據處理指令只對寄存器進行操作,只有載入/存儲指令可以訪問存儲器,以提高指令的執行效率。
除此以外,ARM體系結構還採用了一些特別的技術,在保證高性能的前提下盡量縮小晶元的面積,並降低功耗:
4所有的指令都可根據前面的執行結果決定是否被執行,從而提高指令的執行效率。
5可用載入/存儲指令批量傳輸數據,以提高數據的傳輸效率。
6可在一條數據處理指令中同時完成邏輯處理和移位處理。
7在循環處理中使用地址的自動增減來提高運行效率。
寄存器結構
ARM處理器共有37個寄存器,被分為若干個組(BANK),這些寄存器包括:
131個通用寄存器,包括程序計數器(PC指針),均為32位的寄存器。
26個狀態寄存器,用以標識CPU的工作狀態及程序的運行狀態,均為32位,目前只使用了其中的一部分。
指令結構
ARM微處理器的在較新的體系結構中支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長度,Thumb指令為16位長度。Thumb指令集為ARM指令集的功能子集,但與等價的
ARM代碼相比較,可節省30%~40%以上的存儲空間,同時具備32位代碼的所有優點。
編輯本段
ARM處理器模式

處理器模式 說明
用戶模式(usr) ARM處理器正常的程序執行狀態
系統模式(sys) 運行具有特權的操作系統任務
快中斷模式(fiq) 支持高速數據傳輸或通道處理
管理模式(svc) 操作系統保護模式
數據訪問終止模式(abt) 用於虛擬存儲器及存儲器保護
中斷模式(irq) 用於通用的中斷處理
未定義指令終止模式(und) 支持硬體協處理器的軟體模擬
除用戶模式外,其餘6種模式稱為非用戶模式或特權模式;用戶模式和系統模式之外的5種模式稱為異常模式。ARM處理器的運行模式可以通過軟體改變,也可以通過外部中斷或異常處理改變。
編輯本段
體系結構擴充

當前ARM體系結構的擴充包括:
·Thumb 16位指令集,為了改善代碼密度;
·DSP DSP應用的算術運算指令集;
·Jazeller 允許直接執行Java位元組碼。
ARM處理器系列提供的解決方案有:
·無線、消費類電子和圖像應用的開放平台;
·存儲、自動化、工業和網路應用的嵌入式實時系統;
·智能卡和SIM卡的安全應用。
編輯本段
歷史

1978年12月5日,物理學家赫爾曼·豪澤(Hermann Hauser)和工程師Chris Curry,在英國劍橋創辦了CPU公司(Cambridge Processing Unit),主要業務是為當地市場供應電子設備。1979年,CPU公司改名為Acorn計算機公司。
起初,Acorn公司打算使用摩托羅拉公司的16位晶元,但是發現這種晶元太慢也太貴。"一台售價500英鎊的機器,不可能使用價格100英鎊的CPU!"他們轉而向Intel公司索要80286晶元的設計資料,但是遭到拒絕,於是被迫自行研發。
1985年,Roger Wilson和Steve Furber設計了他們自己的第一代32位、6M Hz的處理器, Roger Wilson和Steve Furber[1]用它做出了一台RISC指令集的計算機,簡稱ARM(Acorn RISC Machine)。這就是ARM這個名字的由來。
RISC的全稱是"精簡指令集計算機"(reced instruction set computer),它支持的指令比較簡單,所以功耗小、價格便宜,特別合適移動設備。早期使用ARM晶元的典型設備,就是蘋果公司的牛頓PDA。
20世紀80年代後期,ARM很快開發成Acorn的台式機產品,形成英國的計算機教育基礎。
1990年11月27日,Acorn公司正式改組為ARM計算機公司。蘋果公司出資150萬英鎊,晶元廠商VLSI出資25萬英鎊,Acorn本身則以150萬英鎊的知識產權和12名工程師入股。公司的辦公地點非常簡陋,就是一個谷倉。 20世紀90年代,ARM 32位嵌入式RISC(Reced lnstruction Set Computer)處理器擴展到世界范圍,占據了低功耗、低成本和高性能的嵌入式系統應用領域的領先地位。ARM公司既不生產晶元也不銷售晶元,它只出售晶元技術授權。
編輯本段
市場前景

微軟公司(2011年)宣布,下一版Windows將正式支持ARM處理器。這是計算機工業 arm處理器[2]發展歷史上的一件大事,標識著x86處理器的主導地位發生動搖。目前在移動設備市場,ARM處理器的市場份額超過90%;在伺服器市場,今年(2011年)就會有2.5GHz的伺服器上市;在桌面電腦市場,現在又有了微軟的支持。ARM成為主流,恐怕指日可待。難怪有人驚呼,Intel公司將被擊敗!
與這場轟轟烈烈的變革相比,它的主角ARM公司卻沒有受到太多的關注,顯得不太起眼。這家遠離矽谷、位於劍橋大學的英國公司,到底是怎麼走到今天的,居然能將晶元巨人Intel拉下馬?
展望未來,即使Intel成功地實施了Atom戰略,將x86晶元的功耗和價格大大降低,它與ARM競爭也將非常吃力。因為ARM的商業模式是開放的,任何廠商都可以購買授權,所以未來並不是Intel vs. ARM,而是Intel vs. 世界上所有其他半導體公司。那樣的話,Intel的勝算能有多少呢?

㈢ ARM嵌入式系統,載入和存儲的區別

載入:取指令或數據!
存儲:將運算好的數據放入存儲單元!~

㈣ ARM的意思是什麼

ARM 即Advanced RISC Machines的縮寫,既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。

1985年4月26日,第一個ARM原型在英國劍橋的Acorn計算機有限公司誕生,由美國加州SanJoseVLSI技術公司製造。

20世紀80年代後期,ARM很快開發成Acorn的台式機產品,形成英國的計算機教育基礎。

1990年成立了Advanced RISC Machines Limited(後來簡稱為ARM Limited,ARM公司)。20世紀90年代,ARM 32位嵌入式RISC(Reced lnstruction Set Computer)處理器擴展到世界范圍,占據了低功耗、低成本和高性能的嵌入式系統應用領域的領先地位。ARM公司既不生產晶元也不銷售晶元,它只出售晶元技術授權。

1991 年 ARM 公司成立於英國劍橋,主要出售晶元設計技術的授權。目前,採用 ARM技術知識產權( IP )核的微處理器,即我們通常所說的 ARM 微處理器,已遍及工業控制、消費類電子產品、通信系統、網路系統、無線系統等各類產品市場,基於 ARM 技術的微處理器應用約占據了 32 位 RISC 微處理器 75 %以上的市場份額, ARM 技術正在逐步滲入到我們生活的各個方面。

ARM 公司是專門從事基於 RISC 技術晶元設計開發的公司,作為知識產權供應商,本身不直接從事晶元生產,靠轉讓設計許可由合作公司生產各具特色的晶元,世界各大半導體生產商從ARM公司購買其設計的 ARM 微處理器核,根據各自不同的應用領域,加入適當的外圍電路,從而形成自己的 ARM 微處理器晶元進入市場。目前,全世界有幾十家大的半導體公司都使用 ARM 公司的授權,因此既使得 ARM 技術獲得更多的第三方工具、製造、軟體的支持,又使整個系統成本降低,使產品更容易進入市場被消費者所接受,更具有競爭力。

ARM處理器的三大特點是:耗電少功能強、16位/32位雙指令集和眾多合作夥伴。

ARM商品模式的強大之處在於它在世界范圍有超過100個的合作夥伴(Partners)。ARM 是設計公司,本身不生產晶元。採用轉讓許可證制度,由合作夥伴生產晶元。

當前ARM體系結構的擴充包括:

·Thumb 16位指令集,為了改善代碼密度;

·DSP DSP應用的算術運算指令集;

·Jazeller 允許直接執行Java位元組碼。

ARM處理器系列提供的解決方案有:

·無線、消費類電子和圖像應用的開放平台;

·存儲、自動化、工業和網路應用的嵌入式實時系統;

·智能卡和SIM卡的安全應用。

ARM處理器本身是32位設計,但也配備16位指令集。一般來講存儲器比等價32位代碼節省達35%,然而保留了32位系統的所有優勢。ARM的Jazelle技術使Java加速得到比基於軟體的Java虛擬機(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增強的16位和32位算術運算能力,提高了性能和靈活性。ARM還提供兩個前沿特性來輔助帶深嵌入處理器的高集成SoC器件的調試,它們是嵌入式ICE-RT邏輯和嵌入式跟蹤宏核(ETMS)系列。

當前有5個產品系列——ARM7、ARM9、ARM9E、ARM10和SecurCore。

1、ARM7系列

優化用於對價位和功耗敏感的消費應用的低功耗32位核,有:

·嵌入式ICE-RT邏輯;

·非常低的功耗;

·三段流水線和馮·諾依曼結構,提供0.9MIPS/MHz。

2、SecurCore SC100特為安全市場設計,帶特定的抗拒竄改和反工程的特性。還帶靈活的保護單元確保操作系統和應用數據的安全。

3、ARM9系列

高性能和低功耗領先的硬宏單元,帶有:

·5段流水線;

·哈佛結構提供1.1MIPS/MHz。

ARM920T和ARM922T內置全性能的MMU、指令和數據cache和高速AMBA匯流排介面。AMBA片上匯流排是一個開放標准,已成為SoC構建和IP庫開發的事實標准。AMBA先進的高性能匯流排(AHB)介面現由所有新的ARM核支持,提供開發全綜合設計系統。

ARM940T內置指令和數據cache、保護單元和高速AMBA匯流排介面。

4、ARM9E系列

可綜合處理器,帶有DSP擴充和緊耦合存儲器(TCM)介面,使存儲器以完全的處理器速度運轉,可直接連接到內核上。

ARM966E-S用於矽片尺寸重要,而對cache沒要求的實時嵌入式應用,可配置TCM大小:0、4K、8K、16K,最大達64M。

ARM946E-S內置集成保護單元,提供實時嵌入式操作系統的cache核方案。

ARM926ET-S帶Jazelle擴充、分開的指令和數據高速AHB介面及全性能MMU。

VFP9 向量浮點可綜合協處理器進一步提高ARM9E處理器性能,提供浮點操作的硬體支持。

5、ARM10系列

硬宏單元,帶有:

·64位AHB指令和數據介面;

·6段流水線;

·1.25MIPS/MHz;

·比同等的ARM9器件性能提高50%。

兩種新的先進的節能方式得到了異常低的耗電。VFP10協處理器完善地依從ARM10器件提供高性能的浮點解決方案。

㈤ ARM單片機的程序存儲器在哪…它和其他單片機一樣嘛內部帶有存儲器…

你要看是哪種型號的ARM了,像S3C44B0X、S3C2410、2440等內部是沒有ROM的,只能在片外連接ROM來存儲程序或者OS。還有的ARM片內有ROM,因此把程序或者OS存儲在片內的ROM中。

㈥ 為什麼需要基於arm處理器的存儲伺服器

小型企業通常通過直接連接到他們的個人電腦和伺服器的磁碟驅動器存儲他們的數據,我們稱之為直接附加存儲(DAS)。當一個組織變得足夠大,數據分散在一堆設備中,並可能被設計不佳的網路,密碼和其他訪問控制隱藏,文件共享成為一項挑戰。存儲伺服器演變以滿足這個基本的業務需求。
企業存儲伺服器的銷售有兩大類型 - 存儲區域網路(SAN)和網路附加存儲(NAS)。它們重要的設計特點,都具有一個中心的接觸點到企業網路,以滿足網路上其他伺服器到SAN或NAS的所有的文件請求。我們稱之為「存儲設備」。多年來,存儲設備已經成為全面的伺服器。有些存儲設備被設計來處理數量龐大的文件操作請求。現在,戴爾,惠普和IBM都出售自己品牌的NAS和SAN存儲設備,除了EMC(它在2004年收購了VMware)和NetApp等行業領袖。
因為SAN和NAS存儲設備成為全面的伺服器,它們基於共享的組件構建,包括那些至強核心。但它們其實不同於那些作為伺服器銷售的產品,它們是有自己的設計和功能集的專用產品。
雲計算改變了傳統的公式。對於雲架構師來說,單點訪問就是單點故障。於是,他們開始基於商品伺服器設計了一套新的分布式存儲架構,每個伺服器有本地DAS,以一個高度可擴展的網路連接。分布式存儲架構已經大規模部署,在我們大多數人每天使用的Web服務。
網路巨頭喜歡開源有很多種原因,但這里的好處是,他們支持開源開發者的生態系統,開源開發者正在設計分布式對象存儲軟體項目,如Swift,Ceph和GlusterFS(現已並入紅帽存儲)。
所以,基於商用伺服器硬體的開源分布式式對象存儲系統現在很容易獲得。雲用戶希望能夠降低硬體成本,同時保持可擴展性和性能,還希望能夠降低部分實際上並不存儲數據的存儲伺服器的功耗。

㈦ ARM7,ARM9和ARM11的區別 ARM處理器解析

ARM7、ARM9和ARM11的區別 ARM處理器解析

ARM7是馮諾依慢結構,三級流水線結構
ARM9、ARM11是哈佛結構,5級流水線結構,所以性能要高一點。
ARM9和ARM11大多帶內存管理器,跑操作系統好一點,ARM7適合裸奔。

我們慣稱的 ARM9系列中又存在ARM9與ARM9E兩個系列,其中ARM9 屬於ARM v4T架構,典型處理器如ARM9TDMI和ARM922T;而ARM9E屬於ARM v5TE架構,典型處理器如ARM926EJ和ARM946E。因為後者的晶元數量和應用更為廣泛,所以我們提到ARM9的時候更多地是特指ARM9E系 列處理器(主要就是ARM926EJ和ARM946E這兩款處理器)。下面關於ARM9的介紹也是更多地集中於ARM9E。

ARM7處理器和ARM9E處理器的流水線差別

對嵌入式系統設計者來說,硬體通常是第一考慮的因素。針對處理器來說,流水線則是硬體差別的最明顯標志,不同的流水線設計會產生一系列硬體差異。讓我們來比較一下ARM7和ARM9E的流水線,

ARM9E從ARM7的3級流水線增加到了5級,ARM9E的流水線中容納了更多的邏輯操作,但是每一級的邏輯操作卻變得更為簡單。比如原來 ARM7的第三級流水,需要先內部讀取寄存器、然後進行相關的邏輯和算術運算,接著處理結果回寫,完成的動作非常復雜;而在ARM9E的5級流水中,寄存 器讀取、邏輯運算、結果回寫分散在不同的流水當中,使得每一級流水處理的動作非常簡潔。這就使得處理器的主頻可以大幅度地提高。因為每一級流水都對應 CPU的一個時鍾周期,如果一級流水中的邏輯過於復雜,使得執行時間居高不下,必然導致所需的時鍾周期變長,造成CPU的主頻不能提升。所以流水線的拉 長,有利於CPU主頻的提高。在常用的晶元生產工藝下,ARM7一般運行在100MHz左右,而ARM9E則至少在200MHz以上。

ARM9E處理器的存儲器子系統

像ARM926EJ 和ARM946E這兩個最常見的ARM9E處理器中,都帶有一套存儲器子系統,以提高系統性能和支持大型操作系統。如圖2所示,一個存儲器子系統包含一個 MMU(存儲器管理單元)或MPU(存儲器保護單元)、高速緩存(Cache)和寫緩沖(Write Buffer);CPU通過該子系統與系統存儲器系統相連。

高速緩存和寫緩存 的引入是基於如下事實,即處理器速度遠遠高於存儲器訪問速度;如果存儲器訪問成為系統性能的瓶頸,則處理器再快也是浪費,因為處理器需要耗費大量的時間在 等待存儲器上面。高速緩存正是用來解決這個問題,它可以存儲最近常用的代碼和數據,以最快的速度提供給CPU處理(CPU訪問Cache不需要等待)。

復雜處理器內部的存儲器子系統。

MMU則是用來支持存儲器管理的硬體單元,滿足現代平台操作系統內存管理的需要;它主要包括兩個功能:一是支持虛擬/物理地址映射,二是提供不同存儲器地址空間的保護機制。一個簡單的例子可以幫助我們理解MMU的功能,

在一個操作系統下,程序開發人員都是在操作系統給定的API和編程模型下開發程序;操作系統通常只開放一個確定的存儲器地址空間給用戶。這樣就帶來 一個直接的問題,所有的應用程序都使用了相同的存儲器地址空間,如果這些程序同時啟動的話(在現在的多任務系統中這是非常常見的),就會產生存儲器訪問沖 突。那操作系統是如何來避免這個問題的呢?

操作系統會利用MMU硬體單元完成 存儲器訪問虛擬地址到物理地址的轉換。所謂虛擬地址就是程序員在程序中使用的邏輯地址,而物理地址則是真實存儲器單元的空間地址。MMU通過一定的規則, 可以把相同的虛擬地址映射到不同的物理地址上去。這樣,即使有多個使用相同虛擬地址的程序進程啟動,也可以通過MMU調度把它們映射到不同的物理地址上 去,不會造成系統錯誤。

MMU的功能和作用。

MMU 處理地址映射功能之外,還能給不同的地址空間設置不同的訪問屬性。比如操作系統把自己的內核程序地址空間設置為用戶模式下不可訪問,這樣的話用戶應用程序 就無法訪問到該空間,從而保證操作系統內核的安全性。MPU與MMU的區別在於它只有給地址空間設置訪問屬性的功能而沒有地址映射功能。

Cache以及MMU等硬體單元的引入,給系統程序員的編程模型帶來了許多全新的變化。除了需要掌握基本的概念和使用方法之外,下面幾個針對系統優化的點既有趣又重要:

1、系統實時性考慮

因 為保存地址映射規則的頁表(Page Table)非常龐大,通常MMU中只是存儲器了常用的一小段頁表內容,大部分頁表內容都存儲於主存儲器裡面;當調用新的地址映射規則時,MMU可能需要 讀取主存儲器來更新頁表。這在某些情況下會造成系統實時性的丟失。比如當需要執行一段關鍵的程序代碼時,如果不巧這段代碼使用的地址空間不在當前MMU的 頁表處理范圍裡面,則MMU首先需要更新頁表,然後完成地址映射,接著才能相應存儲器訪問;整個地址解碼過程非常長,給實時性帶來非常大的不利影響。所以 一般來說帶MMU和Cache的系統在實時性上不如一些簡單的處理器;不過也有一些辦法能夠幫助提高這些系統的實時效率。

一 個簡單的辦法是在需要的時候關閉MMU和Cache,這樣就變成一個簡單處理器了,可以馬上提高系統實時性。當然很多情況下這不可行;在ARM的MMU和 Cache設計中,有一個鎖定的功能,就是說你可以指定某一塊頁表在MMU中不會被更新掉,某一段代碼或數據可以在Cache中鎖定而不會被刷新掉;程序 員可以利用這個功能來支持那些實時性要求最高的代碼,保證這些代碼始終能夠得到最快的響應和支持。

2、系統軟體優化

在 嵌入式系統開發中,很多系統軟體優化的方法都是相同和通用的,多數情況下這種規則也適用於ARM9E架構上。如果你已經是一個ARM7的編程高手,那麼恭 喜你,以前你掌握的優化方法完全可以用在新的ARM9E平台上,但是會有一些新的特性需要你加倍注意。最重要的便是Cache的作用,Cache本身並不 帶來編程模型和介面的變化,但是如果我們考察Cache的行為,就能夠發現對於軟體優化,Cache是有比較大的影響的。

Cache 在物理上就是一塊高速SRAM,ARM9E的Cache組織寬度(cache line)都是4個word(也就是32個位元組);Cache的行為受系統控制器控制而不是程序員,系統控制器會把最近訪問存儲器地址附近的內容復制到 Cache中去,這樣,當CPU訪問下一個存儲器單元的時候(這個訪問既可能是取指,也可能是數據),可能這個存儲器單元的內容已經在Cache里了,所 以CPU不需要真的到主存儲器上去讀取內容,而直接讀取Cache高速緩存上面的內容就可以了,從而加快了訪問的速度。從Cache的工作原理我們可以看 到,其實Cache的調度是基於概率的,CPU要訪問的數據既可能在Cache中已經存在(Cache hit),也可能沒有存在(Cache miss)。在Cache miss的情況下,CPU訪問存儲器的速度會比沒有Cache的情況更壞,因為CPU除了要從存儲器訪問數據以外,還需要處理Cache hit或miss的判斷,以及Cache內容的刷新等動作。只有當Cache hit帶來的好處超過Cache miss帶來的犧牲的時候,系統的整體性能才能得到提高,所以Cache的命中率成為一個非常重要的優化指標。

根 據Cache行為的特點,我們可以直觀地得到提高Cache命中率的一些方法,如盡可能把功能相關的代碼和數據放置在一起,減少跳轉次數;跳轉經常會引起 Cache miss。保持合適的函數大小,不要書寫太多過小的函數體,因為線性的程序執行流程是最為Cache友好的。循環體最好放置在4個word對齊的地址,這 樣就能保證循環體在Cache中是行對齊的,並且佔用最少的Cache行數,使得被多次調用的循環體得到更好的執行效率。

性能和效率的提升

前 面介紹了ARM9E相比於ARM7性能上的提高,這不僅表現在ARM9E有更快的主頻、更多的硬體特性上面,還體現在某些指令的執行效率上面。執行效率我 們可以用CPU的時鍾周期數(Cycle)來衡量;運行同一段程序,ARM9E的處理器可以比ARM7節省大約30%左右的時鍾周期。

效 率的提高主要來自於ARM9E對於Load-Store指令執行效率的增強。我們知道在RISC架構的處理器中,程序中大約有30%的指令是Load- Store指令,這些指令的效率對系統效率的貢獻是最明顯的。ARM9E中有兩個因素幫助提高Load-Store指令的效率:

1)ARM9內核是哈佛架構,擁有獨立的指令和數據匯流排;相對應,ARM7內核是指令和數據匯流排復用的馮?諾依曼架構。

2)ARM9的5級流水線設計把存儲器訪問和寄存器寫回放在不同的流水上面。

兩 者結合,使得在指令流的執行過程中每個CPU時鍾周期都可以完成一個Load或Store指令。下面的表格比較了ARM7和ARM9處理器之間的Load -Store指令。從中可以看出所有的Store指令ARM9比ARM7省1個周期,Load指令可以省2個周期(在沒有互鎖的情況下,編譯工具能夠通過 編譯優化消除大多數的互鎖可能)。

綜合各種因素,ARM9E處理器擁有非常強大的性能。但是在實際的系統設計中,設計人員並不總是把處理器性能開到最大,理想情況是把處理器和系統運行頻率降 低,使得性能剛好能滿足應用需求;達到節省功耗和成本的目的。在評估系統能夠提供的處理器能力過程中,DMIPS指標被很多人採用;同時它也被廣泛應用於 不同處理器間的性能比較。

但是用DMIPS來衡量處理器性能存在很大的缺陷。 DMIPS並非字面上每秒百萬條指令的意思,它是一個測量 CPU運行一個叫Dhrystone的測試程序時表現出來的相對性能高低的一個單位(很多場合人們也習慣用MIPS作為這個性能指標的單位)。因為基於程 序的測試容易受到惡意優化的干擾,並且DMIPS指標值的發布不受任何機構的監督,所以使用DMIPS進行評估時要慎重。例如對Dhrystone測試程 序進行不同的編譯處理,在同一個處理器上運行也可以得出差別很大的結果,如圖4中是ARM926EJ在32位0等待存儲器上運行測試程序的結果。ARM一 直採用比較保守的值作為CPU的DMIPS標稱值,如ARM926EJ是1.1DMPS/MHz。

圖4:不同測試條件下ARM926EJ處理器的DMIPS值。

DMIPS 另外一個缺點是不能測量處理器的數字信號處理能力和Cache/MMU子系統的性能。因為Dhrystone測試程序不包含DSP表達式,只包含一些整型 運算和字元串處理,並且測試程序偏小,幾乎可以完整地放在Cache裡面運行而無需與外部存儲器進行交互。這樣就難以反映處理器在一個真實系統中的真正性 能。

一種值得鼓勵的評估方法是站在系統的角度看問題,而不僅僅拘泥於CPU本身;而系統性能評估最好的測試向量就是用戶應用程序或相近的測試程序,這是用戶所需的最真實的結果。

ARM9E處理器的DSP運算能力

伴 隨應用程序的多樣化和復雜化,諸如多媒體、音視頻功能在嵌入式系統裡面也是全面開花。這些應用需要相當的DSP處理能力;如果是在傳統的RISC架構上實 現這些演算法,所需的資源(頻率和存儲器等)會非常不經濟。ARM9E處理器一個非常重要的優勢就是擁有輕量級的DSP處理能力,以非常小的成本(CPU增 加功能需要增加硬體)換來了非常實用的DSP性能。

因為CPU的DSP能力並不直接反映在像DMIPS這樣的評測指標中,同時像以前的ARM7處理器中也沒有類似的概念;所以這一點對所有使用ARM9E處理器進行開發的人來說,都是需要注意的一個要點。

ARM9E的DSP擴展指令如表2所示,主要包括三個類型。

1)單周期的16x16和32x16 MAC操作,因為數字信號處理中甚少32位寬的操作數,在32位寄存器中可以對操作數分段運算顯得非常有用。

2)對原有的算術運算指令增加了飽和處理擴展,所謂飽和運算,就是當運算結果大於一個上限或小於一個下限時,結果就等於上限或是下限;飽和處理在音頻數據和視頻像素處理中普遍使用,現在一條單周期飽和運算指令就能夠完成普通RISC指令「運算-判斷-取值」這一系列操作。

3)前導零(CLZ)運算指令,提高了歸一化和浮點運算以及除法操作的性能。

以 流行的MP3解碼程序為例。整個解碼過程中前端的三個步驟是運算量最大的,包括比特流的讀入(解包)、霍夫曼解碼還有反量化采樣(逆變換)。ARM9E的 DSP指令正好可以高效地完成這些運算。以44.1 KHz@128 kbps碼率的MP3音樂文件為例,ARM7TDMI需要佔用20MHz以上的資源,而ARM926EJ則只要小於10MHz的資源

在 從ARM7到ARM9的平台轉變過程中,有一件事情是非常值得慶幸的,即ARM9E能夠完全地向後兼容ARM7上的軟體;並且開發人員面對的編程模型和架 構基礎也保持一致。但是畢竟ARM9E中增加了很多新的特性,為了充分利用這些新的資源,把系統性能優化好,需要我們對ARM9E做更多深入地了解。

㈧ 論述ARM-Linux嵌入式系統的基本組成,以及各部分的作用。

ARM-Linux嵌入式系統的基本組成:
1、bootloader:BootLoader是在操作系統內核運行之前運行。可以初始化硬體設備、建立內存空間映射圖,從而將系統的軟硬體環境帶到一個合適狀態,以便為最終調用操作系統內核准備好正確的環境。
2、基本 Linux 系統,就是為復雜應用軟體系統的開發提供了一個基本框架,並有與之相應的、方便易用的開發與維護管理工具。
3、文件系統,用於管理嵌入式系統的存儲空間。本來應該算操作系統的一部分,但因為 Linux 源代碼中有大量的文件系統支持部分,而嵌入式系統存儲空間有限,只保留一種就可以了,因此這部分需要比較復雜的處理。
4、圖形用戶界面庫,其作用是為應用程序提供圖形環境。雖然它也可以算是操作系統的一部分,但因嵌入式系統的特殊性往往要另外定製。
5、設備驅動程序,因為每一種嵌入式設備都可能有自己獨特的設備,因此,需要為它開發驅動程序。
6、應用程序,具體實現用戶需求的軟體。應用程序師參考操作系統提供的開發介面所開發出來的軟體,以達到計算機的功能利用。

㈨ arm晶元自身帶內存嗎

現在嵌入式的發展已經很好了,arm裡面有內存!arm的存儲結構有:RAM區俗稱內存,ROM區俗稱程序存儲器,還有有的arm還集成了EPROM非易失性存取器!這里邊ROM區最大,然後是RAM區。
舉個通俗的例子吧,arm就好像一台計算機,ROM就是存儲用戶的程序的,一般燒寫的代碼都是存儲到這里邊的,類似於一台計算機的硬碟,RAM是arm用於計算和存儲臨時性文件,arm一失電就丟失了,類似於計算機中的內存!而EPROM則是存儲一些信息,比如說變數的計算值啊,使其掉電後重新上電依然有效而不會丟失!
當然嵌入式上面的存儲都很小,如果你想存儲一些大文件,比如說MP3格式的文件,或者視頻等很大的文件,arm上面肯定存儲不下,一般都是通過存儲到外部的存儲器中如:SD卡等存儲介質!然後通過文件系統從外部存儲器讀取數據然後在arm晶元進行處理

熱點內容
sgm郵箱伺服器地址 發布:2025-01-11 12:46:03 瀏覽:882
編程軟體基礎培訓 發布:2025-01-11 12:20:20 瀏覽:287
imeet網站伺服器地址 發布:2025-01-11 12:15:35 瀏覽:331
ps緩存時間 發布:2025-01-11 11:55:36 瀏覽:865
雲伺服器容災 發布:2025-01-11 11:51:40 瀏覽:682
phparraysplice 發布:2025-01-11 11:51:40 瀏覽:320
android學習源碼 發布:2025-01-11 11:26:23 瀏覽:413
伺服器都壞了如何恢復 發布:2025-01-11 11:24:04 瀏覽:354
微博緩存的圖片能清理嗎 發布:2025-01-11 11:01:49 瀏覽:308
文字加密器 發布:2025-01-11 11:01:08 瀏覽:455