亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于執(zhí)行分組成塊的多線程指令的方法

文檔序號:9457657閱讀:356來源:國知局
用于執(zhí)行分組成塊的多線程指令的方法
【專利說明】用于執(zhí)行分組成塊的多線程指令的方法
[0001]本申請要求與在2013年3月15日提交的、穆罕默德A.阿卜杜拉(MohammadA.Abdallah)的題為“用于執(zhí)行分組成塊的多線程指令的方法”的、序列號為61/800,123的共同轉(zhuǎn)讓的共同未決的美國臨時專利申請的權(quán)益,其全部內(nèi)容通過引用并入本文。
[0002]相關(guān)串請的交叉引用
[0003]本申請與在2007年4月12日提交的、穆罕默德A.阿卜杜拉的題為“用于處理指定并行獨立操作的指令矩陣的裝置和方法”的、序列號為2009/0113170的共同轉(zhuǎn)讓的共同未決的美國專利申請相關(guān),其全部內(nèi)容通過引用并入本文。
[0004]本申請與在2007年11月14日提交的、穆罕默德A.阿卜杜拉的題為“用于處理支持各種上下文切換模式和虛擬化方案的多線程體系架構(gòu)中的復(fù)雜指令格式的裝置和方法”的、序列號為2010/0161948的共同轉(zhuǎn)讓共同未決的美國專利申請相關(guān),其全部內(nèi)容通過引用并入本文。
技術(shù)領(lǐng)域
[0005]本發(fā)明一般地涉及數(shù)字計算機系統(tǒng),更具體地,涉及用于選擇包括指令序列的指令的系統(tǒng)和方法。
【背景技術(shù)】
[0006]需要處理器來處理相依賴的或完全獨立的多個任務(wù)。這類處理器的內(nèi)部狀態(tài)通常包含可保存程序執(zhí)行的每個特定瞬間的不同值的寄存器。在程序執(zhí)行的每個瞬間,內(nèi)部狀態(tài)圖像被稱為處理器的體系架構(gòu)狀態(tài)。
[0007]當(dāng)切換代碼執(zhí)行以運行另一函數(shù)(例如,另一線程、過程或程序)時,需要保存機器/處理器的狀態(tài),這樣新的函數(shù)可利用內(nèi)部寄存器來建立其新的狀態(tài)。一旦新功能結(jié)束,則可丟棄其狀態(tài),并且將恢復(fù)先前內(nèi)容的狀態(tài)且執(zhí)行繼續(xù)。這樣的切換過程被稱為上下文切換(context switch),并且通常包括數(shù)十個或數(shù)百個循環(huán),特別是采用大量寄存器(例如64,128,256)和/或亂序執(zhí)行的現(xiàn)代體系架構(gòu)。
[0008]在線程感知的硬件體系架構(gòu)中,硬件支持多上下文狀態(tài)用于有限數(shù)目的硬件支持的線程是正常的。在這種情況下,硬件復(fù)制所有體系架構(gòu)狀態(tài)元素用于每個所支持的線程。這消除了當(dāng)執(zhí)行新線程時對上下文切換的需求。然而,這仍存在多個缺點,也就是針對硬件中所支持的每個附加線程復(fù)制所有體系架構(gòu)狀態(tài)元素(即寄存器)的區(qū)域、電力和復(fù)雜度。此外,如果軟件線程的數(shù)目超過所明確支持的硬件線程的數(shù)目,則仍然必須實施上下文切換。
[0009]這將由于在要求大量線程的細粒度基礎(chǔ)上對并行機制的需要而變得普遍。采用復(fù)制的上下文狀態(tài)硬件存儲的硬件線程感知體系架構(gòu)對非線程軟件代碼沒有幫助,且只能針對線程化的軟件減少上下文切換的數(shù)目。然而,那些線程通常被構(gòu)建用于粗粒并行機制,并導(dǎo)致繁重的軟件開銷用于初始化和同步化,留下細粒并行機制(諸如函數(shù)調(diào)用和循環(huán)并行執(zhí)行)沒有高效的線程初始化/自動生成。針對非明確地/容易地并行化/線程軟件代碼使用現(xiàn)有技術(shù)中的編譯器或用戶并行化技術(shù),這類所描述的開銷伴隨這類代碼的自動并行化的困難。

