當我們對系統的某個部分加速時,其對系統整體效能的影響取決於該部分的重要性和加速程度。若系統執行某應用程式需要時間為to
ldt ol
d。假設系統某部分所需執行時間與該時間的比例為
α α
,而該部分效能提公升比例為
k k
。即該部分初始所需時間為αt
old'>αto
ldαt
old,現在所需時間為(α
told
)/k (αt
old)
/k
。因此,總的執行時間應為 tn
ew=(
1−α)
told
+(αt
old)
/k=t
old[
(1−α
)+α/
k]t ne
w=(1
−α)t
old+
(αto
ld)/
k=to
ld[(
1−α)
+α/k
]由此,可以計算加速比s=
told
/tne
w s=t
old/
tnew
為 s=
1(1−
α)+α
/ks =1
(1−α
)+α/
kamdahl定律的主要觀點——要想顯著加速整個系統,必須提公升全系統中相當大的部分的速度。
傳統意義上,這種併發執行只是模擬出來的,是通過使一台計算機在它正在執行的程序間快速切換來實現的,就好像乙個雜耍藝人保持多個球在空中飛舞一樣。
超執行緒,有時稱為同時多執行緒(simultaneous multi-threading),是一項允許乙個cpu執行多個控制流的技術。
在較低的抽象層次上,現代處理器可以同時執行多條指令的屬性稱為指令級並行。
如果處理器可以達到比乙個週期一條指令更快的執行速率,就稱之為超標量(super-scalar)處理器。大多數現代處理器都支援超標量操作。當程式設計師能夠寫出擁有更高程度的指令級並行性的程式**時,程式也因而執行得更快。
檔案是對i/o裝置的抽象,虛擬記憶體是對程式儲存器的抽象,而程序是對乙個正在執行的程式的抽象。而虛擬機器,它提供對整個計算機的抽象,包括作業系統、處理器和程式。
CSAPP課程筆記1
第一周 計算機系統概述 1.sum函式執行錯誤 問題 呼叫函式 計算陣列a中元素的和 int sum int a,unsigned len 當len為0時,呼叫後得不到結構,程式執行異錯誤,當len定義為int型時執行正確 2.函式呼叫後變數的變化 問題 在p.c檔案中,為 double d voi...
《Csapp》學習筆記 1
andrew,gz,2013 3 17 資訊是 位 上下文 也就是說,資訊在計算中如此表達,由多個有序位 bit 及其值 0或1 組成的整體。圖表 1 編譯系統 1.預編譯階段 輸入的是c語言的原始檔,通常為 c。它們通常帶有.h之類標頭檔案的包含檔案。這個階段主要處理原始檔中的 ifdef inc...
CSAPP 第10章 系統級IO
10.6 讀取檔案元資料 10.7 讀取目錄的內容 10.8 共享檔案 10.9 io重定向 10.10 標準io 10.11 綜合 我該使用哪些io函式?10.1 unix io linux shell 建立的每個程序開始時都有三個開啟的檔案 改變當前的檔案位置 讀寫檔案 關閉檔案。10.2 檔案...