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