欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

機(jī)會(huì)多線程處理器的制作方法

文檔序號(hào):6452169閱讀:167來(lái)源:國(guó)知局
專利名稱:機(jī)會(huì)多線程處理器的制作方法
技術(shù)領(lǐng)域
本實(shí)用新型涉及一種多線程處理器技術(shù)(Multi-threading).特別是涉及一種機(jī)會(huì)多線程處理器。
背景技術(shù)
多線程并行處理技術(shù)(Multi-Threading)被廣泛的應(yīng)用在高性能處理器的設(shè)計(jì)中以降低高速處理器指令執(zhí)行中存在的等待周期的影響以提高處理器的性能和運(yùn)行效率。其中用的最普遍的是同步多線程技術(shù)(Simultaneous Multi-threading)或叫SMT。如Intel 的 Hyper-Threading, IBM 的 P0WER5, Sun Microsystems 的 UltraSPARC T2 及MIPS的MT都是采用了 SMT技術(shù)。SMT技術(shù)除了需要給每個(gè)線程都有自己的一套執(zhí)行程序所需的寄存器外還要在每·級(jí)的流水線加上線程跟蹤邏輯,增加共享資源的尺寸,如指令Cache,TLBs等。其線程跟蹤邏輯不僅要跟蹤線程的行程還要檢查和判斷該線程是否已執(zhí)行完成。由于會(huì)有大量的線程處于執(zhí)行或半執(zhí)行狀態(tài),因而CPU的Caches及TLB的尺寸必須足夠大以避免不必要的線程之間的Thrashing。雖然SMT技術(shù)能提高處理器的運(yùn)算能力但由于硬件的復(fù)雜程度大大提高因而很難應(yīng)用于嵌入式處理器及低功耗處理器的設(shè)計(jì)。為了克服SMT多線程控制電路的復(fù)雜性和降低功耗。另一類簡(jiǎn)化的多線程技術(shù),分時(shí)多線程技術(shù),也得到一定應(yīng)用。分時(shí)多線程技術(shù)是指在一定的指令周期內(nèi)只有一個(gè)線程在運(yùn)行。它又可分成分塊多線程(BLOCK MULTI-THREADING)和交錯(cuò)多線程(INTERLEAVEDMULTI-THREADING)。分塊多線程技術(shù)因?yàn)槠鋵?duì)處理器的運(yùn)行效率提高非常有限而通常用于像微控制器(MICR0-C0NTR0LER)等低性能處理器。交錯(cuò)多線程技術(shù)因?yàn)槠淇刂齐娐泛?jiǎn)單但其運(yùn)算能力和效率比單線程處理器有提高明顯而在一要求高性能低功耗的處理器中得到一定的推廣應(yīng)用。其中典型的代表就是令牌觸發(fā)多線程技術(shù)(Token Triggeredthreading)。這種多線程技術(shù)有如下幾個(gè)特點(diǎn)( I)它是一種分時(shí)執(zhí)行的過(guò)程。每一個(gè)線程的執(zhí)行是按自己所授予的時(shí)鐘周期來(lái)執(zhí)行。而每個(gè)時(shí)鐘周期只有一個(gè)線程發(fā)出指令。(2) 一個(gè)線程通過(guò)后會(huì)告訴下個(gè)周期應(yīng)該是哪個(gè)線程該啟動(dòng)。這樣大大的簡(jiǎn)化了線程選擇硬件。(3)硬件保證了每個(gè)線程都有相同的指令執(zhí)行時(shí)間(4)運(yùn)算結(jié)果能保證在指定的周期內(nèi)完成。因此不需要指令執(zhí)行相關(guān)檢查和繞行硬件圖一給出了一個(gè)四線程的令牌觸發(fā)多線程的多線程執(zhí)行時(shí)序圖。令牌觸發(fā)多線程技術(shù)在簡(jiǎn)化多線程的硬件結(jié)構(gòu)降低功耗上效果明顯,但是也因此降低了處理器運(yùn)算單元的使用效率尤其是單個(gè)線程的處理效率下降以致處理器的執(zhí)行能力比SMT要降低很多。下面是目前的Sandblaster2. O的令牌觸發(fā)多線程結(jié)構(gòu)所存在的一些缺陷I.為確保線程之間不會(huì)互相干擾及簡(jiǎn)化硬件結(jié)構(gòu)而采用的分時(shí)順序執(zhí)行的策略的同時(shí)也造成了時(shí)鐘周期的使用效率降低。也降低了單個(gè)線程的處理能力。比如線程T1由于指令Miss而需要從外部讀取時(shí),由于外部存儲(chǔ)器的速度較慢而導(dǎo)致T1不能及時(shí)取得指令而線程Ttl則有指令等待的執(zhí)行.但是由于結(jié)構(gòu)限制了時(shí)鐘周期C1只能被用于T1這時(shí)時(shí)鐘周期C1就被浪費(fèi)了2.為了避免線程之間的Thrashing及簡(jiǎn)化跟蹤電路,Sandblaster2. O設(shè)計(jì)成每個(gè)線程都有自己一個(gè)完全獨(dú)立的指令內(nèi)存。線程之間完全不能分享或 共享其他線程的指令內(nèi)存而極大的浪費(fèi)了內(nèi)存資源。

