娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月04日(星期三)

正在發生

2019年12月04日 | ARM(RISC)和x86(CISC)的技術差異

發布者:一直333 來源: eefocus關鍵字:ARM(RISC)  x86(CISC)  技術差異 手機看文章 掃描二維碼
隨時隨地手機看文章

RISC和CISC,這一對冤家,從誕生之日開始就處在不停的糾纏之中。直到今天,兩者經過多年的發展后,都在各自領域打開了一片天地,并且相互滲透。RISC專注高性能、高性能功耗比、小體積以及移動設備領域,CISC專注桌面、高性能和民用市場。現在,RISC的代表是ARM,而CISC的代表則是我們耳熟能詳的x86。那么,他們的技術差異在哪里?究竟是怎樣的技術分歧帶來了兩者如此大的差別呢?

ARM(RISC)和x86(CISC)的技術差異。

指令集的出現

要說清楚RISC和CISC,也就是今天熱門的ARM和x86之間的差異,還得把時間往前推一些,觀察計算機誕生之初的一些事情,才能很清楚地了解指令集、精簡和復雜之間的關系。

 

機器語言的實例
機器語言含義
0000,0000,000000010000代表 LOAD A, 16
0000,0001,000000000001代表 LOAD B, 1
0001,0001,000000010000代表 STORE B, 16
0001,0001,000000000001代表 STORE B, 1

 

今天學生學習計算機實在是太幸福了!今天有大量的可視化的操作方式,有成熟的各種接近自然語言的編程語言,在這些語言中還有很多寫好的庫用于完成那些固定而復雜的任務。這種“幸福”的計算機的學習和使用過程,你完全不應該覺得困難——請注意,如果和上個世紀七十年代的計算機使用者比起來,真的好太多了。

老式的計算機,使用紙帶進行輸入輸出,效率極其低下。
老式的計算機,使用紙帶進行輸入輸出,效率極其低下。


上世紀70年代末期,計算機的出現雖然帶來了各種方便,但也帶來了各種不方便。首先就是編程。當時沒有類似今天這樣的高級的、接近自然語言的、各種邏輯都非常完善的編程語言,而是采用最底層的機器語言來寫命令。


機器語言和后來的匯編語言,在使用中都顯得很麻煩,可讀性差,并且很難維護。此外,還有最重要的一點是,這些語言都比較“笨”,如果要計算一些稍微復雜的操作比如乘法、除法、三角函數、微積分、方程等,每次計算都需要重新編寫程序(在紙帶上打孔輸入數據的時代,是沒有“粘貼+復制”的方便功能的)。


于是人們想了一個方法,對一些比較常用的指令,比如積分、微分、乘除法等,干脆寫一套標準的程序,留下輸入數據的接口。這樣就能夠大幅度地降低編程中的難度,提高編程效率并增加其易用性。這個想法一提出,就得到了很多業內人士的認可,大家給這種想法取了一個名字,叫做“指令集”。


指令集中包含了大量的基礎運算的內容,并且以公式化和模塊化的方式供人們使用。對軟件來說,指令集的出現無疑大幅度提高了程序編寫的效率。同時由于模塊化指令的存在,軟件的運行效率也得到了提升。對硬件來說,專用模塊的效率永遠高于通用模塊,因此指令集的出現也為CPU硬件性能的提升開啟了一扇新的大門。

復雜的還是精簡的?

指令集誕生后,CPU廠商都開始整理、規范這些指令集,其中就包括英特爾。英特爾在它最為成功的一款處理器8086中,開始加入大量指令集,以提高計算效率、增強CPU性能。與此同時,另外一種思想在悄悄萌芽。

英特爾為了兼容8086處理器,不得不一直采用x86 CISC指令集。
英特爾為了兼容8086處理器,不得不一直采用x86 CISC指令集。

業界有一個著名的“8020定理”,可以應用在很多方面:比如一家公司80%的人都會是普通職員,20%的人才可能成為領導者;這些領導者每天做的事情80%是不緊急或者不重要的、20%才是最緊急最重要的內容等等。“8020定理”概括了社會發展的大部分內容,雖然不那么精確,但足以說明大部分內容往往沒有什么效率,最值得關心的往往是那20%的核心部分—比如下面這一段:


CPU的指令集是各種功能的集合。指令集誕生的原因是人們渴望在軟件編寫時更有效率,同時也符合事物發展中規范化、模塊化的需求。但是,在所有指令集中,經過人們分析和統計,只有20%的指令集會在80%的場合都用到,而絕大部分80%的指令集只有20%的場合需要出現。

