[發明專利]線程調度方法、配置方法、微處理器、裝置及存儲介質有效
| 申請號: | 202011492666.5 | 申請日: | 2020-12-16 |
| 公開(公告)號: | CN112612585B | 公開(公告)日: | 2022-07-29 |
| 發明(設計)人: | 胡世文;薛大慶 | 申請(專利權)人: | 海光信息技術股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/38 |
| 代理公司: | 上海知錦知識產權代理事務所(特殊普通合伙) 31327 | 代理人: | 高彥 |
| 地址: | 300384 天津市濱海新區天津華苑*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 線程 調度 方法 配置 微處理器 裝置 存儲 介質 | ||
本申請提供線程調度方法、配置方法、微處理器、裝置及存儲介質,應用于支持流水線技術及并發多線程的微處理器;線程調度方法包括:在線程調度節點到來時,基于調度節點所預先配置的線程調度算法得到目標線程;其中,所述線程調度算法與所述線程調度節點的類型關聯;對所述目標線程進行調度。本申請方案可實現優化混合模式SMT下的運行效率,彌補目前混合模式SMT中優化的線程調度策略的缺失。
技術領域
本申請實施例涉及集成電路技術領域,尤其涉及線程調度方法、配置方法、微處理器、裝置及存儲介質。
背景技術
并發多線程(Simulate MultiThreading,SMT)技術是一個提高中央處理器(CPU)整體性能的重要技術。它利用高性能的物理CPU核的多發射、亂序執行等機制,來同時執行多個線程的指令。一個物理CPU核呈現給軟件、操作系統可以是多個虛擬的CPU核。
相比于單線程,SMT技術能改善高性能CPU的資源利用效率。具體舉例來說,現代多發射的高性能CPU核在執行單線程時,它內部的多個硬件執行單元及硬件資源(如存儲資源,寄存器等)在絕大部分時間無法被充分利用。例如,當某個線程由于某些原因,比如二級緩存(L2 Cache)缺失(Miss)時運行停頓時,硬件執行單元只能空轉,這些都造成硬件資源的浪費、降低性能功耗比。然而,在SMT模式下,當一個線程運行停頓時,其他線程仍然能夠運行,這提高了硬件資源的利用率,從而提高了CPU核的多線程吞吐量、整體性能及性能功耗比。
現代CPU核工作中采用流水線(Pipeline)形式,流水線一般有多個流水階段,比如分支預測階段(Branch prediction)、指令提取階段(Fetch Instruction)、指令解碼階段(Instruction Decode)、指令分發階段(Instruction Dispatch)、指令執行階段(Instruction Execute)、及指令退役階段(Instruction Retire)等。在這些流水階段,可能需要從多個線程中選擇一個來傳遞其指令到后一個流水階段,此被稱為“線程調度”。線程調度的選擇對SMT整體性能、功耗、線程之間的公平性有重要影響。
SMT內部硬件資源分配有不同的方式。常用的方式例如有:全靜態分割(AllStatically Partitioned),即所有硬件資源根據SMT所支持活躍線程數量等分;全動態共享,即所有硬件資源由所有線程動態共享;混合模式,即部分硬件資源由所有線程動態共享,而另外部分資源靜態分割等。
最常用的SMT的線程調度算法是輪詢調度(Round Robin)算法,即在某個線程調度節點,每時鐘選擇一個不同的線程。這種方法在多種資源配置模式下都可以使用。但是由于并未考慮多個線程執行狀況及其資源使用情況,它往往不是最優的方法,無法全面提高系統性能。
對混合模式SMT,目前尚無有針對性的、優化的線程調度算法被提出。輪詢調度算法可用,但不是最優,而且活躍線程個數越多,其性能、公平性越差。由于靜態分割資源的存在,混合模式SMT內部流水級被分割為相對獨立的多塊,因此針對全動態共享模式的調度算法也不適用于混合模式SMT。
因此,如何找到一種針對混合模式SMT的優化的線程調度算法,以填補此方面的缺失,已成為業界亟待解決的技術問題。
發明內容
有鑒于此,本申請實施例中提供線程調度方法、配置方法、微處理器、裝置及存儲介質,解決現有技術中的問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于海光信息技術股份有限公司,未經海光信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011492666.5/2.html,轉載請聲明來源鉆瓜專利網。





