日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Linux 核心--14.處理器

第十三章 處理器


Linux可以運(yùn)行在許多類型的處理器上,本章將給出對(duì)它們的簡(jiǎn)單描敘 。


13.1X86
省略


13.2ARM
ARM處理器是一種低功耗高性能的32位RISC處理器 。它在嵌入式設(shè)備如移動(dòng)電話和PDA中廣泛使用 。共有31個(gè) 32位寄存器而其中16個(gè)可以在任何模式下看到 。它的指令為簡(jiǎn)單的加載與存儲(chǔ)指令(從內(nèi)存中加載某個(gè)值, 執(zhí)行完操作后再將其放回內(nèi)存) 。ARM一個(gè)有趣的特點(diǎn)是它所有的指令都帶有條件 。例如你可以測(cè)試某個(gè) 寄存器的值但是直到下次你使用同一條件時(shí)進(jìn)行測(cè)試時(shí),你才能有條件的執(zhí)行這些指令 。另一個(gè)特征是可以 在加載數(shù)值的同時(shí)進(jìn)行算術(shù)和移位操作 。它可以在幾種模式下操作,包括通過使用SWI(軟件中斷)指令從 用戶模式進(jìn)入的系統(tǒng)模式 。

ARM處理器是一個(gè)綜合體,ARM公司自身并不制造微處理器 。它們是有ARM的合作伙伴(Intel或LSI)制造 。ARM還允許將其他處理器通過協(xié)處理器接口進(jìn)行緊耦合 。它還包括幾種內(nèi)存管理單元的變種,包括簡(jiǎn)單的 內(nèi)存保護(hù)到復(fù)雜的頁面層次 。


13.3Alpha AXP處理器
Alpha AXP是一種64位的load/store類型的RISC處理器,其設(shè)計(jì)目標(biāo)就是高速度 。它所有的寄存器都是64位; 還擁有32個(gè)整數(shù)寄存器和32個(gè)浮點(diǎn)數(shù)寄存器 。第31個(gè)整數(shù)與浮點(diǎn)數(shù)寄存器被用來進(jìn)行空操作 。對(duì)它們讀將 得到0,對(duì)它們的寫沒有什么影響 。所有的指令都是32位并且內(nèi)存操作不是寫就是讀 。這種結(jié)構(gòu)允許不同的 實(shí)現(xiàn) 。

不能對(duì)內(nèi)存中數(shù)值的操作,所有的數(shù)據(jù)操作都是在寄存器中完成 。所以如果你試圖遞增一個(gè)內(nèi)存中的計(jì)數(shù)器 則必須先讀入寄存器,修改后再寫回 。指令之間的相互操作僅僅通過其中一個(gè)對(duì)寄存器和內(nèi)存位置的寫入而 另一個(gè)從寄存器或內(nèi)存位置讀出而進(jìn)行 。Alpha AXP處理器的一個(gè)有趣的特征是包含可產(chǎn)生標(biāo)志位的指令 。如測(cè)試兩個(gè)寄存器中的值是否相等,其結(jié)果沒有存放在處理器狀態(tài)寄存器中而是放在第3個(gè)寄存器里 。初 看起來好象很奇怪,但是刪除對(duì)狀態(tài)寄存器的依賴關(guān)系將更加容易構(gòu)造一個(gè)超標(biāo)量多發(fā)射CPU體系結(jié)構(gòu) 。在 不相關(guān)寄存器中的指令將不必為從單一狀態(tài)寄存器等待而浪費(fèi)執(zhí)行時(shí)間 。缺少對(duì)內(nèi)存的直接操作以及大量 寄存器對(duì)多發(fā)射結(jié)構(gòu)也有幫助 。

Alpha AXP結(jié)構(gòu)使用叫做特權(quán)體系庫代碼(PALcode)的一組子程序 。此PALcode依賴于特定的操作系統(tǒng)、 Alpha AXP體系的CPU實(shí)現(xiàn)以及系統(tǒng)硬件 。這些子程序?yàn)椴僮飨到y(tǒng)提供了上下文切換、中斷、異常和內(nèi)存 管理原語 。它們可以由硬件或者通過CALL_PAL指令來調(diào)用 。PALcode使用標(biāo)準(zhǔn)的Alpha AXP匯編代碼寫成并 做了一些擴(kuò)展以提供對(duì)底層硬件指令的直接訪問,如內(nèi)部處理器寄存器 。PALcode在一種叫PALmode的特權(quán) 模式下執(zhí)行,此時(shí)它將停止一些系統(tǒng)事件的發(fā)生并允許PALcode對(duì)物理系統(tǒng)硬件進(jìn)行完全的控制 。

    推薦閱讀