[發明專利]用于向量運算的數據讀取、寫入及讀寫調度器及保留站有效
| 申請號: | 201810455211.2 | 申請日: | 2016-01-20 |
| 公開(公告)號: | CN108595371B | 公開(公告)日: | 2019-11-19 |
| 發明(設計)人: | 韓棟;劉少禮;陳云霽;陳天石 | 申請(專利權)人: | 北京中科寒武紀科技有限公司 |
| 主分類號: | G06F15/78 | 分類號: | G06F15/78 |
| 代理公司: | 11606 北京華進京聯知識產權代理有限公司 | 代理人: | 王程<國際申請>=<國際公布>=<進入國 |
| 地址: | 100190 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 調度器 數據讀取 向量運算 寫入 預處理模塊 數據讀寫 指令 沖突 讀取控制模塊 向量運算部件 寫入控制模塊 調度 讀取指令 寫入指令 暫停指令 重新執行 寫沖突 保留 讀寫 探測 時機 申請 保證 | ||
1.一種用于向量運算的數據讀取調度器,其特征在于,包括:
讀取指令預處理模塊(320),包括讀取指令預處理單元,所述讀取指令預處理單元用于接收向量讀取指令,檢測所述向量讀取指令與數據寫入調度器中存放的向量寫入指令之間是否存在寫后讀沖突,如果存在寫后讀沖突,則將與所述向量讀取指令存在寫后讀沖突的向量寫入指令作為所述向量讀取指令依賴的向量寫入指令;以及
讀取控制模塊(360),包括讀取控制單元,所述讀取控制單元用于根據接收到的所述向量讀取指令解析出一個或多個單個讀取請求,并根據所述向量讀取指令依賴的向量寫入指令的狀態決定是否滿足執行所述讀取請求的時機;在滿足執行所述單個讀取請求的時機時,向片上RAM(200)發送所述單個讀取請求,從所述片上RAM(200)接收輸入數據;
所述讀取控制單元用于根據所述向量讀取指令依賴的向量寫入指令的狀態決定是否滿足執行所述讀取請求的時機時,所述讀取控制單元具體用于:
判斷所述向量讀取指令依賴的向量寫入指令的狀態為“執行結束”還是“執行中”;若所述向量讀取指令依賴的向量寫入指令的狀態為“執行中”,則繼續判斷所述向量讀取指令依賴的向量寫入指令的當前寫入地址是否已經超過當前單次讀取請求的地址,或者繼續判斷所述向量讀取指令依賴的向量寫入指令的結束地址是否已被當前單次讀取請求的地址超越;
判斷當前所述讀取控制單元的數據隊列是否未滿;
判斷當前所述片上RAM(200)是否可接收單次讀取請求;
若所述向量讀取指令依賴的向量寫入指令的狀態為“執行結束”,且當前讀取控制單元的數據隊列未滿,且當前所述片上RAM可接收單次讀取請求,則判定滿足執行所述讀取請求的時機;
若所述向量讀取指令依賴的向量寫入指令的狀態為“執行中”,且所述向量讀取指令依賴的向量寫入指令的當前寫入地址已經超過當前單次讀取請求的地址,且當前讀取控制單元的數據隊列未滿,且當前所述片上RAM可接收單次讀取請求,則判定滿足執行所述讀取請求的時機;
若所述向量讀取指令依賴的向量寫入指令的狀態為“執行中”,且所述向量讀取指令依賴的向量寫入指令的結束地址已被所述當前單次讀取請求的地址超越,且當前讀取控制單元的數據隊列未滿,且當前所述片上RAM可接收單次讀取請求,則判定滿足執行所述讀取請求的時機。
2.根據權利要求1所述的數據讀取調度器,其特征在于,當所述讀取指令預處理單元用于檢測所述向量讀取指令與寫入指令緩存單元(350)中的向量寫入指令之間是否存在寫后讀沖突時,所述讀取指令預處理單元具體用于:
獲取所述向量讀取指令涉及數據的起始地址和結束地址,獲取所述數據寫入調度器中各個向量寫入指令涉及數據起始地址和結束地址;
分別將所述向量讀取指令涉及數據的起始地址、結束地址和所述數據寫入調度器存放的各個所述向量寫入指令涉及數據的起始、結束地址進行比較;
若所述向量讀取指令涉及數據的地址范圍與一個以上的所述向量寫入指令涉及數據的地址范圍存在交集,則判定所述向量讀取指令和所述向量寫入指令存在寫后讀沖突。
3.根據權利要求2所述的數據讀取調度器,其特征在于,當所述讀取指令預處理單元用于將存在寫后讀沖突的向量寫入指令作為該向量讀取指令依賴的向量寫入指令時,所述讀取指令預處理單元具體用于:
從與所述向量讀取指令存在交集的一個以上的所述向量寫入指令中,選擇出一條與所述向量讀取指令最近鄰的向量寫入指令,將所述最近鄰的向量寫入指令作為所述向量讀取指令依賴的向量寫入指令,并獲取所述向量讀取指令依賴的向量寫入指令的ID;
將所述向量讀取指令、所述向量讀取指令涉及數據的起始地址和結束地址、以及所述向量讀取指令依賴的向量寫入指令的ID對應緩存。
4.根據權利要求1所述的數據讀取調度器,其特征在于,所述讀取指令預處理單元的數量為多個,以并行地對多個所述向量讀取指令進行預處理;
所述讀取控制單元的數量也為多個,以并行地執行多個所述向量讀取指令的讀取請求。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京中科寒武紀科技有限公司,未經北京中科寒武紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810455211.2/1.html,轉載請聲明來源鉆瓜專利網。