【發(fā)明內(nèi)容】

[0010]在一個實施例中,本發(fā)明實現(xiàn)為用于執(zhí)行分組成塊的多線程指令的方法。該方法包括使用全局前端接收進入的指令序列;將指令分組以形成指令塊,其中所述指令塊的指令與多個線程交錯;調(diào)度所述指令塊的指令以依照所述多個線程執(zhí)行;以及跟蹤對所述多個線程的執(zhí)行以強制執(zhí)行管線中的公正性。
[0011]前述是概要并且因此不可避免地包含簡單化、一般化和細節(jié)的省略;因此,本領(lǐng)域技術(shù)人員將理解概要僅是示例性的,并且非意在以任何方式加以限制。本發(fā)明的其他方面、創(chuàng)造性特征和優(yōu)勢,如權(quán)利要求所唯一定義的,將在下文闡述的非限制的詳細描述中變得顯而易見。
【附圖說明】
[0012]以示例而非限制的方式將本發(fā)明示出在附圖的圖中,在附圖中,類似的參考標記指代相似的元件。
[0013]圖1示出用于通過使用寄存器模板將指令分組到塊中并跟蹤指令之間的依賴關(guān)系的概略圖。
[0014]圖2示出根據(jù)本發(fā)明一個實施例的寄存器圖、源圖以及指令圖的概略圖。
[0015]圖3示出根據(jù)本發(fā)明一個實施例的、闡明示例性寄存器模板以及來自寄存器模板的信息如何填充源圖的示意圖。
[0016]圖4示出闡明用于源圖內(nèi)的依賴關(guān)系廣播的第一實施例的示意圖。在該實施例中,每列包括一個指令塊。
[0017]圖5示出闡明用于源圖內(nèi)的依賴關(guān)系廣播的第二實施例的示意圖。
[0018]圖6示出根據(jù)本發(fā)明一個實施例的、闡明針對從提交指針(commit pointer)開始分派以及廣播相應(yīng)的端口指派選擇就緒塊的示意圖。
[0019]圖7示出根據(jù)本發(fā)明一個實施例的、實現(xiàn)圖6中所描述的選擇器陣列所使用的加法器樹結(jié)構(gòu)。
[0020]圖8更詳細地示出選擇器陣列加法器樹的示例性邏輯。
[0021]圖9示出根據(jù)本發(fā)明一個實施例的、用于實現(xiàn)選擇器陣列的加法器樹的并行實現(xiàn)方案。
[0022]圖10示出根據(jù)本發(fā)明一個實施例的、闡明通過使用進位保留加法器可如何實現(xiàn)來自圖9的加法器X的示例性示意圖。
[0023]圖11示出根據(jù)本發(fā)明的用于針對從提交指針開始調(diào)度和使用選擇器陣列加法器掩蔽就緒位的掩蔽實施例。
[0024]圖12示出根據(jù)本發(fā)明一個實施例的、寄存器模板如何填充寄存器圖條目的概略圖。
[0025]圖13示出根據(jù)本發(fā)明一個實施例的、用于減少的寄存器圖印記(footprint)的第一實施例。
[0026]圖14示出根據(jù)本發(fā)明一個實施例的、用于減少的寄存器印記的第二實施例。
[0027]圖15示出根據(jù)本發(fā)明一個實施例的、快照之間的德爾塔(delta)的示例性格式。
[0028]圖16示出根據(jù)本發(fā)明一個實施例的、用于根據(jù)指令的塊的分配創(chuàng)建寄存器模板快照的過程的示意圖。
[0029]圖17示出根據(jù)本發(fā)明一個實施例的、用于根據(jù)指令的塊的分配創(chuàng)建寄存器模板快照的過程的另一示意圖。
[0030]圖18示出根據(jù)本發(fā)明一個實施例的、用于實現(xiàn)從先前寄存器模板創(chuàng)建后續(xù)寄存器模板的串行實現(xiàn)方案的硬件的概略圖。
[0031]圖19示出根據(jù)本發(fā)明一個實施例的、用于實現(xiàn)從先前寄存器模板創(chuàng)建后續(xù)寄存器模板的并行實現(xiàn)方案的硬件的概略圖。
[0032]圖20示出根據(jù)本發(fā)明一個實施例的、用于指令基于塊的執(zhí)行的硬件以及其如何與源圖、指令圖、寄存器模板以及寄存器圖工作的概略圖。
[0033]圖21示出根據(jù)本發(fā)明一個實施例的組塊體系架構(gòu)的示例。
[0034]圖22示出根據(jù)本發(fā)明一個實施例的、如何根據(jù)線程的塊編號和線程ID對線程進行分配的描述。
[0035]圖23示出根據(jù)本發(fā)明一個實施例的、使用指向物理存儲位置的線程指針映射以管理多線程執(zhí)行的調(diào)度器的實現(xiàn)方案。
[0036]圖24示出根據(jù)本發(fā)明一個實施例的、使用基于線程的指針映射的調(diào)度器的另一實現(xiàn)方案。
[0037]圖25示出根據(jù)本發(fā)明一個實施例的、對線程的執(zhí)行資源的動態(tài)的基于日歷的分配的示意圖。
[0038]圖26示出根據(jù)本發(fā)明一個實施例的雙分派過程。
[0039]圖27示出根據(jù)本發(fā)明一個實施例的雙分派暫時乘累加器。
[0040]圖28示出根據(jù)本發(fā)明一個實施例的雙分派體系架構(gòu)可視狀態(tài)乘加器。
[0041]圖29示出根據(jù)本發(fā)明一個實施例的用于在經(jīng)分組的執(zhí)行單元過程上執(zhí)行的指令塊的取回和形成的概略圖。
[0042]圖30示出根據(jù)本發(fā)明一個實施例的指令分組的示例性示意圖。在圖30的實施例中示出第三輔助操作的兩個指令。
[0043]圖31示出根據(jù)本發(fā)明一個實施例的、塊堆棧內(nèi)的半塊對如何映射到執(zhí)行塊單元。
[0044]圖32示出根據(jù)本發(fā)明一個實施例的、描繪中間塊結(jié)果存儲作為第一級別寄存器文件的示意圖。
[0045]圖33示出根據(jù)本發(fā)明一個實施例的奇數(shù)/偶數(shù)端口調(diào)度器。
[0046]圖34示出圖33的更詳細版本,其中示出四個執(zhí)行單元從調(diào)度器陣列接收結(jié)果并將輸出寫入到臨時寄存器文件段。
[0047]圖35示出根據(jù)本發(fā)明一個實施例的描繪訪客標志(guestflag)體系架構(gòu)仿真的示意圖。
[0048]圖36示出根據(jù)本發(fā)明一個實施例的、闡明機器的前端、調(diào)度器、執(zhí)行單元和中央標志寄存器的不意圖。
[0049]圖37示出如本發(fā)明的實施例所實現(xiàn)的中央標志寄存器仿真過程的示意圖。
[0050]圖38示出仿真帳戶設(shè)置中的中央標志寄存器行為的過程3800的步驟的流程圖。
【具體實施方式】
[0051]雖然結(jié)合一個實施例描述本發(fā)明,但是并非意在將本發(fā)明限制在本文中所闡述的具體形式。相反,意在覆蓋如可合理地包括在如附隨的權(quán)利要求所限定的本發(fā)明的范圍內(nèi)的這類替代物、修改和等同物。
[0052]在下面的詳細描述中闡述大量的具體細節(jié),諸如具體的方法順序、結(jié)構(gòu)、元件和連接。然而,將理解,不必利用這些和其他具體細節(jié)來實踐本發(fā)明的實施例。在其他情況下,省略或者不詳細描述已知的結(jié)構(gòu)、元件或連接,以避免對本描述產(chǎn)生不必要的遮蔽。
[0053]說明書內(nèi)對“一個實施例”或“實施例”的引用意在指示結(jié)合實施例所描述的特定的特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實施例中。出現(xiàn)在
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1