計(jì)算機(jī)原理 中央處理器:數(shù)據(jù)通路和控制器
《計(jì)算機(jī)原理 中央處理器:數(shù)據(jù)通路和控制器》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)原理 中央處理器:數(shù)據(jù)通路和控制器(231頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、計(jì) 算 機(jī) 原 理第 六 章 中 央 處 理 器 :數(shù) 據(jù) 通 路 和 控 制 器 2 本 講 簡 要 說 明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
2、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綜 合 所 有 指
3、令 的 數(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í) 行 過 程 中 , 數(shù) 據(jù) 所 經(jīng) 過 的 路 徑 (包 括 路 徑 中 的 部 件 ),是 指 令 的 執(zhí) 行 部 件 p控 制 器 (Control)的 功 能n對(duì) 指 令 進(jìn) 行 譯 碼 , 生 成 指 令 對(duì) 應(yīng) 的 控 制 信 號(hào) , 控 制 數(shù) 據(jù) 通路 的
4、動(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 I
5、Dn指 令 控 制n操 作 控 制n時(shí) 間 控 制n數(shù) 據(jù) 加 工n處 理 中 斷 ALU 寄 存 器 XR 地 址 運(yùn) 算中 斷 系 統(tǒng)CU 時(shí) 序 電 路寄 存 器ALU 中 斷系 統(tǒng) CUCPU 控制總線 數(shù)據(jù)總線 地址總線 9 1) 用 戶 可 見 寄 存 器(1) 通 用 寄 存 器p CPU 的 寄 存 器 存 放 操 作 數(shù)可 作 某 種 尋 址 方 式 所 需 的 專 用 寄 存 器(2) 數(shù) 據(jù) 寄 存 器 存 放 操 作 數(shù) ( 滿 足 各 種 數(shù) 據(jù) 類 型 )兩 個(gè) 寄 存 器 拼 接 存 放 雙 倍 字 長 數(shù) 據(jù)(3) 地 址 寄 存 器 存 放 地 址 , 其 位
6、 數(shù) 滿 足 最 大 地 址 范 圍用 于 特 殊 尋 址 方 式 段 基 值 棧 指 針(4) 條 件 碼 寄 存 器 存 放 條 件 碼 , 可 作 程 序 分 支 的 依 據(jù)如 正 、 負(fù) 、 零 、 溢 出 、 進(jìn) 位 等 10 2) 控 制 和 狀 態(tài) 寄 存 器(1) 控 制 寄 存 器PC控 制 CPU 操 作(2) 狀 態(tài) 寄 存 器狀 態(tài) 寄 存 器其 中 MAR MBR IR 用 戶 不 可 見 存 放 條 件 碼 用 戶 可 見 PSW 寄 存 器 存 放 程 序 狀 態(tài) 字 用 戶 可 見 PC 用 戶 可 見 MAR MM MBR IRp CPU 的 寄 存 器 11
7、 CPU基 本 組 成 原 理 圖 控 制 部 件 CPU 由 執(zhí) 行 部 件 和 控 制 部 件 組 成CPU 包 含 數(shù) 據(jù) 通 路 和 控 制 器 控 制 器 由 指 令 譯 碼 器 和 控 制 信 號(hào) 形 成 部 件 等 組 成執(zhí) 行 部 件 12 CPU執(zhí) 行 指 令 過 程 及 其 與 計(jì) 算 機(jī) 性 能 的 關(guān) 系pCPU執(zhí) 行 指 令 的 過 程n取 指 令nPC+1送 PCn指 令 譯 碼n進(jìn) 行 主 存 地 址 運(yùn) 算n取 操 作 數(shù)n進(jìn) 行 算 術(shù) / 邏 輯 運(yùn) 算n存 結(jié) 果n判 斷 和 檢 測 “ 異 常 ” 事 件n若 有 異 常 , 則 自 動(dòng) 切 換 到 異
8、常 處 理 程 序n檢 測 是 否 有 “ 中 斷 ” 請 求 , 有 則 轉(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) 來 決 定 CPU的 設(shè) 計(jì) 與 實(shí) 現(xiàn) 非 常 重 要 ! 它 直 接 影 響 計(jì) 算 機(jī) 的 性 能 。問 題 :“ 取 指 令 ” 一 定 在 最 開 始 做 嗎?“PC+1” 一 定 在 譯 碼 之
9、前 做 嗎?“ 譯 碼 ” 須 在 指 令 執(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ù) 或 邏 輯
10、 運(yùn) 算 , 將 結(jié) 果 送 入 某 個(gè) 寄 存 器p操 作 功 能 可 形 式 化 描 述n用 寄 存 器 傳 輸 語 言 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ù)
11、 據(jù) 通 路 由 兩 類 部 件 組 成n組 合 邏 輯 元 件 (亦 稱 操 作 元 件 )n存 儲(chǔ) 元 件 (亦 稱 狀 態(tài) 元 件 )p元 件 間 的 連 接 方 式n總 線 連 接 方 式n分 散 連 接 方 式p數(shù) 據(jù) 通 路 的 構(gòu) 成n由 “ 操 作 元 件 ” 和 “ 存 儲(chǔ) 元 件 ” 通 過 總 線 或 分 散 方 式 連 接而 成p數(shù) 據(jù) 通 路 的 功 能n進(jìn) 行 數(shù) 據(jù) 存 儲(chǔ) 、 處 理 、 傳 送因 此 , 數(shù) 據(jù) 通 路 是 由 操 作 元 件 和 存 儲(chǔ) 元 件 通 過 總 線 方 式 或分 散 方 式 連 接 而 成 的 進(jìn) 行 數(shù) 據(jù) 存 儲(chǔ) 、 處 理
12、、 傳 送 的 路 徑 。 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í) : 所
13、有 輸 入 到 達(dá) 后 , 經(jīng) 過 一定 的 邏 輯 門 延 時(shí) , 輸 出 端 改 變 ,并 保 持 到 下 次 改 變 , 不 需 要 時(shí) 鐘信 號(hào) 來 定 時(shí)二 選 一 或 多 選 一 加 法 器 需 要什 么 控 制 信號(hào) ? 16 狀 態(tài) 元 件 : 時(shí) 序 邏 輯 電 路p狀 態(tài) (存 儲(chǔ) )元 件 的 特 點(diǎn) n具 有 存 儲(chǔ) 功 能 , 在 時(shí) 鐘 控 制 下 輸 入 狀 態(tài) 被 寫 到 電 路 中 , 直到 下 一 個(gè) 時(shí) 鐘 到 達(dá)n輸 入 端 狀 態(tài) 由 時(shí) 鐘 決 定 何 時(shí) 寫 入 , 輸 出 端 狀 態(tài) 隨 時(shí) 可 讀 出p定 時(shí) 方 式 :規(guī) 定 信 號(hào) 何 時(shí)
14、寫 入 狀 態(tài) 元 件 或 何 時(shí) 從 狀 態(tài)元 件 讀 出n邊 沿 觸 發(fā) (edge-triggered)方 式 l狀 態(tài) 單 元 中 的 值 只 在 時(shí) 鐘 邊 沿 改 變 。 每 個(gè) 時(shí) 鐘 周 期 改 變 一 次p最 簡 單 的 狀 態(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) 行 讀 /寫l下 降 沿 (falling edge)觸 發(fā) :在 時(shí) 鐘 負(fù) 跳 變 時(shí)
15、進(jìn) 行 讀 /寫 17 回 顧 D觸 發(fā) 器切 記 : 狀 態(tài) 單 元 的 輸 入 信 息 總 是 在 一 個(gè) 時(shí) 鐘 邊 沿 到 達(dá) 后 的“ Clk-to-Q” 時(shí) 才 被 寫 入 到 單 元 中 , 此 時(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í) 鐘 邊 沿
16、之 后 輸 入 必 須 保 持nClock-to-Q-time:在 觸 發(fā) 時(shí) 鐘 邊 沿 , 輸 出 并 不 能 立 即 變 化 18 寄 存 器 的 種 類p寄 存 器 由 N位 觸 發(fā) 器 構(gòu) 成pCPU中 的 不 同 類 型 寄 存 器n由 鎖 存 器 構(gòu) 成 的 暫 存 器 : 帶 “ 寫 使 能 ” 信 號(hào)n用 于 和 總 線 相 連 的 、 輸 出 端 帶 三 態(tài) 門 的 寄 存 器 : 帶 “ 三態(tài) 門 控 ” 信 號(hào)n帶 復(fù) 位 (清 0)功 能 的 寄 存 器 n帶 計(jì) 數(shù) (自 增 )功 能 的 寄 存 器 n帶 移 位 功 能 的 寄 存 器n組 合 上 述 多 個(gè) 功
17、 能 的 寄 存 器 : 帶 多 個(gè) 控 制 信 號(hào)p寄 存 器 組 有 若 干 個(gè) 寄 存 器 組 成n通 常 是 雙 口 : 兩 個(gè) 讀 口 + 一 個(gè) 寫 口p可 帶 時(shí) 鐘 輸 入 信 號(hào)n用 于 控 制 輸 入 信 號(hào) 何 時(shí) 被 寫 入 到 寄 存 器 中 經(jīng) 過 一 個(gè) clk-to-Q, 輸 入 信 號(hào) 在 寄 存 器 的 輸 出 端 有 效 ! 19 存 儲(chǔ) 元 件 : 寄 存 器 和 寄 存 器 組p寄 存 器 (Register)n寫 使 能 (Write Enable-WE)信 號(hào) 0: 時(shí) 鐘 邊 沿 到 時(shí) , 輸 出 不 變 1: 時(shí) 鐘 邊 沿 到 時(shí) , 輸
18、出 開 始 變 為 輸 入n若 每 個(gè) 時(shí) 鐘 邊 沿 都 寫 入 , 則 不 需 WE信 號(hào)p寄 存 器 組 (Register File)n兩 個(gè) 讀 口 (組 合 邏 輯 操 作 ): busA和 busB 分 別 由 RA和 RB給 出 地 址 。 地 址 RA或 RB有 效 后 , 經(jīng) 一 個(gè) “取 數(shù) 時(shí) 間(AccessTime)”, BusA和 BusB有 效n一 個(gè) 寫 口 (時(shí) 序 邏 輯 操 作 ): 寫 使 能 為 1且 時(shí) 鐘 邊 沿 到 時(shí) , busW傳 來 的 值 開 始 被 寫 入 RW指 定 的 寄 存 器 中 ClkbusWWrite Enable32 3
19、2busA32busB5 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ù)來 自 busW, 讀 出 數(shù) 據(jù) 分 別 送 busA和 busBWriteEnable信 號(hào) 控 制
20、是 否 寫 入 新 值 21 p理 想 存 儲(chǔ) 器 (idealized memory)nData Out: 32位 讀 出 數(shù) 據(jù)nData In: 32位 寫 入 數(shù) 據(jù)nAddress: 讀 寫 公 用 一 個(gè) 32位 地 址n讀 操 作 (組 合 邏 輯 操 作 ): 地 址 Address有 效 后 , 經(jīng) 一 個(gè)“取 數(shù) 時(shí) 間 AccessTime”, Data Out上 數(shù) 據(jù) 有 效n寫 操 作 (時(shí) 序 邏 輯 操 作 ): 寫 使 能 為 1且 時(shí) 鐘 Clk邊 沿 到 時(shí) ,Data In傳 來 的 值 開 始 被 寫 入 Address指 定 的 存 儲(chǔ) 單 元存 儲(chǔ)
21、 元 件 : 理 想 存 儲(chǔ) 器 ClkData InWrite Enable32 32DataOutAddress為 簡 化 數(shù) 據(jù) 通 路 操 作 的 說 明 , 在 此 把 存 儲(chǔ) 器 簡 化 為 帶 時(shí)鐘 信 號(hào) Clk的 理 想 模 型 。 22 數(shù) 據(jù) 通 路 與 時(shí) 序 控 制p同 步 系 統(tǒng) (Synchronous system)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不 同 指 令 的 指 令 周
22、期 會(huì) 不 同p早 期 計(jì) 算 機(jī) 三 級(jí) 時(shí) 序 系 統(tǒng)n機(jī) 器 周 期 節(jié) 拍 (時(shí) 鐘 周 期 ) 脈 沖n指 令 周 期 分 為 取 指 令 、 讀 數(shù) 、 執(zhí) 行 并 存 結(jié) 果 多 個(gè) 基 本 工 作 周 期 , 稱 為 機(jī) 器 周 期n機(jī) 器 周 期 有 取 指 令 、 存 儲(chǔ) 器讀 /寫 、 中 斷 響 應(yīng) 等 類 型 現(xiàn) 代 計(jì) 算 機(jī) 已 不 采 用 三 級(jí) 時(shí) 序 系統(tǒng) , 機(jī) 器 周 期 的 概 念 已 逐 漸 消 失。 整 個(gè) 數(shù) 據(jù) 通 路 中 的 定 時(shí) 信 號(hào) 就是 時(shí) 鐘 , 一 個(gè) 時(shí) 鐘 周 期 就 是 一 個(gè)節(jié) 拍 。 SKIP 23 p四 類 指 令
23、的 指 令 周 期取 指 周 期 執(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ǔ) 信 息 , 所 有
24、 操 作 元 件 都 須 從 狀 態(tài) 單 元 接收 輸 入 , 并 將 輸 出 寫 入 狀 態(tài) 單 元 中 。 其 輸 入 為 前 一 時(shí) 鐘 生 成的 數(shù) 據(jù) , 輸 出 為 當(dāng) 前 時(shí) 鐘 所 用 的 數(shù) 據(jù)現(xiàn) 代 計(jì) 算 機(jī) 的 時(shí) 鐘 周 期Clk Clkp假 定 采 用 下 降 沿 觸 發(fā) (負(fù) 跳 變 )方 式 (可 以 是 上 升 沿 方 式 )n狀 態(tài) 單 元 在 下 降 沿 寫 入 信 息 ,經(jīng) Latch Prop (clk-to-Q)后 輸 出 有 效 n Cycle Time = Latch Prop + Longest Delay Path + Setup + Clo
25、ck Skewp約 束 條 件 : (Latch Prop + Shortest Delay Path - Clock Skew) Hold Time 通 常 Latch Prop Hold Time, 故 無 需 考 慮 Hold Time 25 早 期 累 加 器 型 指 令 系 統(tǒng) 數(shù) 據(jù) 通 路p最 簡 單 的 數(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操
26、作 , 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寫 字 到 主 存R1out, MARinR2out, MDRin,Write, WMFCRR2MRR1 MRR1 RR2問 題 : 時(shí) 鐘 周 期 的 寬 度 如 何 確 定 ? 以 “Ri
27、out,OP,Rjin”所 花 時(shí) 間 來 確 定還 是 以 “ Read/Write” 所 花 時(shí) 間 來 確 定 ? 以 上 四 種 操 作 各 需 要 幾 個(gè) 時(shí) 鐘 周 期 ?1Cycle?3Cycles?3Cycles?3Cycles? CPU訪 存 有 兩 種 通 信 方 式早 期 : 直 接 訪 問 MM, “ 異 步” 方 式 , 用 MFC應(yīng) 答 信 號(hào)現(xiàn) 在 : 先 Cache后 MM, “ 同 步” 方 式 , 無 需 應(yīng) 答 27 三 總 線 數(shù) 據(jù) 通 路p單 總 線 中 一 個(gè) 時(shí) 鐘 內(nèi) 只 允 許 傳 一 個(gè)數(shù) 據(jù) , 因 而 指 令 執(zhí) 行 效 率 很 低p可
28、 采 用 多 總 線 方 式 , 同 時(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ù) 通 路 很 難
29、實(shí) 現(xiàn) 指 令 流 水 執(zhí) 行 。 ZY以 MIPS指 令 系 統(tǒng) 為 例 介 紹 非 總 線 式 CPU的 設(shè) 計(jì) 28 回 顧 MIPS的 三 種 指 令 類 型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
30、 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) 移 、 無 條 件 轉(zhuǎn) 移本 講 重 點(diǎn) : 實(shí) 現(xiàn) 以 上 指 令 的 數(shù) 據(jù) 通 路 !MIPS有 哪 三 種 類 型 指 令 ? R-Type、 I-Type、 J-Type 29 設(shè) 計(jì) 處 理 器 的 步 驟第 一
31、步 : 分 析 每 條 指 令 的 功 能 , 并 用 RTL(Register Transfer Language)來 表 示 第 二 步 : 根 據(jù) 指 令 功 能 給 出 所 需 元 件 , 并 考 慮 如 何將 他 們 互 連 第 三 步 : 確 定 每 個(gè) 元 件 所 需 控 制 信 號(hào) 的 取 值 第 四 步 : 匯 總 所 有 指 令 所 涉 及 到 的 控 制 信 號(hào) , 生 成一 張 反 映 指 令 與 控 制 信 號(hào) 之 間 關(guān) 系 的 表 第 五 步 : 根 據(jù) 表 得 到 每 個(gè) 控 制 信 號(hào) 的 邏 輯 表 達(dá) 式 ,據(jù) 此 設(shè) 計(jì) 控 制 器 電 路n 處 理 器
32、 設(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,
33、 使 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 (同 加 法 指 令 )10
34、0011 rs rt immediate 016212631 6 bits 16 bits5 bits5 bits BACK to design pro. 32 數(shù) 據(jù) 通 路 中 的 關(guān) 鍵 路 徑 (Load操 作 )p寄 存 器 組 和 理 想 存 儲(chǔ) 器 的 定 時(shí) 方 式n寫 操 作 時(shí) , 作 為 時(shí) 序 邏 輯 電 路 l時(shí) 鐘 到 達(dá) 前 輸 入 需 setup; 到 達(dá) 后 經(jīng) “ Clk-to-Q”寫 入 數(shù) 據(jù) 到達(dá) 輸 出 端n讀 操 作 時(shí) , 作 為 組 合 邏 輯 電 路 l地 址 有 效 后 經(jīng) 過 “ access time”, 輸 出 開 始 有 效 Clk
35、 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
36、)時(shí) , PC內(nèi) 容 再 次 被 更 新 為 “ 轉(zhuǎn) 移 目 標(biāo) 地 址 ” 32Instruction WordAddressInstructionMemoryPCClk Next AddressLogic 順 序 : 先 取 指 令 , 再 改 變 PC的 值 (具 體 實(shí) 現(xiàn) 可 以 并 行 ) 決 不 能 先 改 變 PC的 值 , 再 取指 令下 地 址邏 輯 取 指 后 , 每 條 指 令 功 能 不同 , 在 數(shù) 據(jù) 通 路 中 信 息 流動(dòng) 過 程 也 不 同下 面 分 別 對(duì) 每 條 指 令 進(jìn) 行數(shù) 據(jù) 通 路 設(shè) 計(jì)取 指 部 件 34 加 法 和 減 法 指 令 (R-
37、type類 型 )實(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 b
38、its5 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 32
39、busB5 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
40、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, imm16pJU
41、MP 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
42、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) 來 控 制 ? 邏 輯 運(yùn) 算 , 立 即 數(shù) 為 邏 輯 數(shù) 38 帶 立 即 數(shù) 的 邏 輯 指 令 的 數(shù) 據(jù) 通 路pRrt Rrs op ZeroExtimm16 Example: ori rt, rs, imm1632ResultALUctrClkbusWRegWr32 32busA
43、32busB5 5 5Rw RaRb32 32-bitRegistersRsDont Care(Rt) ALUop rs rt immediate 016212631 6 bits 16 bits5 bits5 bitsR-Type類 型 的 結(jié) 果 寫 入 Rd R-Type的 操 作數(shù) 來 自 busB應(yīng) 加 蘭 色 部 分 , 為 什 么 ?Ori指 令 的 控 制 信 號(hào) : RegDst=? ; RegWr=? ; ALUctr=? ; ALUSrc=?Ori指 令 的 控 制 信 號(hào) : RegDst=1; RegWr=1; ALUSrc=1; ALUctr=orZeroExt M
44、ux16 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,
45、 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 Ad
46、dr 裝 入 數(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ù)
47、 通 路 上 加 哪 些 元 件 和 連 線 ?用 什 么 控 制 信 號(hào) 來 控 制 ? 立 即 數(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
48、 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 targ
49、et 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,
50、 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ì) 算 下 地 址 (公 共 操 作 , 取 指 部 件 完 成 )
51、op rs rt immediate 016212631 6 bits 16 bits5 bits5 bits思 考 : 應(yīng) 在 原 數(shù) 據(jù) 通 路 上 加 哪 些 元 件 和 連 線 ? 用 什 么 控 制信 號(hào) 來 控 制 ? 立 即 數(shù) 用 補(bǔ) 碼 表 示 44 存 數(shù) (sw)指 令 的 數(shù) 據(jù) 通 路pM Rrs + SignExtimm16 Rrt Example: sw rt, rs, imm1632ALUctrClkbusWRegWr32 32busA32busB55 5Rw RaRb32 32-bitRegistersRsRt RtRdRegDst E xtender Mux
52、Mux 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
53、=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,
54、 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é) 果 , 修
55、改 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) 來 控 制 ?立 即 數(shù) 用 補(bǔ) 碼 表 示 47 條 件 轉(zhuǎn) 移 指 令 的 數(shù) 據(jù) 通 路pbeq rs, rt, imm16 We need to compare R
56、s 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, ALU
57、ctr, 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
58、的 倍 數(shù) , 即 后 兩 位 為 00, 因 此 , PC只 需 要 30位 即 可 下 地 址 計(jì) 算 邏 輯 簡 化 為 : 順 序 執(zhí) 行 時(shí) : PC = PC + 1轉(zhuǎn) 移 執(zhí) 行 時(shí) : PC = PC + 1 + SignExtImm16取 指 令 時(shí) : 指 令 地 址 = PC 串 接 “ 00”n PC采 用 30位 后 , 其 轉(zhuǎn) 移 地 址 計(jì) 算 邏 輯 變 得 更 加 簡 單 采 用 32位 PC時(shí) , 可 用 左 移 2位 實(shí) 現(xiàn) “ *4”操 作 , 計(jì) 算 轉(zhuǎn) 移地 址 用 2個(gè) 加 法 器 ! 用 更 簡 便 的 方 式 實(shí) 現(xiàn) 如 下 : ? 49 下
59、址 邏 輯 設(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”PCClk Adder30 30 Branch Zero AddrInstructionMemoryAddr“ 00” 32InstructionInstruction 30先 由 當(dāng) 前 PC取 指 令 , 計(jì) 算 的 下 條 指 令
60、 地 址 在 下 一 個(gè) 時(shí) 鐘 到 來 后 才 寫 入 PC! 標(biāo) 志 位 ZF由 ALU產(chǎn) 生 !為 什 么 這 里 沒 有 用 “ ALU”而 是 用 “ Adder”? “ALU”和 “ Adder”有 什 么 差別 ? 50 p為 什 么 慢 ?n只 能 等 到 “ Zero”有 值 后 才 能 進(jìn) 行 地 址 計(jì) 算p對(duì) 性 能 有 沒 有 影 響 ?n沒 有 , 因 為 Load指 令 更 慢p為 什 么 便 宜 ? n“ +1”操 作 用 “ 進(jìn) 位 ” 來 實(shí) 現(xiàn) , 節(jié) 省 一 個(gè) “ Adder”30 30SignExt 30 16imm16 Mux01 Adder“ 0
61、”PCClk 30Branch Zero AddrInstructionMemoryAddr“ 00” 32Instruction30 “ 1” Carry InInstruction 非 Branch時(shí) 也 不 能 很 快得 到 下 條 指 令 地 址 下 址 邏 輯 設(shè) 計(jì) 方 案 2: 慢 但 便 宜 51 無 條 件 轉(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 immedi
62、ate 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指 令 (無 條 件 轉(zhuǎn) 移 指 令 的代 表 ) 52 RTL: The Jump Instructionpj targe
63、tnMPC 取 指 令 (公 共 操 作 , 取 指 部 件 完 成 )nPC PC 串 接 target 計(jì) 算 目 標(biāo) 地址 op target address 02631 6 bits 26 bits思 考 : 應(yīng) 在 原 數(shù) 據(jù) 通 路 上 加 哪 些 元 件和 連 線 ? 用 什 么 控 制 信 號(hào) 來 控 制 ?想 一 想 : 跳 轉(zhuǎn) 指 令 的 轉(zhuǎn) 移 范 圍 有 多 大 ?是 當(dāng) 前 指 令 后 的 0 x00000000 xFFFFFFC 處 ?不 對(duì) ! 它 不 是 相 對(duì) 尋 址 , 而 是 絕 對(duì) 尋 址 FFFF FFFFF000 0000EFFF FFFFE000
64、0000 AFFF FFFFA000 00000FFF FFFF0000 0000j target 53PC的 改變 在 下 個(gè)Clk到 達(dá)后 發(fā) 生 ! Instruction Fetch Unit: 取 指 部 件30 30Sig nExt 3016imm16 Mux01Adder“ 1”PCClk Adder30 30Branch Zero “ 00” AddrInstructionMemoryAddr32p J targetnPC PC concat targetInstruction Instruction30264 Mux10Target 30 JumpInstruction 這
65、是 “ 取 指 部 件 ” 的 完 整 設(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, rt
66、pOR 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ì) 好 , 合 起 來 的 數(shù) 據(jù) 通 路 是 什 么 樣 的 ? 55 Putting it All Together: A Single Cycle Datapath 32ALUctrClkbusWRegWr32 32busA32busB55 5Rw RaRb32 32-bitRegistersRsRt RtRdRegDst Ext ender MuxMux
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級(jí)數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識(shí)與測量1平面圖形的認(rèn)識(shí)練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)上冊期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級(jí)語文上冊第六單元知識(shí)要點(diǎn)習(xí)題課件新人教版
- 2022春一年級(jí)語文下冊課文5識(shí)字測評(píng)習(xí)題課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版