龍芯2號處理器多線程技術研究
發(fā)布時間:2021-08-10 01:42
隨著集成電路工藝技術的發(fā)展,單個芯片上可集成的晶體管數(shù)目已達到10億個,如何利用這些晶體管資源設計高性能處理器成為當前重要的研究課題。多線程技術通過利用晶體管資源,開發(fā)線程級并行度來提高系統(tǒng)性能,是未來高性能處理器發(fā)展的趨勢。本文重點研究多線程處理器技術,以挖掘程序的線程級并行、提高功能部件的利用率為切入點,以降低設計復雜度、提升處理器的性能為研究目標,從多線程處理器的設計、同時多微線程體系結(jié)構(gòu)、存儲一致性模型和寄存器同步和共享等方面對龍芯2號多線程處理器進行了深入研究。本文的主要貢獻及創(chuàng)新點如下:1.在分析當前多線程技術的現(xiàn)狀和發(fā)展趨勢的基礎上,結(jié)合龍芯處理器的結(jié)構(gòu)特點,提出龍芯2號多線程處理器設計方案,并完成了具體的微體系結(jié)構(gòu)設計以及邏輯設計。在此基礎上,使用0.18um CMOS工藝進行綜合,進行芯片性能和面積評估。龍芯2號多線程處理器擁有超標量、同時多線程和同時多微線程三種運行模式,允許軟件根據(jù)應用程序進行模式選擇,最大限度地發(fā)揮處理器的性能。2.提出一種融合同時多線程技術和微線程技術的新型體系結(jié)構(gòu)——同時多微線程,并且在龍芯2號多線程處理器中實現(xiàn)此技術。同時多微線程有效結(jié)合同...
【文章來源】:中國科學院大學(中國科學院計算技術研究所)北京市
【文章頁數(shù)】:126 頁
【學位級別】:博士
【部分圖文】:
多標量處理器總體結(jié)構(gòu)
不同的核——與多標量處理器相似——相應地把程序也分成多個跡。跡CACHE作為特別的指令CACHE,收集這些跡,捕獲動態(tài)的指令序列。跡處理器的一個核用來執(zhí)行當前的跡,其它的核執(zhí)行猜測的將要執(zhí)行的跡。圖2.6給出了跡處理器的結(jié)構(gòu)圖[Rotenberg97]。跡處理器利用跡CACHE產(chǎn)生推測線程,調(diào)度到空閑的處理器核中,并且采用值預測方式為每個線程生成輸入寄存器的值。跡被調(diào)度到執(zhí)行單元(PE)之后,就被保存在指令發(fā)射窗口內(nèi)。需要注意的是,指令窗口要保證把該跡完整地保留在指令窗口里面。也就是說,指令在發(fā)射完畢后仍然保存在指令窗口里,一旦檢測到它的輸入值有所變化,立即重新發(fā)射該指令及隨后相依賴的指令。可以看出,這種做法有一個前提,就是跡足夠。16-32條指令)。大的跡根本無法實施上述做法。這也是跡處理器與多標量處理器最大的區(qū)別。線程的提交以跡為單位。如果跡出現(xiàn)誤預測,或出現(xiàn)數(shù)據(jù)相關,則需要重新發(fā)射后繼的跡,以保證跡間正確的依賴關系。圖 2.6 跡處理器結(jié)構(gòu)2.2.3 超線程體系結(jié)構(gòu)處理器Jenn-Yuan Tsai 等人提出超線程體系結(jié)構(gòu)(Superthreaded architecture)[Tsai96],應用20
第二章 多線程技術的相關研究執(zhí)行模型,允許具有數(shù)據(jù)和控制相關的線程并行執(zhí)行。線程流水快地計算和傳遞(forward)遞推數(shù)據(jù)(recurrence data)和可能的一個線程,使之可以開始執(zhí)行和檢查運行數(shù)據(jù)的相關。由于支持和控制相關的猜測,超線程體系結(jié)構(gòu)模型可以挖掘循環(huán)級并行。如圖 2.7 所示[Tsai96],包含多個線程處理部件(Thread ProcessinACHE 和數(shù)據(jù) CACHE。在運行時,每個線程處理部件都有各自行數(shù)據(jù)通路,能夠同時從多個線程取指并執(zhí)行指令。與超標量中件自動保證指令順序和進行數(shù)據(jù)相關檢查及傳遞不同,超線程體管理和通信指令進行線程初始化和數(shù)據(jù)傳遞。編譯器靜態(tài)地將程分成將要在超線程體系結(jié)構(gòu)的處理部件上執(zhí)行的線程。線程處理連,進行數(shù)據(jù)交換。超線程設計緊密耦合的處理部件,利用編譯高了單進程的性能。
本文編號:3333201
【文章來源】:中國科學院大學(中國科學院計算技術研究所)北京市
【文章頁數(shù)】:126 頁
【學位級別】:博士
【部分圖文】:
多標量處理器總體結(jié)構(gòu)
不同的核——與多標量處理器相似——相應地把程序也分成多個跡。跡CACHE作為特別的指令CACHE,收集這些跡,捕獲動態(tài)的指令序列。跡處理器的一個核用來執(zhí)行當前的跡,其它的核執(zhí)行猜測的將要執(zhí)行的跡。圖2.6給出了跡處理器的結(jié)構(gòu)圖[Rotenberg97]。跡處理器利用跡CACHE產(chǎn)生推測線程,調(diào)度到空閑的處理器核中,并且采用值預測方式為每個線程生成輸入寄存器的值。跡被調(diào)度到執(zhí)行單元(PE)之后,就被保存在指令發(fā)射窗口內(nèi)。需要注意的是,指令窗口要保證把該跡完整地保留在指令窗口里面。也就是說,指令在發(fā)射完畢后仍然保存在指令窗口里,一旦檢測到它的輸入值有所變化,立即重新發(fā)射該指令及隨后相依賴的指令。可以看出,這種做法有一個前提,就是跡足夠。16-32條指令)。大的跡根本無法實施上述做法。這也是跡處理器與多標量處理器最大的區(qū)別。線程的提交以跡為單位。如果跡出現(xiàn)誤預測,或出現(xiàn)數(shù)據(jù)相關,則需要重新發(fā)射后繼的跡,以保證跡間正確的依賴關系。圖 2.6 跡處理器結(jié)構(gòu)2.2.3 超線程體系結(jié)構(gòu)處理器Jenn-Yuan Tsai 等人提出超線程體系結(jié)構(gòu)(Superthreaded architecture)[Tsai96],應用20
第二章 多線程技術的相關研究執(zhí)行模型,允許具有數(shù)據(jù)和控制相關的線程并行執(zhí)行。線程流水快地計算和傳遞(forward)遞推數(shù)據(jù)(recurrence data)和可能的一個線程,使之可以開始執(zhí)行和檢查運行數(shù)據(jù)的相關。由于支持和控制相關的猜測,超線程體系結(jié)構(gòu)模型可以挖掘循環(huán)級并行。如圖 2.7 所示[Tsai96],包含多個線程處理部件(Thread ProcessinACHE 和數(shù)據(jù) CACHE。在運行時,每個線程處理部件都有各自行數(shù)據(jù)通路,能夠同時從多個線程取指并執(zhí)行指令。與超標量中件自動保證指令順序和進行數(shù)據(jù)相關檢查及傳遞不同,超線程體管理和通信指令進行線程初始化和數(shù)據(jù)傳遞。編譯器靜態(tài)地將程分成將要在超線程體系結(jié)構(gòu)的處理部件上執(zhí)行的線程。線程處理連,進行數(shù)據(jù)交換。超線程設計緊密耦合的處理部件,利用編譯高了單進程的性能。
本文編號:3333201
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3333201.html
最近更新
教材專著