国产国语精品一级毛片,免费在线观看的黄片,黄片视频免费观看的,欧美一区二区三区黄大片

新聞資訊
center
地址:浙江省嘉興市南湖區(qū)文賢路134號(hào)
電話:400-600-0406
傳真:0573-82816086
主頁(yè):www.zhaotongty.com
郵箱:jxbovi@163.com
主營(yíng):全自動(dòng)貼片機(jī)、錫膏印刷機(jī)、全自動(dòng)上下板機(jī)、全熱風(fēng)回流焊、SMT周邊配件等
4售后服務(wù)?->?售后服務(wù)
您的位置:首頁(yè)?->?新聞資訊

ARM 處理器:RISC與CISC 是什么?

作者:博維科技 時(shí)間:2020-12-17 14:02

1. 都是從不務(wù)正業(yè)開始

如同Intel并不是以CPU起家,而是從存儲(chǔ)器跨足到IC設(shè)計(jì),至今成為x86處理器的龍頭。ARM也是一樣,這一切都要從Hermann Hauser和Chris Curry所創(chuàng)立的Cambridge Processor Unit開始說(shuō)起。

1978年,由物理學(xué)家Hermann Hauser和工程師Chris Curry一同在英國(guó)劍橋成立了一間公司,公司名稱直接取作Cambridge Processor Unit(CPU),主要從事提供當(dāng)?shù)仉娮觾x器設(shè)備的業(yè)務(wù)。第一份合約即是為ACE Coin Equipment公司開發(fā)一款水果盤,也就是拉霸的游戲機(jī)。

2. 世界上首顆RISC處理器

隨著時(shí)間過(guò)去,漸漸地發(fā)現(xiàn)原本的硬件設(shè)計(jì)已不符需求,Acorn想要升級(jí)機(jī)器內(nèi)的CPU。當(dāng)時(shí)處理器的發(fā)展潮流是由8位元轉(zhuǎn)向16位元,一開始有考慮使用美國(guó)國(guó)家半導(dǎo)體以及Motorola新的16位元芯片,但是經(jīng)過(guò)評(píng)估后,發(fā)現(xiàn)2個(gè)缺點(diǎn)。

執(zhí)行上有點(diǎn)慢,中斷的回應(yīng)時(shí)間太長(zhǎng),而且太貴。

一臺(tái)500英鎊的計(jì)算機(jī),CPU售價(jià)高達(dá)100英鎊。

于是只好轉(zhuǎn)向Intel,要求提供一些80286設(shè)計(jì)資料以及樣品,但是卻遭到Intel拒絕。這件事情后來(lái)直接導(dǎo)致Acorn決定設(shè)計(jì)自己需要的CPU,由于采用RISC架構(gòu)的關(guān)系,名稱就稱為Acorn RISC Machine(ARM)。

2.1. RISC與CISC的差異

處理器的指令集可簡(jiǎn)單分為2種,CISC(complex instruction set computer)以及RISC(reduced instruction set computer)。一開始的處理器都是CISC架構(gòu),隨著時(shí)間演進(jìn),有越來(lái)越多的指令集加入。由于當(dāng)時(shí)編譯器的技術(shù)并不純熟,程序都會(huì)直接以機(jī)器碼或是匯編語(yǔ)言寫成,為了減少程序設(shè)計(jì)師的設(shè)計(jì)時(shí)間,逐漸開發(fā)出單一指令,復(fù)雜操作的程序碼,設(shè)計(jì)師只需寫下簡(jiǎn)單的指令,再交由CPU去執(zhí)行。但是后來(lái)有人發(fā)現(xiàn),整個(gè)指令集中,只有約20%的指令常常會(huì)被使用到,約占整個(gè)程序的80%;剩余80%的指令,只占整個(gè)程序的20%。于是1979年美國(guó)加州大學(xué)柏克萊分校的David Patterson教授提出了RISC的想法,主張硬件應(yīng)該專心加速常用的指令,較為復(fù)雜的指令則利用常用的指令去組合。

RISC的優(yōu)點(diǎn)列舉如下:

指令長(zhǎng)度固定,方便CPU譯碼,簡(jiǎn)化譯碼器設(shè)計(jì)。

