本文目錄一覽:
ARM架構是神馬???
以下是arm架構的概述:
1 CISC(Complex Instruction Set Computer,複雜指令集計算機)
在CISC指令集的各種指令中,大約有20%的指令會被反覆使用,占整個程序代碼的80%。而餘下的80%的指令卻不經常使用,在程序設計中只佔20%。
2 RISC(Reduced Instruction Set Computer,精簡指令集計算機)
RISC結構優先選取使用頻最高的簡單指令,避免複雜指令;將指令長度固定,指令格式和定址方式種類減少;以控制邏輯為主,不用或少用微碼控制等
RISC體系結構應具有如下特點:
1 採用固定長度的指令格式,指令歸整、簡單、基本定址方式有2~3種。
2 使用單周期指令,便於流水線操作執行。
3 大量使用寄存器,數據處理指令只對寄存器進行操作,只有載入/ 存儲指令可以訪問存儲器,以提高指令的執行效率。
除此以外,ARM體系結構還採用了一些特別的技術,在保證高性能的前提下盡量縮小晶元的面積,並降低功耗:
4 所有的指令都可根據前面的執行結果決定是否被執行,從而提高指令的執行效率。
5 可用載入/存儲指令批量傳輸數據,以提高數據的傳輸效率。
6 可在一條數據處理指令中同時完成邏輯處理和移位處理。
7 在循環處理中使用地址的自動增減來提高運行效率。
寄存器結構
ARM處理器共有37個寄存器,被分為若干個組(BANK),這些寄存器包括:
1 31個通用寄存器,包括程序計數器(PC指針),均為32位的寄存器。
2 6個狀態寄存器,用以標識CPU的工作狀態及程序的運行狀態,均為32位,目前只使用了其中的一部分。
指令結構
ARM微處理器的在較新的體系結構中支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長度,Thumb指令為16位長度。Thumb指令集為ARM指令集的功能子集,但與等價的ARM代碼相比較,可節省30%~40%以上的存儲空間,同時具備32位代碼的所有優點。
體系結構擴充
當前ARM體系結構的擴充包括:
·Thumb 16位指令集,為了改善代碼密度;
·DSP DSP應用的算術運算指令集;
·Jazeller 允許直接執行Java位元組碼。
ARM處理器系列提供的解決方案有:
·無線、消費類電子和圖像應用的開放平台;
·存儲、自動化、工業和網路應用的嵌入式實時系統;
·智能卡和SIM卡的安全應用。
而 X86是由Intel推出的一種複雜指令集,用於控制晶元的運行的程序,現在X86已經廣泛運用到了家用PC領域。
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(Reduced 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(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(Complex Instruction Set Computer,複雜指令集計算機)
在CISC指令集的各種指令中,大約有20%的指令會被反覆使用,占整個程序代碼的80%。而餘下的80%的指令卻不經常使用,在程序設計中只佔20%。
2 RISC(Reduced Instruction Set Computer,精簡指令集計算機)
RISC結構優先選取使用頻最高的簡單指令,避免複雜指令;將指令長度固定,指令格式和定址方式種類減少;以控制邏輯為主,不用或少用微碼控制等
RISC體系結構應具有如下特點:
1 採用固定長度的指令格式,指令歸整、簡單、基本定址方式有2~3種。
2 使用單周期指令,便於流水線操作執行。
3 大量使用寄存器,數據處理指令只對寄存器進行操作,只有載入/ 存儲指令可以訪問存儲器,以提高指令的執行效率。
除此以外,ARM體系結構還採用了一些特別的技術,在保證高性能的前提下盡量縮小晶元的面積,並降低功耗:
4 所有的指令都可根據前面的執行結果決定是否被執行,從而提高指令的執行效率。
5 可用載入/存儲指令批量傳輸數據,以提高數據的傳輸效率。
6 可在一條數據處理指令中同時完成邏輯處理和移位處理。
7 在循環處理中使用地址的自動增減來提高運行效率。
寄存器結構
ARM處理器共有37個寄存器,被分為若干個組(BANK),這些寄存器包括:
1 31個通用寄存器,包括程序計數器(PC指針),均為32位的寄存器。
2 6個狀態寄存器,用以標識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的全稱是”精簡指令集計算機”(reduced 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(Reduced 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的勝算能有多少呢?
arm32位固定指令中怎麼容納32位變數
在ARM指令中,有三個操作數,目的操作數,第一原操作數,第二原操作數,其中最有意思的就是第二原操作數了,在ARM 指令中,第二原操作數共有12位,分成兩個部分,一個部分佔8位,能表示0—255,另外一個部分佔4位,表示第一個部分8位數零擴展成32位的右循環移位,0001右循環移位2位,0010右循環移位4位,以此類推,來擴大用12位表示更大的數,但不能表示全部,這就是所謂的8位點陣圖原理,你細細品一下,覺得很有意思的,至於8位點陣圖不能表示的立即數就只能另外想辦法處理了,最多用四次相或處理,比如:(KK#00)ORR(PP#0100)ORR(YY#1000)ORR(XX#1100),其中KK、PP、YY、XX表示任意的8位立即數,用這樣的方法是不是可以實現任意的32位立即數呢?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285841.html