實(shí)用新型內(nèi)容本實(shí)用新型目的是針對(duì)現(xiàn)有技術(shù)存在的缺陷提供一種機(jī)會(huì)驅(qū)動(dòng)多線程方法及處理器。本實(shí)用新型為實(shí)現(xiàn)上述目的,采用如下技術(shù)方案本實(shí)用新型機(jī)會(huì)多程處理器,包括一個(gè)指令內(nèi)存(I-Cache),一個(gè)指令解碼(I-decoder), 一個(gè)指令流控制器(Branch)和算術(shù)邏輯單元(ALUs),每個(gè)線程都有自己的一套執(zhí)行程序所需的寄存器外還要增加一個(gè)線程指令有效預(yù)測(cè)電路和在每級(jí)的流水線加上線程跟蹤邏輯或線程身份設(shè)別電路;所述機(jī)會(huì)多線程方法為增加一個(gè)線程指令有效預(yù)測(cè)電路和為每級(jí)的流水線增加一組2維的線程身份寄存器。機(jī)會(huì)驅(qū)動(dòng)多線程方法使用第零線程、第一線程、第二線程、第三線程和第零時(shí)鐘周期、第一時(shí)鐘周期、第二時(shí)鐘周期、第三時(shí)鐘周期,機(jī)會(huì)多線程方法包括以下步驟一、如果第零線程、第一線程、第二線程、第三線程都有指令準(zhǔn)備好且等待執(zhí)行時(shí),第零時(shí)鐘周期、第一時(shí)鐘周期、第二時(shí)鐘周期、第三時(shí)鐘周期就被固定的分配給第零線程、第一線程、第二線程、第三線程;二、如果有一個(gè)線程由于指令沒(méi)有準(zhǔn)備好而無(wú)法在指定的時(shí)鐘周期發(fā)出指令,而上一個(gè)線程在上一個(gè)指定的時(shí)鐘周期發(fā)出一定的指令后仍然有指令準(zhǔn)備好且等待執(zhí)行時(shí),上一個(gè)線程就占用指定的時(shí)鐘周期。機(jī)會(huì)多程方法的處理器,包括一個(gè)指令內(nèi)存(I-Cache),一個(gè)指令解碼(I-decoder), 一個(gè)指令流控制器(Branch)和算術(shù)邏輯單元(ALUs),每個(gè)線程都有自己的一套執(zhí)行程序所需的寄存器外還要增加一個(gè)線程指令有效預(yù)測(cè)電路和在每級(jí)的流水線加上線程跟蹤邏輯或線程身份設(shè)別電路;所述機(jī)會(huì)多線程方法為增加一個(gè)線程指令有效預(yù)測(cè)電路和為每級(jí)的流水線增加一組2維的線程身份寄存器。所述指令有效預(yù)測(cè)電路是用于預(yù)測(cè)下個(gè)時(shí)鐘周期設(shè)定的線程是否有指令需求執(zhí)行或指令是否有效(Valid),如果不有效就把該時(shí)鐘周期讓給當(dāng)前線程。所述一組2維的線程身份(ID)寄存器則是用于跟蹤線程指令在每級(jí)流水線的執(zhí)行情況以保證結(jié)果數(shù)據(jù)不會(huì)被搞混亂。[0027]可推廣到η個(gè)線程和相應(yīng)的η個(gè)時(shí)鐘周期數(shù),η為大于I的自然數(shù)。本實(shí)用新型每個(gè)線程的起始執(zhí)行周期不再固定不變;如果某個(gè)線程由于指令miss而在分配給該線程的時(shí)鐘周期內(nèi)沒(méi)有可執(zhí)行的指令而其前一個(gè)線程仍然有指令等待執(zhí)行時(shí),其前一位線程可占用現(xiàn)有線程的時(shí)鐘周期;每個(gè)線程,無(wú)論其是在哪個(gè)時(shí)鐘周期發(fā)出的,其執(zhí)行所需周期數(shù)仍然不變;為避免線程之間的混亂,每個(gè)線程的ID是一個(gè)2維的ID0

