[發明專利]在多線程處理器中調度任務有效
| 申請號: | 201811228749.6 | 申請日: | 2018-10-22 |
| 公開(公告)號: | CN109697111B | 公開(公告)日: | 2023-05-02 |
| 發明(設計)人: | 西蒙·克里斯蒂安·諾爾斯 | 申請(專利權)人: | 圖核有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/48 |
| 代理公司: | 深圳鷹翅知識產權代理有限公司 44658 | 代理人: | 周婧;黃幸兒 |
| 地址: | 英國布*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 多線程 處理器 調度 任務 | ||
一種處理器,包括:執行單元,用于在時隙的重復序列的每一個中執行相應線程;和多個上下文寄存器組,每個包括用于表示相應線程的狀態的相應寄存器組。上下文寄存器組包括針對執行單元可操作以交錯的多個時隙中的每個時隙的相應工作者上下文寄存器組以及至少一個額外的上下文寄存器組。工作者上下文寄存器組表示工作者線程的相應狀態,而額外的上下文寄存器組表示監督者線程的狀態。處理器被配置為在每個時隙中開始運行監督者線程,并且然后使得所述監督者線程能夠將它正在其中運行的每個時隙各個地放棄給所述工作者線程的相應一個。
技術領域
本公開涉及由多線程處理器中的不同并發線程執行的任務的調度。
背景技術
多線程處理器是能夠彼此同時執行多個程序線程的處理器。處理器可以包括多個不同線程公共的一些硬件(例如,公共指令存儲器、數據存儲器和/或執行單元);但是為了支持多線程,處理器還包括一些特定于每個線程的專用硬件。
專用硬件至少包括針對可以一次執行的多個線程中的每個線程的相應上下文寄存器文件。當談到多線程處理器時,“上下文”(context)指的是彼此同時執行的相應一個線程的程序狀態(例如,程序計數器值、狀態和當前操作數值)。上下文寄存器文件指的是用于表示相應線程的這個程序狀態的相應寄存器集合。寄存器文件中的寄存器(register)與通用存儲器的不同之處在于:寄存器地址被固定為指令字中的位,而存儲器地址可以通過執行指令來被計算出。給定上下文的寄存器通常包括用于相應線程的相應程序計數器,以及用于暫時保存在由相應線程執行的計算期間作用于相應線程并由相應線程輸出的數據的相應操作數寄存器組。每個上下文還可以具有用于存儲相應線程的狀態(例如,它是暫停還是正在運行)的相應狀態寄存器。因此,每個當前運行的線程都具有它自己獨立的程序計數器,以及可選的操作數寄存器和(一個或多個)狀態寄存器。
一種可能的多線程形式是并行性。也就是說,除了多個上下文之外,還提供多個執行流水線:即,用于并行執行的每個指令流的單獨的執行流水線。但是,這需要在硬件方面進行大量重復。
因此,另一種形式的多線程處理器采用并發性而不是并行性,其中線程共享公共執行流水線(或流水線的至少公共部分),并且不同的線程通過這個相同的共享執行流水線而交錯。由于增加了用于隱藏流水線等待時間的機會,與沒有并發性或并行性相比,多線程處理器的性能仍然可以得到改善。此外,這種方法不需要專用于每個線程的的額外硬件作為具有多個執行流水線的完全并行處理器,因此不會產生如此多的額外芯片。
多線程處理器還需要用于協調不同并發線程的執行的一些裝置。例如,它需要確定將哪些計算任務分配給哪些線程。作為另一示例,并發線程中的一個或多個第一線程可以包含依賴于并發線程中的一個或多個其他線程的計算結果的計算。在這種情況下,需要執行屏障同步以將所討論的線程帶到公共執行點,使得一個或多個第一線程在一個或多個其他線程執行它們所依賴的計算之前不嘗試執行這些依賴計算。相反,屏障同步要求(一個或多個)其他線程在(一個或多個)第一線程可以繼續之前到達指定的點。
發明內容
可以在專用硬件中實現協調并發線程的執行的一個或多個這樣的功能。然而,這增加了處理器的硅足跡并且不像程序化軟件方法那樣靈活。另一方面,完全編程的軟件方法在代碼密度方面效率不高。期望找到一種在這兩種方法之間取得了平衡的更精細方法來協調線程。
根據本文公開的一個方面,提供了一種處理器,包括:
執行單元,所述執行單元用于在不同時隙的重復序列的每一個中執行相應線程,所述序列由多個時隙組成,其中執行邏輯可操作以交錯所述相應線程的執行;和
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于圖核有限公司,未經圖核有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811228749.6/2.html,轉載請聲明來源鉆瓜專利網。





