久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

淺談64bit ARM CPU 指令集及架構

 安可兒 2016-12-06

《中無通訊》第67期 文︰ 世界網絡 www.linkwan.com 林和安 小洛夫

imageimage

64bit CPU并不是甚么新的事物,服務器/工作站早已是64bit的天下,即使桌面計算機也紛紛升級64bit CPU及64bit操作系統,。作為移動設備市場的領導者,,ARM也決定在2014年推出64bit ARM CPU架構,實現智能手機,、平板計算機的一次性能飛躍,,又會為市場帶來多大的影響呢?

走向64bit的主因支持更多內存

ARM架構一向以低功耗作主打,,為此不惜把CPU架構盡量作出精簡,,取消作用不大的單元。早期ARMv4指令為求低功耗,,沒有FP浮點,、復雜math指令及SIMD,十分簡陋,。隨后ARM陸續(xù)加上以上的功能,,而自Cortex-A9以后,用戶要求更高性能的處理器,,滿足高清影片播放,、瀏覽網頁以至多任務工作環(huán)境,即在智能手機上同時打開3-4項應 用,,占用大量的CPU及內存資源,,尤以內存為甚。因為智能手機沒有硬盤,,大部份的數據都需要從內存中讀取,,使4GB的尋址上限顯得足襟見肘,而且智能手機因為空間有限需要GPU及CPU共享地址空間,,與PC的GPU及CPU擁有不同的地址空間不同,,無形中增加內存資源的占用。在Cortex-A15發(fā)布時,,ARM嘗試引入Physical Address Extensions技術,,把CPU可尋址的空間從32bit擴充至40bit,最大內存尋址從4GB擴充至1TB,,暫緩了內存上限問題,。不過引入Physical Address Extensions的做法治標不治本,因為Physical Address Extensions是以4KB page mapping即映像的方式支持4GB以上的內存,,不但較為復雜而且不能支持單個4GB以上的應用,,需把數據拆分處理。另一方面,,ARM在引入Cortex-A15的同時加入Virtualization虛擬功能,,這又增加對內存的需求,,最終步x86后塵走上64bit之路,也十分合理,。

image

在ARM架構的演進中,,ARMv8A最大的改變是支持64bit。

并未真正64bit?

在IT的世界,,功能是要付出成本的,,所以廠商普遍采用能省便省的做法。ARM引入64bit主要目的是要支持更多內存,,為進軍服務器,、工作站市場作準備。不過ARM也意識到用戶未必需要用到64bit上限的16EB內存,,所以選擇了x86-64的做法,,僅支持至48bit Virtual Memory,相當于256TB內存,。對于ARM的做法,作為一名計算機愛好者難免有所失望,,但考慮到目前主流內存容量在8-16GB左右,,加上操作系統如Windows 7 Ultimate也僅支持至192GB,ARM的做法也無可厚非,。

全新設計的A64指令集

ARM在2007年已著手設計工作,,并于2011年11月公報ARMv8A 64bit指令集架構,耗用了4年的研發(fā)時間,,時間可謂不過不失,。

ARMv8A分為A64及A32兩個部分,A64顧名思義屬于64bit的部份,,主要存在于AARCH64的狀態(tài),。而A32又稱AARCH32狀態(tài),用作支持現有A32 ARM指令集,。ARM并沒有采用AMD x86-64及Intel EM64T擴充32bit指令做法,,而是選擇全新開發(fā)專用的64bit指令。據ARM方面表示,,這一做法與省電的考慮有關,,當運行64bit ISA時,ARMv7電路可處于閑置狀態(tài),,節(jié)省功耗,。同A64 ISA也移除了作用不大的LDM/STM(load/store multiple)指令,改為LD/ST ’P’指令,,以降低復雜性及功耗,,與此同時,32bit到64bit狀態(tài)轉換采用Inter-processing的做法,確保32bit到64bit指令皆可順利執(zhí)行,。

新增Registers及支援DP浮點

ARMv8A架構新增了31個64bit通用寄存器(General Purpose Registers),,改進排程選項以針對復雜軟件。同時,,還新增32個128bit Registers,,用作執(zhí)行SIMD。ARMv8A除了可執(zhí)行單精度(Single Precision)FP數據外,,新增支持雙精度(Double Precision)FP數據,,而且新增了IEEE754-2008 FP指令,如MaxNum/MinNum等等,。此外ARMv8A還把FPU及SIMD變成常設功能,,軟件不用檢測是否有相關功能。提供Cryptography加密指令,,而且是以128bit SIMD Registers執(zhí)行,,可在每周期同時執(zhí)行2個AES encode/decode指令,或4個SHA-1/SHA-256 Hash,。

