[發明專利]一種基于ASIC的多線程模塊及多線程控制方法在審
| 申請號: | 202111203876.2 | 申請日: | 2021-10-15 |
| 公開(公告)號: | CN113946445A | 公開(公告)日: | 2022-01-18 |
| 發明(設計)人: | 陳偉;王嫣超;任昂;應屹航;陳樹;王理想;胡俊 | 申請(專利權)人: | 杭州國芯科技股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 杭州君度專利代理事務所(特殊普通合伙) 33240 | 代理人: | 陳煒 |
| 地址: | 310012 浙江省杭州市文*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 asic 多線程 模塊 控制 方法 | ||
1.一種基于ASIC的多線程模塊,存在于硬件模塊,其特征在于:所述的多線程模塊包括模塊功能內核、多線程接口組、多線程優先級仲裁模塊;其中:
所述的模塊功能內核是一個單核功能模塊,用于讀取、解析并執行經仲裁勝出的線程的指令,包括總線讀寫模塊、指令解析模塊、寄存器配置模塊、功能執行模塊;
所述的多線程接口組包括多個線程接口,每個線程接口都有獨立的線程寄存器、線程指令、線程中斷,用于為多個主控提供能夠同時調用一個模塊功能內核的訪問接口,主控為中央處理器或硬件模塊;每個線程都有各自不同的AXI總線讀寫標識符,單一硬件模塊通過多個線程接口實現同時訪問;
每個線程接口的線程寄存器包括通過軟件配置的線程掛起寄存器、線程復位寄存器、線程顆粒度寄存器、線程優先級寄存器、線程上下文寄存器、指令提交寄存器;其中,線程掛起寄存器用于主動將對應的線程掛起;線程復位寄存器用于復位對應的線程上下文寄存器,以及復位多線程優先級仲裁模塊的中間變量寄存器;線程顆粒度寄存器用于配置對應的線程的最小執行指令顆粒度,模塊功能內核在執行完該線程的最小顆粒度指令之前,不會掛起該線程或者切換到下一個線程;線程優先級寄存器用于配置對應的線程的優先級;線程上下文寄存器用于寄存指令之間傳遞的上下文參數;指令提交寄存器用于描述每次提交指令的起始地址和提交指令長度;
所述的多線程優先級仲裁模塊,用于多個線程之間的優先級仲裁,模塊功能內核執行仲裁勝出的線程的指令。
2.如權利要求1所述的一種基于ASIC的多線程模塊,其特征在于:所述的線程指令包括線程鎖指令,線程鎖指令由軟件或編譯器在線程指令中設置,用于將需要連續執行的指令所在的線程加鎖,模塊功能內核解析到線程鎖指令后,內部的線程優先級仲裁一直選擇被加鎖線程中的指令來讓硬件內核執行,直到線程鎖解鎖后,才會恢復根據線程的優先級進行仲裁。
3.如權利要求1所述的一種基于ASIC的多線程模塊,其特征在于:所述的線程指令包括空指令,空指令由軟件或編譯器在線程指令中設置,用于將硬件無法實現的功能交由內核軟件實現,模塊功能內核解析到空指令后,直接掛起,并發出空指令中斷。
4.基于ASIC的多線程模塊的多線程控制方法,其特征在于:由軟硬件結合方式實現;軟件通過線程寄存器和線程指令配置線程的啟動、掛起和配置優先級;硬件進行線程間優先級仲裁,并決定線程掛起或切換時間點,保證指令前后的完整性,硬件執行完線程任務或識別到特定指令后上報中斷告知軟件;具體流程如下:
步驟(1)軟件為硬件模塊的模塊功能內核的寄存器配置模塊配置多組線程寄存器,以及為硬件功能執行模塊配置控制寄存器;每組線程控制寄存器包括線程掛起寄存器、線程復位寄存器、線程顆粒度寄存器、線程優先級寄存器、線程上下文寄存器、指令提交寄存器;
步驟(2)檢測硬件模塊是否啟動,如果啟動,模塊功能內核執行多線程優先級仲裁模塊仲裁勝出的線程的指令,否則進入等待狀態;
步驟(3)每個線程都各自有一份指令提交給指令提交寄存器,用于描述每次提交指令的起始地址和提交指令長度等,起始地址為指令在DDR內存中的位置;勝出的線程根據指令提交寄存器內的信息通過總線讀寫模塊讀取DDR內存中的指令;
步驟(4)線程通過指令解析模塊進行指令解析;
步驟(5)指令解析完成后,功能執行模塊執行該指令。
5.如權利要求4所述的基于ASIC的多線程模塊的多線程控制方法,其特征在于,多線程優先級仲裁模塊的優先級仲裁具體是:
步驟(1)多線程優先級仲裁模塊開啟后,首先進行線程優先級查詢,硬件模塊獲取每個線程的優先級并進行比較,得到最高優先級線程;
步驟(2)判斷最高優先級線程是否有待執行任務:如果有,功能執行模塊獲得的優先級權限,進入最高優先級線程執行任務指令;如果沒有,則返回步驟(1),再次查詢線程優先級;
步驟(3)最高優先級線程進入工作,執行一個顆粒度大小的指令;
步驟(4)每執行完一個線程顆粒度大小的指令后返回步驟(1),再次查詢線程優先級:如果查詢到的最高優先級線程不是當前執行的優先級線程,或者查詢到的存在當前執行的線程優先級相同的線程,則進行線程切換。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州國芯科技股份有限公司,未經杭州國芯科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111203876.2/1.html,轉載請聲明來源鉆瓜專利網。





