歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > PPT文檔下載  

計(jì)算機(jī)原理 中央處理器:數(shù)據(jù)通路和控制器

  • 資源ID:22681359       資源大?。?span id="tzifo8n" class="font-tahoma">5.49MB        全文頁(yè)數(shù):231頁(yè)
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

計(jì)算機(jī)原理 中央處理器:數(shù)據(jù)通路和控制器

計(jì) 算 機(jī) 原 理第 六 章 中 央 處 理 器 :數(shù) 據(jù) 通 路 和 控 制 器 2 本 講 簡(jiǎn) 要 說(shuō) 明p目 的 與 要 求 : 了 解 CPU的 功 能 , 理 解 處 理器 數(shù) 據(jù) 通 路 的 建 立 , 掌 握 單 周 期 數(shù) 據(jù) 通 路 的設(shè) 計(jì)p授 課 重 點(diǎn) : 單 周 期 數(shù) 據(jù) 通 路 的 建 立 與 設(shè) 計(jì)p授 課 難 點(diǎn) : 如 何 在 處 理 器 中 建 立 數(shù) 據(jù) 通 路p閱 讀 章 節(jié) : Computer Organization and Design 第 5章 第 13節(jié) , 計(jì) 算 機(jī) 原 理 和 設(shè)計(jì) 第 4章 第 12節(jié)p作 業(yè) 安 排 : P354 5.1題 3 p數(shù) 據(jù) 通 路 的 位 置p控 制 器 的 基 本 概 念p單 周 期 數(shù) 據(jù) 通 路 的 設(shè) 計(jì)n數(shù) 據(jù) 通 路 的 功 能 和 實(shí) 現(xiàn)l操 作 元 件 ( 組 合 邏 輯 )l狀 態(tài) / 存 儲(chǔ) 元 件 ( 時(shí) 序 邏 輯 )n數(shù) 據(jù) 通 路 的 定 時(shí)p選 擇 MIPS指 令 集 的 一 個(gè) 子 集 作 為 CPU的 實(shí) 現(xiàn) 目 標(biāo)n下 條 指 令 地 址 計(jì) 算 與 取 指 令 部 件nR型 指 令 的 數(shù) 據(jù) 通 路n訪 存 指 令 的 數(shù) 據(jù) 通 路n立 即 數(shù) 運(yùn) 算 指 令 的 數(shù) 據(jù) 通 路n分 支 和 跳 轉(zhuǎn) 指 令 的 數(shù) 據(jù) 通 路p綜 合 所 有 指 令 的 數(shù) 據(jù) 通 路主 要 內(nèi) 容 4 回 顧 存 儲(chǔ) 程 序 計(jì) 算 機(jī) 結(jié) 構(gòu) 運(yùn) 算 器 (ALU) 控 制 器 存 儲(chǔ) 器 輸 入 設(shè) 備 輸 出 設(shè) 備 數(shù) 據(jù) 流 控 制 流 5 數(shù) 據(jù) 通 路 的 位 置p計(jì) 算 機(jī) 的 五 大 組 成 部 分 p什 么 是 數(shù) 據(jù) 通 路 (DataPath)?n指 令 執(zhí) 行 過(guò) 程 中 , 數(shù) 據(jù) 所 經(jīng) 過(guò) 的 路 徑 (包 括 路 徑 中 的 部 件 ),是 指 令 的 執(zhí) 行 部 件 p控 制 器 (Control)的 功 能n對(duì) 指 令 進(jìn) 行 譯 碼 , 生 成 指 令 對(duì) 應(yīng) 的 控 制 信 號(hào) , 控 制 數(shù) 據(jù) 通路 的 動(dòng) 作 。 能 對(duì) 指 令 的 執(zhí) 行 部 件 發(fā) 出 控 制 信 號(hào) , 是 指 令 的 控 制 部 件 Control MemoryProcessor InputOutputDatapathDatapath 6 控 制 器 基 本 概 念p控 制 器 的 功 能 (從 程 序 執(zhí) 行 角 度 看 )n對(duì) 指 令 流 和 數(shù) 據(jù) 流 實(shí) 施 正 確 控 制n在 空 間 上 , 由 控 制 器 形 成 受 控 部 件 的 控 制 信 號(hào)n在 時(shí) 間 上 , 控 制 器 控 制 各 種 動(dòng) 作 的 執(zhí) 行 順 序 7 控 制 器 基 本 概 念 存 儲(chǔ) 器運(yùn) 算 器控 制 器 8 PC IR IDn指 令 控 制n操 作 控 制n時(shí) 間 控 制n數(shù) 據(jù) 加 工n處 理 中 斷 ALU 寄 存 器 XR 地 址 運(yùn) 算中 斷 系 統(tǒng)CU 時(shí) 序 電 路寄 存 器ALU 中 斷系 統(tǒng) CUCPU 控制總線 數(shù)據(jù)總線 地址總線 9 1) 用 戶 可 見(jiàn) 寄 存 器(1) 通 用 寄 存 器p CPU 的 寄 存 器 存 放 操 作 數(shù)可 作 某 種 尋 址 方 式 所 需 的 專(zhuān) 用 寄 存 器(2) 數(shù) 據(jù) 寄 存 器 存 放 操 作 數(shù) ( 滿 足 各 種 數(shù) 據(jù) 類(lèi) 型 )兩 個(gè) 寄 存 器 拼 接 存 放 雙 倍 字 長(zhǎng) 數(shù) 據(jù)(3) 地 址 寄 存 器 存 放 地 址 , 其 位 數(shù) 滿 足 最 大 地 址 范 圍用 于 特 殊 尋 址 方 式 段 基 值 棧 指 針(4) 條 件 碼 寄 存 器 存 放 條 件 碼 , 可 作 程 序 分 支 的 依 據(jù)如 正 、 負(fù) 、 零 、 溢 出 、 進(jìn) 位 等 10 2) 控 制 和 狀 態(tài) 寄 存 器(1) 控 制 寄 存 器PC控 制 CPU 操 作(2) 狀 態(tài) 寄 存 器狀 態(tài) 寄 存 器其 中 MAR MBR IR 用 戶 不 可 見(jiàn) 存 放 條 件 碼 用 戶 可 見(jiàn) PSW 寄 存 器 存 放 程 序 狀 態(tài) 字 用 戶 可 見(jiàn) PC 用 戶 可 見(jiàn) MAR MM MBR IRp CPU 的 寄 存 器 11 CPU基 本 組 成 原 理 圖 控 制 部 件 CPU 由 執(zhí) 行 部 件 和 控 制 部 件 組 成CPU 包 含 數(shù) 據(jù) 通 路 和 控 制 器 控 制 器 由 指 令 譯 碼 器 和 控 制 信 號(hào) 形 成 部 件 等 組 成執(zhí) 行 部 件 12 CPU執(zhí) 行 指 令 過(guò) 程 及 其 與 計(jì) 算 機(jī) 性 能 的 關(guān) 系pCPU執(zhí) 行 指 令 的 過(guò) 程n取 指 令nPC+1送 PCn指 令 譯 碼n進(jìn) 行 主 存 地 址 運(yùn) 算n取 操 作 數(shù)n進(jìn) 行 算 術(shù) / 邏 輯 運(yùn) 算n存 結(jié) 果n判 斷 和 檢 測(cè) “ 異 常 ” 事 件n若 有 異 常 , 則 自 動(dòng) 切 換 到 異 常 處 理 程 序n檢 測(cè) 是 否 有 “ 中 斷 ” 請(qǐng) 求 , 有 則 轉(zhuǎn) 中 斷 處 理pCPU的 實(shí) 現(xiàn) 與 計(jì) 算 機(jī) 性 能 的 關(guān) 系n計(jì) 算 機(jī) 性 能 (程 序 執(zhí) 行 快 慢 )由 三 個(gè) 關(guān) 鍵 因 素 決 定 : l指 令 數(shù) 目 、 時(shí) 鐘 周 期 、 CPIu指 令 數(shù) 目 由 編 譯 器 和 指 令 集 決 定u時(shí) 鐘 周 期 和 CPI由 CPU的 實(shí) 現(xiàn) 來(lái) 決 定 CPU的 設(shè) 計(jì) 與 實(shí) 現(xiàn) 非 常 重 要 ! 它 直 接 影 響 計(jì) 算 機(jī) 的 性 能 。問(wèn) 題 :“ 取 指 令 ” 一 定 在 最 開(kāi) 始 做 嗎?“PC+1” 一 定 在 譯 碼 之 前 做 嗎?“ 譯 碼 ” 須 在 指 令 執(zhí) 行 前 做 嗎?“ 異 常 ” 和 “ 中 斷 ” 差 別 是 什么 ?取 指階 段 執(zhí) 行階 段 13 組 成 指 令 功 能 的 四 個(gè) 基 本 操 作p每 條 指 令 的 功 能 可 能 由 四 個(gè) 基 本 操 作 實(shí) 現(xiàn)(1) 讀 取 某 一 主 存 單 元 的 內(nèi) 容 , 并 將 其 裝 入 某 個(gè) 寄 存 器 (2) 把 一 個(gè) 數(shù) 據(jù) 從 某 個(gè) 寄 存 器 存 入 給 定 的 主 存 單 元 中 (3) 把 一 個(gè) 數(shù) 據(jù) 從 某 個(gè) 寄 存 器 送 到 另 一 個(gè) 寄 存 器 或 ALU(4) 進(jìn) 行 某 種 算 術(shù) 或 邏 輯 運(yùn) 算 , 將 結(jié) 果 送 入 某 個(gè) 寄 存 器p操 作 功 能 可 形 式 化 描 述n用 寄 存 器 傳 輸 語(yǔ) 言 RTL (Register Transfer Language)描 述n本 章 所 用 的 RTL規(guī) 定 : 用 Rr表 示 寄 存 器 r的 內(nèi) 容 用 Maddr表 示 讀 取 主 存 單 元 addr的 內(nèi) 容 傳 送 方 向 用 “ ” 表 示 , 傳 送 源 在 右 , 傳 送 目 的 在 左 程 序 計(jì) 數(shù) 器 PC直 接 用 PC表 示 其 內(nèi) 容 用 OPdata表 示 對(duì) 數(shù) 據(jù) data進(jìn) 行 OP操 作 14 數(shù) 據(jù) 通 路 的 基 本 結(jié) 構(gòu)p數(shù) 據(jù) 通 路 由 兩 類(lèi) 部 件 組 成n組 合 邏 輯 元 件 (亦 稱(chēng) 操 作 元 件 )n存 儲(chǔ) 元 件 (亦 稱(chēng) 狀 態(tài) 元 件 )p元 件 間 的 連 接 方 式n總 線 連 接 方 式n分 散 連 接 方 式p數(shù) 據(jù) 通 路 的 構(gòu) 成n由 “ 操 作 元 件 ” 和 “ 存 儲(chǔ) 元 件 ” 通 過(guò) 總 線 或 分 散 方 式 連 接而 成p數(shù) 據(jù) 通 路 的 功 能n進(jìn) 行 數(shù) 據(jù) 存 儲(chǔ) 、 處 理 、 傳 送因 此 , 數(shù) 據(jù) 通 路 是 由 操 作 元 件 和 存 儲(chǔ) 元 件 通 過(guò) 總 線 方 式 或分 散 方 式 連 接 而 成 的 進(jìn) 行 數(shù) 據(jù) 存 儲(chǔ) 、 處 理 、 傳 送 的 路 徑 。 15 操 作 元 件 : 組 合 邏 輯 電 路加 法 器(Adder)多 路 選 擇 器 (MUX)算 術(shù) 邏 輯 部件 (ALU) 32AB 32 Y32Select MUX 3232AB 32 ResultZeroOP ALU 3232AB 32 SumCarryAdder CarryIn 3 Decoder out0out1out7out2 譯 碼 器(Decoder) 何 時(shí) 要 用 到adder, ALU, MUX or Decoder?控 制 信 號(hào)組 合 邏 輯 元 件 的 特 點(diǎn) l其 輸 出 只 取 決 于 當(dāng) 前 的 輸 入 l定 時(shí) : 所 有 輸 入 到 達(dá) 后 , 經(jīng) 過(guò) 一定 的 邏 輯 門(mén) 延 時(shí) , 輸 出 端 改 變 ,并 保 持 到 下 次 改 變 , 不 需 要 時(shí) 鐘信 號(hào) 來(lái) 定 時(shí)二 選 一 或 多 選 一 加 法 器 需 要什 么 控 制 信號(hào) ? 16 狀 態(tài) 元 件 : 時(shí) 序 邏 輯 電 路p狀 態(tài) (存 儲(chǔ) )元 件 的 特 點(diǎn) n具 有 存 儲(chǔ) 功 能 , 在 時(shí) 鐘 控 制 下 輸 入 狀 態(tài) 被 寫(xiě) 到 電 路 中 , 直到 下 一 個(gè) 時(shí) 鐘 到 達(dá)n輸 入 端 狀 態(tài) 由 時(shí) 鐘 決 定 何 時(shí) 寫(xiě) 入 , 輸 出 端 狀 態(tài) 隨 時(shí) 可 讀 出p定 時(shí) 方 式 :規(guī) 定 信 號(hào) 何 時(shí) 寫(xiě) 入 狀 態(tài) 元 件 或 何 時(shí) 從 狀 態(tài)元 件 讀 出n邊 沿 觸 發(fā) (edge-triggered)方 式 l狀 態(tài) 單 元 中 的 值 只 在 時(shí) 鐘 邊 沿 改 變 。 每 個(gè) 時(shí) 鐘 周 期 改 變 一 次p最 簡(jiǎn) 單 的 狀 態(tài) 單 元n D觸 發(fā) 器 : 一 個(gè) 時(shí) 鐘 輸 入 、 一 個(gè) 狀 態(tài) 輸 入 、 一 個(gè) 狀 態(tài) 輸 出 cycle time rising edgefalling edgel上 升 沿 (rising edge) 觸 發(fā) :在 時(shí) 鐘 正 跳 變 時(shí) 進(jìn) 行 讀 /寫(xiě)l下 降 沿 (falling edge)觸 發(fā) :在 時(shí) 鐘 負(fù) 跳 變 時(shí) 進(jìn) 行 讀 /寫(xiě) 17 回 顧 D觸 發(fā) 器切 記 : 狀 態(tài) 單 元 的 輸 入 信 息 總 是 在 一 個(gè) 時(shí) 鐘 邊 沿 到 達(dá) 后 的“ Clk-to-Q” 時(shí) 才 被 寫(xiě) 入 到 單 元 中 , 此 時(shí) 的 輸 出 才 反 映 新 的 狀 態(tài) 值數(shù) 據(jù) 通 路 中 的 狀 態(tài) 元 件 有 兩 種 : 寄 存 器 (組 ) + 存 儲(chǔ) 器Q總 是 在 clk-Q后 跟 著 D變 化這 段 時(shí) 間 D變 化 不 影 響 Qn建 立 時(shí) 間 (Set Time):在 觸 發(fā) 時(shí) 鐘 邊 沿 之 前 輸 入 必 須 穩(wěn) 定n保 持 時(shí) 間 (Hold Time):在 觸 發(fā) 時(shí) 鐘 邊 沿 之 后 輸 入 必 須 保 持nClock-to-Q-time:在 觸 發(fā) 時(shí) 鐘 邊 沿 , 輸 出 并 不 能 立 即 變 化 18 寄 存 器 的 種 類(lèi)p寄 存 器 由 N位 觸 發(fā) 器 構(gòu) 成pCPU中 的 不 同 類(lèi) 型 寄 存 器n由 鎖 存 器 構(gòu) 成 的 暫 存 器 : 帶 “ 寫(xiě) 使 能 ” 信 號(hào)n用 于 和 總 線 相 連 的 、 輸 出 端 帶 三 態(tài) 門(mén) 的 寄 存 器 : 帶 “ 三態(tài) 門(mén) 控 ” 信 號(hào)n帶 復(fù) 位 (清 0)功 能 的 寄 存 器 n帶 計(jì) 數(shù) (自 增 )功 能 的 寄 存 器 n帶 移 位 功 能 的 寄 存 器n組 合 上 述 多 個(gè) 功 能 的 寄 存 器 : 帶 多 個(gè) 控 制 信 號(hào)p寄 存 器 組 有 若 干 個(gè) 寄 存 器 組 成n通 常 是 雙 口 : 兩 個(gè) 讀 口 + 一 個(gè) 寫(xiě) 口p可 帶 時(shí) 鐘 輸 入 信 號(hào)n用 于 控 制 輸 入 信 號(hào) 何 時(shí) 被 寫(xiě) 入 到 寄 存 器 中 經(jīng) 過(guò) 一 個(gè) clk-to-Q, 輸 入 信 號(hào) 在 寄 存 器 的 輸 出 端 有 效 ! 19 存 儲(chǔ) 元 件 : 寄 存 器 和 寄 存 器 組p寄 存 器 (Register)n寫(xiě) 使 能 (Write Enable-WE)信 號(hào) 0: 時(shí) 鐘 邊 沿 到 時(shí) , 輸 出 不 變 1: 時(shí) 鐘 邊 沿 到 時(shí) , 輸 出 開(kāi) 始 變 為 輸 入n若 每 個(gè) 時(shí) 鐘 邊 沿 都 寫(xiě) 入 , 則 不 需 WE信 號(hào)p寄 存 器 組 (Register File)n兩 個(gè) 讀 口 (組 合 邏 輯 操 作 ): busA和 busB 分 別 由 RA和 RB給 出 地 址 。 地 址 RA或 RB有 效 后 , 經(jīng) 一 個(gè) “取 數(shù) 時(shí) 間(AccessTime)”, BusA和 BusB有 效n一 個(gè) 寫(xiě) 口 (時(shí) 序 邏 輯 操 作 ): 寫(xiě) 使 能 為 1且 時(shí) 鐘 邊 沿 到 時(shí) , busW傳 來(lái) 的 值 開(kāi) 始 被 寫(xiě) 入 RW指 定 的 寄 存 器 中 ClkbusWWrite Enable32 32busA32busB5 5 5RW RARB32 32-bitRegistersClkData InWrite EnableN NData Out 20 寄 存 器 組 的 內(nèi) 部 結(jié) 構(gòu)busW CD01 3031 MUXMXURegister 0Register 1Register 30Register 31Write EnableRW 32-to-1Decoder RA RB busAbusBClk CDCDCD每 個(gè) 寄 存 器 由 32個(gè) 觸 發(fā) 器 組 成 , 輸 入 數(shù) 據(jù)來(lái) 自 busW, 讀 出 數(shù) 據(jù) 分 別 送 busA和 busBWriteEnable信 號(hào) 控 制 是 否 寫(xiě) 入 新 值 21 p理 想 存 儲(chǔ) 器 (idealized memory)nData Out: 32位 讀 出 數(shù) 據(jù)nData In: 32位 寫(xiě) 入 數(shù) 據(jù)nAddress: 讀 寫(xiě) 公 用 一 個(gè) 32位 地 址n讀 操 作 (組 合 邏 輯 操 作 ): 地 址 Address有 效 后 , 經(jīng) 一 個(gè)“取 數(shù) 時(shí) 間 AccessTime”, Data Out上 數(shù) 據(jù) 有 效n寫(xiě) 操 作 (時(shí) 序 邏 輯 操 作 ): 寫(xiě) 使 能 為 1且 時(shí) 鐘 Clk邊 沿 到 時(shí) ,Data In傳 來(lái) 的 值 開(kāi) 始 被 寫(xiě) 入 Address指 定 的 存 儲(chǔ) 單 元存 儲(chǔ) 元 件 : 理 想 存 儲(chǔ) 器 ClkData InWrite Enable32 32DataOutAddress為 簡(jiǎn) 化 數(shù) 據(jù) 通 路 操 作 的 說(shuō) 明 , 在 此 把 存 儲(chǔ) 器 簡(jiǎn) 化 為 帶 時(shí)鐘 信 號(hào) Clk的 理 想 模 型 。 22 數(shù) 據(jù) 通 路 與 時(shí) 序 控 制p同 步 系 統(tǒng) (Synchronous system)n用 專(zhuān) 門(mén) 時(shí) 序 信 號(hào) 定 時(shí) 操 作n時(shí) 序 信 號(hào) 規(guī) 定 何 時(shí) 發(fā) 何 操 作p時(shí) 序 信 號(hào)n用 于 同 步 控 制 的 定 時(shí) 信 號(hào)p指 令 周 期n取 出 并 執(zhí) 行 一 條 指 令 的 時(shí) 間n不 同 指 令 的 指 令 周 期 會(huì) 不 同p早 期 計(jì) 算 機(jī) 三 級(jí) 時(shí) 序 系 統(tǒng)n機(jī) 器 周 期 節(jié) 拍 (時(shí) 鐘 周 期 ) 脈 沖n指 令 周 期 分 為 取 指 令 、 讀 數(shù) 、 執(zhí) 行 并 存 結(jié) 果 多 個(gè) 基 本 工 作 周 期 , 稱(chēng) 為 機(jī) 器 周 期n機(jī) 器 周 期 有 取 指 令 、 存 儲(chǔ) 器讀 /寫(xiě) 、 中 斷 響 應(yīng) 等 類(lèi) 型 現(xiàn) 代 計(jì) 算 機(jī) 已 不 采 用 三 級(jí) 時(shí) 序 系統(tǒng) , 機(jī) 器 周 期 的 概 念 已 逐 漸 消 失。 整 個(gè) 數(shù) 據(jù) 通 路 中 的 定 時(shí) 信 號(hào) 就是 時(shí) 鐘 , 一 個(gè) 時(shí) 鐘 周 期 就 是 一 個(gè)節(jié) 拍 。 SKIP 23 p四 類(lèi) 指 令 的 指 令 周 期取 指 周 期 執(zhí) 行 周 期取 指 周 期 執(zhí) 行 周 期取 指 周 期 執(zhí) 行 周 期取 指 周 期 間 址 周 期 執(zhí) 行 周 期非 訪 存 指 令 周 期直 接 訪 存 指 令 周 期間 接 訪 存 指 令 周 期轉(zhuǎn) 移 指 令 周 期指 令 周 期 BACK 24 數(shù) 據(jù) 通 路 與 時(shí) 序 控 制Clk 寄 存 器 的 輸 入 可 變 化 Setup Hold. . . .Setup Hold數(shù) 據(jù) 通 路 由 “ + 狀 態(tài) 元 件 + 操 作 元 件 ( 組 合 電 路 ) + 狀 態(tài) 元件 + ” 組 成只 有 狀 態(tài) 元 件 能 存 儲(chǔ) 信 息 , 所 有 操 作 元 件 都 須 從 狀 態(tài) 單 元 接收 輸 入 , 并 將 輸 出 寫(xiě) 入 狀 態(tài) 單 元 中 。 其 輸 入 為 前 一 時(shí) 鐘 生 成的 數(shù) 據(jù) , 輸 出 為 當(dāng) 前 時(shí) 鐘 所 用 的 數(shù) 據(jù)現(xiàn) 代 計(jì) 算 機(jī) 的 時(shí) 鐘 周 期Clk Clkp假 定 采 用 下 降 沿 觸 發(fā) (負(fù) 跳 變 )方 式 (可 以 是 上 升 沿 方 式 )n狀 態(tài) 單 元 在 下 降 沿 寫(xiě) 入 信 息 ,經(jīng) Latch Prop (clk-to-Q)后 輸 出 有 效 n Cycle Time = Latch Prop + Longest Delay Path + Setup + Clock Skewp約 束 條 件 : (Latch Prop + Shortest Delay Path - Clock Skew) Hold Time 通 常 Latch Prop Hold Time, 故 無(wú) 需 考 慮 Hold Time 25 早 期 累 加 器 型 指 令 系 統(tǒng) 數(shù) 據(jù) 通 路p最 簡(jiǎn) 單 的 數(shù) 據(jù) 通 路 結(jié) 構(gòu) p取 指 令 數(shù) 據(jù) 路 徑 PCMAR, Read M, MMBRIBRIRp取 操 作 數(shù) 、 運(yùn) 算 、 送 結(jié) 果的 數(shù) 據(jù) 路 徑 操 作 數(shù) 地 址 MAR, Read M, MMBRALU輸 入 端 , ACALU輸 入 端 , ALU操 作 , ALU結(jié) 果 MBR, Write M 26 單 總 線 數(shù) 據(jù) 通 路p四 種 基 本 操 作 的 時(shí) 序n在 通 用 寄 存 器 之 間 傳 送 數(shù) 據(jù) R0out, Yin n完 成 算 術(shù) 、 邏 輯 運(yùn) 算R1out, YinR2out, Add, ZinZout, R3inn從 主 存 取 字 R1out, MARinRead, WMFC (等 待 MFC)MDRout, R2in n寫(xiě) 字 到 主 存R1out, MARinR2out, MDRin,Write, WMFCRR2MRR1 MRR1 RR2問(wèn) 題 : 時(shí) 鐘 周 期 的 寬 度 如 何 確 定 ? 以 “Riout,OP,Rjin”所 花 時(shí) 間 來(lái) 確 定還 是 以 “ Read/Write” 所 花 時(shí) 間 來(lái) 確 定 ? 以 上 四 種 操 作 各 需 要 幾 個(gè) 時(shí) 鐘 周 期 ?1Cycle?3Cycles?3Cycles?3Cycles? CPU訪 存 有 兩 種 通 信 方 式早 期 : 直 接 訪 問(wèn) MM, “ 異 步” 方 式 , 用 MFC應(yīng) 答 信 號(hào)現(xiàn) 在 : 先 Cache后 MM, “ 同 步” 方 式 , 無(wú) 需 應(yīng) 答 27 三 總 線 數(shù) 據(jù) 通 路p單 總 線 中 一 個(gè) 時(shí) 鐘 內(nèi) 只 允 許 傳 一 個(gè)數(shù) 據(jù) , 因 而 指 令 執(zhí) 行 效 率 很 低p可 采 用 多 總 線 方 式 , 同 時(shí) 在 多 個(gè) 總線 上 傳 送 不 同 數(shù) 據(jù) , 提 高 效 率例 : 三 總 線 數(shù) 據(jù) 通 路n總 線 A、 B分 別 傳 送 兩 個(gè) 源 操 作 數(shù) ,總 線 C傳 送 結(jié) 果n單 總 線 中 暫 存 器 Y和 Z可 取 消 ,Why?n采 用 雙 口 寄 存 器n如 何 實(shí) 現(xiàn) : RR3 RR1 op RR2R1outA, R2outB, OP, R3inC只 要 一 個(gè) 時(shí) 鐘 周 期 即 可目 前 , 大 多 數(shù) 計(jì) 算 機(jī) 都 采 用 流 水 線 方 式 執(zhí) 行 指 令 , 而 上 述 單 總 線 或 三 總 線數(shù) 據(jù) 通 路 很 難 實(shí) 現(xiàn) 指 令 流 水 執(zhí) 行 。 ZY以 MIPS指 令 系 統(tǒng) 為 例 介 紹 非 總 線 式 CPU的 設(shè) 計(jì) 28 回 顧 MIPS的 三 種 指 令 類(lèi) 型pADD and SUBSTRACTnadd rd, rs, rtnsub rd, rs, rtpOR Immediate nori rt, rs, imm16pLOAD and STOREnlw rt, rs, imm16nsw rt, rs, imm16pBRANCH nbeq rs, rt, imm16pJUMP nj target op target address 02631 6 bits 26 bitsop rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bitsop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits這 些 指 令 具 有 代 表 性 !算 術(shù) 運(yùn) 算 、 邏 輯 運(yùn) 算 ; RR型 、 RI型 ;訪 存 指 令 ; 條 件 轉(zhuǎn) 移 、 無(wú) 條 件 轉(zhuǎn) 移本 講 重 點(diǎn) : 實(shí) 現(xiàn) 以 上 指 令 的 數(shù) 據(jù) 通 路 !MIPS有 哪 三 種 類(lèi) 型 指 令 ? R-Type、 I-Type、 J-Type 29 設(shè) 計(jì) 處 理 器 的 步 驟第 一 步 : 分 析 每 條 指 令 的 功 能 , 并 用 RTL(Register Transfer Language)來(lái) 表 示 第 二 步 : 根 據(jù) 指 令 功 能 給 出 所 需 元 件 , 并 考 慮 如 何將 他 們 互 連 第 三 步 : 確 定 每 個(gè) 元 件 所 需 控 制 信 號(hào) 的 取 值 第 四 步 : 匯 總 所 有 指 令 所 涉 及 到 的 控 制 信 號(hào) , 生 成一 張 反 映 指 令 與 控 制 信 號(hào) 之 間 關(guān) 系 的 表 第 五 步 : 根 據(jù) 表 得 到 每 個(gè) 控 制 信 號(hào) 的 邏 輯 表 達(dá) 式 ,據(jù) 此 設(shè) 計(jì) 控 制 器 電 路n 處 理 器 設(shè) 計(jì) 涉 及 到 數(shù) 據(jù) 通 路 的 設(shè) 計(jì) 和 控 制 器 的 設(shè) 計(jì)n 數(shù) 據(jù) 通 路 中 有 兩 種 元 件 l 操 作 元 件 : 由 組 合 邏 輯 電 路 實(shí) 現(xiàn)l 存 儲(chǔ) (狀 態(tài) )元 件 : 由 時(shí) 序 邏 輯 電 路 實(shí) 現(xiàn) SKIP 30 RTL: The ADD Instruction( 加 法 指 令 )paddrd, rs, rtnMPC 從 PC所 指 的 內(nèi) 存 單 元 中 取 指 令nRrd Rrs + Rrt 從 rs、 rt 所 指 的 寄 存 器 中 取 數(shù) 后 相加 , 結(jié) 果 送 rd 所 指 的 寄 存 器 中nPC PC + 4 PC加 4, 使 PC指 向 下 一 條 指 令000000 rs rt rd shamt 100000 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bits 31 RTL: The Load Instruction( 裝 入 指 令 )plw rt, rs, imm16nMPC (同 加 法 指 令 )nAddr Rrs + SignExt(imm16) 計(jì) 算 數(shù) 據(jù) 地 址 (立 即 數(shù) 要進(jìn) 行 符 號(hào) 擴(kuò) 展 )nRrt MAddr 從 存 儲(chǔ) 器 中 取 出 數(shù) 據(jù) , 裝 入 到 寄 存 器 中nPC PC + 4 (同 加 法 指 令 )100011 rs rt immediate 016212631 6 bits 16 bits5 bits5 bits BACK to design pro. 32 數(shù) 據(jù) 通 路 中 的 關(guān) 鍵 路 徑 (Load操 作 )p寄 存 器 組 和 理 想 存 儲(chǔ) 器 的 定 時(shí) 方 式n寫(xiě) 操 作 時(shí) , 作 為 時(shí) 序 邏 輯 電 路 l時(shí) 鐘 到 達(dá) 前 輸 入 需 setup; 到 達(dá) 后 經(jīng) “ Clk-to-Q”寫(xiě) 入 數(shù) 據(jù) 到達(dá) 輸 出 端n讀 操 作 時(shí) , 作 為 組 合 邏 輯 電 路 l地 址 有 效 后 經(jīng) 過(guò) “ access time”, 輸 出 開(kāi) 始 有 效 Clk 5Rw Ra Rb32 32-bitRegistersRd ALU ClkData In DataOutDataAddress IdealDataMemoryInstruction busInstruction AddressIdealInstructionMemoryClk PC 5Rs 5Rt 16Imm32 323232 Load操 作 :RRt M(Rs)+Imm16 33 取 指 部 件 (Instruction Fetch Unit) p每 條 指 令 都 有 的 公 共 操 作n取 指 令 : MPCn更 新 PC: PC PC + 4 轉(zhuǎn) 移 (Branch and Jump)時(shí) , PC內(nèi) 容 再 次 被 更 新 為 “ 轉(zhuǎn) 移 目 標(biāo) 地 址 ” 32Instruction WordAddressInstructionMemoryPCClk Next AddressLogic 順 序 : 先 取 指 令 , 再 改 變 PC的 值 (具 體 實(shí) 現(xiàn) 可 以 并 行 ) 決 不 能 先 改 變 PC的 值 , 再 取指 令下 地 址邏 輯 取 指 后 , 每 條 指 令 功 能 不同 , 在 數(shù) 據(jù) 通 路 中 信 息 流動(dòng) 過(guò) 程 也 不 同下 面 分 別 對(duì) 每 條 指 令 進(jìn) 行數(shù) 據(jù) 通 路 設(shè) 計(jì)取 指 部 件 34 加 法 和 減 法 指 令 (R-type類(lèi) 型 )實(shí) 現(xiàn) 目 標(biāo) (7條 指 令 )pADD and subtractnadd rd, rs, rtnsub rd, rs, rtpOR Immediate nori rt, rs, imm16pLOAD and STOREnlw rt, rs, imm16nsw rt, rs, imm16pBRANCH nbeq rs, rt, imm16pJUMP nj target op target address 02631 6 bits 26 bits op rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bitsop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits1. 考 慮 add和 sub指 令 (R-Type指 令 的 代 表 ) 35 RR( R-type) 型 指 令 的 數(shù) 據(jù) 通 路p功 能 : Rrd Rrs op Rrt Example: add rd, rs, rtop rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bits 32 ResultALUctr: add/subClkbusWRegWr32 32busA 32busB5 5 5Rw Ra Rb32 32-bitRegistersrs rtrd ALU不 考 慮 公 共 操 作 , 僅 R-Type指 令 執(zhí) 行 階 段 的 數(shù) 據(jù) 通 路 如 下 :ALUctr 、 RegWr: 指 令 譯 碼 后 產(chǎn) 生的 控 制 信 號(hào)Ra, Rb, Rw 分 別 對(duì) 應(yīng) 指 令 的 rs, rt, rd 指 令 “ add rd, rs, rt”的 控制 信 號(hào) 應(yīng) 為 ?ALUctr=add, RegWr=1 36 帶 立 即 數(shù) 的 邏 輯 指 令 ( ori指 令 ) op target address 02631 6 bits 26 bits op rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bitsop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits實(shí) 現(xiàn) 目 標(biāo) (7條 指 令 )pADD and subtractnadd rd, rs, rtnsub rd, rs, rtpOR Immediate nori rt, rs, imm16pLOAD and STOREnlw rt, rs, imm16nsw rt, rs, imm16pBRANCH nbeq rs, rt, imm16pJUMP nj target 2. 考 慮 ori 指 令 (I-Type指 令 和 邏 輯 運(yùn) 算指 令 的 代 表 ) 37 RTL: The OR Immediate Instructionpori rt, rs, imm16nMPC 取 指 令 (公 共 操 作 , 取 指 部 件 完 成 )nRrt Rrs or ZeroExt(imm16) 立 即 數(shù) 零 擴(kuò) 展 , 并與 rs內(nèi) 容 做 “ 或 ” 運(yùn) 算nPC PC + 4 計(jì) 算 下 地 址 (公 共 操 作 , 取 指 部 件 完 成 )op rs rt immediate 016212631 6 bits 16 bits5 bits5 bits immediate 0161531 16 bits16 bits0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0零 擴(kuò) 展 ZeroExt(imm16) :思 考 : 應(yīng) 在 前 面 數(shù) 據(jù) 通 路 上 加 哪 些 元 件 和 連 線 ? 用 什 么 控制 信 號(hào) 來(lái) 控 制 ? 邏 輯 運(yùn) 算 , 立 即 數(shù) 為 邏 輯 數(shù) 38 帶 立 即 數(shù) 的 邏 輯 指 令 的 數(shù) 據(jù) 通 路pRrt Rrs op ZeroExtimm16 Example: ori rt, rs, imm1632ResultALUctrClkbusWRegWr32 32busA 32busB5 5 5Rw RaRb32 32-bitRegistersRsDont Care(Rt) ALUop rs rt immediate 016212631 6 bits 16 bits5 bits5 bitsR-Type類(lèi) 型 的 結(jié) 果 寫(xiě) 入 Rd R-Type的 操 作數(shù) 來(lái) 自 busB應(yīng) 加 蘭 色 部 分 , 為 什 么 ?Ori指 令 的 控 制 信 號(hào) : RegDst=? ; RegWr=? ; ALUctr=? ; ALUSrc=?Ori指 令 的 控 制 信 號(hào) : RegDst=1; RegWr=1; ALUSrc=1; ALUctr=orZeroExt Mux16 32imm16 ALUSrc01RtRdRegDst Mux0 1 39 訪 存 指 令 中 的 數(shù) 據(jù) 裝 入 指 令 (lw) op target address 02631 6 bits 26 bits op rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bitsop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits實(shí) 現(xiàn) 目 標(biāo) (7條 指 令 )pADD and subtractnadd rd, rs, rtnsub rd, rs, rtpOR Immediate:nori rt, rs, imm16pLOAD and STOREnlw rt, rs, imm16nsw rt, rs, imm16pBRANCH:nbeq rs, rt, imm16pJUMP:nj target 3. 考 慮 lw 指 令 (訪 存 指 令 的 代 表 ) 40 RTL: The Load Instructionplw rt, rs, imm16nMPC 取 指 令 (公 共 操 作 , 取 指 部 件 完 成 )nAddr Rrs + SignExt(imm16) 計(jì) 算 存 儲(chǔ) 單 元 地 址 (符號(hào) 擴(kuò) 展 ! )nRrt M Addr 裝 入 數(shù) 據(jù) 到 寄 存 器 rt中nPC PC + 4 計(jì) 算 下 地 址 (公 共 操 作 , 取 指 部 件 完 成 ) immediate 016 1531 16 bits16 bits0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 016 1531 immediate16 bits16 bits 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1op rs rt immediate 016212631 6 bits 16 bits5 bits5 bits符 號(hào) 擴(kuò) 展 ( 為 什么 不 是 零 擴(kuò) 展 ? ) 思 考 : 應(yīng) 在 原 數(shù) 據(jù) 通 路 上 加 哪 些 元 件 和 連 線 ?用 什 么 控 制 信 號(hào) 來(lái) 控 制 ? 立 即 數(shù) 用 補(bǔ) 碼 表 示 41 裝 入 (lw)指 令 的 數(shù) 據(jù) 通 路pRrt M Rrs + SignExtimm16 Example: lw rt, rs, imm16op rs rt immediate 0162126316 bits 16 bits5 bits5 bits 32ALUctrClkbusWRegWr32 32busA32busB5 5 5Rw RaRb32 32-bitRegistersRsRt Dont Care(Rt)RdRegDst MuxMux 3216imm16 ALUSrc ALUExtenderExtOp MuxMemtoRegClkData In WrEn32 AdrDataMemory 32MemWr應(yīng) 加 蘭 色 部 分 , 為 什 么 ?控 制 信 號(hào) RegDst, RegWr, ALUctr, ExtOp, ALUSrc, MemWr, MemtoReg 各 取 何 值 ?0 1 01RegDst=1, RegWr=1, ALUctr=add, ExtOp=1, ALUSrc=1, emWr=0, MemtoReg=10:零 擴(kuò) 展 , 1: 符 號(hào) 擴(kuò) 展 01 42 訪 存 指 令 中 的 存 數(shù) 指 令 (sw) op target address 02631 6 bits 26 bits op rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bitsop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits實(shí) 現(xiàn) 目 標(biāo) (7條 指 令 )pADD and subtractnadd rd, rs, rtnsub rd, rs, rtpOR Immediate:nori rt, rs, imm16pLOAD and STOREnlw rt, rs, imm16nsw rt, rs, imm16pBRANCH:nbeq rs, rt, imm16pJUMP:nj target 4. 考 慮 sw 指 令 (訪 存 指 令 的 代 表 ) 43 RTL: The Store Instructionpsw rt, rs, imm16nMPC 取 指 令 (公 共 操 作 , 取 指 部 件 完 成 )nAddr Rrs + SignExt(imm16) 計(jì) 算 存 儲(chǔ) 單 元 地 址 (符號(hào) 擴(kuò) 展 ! )nMemAddr Rrt 寄 存 器 rt中 的 內(nèi) 容 存 到 內(nèi) 存 單 元nPC PC + 4 計(jì) 算 下 地 址 (公 共 操 作 , 取 指 部 件 完 成 ) op rs rt immediate 016212631 6 bits 16 bits5 bits5 bits思 考 : 應(yīng) 在 原 數(shù) 據(jù) 通 路 上 加 哪 些 元 件 和 連 線 ? 用 什 么 控 制信 號(hào) 來(lái) 控 制 ? 立 即 數(shù) 用 補(bǔ) 碼 表 示 44 存 數(shù) (sw)指 令 的 數(shù) 據(jù) 通 路pM Rrs + SignExtimm16 Rrt Example: sw rt, rs, imm1632ALUctrClkbusWRegWr32 32busA32busB55 5Rw RaRb32 32-bitRegistersRsRt RtRdRegDst E xtender MuxMux 3216imm16 ALUSrcExtOp MuxMemtoRegClkData In WrEn32 AdrDataMemory 32MemWrALUop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits0 1 01 應(yīng) 加 蘭 色 部 分 , 為 什 么 ?控 制 信 號(hào) RegDst, RegWr, ALUctr, ExtOp, ALUSrc, MemWr, MemtoReg 各 取 何 值 ?RegDst=x, RegWr=0, ALUctr=add, ExtOp=1, ALUSrc=1, MemWr=1, MemtoReg=x 01 45 分 支 ( 條 件 轉(zhuǎn) 移 ) 指 令 ( 相 等 轉(zhuǎn) 移 : beq) op target address 02631 6 bits 26 bits op rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bitsop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits實(shí) 現(xiàn) 目 標(biāo) (7條 指 令 )pADD and subtractnadd rd, rs, rtnsub rd, rs, rtpOR Immediate:nori rt, rs, imm16pLOAD and STOREnlw rt, rs, imm16nsw rt, rs, imm16pBRANCH:nbeq rs, rt, imm16pJUMP:nj target 5. 考 慮 beq指 令 (條 件 轉(zhuǎn) 移 指 令 的 代 表 ) 46 RTL: The Branch Instructionpbeqrs, rt, imm16nMPC 取 指 令 (公 共 操 作 , 取 指 部 件 完 成 )nCond Rrs - Rrt 做 減 法 比 較 rs和 rt中 的 內(nèi) 容nif (COND eq 0) 計(jì) 算 下 地 址 (根 據(jù) 比 較 結(jié) 果 , 修 改 PC)lPC PC + 4 + ( SignExt(imm16) x 4 ) n else lPC PC + 4op rs rt immediate 016212631 6 bits 16 bits5 bits5 bits思 考 : 立 即 數(shù) 的 含 義 是 什 么 ? 是 相 對(duì) 指 令 數(shù) 還 是 相 對(duì) 單 元 數(shù) ?應(yīng) 在 原 數(shù) 據(jù) 通 路 上 加 哪 些 元 件 和 連 線 ? 用 什 么 控 制 信 號(hào) 來(lái) 控 制 ?立 即 數(shù) 用 補(bǔ) 碼 表 示 47 條 件 轉(zhuǎn) 移 指 令 的 數(shù) 據(jù) 通 路pbeq rs, rt, imm16 We need to compare Rs and Rt !op rs rt immediate 016212631 6 bits 16 bits5 bits5 bits ALUctrClkbusWRegWr32 32busA 32busB5 5 5Rw RaRb32 32-bitRegistersRsRt RtRdRegDst Extender MuxMux 3216imm16 ALUSrcExtOp ALU PC ClkNext AddressLogic16imm16Branch To InstructionMemoryZero思 考 : 下 地 址 邏 輯 如 何 設(shè) 計(jì) ?控 制 信 號(hào) RegDst, RegWr, ALUctr, ExtOp, ALUSrc, MemWr, MemtoReg, Branch 各 取 何 值 ?RegDst=x, RegWr=0, ALUctr=sub, ExtOp=x, ALUSrc=0, MemWr=0, MemtoReg=x, Branch=10 1 01 48 下 地 址 計(jì) 算 邏 輯 的 設(shè) 計(jì)PC是 一 個(gè) 32位 地 址 :順 序 執(zhí) 行 時(shí) : PC = PC + 4轉(zhuǎn) 移 執(zhí) 行 時(shí) : PC = PC + 4 + SignExtImm16 * 4n MIPS按 字 節(jié) 編 址 , 每 條 指 令 為 32位 , 占 4個(gè) 字 節(jié) , 故 PC的值 總 是 4的 倍 數(shù) , 即 后 兩 位 為 00, 因 此 , PC只 需 要 30位 即 可 下 地 址 計(jì) 算 邏 輯 簡(jiǎn) 化 為 : 順 序 執(zhí) 行 時(shí) : PC = PC + 1轉(zhuǎn) 移 執(zhí) 行 時(shí) : PC = PC + 1 + SignExtImm16取 指 令 時(shí) : 指 令 地 址 = PC 串 接 “ 00”n PC采 用 30位 后 , 其 轉(zhuǎn) 移 地 址 計(jì) 算 邏 輯 變 得 更 加 簡(jiǎn) 單 采 用 32位 PC時(shí) , 可 用 左 移 2位 實(shí) 現(xiàn) “ *4”操 作 , 計(jì) 算 轉(zhuǎn) 移地 址 用 2個(gè) 加 法 器 ! 用 更 簡(jiǎn) 便 的 方 式 實(shí) 現(xiàn) 如 下 : ? 49 下 址 邏 輯 設(shè) 計(jì) 方 案 1: 快 速 但 昂 貴p Using a 30-bit PC:n順 序 執(zhí) 行 時(shí) : PC = PC + 1n轉(zhuǎn) 移 執(zhí) 行 時(shí) : PC = PC + 1 + SignExtImm16n取 指 令 時(shí) : 指 令 地 址 = PC concat “00”30 30SignE xt 3016imm16 Mux01Adder“ 1”P(pán)CClk Adder30 30 Branch Zero AddrInstructionMemoryAddr“ 00” 32InstructionInstruction 30先 由 當(dāng) 前 PC取 指 令 , 計(jì) 算 的 下 條 指 令 地 址 在 下 一 個(gè) 時(shí) 鐘 到 來(lái) 后 才 寫(xiě) 入 PC! 標(biāo) 志 位 ZF由 ALU產(chǎn) 生 !為 什 么 這 里 沒(méi) 有 用 “ ALU”而 是 用 “ Adder”? “ALU”和 “ Adder”有 什 么 差別 ? 50 p為 什 么 慢 ?n只 能 等 到 “ Zero”有 值 后 才 能 進(jìn) 行 地 址 計(jì) 算p對(duì) 性 能 有 沒(méi) 有 影 響 ?n沒(méi) 有 , 因 為 Load指 令 更 慢p為 什 么 便 宜 ? n“ +1”操 作 用 “ 進(jìn) 位 ” 來(lái) 實(shí) 現(xiàn) , 節(jié) 省 一 個(gè) “ Adder”30 30SignExt 30 16imm16 Mux01 Adder“ 0”P(pán)CClk 30Branch Zero AddrInstructionMemoryAddr“ 00” 32Instruction30 “ 1” Carry InInstruction 非 Branch時(shí) 也 不 能 很 快得 到 下 條 指 令 地 址 下 址 邏 輯 設(shè) 計(jì) 方 案 2: 慢 但 便 宜 51 無(wú) 條 件 轉(zhuǎn) 移 指 令 op target address 02631 6 bits 26 bits op rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bitsop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits實(shí) 現(xiàn) 目 標(biāo) (7條 指 令 )pADD and subtractnadd rd, rs, rtnsub rd, rs, rtpOR Immediate:nori rt, rs, imm16pLOAD and STOREnlw rt, rs, imm16nsw rt, rs, imm16pBRANCH:nbeq rs, rt, imm16pJUMP:nj target 6. 考 慮 Jump指 令 (無(wú) 條 件 轉(zhuǎn) 移 指 令 的代 表 ) 52 RTL: The Jump Instructionpj targetnMPC 取 指 令 (公 共 操 作 , 取 指 部 件 完 成 )nPC PC 串 接 target 計(jì) 算 目 標(biāo) 地址 op target address 02631 6 bits 26 bits思 考 : 應(yīng) 在 原 數(shù) 據(jù) 通 路 上 加 哪 些 元 件和 連 線 ? 用 什 么 控 制 信 號(hào) 來(lái) 控 制 ?想 一 想 : 跳 轉(zhuǎn) 指 令 的 轉(zhuǎn) 移 范 圍 有 多 大 ?是 當(dāng) 前 指 令 后 的 0 x00000000 xFFFFFFC 處 ?不 對(duì) ! 它 不 是 相 對(duì) 尋 址 , 而 是 絕 對(duì) 尋 址 FFFF FFFFF000 0000EFFF FFFFE000 0000 AFFF FFFFA000 00000FFF FFFF0000 0000j target 53PC的 改變 在 下 個(gè)Clk到 達(dá)后 發(fā) 生 ! Instruction Fetch Unit: 取 指 部 件30 30Sig nExt 3016imm16 Mux01Adder“ 1”P(pán)CClk Adder30 30Branch Zero “ 00” AddrInstructionMemoryAddr32p J targetnPC PC concat targetInstruction Instruction30264 Mux10Target 30 JumpInstruction 這 是 “ 取 指 部 件 ” 的 完 整 設(shè) 計(jì)3 個(gè) 輸 入 : jump, Branch, Zero1個(gè) 輸 出 : 指 令 字RegDst, RegWr, ALUctr, ExtOp, ALUSrc, MemWr, MemtoReg, Branch, Jump 各 取 何 值 ?=ExtOp= Src=MemtoReg=ALUctr=x, RegWr=0, MemWr=0, Branch=0, Jump=1 54 The MIPS Subset(考 察 實(shí) 現(xiàn) 以 下 指令 的 數(shù) 據(jù) 通 路 )pADD and subtractnadd rd, rs, rtnsub rd, rs, rtpOR Immediate:nori rt, rs, imm16pLOAD and STOREnlw rt, rs, imm16nsw rt, rs, imm16pBRANCH:nbeq rs, rt, imm16pJUMP: nj target op target address 02631 6 bits 26 bitsop rs rt rd shamt funct 061116212631 6 bits 6 bits5 bits5 bits5 bits5 bitsop rs rt immediate 016212631 6 bits 16 bits5 bits5 bits所 有 指 令 的 數(shù) 據(jù) 通 路 都 已 經(jīng) 設(shè) 計(jì) 好 , 合 起 來(lái) 的 數(shù) 據(jù) 通 路 是 什 么 樣 的 ? 55 Putting it All Together: A Single Cycle Datapath 32ALUctrClkbusWRegWr32 32busA32busB55 5Rw RaRb32 32-bitRegistersRsRt RtRdRegDst Ext ender MuxMux

注意事項(xiàng)

本文(計(jì)算機(jī)原理 中央處理器:數(shù)據(jù)通路和控制器)為本站會(huì)員(san****019)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!