国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種多通道讀/寫RAM的電路和方法與流程

      文檔序號:12041960閱讀:496來源:國知局
      一種多通道讀/寫RAM的電路和方法與流程
      本發(fā)明涉及存儲技術(shù)領(lǐng)域,特別涉及一種多通道讀/寫RAM的電路和方法。

      背景技術(shù):
      目前,基于SoC(SystemonChip,系統(tǒng)級芯片)架構(gòu)的芯片已經(jīng)廣泛應(yīng)用于各種電子系統(tǒng)。片內(nèi)RAM(RadomAccessMemory,隨機(jī)存取存儲器)是SoC系統(tǒng)的一個重要組成部分,一般用作指令存儲器、數(shù)據(jù)交換空間以及臨時數(shù)據(jù)存儲空間,總線上各主設(shè)備(Master)訪問RAM的速度成為制約系統(tǒng)性能的一個關(guān)鍵因素。當(dāng)前絕大多數(shù)工藝下RAM的讀/寫操作都要延遲一拍,即在做讀/寫操作時,讀/寫數(shù)據(jù)總是要在讀信號有效的下一拍有效。請參考圖1,以讀取RAM為例,圖中CE為RAM的使能信號,低電平有效,RD為讀使能信號,高電平有效。在T0時刻的時鐘上升沿,鎖存地址ADDR1,在T1時刻的時鐘上升沿,才讀出RAM輸出的數(shù)據(jù),因此讀出一個數(shù)據(jù)需要兩個時鐘周期。這種類型的RAM掛在總線上,如果不做特殊處理,每次讀操作都要占用兩個時鐘周期,如此一來,系統(tǒng)訪問RAM的帶寬降低了一半。另一種方法是選用符合RAM接口的總線。ARM公司提出的AMBA(AdvancedMicrocontrollerBusArchitecture,高級微控制器總線架構(gòu))總線是目前業(yè)界使用最為廣泛的SoC系統(tǒng)總線。ARM公司在設(shè)計總線系統(tǒng)和RAM接口方案時已經(jīng)經(jīng)過了整體考慮,因此ARM提供的RAM可以很好的與AMBA總線兼容,在AHB總線上掛接RAM,并不需要做復(fù)雜的控制邏輯,就可以直接使用,讀/寫RAM操作的時候可以做到一個周期完成一次讀/寫操作。單從提高RAM訪問帶寬的角度來說,使用AHB總線很方便,但是它的總線仲裁、譯碼機(jī)制都比較復(fù)雜,在某些小型系統(tǒng)中,使用AHB總線會使整個系統(tǒng)的設(shè)計復(fù)雜度增加。

      技術(shù)實現(xiàn)要素:
      本發(fā)明要解決的主要技術(shù)問題是,提供一種多通道讀/寫RAM的電路和方法,在不提高系統(tǒng)時鐘頻率的條件下,利用簡單的邏輯控制機(jī)制,提高RAM的訪問帶寬。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下:一種多通道讀/寫RAM的電路,所述電路包括:至少兩個主設(shè)備、至少兩個總線橋、仲裁器和至少兩個RAM;所述每個主設(shè)備通過一個總線橋與所述仲裁器相連,所述至少兩個RAM都與所述仲裁器相連;所述主設(shè)備用于發(fā)出讀/寫所述RAM的系統(tǒng)總線信號;所述總線橋用于將所述系統(tǒng)總線信號轉(zhuǎn)換成RAM接口時序信號;所述RAM接口時序信號包括所要訪問的RAM地址信號;所述仲裁器用于對接收到的所述RAM接口時序信號進(jìn)行排序,并依據(jù)所述地址信號找到對應(yīng)的系統(tǒng)總線地址數(shù)據(jù),按照排序順序?qū)AM進(jìn)行讀/寫操作;所述至少兩個RAM中存儲有按照預(yù)定系統(tǒng)總線地址數(shù)據(jù)的分配方式分配的系統(tǒng)總線地址數(shù)據(jù),所述至少兩個RAM中各自存儲的系統(tǒng)總線地址數(shù)據(jù)組成一串連續(xù)的系統(tǒng)總線地址數(shù)據(jù)。進(jìn)一步地,所述預(yù)定系統(tǒng)總線地址數(shù)據(jù)的分配方式為:設(shè)有k個RAM,n為每個RAM中系統(tǒng)總線地址數(shù)據(jù)的地址位,n、k均取正整數(shù),k1為k塊中的任意一個RAM編號,n1為任意一個RAM中任意一個地址位,則在k1RAM中每個地址位的系統(tǒng)總線地址數(shù)據(jù)依次為:(1-1)k+k1、(2-1)k+k1、......、(n1-1)k+k1、......(n-1)k+k1;其中0≤k1≤k,0≤n1≤n,k1、n1均為正整數(shù)。更進(jìn)一步地,所述總線橋還包括一個預(yù)讀處理單元,所述預(yù)讀處理單元用于對所述系統(tǒng)總線地址數(shù)據(jù)進(jìn)行預(yù)讀處理。更進(jìn)一步地,所述電路包括第一主設(shè)備、第二主設(shè)備和第三主設(shè)備,所述第一主設(shè)備的優(yōu)先級高于第二主設(shè)備,所述第二主設(shè)備的優(yōu)先級高于第三主設(shè)備;在第一主設(shè)備和第二主設(shè)備的總線上,其所述總線橋與所述仲裁器之間連接有一個多路器,所述多路器用于在將所在總線上未被所述仲裁器響應(yīng)的RAM接口時序信號掛起,待上一RAM接口時序信號訪問完畢,所述多路器將掛起的RAM接口時序信號再次發(fā)送給所述仲裁器仲裁。更進(jìn)一步地,所述仲裁器按照所述主設(shè)備訪問所述RAM的優(yōu)先級對所述主設(shè)備對應(yīng)的RAM接口時序信號進(jìn)行排序。更進(jìn)一步地,所述第一主設(shè)備為串行外設(shè)接口,第二主設(shè)備為直接存儲器訪問,第三主設(shè)備為微碼引擎。本發(fā)明還提供一種多通道讀/寫RAM的方法,包括以下步驟:主設(shè)備發(fā)出讀/寫RAM的系統(tǒng)總線信號;總線橋接收所述系統(tǒng)總線信號,并將其轉(zhuǎn)換為RAM接口時序信號,并發(fā)送給仲裁器,所述RAM接口時序信號包括所要訪問的RAM地址信號;所述仲裁器對接收到的所述RAM接口時序信號進(jìn)行排序,并依據(jù)所述地址信號找到相應(yīng)的系統(tǒng)總線地址數(shù)據(jù),按照排序順序訪問對應(yīng)的RAM;所述RAM接收對應(yīng)的RAM接口時序信號,完成讀/寫操作;其中,所述RAM中存儲有按照預(yù)定系統(tǒng)總線地址數(shù)據(jù)的分配方式分配的系統(tǒng)總線地址數(shù)據(jù),所述至少兩個RAM中各自存儲的系統(tǒng)總線地址數(shù)據(jù)組成一串連續(xù)的系統(tǒng)總線地址數(shù)據(jù)。進(jìn)一步地,所述預(yù)定系統(tǒng)總線地址數(shù)據(jù)的分配方式為:設(shè)有k個RAM,n為每個RAM中系統(tǒng)總線地址數(shù)據(jù)的地址位,n、k均取正整數(shù),k1為k塊中的任意一個RAM編號,n1為任意一個RAM中任意一個地址位,則在k1RAM中每個地址位的系統(tǒng)總線地址數(shù)據(jù)依次為:(1-1)k+k1、(2-1)k+k1、......、(n1-1)k+k1、......(n-1)k+k1;其中0≤k1≤k,0≤n1≤n,k1、n1均為正整數(shù)。更進(jìn)一步地,所述總線橋在所述主設(shè)備對所述RAM進(jìn)行讀/寫操作時,預(yù)讀總線地址數(shù)據(jù)。更進(jìn)一步地,在所述仲裁器按照所述主設(shè)備訪問所述RAM的優(yōu)先級對其對應(yīng)的RAM接口時序信號進(jìn)行排序后,多路器將未得到所述仲裁器響應(yīng)的RAM接口時序信號掛起,待上一RAM接口時序信號訪問完畢,所述多路器將掛起的RAM接口時序信號再次發(fā)送給所述仲裁器仲裁。更進(jìn)一步地,所述仲裁器按照所述主設(shè)備訪問所述RAM的優(yōu)先級對所述主設(shè)備對應(yīng)的RAM接口時序信號進(jìn)行排序。本發(fā)明的有益效果是:通過在不提高系統(tǒng)時鐘頻率的情況下,在電路中設(shè)置多個RAM,使RAM的訪問帶寬得到了較大提高,且不增加系統(tǒng)的平均功耗;因該訪問電路控制邏輯簡單,設(shè)計成本較低,所以在系統(tǒng)中容易實現(xiàn)。附圖說明圖1為現(xiàn)有Master讀取RAM時序圖;圖2為本發(fā)明一實施例中多通道讀/寫RAM的電路的電路圖;圖3為本發(fā)明一實施例中SPI主讀RAM的時序圖;圖4為本發(fā)明又一實施例中多通道讀/寫RAM的電路的電路圖;圖5為本發(fā)明一實施例中多通道讀/寫RAM的方法的流程圖。具體實施方式為使本發(fā)明的技術(shù)方案和優(yōu)點更加清楚,下面通過具體實施方式結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)說明。在本申請中,總體的發(fā)明思路為:為了提高RAM訪問帶寬,在電路中設(shè)置多個RAM,且多個RAM能同時接受總線上的多個Master的讀/寫操作。具體的實現(xiàn)方法如下:本發(fā)明提供一種多通道讀/寫RAM的電路,其中包括至少兩個主設(shè)備、至少兩個總線橋、仲裁器和至少兩個RAM;其中,每個主設(shè)備通過一個總線橋與仲裁器相連,至少兩個RAM都與仲裁器相連。Master用于發(fā)出讀/寫RAM的系統(tǒng)總線信號,并將其傳遞給總線橋進(jìn)行轉(zhuǎn)換??偩€橋不僅用于將系統(tǒng)總線信號轉(zhuǎn)換成RAM接口時序信號;還用于對所述系統(tǒng)總線地址數(shù)據(jù)進(jìn)行預(yù)讀處理,其中所述RAM接口時序信號包括RAM地址信號、讀/寫信號,若為寫操作時,還應(yīng)當(dāng)包括寫入數(shù)據(jù)。而仲裁器則用于對接收到的RAM接口時序信號進(jìn)行排序,并依據(jù)所述地址信號找到對應(yīng)的系統(tǒng)總線地址數(shù)據(jù),按照排序順序?qū)υ撓到y(tǒng)總線地址數(shù)據(jù)對應(yīng)的RAM進(jìn)行讀/寫操作;其中,排序的方式可以有多種規(guī)則,較常用的,一般可按照總線上Master訪問RAM的優(yōu)先級來進(jìn)行判斷排序,優(yōu)先級高的Master,仲裁器207優(yōu)先響應(yīng)其訪問請求。而為了實現(xiàn)提高訪問帶寬的目的,各個RAM按照預(yù)定系統(tǒng)總線地址數(shù)據(jù)的分配方式交替存儲系統(tǒng)總線地址數(shù)據(jù),各個RAM中存儲的系統(tǒng)總線地址數(shù)據(jù)組 成一個連續(xù)的系統(tǒng)總線地址數(shù)據(jù),例如:若存在兩個RAM,則在其中一個中存放系統(tǒng)總線奇地址數(shù)據(jù),在另一個中存放系統(tǒng)總線偶地址數(shù)據(jù);若存在k個RAM,則按表1中的分配方式對系統(tǒng)總線地址數(shù)據(jù)進(jìn)行分配,設(shè)n為每個RAM中系統(tǒng)總線地址數(shù)據(jù)的地址位,n、k均取正整數(shù),k1為k塊中的任意一個RAM編號,n1為任意一個RAM中任意一個地址位,則在k1RAM中每個地址位的系統(tǒng)總線地址數(shù)據(jù)依次為:(1-1)k+k1、(2-1)k+k1、......、(n1-1)k+k1、......(n-1)k+k1;其中0≤k1≤k,0≤n1≤n,k1、n1均為正整數(shù)。設(shè)系統(tǒng)總線地址數(shù)據(jù)為1、2、3......n(n≥1)。表1下面將具體以三個Master及兩個RAM的情況對本實施例進(jìn)行詳細(xì)說明,但應(yīng)該清楚,本申請的技術(shù)方案并不局限于此一種情況,還可以有多種實現(xiàn)形式。請參考圖2,在本實施例中,多通道讀/寫RAM的電路包括三個Master, 分別為第一主設(shè)備、第二主設(shè)備和第三主設(shè)備;其中,第一主設(shè)備為SPI主(SerialPeripheralInterfaceMaster,串行外設(shè)接口)201,第二主設(shè)備為DMA(DirectMemoryAccess,直接存儲器訪問)202,第三主設(shè)備為微碼引擎203。它們訪問RAM的優(yōu)先級是SPI主201>DMA202>微碼引擎203,總線橋?qū)PI主201、DMA202和微碼引擎203訪問RAM的系統(tǒng)總線信號轉(zhuǎn)換為符合RAM接口時序的信號。請參考圖3,為了提高SPI主201讀RAM的速度,在總線橋204中還包括一個預(yù)讀處理單元2041,該預(yù)讀處理單元主要對讀取系統(tǒng)總線地址數(shù)據(jù)做預(yù)讀處理,即讀RAM的總線地址自動加一,SPI主201讀RAM的總線時序如圖3所示。其中,SpiAck為總線應(yīng)答信號,只有當(dāng)該信號為高時,讀數(shù)據(jù)總線上的SpiRdat才有效;SpiAdd是總線地址,而RamAdd是RAM地址線,從圖3中可以看出,從讀信號SpiRd為高的第二個時鐘周期開始,RamAdd總是超前SpiAdd一個周期,作為預(yù)讀RAM的地址。這樣的設(shè)置使Master向RAM寫N個字節(jié)的數(shù)據(jù)可以在N個系統(tǒng)時鐘周期內(nèi)完成,而從RAM連續(xù)讀N個字節(jié)的數(shù)據(jù)可以在N+1個系統(tǒng)時鐘周期內(nèi)完成?;谕瑯拥陌l(fā)明思路,還可以在其他系統(tǒng)總線上的總線橋設(shè)置預(yù)讀處理模塊,以達(dá)到同樣的技術(shù)效果。請參考圖4,在仲裁器207判斷Master優(yōu)先級過程中,為了進(jìn)一步提高仲裁器處理效率,還可與多路器進(jìn)行配合,多路器設(shè)置在總線橋與仲裁器之間,其作用是將所在總線上未被仲裁器響應(yīng)的RAM接口時序信號掛起,待上一RAM接口時序信號訪問完畢,多路器將掛起的RAM接口時序信號再次發(fā)送給所述仲裁器仲裁,因優(yōu)先級最高的Master發(fā)出的訪問請求在任何時刻都能得到相應(yīng),所以在其總線上可不設(shè)置多路器。如圖4,多路器401用于判斷上一次的DMA202RAM接口時序信號是否得到 響應(yīng),如果沒有得到響應(yīng),則將上次的RAM接口時序信號輸出給仲裁器207,RAM接口時序信號包括讀/寫信號以及地址信號。如果上次DMA202訪問得到了響應(yīng),則將當(dāng)前的RAM接口時序信號輸出給仲裁器207。多路器402的作用和多路器401的作用相同,只不過它判斷的對象是微碼引擎203。3個Master的訪問請求輸出給仲裁器207,仲裁器207根據(jù)各Master訪問RAM的優(yōu)先級響應(yīng)Master的請求。由于有兩個RAM,因此在同一時刻最多有兩個Master的訪問請求可以得到響應(yīng)。其中,RAM0208存放的是總線奇地址數(shù)據(jù),RAM1209存放的是總線偶地址數(shù)據(jù)。仲裁器的仲裁機(jī)制是:SPI主201的優(yōu)先級最高,任何時刻SPI主201的訪問請求都可以在當(dāng)拍得到響應(yīng)。如果SPI主201訪問的總線地址數(shù)據(jù)為奇地址,則仲裁器將SPI主201的訪問請求交給RAM0208,否則交給RAM1209。當(dāng)DMA202有訪問請求時,仲裁器會判斷DMA202要訪問的RAM是否正在被SPI主201訪問,如果是,則不會響應(yīng)當(dāng)前的DMA201訪問請求,直到下一拍SPI主201將DMA202要訪問的RAM空間釋放。如果DMA202和SPI201主同時要對某一個RAM(RAM0或者RAM1)進(jìn)行訪問,則仲裁器207會響應(yīng)SPI主201的訪問,而將DMA202的訪問請求掛起,直到SPI主201將這個RAM空間釋放。仲裁器207對微碼引擎203的處理機(jī)制和對DMA202的處理一樣,只不過它的優(yōu)先級比DMA202更低。在本發(fā)明中,還提供一種多通道讀/寫RAM的方法,具體步驟為:步驟501:Master發(fā)出讀/寫RAM的系統(tǒng)總線信號;在該步驟中,根據(jù)其所要訪問的RAM,發(fā)出相應(yīng)的系統(tǒng)總線信號,其中可包括讀/寫信號以及要訪問的地址信號,進(jìn)一步,若需對RAM進(jìn)行寫操作,還 應(yīng)該包括寫入數(shù)據(jù)。步驟503:總線橋接收系統(tǒng)總線信號,并將其轉(zhuǎn)換為RAM接口時序信號,并發(fā)送給仲裁器;在該步驟中,總線橋?qū)⒔邮盏南到y(tǒng)總線信號轉(zhuǎn)換為符合RAM接口的RAM接口時序信號,在該信號中依然含有Master所要訪問的RAM讀/寫信號以及RAM地址信號,若是對RAM進(jìn)行寫操作,則還需包括寫入數(shù)據(jù)。進(jìn)一步地,總線橋還可以在Master對所述RAM進(jìn)行讀/寫操作時,預(yù)讀總線地址數(shù)據(jù),即讀RAM的總線地址自動加一。這樣的設(shè)置使Master向RAM寫N個字節(jié)的數(shù)據(jù)可以在N個系統(tǒng)時鐘周期內(nèi)完成,而從RAM連續(xù)讀N個字節(jié)的數(shù)據(jù)可以在N+1個系統(tǒng)時鐘周期內(nèi)完成。步驟505:仲裁器對接收到的RAM接口時序信號進(jìn)行排序,并依據(jù)所述地址信號找到相應(yīng)的系統(tǒng)總線地址數(shù)據(jù),按照排序順序訪問對應(yīng)的RAM;在該步驟中,仲裁器對接收到的RAM接口時序信號進(jìn)行排序,并依據(jù)地址信號找到對應(yīng)的系統(tǒng)總線地址數(shù)據(jù),按照排序順序?qū)υ撓到y(tǒng)總線地址數(shù)據(jù)對應(yīng)的RAM進(jìn)行讀/寫操作;其中,排序的方式可以有多種規(guī)則,較常用的,一般可按照總線上Master訪問RAM的優(yōu)先級來進(jìn)行判斷排序,優(yōu)先級高的Master,當(dāng)其所要訪問的RAM為空閑狀態(tài)時,仲裁器則優(yōu)先響應(yīng)其訪問請求。因存在多個RAM,仲裁器根據(jù)各個RAM的空閑情況相應(yīng)Master的訪問請求,若有N個RAM,則可同時由N個Master對其進(jìn)行訪問。而為了進(jìn)一步提高仲裁器處理效率,仲裁器還可與多路器進(jìn)行配合,多路器將所在總線上未被仲裁器響應(yīng)的RAM接口時序信號掛起,待上一RAM接口時序信號訪問完畢,多路器將掛起的RAM接口時序信號再次發(fā)送給所述仲裁器仲 裁,因優(yōu)先級最高的Master發(fā)出的訪問請求在任何時刻都能得到相應(yīng),所以在優(yōu)先級最高的總線上可不設(shè)置多路器。步驟507:RAM接收對應(yīng)的RAM接口時序信號,完成讀/寫操作。因存在多個RAM,而為了最大限度的提高帶寬,各個RAM按照預(yù)定系統(tǒng)總線地址數(shù)據(jù)的分配方式交替存儲系統(tǒng)總線地址數(shù)據(jù),例如:存在兩個RAM,則在其中一個中存放系統(tǒng)總線奇地址數(shù)據(jù),在另一個RAM中存放系統(tǒng)總線偶地址數(shù)據(jù)。仲裁器根據(jù)當(dāng)前最高RAM接口時序信號中的地址信號,查看所屬RAM是否空閑,若空閑,響應(yīng)Master訪問請求,對應(yīng)的RAM根據(jù)讀/寫請求完成讀/寫操作;若存在多個RAM,則其中系統(tǒng)總線地址數(shù)據(jù)的存儲方式為:設(shè)有k個RAM,n為每個RAM中系統(tǒng)總線地址數(shù)據(jù)的地址位,n、k均取正整數(shù),k1為k塊中的任意一個RAM編號,n1為任意一個RAM中任意一個地址位,則在k1RAM中每個地址位的系統(tǒng)總線地址數(shù)據(jù)依次為:(1-1)k+k1、(2-1)k+k1、......、(n1-1)k+k1、......(n-1)k+k1;其中0≤k1≤k,0≤n1≤n,k1、n1均為正整數(shù)。以上內(nèi)容是結(jié)合具體的實施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1