




已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第第 1 章章 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的基本概念計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的基本概念 1 1 解釋下列術(shù)語(yǔ) 層次機(jī)構(gòu) 按照計(jì)算機(jī)語(yǔ)言從低級(jí)到高級(jí)的次序 把計(jì)算機(jī)系統(tǒng)按功能劃分成多級(jí)層次結(jié)構(gòu) 每一層以一種不同的語(yǔ)言為特征 這些層次依次為 微程序機(jī)器級(jí) 傳統(tǒng)機(jī)器語(yǔ)言機(jī)器級(jí) 匯編語(yǔ)言機(jī)器級(jí) 高級(jí)語(yǔ)言機(jī)器級(jí) 應(yīng)用語(yǔ)言機(jī)器級(jí)等 虛擬機(jī) 用軟件實(shí)現(xiàn)的機(jī)器 翻譯 先用轉(zhuǎn)換程序把高一級(jí)機(jī)器上的程序轉(zhuǎn)換為低一級(jí)機(jī)器上等效的程序 然后再在這低 一級(jí)機(jī)器上運(yùn)行 實(shí)現(xiàn)程序的功能 解釋 對(duì)于高一級(jí)機(jī)器上的程序中的每一條語(yǔ)句或指令 都是轉(zhuǎn)去執(zhí)行低一級(jí)機(jī)器上的一段 等效程序 執(zhí)行完后 再去高一級(jí)機(jī)器取下一條語(yǔ)句或指令 再進(jìn)行解釋執(zhí)行 如此反復(fù) 直到解釋執(zhí)行完整個(gè)程序 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) 傳統(tǒng)機(jī)器程序員所看到的計(jì)算機(jī)屬性 即概念性結(jié)構(gòu)與功能特性 在計(jì)算機(jī)技術(shù)中 把這種本來(lái)存在的事物或?qū)傩?但從某種角度看又好像不存在的概念稱為 透明性 計(jì)算機(jī)組成 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的邏輯實(shí)現(xiàn) 包含物理機(jī)器級(jí)中的數(shù)據(jù)流和控制流的組成以及 邏輯設(shè)計(jì)等 計(jì)算機(jī)實(shí)現(xiàn) 計(jì)算機(jī)組成的物理實(shí)現(xiàn) 包括處理機(jī) 主存等部件的物理結(jié)構(gòu) 器件的集成度 和速度 模塊 插件 底板的劃分與連接 信號(hào)傳輸 電源 冷卻及整機(jī)裝配技術(shù)等 系統(tǒng)加速比 對(duì)系統(tǒng)中某部分進(jìn)行改進(jìn)時(shí) 改進(jìn)后系統(tǒng)性能提高的倍數(shù) Amdahl 定律 當(dāng)對(duì)一個(gè)系統(tǒng)中的某個(gè)部件進(jìn)行改進(jìn)后 所能獲得的整個(gè)系統(tǒng)性能的提高 受限于該部件的執(zhí)行時(shí)間占總執(zhí)行時(shí)間的百分比 程序的局部性原理 程序執(zhí)行時(shí)所訪問(wèn)的存儲(chǔ)器地址不是隨機(jī)分布的 而是相對(duì)地簇聚 包 括時(shí)間局部性和空間局部性 CPI 每條指令執(zhí)行的平均時(shí)鐘周期數(shù) 測(cè)試程序套件 由各種不同的真實(shí)應(yīng)用程序構(gòu)成的一組測(cè)試程序 用來(lái)測(cè)試計(jì)算機(jī)在各個(gè)方 面的處理性能 存儲(chǔ)程序計(jì)算機(jī) 馮 諾依曼結(jié)構(gòu)計(jì)算機(jī) 其基本點(diǎn)是指令驅(qū)動(dòng) 程序預(yù)先存放在計(jì)算機(jī)存 儲(chǔ)器中 機(jī)器一旦啟動(dòng) 就能按照程序指定的邏輯順序執(zhí)行這些程序 自動(dòng)完成由程序所描 述的處理工作 系列機(jī) 由同一廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu) 但具有不同組成和實(shí)現(xiàn)的一系列不同型號(hào)的 計(jì)算機(jī) 軟件兼容 一個(gè)軟件可以不經(jīng)修改或者只需少量修改就可以由一臺(tái)計(jì)算機(jī)移植到另一臺(tái)計(jì)算 機(jī)上運(yùn)行 差別只是執(zhí)行時(shí)間的不同 向上 下 兼容 按某檔計(jì)算機(jī)編制的程序 不加修改就能運(yùn)行于比它高 低 檔的計(jì)算機(jī) 向后 前 兼容 按某個(gè)時(shí)期投入市場(chǎng)的某種型號(hào)計(jì)算機(jī)編制的程序 不加修改地就能運(yùn)行 于在它之后 前 投入市場(chǎng)的計(jì)算機(jī) 兼容機(jī) 由不同公司廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)的計(jì)算機(jī) 模擬 用軟件的方法在一臺(tái)現(xiàn)有的計(jì)算機(jī) 稱為宿主機(jī) 上實(shí)現(xiàn)另一臺(tái)計(jì)算機(jī) 稱為虛擬機(jī) 的指令系統(tǒng) 仿真 用一臺(tái)現(xiàn)有計(jì)算機(jī) 稱為宿主機(jī) 上的微程序去解釋實(shí)現(xiàn)另一臺(tái)計(jì)算機(jī) 稱為目標(biāo)機(jī) 的指令系統(tǒng) 并行性 計(jì)算機(jī)系統(tǒng)在同一時(shí)刻或者同一時(shí)間間隔內(nèi)進(jìn)行多種運(yùn)算或操作 只要在時(shí)間上相 互重疊 就存在并行性 它包括同時(shí)性與并發(fā)性兩種含義 時(shí)間重疊 在并行性概念中引入時(shí)間因素 讓多個(gè)處理過(guò)程在時(shí)間上相互錯(cuò)開(kāi) 輪流重疊地 使用同一套硬件設(shè)備的各個(gè)部分 以加快硬件周轉(zhuǎn)而贏得速度 資源重復(fù) 在并行性概念中引入空間因素 以數(shù)量取勝 通過(guò)重復(fù)設(shè)置硬件資源 大幅度地 提高計(jì)算機(jī)系統(tǒng)的性能 資源共享 這是一種軟件方法 它使多個(gè)任務(wù)按一定時(shí)間順序輪流使用同一套硬件設(shè)備 耦合度 反映多機(jī)系統(tǒng)中各計(jì)算機(jī)之間物理連接的緊密程度和交互作用能力的強(qiáng)弱 緊密耦合系統(tǒng) 又稱直接耦合系統(tǒng) 在這種系統(tǒng)中 計(jì)算機(jī)之間的物理連接的頻帶較高 一 般是通過(guò)總線或高速開(kāi)關(guān)互連 可以共享主存 松散耦合系統(tǒng) 又稱間接耦合系統(tǒng) 一般是通過(guò)通道或通信線路實(shí)現(xiàn)計(jì)算機(jī)之間的互連 可 以共享外存設(shè)備 磁盤 磁帶等 計(jì)算機(jī)之間的相互作用是在文件或數(shù)據(jù)集一級(jí)上進(jìn)行 異構(gòu)型多處理機(jī)系統(tǒng) 由多個(gè)不同類型 至少擔(dān)負(fù)不同功能的處理機(jī)組成 它們按照作業(yè)要 求的順序 利用時(shí)間重疊原理 依次對(duì)它們的多個(gè)任務(wù)進(jìn)行加工 各自完成規(guī)定的功能動(dòng)作 同構(gòu)型多處理機(jī)系統(tǒng) 由多個(gè)同類型或至少擔(dān)負(fù)同等功能的處理機(jī)組成 它們同時(shí)處理同一 作業(yè)中能并行執(zhí)行的多個(gè)任務(wù) 1 2 試用實(shí)例說(shuō)明計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) 計(jì)算機(jī)組成與計(jì)算機(jī)實(shí)現(xiàn)之間的相互關(guān)系 答 如在設(shè)計(jì)主存系統(tǒng)時(shí) 確定主存容量 編址方式 尋址范圍等屬于計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) 確定主存周期 邏輯上是否采用并行主存 邏輯設(shè)計(jì)等屬于計(jì)算機(jī)組成 選擇存儲(chǔ)芯片類型 微組裝技術(shù) 線路設(shè)計(jì)等屬于計(jì)算機(jī)實(shí)現(xiàn) 計(jì)算機(jī)組成是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的邏輯實(shí)現(xiàn) 計(jì)算機(jī)實(shí)現(xiàn)是計(jì)算機(jī)組成的物理實(shí)現(xiàn) 一種 體系結(jié)構(gòu)可以有多種組成 一種組成可以有多種實(shí)現(xiàn) 1 3 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的 Flynn 分類法是按什么來(lái)分類的 共分為哪幾類 答 Flynn 分類法是按照指令流和數(shù)據(jù)流的多倍性進(jìn)行分類 把計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)分為 1 單指令流單數(shù)據(jù)流 SISD 2 單指令流多數(shù)據(jù)流 SIMD 3 多指令流單數(shù)據(jù)流 MISD 4 多指令流多數(shù)據(jù)流 MIMD 1 4 計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中經(jīng)常使用的 4 個(gè)定量原理是什么 并說(shuō)出它們的含義 答 1 以經(jīng)常性事件為重點(diǎn) 在計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)中 對(duì)經(jīng)常發(fā)生的情況 賦予它優(yōu) 先的處理權(quán)和資源使用權(quán) 以得到更多的總體上的改進(jìn) 2 Amdahl 定律 加快某部件執(zhí) 行速度所獲得的系統(tǒng)性能加速比 受限于該部件在系統(tǒng)中所占的重要性 3 CPU 性能公 式 執(zhí)行一個(gè)程序所需的 CPU 時(shí)間 IC CPI 時(shí)鐘周期時(shí)間 4 程序的局部性原理 程序在執(zhí)行時(shí)所訪問(wèn)地址的分布不是隨機(jī)的 而是相對(duì)地簇聚 1 5 分別從執(zhí)行程序的角度和處理數(shù)據(jù)的角度來(lái)看 計(jì)算機(jī)系統(tǒng)中并行性等級(jí)從低到高 可分為哪幾級(jí) 答 從處理數(shù)據(jù)的角度來(lái)看 并行性等級(jí)從低到高可分為 1 字串位串 每次只對(duì)一個(gè)字的一位進(jìn)行處理 這是最基本的串行處理方式 不存 在并行性 2 字串位并 同時(shí)對(duì)一個(gè)字的全部位進(jìn)行處理 不同字之間是串行的 已開(kāi)始出現(xiàn) 并行性 3 字并位串 同時(shí)對(duì)許多字的同一位 稱為位片 進(jìn)行處理 這種方式具有較高的 并行性 4 全并行 同時(shí)對(duì)許多字的全部位或部分位進(jìn)行處理 這是最高一級(jí)的并行 從執(zhí)行程序的角度來(lái)看 并行性等級(jí)從低到高可分為 1 指令內(nèi)部并行 單條指令中各微操作之間的并行 2 指令級(jí)并行 并行執(zhí)行兩條或兩條以上的指令 3 線程級(jí)并行 并行執(zhí)行兩個(gè)或兩個(gè)以上的線程 通常是以一個(gè)進(jìn)程內(nèi)派生的多個(gè) 線程為調(diào)度單位 4 任務(wù)級(jí)或過(guò)程級(jí)并行 并行執(zhí)行兩個(gè)或兩個(gè)以上的過(guò)程或任務(wù) 程序段 以子程 序或進(jìn)程為調(diào)度單元 5 作業(yè)或程序級(jí)并行 并行執(zhí)行兩個(gè)或兩個(gè)以上的作業(yè)或程序 1 6 某臺(tái)主頻為 400MHz 的計(jì)算機(jī)執(zhí)行標(biāo)準(zhǔn)測(cè)試程序 程序中指令類型 執(zhí)行數(shù)量和平 均時(shí)鐘周期數(shù)如下 指令類型 指令執(zhí)行數(shù)量 平均時(shí)鐘周期數(shù) 整數(shù) 45000 1 數(shù)據(jù)傳送 75000 2 浮點(diǎn) 8000 4 分支 1500 2 求該計(jì)算機(jī)的有效 CPI MIPS 和程序執(zhí)行時(shí)間 解 1 CPI 45000 1 75000 2 8000 4 1500 2 129500 1 776 2 MIPS 速率 f CPI 400 1 776 225 225MIPS 3 程序執(zhí)行時(shí)間 45000 1 75000 2 8000 4 1500 2 400 575s 1 7 將計(jì)算機(jī)系統(tǒng)中某一功能的處理速度加快 10 倍 但該功能的處理時(shí)間僅為整個(gè)系 統(tǒng)運(yùn)行時(shí)間的 40 則采用此增強(qiáng)功能方法后 能使整個(gè)系統(tǒng)的性能提高多少 解解 由題可知 可改進(jìn)比例 40 0 4 部件加速比 10 根據(jù) Amdahl 定律可知 5625 1 10 4 0 4 01 1 系統(tǒng)加速比 采用此增強(qiáng)功能方法后 能使整個(gè)系統(tǒng)的性能提高到原來(lái)的 1 5625 倍 1 8 計(jì)算機(jī)系統(tǒng)中有三個(gè)部件可以改進(jìn) 這三個(gè)部件的部件加速比為 部件加速比是1 30 部件加速比是2 20 部件加速比是3 10 1 如果部件 1 和部件 2 的可改進(jìn)比例均為 30 那么當(dāng)部件 3 的可改進(jìn)比例為多 少時(shí) 系統(tǒng)加速比才可以達(dá)到 10 2 如果三個(gè)部件的可改進(jìn)比例分別為 30 30 和 20 三個(gè)部件同時(shí)改進(jìn) 那么 系統(tǒng)中不可加速部分的執(zhí)行時(shí)間在總執(zhí)行時(shí)間中占的比例是多少 解 1 在多個(gè)部件可改進(jìn)情況下 Amdahl 定理的擴(kuò)展 i i i n S F F S 1 1 已知 S1 30 S2 20 S3 10 Sn 10 F1 0 3 F2 0 3 得 10 20 0 330 0 30 30 3 1 1 10 33 FF 得 F3 0 36 即部件 3 的可改進(jìn)比例為 36 2 設(shè)系統(tǒng)改進(jìn)前的執(zhí)行時(shí)間為 T 則 3 個(gè)部件改進(jìn)前的執(zhí)行時(shí)間為 0 3 0 3 0 2 T 0 8T 不可改進(jìn)部分的執(zhí)行時(shí)間為 0 2T 已知 3 個(gè)部件改進(jìn)后的加速比分別為 S1 30 S2 20 S3 10 因此 3 個(gè)部件改進(jìn)后的 執(zhí)行時(shí)間為 T TTT Tn045 0 10 2 0 20 3 0 30 3 0 改進(jìn)后整個(gè)系統(tǒng)的執(zhí)行時(shí)間為 Tn 0 045T 0 2T 0 245T 那么系統(tǒng)中不可改進(jìn)部分的執(zhí)行時(shí)間在總執(zhí)行時(shí)間中占的比例是 82 0 245 0 2 0 T T 1 9 假設(shè)某應(yīng)用程序中有 4 類操作 通過(guò)改進(jìn) 各操作獲得不同的性能提高 具體數(shù)據(jù) 如下表所示 操作類型 程序中的數(shù)量 改進(jìn)前的執(zhí)行時(shí)間 改進(jìn)后的執(zhí)行時(shí)間 百萬(wàn)條指令 周期 周期 操作 1 10 2 1 操作 2 30 20 15 操作 3 35 10 3 操作 4 15 4 1 1 改進(jìn)后 各類操作的加速比分別是多少 2 各類操作單獨(dú)改進(jìn)后 程序獲得的加速比分別是多少 3 4 類操作均改進(jìn)后 整個(gè)程序的加速比是多少 解 根據(jù) Amdahl 定律 Se Fe Fe Sn 1 1 可得 操作類型 各類操作的指令條數(shù)在 程序中所占的比例 Fi 各類操作的加速比 Si 各類操作單獨(dú)改進(jìn)后 程序獲得的加速比 操作 1 11 1 2 1 06 操作 2 33 3 1 33 1 09 操作 3 38 9 3 33 1 37 操作 4 16 7 4 1 14 4 類操作均改進(jìn)后 整個(gè)程序的加速比 2 16 1 1 i i i n S F F S 第 2 章 指令集結(jié)構(gòu)的分類 2 1 解釋下列術(shù)語(yǔ) 堆棧型機(jī)器 CPU 中存儲(chǔ)操作數(shù)的單元是堆棧的機(jī)器 累加器型機(jī)器 CPU 中存儲(chǔ)操作數(shù)的單元是累加器的機(jī)器 通用寄存器型機(jī)器 CPU 中存儲(chǔ)操作數(shù)的單元是通用寄存器的機(jī)器 CISC 復(fù)雜指令集計(jì)算機(jī) RISC 精簡(jiǎn)指令集計(jì)算機(jī) 尋址方式 指令系統(tǒng)中如何形成所要訪問(wèn)的數(shù)據(jù)的地址 一般來(lái)說(shuō) 尋址方式可以指明 指令中的操作數(shù)是一個(gè)常數(shù) 一個(gè)寄存器操作數(shù)或者是一個(gè)存儲(chǔ)器操作數(shù) 數(shù)據(jù)表示 硬件結(jié)構(gòu)能夠識(shí)別 指令系統(tǒng)可以直接調(diào)用的那些數(shù)據(jù)結(jié)構(gòu) 2 2 區(qū)別不同指令集結(jié)構(gòu)的主要因素是什么 根據(jù)這個(gè)主要因素可將指令集結(jié)構(gòu)分為哪 3 類 答 區(qū)別不同指令集結(jié)構(gòu)的主要因素是 CPU 中用來(lái)存儲(chǔ)操作數(shù)的存儲(chǔ)單元 據(jù)此可將指 令系統(tǒng)結(jié)構(gòu)分為堆棧結(jié)構(gòu) 累加器結(jié)構(gòu)和通用寄存器結(jié)構(gòu) 2 3 常見(jiàn)的 3 種通用寄存器型指令集結(jié)構(gòu)的優(yōu)缺點(diǎn)有哪些 答 指令系統(tǒng)結(jié)構(gòu)類型 優(yōu) 點(diǎn) 缺 點(diǎn) 寄存器 寄存器型 0 3 指令字長(zhǎng)固定 指令結(jié)構(gòu)簡(jiǎn) 潔 是一種簡(jiǎn)單的代碼生成 模型 各種指令的執(zhí)行時(shí)鐘 周期數(shù)相近 與指令中含存儲(chǔ)器操作數(shù)的指令系統(tǒng)結(jié)構(gòu)相比 指令條數(shù)多 目標(biāo)代碼不夠緊湊 因而程序占用 的空間比較大 寄存器 存儲(chǔ)器型 1 2 可以在 ALU 指令中直接對(duì) 存儲(chǔ)器操作數(shù)進(jìn)行引用 而 不必先用 load 指令進(jìn)行加 載 容易對(duì)指令進(jìn)行編碼 目標(biāo)代碼比較緊湊 由于有一個(gè)操作數(shù)的內(nèi)容將被破壞 所以指令中 的兩個(gè)操作數(shù)不對(duì)稱 在一條指令中同時(shí)對(duì)寄存 器操作數(shù)和存儲(chǔ)器操作數(shù)進(jìn)行編碼 有可能限制 指令所能夠表示的寄存器個(gè)數(shù) 指令的執(zhí)行時(shí)鐘 周期數(shù)因操作數(shù)的來(lái)源 寄存器或存儲(chǔ)器 不同 而差別比較大 存儲(chǔ)器 存儲(chǔ)器型 2 2 或 3 3 目標(biāo)代碼最緊湊 不需要設(shè) 置寄存器來(lái)保存變量 指令字長(zhǎng)變化很大 特別是 3 操作數(shù)指令 而且 每條指令完成的工作也差別很大 對(duì)存儲(chǔ)器的頻 繁訪問(wèn)會(huì)使存儲(chǔ)器成為瓶頸 這種類型的指令系 統(tǒng)現(xiàn)在已不用了 2 4 指令集應(yīng)滿足哪幾個(gè)基本要求 答 對(duì)指令集的基本要求是 完整性 規(guī)整性 高效率和兼容性 完整性是指在一個(gè)有限可用的存儲(chǔ)空間內(nèi) 對(duì)于任何可解的問(wèn)題 編制計(jì)算程序時(shí) 指 令集所提供的指令足夠使用 規(guī)整性主要包括對(duì)稱性和均勻性 對(duì)稱性是指所有與指令集有關(guān)的存儲(chǔ)單元的使用 操 作碼的設(shè)置等都是對(duì)稱的 均勻性是指對(duì)于各種不同的操作數(shù)類型 字長(zhǎng) 操作種類和數(shù)據(jù) 存儲(chǔ)單元 指令的設(shè)置都要同等對(duì)待 高效率是指指令的執(zhí)行速度快 使用頻度高 2 5 指令集結(jié)構(gòu)設(shè)計(jì)所涉及的內(nèi)容有哪些 答 1 指令集功能設(shè)計(jì) 主要有 RISC 和 CISC 兩種技術(shù)發(fā)展方向 2 尋址方式的 設(shè)計(jì) 設(shè)置尋址方式可以通過(guò)對(duì)基準(zhǔn)程序進(jìn)行測(cè)試統(tǒng)計(jì) 察看各種尋址方式的使用頻率 根 據(jù)適用頻率設(shè)置必要的尋址方式 3 操作數(shù)表示和操作數(shù)類型 主要的操作數(shù)類型和操 作數(shù)表示的選擇有 浮點(diǎn)數(shù)據(jù)類型 整型數(shù)據(jù)類型 字符型 十進(jìn)制數(shù)據(jù)類型等等 4 尋 址方式的表示 可以將尋址方式編碼于操作碼中 也可以將尋址方式作為一個(gè)單獨(dú)的域來(lái)表 示 5 指令集格式的設(shè)計(jì) 有變長(zhǎng)編碼格式 固定長(zhǎng)度編碼格式和混合型編碼格式 3 種 2 6 簡(jiǎn)述 CISC 指令集結(jié)構(gòu)功能設(shè)計(jì)的主要目標(biāo) 從當(dāng)前的計(jì)算機(jī)技術(shù)觀點(diǎn)來(lái)看 CISC 指令集結(jié)構(gòu)的計(jì)算機(jī)有什么缺點(diǎn) 答 主要目標(biāo)是增強(qiáng)指令功能 把越來(lái)越多的功能交由硬件來(lái)實(shí)現(xiàn) 并且指令的數(shù)量也 是越來(lái)越多 缺點(diǎn) 1 CISC 結(jié)構(gòu)的指令集中 各種指令的使用頻率相差懸殊 2 CISC 結(jié)構(gòu)指令 的復(fù)雜性帶來(lái)了計(jì)算機(jī)體系結(jié)構(gòu)的復(fù)雜性 這不僅增加了研制時(shí)間和成本 而且還容易造成 設(shè)計(jì)錯(cuò)誤 3 CISC 結(jié)構(gòu)指令集的復(fù)雜性給 VLSI 設(shè)計(jì)增加了很大負(fù)擔(dān) 不利于單片集成 4 CISC 結(jié)構(gòu)的指令集中 許多復(fù)雜指令需要很復(fù)雜的操作 因而運(yùn)行速度慢 5 在 CISC 結(jié)構(gòu)的指令集中 由于各條指令的功能不均衡性 不利于采用先進(jìn)的計(jì)算機(jī)體系結(jié)構(gòu) 技術(shù) 如流水技術(shù) 來(lái)提高系統(tǒng)的性能 2 7 簡(jiǎn)述 RISC 指令集結(jié)構(gòu)的設(shè)計(jì)原則 答 1 選取使用頻率最高的指令 并補(bǔ)充一些最有用的指令 2 每條指令的功能應(yīng) 盡可能簡(jiǎn)單 并在一個(gè)機(jī)器周期內(nèi)完成 3 所有指令長(zhǎng)度均相同 4 只有 Load 和 Store 操作指令才訪問(wèn)存儲(chǔ)器 其它指令操作均在寄存器之間進(jìn)行 5 以簡(jiǎn)單有效的方式支持 高級(jí)語(yǔ)言 2 8 指令中表示操作數(shù)類型的方法有哪幾種 答 操作數(shù)類型有兩種表示方法 1 操作數(shù)的類型由操作碼的編碼指定 這是最常見(jiàn) 的一種方法 2 數(shù)據(jù)可以附上由硬件解釋的標(biāo)記 由這些標(biāo)記指定操作數(shù)的類型 從而選 擇適當(dāng)?shù)倪\(yùn)算 2 9 表示尋址方式的主要方法有哪些 簡(jiǎn)述這些方法的優(yōu)缺點(diǎn) 答 表示尋址方式有兩種常用的方法 1 將尋址方式編于操作碼中 由操作碼在描述 指令的同時(shí)也描述了相應(yīng)的尋址方式 這種方式譯碼快 但操作碼和尋址方式的結(jié)合不僅增 加了指令的條數(shù) 導(dǎo)致了指令的多樣性 而且增加了 CPU 對(duì)指令譯碼的難度 2 為每個(gè)操 作數(shù)設(shè)置一個(gè)地址描述符 由該地址描述符表示相應(yīng)操作數(shù)的尋址方式 這種方式譯碼較慢 但操作碼和尋址獨(dú)立 易于指令擴(kuò)展 2 10 通常有哪幾種指令格式 請(qǐng)簡(jiǎn)述其適用范圍 答 1 變長(zhǎng)編碼格式 如果系統(tǒng)結(jié)構(gòu)設(shè)計(jì)者感興趣的是程序的目標(biāo)代碼大小 而不 是性能 就可以采用變長(zhǎng)編碼格式 2 固定長(zhǎng)度編碼格式 如果感興趣的是性能 而不是 程序的目標(biāo)代碼大小 則可以選擇固定長(zhǎng)度編碼格式 3 混合型編碼格式 需要兼顧降 低目標(biāo)代碼長(zhǎng)度和降低譯碼復(fù)雜度時(shí) 可以采用混合型編碼格式 2 11 根據(jù) CPU 性能公式簡(jiǎn)述 RISC 指令集結(jié)構(gòu)計(jì)算機(jī)和 CISC 指令集結(jié)構(gòu)計(jì)算機(jī)的性 能特點(diǎn) 答 CPU 性能公式 CPU 時(shí)間 IC CPI T 其中 IC 為目標(biāo)程序被執(zhí)行的指令條數(shù) CPI 為指令平均執(zhí)行周期數(shù) T 是時(shí)鐘周期的 時(shí)間 相同功能的CISC 目標(biāo)程序的指令條數(shù) ICCISC 少于RISC 的 ICRISC 但是 CISC 的CPICISC 和 TCISC都大于 RISC 的 CPIRISC和 TRISC 因此 CISC 目標(biāo)程序的執(zhí)行時(shí)間比 RISC 的更長(zhǎng) 第 3 章 流水線技術(shù) 3 1 解釋下列術(shù)語(yǔ) 流水線 將一個(gè)重復(fù)的時(shí)序過(guò)程 分解成為若干個(gè)子過(guò)程 而每一個(gè)子過(guò)程都可有效地在其 專用功能段上與其它子過(guò)程同時(shí)執(zhí)行 單功能流水線 指流水線的各段之間的連接固定不變 只能完成一種固定功能的流水線 多功能流水線 指各段可以進(jìn)行不同的連接 以實(shí)現(xiàn)不同的功能的流水線 靜態(tài)流水線 指在同一時(shí)間內(nèi) 多功能流水線中的各段只能按同一種功能的連接方式工作的 流水線 當(dāng)流水線要切換到另一種功能時(shí) 必須等前面的任務(wù)都流出流水線之后 才能改變 連接 動(dòng)態(tài)流水線 指在同一時(shí)間內(nèi) 多功能流水線中的各段可以按照不同的方式連接 同時(shí)執(zhí)行 多種功能的流水線 它允許在某些段正在實(shí)現(xiàn)某種運(yùn)算時(shí) 另一些段卻在實(shí)現(xiàn)另一種運(yùn)算 部件級(jí)流水線 把處理機(jī)中的部件進(jìn)行分段 再把這些部件分段相互連接而成 它使得運(yùn)算 操作能夠按流水方式進(jìn)行 這種流水線也稱為運(yùn)算操作流水線 處理機(jī)級(jí)流水線 又稱指令流水線 它是把指令的執(zhí)行過(guò)程按照流水方式進(jìn)行處理 即把一 條指令的執(zhí)行過(guò)程分解為若干個(gè)子過(guò)程 每個(gè)子過(guò)程在獨(dú)立的功能部件中執(zhí)行 處理機(jī)間流水線 又稱為宏流水線 它是把多個(gè)處理機(jī)串行連接起來(lái) 對(duì)同一數(shù)據(jù)流進(jìn)行處 理 每個(gè)處理機(jī)完成整個(gè)任務(wù)中的一部分 前一個(gè)處理機(jī)的輸出結(jié)果存入存儲(chǔ)器中 作為后 一個(gè)處理機(jī)的輸入 線性流水線 指各段串行連接 沒(méi)有反饋回路的流水線 數(shù)據(jù)通過(guò)流水線中的各段時(shí) 每一 個(gè)段最多只流過(guò)一次 非線性流水線 指各段除了有串行的連接外 還有反饋回路的流水線 順序流水線 流水線輸出端任務(wù)流出的順序與輸入端任務(wù)流入的順序完全相同 亂序流水線 流水線輸出端任務(wù)流出的順序與輸入端任務(wù)流入的順序可以不同 允許后進(jìn)入 流水線的任務(wù)先完成 這種流水線又稱為無(wú)序流水線 錯(cuò)序流水線 異步流水線 吞吐率 在單位時(shí)間內(nèi)流水線所完成的任務(wù)數(shù)量或輸出結(jié)果的數(shù)量 流水線的加速比 使用順序處理方式處理一批任務(wù)所用的時(shí)間與按流水處理方式處理同一批 任務(wù)所用的時(shí)間之比 流水線的效率 即流水線設(shè)備的利用率 它是指流水線中的設(shè)備實(shí)際使用時(shí)間與整個(gè)運(yùn)行時(shí) 間的比值 數(shù)據(jù)相關(guān) 考慮兩條指令 i 和 j i 在 j 的前面 如果下述條件之一成立 則稱指令 j 與指令 i 數(shù)據(jù)相關(guān) 1 指令 j 使用指令 i 產(chǎn)生的結(jié)果 2 指令 j 與指令 k 數(shù)據(jù)相關(guān) 而指令 k 又與指令 i 數(shù)據(jù)相關(guān) 名相關(guān) 如果兩條指令使用了相同的名 但是它們之間并沒(méi)有數(shù)據(jù)流動(dòng) 則稱這兩條指令存 在名相關(guān) 控制相關(guān) 是指由分支指令引起的相關(guān) 它需要根據(jù)分支指令的執(zhí)行結(jié)果來(lái)確定后面該執(zhí)行 哪個(gè)分支上的指令 反相關(guān) 考慮兩條指令 i 和 j i 在 j 的前面 如果指令 j 所寫的名與指令 i 所讀的名相同 則稱指令 i 和 j 發(fā)生了反相關(guān) 輸出相關(guān) 考慮兩條指令 i 和 j i 在 j 的前面 如果指令 j 和指令 i 所寫的名相同 則稱指 令 i 和 j 發(fā)生了輸出相關(guān) 換名技術(shù) 名相關(guān)的兩條指令之間并沒(méi)有數(shù)據(jù)的傳送 只是使用了相同的名 可以把其中一 條指令所使用的名換成別的 以此來(lái)消除名相關(guān) 結(jié)構(gòu)沖突 因硬件資源滿足不了指令重疊執(zhí)行的要求而發(fā)生的沖突 數(shù)據(jù)沖突 當(dāng)指令在流水線中重疊執(zhí)行時(shí) 因需要用到前面指令的執(zhí)行結(jié)果而發(fā)生的沖突 控制沖突 流水線遇到分支指令或其它會(huì)改變 PC 值的指令所引起的沖突 定向 用來(lái)解決寫后讀沖突的 在發(fā)生寫后讀相關(guān)的情況下 在計(jì)算結(jié)果尚未出來(lái)之前 后 面等待使用該結(jié)果的指令并不見(jiàn)得是馬上就要用該結(jié)果 如果能夠?qū)⒃撚?jì)算結(jié)果從其產(chǎn)生的 地方直接送到其它指令需要它的地方 那么就可以避免停頓 寫后讀沖突 考慮兩條指令 i 和 j 且 i 在 j 之前進(jìn)入流水線 指令 j 用到指令 i 的計(jì)算結(jié)果 而且在 i 將結(jié)果寫入寄存器之前就去讀該寄存器 因而得到的是舊值 讀后寫沖突 考慮兩條指令 i 和 j 且 i 在 j 之前進(jìn)入流水線 指令 j 的目的寄存器和指令 i 的源操作數(shù)寄存器相同 而且 j 在 i 讀取該寄存器之前就先對(duì)它進(jìn)行了寫操作 導(dǎo)致 i 讀到 的值是錯(cuò)誤的 寫后寫沖突 考慮兩條指令 i 和 j 且 i 在 j 之前進(jìn)入流水線 指令 j 和指令 i 的結(jié)果單元 寄 存器或存儲(chǔ)器單元 相同 而且 j 在 i 寫入之前就先對(duì)該單元進(jìn)行了寫入操作 從而導(dǎo)致寫 入順序錯(cuò)誤 這時(shí)在結(jié)果單元中留下的是 i 寫入的值 而不是 j 寫入的 鏈接技術(shù) 具有先寫后讀相關(guān)的兩條指令 在不出現(xiàn)功能部件沖突和 Vi沖突的情況下 可 以把功能部件鏈接起來(lái)進(jìn)行流水處理 以達(dá)到加快執(zhí)行的目的 分段開(kāi)采 當(dāng)向量的長(zhǎng)度大于向量寄存器的長(zhǎng)度時(shí) 必須把長(zhǎng)向量分成長(zhǎng)度固定的段 然后 循環(huán)分段處理 每一次循環(huán)只處理一個(gè)向量段 半性能向量長(zhǎng)度 向量處理機(jī)的性能為其最大性能 R的一半時(shí)所需的向量長(zhǎng)度 向量長(zhǎng)度臨界值 向量流水方式的處理速度優(yōu)于標(biāo)量串行方式的處理速度時(shí)所需的向量長(zhǎng)度 的最小值 3 2 指令的執(zhí)行可采用順序執(zhí)行 重疊執(zhí)行和流水線三種方式 它們的主要區(qū)別是什 么 各有何優(yōu)缺點(diǎn) 答 1 指令的順序執(zhí)行是指指令與指令之間順序串行 即上一條指令全部執(zhí)行完后 才能開(kāi)始執(zhí)行下一條指令 優(yōu)點(diǎn) 控制簡(jiǎn)單 節(jié)省設(shè)備 缺點(diǎn) 執(zhí)行指令的速度慢 功能部件的利用率低 2 指令的重疊指令是在相鄰的指令之間 讓第 k 條指令與取第 k l 條指令同時(shí)進(jìn)行 重疊執(zhí)行不能加快單條指令的執(zhí)行速度 但在硬件增加不多的情況下 可以加快相鄰兩條指 令以及整段程序的執(zhí)行速度 與順序方式相比 功能部件的利用率提高了 控制變復(fù)雜了 3 指令的流水執(zhí)行是把一個(gè)指令的執(zhí)行過(guò)程分解為若干個(gè)子過(guò)程 每個(gè)子過(guò)程由專 門的功能部件來(lái)實(shí)現(xiàn) 把多個(gè)處理過(guò)程在時(shí)間上錯(cuò)開(kāi) 依次通過(guò)各功能段 每個(gè)子過(guò)程與其 它的子過(guò)程并行進(jìn)行 依靠提高吞吐率來(lái)提高系統(tǒng)性能 流水線中各段的時(shí)間應(yīng)盡可能相等 3 3 簡(jiǎn)述先行控制的基本思想 答 先行控制技術(shù)是把緩沖技術(shù)和預(yù)處理技術(shù)相結(jié)合 緩沖技術(shù)是在工作速度不固定的 兩個(gè)功能部件之間設(shè)置緩沖器 用以平滑它們的工作 預(yù)處理技術(shù)是指預(yù)取指令 對(duì)指令進(jìn) 行加工以及預(yù)取操作數(shù)等 采用先行控制方式的處理機(jī)內(nèi)部設(shè)置多個(gè)緩沖站 用于平滑主存 指令分析部件 運(yùn)算 器三者之間的工作 這樣不僅使它們都能獨(dú)立地工作 充分忙碌而不用相互等待 而且使指 令分析部件和運(yùn)算器分別能快速地取得指令和操作數(shù) 大幅度地提高指令的執(zhí)行速度和部件 的效率 這些緩沖站都按先進(jìn)先出的方式工作 而且都是由一組若干個(gè)能快速訪問(wèn)的存儲(chǔ)單 元和相關(guān)的控制邏輯組成 采用先行控制技術(shù)可以實(shí)現(xiàn)多條指令的重疊解釋執(zhí)行 3 4 設(shè)一條指令的執(zhí)行過(guò)程分成取指令 分析指令和執(zhí)行指令三個(gè)階段 每個(gè)階段所需 的時(shí)間分別為 t t 和 2 t 分別求出下列各種情況下 連續(xù)執(zhí)行 N 條指令所需的時(shí)間 1 順序執(zhí)行方式 2 只有 取指令 與 執(zhí)行指令 重疊 3 取指令 分析指令 與 執(zhí)行指令 重疊 解 1 每條指令的執(zhí)行時(shí)間為 t t 2 t 4 t 連續(xù)執(zhí)行 N 條指令所需的時(shí)間為 4N t 2 連續(xù)執(zhí)行 N 條指令所需的時(shí)間為 4 t 3 N 1 t 3N 1 t 3 連續(xù)執(zhí)行 N 條指令所需的時(shí)間為 4 t 2 N 1 t 2N 2 t 3 5 簡(jiǎn)述流水線技術(shù)的特點(diǎn) 答 流水技術(shù)有以下特點(diǎn) 1 流水線把一個(gè)處理過(guò)程分解為若干個(gè)子過(guò)程 每個(gè)子過(guò)程由一個(gè)專門的功能部件 來(lái)實(shí)現(xiàn) 因此 流水線實(shí)際上是把一個(gè)大的處理功能部件分解為多個(gè)獨(dú)立的功能部件 并依 靠它們的并行工作來(lái)提高吞吐率 2 流水線中各段的時(shí)間應(yīng)盡可能相等 否則將引起流水線堵塞和斷流 3 流水線每一個(gè)功能部件的前面都要有一個(gè)緩沖寄存器 稱為流水寄存器 4 流水技術(shù)適合于大量重復(fù)的時(shí)序過(guò)程 只有在輸入端不斷地提供任務(wù) 才能充分 發(fā)揮流水線的效率 5 流水線需要有通過(guò)時(shí)間和排空時(shí)間 在這兩個(gè)時(shí)間段中 流水線都不是滿負(fù)荷工 作 3 6 解決流水線瓶頸問(wèn)題有哪兩種常用方法 答 細(xì)分瓶頸段與重復(fù)設(shè)置瓶頸段 3 7 減少流水線分支延遲的靜態(tài)方法有哪些 答 1 預(yù)測(cè)分支失敗 沿失敗的分支繼續(xù)處理指令 就好象什么都沒(méi)發(fā)生似的 當(dāng)確 定分支是失敗時(shí) 說(shuō)明預(yù)測(cè)正確 流水線正常流動(dòng) 當(dāng)確定分支是成功時(shí) 流水線就把在分 支指令之后取出的指令轉(zhuǎn)化為空操作 并按分支目標(biāo)地址重新取指令執(zhí)行 2 預(yù)測(cè)分支成功 當(dāng)流水線 ID 段檢測(cè)到分支指令后 一旦計(jì)算出了分支目標(biāo)地址 就開(kāi)始從該目標(biāo)地址取指令執(zhí)行 3 延遲分支 主要思想是從邏輯上 延長(zhǎng) 分支指令的執(zhí)行時(shí)間 把延遲分支看成 是由原來(lái)的分支指令和若干個(gè)延遲槽構(gòu)成 不管分支是否成功 都要按順序執(zhí)行延遲槽中的 指令 3 種方法的共同特點(diǎn) 它們對(duì)分支的處理方法在程序的執(zhí)行過(guò)程中始終是不變的 它們 要么總是預(yù)測(cè)分支成功 要么總是預(yù)測(cè)分支失敗 3 8 簡(jiǎn)述延遲分支方法中的三種調(diào)度策略的優(yōu)缺點(diǎn) 調(diào)度策略 對(duì)調(diào)度的要求 對(duì)流水線性能改善的影響 從前調(diào)度 分支必須不依賴于被調(diào)度的指令 總是可以有效提高流水線性能 從目標(biāo)處調(diào)度 如果分支轉(zhuǎn)移失敗 必須保證被調(diào)度的指令對(duì)程 序的執(zhí)行沒(méi)有影響 可能需要復(fù)制被調(diào)度指令 分支轉(zhuǎn)移成功時(shí) 可以提高流水線性能 但由于復(fù)制指令 可能加大程序空間 從失敗處調(diào)度 如果分支轉(zhuǎn)移成功 必須保證被調(diào)度的指令對(duì)程 序的執(zhí)行沒(méi)有影響 分支轉(zhuǎn)移失敗時(shí) 可以提高流水線性能 3 9 列舉出下面循環(huán)中的所有相關(guān) 包括輸出相關(guān) 反相關(guān) 真相關(guān) for i 2 i 100 i i 1 a i b i a i s1 c i 1 a i d i s2 a i 1 2 b i s3 b i 1 2 b i s4 解 展開(kāi)循環(huán)兩次 a i b i a i s1 c i 1 a i d i s2 a i 1 2 b i s3 b i 1 2 b i s4 a i 1 b i 1 a i 1 s1 c i 2 a i 1 d i 1 s2 a i 2 b i 1 s3 b i 2 2 b i 1 s4 輸出相關(guān) 無(wú) 反相關(guān) 無(wú) 真相關(guān) S1 S2 由于循環(huán)引入的相關(guān) S4 S4 真相關(guān) S1 S4 真相關(guān) S3 S4 真相關(guān) S1 S3 輸出相關(guān) 反相關(guān) S2 S3 反相關(guān) 3 10 簡(jiǎn)述三種向量處理方式 它們對(duì)向量處理機(jī)的結(jié)構(gòu)要求有何不同 答 1 橫向處理方式 若向量長(zhǎng)度為 N 則水平處理方式相當(dāng)于執(zhí)行 N 次循環(huán) 若使 用流水線 在每次循環(huán)中可能出現(xiàn)數(shù)據(jù)相關(guān)和功能轉(zhuǎn)換 不適合對(duì)向量進(jìn)行流水處理 2 縱向處理方式 將整個(gè)向量按相同的運(yùn)算處理完畢之后 再去執(zhí)行其他運(yùn)算 適合對(duì)向量進(jìn) 行流水處理 向量運(yùn)算指令的源 目向量都放在存儲(chǔ)器內(nèi) 使得流水線運(yùn)算部件的輸入 輸 出端直接與存儲(chǔ)器相聯(lián) 構(gòu)成 M M 型的運(yùn)算流水線 3 縱橫處理方式 把長(zhǎng)度為 N 的向量 分為若干組 每組長(zhǎng)度為 n 組內(nèi)按縱向方式處理 依次處理各組 組數(shù)為 N n 適合流 水處理 可設(shè)長(zhǎng)度為 n 的向量寄存器 使每組向量運(yùn)算的源 目向量都在向量寄存器中 流 水線的運(yùn)算部件輸入 輸出端與向量寄存器相聯(lián) 構(gòu)成 R R 型運(yùn)算流水線 3 11 可采用哪些方法來(lái)提高向量處理機(jī)的性能 答 可采用多種方法 1 設(shè)置多個(gè)功能部件 使它們并行工作 2 采用鏈接技術(shù) 加快一串向量指令的執(zhí)行 3 采用循環(huán)開(kāi)采技術(shù) 加快循環(huán)的處理 4 采用多處理機(jī)系統(tǒng) 進(jìn)一步提高性能 3 12 有一指令流水線如下所示 入 1 2 3 4 出 50ns 50ns 100ns 200ns 1 求連續(xù)輸入 10 條指令 該流水線的實(shí)際吞吐率和效率 2 該流水線的 瓶頸 在哪一段 請(qǐng)采取兩種不同的措施消除此 瓶頸 對(duì)于你所給 出的兩種新的流水線 連續(xù)輸入 10 條指令時(shí) 其實(shí)際吞吐率和效率各是多少 解 1 2200 ns 2009200 10050 50 t 1n tTmax m 1i ipipeline ns 220 1 T n TP 1 pipeline 45 45 11 5 4 400 TP m t TPE m 1i i 2 瓶頸在 3 4 段 變成八級(jí)流水線 細(xì)分 850 ns 509850 t1 ntTmax m 1i ipipeline ns 85 1 T n TP 1 pipeline 58 82 17 10 8 400 TP m ti TPE m 1i 重復(fù)設(shè)置部件 ns 85 1 T n TP 1 pipeline 58 82 17 10 8850 10400 E 3 13 有一個(gè)流水線由 4 段組成 其中每當(dāng)流經(jīng)第 3 段時(shí) 總要在該段循環(huán)一次 然后才 能流到第 4 段 如果每段經(jīng)過(guò)一次所需要的時(shí)間都是t 問(wèn) 1 當(dāng)在流水線的輸入端連續(xù)地每t 時(shí)間輸入任務(wù)時(shí) 該流水線會(huì)發(fā)生什么情況 2 此流水線的最大吞吐率為多少 如果每t 2輸入一個(gè)任務(wù) 連續(xù)處理 10 個(gè)任務(wù) 1 2 3 1 3 2 4 1 4 2 4 3 4 4 123 13 24 14 4 入出 50ns50ns50ns50ns50ns50ns 1 2 3 1 3 2 4 1 4 2 4 3 4 4 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 8 8 9 9 10 10 8 9 10 8 9 10 850ns850ns 時(shí)間 段 時(shí)的實(shí)際吞吐率和效率是多少 3 當(dāng)每段時(shí)間不變時(shí) 如何提高該流水線的吞吐率 仍連續(xù)處理 10 個(gè)任務(wù)時(shí) 其 吞吐率提高多少 解 1 會(huì)發(fā)生流水線阻塞情況 第 1 個(gè)任務(wù) S1 S2 S3 S3 S4 第 2 個(gè)任務(wù) S1 S2 stall S3 S3 S4 第 3 個(gè)任務(wù) S1 stall S2 stall S3 S3 S4 第 4 個(gè)任務(wù) S1 stall S2 stall S3 S3 S4 2 54 35 92 50 4 5 TPE 23 10 T n Tp 23T 2 1 TP pipeline pipeline max t t t t 3 重復(fù)設(shè)置部件 段 時(shí)間 1 2 3 4 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 10 10 10 10 10 t 23 1 2 3 1 3 2 4 t t t t t tt 7 5 14 10 T n TP pipeline 吞吐率提高倍數(shù) t t 23 10 7 5 1 64 3 14 有一條靜態(tài)多功能流水線由 5 段組成 加法用 1 3 4 5 段 乘法用 1 2 5 段 第 3 段的時(shí)間為 2 t 其余各段的時(shí)間均為 t 而且流水線的輸出可以直接返回輸入端或 暫存于相應(yīng)的流水寄存器中 現(xiàn)要在該流水線上計(jì)算 畫出其時(shí)空?qǐng)D 并計(jì) 算其吞吐率 加速比和效率 解 首先 應(yīng)選擇適合于流水線工作的算法 對(duì)于本題 應(yīng)先計(jì)算 A1 B1 A2 B2 A3 B3和 A4 B4 再計(jì)算 A1 B1 A2 B2 和 A3 B3 A4 B4 然后求總的結(jié)果 其次 畫出完成該計(jì)算的時(shí)空?qǐng)D 如圖所示 圖中陰影部分表示該段在工作 由圖可見(jiàn) 它在 18 個(gè) t 時(shí)間中 給出了 7 個(gè)結(jié)果 所以吞吐率為 1 2 3 4 5 乘法 加法 t t 2 t t t 4 1 i i i BA 段 時(shí)間 1 1 2 3 1 3 2 4 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 10 10 10 10 10 t 14 時(shí)間 段 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 輸 入 A1 B1 A2 B2 A3 B3 A4 B4 A B C D A B C D A B A B C D A B C D A A1 B1 B A2 B2 C A3 B3 D A4 B4 C D 17 18 t TP 81 7 如果不用流水線 由于一次求積需 3 t 一次求和需 5 t 則產(chǎn)生上述 7 個(gè)結(jié)果共需 4 5 3 3 t 29 t 所以加速比為 該流水線的效率可由陰影區(qū)的面積和 5 個(gè)段總時(shí)空區(qū)的面積的比值求得 3 15 動(dòng)態(tài)多功能流水線由 6 個(gè)功能段組成 如下圖 其中 S1 S4 S5 S6 組成乘法流水線 S1 S2 S3 S6 組成加法流水線 各個(gè)功能 段時(shí)間均為 50ns 假設(shè)該流水線的輸出結(jié)果可以直接返回輸入端 而且設(shè)置有足夠的緩沖 寄存器 若以最快的方式用該流水計(jì)算 5 1i iii zyx 1 畫出時(shí)空?qǐng)D 2 計(jì)算實(shí)際的吞吐率 加速比和效率 解 機(jī)器一共要做 10 次乘法 4 次加法 S1 S2 S3 S4 S5 乘法 加法 S6 61 1 81 92 t t S 223 0 185 3354 E 3 16 在 MIPS 流水線上運(yùn)行如下代碼序列 LOOP LW R1 0 R2 DADDIU R1 R1 1 SW R1 0 R2 DADDIU R2 R2 4 DSUB R4 R3 R2 BNEZ R4 LOOP 其中 R3 的初值是 R2 396 假設(shè) 在整個(gè)代碼序列的運(yùn)行過(guò)程中 所有的存儲(chǔ)器訪 問(wèn)都是命中的 并且在一個(gè)時(shí)鐘周期中對(duì)同一個(gè)寄存器的讀操作和寫操作可以通過(guò)寄存器文 件 定向 問(wèn) 1 在沒(méi)有任何其它定向 或旁路 硬件的支持下 請(qǐng)畫出該指令序列執(zhí)行的流水線 時(shí)空?qǐng)D 假設(shè)采用排空流水線的策略處理分支指令 且所有的存儲(chǔ)器訪問(wèn)都命中 Cache 那么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周期 2 假設(shè)該流水線有正常的定向路徑 請(qǐng)畫出該指令序列執(zhí)行的流水線時(shí)空?qǐng)D 假設(shè) 采用預(yù)測(cè)分支失敗的策略處理分支指令 且所有的存儲(chǔ)器訪問(wèn)都命中 Cache 那 么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周期 3 假設(shè)該流水線有正常的定向路徑和一個(gè)單周期延遲分支 請(qǐng)對(duì)該循環(huán)中的指令進(jìn) 行調(diào)度 你可以重新組織指令的順序 也可以修改指令的操作數(shù) 但是注意不能 增加指令的條數(shù) 請(qǐng)畫出該指令序列執(zhí)行的流水線時(shí)空?qǐng)D 并計(jì)算執(zhí)行上述循環(huán) 所需要的時(shí)鐘周期數(shù) 解 寄存器讀寫可以定向 無(wú)其他旁路硬件支持 排空流水線 指令12345678910111213141516171819202122 LW IFIDEX MWB DADDIUIFSSIDEX MWB SWIFSSIDEX MWB DADDIUIFIDEX MWB DSUBIFSSIDEX MWB BNEZIFSSIDEX MWB LW IFSSIFIDEX MWB 第 i 次迭代 i 0 98 開(kāi)始周期 1 i 17 總的時(shí)鐘周期數(shù) 98 17 18 1684 有正常定向路徑 預(yù)測(cè)分支失敗 指令12345678910111131415 LWIFIDEX MWB DADDIUIFIDSEX MWB SWIFSIDEX MWB DADDIUIFIDEX MWB DSUBIFIDEX MWB BNEZIFIDEX MWB LWIFmiss miss IFIDEX MWB 第 i 次迭代 i 0 98 開(kāi)始周期 1 i 10 總的時(shí)鐘周期數(shù) 98 10 11 991 有正常定向路徑 單周期延遲分支 LOOP LW R1 0 R2 DADDIU R2 R2 4 DADDIU R1 R1 1 DSUB R4 R3 R2 BNEZ R4 LOOP SW R1 4 R2 第 i 次迭代 i 0 98 開(kāi)始周期 1 i 6 總的時(shí)鐘周期數(shù) 98 6 10 598 指令1234567891011 LW IFIDEX MWB DADDIUIFIDEX MWB DADDIUIFIDEX MWB DSUBIFIDEX MWB BNEZIFIDEX MWB SWIFIDEX MWB LW IFIDEX MWB 3 17 假設(shè)各種分支指令數(shù)占所有指令數(shù)的百分比如下 條件分支 20 其中的 60 是分支成功的 跳轉(zhuǎn)和調(diào)用 5 現(xiàn)有一條段數(shù)為 4 的流水線 無(wú)條件分支在第二個(gè)時(shí)鐘周期結(jié)束時(shí)就被解析出來(lái) 而條 件分支要到第三個(gè)時(shí)鐘周期結(jié)束時(shí)才能夠被解析出來(lái) 第一個(gè)流水段是完全獨(dú)立于指令類型 的 即所有類型的指令都必須經(jīng)過(guò)第一個(gè)流水段的處理 請(qǐng)問(wèn)在沒(méi)有任何控制相關(guān)的情況下 該流水線相對(duì)于存在上述控制相關(guān)情況下的加速比是多少 解 沒(méi)有控制相關(guān)時(shí)流水線的平均 CPI 1 存在控制相關(guān)時(shí) 由于無(wú)條件分支在第二個(gè)時(shí)鐘周期結(jié)束時(shí)就被解析出來(lái) 而條件分支 要到第 3 個(gè)時(shí)鐘周期結(jié)束時(shí)才能被解析出來(lái) 所以 1 若使用排空流水線的策略 則對(duì)于條件分支 有兩個(gè)額外的 stall 對(duì)無(wú)條件分支 有一個(gè)額外的 stall CPI 1 20 2 5 1 1 45 加速比 S CPI 1 1 45 2 若使用預(yù)測(cè)分支成功策略 則對(duì)于不成功的條件分支 有兩個(gè)額外的 stall 對(duì)無(wú) 條件分支和成功的條件分支 有一個(gè)額外的 stall 1 CPI 1 20 60 1 40 2 5 1 1 33 加速比 S CPI 1 1 33 3 若使用預(yù)測(cè)分支失敗策略 則對(duì)于成功的條件分支 有兩個(gè)額外的 stall 對(duì)無(wú)條 件分支 有一個(gè)額外的 stall 對(duì)不成功的條件分支 其目標(biāo)地址已經(jīng)由 PC 值給出 不必等 待 所以無(wú)延遲 CPI 1 20 60 2 40 0 5 1 1 29 加速比 S CPI 1 1 29 3 18 在 CRAY 1 機(jī)器上 按照鏈接方式執(zhí)行下述 4 條向量指令 括號(hào)中給出了相應(yīng)功 能部件的執(zhí)行時(shí)間 如果向量寄存器和功能部件之間的數(shù)據(jù)傳送需要 1 拍 試求此鏈接流 水線的通過(guò)時(shí)間是多少拍 如果向量長(zhǎng)度為 64 則需多少拍才能得到全部結(jié)果 V0 存儲(chǔ)器 從存儲(chǔ)器中取數(shù) 7 拍 V2 V0 V1 向量加 3 拍 V3 V2 A3 按 A3 左移 4 拍 V5 V3 V4 向量邏輯乘 2 拍 解 通過(guò)時(shí)間就是每條向量指令的第一個(gè)操作數(shù)執(zhí)行完畢需要的時(shí)間 也就是各功能流 水線由空到滿的時(shí)間 具體過(guò)程如下圖所示 要得到全部結(jié)果 在流水線充滿之后 向 量中后繼操作數(shù)繼續(xù)以流水方式執(zhí)行 直到整組向量執(zhí)行完畢 存儲(chǔ)器 訪存 向量加左移 向量邏 輯乘 V0V1V2V3V4V5 A3 拍 拍 通過(guò) 總共 通過(guò) 866323164TT 2312114113117T 3 19 某向量處理機(jī)有 16 個(gè)向量寄存器 其中 V0 V5中分別放有向量 A B C D E F 向量長(zhǎng)度均為 8 向量各元素均為浮點(diǎn)數(shù) 處理部件采用兩條單功能流水線 加法功能 部件時(shí)間為 2 拍 乘法功能部件時(shí)間為 3 拍 采用類似于 CARY 1 的鏈接技術(shù) 先計(jì)算 A B C 在流水線不停流的情況下 接著計(jì)算 D E F 1 求此鏈接流水線的通過(guò)時(shí)間 設(shè)寄存器入 出各需 1 拍 2 假如每拍時(shí)間為 50ns 完成這些計(jì)算并把結(jié)果存進(jìn)相應(yīng)寄存器 此處理部件的實(shí) 際吞吐率為多少 MFLOPS 解 1 我們?cè)谶@里假設(shè) A B 的中間結(jié)果放在 V6 中 A B C 地最后結(jié)果放在 V7 中 D E 地中間結(jié)果放在 V8 中 D E F 的最后結(jié)果放在 V9 中 具體實(shí)現(xiàn)參 考下圖 V0AV1B V3DV4EV5F V6V7V2C V9V8 向量加向量乘 通過(guò)時(shí)間應(yīng)該為前者 A B C 通過(guò)的時(shí)間 T通過(guò) 1 2 1 1 3 1 9 拍 2 在做完 A B C 之后 作 C D E 就不需要通過(guò)時(shí)間了 V6 A B V7 V6 C V8 D E V9 V8 F 第 4 章 指令級(jí)并行 4 1 解釋下列術(shù)語(yǔ) 指令級(jí)并行 簡(jiǎn)稱 ILP 是指指令之間存在的一種并行性 利用它 計(jì)算機(jī)可以并行執(zhí)行兩 條或兩條以上的指令 指令調(diào)度 通過(guò)在編譯時(shí)讓編譯器重新組織指令順序或通過(guò)硬件在執(zhí)行時(shí)調(diào)整指令順序來(lái)消 除沖突 指令的動(dòng)態(tài)調(diào)度 是指在保持?jǐn)?shù)據(jù)流和異常行為的情況下 通過(guò)硬件對(duì)指令執(zhí)行順序進(jìn)行重 新安排 以提高流水線的利用率且減少停頓現(xiàn)象 是由硬件在程序?qū)嶋H運(yùn)行時(shí)實(shí)施的 指令的靜態(tài)調(diào)度 是指依靠編譯器對(duì)代碼進(jìn)行靜態(tài)調(diào)度 以減少相關(guān)和沖突 它不是在程序 執(zhí)行的過(guò)程中 而是在編譯期間進(jìn)行代碼調(diào)度和優(yōu)化的 S26 67MFLOP T 32 TP 1200 ns 24818TT 拍 通過(guò) 保留站 在采用 Tomasulo 算法的 MIPS 處理器浮點(diǎn)部件中 在運(yùn)算部件的入口設(shè)置的用來(lái) 保存一條已經(jīng)流出并等待到本功能部件執(zhí)行的指令 相關(guān)信息 CDB 公共數(shù)據(jù)總線 動(dòng)態(tài)分支預(yù)測(cè)技術(shù) 是用硬件動(dòng)態(tài)地進(jìn)行分支處理的方法 在程序運(yùn)行時(shí) 根據(jù)分支指令過(guò) 去的表現(xiàn)來(lái)預(yù)測(cè)其將來(lái)的行為 如果分支行為發(fā)生了變化 預(yù)測(cè)結(jié)果也跟著改變 BHT 分支歷史表 用來(lái)記錄相關(guān)分支指令最近一次或幾次的執(zhí)行情況是成功還是失敗 并 據(jù)此進(jìn)行預(yù)測(cè) 分支目標(biāo)緩沖 是一種動(dòng)態(tài)分支預(yù)測(cè)技術(shù) 將執(zhí)行過(guò)的成功分支指令的地址以及預(yù)測(cè)的分支 目標(biāo)地址記錄在一張硬件表中 在每次取指令的同時(shí) 用該指令的地址與表中所有項(xiàng)目的相 應(yīng)字段進(jìn)行比較 以便盡早知道分支是否成功 盡早知道分支目標(biāo)地址 達(dá)到減少分支開(kāi)銷 的目的 前瞻執(zhí)行 解決控制相關(guān)的方法 它對(duì)分支指令的結(jié)果進(jìn)行猜測(cè) 然后按這個(gè)猜測(cè)結(jié)果繼續(xù) 取指 流出和執(zhí)行后續(xù)的指令 只是指令執(zhí)行的結(jié)果不是寫回到寄存器或存儲(chǔ)器 而是放到 一個(gè)稱為 ROB 的緩沖器中 等到相應(yīng)的指令得到 確認(rèn) 即確實(shí)是應(yīng)該執(zhí)行的 后 才 將結(jié)果寫入寄存器或存儲(chǔ)器 ROB ReOrder Buffer 前瞻執(zhí)行緩沖器 超標(biāo)量 一種多指令流出技術(shù) 它在每個(gè)時(shí)鐘周期流出的指令條數(shù)不固定 依代碼的具體情 況而定 但有個(gè)上限 超流水 在一個(gè)時(shí)鐘周期內(nèi)分時(shí)流出多條指令 超長(zhǎng)指令字 一種多指令流出技術(shù) VLIW 處理機(jī)在每個(gè)時(shí)鐘周期流出的指令條數(shù)是固定的 這些指令構(gòu)成一條長(zhǎng)指令或者一個(gè)指令包 在這個(gè)指令包中 指令之間的并行性是通過(guò)指令 顯式地表示出來(lái)的 循環(huán)展開(kāi) 是一種增加指令間并行性最簡(jiǎn)單和最常用的方法 它將循環(huán)展開(kāi)若干遍后 通過(guò) 重命名和指令調(diào)度來(lái)開(kāi)發(fā)更多的并行性 4 2 簡(jiǎn)述 Tomasulo 算法的基本思想 答 核心思想是 記錄和檢測(cè)指令相關(guān) 操作數(shù)一旦就緒就立即執(zhí)行 把發(fā)生 RAW 沖突的可能性減小到最少 通過(guò)寄存器換名來(lái)消除 WAR 沖突和 WAW 沖突 寄存器換 名是通過(guò)保留站來(lái)實(shí)現(xiàn) 它保存等待流出和正在流出指令所需要的操作數(shù) 基本思想 只要操作數(shù)有效 就將其取到保留站 避免指令流出時(shí)才到寄存器中取數(shù)據(jù) 這就使得即將執(zhí)行的指令從相應(yīng)的保留站中取得操作數(shù) 而不是從寄存器中 指令的執(zhí)行結(jié) 果也是直接送到等待數(shù)據(jù)的其它保留站中去 因而 對(duì)于連續(xù)的寄存器寫 只有最后一個(gè)才 真正更新寄存器中的內(nèi)容 一條指令流出時(shí) 存放操作數(shù)的寄存器名被換成為對(duì)應(yīng)于該寄存 器保留站的名稱 編號(hào) 4 3 根據(jù)需要展開(kāi)下面的循環(huán)并進(jìn)行指令調(diào)度 直到?jīng)]有任何延遲 指令的延遲如表 4 4 LOOP L D F0 0 R1 MUL D F0 F0 F2 L D F4 0 R2 ADD D F0 F0 F4 S D F0 0 R2 DSUBI R1 R1 8 DSUBI R2 R2 8 BNEZ R1 LOOP 解 將循環(huán)展開(kāi)兩次 進(jìn)行指令調(diào)度 即可以消除延遲 代碼如下 LOOP L D F0 0 R1 L D
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級(jí)物理(上冊(cè))練習(xí)試題
- 小學(xué)生辯論賽課件
- 小學(xué)生課件兒歌視頻教學(xué)
- 10 必修1 第二單元 第9講 細(xì)胞呼吸的原理和應(yīng)用
- 跨國(guó)項(xiàng)目數(shù)據(jù)合規(guī)審查與隱私保護(hù)服務(wù)協(xié)議
- 跨境電商采購(gòu)合同糾紛解決與合規(guī)管理
- 文化場(chǎng)館安保服務(wù)勞務(wù)派遣合同
- 醫(yī)學(xué)常見(jiàn)病癥診斷與處理知識(shí)試卷含法洛四聯(lián)征等案例
- 2024-2025學(xué)年湖北省云學(xué)聯(lián)盟高一下學(xué)期5月月考?xì)v史試題及答案
- 團(tuán)隊(duì)管理實(shí)踐案例分析框架構(gòu)建考核試卷
- 電工廠搬遷方案(3篇)
- 2025年南京市中考數(shù)學(xué)真題試卷
- 老年人眼科疾病
- 鋼板配送設(shè)計(jì)方案(3篇)
- 2025年內(nèi)蒙古煤炭地質(zhì)勘查(集團(tuán))一零九有限公司招聘筆試參考題庫(kù)含答案解析
- 中醫(yī)基礎(chǔ)學(xué)課件護(hù)理情志
- 小學(xué)三年級(jí)科學(xué)下冊(cè)教案
- T/CBMCA 039-2023陶瓷大板巖板裝修鑲貼應(yīng)用規(guī)范
- 2025-2030中國(guó)美容美發(fā)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025年中國(guó)不銹鋼蝕刻板數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 免疫檢查點(diǎn)抑制劑相關(guān)肺炎診治和管理專家共識(shí)(2025)要點(diǎn)解讀
評(píng)論
0/150
提交評(píng)論