RISC處理器的效率很高,一般來說能耗比很出色,但是指令比較復雜,特別是程序體積較大。圖為IBM的Power 7處理器的接口,是經典的高性能RISC處理器。
RISC處理器的效率很高,一般來說能耗比很出色,但是指令比較復雜,特別是程序體積較大。圖為IBM的Power 7處理器的接口,是經典的高性能RISC處理器。


這里的意思就很明確了。如果一個CPU支持所有的指令集,那么其中20%的部分會被經常調用,而80%的部分經常閑置無所事事,至少在80%的時間中都是如此。在CPU晶體管“寸土寸金”的年代,這樣的做法是對晶體管的嚴重浪費。在這種情況下,曾任斯坦福大學校長、美國科學院、工程學院和文理學院三院院士的約翰·亨尼西教授和加州大學伯克利分校的計算機教授戴維·帕特森等人,就提出了一種更為簡單的指令集,叫做精簡指令集,全稱是Reduced Instruction Set Computing,簡寫為RISC。而傳統的大而全的指令集也被賦予了一個正式的名字,叫做Complex Instruction Set Computing,也就是CISC。


RISC的優勢在于將指令數目和尋址方式都做出了改進,大幅度降低了設計難度,編譯器的效率更高并且指令的并行執行程度更高。同時RISC制造的CPU體積更小、能耗更低、性能功耗比更高。但是RISC并不是沒有缺點,比如RISC的CPU對20%的常用指令集的計算效率更高,而對一些不常用或者復雜的指令,則以幾個常用指令組合的方式來完成,計算效率就明顯下降。對軟件來說,RISC的程序體積相對CISC會大一些,復雜度稍高。并且由于指令集精簡,早期的RISC處理器的性能顯然不如同期的CISC,雖然它更小、功耗更低。

今天的CPU:x86和ARM

雖然從原理來看,RISC和CISC可謂井水不犯河水。但RISC和CISC在發展過程中,彼此反而取長補短,各有所得。


對CISC來說,指令集本身隨著計算要求不斷發展,肯定會越來越多。CISC繼續發展下去,其實際CPU產品的晶體管數量會難以抑制地上升,性能功耗比和成本表現很難讓人滿意。從設計角度來看,CISC指令集長度不固定、執行時間也不固定、設計困難很多,很難找出一條高效率的通用設計道路來完成指令的執行。此外,由于CISC處理器和存儲器之間的速度差距,緩存變得越來越重要。這也意味著CPU本身需要更為精簡高效,節省的空間需要用于容納越來越重要的各級緩存。


為了解決這些問題,現代的CISC處理器開始認真學習RISC的思想。CISC的問題在于指令集復雜多變,為每一個指令制定專門的硬件優化顯然不可能。那么,可不可以換一個思路呢?將那些最常使用的指令集挑選出來,然后為其進行專門優化,就可以大大提高效率;至于不常用的指令,則可以用幾個基礎指令組合的方式完成——這正是RISC的思想。有所不同的是,RISC讓思想完成在指令層面,而CISC將這個思想實現在硬件層面。

英特爾的Nehalem處理器可謂借鑒RISC思想而設計的x86。
英特爾的Nehalem處理器可謂借鑒RISC思想而設計的x86。

以英特爾的Nehalem或者AMD的K10處理器為例。首先,這些x86處理器內部都會使用“微指令”。所謂微指令,就是一些基礎的指令,CISC指令中大部分都可以被拆分為幾條簡單而固定的微指令。其次,CPU內部設計了“翻譯單元”,一般是由解碼單元來執行的。在運行中,CPU接受一條x86指令,然后解碼單元將接收到的比較復雜的X86指令拆解為一個或幾個微指令。比如Nehalem設計了3個簡單的解碼單元和1個復雜的解碼單元,可以將x86指令解碼拆分、“翻譯”為1~4條微指令。


第三,CPU內部針對這些微指令會做出充足的優化,讓其執行效率和速度都達到令人滿意的程度。當然,在解碼處理的過程中,不是所有的x86指令都會得到平均對待。那些最常用的指令比如mov、push、call、cmp、add等會被重點、優先、加速處理,不常用的指令要么被拆分為常用指令,要么進入普通循環進行處理。效率雖然有影響,但考慮到其使用幾率很低,因此這樣的設計完全可以接受。在微指令解碼和處理過程中,如何更有效率、更為高效地執行x86命令;微指令應該如何表達、運行;微指令和x86指令的關系以及哪些微指令是最常用、最優先的指令,成為最影響CPU性能的核心內容。