最后,,雖然ARMv8A以64bit為主,但對于32bit的AArch32狀態(tài)也有所加強,。如新增的Cryptography及IEEE754-2008 FP指令,,Load acquire/store release`等等皆有幫提供32bit下的性能。

image

新增的31個64bit General Purpose Registers及32個128bit SIMD Registers,。

image

提供Cryptography加密指令,,且是在128bit SIMD Registers內進行。

image

ARMv8A強化了內存管理,,Virtual Address及Physical Address從40bit增至48bit,,支持更大容量內存。

率先登場的兩款64bit ARM處理器

在完成了64bit指令集的定義后,,ARM也隨即在2012年推出了兩款64bit ARM—Cortex-A57及A53產品,。該兩款產品自去年發(fā)布以外,不但獲得ARM陣營的強烈支持,,也吸引了AMD推出同時支持x86及ARM的64bit Server CPU,,氣勢如日方中。踏入2013年4月,,ARM與TSMC宣布成功流片(Tape Out)Cortex-A57處理器,,標志著64bit ARM成品已離我們不遠。

最多16個核心同時運算

相比于32bit ARM,,64bit ARM定位更多在服務器市場,,所以Cortex-A57及A53除了是可集成4個核心的SoC外,,也支持多機以Clusters串連共16個核心工作,大大提升運算性能,。另外,,在64bit方面,Cortex-A57及A53皆擁有ARMv8架構的完整功能,,如新增的31個64bit通用寄存器GPR及128bit SIMD,,支持雙精度浮點運算(Double Precision FP)等等,兩者的分別在于設計理念的不同,,表現為數據處理性能會的差別,。

image

Cortex-A57及A53可用clusters的方法支持4機共16個核心。

以效能為主Cortex-A57

Cortex-A57是一顆重效能的CPU,,其設計主要沿自Cortex-A15,,如3路譯碼器及15+ stage亂序執(zhí)行管線(Out-of-Order Pipelines),不過借著ARM所作的優(yōu)化,,如數據預取及增加Registers等等,,在處理32bit軟件也比Cortex-A15快20-30%左右。

在數據處理方面,,Cortex-A57提供遠高于Cortex-A53的性能,。首先是在管線的設計上,Cortex-A57管線stage較多(15+ vs 8),,而且是亂序執(zhí)行管線(Out-of-Order Pipelines),比Cortex-A53的簡單按序執(zhí)行管線(Simpe In-Order Pipelines)尤其適合處理大量數據的環(huán)境,。另外,,它擁有更多的L1&L2 Caceh,要求至少48KB I-Cache,、32KB D-Cache及512KB L2 Cache,,對比之下,Cortex-A53為8KB I-Cache,、8KB D-Cache及128KB L2 Cache,。而且在尋址能力方面,Cortex-A57為44b,,相當于支持最多256GB內存,。至于Cortex-A53為40b,相當于支持64GB內存,。

image

Cortex-A57架構圖,。

強調比A9細的Cortex-A53

Cortex-A53是在提供足夠的性能下,盡量縮小芯片面積及功耗的產品,,所以它并沒有采用Cortex-A57較耗電的亂序執(zhí)行管線設計,,改用簡單按序執(zhí)行管線設計,。Cortex-A53提供目前主流Cortex-A9等級的效能,但芯片面積更小,,可在同制程下比Cortex-A9細40%,,如果使用20nm制程的話,面積僅為32nm Cortex-A9的1/4,,有助降低成本同時也可降低功耗,。

image

Cortex-A53架構圖。

image

Cortex-A53設計強調較Cortex-A9小的核心面積,。

第二代big.LITTLE

Cortex-A57 & A53也會沿用Cortex-A15 & A7的big.LITTLE技術,,因應需要而決定使用高性能的big核心或使用高節(jié)能的LITTLE。不過在配置上,,Cortex-A57 & A53較有彈性,,除了可使用4(big) + 4(LITTLE)外,也可使用2(big) + 4(LITTLE)的配置,。筆者認為,,考慮到Cortex-A57與Cortex-A53性能差距明顯,即使是4個Cortex-A53也遠不及2個Cortex-A57的性能,,所以增加LITTLE核心數目顯得十分重要,。

image

第二代big.LITTLE新增了2(big) + 4(LITTLE)的配置。

image

image

根據ARM公布的路線圖,,2014-2015年還有一款新的32bit ARM處理器—Cortex-A12推出,。

結論︰ARM選擇降低風險

進入64bit年代,ARM很大程度上在現有的架構下加上64bit ARMv8指令架構,。所以Cortex-A57 & A53,,很大程度上是現在Cortex-A15 & A7的延續(xù)??梢夾RM首要的工作是確保64bit架構的成功,,其余部分盡量采用現有的設計以降低風險。

與此同時,,ARM也留了后路,,2014-2015年還有一款新的32bit ARM處理器Cortex-A12??梢娒鎸Ω偁幖ち业腎T市場,,誰也沒有必勝的把握,不得不小心應對,。

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多