ADVERTISEMENT
開始大賣的ARM7
1993年推出的ARM7延續著ARMv3核心,但是由於製程的進步,快取加大至8KB,時脈也一舉拉高至40MHz。
ARM7TDMI(處理器架構ARMv4T),除了原本的32位元指令集外,還新增了Thumb,也就是精簡過的16位元指令集,讓編譯出來的程式可以縮小程式碼體積,官方表示與標準的ARM指令集相比,可以縮小35%的程式碼體積,又能享受32位元架構所帶來的效能提升。Thumb指令在執行時會通過處理器內一個叫做Thumb解碼器的東西,及時解壓成32位元ARM指令,同時也可受惠於32bit的記憶體匯流排,加速指令與資料的載入。
但之後的ARM8家族和Digital Equipment Corporation向ARM買授權自行製作的處理器StrongARM,都不支援Thumb。
ARM7EJ的處理器架構為ARMv5TEJ,直接加入稱為Jazelle DBX的運算電路,能夠以硬體加速大部分的Java bytecode,提升Java程式的執行效率;同時也新增適合處理DSP的指令,如飽和運算(saturated arithmetic)可以加速多媒體應用。
Java的執行方式
程式設計師以Java語言寫出程式後,經過編譯器編譯成Java bytecode檔,執行時便把這個Java bytecode丟入一個稱作JVM(Java Virtual Machine)的模擬器裡執行,在各種平台上都有不同的JVM,所以編譯過後的Java bytecode能夠跨平台執行。
飽和運算(saturated arithmetic)
正常以二進位表示為11111111(255)+00000001(1)=100000000(256),但是一個8bit的加法器,當輸入255+1的指令後,計算出來的結果將會是0。因為處理器只有8bit,最高位會產生數值溢位,實際交由8bit加法器運算將變成11111111(255)+00000001(1)=00000000(0)。但是當處理器支援飽和運算後,255+1的結果將變成255,經計算後的數值資料只會頂天立地(該資料類型的最大值或最小值),不會產生overflow或是underflow。
更換為哈佛架構
ARM9處理器家族內部處理器架構為ARMv5TE,導入了相當重要的架構更新,以往ARM和x86處理器都是採用馮‧紐曼架構,意即中央處理器和儲存裝置是分開的,中央處理器到儲存裝置中讀取一段程式碼執行,而不同程式碼可以造成不同的執行結果。相較於古早時代的電腦,一旦要執行不同的程式碼時,必須更動硬體設計,重新接線。約翰‧馮‧紐曼在1945年的論文中提出這個處理單元和儲存單元分離的概念,對於後來電腦發展有相當重大的影響。
哈佛架構則是馮‧紐曼架構的延伸,哈佛架構更進一步定義了程式和資料是由兩個獨立的空間儲存,同時也有兩個記憶體控制單元分別操作。讀取程式後解碼便得到資料位址,再到資料記憶體中讀取資料。此種架構好處在於指令和資料的記憶體操作能夠同時進行,當處理器在運算資料時,便可以先行擷取下一道指令。
▲馮‧紐曼架構,程式和資料儲存在同一個記憶體中。
▲哈佛架構,程式和資料分開儲存至不同的記憶體中。
在ARM10E的處理器架構升級為ARMv5TE,加入了VFP(向量浮點架構)的協同處理器,提升浮點數運算能力。
(後面還有智慧型手機應用大爆發)
> 由於ARM採用IP授權的關係,資料挖得更深,也越覺得有趣,光是各家廠商的應用處理器之間的差異就相當的多,也還有Intel當初買了StrongARM做出自家的XScale,而後又賣給Marvell,近幾年又想利用Atom重返行動裝置市場,這歷史實在太黑了(≧▽≦)
大家好, 我是受害者 [拼命揮手]
╮(╯_╰)╭
> 歷史上第一台RISC電腦是IBM 801,或著是更早的CDC6600.... 說「首顆RISC微處理器」,一般都會先講IBM的ROMP,怎麼說應該還排不上ARM。
>
> ╮(╯_╰)╭
這是小弟當初在收集資料上的遺漏,感謝水球大大的指正
我也記得Nokia當年在打江山的確用了很多ARM
或許編輯可以找一下有關ARM跟Nokia的歷史
畢竟Apple也真的是比較後面的事 ...
> 歷史上第一台RISC電腦是IBM 801,或著是更早的CDC6600.... 說「首顆RISC微處理器」,一般都會先講IBM的ROMP,怎麼說應該還排不上ARM。
>
> ╮(╯_╰)╭
其實不能算是錯的喔,因為CDC6600是main frame而不是microcomputer,IBM 801則是minicomputer也不是microcomputer。而ROMP的設計雖然是microprocessor,也很早就設計完成,但是實際上市卻是遲至1986年的事情了。所以ARM的確是世界上第一顆上市的RISC microprocessor。
原本以為ATOM透過製程的進步,可以大副減少耗電量;同時消費者(手機廠)也願意為了高效能而減少待機時間。沒有想到ATOM的耗電量是手機業者完全不能接受,造成完全進不了手機產業。
另外就是,全世界所有廠商很有「默契」的拒絕用INTEL(和WINDOWS),不讓他們在PC上吃乾抹淨的故事重演。
但是,效能就是用電力換出來的。當ARM的效能和ATOM一樣時,他的耗電量也和ATOM是一樣。這個障礙應該就被打破,再加上INTEL的晶圓+IP實力,應該可以小勝收場。
不過,可惜,這是比軟體的年代,加上所有人都拒絕INTEL,所以除非ARM犯錯或是INTEL找到突破點,不然仍然是ARM的天下。
長知識了
請問我能轉貼這篇文章嗎?