第1章 計算機系統(tǒng)結(jié)構(gòu)基礎(chǔ)及并行性的開發(fā)
1.2 計算機系統(tǒng)結(jié)構(gòu)、組成、實現(xiàn)
計算機系統(tǒng)結(jié)構(gòu)、組成、實現(xiàn)三者互不相同,但又相互影響。
1.3 計算機系統(tǒng)的軟、硬件取舍和性能評測及定量設(shè)計原理
1.3.1 軟硬件取舍的基本原則
簡答、選擇、填空
- 應(yīng)考慮在現(xiàn)有硬件、器件條件下,系統(tǒng)要有高的性能價格比。
- 要考慮準備采用和可能采用的組成技術(shù),使之盡可能不要過多或不合理地限制各種組成、實現(xiàn)計數(shù)的采用。
- 把如何為編譯和操作系統(tǒng)的實現(xiàn)及如何為高級語言程序的設(shè)計提供更多、更好的硬件支持放在首位。
1.3.2 計算機系統(tǒng)性能評測及定量設(shè)計原理
IC:總指令條數(shù)
CPI:平均每條指令的時鐘周期數(shù)
f[c]:主時鐘頻率
CPU程序執(zhí)行時間 T[cpu]
T[cpu] = IC × CPI × (1 / f[c])
計算機系統(tǒng)的定量設(shè)計原理
盡可能加速處理高概率事件遠比加速處理低概率事件對性能的提高要顯著。
性能可改進比 f[new] :系統(tǒng)性能可改進部分占用時間與改進前系統(tǒng)總執(zhí)行時間比值,0<=f[new]<=1
部件加速比 r[new] :系統(tǒng)性能可改進部分,在改進后系能提高的比值,r[new]>1
系統(tǒng)加速比 S[p] :系統(tǒng)改進后的性能與未改進時的性能的比值
S[p] = T[old] / T[new] = 1 / ((1 - f[new]) + f[new] / r[new])
解釋:
- 性能是時間的倒數(shù),即 S[p] = 改進后性能 / 改進前性能 = (1 / T[new]) / (1 / T[old])
選擇、填空、簡答
程序訪問的 局部性定律 :包括時間上和空間上的兩個局部性。
1.3.3 計算機系統(tǒng)設(shè)計的主要任務(wù)和方法
計算機系統(tǒng)的設(shè)計方法
- 由上往下
- 由下往上
- 由中間開始
1.5 系統(tǒng)結(jié)構(gòu)中的并行行開發(fā)及計算機系統(tǒng)的分類
并行性 : 同一時刻 或 同一間隔 完成 兩種及以上 性質(zhì) 相同或不同 的工作
1.5.1 并行性的概念和開發(fā)
開發(fā)并行性的途徑
- 時間重疊(流水線)
- 資源重復(fù)(陣列)
- 資源共享(多處理機)
多機系統(tǒng)包含 多處理機系統(tǒng) 和 多計算機系統(tǒng) 。
馮氏分類法 字W 位B 串S 并P
- 字串位串 (WSBS)
- 字串位并 (WSBP)
- 字并位串 (WPBS)
- 字并位并 (WPBP)
習(xí)題1
1-3
1-10
第2章 指令系統(tǒng)
2.4 指令系統(tǒng)的發(fā)展和改進
- CISC 復(fù)雜指令系統(tǒng)計算機
- RISC 精簡指令系統(tǒng)計算機
2.4.3 按RISC方向發(fā)展和改進指令系統(tǒng)
選擇、簡答
設(shè)計RISC的基本原則
- 確定指令系統(tǒng)時,只選擇使用頻度很高的那些指令(一般不超100條)。
- 減少指令系統(tǒng)所用尋址方式種類,一般不超過兩種。精簡指令格式限制在兩種之內(nèi),并使全部指令等長。
- 所有指令都在一個機器周期內(nèi)完成。
- 擴大通用寄存器數(shù),一般不少于32個,盡量減少訪存,僅STORE和LOAD可訪存,其他指令一律只操作寄存器。
- 大多數(shù)指令用硬聯(lián)控制實現(xiàn),提高指令執(zhí)行速度,少數(shù)指令才用微程序。
- 通過精簡指令和優(yōu)化設(shè)計編譯程序,簡單有效地支持高級語言實現(xiàn)。
設(shè)計RISC結(jié)構(gòu)采用的基本技術(shù)
- 選取其中常用的基本指令,使指令數(shù)精簡。
- 邏輯實現(xiàn)采用硬聯(lián)和微程序相結(jié)合。
- 在CPU中設(shè)置大量工作寄存器并采用重疊寄存器窗口。
第5章 標(biāo)量處理機
5.1 重疊方式
5.1.1 重疊原理與一次重疊
實現(xiàn)指令的重疊解釋必須在計算機組成上滿足:
- 要解決訪主存的沖突。
- 要解決“分析”與“執(zhí)行”操作的并行。
- 要解決“分析”與“執(zhí)行“操作控制上的同步。
- 要解決指令間各種相關(guān)的處理。
一次重疊:取值和分析重疊,同時有 兩個 工作進行。N次重疊同時有N+1個工作。
5.2 流水方式
流水的分類
依據(jù) 向下擴展 和 向上擴展 的思路。
按多功能流水線的各段能否允許同時用于多種不同功能連接流水,可把流水線分為 靜態(tài)流水線 和 動態(tài)流水線 。
重點掌握動態(tài)流水線
5.2.2 標(biāo)量流水線的主要性能 需要擴展
直接做題
標(biāo)量流水線的主要性能
- 吞吐率: T[p]
- 加速比: S[p]
- 效率: η
最大吞吐率: T[p[max]]
各個子過程時間長度不一時,最大吞吐率由最長的字過程時間決定
T[p[max]] = 1 / max{Δt}
實際吞吐率 T[p] 總小于最大吞吐率
T[p] = 實際任務(wù)數(shù) / 實際時間
加速比 S[p] 總大于1
S[p] = 流水線方式性能 / 非流水線性能 = (1 / 流水線方式總時間) / (1 / 非流水線總時間)
即
S[p] = 非流水線總時間 / 流水線方式總時間
效率 μ
μ = 實際使用時間 / 整個運行時間
可以按陰影區(qū)面積與整個時空區(qū)面積的比求
具體公式看 P175
設(shè)m段流水線,各段經(jīng)過時間相同,完成n個任務(wù),則
T[p] = n / (m × Δt[0] + (n - 1) × Δt[0]) 或
T[p] = 1 / Δt[0] × (1 + (m - 1) / n) 或
T[p] = T[p[max]] / (1 + (m - 1) / n)
S[p] = m / (1 + (m - 1) / n)
若m段每段經(jīng)過時間Δt[i]不等,其中瓶頸段時間為Δt[j],完成n個任務(wù),則
T[p] = n / (Σ(i=1, m)Δt[i] + (n - 1)Δt[j]) 或
T[p] = 任務(wù)數(shù) / (第一個任務(wù)時間 + 其余任務(wù)額外花費的時間)
S[p] = n個任務(wù)線性處理花費的時間 / (第一個任務(wù)時間 + 其余任務(wù)額外花費的時間)
其余任務(wù)額外花費的時間受瓶頸段時間影響,即 (n - 1) × 瓶頸段時間
5.2.3 標(biāo)量流水機的處理和控制機構(gòu)
5.2.3.4 非線性流水的調(diào)度
大題?
直接做題
5.3 指令集高度并行的超級處理機
5.3.1 超標(biāo)量處理機
采用多指令流水線,每個Δt同時流出m條指令
5.3.3 超流水線處理機
每個Δt'仍舊只流出一條指令,但Δt'值小
第6章 向量處理機
6.1 向量的流水處理和向量流水處理機
- 向量橫向處理:向量的處理方式,但不是向量的流水處理方式
- 向量縱向處理、分組縱橫處理:向量的處理方式,也是向量的流水處理方式
基本思路
橫縱結(jié)合 寄存器組 寫后讀
6.2 陣列處理機的原理
6.2.1 陣列處理機的構(gòu)型和特點 需要擴展
定義、特點
6.2.2 ILLIAC IV的處理單元陣列結(jié)構(gòu) 需要擴展
選擇、填空
6.3 SIMD計算機的互連網(wǎng)絡(luò)
注意:互 連 網(wǎng)絡(luò)
6.3.1 互連網(wǎng)絡(luò)的設(shè)計目標(biāo)與互連函數(shù)
簡答
SIMD中,處理單元之間、處理單元與存儲分體之間,都要通過互聯(lián)網(wǎng)絡(luò)進行信息交換
SIMD系統(tǒng)的互連網(wǎng)絡(luò)的設(shè)計目標(biāo)
- 結(jié)構(gòu)不要過分復(fù)雜,以降低成本;
- 互連要林或,以滿足算法和應(yīng)用的需要;
- 處理單元間信息交換所需傳送步數(shù)要盡可能少,以提高系統(tǒng)性能
- 能用規(guī)整單一的基本構(gòu)件組合而成(模塊化)
6.3.2 互連網(wǎng)絡(luò)應(yīng)抉擇的幾個問題
選擇、填空
需要對 操作方式 、 控制策略 、 交換方法 和 網(wǎng)絡(luò)的拓補結(jié)構(gòu) 作出抉擇。
- 操作方式:同步、異步、同步與異步組合。 陣列處理機根據(jù)其SIMD性質(zhì)均為同步 ,異步與組合多用于多處理機。
- 控制策略:集中、分布。 多數(shù)SIMD采用集中控制部件 。
- 交換方法:線路交換、包交換、線路與包交換組合。 SIMD多采用硬連線路交換 ,包交換多用于多處理機和計算機網(wǎng)絡(luò)中。
6.3.3 基本的單級互連網(wǎng)絡(luò) 需要擴展
計算、選擇、填空
- 立方體單級網(wǎng)絡(luò)
- PM21 單級網(wǎng)絡(luò)
- 混洗交換單級網(wǎng)絡(luò)
- 蝶形單級網(wǎng)絡(luò)
6.3.4 基本的多級互連網(wǎng)絡(luò)
選擇、填空
不同的多級互連網(wǎng)絡(luò),在所用的 交換開關(guān) 、 拓補結(jié)構(gòu) 、 控制方式 上各有不同。
- 交換開關(guān):兩個入端和兩個出端的交換單元。
- 拓補結(jié)構(gòu):各級間出端與入端互連的模式。
- 控制方式:各個交換開關(guān)進行控制的方式。
利用這三個參量,可以描述各種多級互聯(lián)網(wǎng)絡(luò)的結(jié)構(gòu)。
大題
直接做題
6.3.4.1 多級立方體互連網(wǎng)絡(luò) 需要擴展
STARAN網(wǎng)絡(luò)用作交換網(wǎng)絡(luò)時,采用級控制,實現(xiàn)的是 交換函數(shù) 。
- 交換函數(shù):將一組元素首尾對稱地進行交換。
填空
STARAN網(wǎng)絡(luò)用作移數(shù)網(wǎng)絡(luò)時,采用 部分級控制 。
6.3.4.2 多級混洗交換網(wǎng)絡(luò) 需要擴展
6.4 共享主存構(gòu)形的陣列處理機中并行存儲器的無沖突訪問 需要擴展
選擇
第7章 多處理機
7.1 多處理機的概念、問題和硬件結(jié)構(gòu)
7.1.2 多處理機的硬件結(jié)構(gòu)
- 緊耦合和松耦合
- 機間互連形式
- 存儲器的組織
選擇、填空、簡答
P248 流水、向量或陣列處理機中,主存一般都不采用高位交叉編址的方案。
但在多處理機中會有不同的考慮,當(dāng)各個處理機上活躍的進程是共享統(tǒng)一集中連續(xù)物理地址空間中的數(shù)據(jù)時,主存采用低位交叉編址是有力的。然而,當(dāng)它們只是較少或基本不共享集中的數(shù)據(jù)時,主存采用低位交叉編址反倒會引起不希望的訪存沖突,不如采用高位交叉編址為好。
7.2 緊耦合多處理機多 Cache 的一致性問題 可能需要擴展
選擇、填空
7.2.1 多 Cache 的一致性問題的產(chǎn)生
7.2.2 多 Cache 的一致性問題的解決辦法
- 解決進程遷移引起的多 Cache 不一致性
- 以硬件為基礎(chǔ)實現(xiàn)多 Cache 的一致性
- 以軟件為基礎(chǔ)實現(xiàn)多 Cache 的一致性
7.3 多處理機的并行性和性能 需要擴展
7.3.1 并行算法
大題?
7.3.2 程序并行性分析 需要擴展
7.3.3 并行語言與并行編譯
大題
直接做題
7.4 多處理機的操作系統(tǒng)
- 主從型
- 各自獨立型
- 浮動型
第8章 數(shù)據(jù)流計算機和規(guī)約機
8.1 數(shù)據(jù)流計算機
基于異步性和函數(shù)性的一種計算模型
- 異步性:一旦操作數(shù)到齊就開始操作
- 函數(shù)性:消耗一組輸入產(chǎn)生一組輸出
8.1.1 數(shù)據(jù)驅(qū)動的概念
8.1.3 數(shù)據(jù)流計算機的結(jié)構(gòu)
- 靜態(tài)數(shù)據(jù)流機
- 動態(tài)數(shù)據(jù)流機