[發明專利]一種基于ASIC的多線程模塊及多線程控制方法在審
| 申請號: | 202111203876.2 | 申請日: | 2021-10-15 |
| 公開(公告)號: | CN113946445A | 公開(公告)日: | 2022-01-18 |
| 發明(設計)人: | 陳偉;王嫣超;任昂;應屹航;陳樹;王理想;胡俊 | 申請(專利權)人: | 杭州國芯科技股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 杭州君度專利代理事務所(特殊普通合伙) 33240 | 代理人: | 陳煒 |
| 地址: | 310012 浙江省杭州市文*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 asic 多線程 模塊 控制 方法 | ||
本發明公開了一種基于ASIC的多線程模塊及多線程控制方法。現有方法無法做到兼顧效率和靈活性。本發明的多線程模塊包括模塊功能內核、多線程接口組、多線程優先級仲裁模塊。模塊功能內核用于讀取、解析并執行經仲裁勝出的線程的指令,包括總線讀寫模塊、指令解析模塊、寄存器配置模塊、功能執行模塊。多線程接口組包括多個線程接口,每個線程接口都有獨立的線程寄存器、線程指令、線程中斷,每個線程寄存器包括線程掛起寄存器、線程復位寄存器、線程顆粒度寄存器、線程優先級寄存器、線程上下文寄存器、指令提交寄存器。多線程優先級仲裁模塊用于多個線程之間的優先級仲裁。本發明實現了節省資源開銷、提高線程調度效率和優化軟硬件交互。
技術領域
本發明屬于專用集成電路技術領域,具體涉及一種基于ASIC的多線程模塊及多線程控制方法。
背景技術
ASIC(專用集成電路)設計中,多線程可以分為多核多線程和單核多線程。多核多線程可以認為是簡單的模塊堆疊,優點是硬件模塊設計不需要考慮多線程相關,性能高,缺點是資源較為浪費。單核多線程只有一個硬件模塊,通過全軟件、軟硬件結合或全硬件實現多線程機制。現今的多數多線程是通過軟件層面實現的,軟件的使用和管理的缺點包括優先級切換操作處理時間長、軟硬件交互性能不足、離線編譯指令的完整性難以保證。特別是對于一些具有或部分具有內存到內存、多master調用、批處理、高復用等特點的模塊,這些問題尤為突出。例如,在沒有多線程接口的模塊,軟件每次將指令寫到DDR緩存后都需要進行主動刷CACHE操作,然后再提交給硬件模塊,或者軟件檢測到硬件完成中斷后才將指令提交給硬件,這樣串行的軟硬件交互方式會讓硬件在很多時候處于空閑狀態,降低了硬件模塊的執行效率。一種解決方法是使用循環指令緩存,但是對軟件使用要求較高,提交指令的時候為了避免中斷誤判問題(最后一次指令提交后等完成中斷,但是等到的中斷可能是上次提交指令的完成中斷),需要通過關中斷以及軟硬件握手來保證不會出錯。一般來說,全軟件效率較低,全硬件靈活性不足,這兩種方法無法做到兼顧效率和靈活性。
發明內容
本發明的一個目的是提供一種基于ASIC的多線程模塊。
本發明提出的基于ASIC的多線程模塊存在于硬件模塊,多線程模塊包括模塊功能內核、多線程接口組、多線程優先級仲裁模塊。其中:
模塊功能內核是一個單核功能模塊,用于讀取、解析并執行經仲裁勝出的線程的指令,包括總線讀寫模塊、指令解析模塊、寄存器配置模塊、功能執行模塊。
多線程接口組包括多個線程接口,每個線程接口都有獨立的線程寄存器、線程指令、線程中斷,用于為多個主控提供能夠同時調用一個模塊功能內核的訪問接口,主控為中央處理器或硬件模塊。每個線程都有各自不同的AXI總線讀寫標識符,單一硬件模塊通過多個線程接口實現同時訪問高級安全區域和非高級安全區域。
每個線程接口的線程寄存器包括通過軟件配置的線程掛起寄存器、線程復位寄存器、線程顆粒度寄存器、線程優先級寄存器、線程上下文寄存器、指令提交寄存器。其中,線程掛起寄存器用于主動將對應的線程掛起;線程復位寄存器用于復位對應的線程上下文寄存器,以及復位多線程優先級仲裁模塊的中間變量寄存器;線程顆粒度寄存器用于配置對應的線程的最小執行指令顆粒度,模塊功能內核在執行完該線程的最小顆粒度指令之前,不會掛起該線程或者切換到下一個線程;線程優先級寄存器用于配置對應的線程的優先級;線程上下文寄存器用于寄存指令之間傳遞的上下文參數;指令提交寄存器用于描述每次提交指令的起始地址和提交指令長度。
線程指令包括線程鎖指令、空指令,均由軟件或編譯器在線程指令中設置。線程鎖指令用于將需要連續執行的指令所在的線程加鎖,模塊功能內核解析到線程鎖指令后,內部的線程優先級仲裁會一直選擇被加鎖線程中的指令來讓硬件內核執行,直到線程鎖解鎖后,才會恢復根據線程的優先級進行仲裁。空指令用于將硬件無法實現的功能交由內核軟件實現,模塊功能內核解析到空指令后,直接掛起,并發出空指令中斷。
多線程優先級仲裁模塊,用于多個線程之間的優先級仲裁,模塊功能內核執行仲裁勝出的線程的指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州國芯科技股份有限公司,未經杭州國芯科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111203876.2/2.html,轉載請聲明來源鉆瓜專利網。