圖I :令牌觸發(fā)多線程時(shí)序圖;圖2 :典型的HARVARD結(jié)構(gòu)的處理器;圖3 :機(jī)會(huì)驅(qū)動(dòng)多線程處理器結(jié)構(gòu)·[0032]圖4 :機(jī)會(huì)驅(qū)動(dòng)多線程時(shí)序圖。
具體實(shí)施方式
圖2是一個(gè)典型的Harvard結(jié)構(gòu)的處理器.它有一個(gè)指令內(nèi)存(I-Cache),一個(gè)指令解碼(I-decoder), —個(gè)指令流控制器(Branch),算術(shù)邏輯單元(ALUs)。一個(gè)多線程結(jié)構(gòu)的處理器通常需要給每個(gè)線程都有自己的一套執(zhí)行程序所需的寄存器外還要根據(jù)所用技術(shù)不同而在每級(jí)的流水線加上線程跟蹤邏輯或線程身份設(shè)別電路機(jī)會(huì)多線程處理器結(jié)構(gòu)則是在一個(gè)典型的處理器結(jié)構(gòu)上給每個(gè)線程一套自己的執(zhí)行程序寄存器外還要為每級(jí)的流水線增加一個(gè)線程指令有效預(yù)測(cè)電路和一組2維的線程身份寄存器。其邏輯框圖見(jiàn)圖3。指令有效預(yù)測(cè)電路是用于預(yù)測(cè)下個(gè)時(shí)鐘周期設(shè)定的線程指令是否有效(Valid)。如果不有效就把該時(shí)鐘周期讓給當(dāng)前線程。一組2維的線程身份(ID)寄存器則是用于跟蹤線程指令在每級(jí)流水線的執(zhí)行情況以保證結(jié)果數(shù)據(jù)不會(huì)被搞混亂。機(jī)會(huì)多線程技術(shù)的工作原理如下I.如果所有線程P。,P1, P2, P3都有指令準(zhǔn)備好了(Valid)等待執(zhí)行時(shí),時(shí)鐘周期C。,C1, C2, C3就被固定的分配給線程P。,P1, P2, P3.2.如果有一個(gè)線程,比如T1由于指令沒(méi)有準(zhǔn)備好(miss)而無(wú)法在指定的時(shí)鐘周期發(fā)出指令。但是線程Ttl在時(shí)鐘周期Ctl發(fā)出一定的指令后仍然有指令準(zhǔn)備好了等待執(zhí)行時(shí),Ptl就可占用時(shí)鐘周期C1,為了避免同一個(gè)線程在不同時(shí)鐘周期發(fā)出的指令以避免混亂。機(jī)會(huì)多線技術(shù)將每個(gè)線程的命名采用了 2維命名法。即Ptl在時(shí)鐘周期Ctl時(shí)發(fā)出的指令是Po,。,P。在時(shí)鐘周期C1時(shí)發(fā)出的指令是Pcu,同樣的當(dāng)線程P2沒(méi)有指令在時(shí)鐘周期C2需要執(zhí)行時(shí)而T1有指令準(zhǔn)備好了等待執(zhí)行時(shí),P1可以占用C2時(shí)鐘周期。而相應(yīng)的線程P1在周期C2時(shí)發(fā)出的指令被命名成Pu圖4給出了一個(gè)4線程,4級(jí)流水線的機(jī)會(huì)多線程的操作控制流程。圖中,Ci是時(shí)鐘周期數(shù),Pu是線程身份。
權(quán)利要求1. 一種機(jī)會(huì)多線程處理器,包括一個(gè)指令內(nèi)存Ι-Cache, —個(gè)指令解碼I-decoder,一個(gè)指令流控制器Branch和算術(shù)邏輯單元ALUs,每個(gè)線程都有自己的一套執(zhí)行程序所需的寄存器外還要增加一個(gè)線程指令有效預(yù)測(cè)電路和在每級(jí)的流水線加上線程跟蹤邏輯或線程身份設(shè)別電路;其特征在于所述機(jī)會(huì)多線程處理器增加了一個(gè)線程指令有效預(yù)測(cè)電路和為每級(jí)的流水線增加一組2維的線程身份寄存器。
專利摘要本實(shí)用新型公布了一種機(jī)會(huì)多線程處理器。處理器包括一個(gè)指令內(nèi)存,一個(gè)指令解碼,一個(gè)指令流控制器和算術(shù)邏輯單元,所述機(jī)會(huì)多線程處理器為每級(jí)的流水線增加一個(gè)線程指令有效預(yù)測(cè)電路和一組2維的線程身份寄存器。本實(shí)用新型每個(gè)線程的起始執(zhí)行周期不再固定不變,避免內(nèi)存資源浪費(fèi)。
文檔編號(hào)G06F9/38GK202711237SQ20112045133
公開(kāi)日2013年1月30日 申請(qǐng)日期2011年11月15日 優(yōu)先權(quán)日2011年11月15日
發(fā)明者王生洪 申請(qǐng)人:無(wú)錫德思普科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
德令哈市| 茶陵县| 乌恰县| 扬州市| 衡东县| 泸水县| 綦江县| 南川市| 隆回县| 和林格尔县| 鄂托克前旗| 乐都县| 万盛区| 蕉岭县| 普兰县| 师宗县| 仲巴县| 万宁市| 宜丰县| 永修县| 临安市| 佛教| 视频| 西乡县| 东平县| 兴山县| 司法| 巴彦淖尔市| 永安市| 西畴县| 房山区| 宣恩县| 防城港市| 泾阳县| 济阳县| 昭觉县| 宁强县| 盐边县| 自治县| 陕西省| 登封市|