linux bible 處理器(轉)

BSDLite發表於2007-08-11
linux bible 處理器(轉)[@more@]Linux可以執行在許多型別的處理器上,本章將給出對它們的簡單描敘。

13.1 X86

省略

13.2 ARM

ARM處理器是一種低功耗高效能的32位RISC處理器。它在嵌入式裝置如行動電話和PDA
中廣泛使用。共有31個32位暫存器而其中16個可以在任何模式下看到。它的指令為簡
單的載入與儲存指令(從記憶體中載入某個值,執行完操作後再將其放回記憶體)。ARM一
個有趣的特點是它所有的指令都帶有條件。例如你可以測試某個暫存器的值但是直到
下次你使用同一條件時進行測試時,你才能有條件的執行這些指令。另一個特徵是可以
在載入數值的同時進行算術和移位操作。它可以在幾種模式下操作,包括透過使用SWI
(軟體中斷)指令從使用者模式進入的系統模式。

ARM處理器是一個綜合體,ARM公司自身並不製造微處理器。它們是有ARM的合作伙伴
(Intel或LSI)製造。ARM還允許將其他處理器透過協處理器介面進行緊耦合。它還包
括幾種記憶體管理單元的變種,包括簡單的記憶體保護到複雜的頁面層次。

13.3 Alpha AXP處理器

Alpha
AXP是一種64位的load/store型別的RISC處理器,其設計目標就是高速度。它所有的
暫存器都是64位;還擁有32個整數暫存器和32個浮點數暫存器。第31個整數與浮點數
暫存器被用來進行空操作。對它們讀將得到0,對它們的寫沒有什麼影響。所有的指令
都是32位並且記憶體操作不是寫就是讀。這種結構允許不同的實現。

不能對記憶體中數值的操作,所有的資料操作都是在暫存器中完成。所以如果你試圖遞
增一個記憶體中的計數器則必須先讀入暫存器,修改後再寫回。指令之間的相互操作僅
僅透過其中一個對暫存器和記憶體位置的寫入而另一個從暫存器或記憶體位置讀出而進行。
AlphaAXP處理器的一個有趣的特徵是包含可產生標誌位的指令。如測試兩個暫存器中
的值是否相等,其結果沒有存放在處理器狀態暫存器中而是放在第3個暫存器裡。初
看起來好象很奇怪,但是刪除對狀態暫存器的依賴關係將更加容易構造一個超標量多
發射CPU體系結構。在不相關暫存器中的指令將不必為從單一狀態暫存器等待而浪費執
行時間。缺少對記憶體的直接操作以及大量暫存器對多發射結構也有幫助。

Alpha
AXP結構使用叫做特權體系庫程式碼(PALcode)的一組子程式。此PALcode依賴於特定
的作業系統、Alpha AXP體系的CPU實現以及系統硬體。這些子程式為作業系統提供了
上下文切換、中斷、異常和記憶體管理原語。它們可以由硬體或者透過CALL_PAL指令來
呼叫。PALcode使用標準的Alpha AXP彙編程式碼寫成並做了一些擴充套件以提供對底層硬體
指令的直接訪問,如內部處理器暫存器。PALcode在一種叫PALmode的特權模式下執行,
此時它將停止一些系統事件的發生並允許PALcode對物理系統硬體進行完全的控制。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-947544/,如需轉載,請註明出處,否則將追究法律責任。

相關文章