国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

處理器(計(jì)組課程)

這篇具有很好參考價(jià)值的文章主要介紹了處理器(計(jì)組課程)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、最原始的指令處理理解

31~26 25~21 20~16 15~11 ---?

處理器(計(jì)組課程)

?二、流水線

處理器(計(jì)組課程)

?處理器(計(jì)組課程)

三、冒險(xiǎn)問(wèn)題

1.解決數(shù)據(jù)冒險(xiǎn)

(從流水線寄存器通過(guò)旁路傳回?cái)?shù)據(jù)?也叫作?轉(zhuǎn)發(fā)

處理器(計(jì)組課程)

若產(chǎn)生冒險(xiǎn),則更前面的指令中?需要寫入的目的寄存器剛好是?當(dāng)前指令需要讀取的源寄存器,此時(shí)對(duì)于當(dāng)前源寄存器而言,這個(gè)寄存器內(nèi)部的數(shù)據(jù)并不是準(zhǔn)確的,因?yàn)樗枰玫角耙粋€(gè)指令產(chǎn)生的結(jié)果。此時(shí)可以用到旁路,解決這個(gè)問(wèn)題。

觀察指令可知:

????????R型指令,需要用到rs,rt源寄存器,寫入rd目的寄存器

????????beq指令,需要用到rs,rt源寄存器,不需要寫入

????????sw指令,需要用到rs,rt源寄存器,不需要寫入

????????lw指令,需要用到rs源寄存器,寫入rt目的寄存器

可知,beq和sw指令?不會(huì)對(duì)后面指令產(chǎn)生影響,因?yàn)樗鼈儍H僅使用該寄存器值,并不修改該寄存器值,后面指令訪問(wèn)該源寄存器的值依然是準(zhǔn)確的。

會(huì)產(chǎn)生冒險(xiǎn)的只有R型-X?或 lw-X。

旁路能解決的是 R型-X? 或者 Lw-X(X不用到lw的目的寄存器)-R型?

不能直接通過(guò)旁路而需要流水線阻塞的是?取數(shù)-使用型數(shù)據(jù)冒險(xiǎn)

兩種旁路,第一種答案可從EX/MEM中取得,第二種答案可從MEM/WB中取得。

情況

一個(gè)指令的兩個(gè)源寄存器分別是上兩個(gè)指令的目的寄存器。如:

add $s0,$t0,$t1

add $t1,$t2,$t0

add $s1,$s0,$t1

這時(shí),當(dāng)?shù)谌龡ladd到ALU輸入時(shí),第二條已經(jīng)ALU運(yùn)算完了,結(jié)果在EX/MEM里可以取出,第一條已經(jīng)到MEM/WB里,可以取出

一個(gè)指令的一個(gè)源寄存器是上兩個(gè)指令的目的寄存器。如:

add $t1,$t0,$t1

add $t1,$t2,$t0

add $s1,$s0,$t1

這時(shí)第二條已經(jīng)ALU運(yùn)算完了,結(jié)果在EX/MEM里可以取出,第一條已經(jīng)到MEM/WB里,可以取出,但是第三條需要的t1是最新的t1也就是第二條指令里面的t1,所以它需要從最新的EX/MEM中取出。阻斷MEM/WB的。

一個(gè)指令的一個(gè)源寄存器是上一個(gè)指令的目的寄存器或者是上上一個(gè)指令的目的寄存器

旁路解決:在ALU輸入處加選擇門的選擇端(多選器

必須為寫入指令才會(huì)影響下面的指令才需要旁路,所以RegWrite=1

①EX/MEM轉(zhuǎn)發(fā)條件:(即應(yīng)當(dāng)從EX/MEM流水線寄存器通過(guò)旁路得到結(jié)果)

(1)當(dāng)上一條指令為寫入時(shí),寫指令應(yīng)當(dāng)為1

EX/MEM.RegWrite=?1

(2)當(dāng)上一條指令的目的寄存器與當(dāng)前源寄存器相同時(shí)

ID/EX.RS(RT)=EX/MEM.Rd (這里的Rd一定為15~11的目的寄存器,因?yàn)閷?duì)于lw指令的rt目的寄存器是沒(méi)辦法在這里進(jìn)行旁路的,在這里進(jìn)行旁路是無(wú)效的,如果這里的下一條指令的RS為lw的Rt時(shí),實(shí)際上已經(jīng)產(chǎn)生了阻塞(這在后面我們會(huì)知道),加入了空指令,也就是說(shuō)這時(shí)的EX/MEM.Rd為空,也就是在EX/MEM階段不可能要取的是lw的rt,如果要取那么產(chǎn)生阻塞,也是在MEM/WB中取,當(dāng)且僅當(dāng)這個(gè)EX/MEM.Rd是15~11的R型目的寄存器才有效,所以無(wú)論如何不會(huì)出現(xiàn)ID/EX.RS=lw.Rt?然后取出ALU運(yùn)算后的的地址的問(wèn)題。)

