一種應用于vliw類型處理器的存儲器裝置的制造方法
【專利摘要】本發明涉及一種應用于VLIW類型處理器的存儲器裝置,用以在VLIW類型處理器中提高多個訪存部件訪問的效率,其特征在于,該存儲器裝置包括多個數據寬度均相同的子存儲體,多個子存儲體按照二維行列方式排布,所述的存儲器根據地址信號和地址選擇信號的組合設有兩種工作方式:方式一:當存儲器裝置被用做指令存儲器或指令緩存時,訪問一次讀出一個VLIW指令字;方式二:當存儲器裝置被用做數據存儲器或數據緩存時,一次訪問的數據作為單獨一個數據字供處理器使用,或者作為多個數據字供處理器的SIMD數據通道使用。與現有技術相比,本發明具有靈活度高、效率高等優點。
【專利說明】
一種應用于VLIW類型處理器的存儲器裝置
技術領域
[0001]本發明涉及處理器體系結構領域,尤其是涉及一種應用于VLIW類型處理器的存儲器裝置。
【背景技術】
[0002]數字信號處理器(DSP)是一種特殊結構的微處理器,是專門用來處理大規模數字信號的處理器。專用數字信號處理器的實時運行速度一般也比通用處理器快,其主要特色是強大的數字運算能力,因此主要被用于涉及到大規模數字信息計算的領域。數字信號處理器(DSP)已經成為數字化世界中日益重要的芯片。
[0003]隨著高新技術的快速發展,對數字信號處理器(DSP)的性能要求也越來越高。超長指令字(VLIW)和單指令多數據流(Sn?)等技術已經廣泛應用于數字信號處理器(DSP)的設計中。超長指令字(VLIW)是一種將多條指令連在一起的設計方法,可以同時執行多條指令,以提高運算速度。單指令多數據流(SMD)是能夠復制多個操作數,并把他們打包在大型寄存器的一組指令集。在snro型的處理器中,指令譯碼后幾個執行部件同時訪問存儲器,一次性獲得所有操作數進行運算。但是,在數字信號處理器運行時,訪問存儲器操作一般會消耗較長時間,存儲系統的存取速度已經成為處理器的瓶頸。
[0004]數字信號處理器(DSP)中訪問指令存儲器(頂)的部件有多種,比如處理器核的取指部件和DMA模塊等。訪問數據存儲器(DM)的部件也有很多,比如處理器核中的多個運算單元、DMA模塊和調試(Debug)模塊等。較為傳統的做法是將處理器中的所有部件都掛載到總線上,這樣就能夠實現所有的部件都能訪問到存儲器。但是,這樣做的缺點是不能實現多個部件對處理器的并行訪問,導致系統效率較低。另一種可以并行訪問存儲器的策略是使用雙端口存儲器代替普通的單端口存儲器,但是這樣會增加單次訪問的時延,也會增加整個芯片的面積和功耗。
【發明內容】
[0005]本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種靈活度高、效率高的應用于VLIW類型處理器的存儲器裝置。
[0006]本發明的目的可以通過以下技術方案來實現:
[0007]一種應用于VLIW類型處理器的存儲器裝置,用以在VLIW類型處理器中提高多個訪存部件訪問的效率,該存儲器裝置包括多個數據寬度均相同的子存儲體,多個子存儲體按照二維行列方式排布,所述的存儲器根據地址信號和地址選擇信號的組合設有兩種工作方式:
[0008]方式一:當存儲器裝置被用做指令存儲器或指令緩存時,訪問一次讀出一個VLIW指令字;
[0009]方式二:當存儲器裝置被用做數據存儲器或數據緩存時,一次訪問的數據作為單獨一個數據字供處理器使用,或者作為多個數據字供處理器的SIMD數據通道使用。
[0010]所述的存儲器裝置支持的最大數據訪問寬度為每行子存儲體的個數與每個子存儲體的數據寬度的乘積。
[0011]在方式一中,當存儲器裝置支持的最大數據訪問寬度為128位時,所述的一個VLIW指令字長度為128位。
[0012]在方式二中,當存儲器裝置支持的最大數據訪問寬度為128位時,所述的數據字長度為128位供處理器使用,或者為2個64位、4個32位、8個16位、16個8位供處理器的SHffi數據通道使用。
[0013]當訪存的數據位寬等于所述的存儲器裝置支持的最大數據訪問寬度時:
[0014]根據地址信號的低位部分選擇多個子存儲體,根據地址信號的高位部分同時對選中的子存儲體進行尋址訪問相應的數據,并且將訪問得到的數據組成具有最大數據訪問寬度的數據,供處理器使用。
[0015]當訪存的數據位寬小于所述的存儲器裝置支持的最大數據訪問寬度時:
[0016]根據地址信號的低位部分選擇一個子存儲體,并且根據地址信號的高位部分對該選中的子存儲體尋址訪問相應的數據,供處理器使用。
[0017]與現有技術相比,本發明具有以下優點:
[0018]—、靈活度高:本發明在每個訪存周期都可以根據配置,被調整成不同數據寬度模式,可以更靈活的支持多種訪存指令,例如L0AD8、LOAD 16、L0AD32等。
[0019]二、效率高:本發明所述的存儲裝置用于指令存儲器時,每次可以取出一條VLIW指令字,一條VLIW指令字中可以包含多條子指令,本發明在用于數據存儲器時,每次最多可以取出128比特數據,這128比特數據可以被劃分為多個數據段供多個訪存模塊使用。
【附圖說明】
[0020]圖1是本發明所述存儲器裝置結構的一個實施例;
[0021]圖2是本發明所述存儲器裝置訪問128位數據和32位數據的實施例;
[0022]圖3是本發明所述存儲器裝置訪問16位數據的實施例;
[0023]圖4是本發明所述存儲器裝置訪問8位數據的實施例。
【具體實施方式】
[0024]下面結合附圖和具體實施例對本發明進行詳細說明。
[0025]實施例1:
[0026]如圖1所示,圖為本發明所述存儲器裝置結構的一個實施例。在本實施例中,存儲器裝置被分為16個同樣容量大小的子存儲體,每個子存儲體的數據寬度為32位。為了便于說明,可以用4位二進制數對16塊子存儲體進行編號,從子存儲體105開始以“0000”到“1111”進行編號。圖1中一個圓表示一個字節(101),106指明的四個圓作為一個小組表示一個子存儲體的32位。102是地址信號,根據地址信號來選擇四個子存儲體,將選擇的四個子存儲體中的數據通過104選擇出來。103即是初步選擇的有效數據,然后再根據下文的方法在已經選擇的初步有效數據中再選擇最終的有效數據。當往存儲器中寫數據時,順序是相反的。
[0027]實施例2:
[0028]如圖2所示,圖為本發明所述存儲器裝置訪問128位數據和32位數據的實施例。在本實施例中,當訪存的數據位寬是128位時(202),地址選擇信號SEL等于“I I”,表示允許對四個子存儲體訪問。假設其地址信號的第四到五位(ADDR[5:4])等于“XX”(“X”可以是O或者I),則訪問的子存儲體編號是“ΧΧ00”、“XX01”、“XX10”、“ΧΧ1Γ,共四塊。再根據地址信號的高位部分同時對這四塊子存儲體尋址訪問相應的32位數據(201)。這樣,一次即可訪問128位數據。當所述存儲器裝置被用做指令存儲器或指令緩存時,就可以一次讀出連續128位的VLIW指令字,送往VLIW指令譯碼器。當所述存儲器裝置被用做數據存儲器或數據緩存時,一次訪問的數據可以作為I個128位數據供處理器進行后續操作,也可以作為2個64位、或4個32位、或8個16位、或16個8位數據供處理器的SHffi數據通道使用。
[0029]當訪存位寬是32位時(203),地址選擇信號SEL等于“10”,表示只能對一個子存儲體訪問。此時,地址信號的第二到五位,S卩ADDR[5:2],就是需要訪問的子存儲體編號。根據地址信號的高位部分就可以對這塊子存儲體尋址訪問相應的32位數據(204),實現訪問32位數據的功能。當所述存儲器裝置被用做指令存儲器或指令緩存時,就可以一次讀出連續32位的指令字,送往指令譯碼器。當所述存儲器裝置被用做數據存儲器或數據緩存時,一次訪問的數據可以作為I個32位數據供處理器進行后續操作,也可以作為2個16位、或4個8位數據供處理器的S頂D數據通道使用。
[0030]實施例3:
[0031]如圖3所示,圖為本發明所述存儲器裝置訪問16位數據的實施例。在本實施例中,當訪存的數據位寬是16位時(302),地址選擇信號SEL等于“OI”,表示只允許對一個子存儲體訪問。此時,地址信號的第二到五位,S卩ADDR[5:2],就是需要訪問的子存儲體編號。根據地址信號的高位部分就可以對這塊子存儲體尋址找到相應的32位數據。再根據地址信號的第一位,即ADDR[1],就可以確定對這32位數據的高16位還是低16位訪問(301),從而實現訪問16位數據的功能。當所述存儲器裝置被用做數據存儲器或數據緩存時,一次訪問的數據可以作為I個16位數據供處理器進行后續操作,也可以作為2個8位數據供處理器的SMD數據通道使用。
[0032]如圖4所示,圖為本發明所述存儲器裝置訪問8位數據的實施例。在本實施例中,401是初步選擇出來的四個子存儲體接口中共計128位數據。當訪存的數據位寬是8位時(402),地址選擇信號SEL等于“00”,表示只允許對一個子存儲體訪問。此時,地址信號的第二到五位,即ADDR[5:2],就是需要訪問的子存儲體編號。根據地址信號的高位部分就可以對這塊子存儲體尋址找到相應的32位數據。再根據地址信號的第零到一位,S卩ADDR[1:0],就可以確定對這32位數據中的哪個8位訪問(403),從而實現訪問8位數據的功能。
[0033]本發明所主張的權利范圍并不局限于此。本發明還有其他多種實施例,在不背離本發明精神及其實質的情況下,本領域技術人員可根據本發明作出各種相應的改變和變形,但這些改變和變形都應屬于本發明所附的權利要求的保護范圍。
【主權項】
1.一種應用于VLIW類型處理器的存儲器裝置,用以在VLIW類型處理器中提高多個訪存部件訪問的效率,其特征在于,該存儲器裝置包括多個數據寬度均相同的子存儲體,多個子存儲體按照二維行列方式排布,所述的存儲器根據地址信號和地址選擇信號的組合設有兩種工作方式: 方式一:當存儲器裝置被用做指令存儲器或指令緩存時,訪問一次讀出一個VLIW指令字; 方式二:當存儲器裝置被用做數據存儲器或數據緩存時,一次訪問的數據作為單獨一個數據字供處理器使用,或者作為多個數據字供處理器的Sn?數據通道使用。2.根據權利要求1所述的一種應用于VLIW類型處理器的存儲器裝置,其特征在于,所述的存儲器裝置支持的最大數據訪問寬度為每行子存儲體的個數與每個子存儲體的數據寬度的乘積。3.根據權利要求2所述的一種應用于VLIW類型處理器的存儲器裝置,其特征在于,在方式一中,當存儲器裝置支持的最大數據訪問寬度為128位時,所述的一個VLIW指令字長度為128 位。4.根據權利要求2所述的一種應用于VLIW類型處理器的存儲器裝置,其特征在于,在方式二中,當存儲器裝置支持的最大數據訪問寬度為128位時,所述的數據字長度為128位供處理器使用,或者為2個64位、4個32位、8個16位、16個8位供處理器的SHffi數據通道使用。5.根據權利要求2所述的一種應用于VLIW類型處理器的存儲器裝置,其特征在于,當訪存的數據位寬等于所述的存儲器裝置支持的最大數據訪問寬度時: 根據地址信號的低位部分選擇多個子存儲體,根據地址信號的高位部分同時對選中的子存儲體進行尋址訪問相應的數據,并且將訪問得到的數據組成具有最大數據訪問寬度的數據,供處理器使用。6.根據權利要求2所述的一種應用于VLIW類型處理器的存儲器裝置,其特征在于,當訪存的數據位寬小于所述的存儲器裝置支持的最大數據訪問寬度時: 根據地址信號的低位部分選擇一個子存儲體,并且根據地址信號的高位部分對該選中的子存儲體尋址訪問相應的數據,供處理器使用。
【文檔編號】G06F9/30GK105843589SQ201610157129
【公開日】2016年8月10日
【申請日】2016年3月18日
【發明人】任浩琪, 吳俊 , 趙朝興, 雷蕾, 王文凱, 張志峰
【申請人】同濟大學