国产精品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>

      一種讀取數(shù)據(jù)的方法及裝置的制作方法

      文檔序號(hào):6573391閱讀:226來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):一種讀取數(shù)據(jù)的方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種讀取數(shù)據(jù)的方法及裝置。
      背景技術(shù)
      隨著移動(dòng)設(shè)備的發(fā)展,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM,SynchronousDynamic random access memory)作為一種大容量、低價(jià)格、高速度的存儲(chǔ)設(shè)備得到了廣泛應(yīng)用。
      中央處理器(CPU,Center Process Unit)訪問(wèn)SDRAM的方式包括兩種,一種是一次讀/寫(xiě)單字或單字節(jié)數(shù)據(jù)(Single方式),另外一種是一次讀/寫(xiě)一段連續(xù)地址的多字或多字節(jié)數(shù)據(jù)(burst方式),不論是single方式還是burst方式,訪問(wèn)過(guò)程都分為行激活(Row Active)、讀/寫(xiě)SDRAM、行關(guān)閉(Precharge)三個(gè)具體過(guò)程,當(dāng)進(jìn)行讀操作時(shí),發(fā)出讀命令后還要經(jīng)過(guò)一定延遲時(shí)間(tCAS)才能得到讀出的數(shù)據(jù),因此,完成一次讀操作的延遲時(shí)間為行激活(tRCD)時(shí)間與讀延遲(tCAS)時(shí)間的總和。
      CPU在某些情況下會(huì)對(duì)SDRAM進(jìn)行連續(xù)地址單字或單字節(jié)讀取數(shù)據(jù)的操作,例如,中央處理器對(duì)一塊區(qū)域的數(shù)據(jù)進(jìn)行搬移,這時(shí)每一次的SDRAM訪問(wèn)都是單字或單字節(jié)的讀操作,因此,每次都要等待(tRCD+tCAS)的延遲時(shí)間,效率很低。
      綜上,現(xiàn)有技術(shù)CPU對(duì)SDRAM進(jìn)行連續(xù)地址單字或單字節(jié)讀取數(shù)據(jù)的操作效率低。

      發(fā)明內(nèi)容
      本發(fā)明提供一種讀取數(shù)據(jù)的方法及裝置,用以解決現(xiàn)有技術(shù)CPU對(duì)SDRAM進(jìn)行連續(xù)地址單字或單字節(jié)讀取數(shù)據(jù)的操作效率低的問(wèn)題。
      本發(fā)明方法,應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址,該方法包括以下步驟根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器。
      該方法包括根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器。
      將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器的步驟之前,還包括判斷所述地址對(duì)應(yīng)的數(shù)據(jù)是否有效的步驟,當(dāng)所述地址對(duì)應(yīng)的數(shù)據(jù)有效時(shí),將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器。
      當(dāng)所述中央處理器向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)數(shù)據(jù)時(shí),并且當(dāng)預(yù)先保存的地址中包括該地址時(shí),將所述預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)設(shè)置為無(wú)效數(shù)據(jù)。
      本發(fā)明裝置,應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,該裝置包括控制數(shù)據(jù)讀取單元,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址,根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器。
      所述控制數(shù)據(jù)讀取單元包括控制單元,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并將該數(shù)據(jù)以及該數(shù)據(jù)的地址發(fā)送給預(yù)讀緩存單元;根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器;預(yù)讀緩存單元,用于保存所述數(shù)據(jù)以及所述數(shù)據(jù)對(duì)應(yīng)的地址。
      所述控制單元包括
      數(shù)據(jù)讀取單元,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并將該數(shù)據(jù)以及該數(shù)據(jù)的地址發(fā)送給預(yù)讀緩存單元;判斷單元,用于根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,判斷預(yù)先保存的地址中是否包括該地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),觸發(fā)數(shù)據(jù)發(fā)送單元;數(shù)據(jù)發(fā)送單元,用于將預(yù)先存儲(chǔ)在所述預(yù)讀緩存單元中的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器。
      所述判斷單元包括第一判斷單元,用于根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,判斷預(yù)先保存的地址中是否包括該地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),觸發(fā)第二判斷單元;第二判斷單元,用于判斷所述預(yù)讀緩存單元中與所述中央處理器需要讀取的數(shù)據(jù)地址對(duì)應(yīng)的數(shù)據(jù)是否有效,如果是,則觸發(fā)所述數(shù)據(jù)發(fā)送單元。
      該裝置還包括設(shè)置單元,用于當(dāng)所述中央處理器向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)入的數(shù)據(jù)的地址保存在所述預(yù)讀緩存單元中時(shí),將所述預(yù)讀緩存單元中保存的與該地址對(duì)應(yīng)的數(shù)據(jù)設(shè)置為無(wú)效數(shù)據(jù)。
      所述預(yù)讀緩存單元包括第一預(yù)讀緩存單元和第二預(yù)讀緩存單元;所述控制單元還包括更新單元,用于當(dāng)所述第一預(yù)讀緩存單元中存儲(chǔ)的數(shù)據(jù)全部被讀取之后,利用所述第二預(yù)讀緩存單元中存儲(chǔ)的數(shù)據(jù)更新所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù);所述數(shù)據(jù)發(fā)送單元,用于將所述第一預(yù)讀緩存單元中存儲(chǔ)的所述中央處理器需要讀取的數(shù)據(jù)返回給所述中央處理器。
      本發(fā)明應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,通過(guò)從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址,根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器的技術(shù)方案,能夠大幅度提高CPU以單字或單字節(jié)方式從SDRAM中讀取一段連續(xù)地址數(shù)據(jù)的工作效率。


      圖1為本發(fā)明方法的流程示意圖;圖2-A為本發(fā)明方法實(shí)施例中預(yù)讀緩存單元的結(jié)構(gòu)示意圖;圖2-B為本發(fā)明方法實(shí)施例的流程示意圖;圖3為本發(fā)明裝置實(shí)施例的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式
      本發(fā)明應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,通過(guò)提供一種讀取數(shù)據(jù)的方法及裝置,從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址,根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器,通過(guò)本發(fā)明提供的技術(shù)方案能夠大幅度提高CPU以單字或單字節(jié)方式(single方式)從SDRAM中讀取一段連續(xù)地址數(shù)據(jù)的效率。
      參見(jiàn)圖1,本發(fā)明方法,應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,該方法包括步驟S101、從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址;S102、根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器;較佳地,步驟S102包括根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器;
      較佳地,將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器的步驟之前,還包括判斷所述地址對(duì)應(yīng)的數(shù)據(jù)是否有效的步驟,當(dāng)所述地址對(duì)應(yīng)的數(shù)據(jù)有效時(shí),將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器;較佳地,當(dāng)所述中央處理器向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)數(shù)據(jù)時(shí),并且當(dāng)預(yù)先保存的地址中包括該地址時(shí),將所述預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)設(shè)置為無(wú)效數(shù)據(jù)。
      本發(fā)明方法實(shí)施例中,從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并將該數(shù)據(jù)以及該數(shù)據(jù)的地址保存在預(yù)先設(shè)置的預(yù)讀緩存單元中,如圖2-A所示,該預(yù)讀緩存單元包括第一預(yù)讀緩存單元和第二預(yù)讀緩存單元,其中,所述第一預(yù)讀緩存單元包括第一標(biāo)志寄存器、第一地址寄存器和第一數(shù)據(jù)寄存器,所述第二預(yù)讀緩存單元包括第二標(biāo)志寄存器、第二地址寄存器和第二數(shù)據(jù)寄存器;所述第一數(shù)據(jù)寄存器,用于存儲(chǔ)所述第一段連續(xù)地址的數(shù)據(jù);所述第一地址寄存器,用于存儲(chǔ)所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)的地址,該地址為有效數(shù)據(jù)的來(lái)源地址,或者將要讀取的數(shù)據(jù)的地址;所述第一標(biāo)志寄存器,用于存儲(chǔ)用于標(biāo)記所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)是否有效的標(biāo)識(shí);所述第二數(shù)據(jù)寄存器,用于存儲(chǔ)所述第二段連續(xù)地址的數(shù)據(jù);所述第二地址寄存器,用于存儲(chǔ)所述第二數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)的地址,該地址為有效數(shù)據(jù)的來(lái)源地址,或者將要讀取的數(shù)據(jù)的地址;所述第二標(biāo)志寄存器,用于存儲(chǔ)標(biāo)記所述第二數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)是否有效的標(biāo)識(shí);其中,以第一預(yù)讀緩存單元為例進(jìn)行說(shuō)明,如果所述第一標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)為有無(wú)效標(biāo)識(shí),當(dāng)CPU向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù)時(shí),并且當(dāng)所述第一地址寄存器保存的地址中包括該數(shù)據(jù)的地址時(shí),則說(shuō)明與所述地址對(duì)應(yīng)的存儲(chǔ)在所述第一數(shù)據(jù)寄存器中的數(shù)據(jù)已經(jīng)無(wú)效,不應(yīng)再被讀取,因此,需要將所述第一標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為無(wú)效標(biāo)識(shí);所述預(yù)讀緩存單元還可以由兩個(gè)以上多個(gè)預(yù)讀緩存單元構(gòu)成,本發(fā)明實(shí)施例中以所述預(yù)讀緩存單元包括兩個(gè)預(yù)讀緩存單元為例進(jìn)行說(shuō)明;
      參見(jiàn)圖2-B,本發(fā)明方法實(shí)施例,應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,具體包括步驟S201、根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),將所述數(shù)據(jù)存儲(chǔ)在第一數(shù)據(jù)寄存器中,將所述數(shù)據(jù)的地址存儲(chǔ)在第一地址寄存器,并將第一標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為有效標(biāo)識(shí);本實(shí)施例中央處理器將讀取起始地址為0的一段連續(xù)地址的數(shù)據(jù);SDRAM數(shù)據(jù)總線寬度為四字節(jié);中央處理器從地址0讀取一個(gè)字節(jié)數(shù)據(jù),由于數(shù)據(jù)總線寬度為四字節(jié),所以一次讀出連續(xù)四個(gè)字節(jié)的數(shù)據(jù),這時(shí)預(yù)讀緩存的各個(gè)單元均為無(wú)效,所以將地址0存入第一地址寄存器,將讀出的數(shù)據(jù)存入第一數(shù)據(jù)寄存器,第一標(biāo)志寄存器存儲(chǔ)的標(biāo)志設(shè)置為有效;同時(shí),將地址4存入第二地址寄存器,將第二標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為無(wú)效標(biāo)識(shí);S202、當(dāng)沒(méi)有設(shè)備訪問(wèn)所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器時(shí),將所述第二地址寄存器存儲(chǔ)的地址所對(duì)應(yīng)的數(shù)據(jù)從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀出,并存入第二數(shù)據(jù)寄存器,并將所述第二標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為有效標(biāo)識(shí);當(dāng)沒(méi)有設(shè)備訪問(wèn)SDRAM時(shí),進(jìn)行預(yù)讀操作,讀取SDRAM地址4中的數(shù)據(jù),將讀取的數(shù)據(jù)存入所述第二數(shù)據(jù)寄存器,同時(shí),將所述第二標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為有效標(biāo)識(shí);S203、當(dāng)所述第一數(shù)據(jù)寄存器中的數(shù)據(jù)被讀取之后,通過(guò)所述第二數(shù)據(jù)寄存器中的數(shù)據(jù)更新所述第一數(shù)據(jù)寄存器中的數(shù)據(jù),通過(guò)該數(shù)據(jù)的地址更新所述第一地址寄存器存儲(chǔ)的地址;為了提高CPU讀取數(shù)據(jù)的速度,可以通過(guò)第二預(yù)讀緩存單元存儲(chǔ)的數(shù)據(jù)更新第一預(yù)讀緩存單元存儲(chǔ)的數(shù)據(jù),即當(dāng)所述第一數(shù)據(jù)寄存器中的數(shù)據(jù)全部被讀取之后,通過(guò)所述第二數(shù)據(jù)寄存器中的數(shù)據(jù)更新所述第一數(shù)據(jù)寄存器中的數(shù)據(jù),通過(guò)該數(shù)據(jù)的地址更新所述第一地址寄存器存儲(chǔ)的地址,CPU只需從第一預(yù)讀緩存單元中讀取數(shù)據(jù);同時(shí),將地址8存入第二地址寄存器,將第二標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為無(wú)效標(biāo)識(shí),并進(jìn)行步驟S202,依此類(lèi)推,直到中央處理器讀取數(shù)據(jù)的操作完畢;S204、判斷所述第一地址寄存器存儲(chǔ)的地址與需要讀取的數(shù)據(jù)的地址是否相同,如果是,則進(jìn)行步驟S205,否則,進(jìn)行步驟S207;S205、判斷所述第一標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)是否是有效標(biāo)識(shí),如果是,則進(jìn)行步驟S206,否則,進(jìn)行步驟S207;所述標(biāo)志寄存器用來(lái)標(biāo)記本預(yù)讀緩存單元中存儲(chǔ)的數(shù)據(jù)是否是從SDRAM中讀出的有效數(shù)據(jù);當(dāng)所述中央處理器向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)數(shù)據(jù)時(shí),并且當(dāng)預(yù)先保存在所述第一地址寄存器中的地址中包括該數(shù)據(jù)的地址時(shí),則將所述第一標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為無(wú)效標(biāo)識(shí);同理,當(dāng)所述中央處理器向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)數(shù)據(jù)時(shí),并且當(dāng)預(yù)先保存在所述第二地址寄存器中的地址中包括該數(shù)據(jù)的地址時(shí),則將所述第二標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為無(wú)效標(biāo)識(shí);S206、讀取所述第一數(shù)據(jù)寄存器存儲(chǔ)的數(shù)據(jù);由于地址1中的數(shù)據(jù)已經(jīng)存在第一預(yù)讀緩存單元中,所以可以立刻返給所述中央處理器,省去了現(xiàn)有技術(shù)從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的延遲時(shí)間tRCD+tCAS;S207、根據(jù)所述地址從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)。
      參見(jiàn)圖3,本發(fā)明一種讀取數(shù)據(jù)的裝置的實(shí)施例,應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,該裝置包括控制數(shù)據(jù)讀取單元31;所述控制數(shù)據(jù)讀取單元31包括控制單元311、預(yù)讀緩存單元312和設(shè)置單元313;
      所述控制單元311包括數(shù)據(jù)讀取單元3111、判斷單元3112、數(shù)據(jù)發(fā)送單元3113和更新單元3114;所述判斷單元3112包括第一判斷單元31121和第二判斷單元31122;所述預(yù)讀緩存單元312包括第一預(yù)讀緩存單元3121和第二預(yù)讀緩存單元3122;所述控制數(shù)據(jù)讀取單元31,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址,根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器;其中,所述控制單元311,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并將該數(shù)據(jù)以及該數(shù)據(jù)的地址發(fā)送給預(yù)讀緩存單元312;根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器;所述數(shù)據(jù)讀取單元3111,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并將該數(shù)據(jù)以及該數(shù)據(jù)的地址發(fā)送給預(yù)讀緩存單元312;所述判斷單元3112,用于根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,判斷預(yù)先保存的地址中是否包括該地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),觸發(fā)數(shù)據(jù)發(fā)送單元3113;所述第一判斷單元31121,用于根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,判斷預(yù)先保存的地址中是否包括該地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),觸發(fā)第二判斷單元31122;所述第二判斷單元31122,用于判斷所述預(yù)讀緩存單元312中與所述中央處理器需要讀取的數(shù)據(jù)地址對(duì)應(yīng)的數(shù)據(jù)是否有效,如果是,則觸發(fā)所述數(shù)據(jù)發(fā)送單元3113;所述數(shù)據(jù)發(fā)送單元3113,用于將預(yù)先存儲(chǔ)在所述預(yù)讀緩存單元312中的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器;所述更新單元3114,用于當(dāng)所述第一預(yù)讀緩存單元3121中存儲(chǔ)的數(shù)據(jù)全部被讀取之后,利用所述第二預(yù)讀緩存單元3122中存儲(chǔ)的數(shù)據(jù)更新所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù);則,所述數(shù)據(jù)發(fā)送單元3113,用于將所述第一預(yù)讀緩存單元3121中存儲(chǔ)的所述中央處理器需要讀取的數(shù)據(jù)返回給所述中央處理器;所述預(yù)讀緩存單元312,用于保存所述數(shù)據(jù)以及所述數(shù)據(jù)對(duì)應(yīng)的地址;所述設(shè)置單元313,用于當(dāng)所述中央處理器向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)入的數(shù)據(jù)的地址保存在所述預(yù)讀緩存單元312中時(shí),將所述預(yù)讀緩存單元312中保存的該地址對(duì)應(yīng)的數(shù)據(jù)設(shè)置為無(wú)效數(shù)據(jù);下面詳細(xì)介紹本實(shí)施例各單元的工作過(guò)程;較佳地,如圖2-A所示,所述第一預(yù)讀緩存單元包括第一數(shù)據(jù)寄存器,第一地址寄存器和第一標(biāo)志寄存器;所述第二預(yù)讀緩存單元包括第二數(shù)據(jù)寄存器,第二地址寄存器和第二標(biāo)志寄存器;所述數(shù)據(jù)讀取單元3111,從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取第一段連續(xù)地址的數(shù)據(jù),將該數(shù)據(jù)發(fā)送給所述第一數(shù)據(jù)寄存器,將該數(shù)據(jù)的地址發(fā)送給所述第一地址寄存器,并向所述設(shè)置單元發(fā)送第一觸發(fā)信號(hào);并且,將第二段連續(xù)地址發(fā)送給所述第二地址寄存器,在沒(méi)有單元訪問(wèn)所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器時(shí),從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取所述第二段連續(xù)地址對(duì)應(yīng)的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給所述第二數(shù)據(jù)寄存器,并向所述設(shè)置單元發(fā)送第二觸發(fā)信號(hào);所述設(shè)置單元313,接收到所述第一觸發(fā)信號(hào)后,將所述第一標(biāo)志寄存器存儲(chǔ)的用于標(biāo)記所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)是否有效的標(biāo)識(shí)設(shè)置為有效標(biāo)識(shí),將所述第二標(biāo)志寄存器存儲(chǔ)的用于標(biāo)記所述第二數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)是否有效的標(biāo)識(shí)設(shè)置為無(wú)效標(biāo)識(shí);在接收到所述第二觸發(fā)信號(hào)后,將所述第二標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為有效標(biāo)識(shí);所述第一數(shù)據(jù)寄存器,用于存儲(chǔ)所述第一段連續(xù)地址的數(shù)據(jù);所述第一地址寄存器,用于存儲(chǔ)所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)的地址;
      所述第一標(biāo)志寄存器,用于存儲(chǔ)用于標(biāo)記所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)是否有效的標(biāo)識(shí);所述第二數(shù)據(jù)寄存器,用于存儲(chǔ)所述第二段連續(xù)地址的數(shù)據(jù);所述第二地址寄存器,用于存儲(chǔ)所述第二數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)的地址;所述第二標(biāo)志寄存器,用于存儲(chǔ)標(biāo)記所述第二數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)是否有效的標(biāo)識(shí);所述第一判斷單元31121,根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,判斷所述第一地址寄存器預(yù)先保存的地址中是否包括該地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),觸發(fā)第二判斷單元31122;所述第二判斷單元31122,判斷所述第一標(biāo)志寄存器中存儲(chǔ)的標(biāo)識(shí)是否為有效標(biāo)識(shí),如果是,則觸發(fā)所述數(shù)據(jù)發(fā)送單元3113;所述數(shù)據(jù)發(fā)送單元3113,接收到所述第二判斷單元31122發(fā)送的觸發(fā)信號(hào)后,將存儲(chǔ)在所述第一數(shù)據(jù)寄存器中的所述中央處理器需要讀取的數(shù)據(jù)返回給所述中央處理器;所述更新單元3114,當(dāng)所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)全部被讀取之后,利用所述第二數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)更新所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù);并且,利用所述第二地址寄存器中存儲(chǔ)的地址更新所述第一地址寄存器中存儲(chǔ)的地址,同時(shí)觸發(fā)所述設(shè)置單元313;所述設(shè)置單元313,在接收到所述更新單元3114發(fā)送的觸發(fā)信號(hào)后,將所述第二標(biāo)志寄存器存儲(chǔ)的標(biāo)識(shí)設(shè)置為無(wú)效標(biāo)識(shí),并觸發(fā)所述數(shù)據(jù)讀取單元3111;所述數(shù)據(jù)讀取單元3111,在接收到所述設(shè)置單元313發(fā)送的觸發(fā)信號(hào)后,在沒(méi)有單元訪問(wèn)所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器時(shí),從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取第三段連續(xù)地址對(duì)應(yīng)的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給所述第二數(shù)據(jù)寄存器,并向所述設(shè)置單元313發(fā)送第二觸發(fā)信號(hào);
      依此類(lèi)推,直到中央處理器讀取數(shù)據(jù)的操作完畢;其中,所述第二段連續(xù)地址為所述第一段連續(xù)地址的下一段連續(xù)地址,所述第三段連續(xù)地址為所述第二段連續(xù)地址的下一段連續(xù)地址;綜上,所述預(yù)讀緩存單元312有以下幾種工作狀態(tài)有效當(dāng)中央處理器讀取單字節(jié)、雙字節(jié)或四字節(jié)的數(shù)據(jù),而目標(biāo)地址的數(shù)據(jù)不在預(yù)讀緩存單元312中時(shí),控制單元311從SDRAM中讀取數(shù)據(jù),將讀回的數(shù)據(jù)返給中央處理器的同時(shí),將目標(biāo)地址和相應(yīng)的數(shù)據(jù)存入第一預(yù)讀緩存單元3121,并將第一預(yù)讀緩存單元3121的標(biāo)志寄存器置為有效,同時(shí),將第二預(yù)讀緩存單元3122的標(biāo)志寄存器置為無(wú)效,第二預(yù)讀緩存單元3122的地址寄存器存入目標(biāo)地址的下一個(gè)地址;預(yù)讀當(dāng)?shù)谝活A(yù)讀緩存單元3121的標(biāo)志寄存器有效,而第二預(yù)讀緩存單元3122的標(biāo)志寄存器無(wú)效時(shí),如果沒(méi)有設(shè)備訪問(wèn)SDRAM,則控制單元311從SDRAM中讀取第二預(yù)讀緩存單元3122的地址寄存器所存儲(chǔ)的地址所對(duì)應(yīng)的數(shù)據(jù),將讀回的數(shù)據(jù)存入第二預(yù)讀緩存單元3122的數(shù)據(jù)寄存器,同時(shí)將第二預(yù)讀緩存單元3122的標(biāo)志寄存器置為有效;命中當(dāng)所述中央處理器需要讀取單字節(jié)、雙字節(jié)、四字節(jié)的數(shù)據(jù),而目標(biāo)地址的數(shù)據(jù)在預(yù)讀緩存單元312中時(shí),控制單元311直接將預(yù)讀緩存單元312中相應(yīng)的數(shù)據(jù)返給中央處理器,省去了延遲時(shí)間tRCD+tCAS;無(wú)效當(dāng)所述中央處理器向SDRAM中某個(gè)目標(biāo)地址中寫(xiě)數(shù)據(jù)時(shí),如果這個(gè)地址恰好在預(yù)讀緩存單元312中,則將相應(yīng)的預(yù)讀緩存單元中的標(biāo)志寄存器置為無(wú)效。
      顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
      權(quán)利要求
      1.一種讀取數(shù)據(jù)的方法,應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,其特征在于,從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址,該方法包括以下步驟根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器。
      2.如權(quán)利要求1所述的方法,其特征在于,該方法包括根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器。
      3.如權(quán)利要求2所述的方法,其特征在于,將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器的步驟之前,還包括判斷所述地址對(duì)應(yīng)的數(shù)據(jù)是否有效的步驟,當(dāng)所述地址對(duì)應(yīng)的數(shù)據(jù)有效時(shí),將預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器。
      4.如權(quán)利要求1所述的方法,其特征在于,當(dāng)所述中央處理器向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)數(shù)據(jù)時(shí),并且當(dāng)預(yù)先保存的地址中包括該地址時(shí),將所述預(yù)先存儲(chǔ)的與該地址對(duì)應(yīng)的數(shù)據(jù)設(shè)置為無(wú)效數(shù)據(jù)。
      5.一種讀取數(shù)據(jù)的裝置,應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,其特征在于,該裝置包括控制數(shù)據(jù)讀取單元,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址,根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器。
      6.如權(quán)利要求5所述的裝置,其特征在于,所述控制數(shù)據(jù)讀取單元包括控制單元,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并將該數(shù)據(jù)以及該數(shù)據(jù)的地址發(fā)送給預(yù)讀緩存單元;根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器;預(yù)讀緩存單元,用于保存所述數(shù)據(jù)以及所述數(shù)據(jù)對(duì)應(yīng)的地址。
      7.如權(quán)利要求6所述的裝置,其特征在于,所述控制單元包括數(shù)據(jù)讀取單元,用于從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并將該數(shù)據(jù)以及該數(shù)據(jù)的地址發(fā)送給預(yù)讀緩存單元;判斷單元,用于根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,判斷預(yù)先保存的地址中是否包括該地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),觸發(fā)數(shù)據(jù)發(fā)送單元;數(shù)據(jù)發(fā)送單元,用于將預(yù)先存儲(chǔ)在所述預(yù)讀緩存單元中的與該地址對(duì)應(yīng)的數(shù)據(jù)返回給所述中央處理器。
      8.如權(quán)利要求7所述的裝置,其特征在于,所述判斷單元包括第一判斷單元,用于根據(jù)中央處理器需要讀取的數(shù)據(jù)地址,判斷預(yù)先保存的地址中是否包括該地址,當(dāng)預(yù)先保存的地址中包括該地址時(shí),觸發(fā)第二判斷單元;第二判斷單元,用于判斷所述預(yù)讀緩存單元中與所述中央處理器需要讀取的數(shù)據(jù)地址對(duì)應(yīng)的數(shù)據(jù)是否有效,如果是,則觸發(fā)所述數(shù)據(jù)發(fā)送單元。
      9.如權(quán)利要求8所述的裝置,其特征在于,該裝置還包括設(shè)置單元,用于當(dāng)所述中央處理器向所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中寫(xiě)入的數(shù)據(jù)的地址保存在所述預(yù)讀緩存單元中時(shí),將所述預(yù)讀緩存單元中保存的與該地址對(duì)應(yīng)的數(shù)據(jù)設(shè)置為無(wú)效數(shù)據(jù)。
      10.如權(quán)利要求9所述的裝置,其特征在于,所述預(yù)讀緩存單元包括第一預(yù)讀緩存單元和第二預(yù)讀緩存單元;所述控制單元還包括更新單元,用于當(dāng)所述第一預(yù)讀緩存單元中存儲(chǔ)的數(shù)據(jù)全部被讀取之后,利用所述第二預(yù)讀緩存單元中存儲(chǔ)的數(shù)據(jù)更新所述第一數(shù)據(jù)寄存器中存儲(chǔ)的數(shù)據(jù);所述數(shù)據(jù)發(fā)送單元,用于將所述第一預(yù)讀緩存單元中存儲(chǔ)的所述中央處理器需要讀取的數(shù)據(jù)返回給所述中央處理器。
      全文摘要
      本發(fā)明公開(kāi)了一種讀取數(shù)據(jù)的方法及裝置,用以解決現(xiàn)有技術(shù)CPU對(duì)SDRAM進(jìn)行連續(xù)地址單字或單字節(jié)讀取數(shù)據(jù)的操作效率低的問(wèn)題。本發(fā)明方法,應(yīng)用于中央處理器以單字或單字節(jié)的方式從同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中讀取數(shù)據(jù)的系統(tǒng)中,從所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器中預(yù)先讀取一段連續(xù)地址的數(shù)據(jù),并保存該數(shù)據(jù)以及該數(shù)據(jù)的地址,該方法包括步驟根據(jù)所述中央處理器需要讀取的數(shù)據(jù)地址,將預(yù)先存儲(chǔ)的數(shù)據(jù)返回給所述中央處理器。本發(fā)明還公開(kāi)了一種讀取數(shù)據(jù)的裝置。本發(fā)明用于CPU以單字或單字節(jié)方式從SDRAM中讀取一段連續(xù)地址數(shù)據(jù),提高讀取數(shù)據(jù)的效率。
      文檔編號(hào)G06F12/08GK101021816SQ20071006466
      公開(kāi)日2007年8月22日 申請(qǐng)日期2007年3月22日 優(yōu)先權(quán)日2007年3月22日
      發(fā)明者張怡浩 申請(qǐng)人:北京中星微電子有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1