(3)當(dāng)上一條指令的目的寄存器不是zero寄存器時(shí)

EX/MEM.Rd≠$zero(為什么上一條指令的目的寄存器不能為$zero?其實(shí)并不是$zero的值被修改了,實(shí)際上沒(méi)被修改。上一條指令的ALU的計(jì)算結(jié)果放在了EX/MEM流水線寄存器組里面,這個(gè)時(shí)候的結(jié)果并沒(méi)有傳給$zero,而此時(shí)目的寄存器實(shí)實(shí)在在確實(shí)是$zero,也就是說(shuō),它會(huì)誤認(rèn)為現(xiàn)在EX/MEM流水線寄存器組里面的值?就是需要的結(jié)果值,也就是ID/EX.RS=EX/MEM.Rd成立,所以會(huì)把結(jié)果值拿出來(lái),但實(shí)際上$zero還是那個(gè)zero。它只判斷?目的寄存器是否為源寄存器,然后把流水線的值轉(zhuǎn)發(fā)給ALU,這個(gè)流水線的值?實(shí)際上并不是目的寄存器的現(xiàn)有值。)

處理器(計(jì)組課程)

②MEM/WB轉(zhuǎn)發(fā)條件:

(1)MEM/WB.RegWrite=1

(2)ID/EX.RS(RT)=MEM/WB.Rd(Rt)

(3)MEM/WB.Rd≠$zero

?處理器(計(jì)組課程)

處理器(計(jì)組課程)

處理器(計(jì)組課程)處理器(計(jì)組課程)?

處理器(計(jì)組課程)

2.取數(shù)-使用型數(shù)據(jù)冒險(xiǎn)

處理器(計(jì)組課程)處理器(計(jì)組課程)

?

處理器(計(jì)組課程)

流水線阻塞:lw指令的目的寄存器rt,只有當(dāng)它經(jīng)過(guò)?數(shù)據(jù)存儲(chǔ)器取出數(shù)據(jù)之后,才是正確的,也就是說(shuō),對(duì)于lw型指令,它如果能用到旁路,正確的數(shù)據(jù)也僅僅會(huì)在MEM/WB流水線寄存器組里面。如果有一條指令如下:

lw $t0,200($s0)

add $t1,$t0,$s1

lw指令的目的寄存器,剛好就是下一條指令的源寄存器,根據(jù)流水線的實(shí)現(xiàn)原理可知,當(dāng)lw執(zhí)行到取出數(shù)據(jù)存儲(chǔ)器的值?放入MEX/WB流水線寄存器組中時(shí),add指令不得不執(zhí)行到EX/MEM了,也就是它已經(jīng)算完了,這顯然不正確。換個(gè)思路,當(dāng)add指令到需要輸入ALU計(jì)算時(shí),lw才執(zhí)行到MEM階段,還未取出值,這顯然是不行的。

所以此時(shí)不得不產(chǎn)生流水線阻塞。

產(chǎn)生氣泡:由于指令在ID階段譯碼成功,則在ID/EX流水線寄存器里就已經(jīng)知道了,該條指令是什么指令,如果此時(shí)是一條lw指令,并且前一條在IF/ID指令的源寄存器用到了lw指令中的rt那么必然會(huì)阻塞,所以可以在這里判斷。

判斷什么?

