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

      嵌入式處理器系統(tǒng)及其數(shù)據(jù)操作方法

      文檔序號(hào):6644998閱讀:212來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):嵌入式處理器系統(tǒng)及其數(shù)據(jù)操作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)字處理系統(tǒng),更具體地說(shuō),涉及一種嵌入式處理器系統(tǒng)及其數(shù)據(jù)操作方法。
      背景技術(shù)
      現(xiàn)有的嵌入式處理器系統(tǒng)中,當(dāng)CPU進(jìn)行向主存儲(chǔ)器的寫(xiě)入操作時(shí),先將數(shù)據(jù)寫(xiě)入到寫(xiě)緩存器(Buffer)中,由于寫(xiě)緩存器訪問(wèn)速度很高,因而可以提高CPU的寫(xiě)入速度。寫(xiě)緩存器在適當(dāng)?shù)臅r(shí)候再以較低的速度將數(shù)據(jù)寫(xiě)入主存儲(chǔ)器的相應(yīng)位置。
      此外,還可在嵌入式處理器系統(tǒng)的處理器與主存儲(chǔ)器之間嵌入一個(gè)高速緩沖存儲(chǔ)器(Cache),例如馮·諾依曼結(jié)構(gòu)的高速緩沖存儲(chǔ)器,如圖1所示,可以提高該處理器的處理能力,進(jìn)一步減少CPU對(duì)主存儲(chǔ)器訪問(wèn)的等待時(shí)間,減少處理器外設(shè)功耗,使處理器能夠在單周期內(nèi)完成大多數(shù)數(shù)據(jù)和指令的讀寫(xiě)。
      高速緩沖存儲(chǔ)器相對(duì)于主存儲(chǔ)器比較小,位于處理器和操作速度比較低的主存儲(chǔ)器之間,其內(nèi)保存的是目前處理器正在使用的主存儲(chǔ)器的副本。高速緩沖存儲(chǔ)器與主存儲(chǔ)器之間以塊為單位進(jìn)行數(shù)據(jù)交換。當(dāng)CPU讀取數(shù)據(jù)或指令時(shí),同時(shí)將讀取到的數(shù)據(jù)或指令保存到高速緩沖存儲(chǔ)器中。根據(jù)程序的空間局部性和時(shí)間局部性,當(dāng)CPU第二次需要讀取相同或近似的數(shù)據(jù)時(shí),可以從相應(yīng)地高速緩存存儲(chǔ)塊中獲得數(shù)據(jù)。因?yàn)楦咚倬彌_存儲(chǔ)器的速度遠(yuǎn)大于主存儲(chǔ)器的速度,因而系統(tǒng)整體性能得到了很大的提高。
      處理器系統(tǒng)常用的高速緩沖存儲(chǔ)器主要有哈佛結(jié)構(gòu)的高速緩沖存儲(chǔ)器和馮·諾依曼結(jié)構(gòu)的高速緩沖存儲(chǔ)器兩種。哈佛結(jié)構(gòu)的高速緩沖存儲(chǔ)器使指令和數(shù)據(jù)的存放分離,包括指令高速緩存和數(shù)據(jù)高速緩存兩部分,因而指令的替換不會(huì)造成將要讀寫(xiě)的數(shù)據(jù)被丟棄的情況,即不會(huì)發(fā)生指令和數(shù)據(jù)之間的沖突缺失。馮·諾依曼結(jié)構(gòu)的高速緩沖存儲(chǔ)器中,指令預(yù)取和數(shù)據(jù)讀寫(xiě)在同一個(gè)高速緩存內(nèi)完成,通常由只有一個(gè)存儲(chǔ)器接口的處理器所使用。與哈佛結(jié)構(gòu)的高速緩沖存儲(chǔ)器相比,馮·諾依曼結(jié)構(gòu)的高速緩沖存儲(chǔ)器更容易造成數(shù)據(jù)和指令的沖突缺失。
      現(xiàn)有技術(shù)中的通用處理器(例如,個(gè)人電腦與工作站使用的處理器)使用哈佛結(jié)構(gòu)的高速緩沖存儲(chǔ)器,并使用單一寫(xiě)緩存器和專(zhuān)用的犧牲高速緩存(Victim Cache)結(jié)構(gòu)。如圖2所示,在高速緩存發(fā)生缺失要訪問(wèn)下層的主存儲(chǔ)器之前,檢查該犧牲高速緩存,如果找到需要的數(shù)據(jù),則將該犧牲高速緩存的數(shù)據(jù)塊與高速緩沖存儲(chǔ)器的數(shù)據(jù)塊替換。該處理器中,可緩存的寫(xiě)數(shù)據(jù)和寫(xiě)回法中臟塊的寫(xiě)出都使用同一個(gè)寫(xiě)緩存器,因而寫(xiě)緩存器通常大于或等于高速緩沖存儲(chǔ)器的數(shù)據(jù)塊的大小,而且替換的存儲(chǔ)塊寫(xiě)入寫(xiě)緩存器時(shí)需要等待寫(xiě)緩存器清空。極端的情況下,寫(xiě)緩存器存滿且有較多的非連續(xù)性操作時(shí),則等待寫(xiě)緩存器清空的時(shí)間可能會(huì)非常長(zhǎng),而且在這個(gè)等待周期中CPU流水線將被停頓,這造成了CPU性能的下降。這種設(shè)計(jì)雖然能夠有效的減少?zèng)_突缺失,但是對(duì)功耗和面積的考慮較少,不適用于嵌入式系統(tǒng),在嵌入式設(shè)計(jì)中使用一個(gè)塊長(zhǎng)度以上的寫(xiě)緩存和獨(dú)立的1-5路的犧牲高速緩存都將消耗較大的面積和功率。
      Cadence公司推出的處理器系統(tǒng)實(shí)現(xiàn)了統(tǒng)一寫(xiě)緩存結(jié)構(gòu)。該處理器系統(tǒng)采用指令和數(shù)據(jù)統(tǒng)一的馮·諾依曼結(jié)構(gòu)高速緩沖存儲(chǔ)器,4路級(jí)聯(lián),塊長(zhǎng)度為4,寫(xiě)緩存器的長(zhǎng)度為8,并采用寫(xiě)回法讀寫(xiě)策略以及LRU(最近最少使用)替換算法。該處理器中,寫(xiě)緩存器長(zhǎng)度大于塊長(zhǎng)度,可以減少數(shù)據(jù)替換及數(shù)據(jù)寫(xiě)出時(shí)的等待,但這造成了芯片面積的浪費(fèi),而且當(dāng)讀缺失發(fā)生時(shí),需要等待寫(xiě)緩存器清空的時(shí)間會(huì)很長(zhǎng),這將造成CPU在讀缺失時(shí)長(zhǎng)時(shí)間停頓流水線。該處理器沒(méi)有使用犧牲高速緩存,如果有較多的數(shù)據(jù)和指令塊被映射到同一組中時(shí),某一個(gè)塊被丟棄后可能又會(huì)被重新調(diào)用,這時(shí)將造成沖突缺失,從而降低高速緩沖存儲(chǔ)器的命中率。

      發(fā)明內(nèi)容
      本發(fā)明要解決的技術(shù)問(wèn)題在于,針對(duì)現(xiàn)有技術(shù)的上述不足,提供一種嵌入式處理器系統(tǒng)及其數(shù)據(jù)操作方法,在所述嵌入式處理器系統(tǒng)內(nèi)采用分離寫(xiě)緩存實(shí)現(xiàn)犧牲高速緩存的功能,從而提高處理器的讀寫(xiě)能力和命中率。
      為解決上述技術(shù)問(wèn)題,本發(fā)明所采用的技術(shù)方案是提供一種嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,包括比較處理器操作地址與高速緩沖存儲(chǔ)器內(nèi)的標(biāo)簽的同時(shí),將所述操作地址與替換寫(xiě)緩存器內(nèi)的地址進(jìn)行比較;如果所述替換寫(xiě)緩存器命中,則用替換寫(xiě)緩存器內(nèi)命中的數(shù)據(jù)塊替換高速緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)塊。
      在本發(fā)明所述的方法中,所述用替換寫(xiě)緩存器內(nèi)命中的數(shù)據(jù)塊替換高速緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)塊包括若所述替換寫(xiě)緩存器的傳輸狀態(tài)位為“1”,等待所述替換寫(xiě)緩存器的總線寫(xiě)操作完成并將所述傳輸狀態(tài)位置“0”;將所述替換寫(xiě)緩存器內(nèi)命中的數(shù)據(jù)塊讀入所述高速緩沖存儲(chǔ)器。
      本發(fā)明所述的方法還包括如果所述高速緩沖存儲(chǔ)器命中,處理器直接讀寫(xiě)高速緩沖存儲(chǔ)器內(nèi)命中的數(shù)據(jù)塊。
      本發(fā)明所述的方法還包括如果所述高速緩沖存儲(chǔ)器和所述替換寫(xiě)緩存器均未命中,處理器直接讀寫(xiě)主存儲(chǔ)器內(nèi)所述操作地址對(duì)應(yīng)的數(shù)據(jù),并將所述數(shù)據(jù)寫(xiě)入高速緩沖存儲(chǔ)器內(nèi)。
      本發(fā)明所述的方法還包括如果所述處理器讀操作地址不可高速緩存時(shí),清空所述通用寫(xiě)緩存器,然后直接從主存儲(chǔ)器讀取所述讀操作地址對(duì)應(yīng)的數(shù)據(jù)。
      本發(fā)明所述的方法還包括如果所述處理器寫(xiě)操作地址不可高速緩存時(shí),直接將數(shù)據(jù)寫(xiě)入所述通用寫(xiě)緩存器,由所述通用寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器。
      在本發(fā)明所述的方法中,如果高速緩沖存儲(chǔ)器內(nèi)將被替換的數(shù)據(jù)塊為臟塊,則將所述將被替換的數(shù)據(jù)塊寫(xiě)入替換寫(xiě)緩存器內(nèi),由替換寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器;如果高速緩沖存儲(chǔ)器內(nèi)將被替換的數(shù)據(jù)塊為干凈塊,則將其直接丟棄。
      本發(fā)明所述的方法還包括對(duì)高速緩沖存儲(chǔ)器讀寫(xiě)操作、通用寫(xiě)緩存器寫(xiě)操作和替換寫(xiě)緩存器寫(xiě)操作進(jìn)行優(yōu)先級(jí)判定。
      在本發(fā)明所述的方法中,所述優(yōu)先級(jí)為任何操作后續(xù)的連續(xù)操作優(yōu)先級(jí)最高,其次是高速緩沖存儲(chǔ)器讀寫(xiě)操作,再其次是通用寫(xiě)緩存器寫(xiě)操作,最后是替換寫(xiě)緩存器寫(xiě)操作。
      在本發(fā)明所述的方法中,所述高速緩沖存儲(chǔ)器內(nèi)被替換的數(shù)據(jù)塊采用LRU算法、隨機(jī)算法、FIFO算法、輪循算法或偽LUR算法確定。
      本發(fā)明還提供一種嵌入式處理器系統(tǒng),包括處理器,執(zhí)行指令和讀寫(xiě)操作;高速緩沖存儲(chǔ)器,連接在處理器和主存儲(chǔ)器之間,為處理器提供高速數(shù)據(jù)存??;通用寫(xiě)緩存器,連接在處理器與主存儲(chǔ)器之間,存儲(chǔ)處理器中可緩存的寫(xiě)數(shù)據(jù);替換寫(xiě)緩存器,連接在高速緩沖存儲(chǔ)器與主存儲(chǔ)器之間,存儲(chǔ)高速緩沖存儲(chǔ)器內(nèi)被替換的臟數(shù)據(jù)并在命中后與高速緩沖存儲(chǔ)器進(jìn)行數(shù)據(jù)替換。
      本發(fā)明所述的嵌入式處理器系統(tǒng)還包括高速緩存控制邏輯,控制處理器的操作請(qǐng)求,比較處理器操作地址與高速緩沖存儲(chǔ)器內(nèi)的標(biāo)簽,同時(shí)將所述操作地址與替換寫(xiě)緩存器內(nèi)的地址進(jìn)行比較。
      本發(fā)明所述的嵌入式處理器系統(tǒng)還包括復(fù)用器,對(duì)高速緩存控制器、通用寫(xiě)緩存器和替換寫(xiě)緩存器的總線傳輸請(qǐng)求進(jìn)行優(yōu)先級(jí)判定。
      在本發(fā)明所述的嵌入式處理器系統(tǒng)中,所述處理器還包括處理邏輯單元,用于判定所述處理器操作地址是否可高速緩存或可緩存。
      在本發(fā)明所述的嵌入式處理器系統(tǒng)中,所述通用寫(xiě)緩存器的長(zhǎng)度為4字。
      在本發(fā)明所述的嵌入式處理器系統(tǒng)中,所述替換寫(xiě)緩存器的長(zhǎng)度與所述高速緩沖存儲(chǔ)器數(shù)據(jù)塊的長(zhǎng)度相同。
      在本發(fā)明所述的嵌入式處理器系統(tǒng)中,所述替換寫(xiě)緩存器設(shè)有傳輸狀態(tài)位,所述傳輸狀態(tài)位為“0”時(shí)表示所述替換寫(xiě)緩存器的總線寫(xiě)操作還未開(kāi)始或已經(jīng)結(jié)束,所述傳輸狀態(tài)位為“1”時(shí)表示所述替換寫(xiě)緩存器的總線寫(xiě)操作正在進(jìn)行中。
      實(shí)施本發(fā)明的嵌入式處理系統(tǒng)以及嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,具有以下有益效果1、減少了不可高速緩存(不可Cache)的讀操作的等待時(shí)間;2、增加了兩種操作高速緩存缺失替換寫(xiě)緩存命中且替換為臟的操作和高速緩存缺失替換寫(xiě)緩存命中且替換不為臟的操作,從而提高了高速緩沖存儲(chǔ)器的命中率;3、本發(fā)明使用專(zhuān)用的替換寫(xiě)緩存器,從而減少了高速緩存與替換寫(xiě)緩存均缺失且替換為臟時(shí)的等待周期。


      圖1是現(xiàn)有技術(shù)中一種嵌入式處理器系統(tǒng)的結(jié)構(gòu)框圖;圖2是現(xiàn)有技術(shù)中使用犧牲高速緩存的嵌入式處理器系統(tǒng)的結(jié)構(gòu)示意圖;圖3是本發(fā)明嵌入式處理器系統(tǒng)的結(jié)構(gòu)框圖;圖4是本發(fā)明嵌入式處理器系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)框圖;圖5是現(xiàn)有技術(shù)中單一寫(xiě)緩存的結(jié)構(gòu)示意圖;圖6是本發(fā)明嵌入式處理器系統(tǒng)中分離寫(xiě)緩存的結(jié)構(gòu)示意圖;圖7是本發(fā)明嵌入式處理器系統(tǒng)的讀操作流程圖;圖8是本發(fā)明嵌入式處理器系統(tǒng)的寫(xiě)操作流程圖;圖9是本發(fā)明一個(gè)實(shí)施例中MUX的典型時(shí)序圖。
      具體實(shí)施例方式
      以下將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步地說(shuō)明在具有高速緩沖存儲(chǔ)器(Cache)的嵌入式處理器系統(tǒng)內(nèi),當(dāng)CPU發(fā)出讀指令時(shí),高速緩沖存儲(chǔ)器的控制邏輯即進(jìn)行地址比較,以決定所要讀取的數(shù)據(jù)地址是否存在于高速緩沖存儲(chǔ)器中。若存在于高速緩沖存儲(chǔ)器中,則直接從高速緩沖存儲(chǔ)器內(nèi)讀取數(shù)據(jù),此事件即被稱(chēng)為讀取成功(命中)。反之,若不存在于高速緩沖存儲(chǔ)器中,則從系統(tǒng)主存儲(chǔ)器中取回?cái)?shù)據(jù)至高速緩沖存儲(chǔ)器,并同時(shí)提供該數(shù)據(jù)給CPU,此事件即被稱(chēng)為讀取失敗(缺失)。另外,當(dāng)CPU發(fā)出寫(xiě)指令時(shí),高速緩沖存儲(chǔ)器的控制邏輯即進(jìn)行地址比較,以決定所要寫(xiě)入的數(shù)據(jù)地址是否存在于高速緩沖存儲(chǔ)器中。若存在于高速緩沖存儲(chǔ)器中,則將數(shù)據(jù)寫(xiě)入高速緩沖存儲(chǔ)器內(nèi),此事件即稱(chēng)為寫(xiě)入成功(命中)。反之,若不存在于高速緩沖存儲(chǔ)器中,則將數(shù)據(jù)通過(guò)寫(xiě)緩存器寫(xiě)入系統(tǒng)主存儲(chǔ)器中,此事件即稱(chēng)為寫(xiě)入失敗(缺失)。在采用寫(xiě)回策略的高速緩沖存儲(chǔ)器內(nèi),被寫(xiě)入數(shù)據(jù)的存儲(chǔ)塊的狀態(tài)會(huì)被設(shè)定成與主存儲(chǔ)器不一致,即臟塊(Dirty);與主存儲(chǔ)器一致的數(shù)據(jù)塊則設(shè)定為干凈塊(Clean)。
      采用寫(xiě)回策略的高速緩沖存儲(chǔ)器內(nèi),發(fā)生訪問(wèn)缺失時(shí),臟的數(shù)據(jù)塊將被替換,一般都是將臟的數(shù)據(jù)復(fù)制到寫(xiě)緩存器后就去讀主存儲(chǔ)器,這樣可以使CPU的讀操作提前于寫(xiě)操作進(jìn)行,減少了讀操作的等待時(shí)間。但是,臟塊寫(xiě)入寫(xiě)緩存器需要停頓CPU,等待寫(xiě)緩存器清空。為了防止這種情況發(fā)生,本發(fā)明的嵌入式處理器系統(tǒng)將寫(xiě)緩存器分離為通用寫(xiě)緩存器和替換寫(xiě)緩存器兩個(gè)。如圖3所示,本發(fā)明的嵌入式處理器系統(tǒng)主要包括處理器302、高速緩沖存儲(chǔ)器304、通用寫(xiě)緩存器306、替換寫(xiě)緩存器308。處理器302通過(guò)系統(tǒng)總線310對(duì)主存儲(chǔ)器312進(jìn)行存取。處理器302可以是中央處理器(CPU)或者一般的微處理器、數(shù)字信號(hào)處理器等。高速緩沖存儲(chǔ)器304連接在處理器302和主存儲(chǔ)器312之間,替換寫(xiě)緩存器308作為高速緩沖存儲(chǔ)器304的替換路徑位于高速緩沖存儲(chǔ)器304與主存儲(chǔ)器312之間。通用寫(xiě)緩存器306連接在處理器302與主存儲(chǔ)器312之間,存儲(chǔ)處理器302的可緩存寫(xiě)數(shù)據(jù)。高速緩沖存儲(chǔ)器302內(nèi)設(shè)有一個(gè)標(biāo)簽?zāi)夸洷?,記錄高速緩沖存儲(chǔ)器302內(nèi)的數(shù)據(jù)塊與主存儲(chǔ)器數(shù)據(jù)塊的映射關(guān)系。處理器302讀寫(xiě)操作時(shí),對(duì)于可cache的操作地址,在比較所述處理器302的操作地址與高速緩沖存儲(chǔ)器304內(nèi)的標(biāo)簽(Tag)的同時(shí),將所述操作地址與替換寫(xiě)緩存器308內(nèi)的地址進(jìn)行比較;如果與替換寫(xiě)緩存器308內(nèi)地址相同(即命中),則用替換寫(xiě)緩存器308內(nèi)命中的數(shù)據(jù)塊替換高速緩沖存儲(chǔ)器304內(nèi)的數(shù)據(jù)塊。如果高速緩沖存儲(chǔ)器304內(nèi)將被替換的數(shù)據(jù)塊為臟塊,則將所述將被替換的數(shù)據(jù)塊寫(xiě)入替換寫(xiě)緩存器308內(nèi),由替換寫(xiě)緩存器308在總線310空閑時(shí)再寫(xiě)入主存儲(chǔ)器312。如果高速緩沖存儲(chǔ)器304內(nèi)將被替換的數(shù)據(jù)塊為干凈塊,則將其直接丟棄。替換完成后,處理器302的讀寫(xiě)操作將以命中方式在高速緩沖存儲(chǔ)器304內(nèi)完成。
      圖4是本發(fā)明嵌入式處理器系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)框圖。如圖4所示,該嵌入式處理器系統(tǒng)包括有CPU 402、高速緩沖存儲(chǔ)器404、通用寫(xiě)緩存器406、替換寫(xiě)緩存器408,還包括有處理邏輯單元(PU)401、高速緩存控制邏輯403、復(fù)用器(MUX)405、封裝器(Wrapper)407。PU 401為組合邏輯,在CPU有效操作的一個(gè)周期內(nèi)返回該操作是否可高速緩存、是否可緩存以及該操作地址是否被保護(hù)。高速緩存控制邏輯403用來(lái)處理所有CPU操作請(qǐng)求。高速緩存控制邏輯403執(zhí)行CPU操作地址與高速緩沖存儲(chǔ)器404內(nèi)標(biāo)簽的比較,同時(shí)執(zhí)行該操作地址與替換寫(xiě)緩存器408內(nèi)地址的比較,然后返回高速緩沖存儲(chǔ)器404和/或替換寫(xiě)緩存器406命中和/或未命中的信息。如圖4所示,通用寫(xiě)緩存器406存儲(chǔ)CPU可緩存的寫(xiě)數(shù)據(jù),替換寫(xiě)緩存器408存儲(chǔ)高速緩沖存儲(chǔ)器404被替換的臟數(shù)據(jù),在總線410空閑時(shí)再由二者將數(shù)據(jù)寫(xiě)入主存儲(chǔ)器內(nèi)。這樣的話,高速緩存控制器403、通用寫(xiě)緩存器406和替換寫(xiě)緩存器408三者都可能產(chǎn)生傳輸請(qǐng)求,而數(shù)據(jù)到AHB總線410的通路只有一條,因而本發(fā)明的嵌入式處理器系統(tǒng)內(nèi)還包括MUX 405,對(duì)高速緩存控制器403、通用寫(xiě)緩存器406和替換寫(xiě)緩存器408的總線傳輸請(qǐng)求進(jìn)行優(yōu)先級(jí)判定,在數(shù)據(jù)請(qǐng)求沖突時(shí)寄存優(yōu)先級(jí)比較低的操作。封裝器407為CPU外嵌模塊,用以橋接處理器總線和AHB總線410,其為現(xiàn)有技術(shù),因而在此不作詳細(xì)描述。
      一般來(lái)說(shuō),通用寫(xiě)緩存器406的長(zhǎng)度為4字即可滿足系統(tǒng)性能的要求,替換寫(xiě)緩存器408的長(zhǎng)度與高速緩沖存儲(chǔ)器404數(shù)據(jù)塊的長(zhǎng)度相同。若高速緩沖存儲(chǔ)器404的塊長(zhǎng)度為8字時(shí),本發(fā)明將現(xiàn)有的8字單一寫(xiě)緩存(如圖5所示)分離為一個(gè)4字的通用寫(xiě)緩存器406和一個(gè)8字的專(zhuān)用替換寫(xiě)緩存器408,如圖6所示。原8字單一寫(xiě)緩存需要8個(gè)32位的地址寄存器(A-register)和8個(gè)32位的數(shù)據(jù)寄存器(D-register)。本發(fā)明的分離寫(xiě)緩存結(jié)構(gòu)中,4字通用寫(xiě)緩存器406需要4個(gè)32位的地址寄存器和4個(gè)32位的數(shù)據(jù)寄存器,因而高速緩沖存儲(chǔ)器404排出的數(shù)據(jù)塊為連續(xù)數(shù)據(jù),替換寫(xiě)緩存器408只需要1個(gè)32位地址寄存器和8個(gè)32位數(shù)據(jù)寄存器。這樣的話,本發(fā)明實(shí)際增加的寄存器為1個(gè)32位寄存器。如果高速緩沖存儲(chǔ)器404的長(zhǎng)度大于8,本發(fā)明的分離寫(xiě)緩存結(jié)構(gòu)還會(huì)減少需要的寄存器的數(shù)量。例如,若高速緩沖存儲(chǔ)器404的塊長(zhǎng)度為16字時(shí),單一寫(xiě)緩存需要16個(gè)32位的地址寄存器和16個(gè)32位的數(shù)據(jù)寄存器,而本發(fā)明的分離寫(xiě)緩存結(jié)構(gòu)中,4字的通用寫(xiě)緩存器需要4個(gè)32位的地址寄存器和4個(gè)32位的數(shù)據(jù)寄存器,16字的替換寫(xiě)緩存器只需要1個(gè)32位地址寄存器和16個(gè)32位數(shù)據(jù)寄存器,這樣的話,便可減少7個(gè)寄存器。
      此外,如圖6所示,本發(fā)明在替換寫(xiě)緩存器408中還設(shè)有傳輸狀態(tài)位(B),該傳輸狀態(tài)位可以用1位來(lái)表示,當(dāng)傳輸狀態(tài)位為“0”時(shí)表示替換寫(xiě)緩存器408的總線寫(xiě)操作還未開(kāi)始或已經(jīng)結(jié)束,當(dāng)傳輸狀態(tài)位為“1”時(shí)表示替換寫(xiě)緩存器408的總線寫(xiě)操作正在進(jìn)行中。
      以下將結(jié)合圖7和圖8詳細(xì)介紹本發(fā)明嵌入式處理器系統(tǒng)的操作流程。
      圖7是本發(fā)明嵌入式處理器系統(tǒng)的讀操作流程圖。如圖7所示,CPU發(fā)出讀操作指令(步驟701)后,步驟702中,PU將進(jìn)行操作地址判定,以確定CPU讀操作地址是否可緩存、是否可Cache以及該地址是否被保護(hù)。如果該地址被保護(hù),PU將返回錯(cuò)誤信息(步驟703)。CPU讀操作時(shí),不管PU判定該操作地址是否可緩存,CPU都會(huì)忽略該判定結(jié)果,因?yàn)槭欠窨删彺鎸?duì)于CPU讀操作來(lái)說(shuō)沒(méi)有任何意義。
      步驟705中,如果CPU讀操作不可Cache,CPU將直接從主存儲(chǔ)器讀取該讀操作地址對(duì)應(yīng)的數(shù)據(jù)。為了避免寫(xiě)緩存和讀操作的先讀后寫(xiě)所產(chǎn)生的數(shù)據(jù)沖突,即讀操作優(yōu)于寫(xiě)操作進(jìn)行,而該操作地址對(duì)應(yīng)的數(shù)據(jù)還未從寫(xiě)緩存寫(xiě)入主存儲(chǔ)器內(nèi),控制邏輯將判斷通用寫(xiě)緩存器是否為空(步驟706)。若通用寫(xiě)緩存器不為空,則停頓CPU,等待清空通用寫(xiě)緩存器(步驟708),然后執(zhí)行步驟707。若通用寫(xiě)緩存器為空,則直接執(zhí)行步驟707,AHB總線接口執(zhí)行讀操作,從主存儲(chǔ)器內(nèi)讀取該操作地址對(duì)應(yīng)的數(shù)據(jù)提供給CPU,完成此次CPU讀操作(步驟717)。
      如果PU判定CPU讀操作為可Cache的讀操作,步驟709中,高速緩存控制邏輯將CPU讀操作地址與高速緩沖存儲(chǔ)器內(nèi)的標(biāo)簽進(jìn)行比較。如果該操作地址與高速緩沖存儲(chǔ)器內(nèi)的某個(gè)標(biāo)簽相匹配,即高速緩沖存儲(chǔ)器命中,對(duì)應(yīng)的數(shù)據(jù)被讀出并提供給CPU,該讀操作完成。
      同時(shí),步驟714中,高速緩存控制邏輯將CPU讀操作地址與替換寫(xiě)緩存器內(nèi)的地址進(jìn)行比較。如果該操作地址與替換寫(xiě)緩存器內(nèi)的某個(gè)地址相同,即替換寫(xiě)緩存器命中,步驟715中,替換寫(xiě)緩存器與高速緩沖存儲(chǔ)器之間進(jìn)行數(shù)據(jù)塊替換。此時(shí),如果替換寫(xiě)緩存器的傳輸狀態(tài)位為“1”,需要等待替換寫(xiě)緩存器的總線寫(xiě)操作完成并將傳輸狀態(tài)位置“0”。如果替換寫(xiě)緩存器的傳輸狀態(tài)位為“0”,則替換寫(xiě)緩存器內(nèi)命中的數(shù)據(jù)塊將被重新寫(xiě)入高速緩沖存儲(chǔ)器內(nèi),而高速緩沖存儲(chǔ)器內(nèi)對(duì)應(yīng)的被替換的數(shù)據(jù)塊如果干凈則直接舍去,如果為臟塊,則寫(xiě)入替換寫(xiě)緩存器內(nèi),由替換寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器。。替換完成后,步驟716中,CPU以命中方式在高速緩沖存儲(chǔ)器內(nèi)讀取操作地址對(duì)應(yīng)的數(shù)據(jù),然后,此次CPU讀操作完成(步驟717)。
      對(duì)于可Cache的讀操作,如果高速緩沖存儲(chǔ)器和替換寫(xiě)緩存器均未命中,CPU將直接讀取主存儲(chǔ)器,高速緩沖存儲(chǔ)器內(nèi)將進(jìn)行正常替換。首先,步驟710中,高速緩沖控制邏輯將判定高速緩沖存儲(chǔ)器內(nèi)將被替換的數(shù)據(jù)塊是否是臟塊。如果是臟塊,步驟712中,該臟塊將在替換寫(xiě)緩存器傳輸狀態(tài)位為“0”時(shí)被寫(xiě)入替換寫(xiě)緩存器內(nèi),由替換寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器。如果不是臟塊,步驟711中,高速緩沖控制邏輯將在通用寫(xiě)緩存器為空的情況下驅(qū)動(dòng)AHB總線接口從主存儲(chǔ)器內(nèi)連續(xù)讀取CPU操作地址對(duì)應(yīng)的數(shù)據(jù)塊,如果通用寫(xiě)緩存器不為空,則先等待通用寫(xiě)緩存器清空。然后步驟713中,將該讀操作地址對(duì)應(yīng)的數(shù)據(jù)寫(xiě)回高速緩沖存儲(chǔ)器內(nèi)確定被替換的數(shù)據(jù)塊內(nèi),然后CPU在高速緩沖存儲(chǔ)器內(nèi)讀取所述數(shù)據(jù),完成此次讀操作(步驟717)。
      圖8是本發(fā)明嵌入式處理器系統(tǒng)的寫(xiě)操作流程圖。如圖8所示,CPU發(fā)出寫(xiě)操作指令(步驟801)后,步驟802中,PU將進(jìn)行操作地址判定,以確定CPU讀操作地址是否可緩存、是否可Cache以及該地址是否被保護(hù)。如果該地址被保護(hù),PU將返回錯(cuò)誤信息(步驟803)。
      步驟804中,如果該寫(xiě)操作地址不可緩存(必然也不可Cache),CPU通過(guò)ABH總線接口直接將數(shù)據(jù)寫(xiě)入主存儲(chǔ)器內(nèi)該操作地址對(duì)應(yīng)的位置(步驟805),然后完成此次寫(xiě)操作(步驟818)。
      如果PU判定寫(xiě)操作地址可緩存(但是該操作地址不可Cache),則執(zhí)行寫(xiě)緩存操作。步驟807中,先確定通用寫(xiě)緩存器是否已滿。如果通用寫(xiě)緩存器已滿,步驟808中,停頓CPU,等待通用寫(xiě)緩存器內(nèi)的數(shù)據(jù)寫(xiě)入主存儲(chǔ)器內(nèi),騰出空位,然后執(zhí)行步驟809。如果通用寫(xiě)緩存器內(nèi)有空位,步驟809中,CPU直接將寫(xiě)數(shù)據(jù)寫(xiě)入通用寫(xiě)緩存器,由通用寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器。至此,此次CPU寫(xiě)操作正確完成(步驟818)。
      步驟806中,如果PU判定CPU寫(xiě)操作地址可Cache,那么,高速緩存控制邏輯將CPU寫(xiě)操作地址與高速緩沖存儲(chǔ)器內(nèi)的標(biāo)簽進(jìn)行比較(步驟810)。如果該寫(xiě)操作地址與高速緩沖存儲(chǔ)器內(nèi)的某個(gè)標(biāo)簽相匹配,即高速緩沖存儲(chǔ)器命中,CPU將寫(xiě)數(shù)據(jù)寫(xiě)入高速緩沖存儲(chǔ)器內(nèi)命中的數(shù)據(jù)塊。如果此時(shí)高速緩沖存儲(chǔ)器內(nèi)該命中的數(shù)據(jù)塊為臟塊,則先將該臟塊寫(xiě)入替換寫(xiě)緩存器內(nèi),然后再將CPU寫(xiě)數(shù)據(jù)寫(xiě)入該數(shù)據(jù)塊,完成此次寫(xiě)操作。
      同時(shí),步驟815中,高速緩存控制邏輯將CPU寫(xiě)操作地址與替換寫(xiě)緩存器內(nèi)的地址進(jìn)行比較。如果該寫(xiě)操作地址與替換寫(xiě)緩存器內(nèi)的某個(gè)地址相同,即替換寫(xiě)緩存器命中,步驟816中,替換寫(xiě)緩存器與高速緩沖存儲(chǔ)器之間進(jìn)行數(shù)據(jù)塊替換。此時(shí),如果替換寫(xiě)緩存器的傳輸狀態(tài)位為“1”,需要等待替換寫(xiě)緩存器的總線寫(xiě)操作完成并將傳輸狀態(tài)位置“0”。如果替換寫(xiě)緩存器的傳輸狀態(tài)位為“0”,則替換寫(xiě)緩存器內(nèi)命中的數(shù)據(jù)塊將被重新寫(xiě)入高速緩沖存儲(chǔ)器內(nèi),而高速緩沖存儲(chǔ)器內(nèi)對(duì)應(yīng)的被替換的數(shù)據(jù)塊如果干凈則直接舍去,如果為臟塊,則寫(xiě)入替換寫(xiě)緩存器內(nèi),由替換寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器。。替換完成后,步驟817中,CPU以命中方式將寫(xiě)數(shù)據(jù)寫(xiě)入高速緩沖存儲(chǔ)器內(nèi)然后,此次CPU寫(xiě)操作完成(步驟818)。
      對(duì)于可Cache的寫(xiě)操作,如果高速緩沖存儲(chǔ)器和替換寫(xiě)緩存器均未命中,CPU將直接將數(shù)據(jù)寫(xiě)入通用寫(xiě)緩存器,如果通用寫(xiě)緩存器已滿,則先等待通用寫(xiě)緩存器騰出空位。同時(shí),高速緩沖存儲(chǔ)器內(nèi)進(jìn)行正常替換操作步驟811中,高速緩沖控制邏輯將判定高速緩沖存儲(chǔ)器內(nèi)將被替換的數(shù)據(jù)塊是否是臟塊。如果是臟塊,步驟812中,該臟塊將在替換寫(xiě)緩存器傳輸狀態(tài)位為“0”時(shí)被寫(xiě)入替換寫(xiě)緩存器內(nèi),由替換寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器。如果不是臟塊,步驟813中,高速緩沖控制邏輯驅(qū)動(dòng)AHB總線接口從主存儲(chǔ)器內(nèi)連續(xù)讀取CPU寫(xiě)操作地址對(duì)應(yīng)的數(shù)據(jù)塊,然后步驟814中,讀出的數(shù)據(jù)塊寫(xiě)入高速緩沖存儲(chǔ)器內(nèi),然后此次CPU寫(xiě)操作正確完成(步驟818)。
      上述CPU讀寫(xiě)操作過(guò)程中,高速緩沖存儲(chǔ)器內(nèi)被替換的數(shù)據(jù)塊可以采用最近最少使用(LRU)算法來(lái)確定,當(dāng)然,本發(fā)明并不僅限于此,本發(fā)明還可以采用先進(jìn)先(FIFO)算法、隨機(jī)算法、輪循算法、偽LRU算法等其他現(xiàn)有的替換算法。
      上述的CPU讀寫(xiě)操作過(guò)程中,為保證連續(xù)操作的完整,MUX對(duì)高速緩沖存儲(chǔ)器產(chǎn)生的讀寫(xiě)操作、通用寫(xiě)緩存器寫(xiě)操作和替換寫(xiě)緩存器寫(xiě)操作進(jìn)行優(yōu)先級(jí)判定,各操作的優(yōu)先級(jí)為任何操作后續(xù)的連續(xù)操作優(yōu)先級(jí)最高,其次是高速緩沖存儲(chǔ)器產(chǎn)生的讀寫(xiě)操作,再其次是通用寫(xiě)緩存器寫(xiě)操作,最后是替換寫(xiě)緩存器寫(xiě)操作。替換寫(xiě)緩存器如果命中,其中的數(shù)據(jù)將會(huì)被重新讀回高速緩沖存儲(chǔ)器中,這時(shí)替換寫(xiě)緩存器內(nèi)的數(shù)據(jù)是否已經(jīng)寫(xiě)入主存儲(chǔ)器都不會(huì)產(chǎn)生錯(cuò)誤,但是,如果數(shù)據(jù)已經(jīng)寫(xiě)入主存儲(chǔ)器,其寫(xiě)入主存儲(chǔ)器的操作相當(dāng)于無(wú)用的總線寫(xiě)操作,浪費(fèi)了總線帶寬。故而設(shè)定替換寫(xiě)緩存器寫(xiě)操作的優(yōu)先級(jí)最低,這樣可以盡量推遲替換寫(xiě)緩存器在AHB總線的寫(xiě)操作,減少帶寬浪費(fèi)。
      上述三種優(yōu)先級(jí)的操作在無(wú)沖突的情況下,誰(shuí)先發(fā)出操作誰(shuí)有效,MUX拉低通用寫(xiě)緩存器、替換寫(xiě)緩存器和高速緩沖存儲(chǔ)器的READY信號(hào),直到操作完成。
      上述三種操作如果發(fā)生沖突,MUX先將通用寫(xiě)緩存器、替換寫(xiě)緩存器和高速緩沖存儲(chǔ)器三方的READY信號(hào)同時(shí)拉低,然后根據(jù)優(yōu)先級(jí)對(duì)其中一方的操作進(jìn)行處理,同時(shí)使用寄存器將優(yōu)先級(jí)低的操作寄存。處理完成后,將被處理一方的READY信號(hào)置高一個(gè)時(shí)鐘周期,以通知該方操作已經(jīng)完成,同時(shí)檢測(cè)該方是否還有后續(xù)操作。如果該方?jīng)]有后續(xù)操作,則處理寄存的優(yōu)先級(jí)較低的操作;如果該方還有后續(xù)操作,則再將該后續(xù)操作與寄存在寄存器內(nèi)的其他操作進(jìn)行優(yōu)先級(jí)判定,執(zhí)行優(yōu)先級(jí)高的操作,寄存優(yōu)先級(jí)低的操作。MUX內(nèi)的典型時(shí)序圖如圖9所示。
      本發(fā)明所述的嵌入式處理器系統(tǒng)內(nèi),CPU的不同操作請(qǐng)求及其對(duì)應(yīng)的等待周期如下表-1所示

      表-1 CPU不同操作的等待周期其中,1+為判定高速緩沖存儲(chǔ)器是否命中的判定周期,T為等待通用寫(xiě)緩存器清空的時(shí)間,W為通用寫(xiě)緩存器滿時(shí)需要等待通用寫(xiě)緩存器騰出一個(gè)數(shù)據(jù)空間的時(shí)間(該操作發(fā)生的概率假設(shè)為a%,該概率較低),N為總線單次操作消耗的周期數(shù),S為總線連續(xù)操作中一次讀寫(xiě)消耗的周期數(shù),L為等待替換寫(xiě)緩存器清空所需的平均時(shí)間(該操作發(fā)生的概率假設(shè)為b%,該概率極低)。
      由上表可知,本發(fā)明的嵌入式處理器系統(tǒng)減少了不可Cache讀操作的等待時(shí)間。不可Cache的讀操作需要等待寫(xiě)緩存器清空后才可以進(jìn)行。現(xiàn)有技術(shù)采用單一寫(xiě)緩存器結(jié)構(gòu)時(shí),需要等待寫(xiě)緩存器內(nèi)可緩存(可Buffer)的數(shù)據(jù)和替換數(shù)據(jù)都寫(xiě)出后才能執(zhí)行該讀操作,而本發(fā)明采用的分離寫(xiě)緩存器結(jié)構(gòu),只需等待通用寫(xiě)緩存器內(nèi)可緩存的數(shù)據(jù)清空即可,不需要等待替換數(shù)據(jù)的清空。
      此外,本發(fā)明的嵌入式處理器系統(tǒng)增加了兩種操作高速緩存缺失替換寫(xiě)緩存命中且替換為臟的操作和高速緩存缺失替換寫(xiě)緩存命中且替換不為臟的操作。這兩種操作可以有效的減少因指令和數(shù)據(jù)中有太多塊被映射到同一個(gè)地址而造成該塊被丟棄后重新調(diào)用所引起的沖突缺失,提高了高速緩沖存儲(chǔ)器的命中率。
      本發(fā)明的嵌入式處理器系統(tǒng)使用專(zhuān)用的替換寫(xiě)緩存器,從而減少了高速緩存與替換寫(xiě)緩存均缺失且替換為臟時(shí)的等待周期。本發(fā)明將替換數(shù)據(jù)直接寫(xiě)入替換寫(xiě)緩存器,而現(xiàn)有處理器中該操作的等待周期還需要加上等待寫(xiě)緩存器清空的時(shí)間。
      以上結(jié)合附圖介紹的本發(fā)明具體實(shí)施例中,高速緩沖存儲(chǔ)器采用指令和數(shù)據(jù)統(tǒng)一存放的馮·諾依曼結(jié)構(gòu)高速緩沖存儲(chǔ)器,但是本發(fā)明并不僅限于此,根據(jù)本發(fā)明上述揭示的內(nèi)容,本領(lǐng)域的技術(shù)人員可知,本發(fā)明亦適用于指令與數(shù)據(jù)分離存放的哈佛結(jié)構(gòu)高速緩沖存儲(chǔ)器。
      權(quán)利要求
      1.一種嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,包括比較處理器操作地址與高速緩沖存儲(chǔ)器內(nèi)的標(biāo)簽的同時(shí),將所述操作地址與替換寫(xiě)緩存器內(nèi)的地址進(jìn)行比較;如果所述替換寫(xiě)緩存器命中,則用替換寫(xiě)緩存器內(nèi)命中的數(shù)據(jù)塊替換高速緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)塊。
      2.根據(jù)權(quán)利要求1所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,所述用替換寫(xiě)緩存器內(nèi)命中的數(shù)據(jù)塊替換高速緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)塊包括若所述替換寫(xiě)緩存器的傳輸狀態(tài)位為“1”,等待所述替換寫(xiě)緩存器的總線寫(xiě)操作完成并將所述傳輸狀態(tài)位置“0”;將所述替換寫(xiě)緩存器內(nèi)命中的數(shù)據(jù)塊讀入所述高速緩沖存儲(chǔ)器。
      3.根據(jù)權(quán)利要求1所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,所述方法還包括如果所述高速緩沖存儲(chǔ)器命中,處理器直接讀寫(xiě)高速緩沖存儲(chǔ)器內(nèi)命中的數(shù)據(jù)塊。
      4.根據(jù)權(quán)利要求1所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,所述方法還包括如果所述高速緩沖存儲(chǔ)器和所述替換寫(xiě)緩存器均未命中,處理器直接讀寫(xiě)主存儲(chǔ)器內(nèi)所述操作地址對(duì)應(yīng)的數(shù)據(jù),并將所述數(shù)據(jù)寫(xiě)入高速緩沖存儲(chǔ)器內(nèi)。
      5.根據(jù)權(quán)利要求1所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,所述方法還包括如果所述處理器讀操作地址不可高速緩存時(shí),清空所述通用寫(xiě)緩存器,然后直接從主存儲(chǔ)器讀取所述讀操作地址對(duì)應(yīng)的數(shù)據(jù)。
      6.根據(jù)權(quán)利要求1所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,所述方法還包括如果所述處理器寫(xiě)操作地址不可高速緩存時(shí),直接將數(shù)據(jù)寫(xiě)入所述通用寫(xiě)緩存器,由所述通用寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器。
      7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,如果高速緩沖存儲(chǔ)器內(nèi)將被替換的數(shù)據(jù)塊為臟塊,則將所述將被替換的數(shù)據(jù)塊寫(xiě)入替換寫(xiě)緩存器內(nèi),由替換寫(xiě)緩存器在總線空閑時(shí)再寫(xiě)入主存儲(chǔ)器;如果高速緩沖存儲(chǔ)器內(nèi)將被替換的數(shù)據(jù)塊為干凈塊,則將其直接丟棄。
      8.根據(jù)權(quán)利要求7所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,所述方法還包括對(duì)高速緩沖存儲(chǔ)器讀寫(xiě)操作、通用寫(xiě)緩存器寫(xiě)操作和替換寫(xiě)緩存器寫(xiě)操作進(jìn)行優(yōu)先級(jí)判定。
      9.根據(jù)權(quán)利要求8所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,所述優(yōu)先級(jí)為任何操作后續(xù)的連續(xù)操作優(yōu)先級(jí)最高,其次是高速緩沖存儲(chǔ)器讀寫(xiě)操作,再其次是通用寫(xiě)緩存器寫(xiě)操作,最后是替換寫(xiě)緩存器寫(xiě)操作。
      10.根據(jù)權(quán)利要求1所述的嵌入式處理器系統(tǒng)的數(shù)據(jù)操作方法,其特征在于,高速緩沖存儲(chǔ)器內(nèi)被替換的數(shù)據(jù)塊采用LRU算法、隨機(jī)算法、FIFO算法、輪循算法或偽LUR算法確定。
      11.一種嵌入式處理器系統(tǒng),其特征在于,包括處理器,執(zhí)行指令和讀寫(xiě)操作;高速緩沖存儲(chǔ)器,連接在處理器和主存儲(chǔ)器之間,為處理器提供高速數(shù)據(jù)存??;通用寫(xiě)緩存器,連接在處理器與主存儲(chǔ)器之間,存儲(chǔ)處理器中可緩存的寫(xiě)數(shù)據(jù);替換寫(xiě)緩存器,連接在高速緩沖存儲(chǔ)器與主存儲(chǔ)器之間,存儲(chǔ)高速緩沖存儲(chǔ)器內(nèi)被替換的臟數(shù)據(jù)并在命中后與高速緩沖存儲(chǔ)器進(jìn)行數(shù)據(jù)替換。
      12.根據(jù)權(quán)利要求11所述的嵌入式處理器系統(tǒng),其特征在于,還包括高速緩存控制邏輯,控制處理器的操作請(qǐng)求,比較處理器操作地址與高速緩沖存儲(chǔ)器內(nèi)的標(biāo)簽,同時(shí)將所述操作地址與替換寫(xiě)緩存器內(nèi)的地址進(jìn)行比較。
      13.根據(jù)權(quán)利要求12所述的嵌入式處理器系統(tǒng),其特征在于,還包括復(fù)用器,對(duì)高速緩存控制器、通用寫(xiě)緩存器和替換寫(xiě)緩存器的總線傳輸請(qǐng)求進(jìn)行優(yōu)先級(jí)判定。
      14.根據(jù)權(quán)利要求11所述的嵌入式處理器系統(tǒng),其特征在于,所述處理器還包括處理邏輯單元,用于判定所述處理器操作地址是否可高速緩存或可緩存。
      15.根據(jù)權(quán)利要求11所述的嵌入式處理器系統(tǒng),其特征在于,所述通用寫(xiě)緩存器的長(zhǎng)度為4字。
      16.根據(jù)權(quán)利要求11所述的嵌入式處理器系統(tǒng),其特征在于,所述替換寫(xiě)緩存器的長(zhǎng)度與所述高速緩沖存儲(chǔ)器數(shù)據(jù)塊的長(zhǎng)度相同。
      17.根據(jù)權(quán)利要求11或16所述的嵌入式處理器系統(tǒng),其特征在于,所述替換寫(xiě)緩存器設(shè)有傳輸狀態(tài)位,所述傳輸狀態(tài)位為“0”時(shí)表示所述替換寫(xiě)緩存器的總線寫(xiě)操作還未開(kāi)始或已經(jīng)結(jié)束,所述傳輸狀態(tài)位為“1”時(shí)表示所述替換寫(xiě)緩存器的總線寫(xiě)操作正在進(jìn)行中。
      全文摘要
      本發(fā)明公開(kāi)了一種嵌入式處理器系統(tǒng)及其數(shù)據(jù)操作方法。所述嵌入式處理器系統(tǒng)包括處理器,執(zhí)行指令和讀寫(xiě)操作;高速緩沖存儲(chǔ)器,連接在處理器和主存儲(chǔ)器之間,為處理器提供高速數(shù)據(jù)存?。煌ㄓ脤?xiě)緩存器,連接在處理器與主存儲(chǔ)器之間,存儲(chǔ)處理器中可緩存的寫(xiě)數(shù)據(jù);替換寫(xiě)緩存器,連接在高速緩沖存儲(chǔ)器與主存儲(chǔ)器之間,存儲(chǔ)高速緩沖存儲(chǔ)器內(nèi)被替換的臟數(shù)據(jù)并在命中后與高速緩沖存儲(chǔ)器進(jìn)行數(shù)據(jù)替換。本發(fā)明在嵌入式處理器系統(tǒng)內(nèi)采用分離寫(xiě)緩存實(shí)現(xiàn)犧牲高速緩存的功能,提高cache命中率,從而提高處理器的讀寫(xiě)能力。
      文檔編號(hào)G06F12/12GK1851677SQ20051010185
      公開(kāi)日2006年10月25日 申請(qǐng)日期2005年11月25日 優(yōu)先權(quán)日2005年11月25日
      發(fā)明者董杰明, 夏晶 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1