[發(fā)明專利]一種減少流處理器片上指令存儲器資源消耗的方法無效
| 申請?zhí)枺?/td> | 200910043828.4 | 申請日: | 2009-07-03 |
| 公開(公告)號: | CN101620526A | 公開(公告)日: | 2010-01-06 |
| 發(fā)明(設(shè)計)人: | 何義;張春元;文梅;伍楠;楊乾明;任巨;管茂林;荀長慶;吳偉;柴俊;李京旭 | 申請(專利權(quán))人: | 中國人民解放軍國防科學(xué)技術(shù)大學(xué) |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F12/08 |
| 代理公司: | 國防科技大學(xué)專利服務(wù)中心 | 代理人: | 郭 敏 |
| 地址: | 410073湖*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 減少 處理器 指令 存儲器 資源 消耗 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及減少芯片中指令存儲器資源消耗的方法,尤其指一種減少流處理器片上指令存儲器資源消耗的方法。?
背景技術(shù)
基于流體系結(jié)構(gòu)的流處理器是新一代面向密集計算的高性能微處理器的典型代表,專門面向流應(yīng)用。流應(yīng)用主要分為兩類:一類是媒體應(yīng)用;另一類是科學(xué)計算。流應(yīng)用具有以下幾個主要特征:計算密集性,與傳統(tǒng)的桌面應(yīng)用相比,流式應(yīng)用對每次從內(nèi)存取出的數(shù)據(jù)都要進行大量的算術(shù)運算;并行性,以數(shù)據(jù)級并行為主,同時存在指令級和任務(wù)級并行;局域性,是指應(yīng)用中的數(shù)據(jù)重用局域性。流應(yīng)用程序通常包含kernel級程序和流級程序兩部分:流級程序負責(zé)組織輸入和輸出數(shù)據(jù),kernel程序是運算的核心,負責(zé)對這些數(shù)據(jù)進行運算。?
由于流處理器中多以超長指令字(VLIW:Very?Long?Instruction?Word)的方式組織指令來開發(fā)指令級并行,這種結(jié)構(gòu)使得流處理器指令存儲器的寬度很大(因為指令存儲器每行至少要能容納1條VLIW);另一方面,流處理器的片上指令存儲器大多采用軟件靜態(tài)管理的方式,存儲空間的分配以kernel為粒度,因此,指令存儲器必須有能力同時容納多個kernel,這使得流處理器指令存儲器的深度很大。對寬度和深度的要求直接導(dǎo)致指令存儲器的容量增加,從而使得其在芯片中占用的面積比例增加。如Imagine中核心指令存儲器的面積占芯片面積的10%,MASA中核心指令存儲器占芯片面積的26%。編譯器靜態(tài)調(diào)度指令碼的管理方式保證了指令存儲器能為計算單元高效地提供指令,然而以kernel為調(diào)度粒度使得在kernel的生命周期中,存在大量的無效指令或不常使用指令長時間占用指令存儲空間。這增加了指令存儲器的資源消耗,即增加了構(gòu)建存儲器所需的硬件存儲單元的消耗。?
對于超長指令字結(jié)構(gòu)的處理器,減少指令存儲器資源消耗主要有指令壓縮、分布式指令存儲器和指令生命周期分析優(yōu)化等方法。指令壓縮是通過某種編碼算法對指令碼進行壓縮,減少指令碼的長度,從而降低指令碼對存儲空間的需求。由于應(yīng)用程序中有限的指令級并行使得VLIW中不可避免的含有很多空操作,該方法最大的問題是將壓縮后的指令還原時會引入額外的指令流出延遲。分布式指令存儲器是將VLIW存儲器分割為?多個窄的指令存儲器,每個存儲器分別與一個計算功能單元對應(yīng),當VLIW中對應(yīng)的功能單元出現(xiàn)空操作時,與該功能單元對應(yīng)的指令存儲器則可以不存儲指令,從而可以減少指令存儲空間的需求。這是一種采用修改存儲器硬件結(jié)構(gòu)設(shè)計來壓縮指令的方法,它的主要問題是由于不同應(yīng)用對各功能單元的需求不同,使得VLIW中空操作出現(xiàn)的比例不同,會造成部分功能單元對應(yīng)的局部指令存儲器不夠用,而另一部分指令存儲器則有多余的現(xiàn)象。此方法與前一種方法類似,都是通過橫向壓縮指令來減少指令對存儲空間的需求,從而減少存儲器資源消耗。指令生命周期分析優(yōu)化是通過縮短指令占據(jù)存儲器的時間來降低應(yīng)用程序?qū)Υ鎯臻g的需求,從而可通過減少總的存儲容量來減少存儲器的資源消耗。該方法主要是通過分析程序的局域性,預(yù)測程序中各部分指令的生命周期,通過編譯器控制指令導(dǎo)入存儲器的時機,并指導(dǎo)各指令在其生命周期結(jié)束后及時的釋放存儲空間,從而盡量縮短指令占據(jù)存儲器的時間,在縱向上壓縮指令來減少指令存儲器的資源消耗。該方法過分依賴軟件編譯器的能力,若編譯器預(yù)測錯誤,則會造成程序性能極為低下。?
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種減少流處理器片上指令存儲器資源消耗的方法。該方法基于現(xiàn)有成熟的硬件存儲器結(jié)構(gòu),增加少量的指令讀取延遲,不增加復(fù)雜的編譯算法,能有效的減少指令存儲器的資源消耗。?
本發(fā)明的方案是:將流處理器中純軟件管理的指令存儲器修改為軟硬件混合指令存儲器,根據(jù)流應(yīng)用中kernel程序的特征,定義kernel熱代碼;根據(jù)kernel熱代碼的定義,得到三個判定kernel熱代碼的定理;在編譯器中增加kernel熱代碼查找模塊,由kernel熱代碼查找模塊根據(jù)三個判定定理查找流應(yīng)用中的kernel熱代碼;采用軟件管理靜態(tài)存儲器存儲kernel熱代碼以保證其高命中率,采用硬件管理的cache存儲其他指令,通過縮短指令占用指令存儲器的時間來減少程序?qū)Υ鎯臻g的需求,從而可以縮減總存儲容量,從而減少指令存儲器的資源消耗。?
本發(fā)明技術(shù)方案是:?
為說明本發(fā)明技術(shù)方案,先給出如下定義和定理:?
定義1:循環(huán)LOOP1是循環(huán)LOOP2的外層循環(huán),若LOOP2不失效能保證80%以上的LOOP1指令不失效,則稱LOOP2是LOOP1的熱代碼。?
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國人民解放軍國防科學(xué)技術(shù)大學(xué),未經(jīng)中國人民解放軍國防科學(xué)技術(shù)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910043828.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





