多線程微處理器取指和線程選擇的研究與實現(xiàn)
發(fā)布時間:2021-04-04 07:30
在工藝技術(shù)和應(yīng)用的雙重推動下,多線程已經(jīng)成為當(dāng)前高性能微處理器的主流體系結(jié)構(gòu)。多線程微處理器能夠同時開發(fā)指令級并行性(Instruction Level Parallelism,簡稱ILP)和線程級并行性(Thread Level Parallelism,簡稱TLP),充分利用芯片面積和流水線資源,提高處理器的吞吐率。本文在深入分析了當(dāng)前多線程微處理器的取指與線程選擇設(shè)計關(guān)鍵技術(shù),以及Cache設(shè)計關(guān)鍵技術(shù)的基礎(chǔ)上,根據(jù)X處理器的特點(diǎn),設(shè)計并實現(xiàn)了該處理器的取指與線程選擇功能部件,主要包括指令Cache、指令TLB、Cache失效緩沖(Cache Miss Buffer,簡稱CMB)、指令buffer、地址生成邏輯以及線程選擇邏輯。本文還完成取指和線程選擇等功能部件的模擬驗證和邏輯綜合。經(jīng)過模塊級、部件級、系統(tǒng)級三個層次的測試,驗證了設(shè)計的正確性。邏輯綜合結(jié)果表明,取指與線程選擇部件的工作頻率達(dá)到了X處理器的設(shè)計要求。本課題研究的內(nèi)容是國家重大科研項目“高性能X處理器”一部分,研究和設(shè)計成果直接應(yīng)用于該項目。
【文章來源】:國防科技大學(xué)湖南省 211工程院校 985工程院校
【文章頁數(shù)】:75 頁
【學(xué)位級別】:碩士
【部分圖文】:
失效處理部件級測試
圖 5.4 失效處理部件級測試2、ITAG 的寫操作測試ITAG 寫操作的模塊級驗證的結(jié)果判斷如圖 5.5 所示,這是 tag 模塊寫操作功能 的 一 項 測 試 。 在 第 1 個 周 期 , 測 試 激 勵 ftp_tg_wr_req_bf=1 并 且ftp_tp_rd_req_bf=0 , 表 示 對 tag 進(jìn) 行 寫 操 作 , 由 路 選 擇 信 號agc_fill_wrway_bf[2:0]=2 ,指出了對第二路進(jìn)行寫,然后在第 2 周期把數(shù)據(jù)agd_ict_wrtag_bf[29:0]鎖存在 way_2_tag_bf[29:0]中。第 3 周期把鎖存的數(shù)據(jù)寫入到 tag 的存儲體中,即寫入到 ict_itlb_way_2_tag_f[29:0]中。通過波形可以看出,波形的結(jié)果符合 ITAG 模塊預(yù)期的功能和時序要求。
讀指令 buffer 的模塊級驗證的結(jié)果判斷如圖 5.6 所示,這是指令 buffer 讀操作功能的一項測試,主要是測試觀察每個線程的指令 buffer 的數(shù)據(jù)是否都是從 buf0讀出的。在第1個周期,選擇了當(dāng)前線程發(fā)射指令,當(dāng)前線程的buffer里的數(shù)據(jù)就會 從 buf0 讀 出 , 即 把 ifu_buf0_inst0[32:0] 的 數(shù) 據(jù) 讀 出 , 這 個 數(shù) 據(jù) 是ftu_instr_0_c_rep0[32:0]的數(shù)據(jù)。由于在這個周期要對 buffer 進(jìn)行寫操作,因此第 2周期就暫停讀出數(shù)據(jù)。在第 3 周期則把 ftu_instr_1_c_rep0[32:0]數(shù)據(jù)讀出,同樣,在第 4 第 5 周期,分別把 ftu_instr_2_c_rep0[32:0]和 ftu_instr_3_c_rep0[32:0]的數(shù)據(jù)讀出。通過波形可以看出,波形的結(jié)果符合指令 buffer 模塊預(yù)期的功能和時序要求。
【參考文獻(xiàn)】:
期刊論文
[1]基于模擬的驗證技術(shù)在CPU設(shè)計中的應(yīng)用[J]. 呂濤,李華偉,李曉維,樊建平. 同濟(jì)大學(xué)學(xué)報(自然科學(xué)版). 2002(10)
本文編號:3117991
【文章來源】:國防科技大學(xué)湖南省 211工程院校 985工程院校
【文章頁數(shù)】:75 頁
【學(xué)位級別】:碩士
【部分圖文】:
失效處理部件級測試
圖 5.4 失效處理部件級測試2、ITAG 的寫操作測試ITAG 寫操作的模塊級驗證的結(jié)果判斷如圖 5.5 所示,這是 tag 模塊寫操作功能 的 一 項 測 試 。 在 第 1 個 周 期 , 測 試 激 勵 ftp_tg_wr_req_bf=1 并 且ftp_tp_rd_req_bf=0 , 表 示 對 tag 進(jìn) 行 寫 操 作 , 由 路 選 擇 信 號agc_fill_wrway_bf[2:0]=2 ,指出了對第二路進(jìn)行寫,然后在第 2 周期把數(shù)據(jù)agd_ict_wrtag_bf[29:0]鎖存在 way_2_tag_bf[29:0]中。第 3 周期把鎖存的數(shù)據(jù)寫入到 tag 的存儲體中,即寫入到 ict_itlb_way_2_tag_f[29:0]中。通過波形可以看出,波形的結(jié)果符合 ITAG 模塊預(yù)期的功能和時序要求。
讀指令 buffer 的模塊級驗證的結(jié)果判斷如圖 5.6 所示,這是指令 buffer 讀操作功能的一項測試,主要是測試觀察每個線程的指令 buffer 的數(shù)據(jù)是否都是從 buf0讀出的。在第1個周期,選擇了當(dāng)前線程發(fā)射指令,當(dāng)前線程的buffer里的數(shù)據(jù)就會 從 buf0 讀 出 , 即 把 ifu_buf0_inst0[32:0] 的 數(shù) 據(jù) 讀 出 , 這 個 數(shù) 據(jù) 是ftu_instr_0_c_rep0[32:0]的數(shù)據(jù)。由于在這個周期要對 buffer 進(jìn)行寫操作,因此第 2周期就暫停讀出數(shù)據(jù)。在第 3 周期則把 ftu_instr_1_c_rep0[32:0]數(shù)據(jù)讀出,同樣,在第 4 第 5 周期,分別把 ftu_instr_2_c_rep0[32:0]和 ftu_instr_3_c_rep0[32:0]的數(shù)據(jù)讀出。通過波形可以看出,波形的結(jié)果符合指令 buffer 模塊預(yù)期的功能和時序要求。
【參考文獻(xiàn)】:
期刊論文
[1]基于模擬的驗證技術(shù)在CPU設(shè)計中的應(yīng)用[J]. 呂濤,李華偉,李曉維,樊建平. 同濟(jì)大學(xué)學(xué)報(自然科學(xué)版). 2002(10)
本文編號:3117991
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3117991.html
最近更新
教材專著