CPU框架的選擇——X86和ARM

觀感更好的是在公衆號的排版:https://mp.weixin.qq.com/s/LR7XfsygFc3pzPfowvIsSg
《電子產品開發產品流程》

1.1、ARM和X86的選擇
一般我們設計一個產品,從拿到需求開始,第一步往往是市場性,再到可實現性分析,所以這裏我們可以看出產品往往是市場所導向的,見過太多的工程師說我只要弄好技術就可以了,不理什麼市場不市場的,除非你做的一些演練類的技術沉澱(比如公司的未來技術儲備,學校實驗室)。
好了,市場性的東西。我們不多講,只要你知道做技術的人有時候需要考慮市場性即可

好了以上都是廢話,下面進入正文

在這裏插入圖片描述
兩個原則
市場、技術

01
我們分析技術可實現性,往往第一步是考慮硬件平臺,即我們文章的題目,框架的選擇。
目前來說市面上最多的是X86和ARM,少量的其他的,市面上98%以上的公司選用框架基本都往這兩者靠(截止今日)。
一般我們選用平臺基於兩點:
1、非技術方面:公司舊產品框架,這裏會涉及到一些以往的軟件開發,供應價格,和供應商能提供的資源;
2、技術方面:選用的框架所支撐的材料是否足夠,我們不用重新制造一個輪子,我們只需要複製輪子即可。

02
下面我們以技術方面去分析下兩者的區別
X86和ARM其實分別代表着兩個指令集CISC複雜指令集與RISC精簡指令集
屬於這兩種類中的各種架構之間最大的區別,在於它們的設計者考慮問題方式的不同,前者更加專注於高性能但同時高功耗的實現,而後者則專注於小尺寸低功耗領域。
這裏我們不好去判斷它們之間到底誰好誰壞,因爲目前他們兩種指令集都在蓬勃發展,而且都很成功。

03
什麼是框架
首先我們要明白CPU是一個執行部件,它之所以能執行,也是因爲人們在裏面製作了執行各種功能的硬件電路,然後再用一定的邏輯讓它按照一定的順序工作,這樣就能完成人們給它的任務。也就是說,如果把CPU看作一個人,首先它要有正常的工作能力(既執行能力),然後又有足夠的邏輯能力(能明白做事的順序),最後還要聽的懂別人的話(既指令集),才能正常工作。而這些集中在一起就構成了所謂的“架構”
04
再簡單聊下CPU
我們都知道CPU的根本任務就是執行指令,對計算機來說最終都是一串由“0”和“1”組成的序列。CPU從邏輯上可以劃分成3個模塊,分別是控制單元、運算單元和存儲單元,這三部分由CPU內部總線連接起來。
如下所示:

然後三者的功能具體如下:
控制單元:控制單元是整個CPU的指揮控制中心,由程序計數器PC(Program Counter), 指令寄存器IR(Instruction Register)、指令譯碼器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,對協調整個電腦有序工作極爲重要。它根據用戶預先編好的程序,依次從存儲器中取出各條指令,放在指令寄存器IR中,通過指令譯碼(分析)確定應該進行什麼操作,然後通過操作控制器OC,按確定的時序,向相應的部件發出微操作控制信號。操作控制器OC中主要包括節拍脈衝發生器、控制矩陣、時鐘脈衝發生器、復位電路和啓停電路等控制邏輯。

運算單元:是運算器的核心。可以執行算術運算(包括加減乘數等基本運算及其附加運算)和邏輯運算(包括移位、邏輯測試或兩個值比較)。相對控制單元而言,運算器接受控制單元的命令而進行動作,即運算單元所進行的全部操作都是由控制單元發出的控制信號來指揮的,所以它是執行部件。

存儲單元:包括CPU片內緩存和寄存器組,是CPU中暫時存放數據的地方,裏面保存着那些等待處理的數據,或已經處理過的數據,CPU訪問寄存器所用的時間要比訪問內存的時間短。採用寄存器,可以減少CPU訪問內存的次數,從而提高了CPU的工作速度。但因爲受到芯片面積和集成度所限,寄存器組的容量不可能很大。寄存器組可分爲專用寄存器和通用寄存器。專用寄存器的作用是固定的,分別寄存相應的數據。而通用寄存器用途廣泛並可由程序員規定其用途,通用寄存器的數目因微處理器而異。這個是我們以後要介紹這個重點,這裏先提一下。

【下一集再見】

電子工程師的自我修煉
一個專注技術的筆者
歡迎關注我的公衆號
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章