未來的ARM Cortex A-50是高性能處理器的代表產品
未來的ARM Cortex A-50是高性能處理器的代表產品。

在采用了RISC思想、對x86處理器的設計進行革新后,如今的CISC處理器基本上可以解決CISC指令復雜、體積龐大,晶體管耗費多等問題。對廠商來說,一個設計優秀的x86處理器的解碼和流水線核心可以維持數代發展而不落伍。廠商可以在發展過程中不斷對已經設計好的核心進行調整和調配,在緩存、總線配置上進行更改以獲取更好的性能。


CISC借鑒RISC的思想,讓自己獲得了新生。相對來說,RISC對CISC也有借鑒,但不算太多。RISC指令簡單并且相對固定,處理快速,在設計上甚至可以使用更長的流水線來達到高頻率,并最終獲得更優秀的效能。但RISC的主要問題在于指令集簡單,因此在處理一些比較復雜的應用時,存儲器需要讀入的指令總數耗費時間更多,部分場合下性能表現不理想也是RISC的硬傷。因此,在RISC的發展中,RISC也在逐漸注入CISC的思想。比如緊跟時代加入一些新的指令集,更進一步優化內部架構,運行周期變成不固定周期等。RISC發展到現在,指令也逐漸增多,浮點計算等重要性能也日益強大。以ARM為例,不但逐漸增強浮點計算性能、新增專門的浮點指令,還計劃在現有的基礎上開展高性能ARM處理器的發展,以增強未來應對市場變化特別是對x86處理器競爭的能力。

未來的處理器,功耗更低,效能更高

從目前CPU的發展來看,無論是ARM還是x86,無論是CISC還是RISC,除了努力鞏固自己的性能優勢,加強產品的性能外,還積極吸取對方產品的特色,取長補短,期望有所突破。不過無論如何,未來的CPU肯定在朝著高性能、低功耗的方向發展。目前移動計算大潮已經來臨,競爭日趨激烈。但說到底就是性能功耗比的競爭,誰能在低功耗下提供高性能,誰就有希望獲得成功。未來的處理器,功耗將更低,效能會更高。

關鍵字:ARM(RISC)  x86(CISC)  技術差異 引用地址:ARM(RISC)和x86(CISC)的技術差異

上一篇:ARM詳細指令集
下一篇:ARM的棧指令

推薦閱讀

芯科技消息(文/雷明正)臺灣經濟主管機關可能調降再生能源躉購費率,其中,太陽光電躉購費率,調降幅度超過11%,引起廠商不滿。太陽能上次批評,國際間平均降幅為4.25%,臺灣降幅卻高達12.15%,等于在打擊產業。太陽能廠商指出,或許政府機關委托所做的研究是屋頂型太陽能光電,但臺灣大部分業者皆為土地型,成本較高,如此計算方式對廠商并不公平。...
提供遠距離通信與網狀網絡、單芯片系統控制和無線通信等全方位支持 全球領先的半導體解決方案供應商瑞薩電子株式會社宣布推出RX23W——支持Bluetooth? 5.0的32位微控制器(MCU),該產品尤其適用于家用電器、醫療設備等物聯網終端設備。通過在其廣受歡迎的高性能RX MCU系列上將藍牙5.0與其Trusted Secure IP安全功能相結合,瑞薩為客戶提供了針對系統...
近日,西安電子科技大學微電子學院與泰克科技攜手共建示范性微電子實踐育人平臺,在長安校區落成。早在2019年1月份,泰克與西安電子科技大學微電子學院就開啟了共建示范微電子實驗室,此次是在之前合作共建基礎上的進一步延伸和規模擴大,將北校區資源優勢進一步向南校區的推進,培養具有較強綜合設計和創新能力的優秀人才。 基于...
固態電池已經成為各大汽車廠商爭奪未來純電動車話語權的核心技術,本周的豐田Kenshiki活動上,豐田歐洲研發負責人杰拉爾德·基爾曼 (Gerald Killman)表示,將在2025年引入固態電池技術,提供更高的輸出、更長的續航里程和更短的充電時間。他證實2020年豐田已經制造了配備固態電池技術功能的測試原型車,并正在進行耐用性為主導的開發過程。不過,豐田...