盡量在CPU的暫存器(最快的存儲(chǔ)器元件)里操作,避免額外的讀取與載入時(shí)間。

由于指令長(zhǎng)度固定,更能受益于執(zhí)行線路管線化(pipeline)后所帶來(lái)的效能提升。

處理器簡(jiǎn)化,晶體管數(shù)量少,易于提升運(yùn)作時(shí)脈。比起同時(shí)脈的CISC處理器,耗電量較低。

RISC的缺點(diǎn)列舉如下:

復(fù)雜指令需要由許多的小指令去完成,程序變得比較大,存儲(chǔ)器也占用比較多,這在硬盤昂貴,常常使用磁帶儲(chǔ)存的時(shí)代來(lái)說(shuō),是個(gè)大缺點(diǎn)。

程序變長(zhǎng),代表著讀取工作變得繁重,需要更多的時(shí)間將指令從存儲(chǔ)器載入至處理器內(nèi)。

這里也提供一個(gè)小小的概念,CISC是在RISC出現(xiàn)之后才出現(xiàn)的相對(duì)名詞,并不是從一開始就有CISC、RISC這2種處理器架構(gòu)。
3. 首顆RISC架構(gòu)CPU

于1985年,Acorn設(shè)計(jì)出了第一代處理器芯片,稱為ARM1,由Sophie Wilson設(shè)計(jì)出類似于6502的指令集,因?yàn)楫?dāng)時(shí)Acorn為英國(guó)國(guó)家廣播公司BBC所制造的BBC Micro計(jì)算機(jī)采用MOS 6502處理器,使用類似的指令集有助于縮短開發(fā)時(shí)間以及技術(shù)轉(zhuǎn)移。Steve Furber則是負(fù)責(zé)設(shè)計(jì)硬件實(shí)作。ARM1以第二顆處理器的身分,安裝在BBC Micro內(nèi)部。

ARM1在晶圓設(shè)計(jì)部分,規(guī)格為3微米制程、2層金屬層、總計(jì)2萬(wàn)5千個(gè)晶體管、6MHz運(yùn)作時(shí)脈、消耗功率120mW、芯片面積50mm2。當(dāng)時(shí)Intel的80286使用1.5微米制程、13萬(wàn)4千個(gè)晶體管、6~12Mhz運(yùn)作時(shí)脈,同時(shí)這2款處理器都不包含快取。

同年10月,Intel發(fā)表80386處理器,與之相比,ARM1顯得功能簡(jiǎn)單、能源消耗較少,在效能上不是80386的對(duì)手。這一差異導(dǎo)致ARM系列處理器往后的設(shè)計(jì)路線明顯與Intel不同,Intel持續(xù)邁向x86高效能設(shè)計(jì),ARM專注于低成本、低功耗的研發(fā)
4. 漸入佳境、架構(gòu)變更

真正商業(yè)化的處理器為ARM2,ARM1處理器架構(gòu)為ARMv1,到了ARM2更新到ARMv2,這一代新增乘法器在核心之中。ARMv2的進(jìn)階版ARMv2a則是多包了存儲(chǔ)器管理核心、繪圖及I/O處理器。接下來(lái)的ARM3,處理器架構(gòu)ARMv2a,是第一次于CPU里內(nèi)建了4KB快取。1990年,Acorn開始與蘋果計(jì)算機(jī)合作發(fā)展新一代的ARM芯片,特地還為此設(shè)立了一間公司,稱為Advanced RISC Machines公司。最初財(cái)務(wù)吃緊,辦公室僅為一個(gè)谷倉(cāng),成員也僅有12人。原本ARM所代表的Acorn RISC Machine,也在此時(shí)更換為Advanced RISC Machine。

1991年發(fā)展出的ARM6,處理器架構(gòu)更新為ARMv3,主要擴(kuò)展存儲(chǔ)器定址線。之前的ARM產(chǎn)品都只有26bit的存儲(chǔ)器定址線,最大可支援64MB的存儲(chǔ)器。從ARM6開始,完整支援32位元存儲(chǔ)器定址,最大支援到4GB。在此離題一下,ARM6處理器家族下的ARM610處理器,曾經(jīng)用在蘋果計(jì)算機(jī)的Newton Message Pad上頭,Newton也被視為現(xiàn)今PDA與Smart Phone的始祖。

