亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

安騰64位技術概述
2007-03-19   微軟(中國)有限公司 開發合作部

EFI:Itanium 的 BIOS

Itanium 的 BIOS 并不是您通常熟悉的個人計算機的 BIOS??蓴U展固件接口 (EFI) 是將操作系統從 BIOS 和硬件中分離出來的抽象層。EFI Shell 與 Windows 中的命令提示符很相似。在某些方面,EFI Shell 就像是一個內置的小型操作系統。從 EFI Shell,您可以訪問驅動器(包括 CD-ROM)、運行可執行文件(例如 Windows 的安裝程序),甚至可以執行簡單的文本編輯。系統配置數據存儲在非揮發性內存中,而不是存儲在硬盤上,并且可以通過 EFI Shell 進行配置。

EPIC:Intel 的順序處理器

Itanium 是一種順序處理器,意味著它會以指令提供的順序來執行這些指令。這與普通的 x86 處理器不同,x86 處理器在可能的情況下會在管線中重新排序指令,然后嘗試并行執行指令。對于 Itanium 而言,編譯器必須明確地排序指令,然后負責檢查指令之間的相互依存關系。編譯器還必須負責通知處理器可以并行執行的指令。Intel 有一個為此定義的新術語:EPIC。EPIC 表示明確并行指令集計算。它負責編譯器執行所有優化。處理器將不會進行任何重新排序。這使得編譯器責任更加重大,稍后將在本文中進行討論。

執行單元

Itanium 由九個執行單元組成,如下所示:

兩個整數單元

兩個整數/負載存儲單元

兩個浮點單元

三個分支單元

Itanium 具有一個十階管線,負責提取、解碼和執行指令。Itanium 最多可以同時處理六條指令。

寄存器

Itanium 具有多達 328 個寄存器:128 個 64 位整數通用寄存器、128 個 82 位浮點寄存器、64 個 1 位謂詞寄存器、8 個分支寄存器以及用于各種目的的其他寄存器的集合,例如 x86 后向兼容性(當運行在 x86 兼容模式中時,Itanium 會將一些 x86 寄存器映射到 64 位寄存器上,同時提供專門用于處理器的 x86 模式的其他寄存器)。

要協助管理如此大量的寄存器,Itanium 有能力同時設計和輪換寄存器。我們將通用寄存器分成兩組:前 32 個寄存器是固定的、全局寄存器。后 96 個寄存器可以用于設計和輪換。

寄存器設計

ALLOC 指令用于建立寄存器框架。寄存器框架將物理寄存器(硬件)映射到邏輯寄存器(軟件)上,這樣當調用某個函數時,不再需要推出或彈出所有參數,編譯器就可以為子例程分配一定范圍的寄存器,其中的一些寄存器可能會映射到父例程的寄存器上。可以在兩者之間重疊的寄存器用于傳遞參數。這樣比將參數推出和彈出到堆棧上更為有效。當然,推出和彈出參數的傳統方法仍然可以使用。

由于前 32 個寄存器是固定的,您無法設計它們。因此,可以設計的寄存器的最大數量為(其余的)96 個寄存器。另外,只有整數寄存器可以設計,浮點寄存器和謂詞寄存器不能進行設計。

寄存器輪換

寄存器也可以輪換或轉移到一個或多個位置。在解開循環時,這可能很有幫助,因此使用不同的物理寄存器,在不相互干預的情況下,那些周而復始地在相同的寄存器集中運行的循環可以同時運行。利用這個選項,編譯器可以更進一步改進指令的并行處理。

指令集

IA-64 指令是 41 位長的指令。指定 128 個通用寄存器中之一需要使用七位,并且指定兩個源寄存器和一個目標寄存器,一共是 21 位。每條指令可以指定 64 個謂詞寄存器中的一個,再加上 6 位。這占用了 27 位,而我們尚未指定實際的操作代碼。

指令封裝到 128 位的“綁定”中。其中三條指令(123 位),再加上 5 位模板字段。然后,這些綁定會被匯編到“組”中。組是理論上可以同時執行的指令集合。組中的指令沒有相互依存關系。在編譯時,編譯器必須對此進行計算并對綁定一起分組。處理器將不會再次檢查編譯器的工作,所以編譯器必須保證其正確。組可以是任意的長度。模板字段中的一位表示組的結束。

綁定和組是不同的。綁定是指令分派到處理器的方式。Itanium 的總線和解碼電路為 128 位寬,剛好用于 3 條指令(Itanium 實際上同時分派兩個綁定)。組是指令進行交互的邏輯方式。

熱詞搜索:

上一篇:64位windows常規編程簡介
下一篇:2000、XP、2003所有注冊表設置 5

分享到: 收藏