IF(ID/EX.MemRead=1 and? ? ?//唯一的寄存器寫入操作?lw

(ID/EX.Rt=IF/ID.Rs or ID/EX.Rt=IF/ID.Rt)? ?//rt?與?后一條的源寄存器重合

PS:這里仍然會(huì)有一點(diǎn)不必要的氣泡,但是不必要的氣泡一定是沒(méi)錯(cuò)的,只是并不必要而已,比如?若連續(xù)出現(xiàn)了lw指令,且后一個(gè)lw不用到前一個(gè)lw寫入的目的寄存器,且同時(shí)寫入同一個(gè)寄存器,這樣也會(huì)插入一個(gè)氣泡,因?yàn)榍昂髍t相同,但顯然并不需要?dú)馀荨_€有一個(gè)就是jump指令,jump指令的rs和rt無(wú)效,所以并不需要?dú)馀?。(不考慮)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-469926.html

到了這里,關(guān)于處理器(計(jì)組課程)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ARM處理器架構(gòu)的Thumb指令集中關(guān)于IT指令的使用

    在ARMv6T2以及ARMv7架構(gòu)擴(kuò)展了Thumb指令集,其中加入了 IT 指令,進(jìn)一步增強(qiáng)了代碼的緊湊性。 Thumb中有一個(gè)比較有意思的指令—— IT ,這條指令用于根據(jù)指定的條件來(lái)執(zhí)行后面相繼的四條指令。當(dāng)然,Thumb-2中大部分算術(shù)邏輯指令都含有帶條件執(zhí)行的特征,不過(guò)Thumb-2是32位的。

    2024年02月07日
    瀏覽(26)
  • 基于mips指令集的處理器設(shè)計(jì)與實(shí)現(xiàn)

    基于mips指令集的處理器設(shè)計(jì)與實(shí)現(xiàn)

    1.mips指令集格式 2.mips寄存器特點(diǎn) 1.ALU模塊 2.General_Register模塊(通用寄存器) 3.instruction_cache模塊(指令cache) 4.program_counter模塊(程序計(jì)數(shù)器) 5.control模塊(控制譯碼) MIPS是(Microcomputer without interlocked pipeline stages)的縮寫,含義是無(wú)互鎖流水級(jí)微處理器。MIPS 是最早的,最成功的RISC處

    2024年02月06日
    瀏覽(23)
  • Tensorflow(libtensorflow)報(bào)指令集與處理器不兼容

    最近連續(xù)在多個(gè)項(xiàng)目上接收到Tensorflow與環(huán)境不兼容問(wèn)題的報(bào)告。 在一個(gè)新部署或者升級(jí)的環(huán)境上,服務(wù)嘗試啟動(dòng); 正常執(zhí)行過(guò)程中,服務(wù)加載模型,標(biāo)準(zhǔn)錯(cuò)誤中輸出一行錯(cuò)誤信息后服務(wù)停止。 錯(cuò)誤信息: tensorflow/core/platform/cpu_feature_guard.cc:36] The TensorFlow library was compiled to

    2024年02月04日
    瀏覽(26)
  • RISC-V處理器的設(shè)計(jì)與實(shí)現(xiàn)(一)—— 基本指令集

    RISC-V處理器的設(shè)計(jì)與實(shí)現(xiàn)(一)—— 基本指令集

    RISC-V處理器的設(shè)計(jì)與實(shí)現(xiàn)(一)—— 基本指令集_Patarw_Li的博客-CSDN博客 RISC-V處理器的設(shè)計(jì)與實(shí)現(xiàn)(二)—— CPU框架設(shè)計(jì)_Patarw_Li的博客-CSDN博客 RISC-V處理器的設(shè)計(jì)與實(shí)現(xiàn)(三)—— 上板驗(yàn)證_Patarw_Li的博客-CSDN博客 RISC-V處理器設(shè)計(jì)(四)—— Verilog 代碼設(shè)計(jì)-CSDN博客? RISC-V處

    2024年02月05日
    瀏覽(26)
  • 『模型部署』神經(jīng)網(wǎng)絡(luò)模型部署[運(yùn)行時(shí)|指令執(zhí)行|處理器架構(gòu)|TensorRT]

    『模型部署』神經(jīng)網(wǎng)絡(luò)模型部署[運(yùn)行時(shí)|指令執(zhí)行|處理器架構(gòu)|TensorRT]

    『模型部署』神經(jīng)網(wǎng)絡(luò)模型部署[運(yùn)行時(shí)|指令執(zhí)行|處理器架構(gòu)|TensorRT] 輔助文檔-本教程配套代碼,以及更多范例和文檔 :https://github.com/NVIDIA/trt-samples-for-hackathon-cn/tree/master/cookbook Polygraphy:深度學(xué)習(xí)推理原型設(shè)計(jì)和調(diào)試工具包 介紹個(gè)工具Torch.Profiler,使用它來(lái)確定你的性能瓶頸

    2024年02月11日
    瀏覽(50)
  • 【架構(gòu)】探索計(jì)算機(jī)處理器的世界:ARM和x86架構(gòu)解析及指令集

    計(jì)算機(jī)處理器是數(shù)字化時(shí)代的核心引擎,而在眾多處理器架構(gòu)中,ARM和x86是備受關(guān)注的三個(gè)。本文將帶您深入探索這三個(gè)架構(gòu),介紹它們的特點(diǎn)、公司背景以及應(yīng)用領(lǐng)域。讓我們一起揭開(kāi)計(jì)算機(jī)處理器的神秘面紗吧! ARM(Advanced RISC Machines)是一種計(jì)算機(jī)指令集架構(gòu)(ISA),

    2024年02月11日
    瀏覽(20)
  • 深入理解圖形處理器(GPU):加速人工智能和大數(shù)據(jù)計(jì)算的引擎

    深入理解圖形處理器(GPU):加速人工智能和大數(shù)據(jù)計(jì)算的引擎

    前言: 圖形處理器(GPU)不再僅僅是用于圖形渲染的硬件設(shè)備。如今,GPU已經(jīng)成為加速人工智能、大數(shù)據(jù)計(jì)算和科學(xué)研究的關(guān)鍵引擎。本文將深入探討GPU的工作原理、應(yīng)用領(lǐng)域以及它在當(dāng)今技術(shù)領(lǐng)域中的重要性。 GPU(Graphics processing unit)是一種專門設(shè)計(jì)用于處理圖形和圖像

    2024年04月15日
    瀏覽(30)
  • Spring MVC異常處理【單個(gè)控制異常處理器、全局異常處理器、自定義異常處理器】

    Spring MVC異常處理【單個(gè)控制異常處理器、全局異常處理器、自定義異常處理器】

    目錄 一、單個(gè)控制器異常處理 1.1 控制器方法 1.2 編寫出錯(cuò)頁(yè)面 1.3 測(cè)試結(jié)果 二、全局異常處理 2.1 一個(gè)有異常的控制器類 2.2 全局異常處理器類 2.3 測(cè)試結(jié)果? 三、自定義異常處理器 3.1 自定義異常處理器 3.2 測(cè)試結(jié)果 往期專欄文章相關(guān)導(dǎo)讀? 1. Maven系列專欄文章 2. Mybatis系列

    2024年02月16日
    瀏覽(29)
  • Jmeter前置處理器和后置處理器

    Jmeter前置處理器和后置處理器

    1. 后置處理器(Post Processor) 本質(zhì)上是?種對(duì)sampler發(fā)出請(qǐng)求后接受到的響應(yīng)數(shù)據(jù)進(jìn)?處理 (后處理)的?法 ?正則表達(dá)式后置處理器 (1)引?名稱:下?個(gè)請(qǐng)求要引?的參數(shù)名稱,如填寫title,則可?${title}引?它 (2)正則表達(dá)式: ():括起來(lái)的部分就是要提取的。 .:匹配

    2023年04月21日
    瀏覽(20)
  • DP讀書(shū):鯤鵬處理器 架構(gòu)與編程(八)3.1鯤鵬處理器片上系統(tǒng)與Taishan處理器內(nèi)核架構(gòu)

    DP讀書(shū):鯤鵬處理器 架構(gòu)與編程(八)3.1鯤鵬處理器片上系統(tǒng)與Taishan處理器內(nèi)核架構(gòu)

    處理器體系結(jié)構(gòu),是一個(gè)偏底層的內(nèi)容,但這是任一計(jì)算機(jī)系統(tǒng)的底層。 系統(tǒng)的性能、生態(tài)和功能很大程度上都依賴于計(jì)算機(jī)系統(tǒng)底層——處理器體系結(jié)構(gòu)。任何一個(gè)系統(tǒng)程序員、固件設(shè)計(jì)者、應(yīng)用程序員 甚至 服務(wù)器管理員,如果想要充分利用現(xiàn)代高性能處理器的硬件性能

    2024年02月12日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包