[發(fā)明專利]一種向量聚合裝載指令的實(shí)現(xiàn)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201911113890.6 | 申請(qǐng)日: | 2019-11-14 |
| 公開(公告)號(hào): | CN110908716B | 公開(公告)日: | 2022-02-08 |
| 發(fā)明(設(shè)計(jì))人: | 鄭重;王永文;孫彩霞;王俊輝;隋兵才;倪曉強(qiáng);雷國(guó)慶;黃立波;郭維;郭輝 | 申請(qǐng)(專利權(quán))人: | 中國(guó)人民解放軍國(guó)防科技大學(xué) |
| 主分類號(hào): | G06F9/30 | 分類號(hào): | G06F9/30;G06F9/38 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 譚武藝 |
| 地址: | 410073 湖南*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 向量 聚合 裝載 指令 實(shí)現(xiàn) 方法 | ||
本發(fā)明涉及微處理器設(shè)計(jì)技術(shù)領(lǐng)域,具體涉及一種向量聚合裝載指令的實(shí)現(xiàn)方法,步驟包括:將向量聚合裝載指令拆分為多個(gè)單元素的普通裝載微操作;將拆分后微操作及相應(yīng)的元素序號(hào)發(fā)往指令隊(duì)列中;操作數(shù)準(zhǔn)備好后,將單元素裝載微操作發(fā)往存儲(chǔ)流水線獲取數(shù)據(jù);將獲取到的數(shù)據(jù)寫入相應(yīng)的數(shù)據(jù)緩存項(xiàng)的對(duì)應(yīng)元素中;數(shù)據(jù)緩存項(xiàng)所有元素?cái)?shù)據(jù)寫入后,將結(jié)果數(shù)據(jù)從數(shù)據(jù)緩存寫到結(jié)果總線上,向量聚合裝載指令執(zhí)行完畢。本發(fā)明能夠有效提高向量聚合裝載指令執(zhí)行的性能,同時(shí)能最大限度利用普通裝載指令的通路,適用于高性能亂序超標(biāo)量微處理器,具有實(shí)現(xiàn)簡(jiǎn)單、性能高的優(yōu)點(diǎn)。
技術(shù)領(lǐng)域
本發(fā)明涉及微處理器設(shè)計(jì)技術(shù)領(lǐng)域,具體涉及一種向量聚合裝載指令的實(shí)現(xiàn)方法。
背景技術(shù)
為了適應(yīng)應(yīng)用程序的發(fā)展,提高程序執(zhí)行效率,在主流指令集中都增加了多種向量擴(kuò)展。充分利用向量操作的并行性可以提高系統(tǒng)性能。在向量擴(kuò)展中,有一類向量聚合裝載指令(Gather Load,記為GLoad),和普通裝載指令有很大區(qū)別。如圖1中的 (a)所示,普通裝載指令將存儲(chǔ)空間中的一段連續(xù)地址的數(shù)據(jù)裝載到寄存器中。而對(duì)于向量聚合裝載指令,如圖1中的 (b)所示,向量的每個(gè)元素地址不同,該指令需要從存儲(chǔ)的多個(gè)不相關(guān)的區(qū)域分別取出一個(gè)元素,并裝載到寄存器對(duì)應(yīng)的元素區(qū)域。
普通裝載指令通常訪問一個(gè)存儲(chǔ)地址的連續(xù)區(qū)域,通常只需要一個(gè)訪存操作就能完成。而向量聚合裝載指令同時(shí)需要訪問多個(gè)不同的存儲(chǔ)地址,在實(shí)現(xiàn)上有很大的難度。為了保持微處理器設(shè)計(jì)的簡(jiǎn)潔性,可以將該指令拆分為多個(gè)微操作,每個(gè)微操作獲取一個(gè)地址的數(shù)據(jù),然后再將這些數(shù)據(jù)組裝為一個(gè)寄存器寬度的數(shù)據(jù)。這樣做可以最大限度利用現(xiàn)有的訪存通路,避免額外的硬件開銷。如圖2所示,向量聚合裝載指令為:GLoadZd,Zn,Rm,其中Zd為目的向量寄存器,Zn為源向量寄存器,Rm為源標(biāo)量寄存器;拆分后的微操作序列中,Zni表示源操作為Zn的第i個(gè)元素。
如果進(jìn)行這樣的微操作拆分,那么對(duì)于向量長(zhǎng)度為4個(gè)元素的GLoad指令來說,需要拆分為7個(gè)微操作才能完成一個(gè)向量聚合裝載指令的功能。這樣拆分后,除了數(shù)據(jù)獲取的Load操作外,還增加了3個(gè)數(shù)據(jù)轉(zhuǎn)換的Perm操作,從而增加了指令執(zhí)行的功耗和指令執(zhí)行的延遲,導(dǎo)致性能下降。另外,在硬件設(shè)計(jì)上也需要增加數(shù)據(jù)轉(zhuǎn)換的perm操作。
申請(qǐng)?zhí)枮?01810668398.4的中國(guó)專利文獻(xiàn)公開了一種面向標(biāo)量和向量指令混合執(zhí)行的發(fā)射方法及裝置,該方法可以用于向量聚合裝載指令的發(fā)射和管理,但是該方法有以下三個(gè)缺點(diǎn):1)向量緩沖部件微操作管理的功能和發(fā)射隊(duì)列功能重復(fù),造成資源浪費(fèi)。2)由于向量緩沖部件有微操作管理的邏輯,故部件資源較大,受限于整個(gè)芯片硬件資源,向量緩沖部件無法同時(shí)支持多個(gè)向量聚合裝載指令,造成多個(gè)向量聚合裝載指令無法并行執(zhí)行,程序性能受限。3)由于發(fā)射隊(duì)列和向量緩沖部件中都有指令要發(fā)往流水線,需要額外的仲裁部件支持,并且指令之間順序管理變復(fù)雜。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題:針對(duì)現(xiàn)有技術(shù)的上述問題,提供一種向量聚合裝載指令的實(shí)現(xiàn)方法,本發(fā)明能夠有效提高向量聚合裝載指令執(zhí)行的性能,同時(shí)能最大限度利用普通裝載指令的通路,適用于高性能亂序超標(biāo)量微處理器,具有實(shí)現(xiàn)簡(jiǎn)單、性能高的優(yōu)點(diǎn)。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
一種向量聚合裝載指令的實(shí)現(xiàn)方法,實(shí)施步驟包括:
1)將向量聚合裝載指令按照向量元素大小拆分為多個(gè)普通裝載微操作;
2)將拆分后的普通裝載微操作發(fā)往指令隊(duì)列中;
3)在指令隊(duì)列中等待普通裝載微操的源操作數(shù)準(zhǔn)備好,在源操作數(shù)準(zhǔn)備好后將對(duì)應(yīng)的普通裝載微操作發(fā)射到存儲(chǔ)流水線中并帶上向量元素序號(hào);
4)執(zhí)行單個(gè)元素的普通裝載微操作;
5)判斷是否執(zhí)行成功,如果執(zhí)行成功則跳轉(zhuǎn)執(zhí)行下一步;否則發(fā)射隊(duì)列需要擇機(jī)將該元素的訪存操作重新發(fā)射到流水線中獲取數(shù)據(jù),跳轉(zhuǎn)執(zhí)行步驟3);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科技大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911113890.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 移動(dòng)向量解碼方法和移動(dòng)向量解碼裝置
- 一種用于支持向量機(jī)的在線向量選取方法
- 用于在幀序列中執(zhí)行運(yùn)動(dòng)估計(jì)的數(shù)據(jù)處理系統(tǒng)和方法
- 神經(jīng)網(wǎng)絡(luò)的處理方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備
- 字符序列處理方法及設(shè)備
- 向量獲取方法、裝置、電子設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 向量獲取方法、裝置、電子設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 近鄰向量的召回方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種向量運(yùn)算裝置及運(yùn)算方法
- 生成類別向量的方法和裝置





