深入理解電腦系統之筆記

來源:互聯網
上載者:User
chap4.處理器體繫結構指令執行階段
  1. 取指(fetch):從儲存空間中讀取指令位元組,地址為PC的值。從指令中抽取出指令指示符位元組的兩個四位部分,稱為icode(指令代碼)和ifun(指令功能)。它可能取出一個寄存器指示符位元組,指明一個或兩個寄存器運算元指示符rA和rB。它還可能取出一個四位元組常數字valC。它按順序方式計算下一條指令的地址valP,valP等於PC的值加上已取指令的長度。
  2. 解碼(decode):從寄存器檔案中讀入最多兩個運算元,得到值valA和值valB。
  3. 執行(execute):ALU要麼執行指令指明的操作,計算儲存空間引用的有效地址,要麼改變棧指標。
  4. 訪存(memory):可以將資料寫入儲存空間,或者從儲存空間中讀出資料。
  5. 更新PC(PC update):將PC設定成下一條指令的地址。
chap5.最佳化程式效能妨礙編譯器最佳化的因素(memory blocker):

1.儲存空間別名使用(memory aliasing):兩個指標可能指向同一個儲存空間位置的情況。
2.函數調用:當函數調用會修改全域變數時,就有可能妨礙編譯器最佳化。
代碼最佳化:

1.消除迴圈的低效率:代碼移動;
2.減少程序呼叫;
3.消除不必要的儲存空間引用:採用局部變數(存放在寄存器中的)儲存中間結果。
超標量(superscalar):在每個刻度可以執行多個操作,而且是亂序的,意思就是指令執行的順序可以與它們在機器級程式中的順序不一致。
4.迴圈展開:減少了不直接有助於程式結果的操作的數量;提高局部的並行性,從而減少了整個計算中關鍵路徑的長度。
5.書寫適合用條件傳送實現的代碼。

Amdahl定律:S=1/((1-a)+a/k)。S:加速比;a:占系統時間的百分比;k:提高倍速。因此要想大幅度提高整個系統的速度,必須提高整個系統很大一部分的速度。

chap6.儲存空間階層儲存空間層次
  1. 寄存器:緩衝4位元組或8位元組,訪問時間為0個刻度,由編譯器管理;
  2. TLB(翻譯後備緩衝器):緩衝地址翻譯的頁表,訪問時間為0個刻度,由MMU(儲存空間嵌入式管理單元)管理;
  3. L1快取:緩衝64位元組塊,訪問時間為1個刻度,由硬體管理;
  4. L2快取:緩衝64位元組塊,訪問時間為10個刻度,由硬體管理;
  5. L3快取:緩衝64位元組塊,訪問時間為30個刻度,由硬體管理;
  6. 虛擬儲存空間:緩衝4-kb的記憶體頁,訪問時間為100個刻度,由硬體+OS管理;
  7. 緩衝區快取:緩衝部分檔案,訪問時間為100個刻度,由OS管理;
  8. 磁碟緩衝:緩衝磁碟檔案,訪問時間為100000個刻度,由控制器韌體管理;
  9. 網路緩衝:緩衝網路檔案,訪問時間為10000000個刻度,由AFS/NFS用戶端程式管理。
可以看出,上層儲存空間緩衝了下層儲存空間的一部分內容,層次越高,訪問速度越快,單位成本也越高,相應的容量越小。儲存空間緩衝的核心思想:局部性空間局部性:被引用過一次的儲存空間位置,很有可能在不久的將來會引用它附近位置的儲存空間;時間局部性:被引用過一次的儲存空間位置,很有可能在不久的將來會被再次引用到。快取:(S,E,B,m)S:快取組數E:組內的快取行數。行數越多,關聯度越高,時間局部性越好。能提高命中率,降低由於衝突不命中出現抖動的可能性,但是會增加命中時間,相應的會增加不命中處罰。B:塊大小(位元組)。塊越大,空間局部性越好,能提高命中率,也會提高不命中處罰(替換成本提高了)m:物理地址位元
  • 直接映射快取:E=1
  • 組相聯快取:E>1
  • 全相聯快取:S=1
儲存空間地址:t+s+b=mt:被用作行標記,因為儲存空間中多個塊會被映射到同一個組。t = m-s-bs:組索引號。2^s = Sb:塊索引號。2^b = B選用中間位作為組索引的原因:它可以使得儲存空間中相鄰的塊被映射到不同的組中,從而使得空間局部性良好的程式運行時能充分利用快取。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.