《計算機體系結構:量化研究方法》讀書筆記

wangbowj123發表於2020-10-04

Lecture 1: Quantitative Approach

1.計算機體系結構與計算機組成原理有什麼區別?

計算機的實現包括兩個方面:組成和硬體。組成一詞包含了計算機設計的高階內容,例如儲存器系統,儲存器互連,設計內部處理器 CPU (中央處理器——算術、邏輯、分支和資料傳送功能都在內部實現)。有時也用微體系結構一詞來代替“組成”。例如AMD Operon和Intel Core I7是兩個指令集體系結構相同但組成不同的處理器。這兩種處理器都實現X86指令集,但它們的流水線和快取組成有很大的不同。硬體指的是一個計算機的具體實現,包括計算機的詳盡邏輯設計和封裝技術。

真正的體系結構涵蓋了計算機設計的所有三個方面:指令集體系結構、組成或微體系結構、硬體。計算機架構師設計的計算機必須滿足功能需求,並達到價格、功耗、效能和可用性指標。

2.現如今的晶片設計趨勢或者現狀是怎樣的?

功率是現如今使用電晶體的主要限制,通過降低電壓可以大幅度降低動態功率和能耗,二十年來,電壓已經從最初的5V降低到1V以下,然而如果不能降低電壓或提高每個晶片的功率,那可能就要減緩時脈頻率的增長速度,這也是從2003年以來的主要趨勢。

3.怎樣設計出低成本的積體電路?

雖然積體電路的成本以指數形式下降,但基本的矽製造工藝沒有變化:仍需要對晶圓進行測試,切割成晶片進行封裝。對於計算機設計人員來講,由於製造工藝決定了晶圓的成本、晶圓成品率和單位面積上的缺陷數,設計人員唯一可控的就是晶片面積。

4.如何對計算機的效能進行評估?

使用量化的研究方法,從計算機的響應時間、執行時間、吞吐量來進行綜合評估。

主要通過基準測試來對計算機進行效能的測試與度量,包括:桌面基準測試、伺服器基準測試。要注意SPEC基準測試集,是一個使用相當廣泛的測試集。

5.如何理解程式區域性性?

區域性性原理指的是程式常常重複使用它們最近使用過的資料和指令。有一條廣泛使用的經驗規律:一個程式90%的執行時間花費在僅10%的程式碼中。充分利用時間區域性性和空間區域性性可以優化程式的執行時間。

處理器中指令的提取與譯碼器的使用可能比乘法器要繁瑣的多,所以應該優先對其進行優化。

6.設計多核晶片的意義何在?

2005年以來,之所以轉向一芯多核,並不是因為取得了什麼重大突破,顯著簡化了並行程式設計方式。而是因為ILP(指令級並行)壁壘和功率壁壘的存在存在而別無選擇。在一個晶片中設計多個處理器並不能保證功率較低。而的確有可能設計一種消耗更高功率的多核晶片。其潛力僅僅在於能夠用幾個低時脈頻率的高效核心代替高時脈頻率的低效核心,從而有可能提高整體效率。因此多核處理器並不是萬能的。

在這裡插入圖片描述
First Microprocessor Intel 4004, 1971

7.Amdahl 定理有何作用?

利用Amdahl 定理可以計算出通過改進計算機某一部分而能獲得的效能增益。

Lecture 2: Instruction Set Principles

在這裡插入圖片描述
指令集架構(Instruction Set Architecture, ISA)-組合語言程式設計師或編譯器編寫者可見

ISA包括:

  • 1.程式設計暫存器
  • 2.運算元訪問
  • 2.運算元的型別和大小
  • 4.指令集
  • 5.定址模式
  • 6.指令編碼

ISA 是硬體與軟體之間的連線點。任何在記憶體裡執行的程式都將通過 ISA 進行解耦從而能在底層架構上執行。
在這裡插入圖片描述

計算機體系結構和抽象層如下:
在這裡插入圖片描述

算術運算指令的執行主要分為以下幾種:

  • Stack type:運算元隱含在棧頂指標
  • R-R type:運算元都在暫存器中
  • R-AC type:一個運算元隱含在 AC 計數器中
  • R-M type:需要訪存操作去取運算元

在這裡插入圖片描述

相關文章