5. 開始大賣的ARM7

1993年推出的ARM7延續(xù)著ARMv3核心,但是由于制程的進(jìn)步,快取加大至8KB,時(shí)脈也一舉拉高至40MHz。

ARM7TDMI(處理器架構(gòu)ARMv4T),除了原本的32位元指令集外,還新增了Thumb,也就是精簡(jiǎn)過(guò)的16位元指令集,讓編譯出來(lái)的程序可以縮小程序碼體積,官方表示與標(biāo)準(zhǔn)的ARM指令集相比,可以縮小35%的程序碼體積,又能享受32位元架構(gòu)所帶來(lái)的效能提升。Thumb指令在執(zhí)行時(shí)會(huì)通過(guò)處理器內(nèi)一個(gè)叫做Thumb譯碼器的東西,及時(shí)解壓成32位元ARM指令,同時(shí)也可受惠于32bit的存儲(chǔ)器總線,加速指令與資料的載入。

但之后的ARM8家族和Digital Equipment Corporation向ARM買授權(quán)自行制作的處理器StrongARM,都不支援Thumb。

ARM7EJ的處理器架構(gòu)為ARMv5TEJ,直接加入稱為Jazelle DBX的運(yùn)算電路,能夠以硬件加速大部分的Java bytecode,提升Java程序的執(zhí)行效率;同時(shí)也新增適合處理DSP的指令,如飽和運(yùn)算(saturated arithmetic)可以加速多媒體應(yīng)用
5.1. Java的執(zhí)行方式

程序設(shè)計(jì)師以Java語(yǔ)言寫出程序后,經(jīng)過(guò)編譯器編譯成Java bytecode檔,執(zhí)行時(shí)便把這個(gè)Java bytecode丟入一個(gè)稱作JVM(Java Virtual Machine)的模擬器里執(zhí)行,在各種平臺(tái)上都有不同的JVM,所以編譯過(guò)后的Java bytecode能夠跨平臺(tái)執(zhí)行。

5.2. 飽和運(yùn)算(saturated arithmetic)

正常以二進(jìn)制表示為11111111(255)+00000001(1)=100000000(256),但是一個(gè)8bit的加法器,當(dāng)輸入255+1的指令后,計(jì)算出來(lái)的結(jié)果將會(huì)是0。因?yàn)樘幚砥髦挥?bit,最高位會(huì)產(chǎn)生數(shù)值溢位,實(shí)際交由8bit加法器運(yùn)算將變成11111111(255)+00000001(1)=00000000(0)。但是當(dāng)處理器支援飽和運(yùn)算后,255+1的結(jié)果將變成255,經(jīng)計(jì)算后的數(shù)值資料只會(huì)頂天立地(該資料類型的最大值或最小值),不會(huì)產(chǎn)生overflow或是underflow。
6. 更換為哈佛架構(gòu)

ARM9處理器家族內(nèi)部處理器架構(gòu)為ARMv5TE,導(dǎo)入了相當(dāng)重要的架構(gòu)更新,以往ARM和x86處理器都是采用馮?紐曼架構(gòu),意即中央處理器和儲(chǔ)存裝置是分開的,中央處理器到儲(chǔ)存裝置中讀取一段程序碼執(zhí)行,而不同程序碼可以造成不同的執(zhí)行結(jié)果。相較于古早時(shí)代的計(jì)算機(jī),一旦要執(zhí)行不同的程序碼時(shí),必須更動(dòng)硬件設(shè)計(jì),重新接線。約翰?馮?紐曼在1945年的論文中提出這個(gè)處理單元和儲(chǔ)存單元分離的概念,對(duì)于后來(lái)計(jì)算機(jī)發(fā)展有相當(dāng)重大的影響。

哈佛架構(gòu)則是馮?紐曼架構(gòu)的延伸,哈佛架構(gòu)更進(jìn)一步定義了程序和資料是由兩個(gè)獨(dú)立的空間儲(chǔ)存,同時(shí)也有兩個(gè)存儲(chǔ)器控制單元分別操作。讀取程序后譯碼便得到資料位址,再到資料存儲(chǔ)器中讀取資料。此種架構(gòu)好處在于指令和資料的存儲(chǔ)器操作能夠同時(shí)進(jìn)行,當(dāng)處理器在運(yùn)算資料時(shí),便可以先行擷取下一道指令。

7. 智能型手機(jī)應(yīng)用大爆發(fā)

被蘋果相中的ARMv6

在2007年的Macworld發(fā)生了一件大事,劃時(shí)代的iPhone誕生了,直覺的使用者操作立刻席卷全球,App Store的商業(yè)模式解決以往PDA程序太少的窘?jīng)r。而第一代的iPhone和其后的iPhone 3G便是采用ARMv6處理器架構(gòu),也是第一次讓人感受到,原來(lái)ARM可以做到這么好的使用者體驗(yàn)。

ARMv6架構(gòu)在2001提出,對(duì)應(yīng)ARM11處理器家族。新增SIMD處理功能,相當(dāng)適合影片處理加速使用。同時(shí)也提出ARM11MPCore,首次將多核心的概念導(dǎo)入ARM處理器中。Thumb指令集也升級(jí)到第2代Thumb-2,將原先16bit的指令集部分?jǐn)U展到32bit,變成同時(shí)擁有16bit和32bit指令長(zhǎng)度的指令集。

不過(guò)這個(gè)ARMv6架構(gòu)有點(diǎn)短命,還沒看到幾顆多核的ARM11處理器(NVIDIATegra即為ARM11MPCore),就被ARM緊接而來(lái)的Cortex處理器給蓋過(guò)去。

7.1. 劃分高中低階的Cortex

在ARM11之后的處理器家族,改采Cortex命名,并針對(duì)高、中、低階分別劃分為A、R、M三大處理器。象是高階手機(jī)用的Coretex-A系列,或者是微控制器所使用的Coretex-M系列,需要較高性能、或是實(shí)時(shí)處理的系統(tǒng)則改用Coretex-R系列。

除了Cortex-M0、Cortex-M1為ARMv6-M,馮?紐曼架構(gòu)之外,其他Cortex的處理器架構(gòu)更新到ARMv7,一樣由高至低分成ARMv7-A、ARMv7-R、ARMv7-M三種,其中ARMv7-M不支援最原始的ARM指令集,僅支援16bit的Thumb指令集,卻加入NVIC(Nested Vectored Interrupt Controller),提供更快的中斷處理、還有負(fù)責(zé)CPU在深層睡眠時(shí)的中斷處理WIC(Wake-up Interrupt Controller)。

Cortex-A(ARMv7-A)和 Coretex-R(ARMv7-R)2種架構(gòu)基本上是相同的,都支援更新的進(jìn)階型SIMD處理,稱為NEON,ARM宣稱效能至少是上一代處理器架構(gòu)ARMv6的2倍。NVIDIA的Tegra 2處理器較為特殊,雖是采用Cortex-A的CPU,但沒有包含NEON,反而使用自家的技術(shù),內(nèi)建專門的音訊處理器和視訊處理器。

Cortex-A和 Coretex-R最大的差異在于存儲(chǔ)器管理單元部分,Cortex-A使用MMU(memory management unit)、Cortex-R使用MPU(memory protection unit)。前者的存儲(chǔ)器管理單元提供虛擬存儲(chǔ)器的支援,后者只能運(yùn)作在存儲(chǔ)器保護(hù)模式。
7.2. 存儲(chǔ)器管理:real、protected、virtual

最初的CPU存儲(chǔ)器管理只有real mode,在這個(gè)模式下,所有程序都可以直接存取存儲(chǔ)器、I/O、計(jì)算機(jī)附加的硬件。但是在這種模式下的存儲(chǔ)器空間少(1MB),程序無(wú)法多工(如果2個(gè)程序同時(shí)喂給打印機(jī)資料,印出來(lái)會(huì)是什么鬼啊!)。到了80286處理器后,導(dǎo)入了protected mode,將作業(yè)系統(tǒng)和程序的存儲(chǔ)器區(qū)塊分開,如果程序想要存取存儲(chǔ)器,必須經(jīng)由作業(yè)系統(tǒng)中介。從而提升系統(tǒng)安全性和穩(wěn)定性。virtual memory則是在protected mode下的產(chǎn)物,允許硬盤之類非實(shí)體存儲(chǔ)器的裝置能夠模擬成存儲(chǔ)器。邏輯上來(lái)說(shuō),可以在不增加硬件花費(fèi)的情況下,直接加大實(shí)體存儲(chǔ)器容量。但硬盤的存取速度卻遠(yuǎn)不如實(shí)體存儲(chǔ)器,目前SATA 6Gb/s界面頻寬為6Gb/s,DDR3-1600雙通道的界面頻寬卻有25.6GB/s,兩者相差約43倍。

