freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于risc的32位流水線cpu設(shè)計(jì)-閱讀頁(yè)

2024-12-02 15:04本頁(yè)面
  

【正文】 0 6 位 5 位 5 位 5 位 5 位 6 位 北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 8 展后仍是 1。 0擴(kuò)展比較簡(jiǎn)單:高 16 位總是全 0。 MIPS 的尋址方式有以下幾種: ( 1)寄存器尋址 ——— 操作數(shù)在寄存器堆中。 ( 3)基址偏移量尋址 ——— 操作 數(shù)在存儲(chǔ)器中,存儲(chǔ)器地址由一個(gè)寄存器的內(nèi)容與指令中的常數(shù)相加得到。 PC 的相對(duì)值是指令中的一個(gè)常數(shù)。指令中的 26位目標(biāo)地址值與 PC 的高 4 位拼接,形成 30 位的存儲(chǔ)器 “ 字地址 ” 。 ( 5) 數(shù)據(jù)傳送 表 211 數(shù)據(jù)傳送指令 序號(hào) 助記符 功能 類型 OP 32 LB rt,rs,imm 按字節(jié)取數(shù)據(jù)并有符號(hào)擴(kuò)展( 8位) I型 32 33 LBU rt,rs,imm 按字節(jié)取數(shù)據(jù)并無(wú)符號(hào)擴(kuò)展( 8位) 36 34 LH rt,rs,imm 按半字取數(shù)據(jù)并有符號(hào)擴(kuò)展( 16位) 33 35 LHU rt,rs,imm 按半字取數(shù)據(jù)無(wú)符號(hào)擴(kuò)展( 16 位) 37 36 LW rt,rs,imm 取字?jǐn)?shù)據(jù)( 32位) 35 37 SB rt,rs,imm 按字節(jié)存數(shù)據(jù) 40 38 SH rt,rs,imm 按半字存數(shù)據(jù) 41 39 SW rt,rs,imm 按字存數(shù)據(jù) 43 例如,把下面的表達(dá)式編譯為 MIPS 指令: $1=mem[$2+32] 變量 a, b 可以分配給寄存器 $1,$2 編譯結(jié)果為: lw $1,$2,32 表 212 數(shù)據(jù)傳送指令示例 OP RS RT Immediate 1000 11 00 010 0 0001 0000 0000 0010 0000 故其機(jī)器代碼為 0x8c410020 北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 12 ( 6) 無(wú) 條件轉(zhuǎn)移 表 213 無(wú)條件轉(zhuǎn)移指令 序號(hào) 助記符 功能 類型 OP FUNC 44 J target 無(wú)條件轉(zhuǎn)移 J 型 10 0 45 JR rs 寄存器跳轉(zhuǎn) J 型 11 0 46 JAL target 跳轉(zhuǎn)并鏈接 R 型 0 8 47 JALR rs 寄存器跳轉(zhuǎn)并鏈接 R 型 0 9 例如,跳轉(zhuǎn)到當(dāng)前地址指令: label1: J label1 ( 7) 條件轉(zhuǎn)移 表 214 條件轉(zhuǎn)移指令 序號(hào) 助記符 功能 類型 OP 其它約束 48 BEQ rs,rt,offset 相等即轉(zhuǎn)移 I型 4 49 BNE rs,rt,offset 不等即轉(zhuǎn)移 5 50 BGEZ rs,offset 比零大或等轉(zhuǎn)移 1 rt=1 51 BGTZ rs,offset 比零大轉(zhuǎn)移 7 rt=0 52 BLEZ rs,offset 比零小或等轉(zhuǎn)移 6 rt=0 53 BLTZ rs,offset 比零小轉(zhuǎn)移 1 rt=0 例如,把下面的表達(dá)式編譯為 MIPS 指令: if (ab) goto label2 變量 a, b 可以分配給寄存器 $1,$2 編譯結(jié)果為: sub $3,$1,$2 bgtz $3,label2 由于流水線數(shù)據(jù)相關(guān)問(wèn)題,可能需要插入 NOP 語(yǔ)句。同時(shí),軟件上提供了 8 條重定義指令,此處的重定義指令指為了使用方便重新命名的或恒定某個(gè)參數(shù)后重新命名的指令。Hff(注:立即數(shù)最大值為 FFFF,如果大于此數(shù),請(qǐng)先將高 16位載入后,采用 sll 左移,再載入低 16 位 ) MIPS 還有一類例外條件陷入指令,但鑒于應(yīng)用頻率,本 CPU 中沒(méi)有提供,北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 14 如果需要中斷,可以通過(guò)某條寫回至 $0 寄存器 的運(yùn)算溢出指令實(shí)現(xiàn)中斷,將此指令與條件跳轉(zhuǎn)指令結(jié)合應(yīng)用即可模擬出例外陷入指令。 例如 TGE 指令可以通過(guò) BGE(或其他條件跳轉(zhuǎn)指令)和溢出指令結(jié)合得到。對(duì)中斷和例外只提供有限的非兼容的支持。 CPU的幾種典型結(jié)構(gòu) 單周期 CPU 單周期 CPU 的特點(diǎn)是每條指令的執(zhí)行 只 需要一個(gè)時(shí)鐘周期,一條指令執(zhí)行完再執(zhí)行下一條指令。由于每個(gè)時(shí)鐘上升沿時(shí)更新地址,因此要在上升沿到來(lái)之前完成所有運(yùn)算,而這所有的運(yùn)算除可以利用一個(gè)下降沿外,只能通過(guò)組合邏輯解決。且因?yàn)?每個(gè)時(shí)鐘周期的時(shí)間長(zhǎng)短 必須統(tǒng)一 ,因此在確定時(shí)鐘周期的時(shí)間長(zhǎng)度時(shí),要 依照最長(zhǎng)延遲的指令時(shí)間來(lái)定,這也限制了它 的執(zhí)行效率。此指令無(wú)論執(zhí)行時(shí)間長(zhǎng)短,都必須在下一個(gè)上升沿到來(lái)之前完成。 圖 21 單周期 CPU 時(shí)序示意圖 圖 22 是一個(gè) 單周期 CPU 的 頂層結(jié)構(gòu)實(shí)現(xiàn) 。所有的控制信號(hào)簡(jiǎn)單地說(shuō)明如下 : lw j add 時(shí)間 CLK 指令 北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 15 圖 22 單周期頂層結(jié)構(gòu)圖 ( 1) ALUSRCB:為 1 時(shí),選擇擴(kuò)展的立即數(shù);為 0 時(shí),選擇寄存器數(shù)據(jù)。 ( 3) BRANCH:為 1 時(shí),選擇轉(zhuǎn)移目標(biāo)地址;為 0 時(shí),選擇 PC +4(圖中的 NPC)。 ( 5) WRITEMEM:為 1 時(shí)寫入存儲(chǔ)器。 ( 6) MEMTOREG:為 1 時(shí),選擇存儲(chǔ)器數(shù)據(jù);為 0 時(shí),選擇 ALU 輸出的數(shù)據(jù)。 ( 8) WRITEREG:為 1 時(shí)寫入寄存器堆,目的寄存器號(hào)是由 REGDES 選出的 rt 或 rd,寫入數(shù)據(jù)是由 MEMTOREG 選出的存儲(chǔ)器數(shù)據(jù)或 ALU 的輸出結(jié)果。為 1 時(shí),符號(hào)擴(kuò)展;為 0 時(shí), 0 擴(kuò)展。它用最少的器件單元勾畫了一個(gè) CPU的組成。在結(jié)構(gòu)上,采用了控制單元對(duì)所有控制信號(hào)作統(tǒng)一的集中控制。結(jié)構(gòu)上大多采用組合邏輯,使得可以在一個(gè)周期內(nèi)沒(méi)有時(shí)鐘上升沿的情況下可以完成功能。由于寫入數(shù)據(jù)往往是最后一步操作,因此,一個(gè)占空比不對(duì)等的輸入時(shí)鐘也許更加有效率。 多周期 CPU 多周期,即一條指令采用多個(gè)周期指令,但每個(gè)周期本身很短。對(duì)于單周期而言, CPU 的時(shí)鐘頻率確定之后,每個(gè)時(shí)鐘周期的時(shí)間長(zhǎng)度就固定了。而確定時(shí)鐘周期的長(zhǎng)度時(shí),我們要以最復(fù)雜的指令執(zhí)行時(shí)需要多長(zhǎng)時(shí)間為基準(zhǔn)。 圖 23 多周期時(shí)序示意圖 而類似 add 這樣的指令根本不需要訪問(wèn)數(shù)據(jù)存儲(chǔ)器,可以把 ALU 計(jì)算出的結(jié)果直接寫回寄存器堆。因此,單周期 CPU 實(shí)際上浪費(fèi)了許多寶貴的時(shí)間。例如把單周期 CPU 中的時(shí)鐘周期分成 5 個(gè)小周期: lw 用 5 個(gè), add 用 4 個(gè), beq 用 3 個(gè), j 用 2 個(gè)。而一條指令要用多個(gè)周期,這就是多周期 CPU 名稱的由來(lái)。圖 25示意了此種有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖。 其功能仿真(部分)波形如圖 26 所示。 在畢業(yè)設(shè)計(jì)過(guò)程之中,雖然也進(jìn)行了多周期 CPU 的設(shè)計(jì),但并不屬于本設(shè)計(jì)的主要環(huán)節(jié),因此只在本節(jié)略述。 圖 25 多周期頂層結(jié)構(gòu)圖 圖 26 多周期時(shí)序仿真圖 流水線 CPU 流水線是一種巧妙利用時(shí)序邏輯分割組合邏輯,使得可以將電路功能發(fā)揮到最大化和高效率的方法。 形象的說(shuō),流水線就是將原先較復(fù)雜的邏輯通過(guò)寄存器組分解為若干階段,每個(gè)階段是組合邏輯。 圖 27 流水線原理示意圖 假設(shè)寄存器為上升沿觸發(fā)(后文若無(wú)特別說(shuō)明,則流水線寄存器皆為上升沿觸發(fā)),當(dāng) clk 上升沿時(shí),上一級(jí)的輸出值導(dǎo)入 Q1,進(jìn)入組合邏輯,組合邏輯開(kāi)始更新,直到 D2 端穩(wěn)定后,此值被保存在此級(jí)與下級(jí)的寄存器上,當(dāng)下一個(gè) clk 上升沿到來(lái)時(shí),此信號(hào)傳遞給下一級(jí),同時(shí)此級(jí)接受新的上級(jí)傳遞來(lái)的信號(hào)。 由于多個(gè)狀態(tài)之間不會(huì)互相干擾,因此在不同的級(jí)間可以并行存在多個(gè)指令,也可以說(shuō) 這些指令分處于不同的運(yùn)行周期,使用不同的物理器件。在 RISC 體系結(jié)構(gòu)中,使用流水線技術(shù)來(lái)提高運(yùn)行速度是其本質(zhì)的特征之一。這種設(shè)計(jì)將簡(jiǎn)化取指令邏輯和指令譯碼邏輯,使得取指令 IF 周期和指 令譯碼 ID 周期能夠以更快的速度執(zhí)行。這樣,指令字中各個(gè)域的位置相對(duì)固定。這樣,就可以在指令譯碼的同時(shí)從寄存器堆中讀出指令的源操作數(shù),從而簡(jiǎn)化了指令周期。這樣,存儲(chǔ)器訪問(wèn)的操作就非常簡(jiǎn)單,從而北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 20 可以減少存儲(chǔ)器訪問(wèn)的時(shí)間。這樣,就可以僅僅使用一次存儲(chǔ)器操作來(lái)讀入一條指令字,從而減少了指令的讀取時(shí)間。只有當(dāng)每一個(gè)指令執(zhí)行階段都完成之后,一條指令才算執(zhí)行完畢。當(dāng)流水線處于飽和狀態(tài)時(shí),在 CPU 中,將同時(shí)有流水線級(jí)數(shù)的指令在同時(shí)執(zhí)行 。 在每一個(gè)執(zhí)行階段完成一條指令在該階段的執(zhí)行任務(wù)之后,將進(jìn)行下一條指令的執(zhí)行。該執(zhí)行結(jié)果將交給下一個(gè)執(zhí)行階段,進(jìn)行下一個(gè)階段的處理任務(wù),如圖28 所示。時(shí)序邏輯,即寄存器序列用于保存當(dāng)前各個(gè)控制信號(hào)和數(shù)據(jù)信號(hào)的值,并保證在組合邏輯運(yùn)算時(shí)期阻止其傳入下一級(jí),并在時(shí)序更新時(shí)期傳入下一級(jí)組合邏輯的輸入端。 [1]也可作為 本設(shè)計(jì)的 CPU 的一個(gè)頂層結(jié)構(gòu)的簡(jiǎn)化說(shuō)明,實(shí)際情況比這要復(fù)雜一些。此指令執(zhí)行的若干階段如下: 在 IF 階段得到 PC 值,并在指令存儲(chǔ)器中尋找指令,即 PC=4 ID 階段通過(guò)尋找到的指令進(jìn)行譯碼,決定各個(gè)控制信號(hào)的值,得到2042FFFF EXE 階段執(zhí)行數(shù)據(jù)運(yùn)算,將 2 與 1 相減( ALUOP=1),得到 RES。 圖 210 流水線 CPU 頂層結(jié)構(gòu)簡(jiǎn)圖 DFF IF 取指 邏輯 DFF DFF DFF DFF ID 譯碼 邏輯 EXE 執(zhí)行 邏輯 MEM 存儲(chǔ)器讀寫 邏輯 WB 寄存器寫 邏輯 CLK IF EXE ID MEM WB 北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 22 圖 211 流水線波形仿真圖 流水線并不是一直暢通的,經(jīng)常會(huì)因?yàn)橹噶钪g的關(guān)系而互相牽扯,導(dǎo)致阻塞。 ( 2)數(shù)據(jù)相關(guān)( data hazard) 因?yàn)?一條指令的后續(xù)指令要使用該條指令的結(jié)果 。甚至還沒(méi)有計(jì)算完畢。 關(guān)于流水線相關(guān)問(wèn)題的解決方法,請(qǐng)參考第三章。 [1] ( 2)具有存儲(chǔ)器處理單元,支持虛擬地址,具有 TLB( Translation Lookaside Buffer)即快速地址轉(zhuǎn)換表,能夠處理虛擬地址到物理地址的轉(zhuǎn)換。 [2] ( 4)支持向量運(yùn)算,比如 SIMD( Single Instruction Multiple Data)結(jié)構(gòu),一次性處理一批具有相同運(yùn) 算方式的數(shù)據(jù)。 [9] 北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 23 ( 5)亂序執(zhí)行與寄存器重命名技術(shù),在硬件上檢測(cè)在數(shù)據(jù)相關(guān)性約束允許的情況下,將與近期指令執(zhí)行順序無(wú)關(guān)的后邊的指令發(fā)射到流水線上提前執(zhí)行。 [4] ( 6)轉(zhuǎn)移預(yù)測(cè),雖然 MIPS 提供了分支延遲槽技術(shù),使得跳轉(zhuǎn)只需延遲一個(gè)時(shí)鐘周期,且得到兼容的支持。 ( 7)具有浮點(diǎn)協(xié)處理器單元,用于硬件支持浮點(diǎn)運(yùn)算。 它 采 用四發(fā)射超標(biāo)量超流水結(jié)構(gòu)。 為了充分發(fā)揮流水線的效率,龍芯 2E實(shí)現(xiàn)了先進(jìn)的轉(zhuǎn)移猜測(cè)、寄存器重命名、動(dòng)態(tài)調(diào)度等亂序執(zhí)行技術(shù)以及非阻塞的 Cache 訪問(wèn)和 load Speculation 等動(dòng)態(tài)存儲(chǔ)訪問(wèn)機(jī)制 。 [4] 圖 212 龍芯 2E 結(jié)構(gòu)簡(jiǎn)圖 與上文所提及的若干結(jié)構(gòu)相比較,龍芯 2E 計(jì)算機(jī)系統(tǒng)在結(jié)構(gòu)上具有多發(fā)射的特點(diǎn),即有兩個(gè)定點(diǎn) ALU 和兩個(gè)浮點(diǎn) ALU,在亂序條件下最多一次可發(fā)射北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 24 四條指令。另 外,它加入了寄存器重命名模塊、操作隊(duì)列模塊等亂序流水線所需的調(diào)度模塊。另外,它還具有 cache 及相應(yīng)操作單元,與外部的接口等等。 小結(jié) 本章結(jié)合本設(shè)計(jì) CPU 的具體實(shí)現(xiàn),介紹了 MIPS 的寄存器堆,指令集及三種 CPU 的基礎(chǔ)結(jié)構(gòu),最后討論了更高性能的 CPU結(jié)構(gòu)。 北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 25 第 3 章 MIPS 處理器的實(shí)現(xiàn) 本設(shè)計(jì)的基本原則與方法 自頂而下設(shè)計(jì)法與最小 系統(tǒng)擴(kuò)展 法 自頂 而 下設(shè)計(jì)( topdown design) 是 將 任務(wù) 分解成主要的子任務(wù),然后解決子任務(wù)以得到最初任務(wù)的解決方案 的設(shè)計(jì)過(guò)程 。為解決某級(jí)的小任務(wù),就要先解決它低一級(jí)的更小的任務(wù),這個(gè)過(guò)程稱之為自頂 而 下設(shè)計(jì), 它 將任務(wù)分解為相關(guān)子任務(wù)的過(guò)程類似于算法細(xì)化的過(guò)程。由此,將一個(gè)設(shè)計(jì)乘法器的任務(wù)分解為若干模塊,逐步完成, 如圖 31 所示: 圖 31 自頂而下設(shè)計(jì)法 對(duì)于自頂而下設(shè)計(jì)法而言, 其優(yōu)點(diǎn)是比較明顯的, 它的 組織結(jié) 構(gòu)清晰,任務(wù)模塊分明,接口描述確切,高屋建瓴而具體入微。 同時(shí),實(shí)現(xiàn)過(guò)程中需要正確的人員的安排以及 專門的計(jì)劃和協(xié)調(diào)措施, 而對(duì)于很多開(kāi)創(chuàng)性工作本身, 起 先 可能 并沒(méi)有把所要實(shí)現(xiàn)的整體了解透徹, 因此 ,很難制定出優(yōu)良 的頂層框架。因此,此設(shè)計(jì)法要求的設(shè)計(jì)起點(diǎn)高,設(shè)計(jì)理念成熟。 頂層任務(wù) 二 級(jí)任務(wù) 三級(jí)任務(wù) 移位乘法器 加法器 移位器 觸發(fā)器 全加器 北京理工大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1