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(向量浮點架構)的協同處理器,提升浮點數運算能力。
(後面還有智慧型手機應用大爆發)
R.F.每次的文章都非常認真且圖文並茂 確實能讓讀者長知識
我相信喜歡T客邦與電腦王的讀者 一定都很喜歡這種有料的文章
而不是只有一些小道消息與八卦
R.F.編輯 堪稱T客邦的模範生阿!
這個不推對不起良心阿
<( ̄︶ ̄)>
只有在書中有看到這種架構
殊不知是這樣誕生的
讚(≧▽≦)
是我不懂還是打錯了?
因該是[兩者相差約4.3倍]吧?
> 目前SATA 6Gb/s介面頻寬為6Gb/s,DDR3-1600雙通道的介面頻寬卻有25.6GB/s,兩者相差約43倍。
>
> 是我不懂還是打錯了?
> 因該是[兩者相差約4.3倍]吧?
大B跟小b不一樣
> 目前SATA 6Gb/s介面頻寬為6Gb/s,DDR3-1600雙通道的介面頻寬卻有25.6GB/s,兩者相差約43倍。
>
> 是我不懂還是打錯了?
> 因該是[兩者相差約4.3倍]吧?
請記得bit和Byte要單位換算喔<( ̄︶ ̄)>
此外說明一下,一般來說,序列傳輸介面(COM Port、SATA、網路線、PCI-E……)一次只傳一個位元,所以使用bits/sec單位。
並列傳輸介面(Parallel Port、PATA、RAM……)一次會傳送許多個位元,使用Bytes/sec單位。
不過以上只是個通俗用法,如果硬要轉換也是可以的XD
在技術優先的領域,台灣人終究是個半吊子
有些人隨便烙幾句話, 辦個投票也是ㄧ篇稿子, 你寫的要死要活也是ㄧ篇稿子, 績效應該要不一樣吧, 不然很可憐...
加油, 這種由淺入深的文章很讚, 可以帶ㄧ些不是本行的人了解這些生硬的東西...
> 你在T客邦的工作會不會太繁重?
> 有些人隨便烙幾句話, 辦個投票也是ㄧ篇稿子, 你寫的要死要活也是ㄧ篇稿子, 績效應該要不一樣吧, 不然很可憐...
> 加油, 這種由淺入深的文章很讚, 可以帶ㄧ些不是本行的人了解這些生硬的東西...
>
感謝讀者的支持,這篇文章最先刊登在電腦王96期雜誌上,後轉載至T客邦上。
由於ARM採用IP授權的關係,資料挖得更深,也越覺得有趣,光是各家廠商的應用處理器之間的差異就相當的多,也還有Intel當初買了StrongARM做出自家的XScale,而後又賣給Marvell,近幾年又想利用Atom重返行動裝置市場,這歷史實在太黑了(≧▽≦)
> 感謝讀者的支持,這篇文章最先刊登在電腦王96期雜誌上,後轉載至T客邦上。
> 由於ARM採用IP授權的關係,資料挖得更深,也越覺得有趣,光是各家廠商的應用處理器之間的差異就相當的多,也還有Intel當初買了StrongARM做出自家的XScale,而後又賣給Marvell,近幾年又想利用Atom重返行動裝置市場,這歷史實在太黑了(≧▽≦)
讚!我這次真的受益良多呢!
可以的話,請務必說明一下這段黑歷史!
可惜沒什麼好片
> 請大大帶我們了解嘿歷史+1 (≧▽≦)
最近身處水深火熱地獄中,比較沒有空寫〒ˍ〒
但大致上是XScale當初虧錢,就賣給了Marvell,現在又看到行動市場有利可圖,就把Atom直接砸下去做手機
不過以Intel強大的製程技術,省電又強悍的手機效能似乎可以期待?
好文!!~
25.6*8/6 = 34
是不是算錯了?
> 目前SATA 6Gb/s介面頻寬為6Gb/s,DDR3-1600雙通道的介面頻寬卻有25.6GB/s,兩者相差約43倍。
>
> 25.6*8/6 = 34
>
> 是不是算錯了?
再次說明一下,SATA 6Gb/s採用8b/10b編碼(意即8bits的資料,會使用10bits表示),在傳輸上會有20%的資料冗餘,藉以提升傳輸資料的正確性,所以6Gb/s實際上頻寬只有600MB/s。