史海拾趣

問答坊 | AI 解惑

推薦一個畫流程圖的工具

本帖最后由 paulhyde 于 2014-9-15 03:23 編輯 安裝之后點擊crack中的exe然后,點擊patch,生成的那個exe拷貝到安裝目錄下就好了 英文版的,感覺功能上還是挺強大的  …

查看全部問答∨

想業余賺點小錢嗎,合作開發個小程序

內容見:   http://topic.eeworld.net/u/20090115/16/9f8974a2-139e-4f72-81b2-c502928ed4b7.html…

查看全部問答∨

電源開關對單片機有影響?

我的單片機程序有點小問題想問問大家。 就是開關電源的時候,出現異常現象。 開開電源就出現所有本來有單片機控制的開關都自動的開一下又關閉,時間很短,瞬間的。 關閉電源時候現象一樣。 開關電壓220v。 另外一個開關電壓12v,只是開的時 ...…

查看全部問答∨

EVC如何用CListCtrl控件實現如資源管理器(Explorer.exe)一樣的功能?謝謝!

    我想做一個類似于CFileDialog的程序,現在的問題是,CFileDialog不能自行定義其外觀,我想象資源管理器那樣顯示不同文件擴展名對應不同的圖標,打算用CListCtrl控件實現,那么該如何實現呢?     ps:由于本人沒有eeworld ...…

查看全部問答∨

wince6.0 不支持數據庫么?

我要在wince中建一個數據庫,但是在我的應用程序中添加 #include<AFXDB.H> 就出現問題: FilterNum.cpp C:\\Program Files\\Microsoft Visual Studio 8\\VC\\ce\\atlmfc\\include\\AFXDB.H(15) : fatal error C1189: #error :   ...…

查看全部問答∨

TCPMP播放的時候拔卡死機的問題

我現在用TCPMP播放視頻,當TCPMP正在播放的時候,我拔掉卡,系統會給我一個拔卡事件,之后我關閉TCPMP播放。這樣理論是應該是沒有問題的,但是實際上操作,卻偶爾發現播放器會死掉(系統還沒死,只是TCPMP被卡住了)。我對播放進行跟蹤,發現是播放器 ...…

查看全部問答∨

一個單片機的問題

下圖中的8K*8位芯片對應表示著存儲器中一部分存儲空間,存儲器容量為512K*8位。求該芯片在存儲器中的地址范圍。(注:圖左端為74LS138譯碼器,第18,17,16位地址連譯碼器使能端,第15,14,13位地址用作產生片選信號。)…

查看全部問答∨

基于FSSDC-9B506-EK Easy Kit的作品(1)

    去年暑假期間,富士通公司舉辦了“2010-2011富士通半導體杯創意未來電子競賽”,我有兩個學生參加這個比賽。做了點東西,應該說還行吧。現在富士通在論壇征集建議,剛好他們使用的開發板就是Cortex-M3 Easy Kit,作為響應吧,我 ...…

查看全部問答∨

STM32F407VGT6 iar平臺移植版

感謝劉勇貢獻的基于iar平臺的STM32F407VGT6的移植。下載地址為: http://www.raw-os.org/Download.html 倉庫的地址為: https://git.oschina.net/raw-os/STM32F407VGT6-iar.git 有iar編譯器需求的童鞋可以下載。 …

查看全部問答∨

如何在ti公司f28m35雙核芯片flash中用can通信燒寫應用程序

如何在ti公司f28m35雙核芯片flash中用can通信燒寫應用程序,有這方面經驗的朋友, 請介紹如何實現把應用程序通過can通信發到操作器的eeprom保存,然后也可用can通 信把操作器保存的應用程序數據通過can通信發到f28m35的flash保存,并可上電后boot ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 庐江县| 伊通| 广宁县| 白河县| 沂南县| 东源县| 定襄县| 清远市| 贵南县| 蕲春县| 永和县| 咸丰县| 赫章县| 河曲县| 德安县| 兴仁县| 塔城市| 通化市| 邳州市| 枣阳市| 福贡县| 柯坪县| 滦平县| 清水河县| 舞阳县| 渭源县| 桓仁| 莎车县| 麟游县| 北川| 东光县| 松桃| 甘泉县| 梁平县| 开平市| 醴陵市| 崇阳县| 翼城县| 凯里市| 三门县| 峨边|