一種基于vliw類型處理器的訪存系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于VLIW類型處理器的訪存系統(tǒng),包括:數(shù)據(jù)存儲器,具有多個數(shù)據(jù)通道,多個數(shù)據(jù)通道并行訪問數(shù)據(jù)存儲器;指令存儲器,具有寫端口和讀端口,寫端口優(yōu)先級高于讀端口;處理器,包括處理器核、直接訪存控制器、調(diào)試模塊和仲裁器,處理器核中包括取指部件、第一訪存部件和第二訪存部件,取指部件與讀端口連接,第一訪存部件直接通過數(shù)據(jù)通道與數(shù)據(jù)存儲器連接,第二訪存部件、直接訪存控制器和調(diào)試模塊與仲裁器連接,處理器核內(nèi)的其他訪存部件通過總線與仲裁器連接,仲裁器通過數(shù)據(jù)通道與數(shù)據(jù)存儲器連接,直接訪存控制器與寫端口連接。與現(xiàn)有技術(shù)相比,本發(fā)明具有多個訪存部件同時訪問存儲器的效率高等優(yōu)點。
【專利說明】—種基于VLIW類型處理器的訪存系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種處理器的數(shù)據(jù)訪問存儲技術(shù),尤其是涉及一種基于VLIW類型處理器的訪存系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)字信號處理器(DSP)是一種特殊結(jié)構(gòu)的微處理器,是專門用來處理大規(guī)模數(shù)字信號的處理器。專用數(shù)字信號處理器的實時運行速度一般也比通用處理器快,其主要特色是強大的數(shù)字運算能力,因此主要被用于涉及到大規(guī)模數(shù)字信息計算的領(lǐng)域。數(shù)字信號處理器(DSP)已經(jīng)成為數(shù)字化世界中日益重要的芯片。
[0003]隨著高新技術(shù)的快速發(fā)展,對數(shù)字信號處理器(DSP)的性能要求也越來越高。超長指令字(VLIW)和單指令流多數(shù)據(jù)流(SMD)等技術(shù)已經(jīng)廣泛應(yīng)用于數(shù)字信號處理器(DSP)的設(shè)計中。超長指令字(VLIW)是一種將多條指令連在一起的設(shè)計方法,可以同時執(zhí)行多條指令,以提高運算速度。單指令流多數(shù)據(jù)流(SIMD)是能夠復制多個操作數(shù),并把他們打包在大型寄存器的一組指令集。在SMD型的處理器中,指令譯碼后幾個執(zhí)行部件同時訪問存儲器,一次性獲得所有操作數(shù)進行運算。但是,在數(shù)字信號處理器運行時,訪問存儲器操作一般會消耗較長時間,存儲系統(tǒng)的存取速度已經(jīng)成為處理器的瓶頸。
[0004]數(shù)字信號處理器(DSP)中訪問指令存儲器(頂)的部件有多種,比如處理器核的取指部件和DMA模塊等。訪問數(shù)據(jù)存儲器(DM)的部件也有很多,比如處理器核中的多個運算單元、DMA模塊和調(diào)試(Debug)模塊等。較為傳統(tǒng)的做法是將處理器中的所有部件都掛載至IJ總線上,這樣就能夠?qū)崿F(xiàn)所有的部件都能訪問到存儲器。但是,這樣做的缺點是不能實現(xiàn)多個部件對處理器的并行訪問,導致系統(tǒng)效率較低。另一種可以并行訪問存儲器的策略是使用雙端口存儲器代替普通的單端口存儲器,但是這樣會增加單次訪問的時延,也會增加整個芯片的面積和功耗。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種基于VLIW類型處理器的訪存系統(tǒng),實現(xiàn)多個訪存部件的并行訪存,應(yīng)用到VLIW類型處理器后會提高多個訪存部件訪問存儲器時的效率,同時不會增加芯片的面積和功耗。
[0006]本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
[0007]—種基于VLIW類型處理器的訪存系統(tǒng),包括:
[0008]數(shù)據(jù)存儲器,具有多個數(shù)據(jù)通道,多個數(shù)據(jù)通道并行訪問數(shù)據(jù)存儲器;
[0009]指令存儲器,具有寫端口和讀端口,寫端口優(yōu)先級高于讀端口,以此實現(xiàn)虛擬雙端口指令存儲器;
[0010]處理器,包括處理器核、直接訪存控制器、調(diào)試模塊和仲裁器,所述處理器核中包括取指部件、第一訪存部件和第二訪存部件,所述取指部件與讀端口連接,從指令存儲器獲取指令,所述第一訪存部件直接通過數(shù)據(jù)通道與數(shù)據(jù)存儲器連接,所述第二訪存部件、直接訪存控制器和調(diào)試模塊與仲裁器連接,所述處理器核內(nèi)的其他訪存部件通過總線與仲裁器連接,所述仲裁器通過數(shù)據(jù)通道與數(shù)據(jù)存儲器連接,所述直接訪存控制器與寫端口連接,向指令存儲器寫入指令。
[0011]該系統(tǒng)采用指令和數(shù)據(jù)分開存儲的哈佛結(jié)構(gòu)。處理器核有I個取指部件和N個讀寫操作數(shù)的部件,N >= 2。處理器采用超長指令字(VLIW)設(shè)計技術(shù),取指部件一次需要獲取η條指令,η > O,指令長度為2y個字,y > = 0,其中字長可以是任意長度。
[0012]所述數(shù)據(jù)存儲器由多塊子存儲器構(gòu)成,各數(shù)據(jù)通道訪問子存儲器時,首先進行通道沖突檢測,每次至多只有一個數(shù)據(jù)通道訪問同一塊子存儲器。
[0013]所述數(shù)據(jù)存儲器具有四個數(shù)據(jù)通道,分別為第一數(shù)據(jù)加載通道LoadO、第二數(shù)據(jù)加載通道Loadl、第一數(shù)據(jù)存入通道StoreO和第二數(shù)據(jù)存入通道Storel,所述四個數(shù)據(jù)通道并行訪問數(shù)據(jù)存儲器,所述LoadO和StoreO與處理器核中的第一訪存部件連接,所述的Loadl和Storel與仲裁器連接。
[0014]數(shù)據(jù)存儲器的讀出操作需要三個時鐘周期,即沖突檢測周期、存儲器讀數(shù)據(jù)周期和讀出后處理周期。寫入操作需要沖突檢測周期和存儲器寫數(shù)據(jù)周期。沖突檢測周期檢測到多個數(shù)據(jù)訪問通道訪問同一塊子存儲器時,允許優(yōu)先級高的通道訪問,向優(yōu)先級低的通道發(fā)出“重試”信號;存儲器讀數(shù)據(jù)周期和存儲器寫數(shù)據(jù)周期由子存儲器做數(shù)據(jù)讀出和數(shù)據(jù)寫入操作;讀出后處理器周期做的是數(shù)據(jù)選擇工作,選擇各子存儲器輸出的有效數(shù)據(jù)。
[0015]所述數(shù)據(jù)存儲器的四個數(shù)據(jù)通道的優(yōu)先級高低關(guān)系依次為=LoadO > Loadl >StoreO > Storel,所述通道沖突檢測具體為:
[0016](a)檢測LoadO和Loadl是否沖突,如果沖突則不允許Loadl訪問數(shù)據(jù)存儲器;
[0017](b)檢測LoadO和StoreO是否沖突,如果沖突則不允許StoreO訪問數(shù)據(jù)存儲器;
[0018](c)檢測LoadO和Storel是否沖突,如果沖突則不允許Storel訪問數(shù)據(jù)存儲器;
[0019](d)檢測Loadl和StoreO是否沖突,如果沖突則不允許StoreO訪問數(shù)據(jù)存儲器;
[0020](e)檢測Loadl和Storel是否沖突,如果沖突則不允許Storel訪問數(shù)據(jù)存儲器;
[0021](f)檢測StoreO和Storel是否沖突,如果沖突則不允許Storel訪問數(shù)據(jù)存儲器;
[0022](g)不允許訪問數(shù)據(jù)存儲器的通道下個時鐘周期重新發(fā)起訪問請求,其余通道正常訪問數(shù)據(jù)存儲器。
[0023]每個所述數(shù)據(jù)通道具有四種訪問模式:8位、16位、32位和128位,由每個通道的控制信號sel控制,具體為:
[0024]所述控制信號sel等于“00”表示讀出或者寫入8位數(shù)據(jù);sel等于“01”表示讀出或者寫入16位數(shù)據(jù);sel等于“10”表示讀出或者寫入32位數(shù)據(jù);sel等于“ 11”表示讀出或者寫入128位數(shù)據(jù)。
[0025]所述子存儲器設(shè)有16塊,每塊子存儲器的位寬是32位,采用4位二進制數(shù)對16塊子存儲器進行編號,從“0000”到“1111”,經(jīng)過沖突檢測后,每個數(shù)據(jù)通道訪問單端口存儲器的方法如下:
[0026](a)如果讀寫位寬是128位,其地址信號的第四到五位,即addr[5: 4] = “XX”,則訪問的單端口存儲器編號是“ XXOO ”、“ XXOI ”、“ XX1 ”、“ XX11 ”,共四塊;
[0027](b)如果讀寫位寬是8位、16位或者32位,則其地址第二到五位,即addr[5: 2],就是需要訪問的子存儲器編號。[0028]檢測兩個數(shù)據(jù)通道是否發(fā)生沖突的方法具體為:
[0029]如果兩個通道的讀寫位寬都不是128位,則判斷兩個通道地址信號的二到五位是否相等,若相等,則表示兩個通道需要訪問同一塊子存儲器,則發(fā)生沖突;如果待檢測的兩個通道中至少有一個通道的訪問位寬是128位,則判斷兩個通道地址信號的四到五位是否相等,若相等,則表示兩個通道需要訪問到同一塊子存儲器,則發(fā)生沖突。
[0030]所述數(shù)據(jù)存儲器按字節(jié)編址,當一個數(shù)據(jù)通道讀寫位寬為多個字節(jié)時,該通道的地址信號只傳入本次讀寫數(shù)據(jù)的首地址。
[0031]所述指令存儲器由η個單端口存儲器構(gòu)成,每個單端口存儲器的位寬等于指令字長,所述直接訪存控制器通過寫端口 一次性寫入η條指令,所述取指部件通過讀端口 一次性獲取η條指令,η > O。
[0032]所述寫端口連接有數(shù)據(jù)信號線、地址信號線和使能信號線,所述讀端口連接有數(shù)據(jù)信號線、地址信號線、使能信號線和重試信號線,當寫端口的使能信號和讀端口的使能信號同時有效時,讀端口的使能信號不響應(yīng),同時讀端口輸出“重試”信號。
[0033]所述仲裁器仲裁時,各個訪存部件的優(yōu)先級高低順序為:處理器核中第二訪存部件>直接訪存(DMA)控制器>總線>調(diào)試(Debug)模塊。
[0034]其他掛載到總線上的設(shè)備通過總線訪問數(shù)據(jù)存儲器。
[0035]與現(xiàn)有技術(shù)相比,本發(fā)明訪存系統(tǒng)采用的訪存方式能實現(xiàn)多訪存部件的并行訪存,并設(shè)計了通道間的沖突檢測策略,提高了多個訪存部件訪問存儲器時的效率,同時不會增加芯片的面積和功耗,具有如下優(yōu)點:
[0036]1、多個訪存部件可以更高效地訪問存儲器;
[0037]2、數(shù)據(jù)存儲器的多個訪存通道間的沖突檢測策略效率更高,以讀寫位寬為32位的形式為例,四個訪存通道在同一個時鐘周期并行訪存成功的概率約為66.67%,兩個以上的訪存通道在同一個時鐘周期并行訪存成功的概率約為99.97% ;
[0038]3、取指部件取指令操作更加高效,取指部件每個時鐘周期可以從指令存儲器取出η條指令,η等于處理器核每個時鐘周期可以消耗的指令條數(shù);
[0039]4、存儲器由多個單端口存儲器構(gòu)成,相比雙端口存儲器,單端口存儲器芯片面積更小、功耗更低。
【專利附圖】
【附圖說明】
[0040]圖1為本發(fā)明訪存系統(tǒng)的結(jié)構(gòu)示意圖;
[0041]圖2為指令存儲器結(jié)構(gòu)示意圖;
[0042]圖3為數(shù)據(jù)存儲器中沖突檢測示例圖;
[0043]圖4為數(shù)據(jù)存儲器結(jié)構(gòu)示意圖。
【具體實施方式】
[0044]下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細說明。本實施例以本發(fā)明技術(shù)方案為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
[0045]如圖1所示,一種基于VLIW類型處理器的訪存系統(tǒng),包括數(shù)據(jù)存儲器10、指令存儲器20和處理器,采用哈佛結(jié)構(gòu),即指令和數(shù)據(jù)分開存儲的結(jié)構(gòu)。其中,數(shù)據(jù)存儲器10具有多個數(shù)據(jù)通道,多個數(shù)據(jù)通道并行訪問數(shù)據(jù)存儲器;指令存儲器20具有寫端口和讀端口,寫端口優(yōu)先級高于讀端口,以此實現(xiàn)虛擬雙端口指令存儲器;處理器包括處理器核30、直接訪存控制器40、調(diào)試模塊50和仲裁器60,處理器核30中包括取指部件、第一訪存部件、第二訪存部件及其他訪存部件,取指部件與讀端口連接,從指令存儲器獲取指令,第一訪存部件直接通過數(shù)據(jù)通道與數(shù)據(jù)存儲器連接,第二訪存部件、直接訪存控制器40和調(diào)試模塊50與仲裁器60連接,處理器核30內(nèi)的其他訪存部件通過總線70與仲裁器60連接,仲裁器60通過數(shù)據(jù)通道與數(shù)據(jù)存儲器10連接,直接訪存控制器40與寫端口連接,向指令存儲器寫入指令。
[0046]本實施例中,指令存儲器20的數(shù)據(jù)位寬是128位,由直接訪存(DMA)控制器40寫入數(shù)據(jù)101,每次寫入128位,共4條指令;由處理器核30中的取指部件取出數(shù)據(jù)103,每次取4條指令,共128位。數(shù)據(jù)存儲器I有四個通道,即LoadO通道109、Loadl通道111、StoreO通道108和Storel通道110。處理器核30的第一訪存部件(即訪問數(shù)據(jù)存儲器最頻繁的訪存部件)連接一個讀通道和一個寫通道,即LoadO通道109和StoreO通道108。Loadl通道111和Storel通道110連接到仲裁器60上。仲裁器60另一端分別連接處理器核30內(nèi)第二訪存部件的數(shù)據(jù)通路107、總線70的數(shù)據(jù)通路106、DMA控制器40的數(shù)據(jù)通路105和調(diào)試(Debug)模塊50的數(shù)據(jù)通路104。處理器核30中其余訪存部件的數(shù)據(jù)通路102連接到總線70上,通過總線70訪問數(shù)據(jù)存儲器10。
[0047]本實施例的指令存儲器20的結(jié)構(gòu)示意圖如圖2所示,指令存儲器20由四塊單端口存儲器構(gòu)成,每塊單端口存儲器位寬是32位,正好等于每條指令的字長。指令存儲器20的位寬是128位,處理器核30中的取指部件每個時鐘周期通過數(shù)據(jù)線2106讀出128位,DMA控制器40每個時鐘周期通過數(shù)據(jù)線2105寫入128位。選擇邏輯2001根據(jù)將四塊單端口存儲器的數(shù)據(jù)2101、2102、2103、2104組合成128位數(shù)據(jù)通過讀端口送出,或者將寫端口寫入的128位數(shù)據(jù)拆分成四路32位數(shù)據(jù)2101、2102、2103、2104分別寫入四塊單端口存儲器。賦予DMA控制器40較高的優(yōu)先級,選擇邏輯2001判斷當DMA控制器發(fā)出寫入請求時,則往處理器核的取指部件發(fā)送“重試”信號。
[0048]數(shù)據(jù)存儲器10中的沖突檢測模塊包含六個沖突檢測子模塊,六個子模塊分別檢測LoadO通道和Loadl通道、LoadO通道和StoreO通道、LoadO通道和Storel通道、Loadl通道和StoreO通道、Loadl通道和Storel通道、StoreO通道和Storel通道是否發(fā)生沖突。發(fā)生沖突時允許優(yōu)先級高的通道正常訪問存儲器,往優(yōu)先級低的通道發(fā)送“重試”信號。四個通道的優(yōu)先級高低順序為:LoadO通道> Loadl通道> StoreO通道> Storel通道。
[0049]數(shù)據(jù)存儲器10中的沖突檢測子模塊檢測某通道a3001和某通道b3002是否發(fā)生訪問沖突的方式如圖3所示:通道數(shù)據(jù)位寬檢測模塊3003檢測通道a3001的位寬選擇信號3101和通道b3002的位寬選擇信號3102。如果通道a3001和通道b3002都不是128位的數(shù)據(jù)訪問位寬,則使能信號3103有效,使用沖突檢測部件3004進行檢測兩個通道是否發(fā)生訪問沖突;否則使能信號3104有效,使用沖突檢測部件3005檢測兩個通道是否會發(fā)生訪問沖突。沖突檢測部件3004進行沖突檢測的方法是:判斷兩組地址信號線的第2到5位,即address[5: 2]是否相等,相等則說明兩個通道要訪問同一塊子存儲器,即發(fā)生訪問沖突,然后將該信息3105傳給子存儲器使能信號生成模塊3006。沖突檢測部件3005進行沖突檢測的方法是:判斷兩組地址信號線的第4到5位,即address[5: 4]是否相等,相等則說明兩個通道要訪問到同一塊子存儲器,即發(fā)生訪問沖突,然后將該信息3106傳給子存儲器使能信號生成模塊3006。最后由使能信號生成模塊3006產(chǎn)生訪問的某一塊單端口存儲器的使能信號3107。
[0050]本實施例的數(shù)據(jù)存儲器10的結(jié)構(gòu)示意圖如圖4所示,數(shù)據(jù)存儲器10由16個子存儲器構(gòu)成:4003、4004、4005、4006、4007、4008、4009、4010、4011、4012、4013、4014、4015、4016,4017和4018。數(shù)據(jù)存儲器10按字節(jié)編址,每個子存儲器的位寬為32位,共4個字節(jié),由外部接入的地址線的第O到I位,即address [I: 0],進行編號。外部接入的地址線第2到5位,即addreSS[5: 2]對每個子存儲器進行編號。
[0051]數(shù)據(jù)存儲器10對外提供兩個數(shù)據(jù)加載通道=LoadO通道109、Loadl通道110和兩個數(shù)據(jù)存入通道=StoreO通道108、Storel通道111。四個通道由沖突檢測模塊4001檢測后,通過對應(yīng)的數(shù)據(jù)通路4105、4106、4107、4108并行訪問存儲器。四個通道的信號線中均包括讀寫位寬選擇信號,讀寫位寬選擇信號由2位二進制數(shù)構(gòu)成:“00”表示讀寫8位數(shù)據(jù);“01”表示讀寫16位數(shù)據(jù);“10”表示讀寫32位數(shù)據(jù);“11”表示讀寫128位數(shù)據(jù)。讀寫位寬多于I個字節(jié)時,地址信號表示的是首地址。數(shù)據(jù)選擇邏輯4002的功能是取LoadO通道109和Loadl通道110的地址信號和使能信號選擇對應(yīng)的單端口存儲器,將讀出的數(shù)據(jù)輸出,取StoreO通道108和Storel通道111的地址信號和使能信號選擇對應(yīng)的單端口存儲器,將數(shù)據(jù)寫入。
[0052]本發(fā)明所主張的權(quán)利范圍并不局限于此。本發(fā)明還有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,本領(lǐng)域技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,包括: 數(shù)據(jù)存儲器(10),具有多個數(shù)據(jù)通道,多個數(shù)據(jù)通道并行訪問數(shù)據(jù)存儲器(10); 指令存儲器(20),具有寫端口和讀端口,寫端口優(yōu)先級高于讀端口 ; 處理器,包括處理器核(30)、直接訪存控制器(40)、調(diào)試模塊(50)和仲裁器(60),所述處理器核(30)中包括取指部件、第一訪存部件和第二訪存部件,所述取指部件與讀端口連接,從指令存儲器(20)獲取指令,所述第一訪存部件直接通過數(shù)據(jù)通道與數(shù)據(jù)存儲器(10)連接,所述第二訪存部件、直接訪存控制器(40)和調(diào)試模塊(50)與仲裁器(60)連接,所述處理器核(30)內(nèi)的其他訪存部件通過總線(70)與仲裁器(60)連接,所述仲裁器(60)通過數(shù)據(jù)通道與數(shù)據(jù)存儲器(10)連接,所述直接訪存控制器(40)與寫端口連接,向指令存儲器(20)寫入指令。
2.根據(jù)權(quán)利要求1所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,所述數(shù)據(jù)存儲器(10)由多塊子存儲器構(gòu)成,各數(shù)據(jù)通道訪問子存儲器時,首先進行通道沖突檢測,每次至多只有一個數(shù)據(jù)通道訪問同一塊子存儲器。
3.根據(jù)權(quán)利要求2所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,所述數(shù)據(jù)存儲器(10)具有四個數(shù)據(jù)通道,分別為第一數(shù)據(jù)加載通道LoadO、第二數(shù)據(jù)加載通道Loadl、第一數(shù)據(jù)存入通道StoreO和第二數(shù)據(jù)存入通道Storel,所述四個數(shù)據(jù)通道并行訪問數(shù)據(jù)存儲器,所述LoadO和StoreO與處理器核(30)中的第一訪存部件連接,所述的Loadl和Storel與仲裁器(60)連接。
4.根據(jù)權(quán)利要 求3所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,所述數(shù)據(jù)存儲器(10)的四個數(shù)據(jù)通道的優(yōu)先級高低關(guān)系依次為=LoadO > Loadl > StoreO >Storel,所述通道沖突檢測中,檢測到多個數(shù)據(jù)通道訪問同一塊子存儲器時,允許優(yōu)先級高的通道訪問,向優(yōu)先級低的通道發(fā)出“重試”信號,具體為: (a)檢測LoadO和Loadl是否沖突,如果沖突則不允許Loadl訪問數(shù)據(jù)存儲器; (b)檢測LoadO和StoreO是否沖突,如果沖突則不允許StoreO訪問數(shù)據(jù)存儲器; (C)檢測LoadO和Storel是否沖突,如果沖突則不允許Storel訪問數(shù)據(jù)存儲器; (d)檢測Loadl和StoreO是否沖突,如果沖突則不允許StoreO訪問數(shù)據(jù)存儲器; (e)檢測Loadl和Storel是否沖突,如果沖突則不允許Storel訪問數(shù)據(jù)存儲器; (f)檢測StoreO和Storel是否沖突,如果沖突則不允許Storel訪問數(shù)據(jù)存儲器; (g)不允許訪問數(shù)據(jù)存儲器的通道下個時鐘周期重新發(fā)起訪問請求,其余通道正常訪問數(shù)據(jù)存儲器。
5.根據(jù)權(quán)利要求4所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,每個所述數(shù)據(jù)通道具有四種訪問模式:8位、16位、32位和128位,由每個通道的控制信號sel控制,具體為: 所述控制信號sel等于“00”表示讀出或者寫入8位數(shù)據(jù);sel等于“01”表示讀出或者寫入16位數(shù)據(jù);sel等于“10”表示讀出或者寫入32位數(shù)據(jù);sel等于“11”表示讀出或者寫入128位數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,所述子存儲器設(shè)有16塊,每塊子存儲器的位寬是32位,采用4位二進制數(shù)對16塊子存儲器進行編號,從“0000”到“1111”,經(jīng)過沖突檢測后,每個數(shù)據(jù)通道訪問單端口存儲器的方法如下:(a)如果讀寫位寬是128位,其地址信號的第四到五位,即addr[5: 4]= “XX”,則訪問的單端口存儲器編號是“ XXOO ”、“ XXOI ”、“ XX1 ”、“ XX11 ”,共四塊; (b)如果讀寫位寬是8位、16位或者32位,則其地址第二到五位,即addr[5: 2],就是需要訪問的子存儲器編號。
7.根據(jù)權(quán)利要求4所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,檢測兩個數(shù)據(jù)通道是否發(fā)生沖突的方法具體為: 如果兩個通道的讀寫位寬都不是128位,則判斷兩個通道地址信號的二到五位是否相等,若相等,則表示兩個通道需要訪問同一塊子存儲器,則發(fā)生沖突;如果待檢測的兩個通道中至少有一個通道的訪問位寬是128位,則判斷兩個通道地址信號的四到五位是否相等,若相等,則表示兩個通道需要訪問到同一塊子存儲器,則發(fā)生沖突。
8.根據(jù)權(quán)利要求1所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,所述數(shù)據(jù)存儲器(10)按字節(jié)編址,當一個數(shù)據(jù)通道讀寫位寬為多個字節(jié)時,該通道的地址信號只傳入本次讀寫數(shù)據(jù)的首地址。
9.根據(jù)權(quán)利要求1所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,所述指令存儲器(20)由η個單端口存儲器構(gòu)成,每個單端口存儲器的位寬等于指令字長,所述直接訪存控制器(40)通過寫端口一次性寫入η條指令,所述取指部件通過讀端口一次性獲取η條指令,η > O。
10.根據(jù)權(quán)利要求9所述的一種基于VLIW類型處理器的訪存系統(tǒng),其特征在于,所述寫端口連接有數(shù)據(jù)信號線、地址信號線和使能信號線,所述讀端口連接有數(shù)據(jù)信號線、地址信號線、使能信號線和 重試信號線,當寫端口的使能信號和讀端口的使能信號同時有效時,讀端口的使能信號不響應(yīng),同時讀端口輸出“重試”信號。
【文檔編號】G06F12/08GK104035898SQ201410244826
【公開日】2014年9月10日 申請日期:2014年6月4日 優(yōu)先權(quán)日:2014年6月4日
【發(fā)明者】吳俊 , 趙朝興, 雷蕾, 任浩琪, 張志峰, 吳健 申請人:同濟大學