8. 遍地開花的ARM

ARM一開始與蘋果、VLSI所投資的資金下成立,初期營(yíng)運(yùn)狀況不佳,而英國(guó)當(dāng)?shù)匾矝]有什么晶圓廠,同時(shí)ARM也決心將自行發(fā)展的技術(shù)成為業(yè)界的標(biāo)準(zhǔn)。在這些條件的加總之下,ARM選擇了以IP授權(quán)的方式經(jīng)營(yíng)。

IP(intellectual property智慧財(cái)產(chǎn)權(quán))授權(quán),即是把自己所創(chuàng)造的東西,以某種方式授權(quán)給其他人利用。例如我們?cè)谛腥舜┰骄€兩旁所看到的小綠人走路燈號(hào),當(dāng)初的設(shè)計(jì)者便可以把此種想法授權(quán)給其它地區(qū)采用,借以收取授權(quán)費(fèi)。而ARM也是透過(guò)此種方式營(yíng)利,除了一開始的授權(quán)費(fèi)之外,每賣出一顆芯片還需要付版權(quán)費(fèi)。另一家較為知名采用IP授權(quán)營(yíng)利的公司為MIPS,其產(chǎn)品常常可以在網(wǎng)絡(luò)設(shè)備中見到。

這種授權(quán)方式使得每家公司都可以依據(jù)自身需求,設(shè)計(jì)出客制化芯片。比如說(shuō)產(chǎn)品并不需要繪圖的部分,便可以把繪圖IP核心拿掉,亦或者也可以在芯片里塞入其他家廠商做出的IP核心,讓功能更多元。相較于Intel近年強(qiáng)迫中獎(jiǎng)的顯示核心,ARM的作法彈性許多。

9. 未來(lái)朝向64bit邁進(jìn)

如同 x86邁向x64一般,ARM也需要更大的總線來(lái)增加效能。在下一代的ARMv8架構(gòu)中,也將加入64bit的支援,但是一切都還在討論中。但是現(xiàn)在也不急,暫時(shí)還有個(gè)Coretex-A15可以拿來(lái)填一下發(fā)展時(shí)程,至于會(huì)增加哪些指令集則尚未確定。

ARMv8處理器將有2個(gè)執(zhí)行狀態(tài),AArch32和AArch64。前者將完全兼容ARMv7的指令集及架構(gòu),將原封不動(dòng)地移植到ARMv8身上。后者AArch64則是全新的指令集與處理器架構(gòu)。

ARM目前也在積極建立并等待64bit的生態(tài)鏈完備,就如同x86轉(zhuǎn)換到x64一般,AMD的64位元處理器早在2003年問(wèn)世,但是等到64位元作業(yè)系統(tǒng)、程序真正普及,卻也只是近幾年的事情而已。更別說(shuō)一般人計(jì)算機(jī)C槽里那個(gè)Program Files x86資料夾,放在里面的程序應(yīng)該比Program Files還要多。

最近開始身價(jià)上漲的硬件加解密功能,ARM也預(yù)計(jì)加入AES加解密的指令,利用進(jìn)階SIMD的128bit暫存器來(lái)實(shí)作,SHA-1和SHA-256也在支援中。

 

全自動(dòng)六頭貼片機(jī)
博維科技
浙江省嘉興市南湖區(qū)文賢路134號(hào)
鄧經(jīng)理:15958377685    400-600-0406
博維科技聯(lián)系方式、博維科技官方微信
  • 返回頂部
  • 400-600-0406
  • 微信二維碼
    微信二維碼
  • 微信公眾號(hào)
    微信公眾號(hào)
點(diǎn)擊這里給我發(fā)消息