首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
2.按暫存機制分類
根據在CPU內部存儲操作數的區別,可以把指令集體系分為三類。這三類分別為:堆棧(stack)、累加器(accumulator)和寄存器集(a set of registers)。
3.通用寄存器機的分類
通用寄存器機(general-purpose register machines)簡稱GPR機。GPR的關鍵性優點起因于編譯程序能有效地使用寄存器,無論是計算機表達式的值,還是從全局的角度使用寄存器來保存變量的值。在表達式求解時,寄存器比堆;蛘呃奂悠髂芴峁└屿`活的次序。更重要的是寄存器能用來保存變量。當變量分配給寄存器時,訪存流量(memory traffic)就會減少,程序運行就會加速,而且代碼密度也會得到改善。可以用指令集的兩個主要特征來區分GPR體系結構。這兩個特征都是關于ALU指令即典型的算術邏輯指令中操作數的本質。第一個是ALU指令有兩個或三個操作數。在三操作數格式中,指令包括兩個源操作數物一個目的操作數。在二操作數格式中,有一個操作數既是源操作數又是目的操作數。第二個是ALU指令中有幾個操作數是存儲器地址,對典型的ALU指令,這個數可能在1與3之間。
。ǘ 指令格式及其優化
1.指令格式的設計考慮對于指令格式(instruction format)的設計有一些優先考慮的原則:
。1)關于指令的長度,短指令要比長指令更節約些。盡管存儲器的價格越來越便宜,但設計者還是不愿意浪費它們。
。2)還要考慮是否有足夠的空間表示所有期望的操作。
。3)在GPR結構中,無論是哪種寄存器與存儲器類型,提高存取指令的速度都是應該考慮的一個重要原則。存儲器的存取速度越高,就能給處理機提供更多的指令進行處理。在一定的存取速率下,如果平均指令長度較短,那么存儲器就能供應更多的指令。
。4)機器字長(word length)應該是字符長度(character length)的整數倍。否則,在存儲字符時就會造成浪費,而且也會造成尋址困難。
(5)尋址字段長度的選擇。假設存儲空間是2 19 位,如果存取單位的大小不同,則地址長度也不相同。
2.指令格式化
指令格式的優化既包括指令碼的優化,也包括操作數的優化。所謂指令格式的優化就是從整個指令系統的利用率角度出發,盡量設法減少指令中的冗余信息量,以便用最少的位數提供足夠的操作信息和地址信息。
3.哈夫曼編碼
哈夫曼編碼的基本概念是:對發生概率高的事件用短碼表示,對發生概率低的事件用長碼表示,這樣做的結果可以使平均編碼長度明顯壓縮,使之很接近理論編碼長度。要對指令碼進行優化表示,就必須知道每條指令在程度中出現的概率,即指令的使用頻度,一般都是通過對大量已有的典型程序進行統計而求得。獲得使用頻度后,即可根據這些數據構造一個哈夫曼樹。具體算法是:把各指令按使用頻度從小到大排序;從中取出最小與次最小的兩個指令作為葉結點構成二叉樹,其根為兩結點頻度之和,并把比值插入到頻度序列中;遞歸地使用此法繼續構造二叉樹,直到全部指令都作為葉結點使用完為止。有了哈夫曼樹(它是一個二叉樹),即可用它進行編碼。具體做法是:從根結點開始,把樹的左子樹線段標為1,右子樹線段標為0,直至葉結點。然后從每個指令所在的葉結點位置開始,沿最短路徑到達各個葉結點并依次寫下沿線的0、1序列。就得到該指令的哈夫曼編碼。
。ㄈ 指令集的復雜化。
1.指令集發展的兩個途徑
(1)CISC途徑CISC是Complex Instruction Set Computer(復雜指令集計算機)的縮寫。它的基本思想是:進一步增強原有指令的功能,用更為復雜的新指令取代原先由軟件子程序完成的功能,實現軟件功能的硬化。這是一種傳統的發展方向,早在50年代就已采用。這種途徑必然導致機器的指令系統越來越龐大而復雜。事實上,目前使用的絕大多數計算機都屬于CISC類型。
(2)RISC途徑RISC是Reduced Instruction Set Computer(精簡指令集計算機)的縮寫。其基本思想是:通過減少指令總數和簡化指令功能,降低硬件設計的復雜度,使指令能單周期執行,并通過優化編譯,提高指令的執行速度。這是一種革新的發展方向,在70年代末才開始興起。這種途徑必然導致機器的指令系統進一步精煉而簡單。
2.面向目標代碼的優化
為了提高目標程序的實現效率,人們對大量的機器語言目標代碼及其執行情況進行了統計。對程序中出現的各種指令以及指令串進行統計得到的百分比稱為靜態使用頻度。在程序執行過程中對出現的各種指令以及指令串進行統計得到的百分比稱為動態使用頻度。按靜態使用頻度來改進目標代碼可減少目標程序所占的存儲空間。按動態使用頻度來改進目標代碼可減少目標程序運行的執行時間。大量統計表明,動態和靜態使用頻度兩者非常接近,最常用的指令是存、取、條件轉移等。對它們加以優化,既可以減少程序所需的存儲空間,又可以提高程序的執行速度。
3.面向高級語言的優化
面向高級語言的優化就是盡可能縮小高級語言與機器語言之間的語義差距,以利于支持高級語言編譯系統,縮短編譯程序的長度和編譯所需的時間。
4.面向操作系統的優化
面向操作系統的優化就是進一步縮小操作系統與體系結構之間的語義差距,以利于減少操作系統運行所需的輔助時間,節省操作系統軟件所占用的存儲空間。操作系統的實現依賴于體系結構對它的支持。許多傳統機器指令例如算術邏輯指令、字符編輯指令、移位指令、控制轉移指令等,都可用于操作系統的實現。此外,還有相當一部分指令是專門為實現操作系統的各種功能而設計的。
希望與更多計算機等級考試的網友交流,請進入計算機等級考試論壇
更多信息請訪問:考試吧計算機等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |