專(zhuān)利名稱(chēng):減少總線(xiàn)使用時(shí)間的系統(tǒng)和控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明示范實(shí)施例涉及一種系統(tǒng)、一種存儲(chǔ)控制器、主控制器、數(shù)據(jù)讀取單元、串行接口和預(yù)取單元。
背景技術(shù):
在傳統(tǒng)的系統(tǒng)中,可將閃速存儲(chǔ)器用于在采用芯片上系統(tǒng)(SOC)的系統(tǒng)中存儲(chǔ)執(zhí)行程序和/或數(shù)據(jù)??梢罁?jù)不同的應(yīng)用領(lǐng)域改變SOC的引腳數(shù)目。對(duì)于具有較少引腳數(shù)的SOC的需求已經(jīng)增長(zhǎng)。SOC可以使用串行閃速存儲(chǔ)器而不使用并行閃速存儲(chǔ)器并且串行閃速存儲(chǔ)器具有較少數(shù)量的引腳。串行閃速存儲(chǔ)器可具有一個(gè)用于串行接收和/或發(fā)送數(shù)據(jù)的數(shù)據(jù)引腳。可將串行閃速存儲(chǔ)器與SOC相連,SOC可需要兩個(gè)數(shù)據(jù)引腳來(lái)通過(guò)串行閃速存儲(chǔ)器接收和發(fā)送數(shù)據(jù)。與并行閃速存儲(chǔ)器相比,串行閃速存儲(chǔ)器可以具有更低的帶寬,因?yàn)榇虚W速存儲(chǔ)器可以接收不同的信號(hào),所述信號(hào)可包括從SOC經(jīng)單個(gè)數(shù)據(jù)引腳傳送來(lái)的地址和/或數(shù)據(jù)。
SOC中可以包含用于與串行閃速存儲(chǔ)器接口的存儲(chǔ)控制器??蓪⒋鎯?chǔ)控制器通過(guò)存儲(chǔ)器總線(xiàn)與多個(gè)知識(shí)產(chǎn)權(quán)(IP,Intellectual property)模塊相連,并且從串行閃速存儲(chǔ)器中讀取數(shù)據(jù)以響應(yīng)從多個(gè)IP模塊之一讀取數(shù)據(jù)的請(qǐng)求。在串行閃速存儲(chǔ)器與傳統(tǒng)的存儲(chǔ)控制器之間傳送數(shù)據(jù)可以包括從存儲(chǔ)控制器向串行閃速存儲(chǔ)器傳送指令,從存儲(chǔ)控制器向串行閃速存儲(chǔ)器傳送讀取地址,并且從串行閃速存儲(chǔ)器向存儲(chǔ)控制器傳送讀出的數(shù)據(jù)。存儲(chǔ)控制器可依照通過(guò)存儲(chǔ)器總線(xiàn)接收的、IP模塊之一的讀取請(qǐng)求信號(hào),使用上述過(guò)程從閃速存儲(chǔ)器中讀取數(shù)據(jù)。傳統(tǒng)的存儲(chǔ)控制器可通過(guò)存儲(chǔ)器總線(xiàn)接收讀取地址信號(hào),并且可能花比較長(zhǎng)時(shí)間從串行閃速存儲(chǔ)器中讀出與讀取地址信號(hào)相應(yīng)的數(shù)據(jù),并且存儲(chǔ)控制器使用存儲(chǔ)器總線(xiàn)的時(shí)間可能增加。由于直到存儲(chǔ)控制器傳送數(shù)據(jù)完畢后IP模塊才能使用存儲(chǔ)器總線(xiàn),因此當(dāng)存儲(chǔ)控制器占有存儲(chǔ)器總線(xiàn)的時(shí)間增加時(shí),SOC的總效率可能被降低。
發(fā)明內(nèi)容
在本發(fā)明的一個(gè)示范實(shí)施例中,系統(tǒng)可以包括處理器、至少一個(gè)IP模塊、以及存儲(chǔ)控制器。存儲(chǔ)控制器可存儲(chǔ)從處理器經(jīng)第一總線(xiàn)接收到的控制數(shù)據(jù)信號(hào),可通過(guò)基于存儲(chǔ)的控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器,可存儲(chǔ)多個(gè)讀取地址信號(hào),這些信號(hào)可通過(guò)第二條總線(xiàn)從處理器和至少一個(gè)IP模塊中的至少一個(gè)中接收,并且該存儲(chǔ)控制器可通過(guò)基于多個(gè)讀取地址信號(hào)中的一個(gè)生成命令數(shù)據(jù)信號(hào),從存儲(chǔ)器中讀取數(shù)據(jù)。
系統(tǒng)的另一個(gè)示范實(shí)施例可包括處理器、至少一個(gè)IP模塊、可以生成直接存儲(chǔ)器訪問(wèn)地址信號(hào)的直接存儲(chǔ)器訪問(wèn)控制器、以及存儲(chǔ)控制器。該存儲(chǔ)控制器存儲(chǔ)可通過(guò)第一總線(xiàn)從處理器接收到控制數(shù)據(jù)信號(hào),可通過(guò)基于存儲(chǔ)的控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器,可通過(guò)第二總線(xiàn)傳送DMA地址信號(hào),可存儲(chǔ)通過(guò)第三總線(xiàn)接收到的來(lái)自處理器和至少一個(gè)IP模塊中的至少一個(gè)的多個(gè)讀取地址信號(hào)和多個(gè)DMA地址信號(hào)中的至少一個(gè),并可通過(guò)基于讀取地址信號(hào)和DMA地址信號(hào)中的至少一個(gè)而生成命令數(shù)據(jù)信號(hào)來(lái)從存儲(chǔ)器中讀取數(shù)據(jù)。
在本發(fā)明的另一個(gè)示范實(shí)施例中,存儲(chǔ)控制器可包括主控制器、數(shù)據(jù)讀取單元、以及串行接口。主控制器可存儲(chǔ)通過(guò)第一總線(xiàn)接收到的來(lái)自處理器的控制數(shù)據(jù)信號(hào),并且可通過(guò)基于所存儲(chǔ)的控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器。數(shù)據(jù)讀取單元可存儲(chǔ)讀取地址信號(hào),該信號(hào)可通過(guò)第二總線(xiàn)從處理器和IP模塊中的至少一個(gè)中接收,并且該數(shù)據(jù)讀取單元可通過(guò)基于讀取地址信號(hào)生成命令數(shù)據(jù)信號(hào)來(lái)從存儲(chǔ)器讀取數(shù)據(jù)。串行接口可作為主控制器和數(shù)據(jù)讀取單元中的至少一個(gè)與存儲(chǔ)器的接口。
存儲(chǔ)控制器的另一個(gè)示范實(shí)施例可包括主控制器、DMA控制器、數(shù)據(jù)讀取單元、以及串行接口。主控制器可存儲(chǔ)通過(guò)第一總線(xiàn)接收到的來(lái)自處理器的控制數(shù)據(jù)信號(hào),并且可通過(guò)基于控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器。DMA控制器可通過(guò)第三總線(xiàn)與第二總線(xiàn)相連接,并且可通過(guò)第三總線(xiàn)傳送地址信號(hào)。數(shù)據(jù)讀取單元可通過(guò)第四總線(xiàn)與第二總線(xiàn)相連,可存儲(chǔ)經(jīng)第四總線(xiàn)從處理器和至少一個(gè)IP模塊的至少一個(gè)接收的地址信號(hào)和讀取地址信號(hào)的至少一個(gè),并且可通過(guò)基于地址信號(hào)生成命令數(shù)據(jù)信號(hào)而從存儲(chǔ)器讀取數(shù)據(jù)。串行接口可作為主控制器和數(shù)據(jù)讀取單元中的至少一個(gè)與存儲(chǔ)器的接口。
在本發(fā)明的另一個(gè)示范實(shí)施例中,數(shù)據(jù)讀取單元可通過(guò)第一總線(xiàn)存儲(chǔ)從處理器和至少一個(gè)IP模塊中的至少一個(gè)接收到的讀取地址信號(hào),并且可通過(guò)基于讀取地址信號(hào)生成命令數(shù)據(jù)信號(hào)而從存儲(chǔ)器中讀取數(shù)據(jù)。
在本發(fā)明的另一個(gè)示范實(shí)施例中,預(yù)取單元可在預(yù)取數(shù)據(jù)信號(hào)之后,存儲(chǔ)通過(guò)串行接口接收到的來(lái)自存儲(chǔ)器的數(shù)據(jù)信號(hào),以響應(yīng)預(yù)取開(kāi)始信號(hào),可停止存儲(chǔ)數(shù)據(jù)信號(hào),以響應(yīng)預(yù)取停止信號(hào),當(dāng)與讀取地址信號(hào)相應(yīng)的匹配數(shù)據(jù)信號(hào)出現(xiàn)在數(shù)據(jù)信號(hào)當(dāng)中時(shí),可向數(shù)據(jù)讀取單元輸出匹配信號(hào)和匹配數(shù)據(jù)信號(hào),以響應(yīng)地址比較信號(hào)。
在本發(fā)明的示范實(shí)施例中,控制數(shù)據(jù)信號(hào)可包括命令信號(hào)。
在本發(fā)明的示范實(shí)施例中,當(dāng)接收到至少一個(gè)讀取地址信號(hào)時(shí),數(shù)據(jù)讀取單元可生成地址比較信號(hào),并且當(dāng)與至少一個(gè)讀取地址信號(hào)相應(yīng)的匹配數(shù)據(jù)信號(hào)出現(xiàn)時(shí),預(yù)取單元可將匹配數(shù)據(jù)信號(hào)與匹配信號(hào)一起輸出給數(shù)據(jù)讀取單元,以響應(yīng)地址比較信號(hào)。
在本發(fā)明的示范實(shí)施例中,主控制器可進(jìn)一步包括發(fā)生器、存儲(chǔ)單元、解碼器、控制器、以及第一多路復(fù)用器。
在本發(fā)明的示范實(shí)施例中,狀態(tài)控制寄存器可存儲(chǔ)從數(shù)據(jù)讀取單元和串行接口中的至少一個(gè)接收的狀態(tài)信息信號(hào),以響應(yīng)寄存器控制信號(hào)中的至少一個(gè)??刂菩盘?hào)生成器可產(chǎn)生第二選擇控制信號(hào),以響應(yīng)傳輸控制信號(hào)和控制地址信號(hào)中的至少一個(gè)。主控制器可進(jìn)一步包括第二多路復(fù)用器。
在本發(fā)明的示范實(shí)施例中,存儲(chǔ)單元可包括多個(gè)寄存器,并且多個(gè)寄存器中的至少一個(gè)可存儲(chǔ)命令信號(hào)。
在本發(fā)明的示范實(shí)施例中,控制數(shù)據(jù)信號(hào)可進(jìn)一步包括寫(xiě)入地址信號(hào)和寫(xiě)入數(shù)據(jù)信號(hào),并且多個(gè)寄存器中的至少一個(gè)可存儲(chǔ)寫(xiě)入地址信號(hào),并且多個(gè)寄存器中的至少一個(gè)可存儲(chǔ)寫(xiě)入數(shù)據(jù)信號(hào)和讀取地址信號(hào)中的至少一個(gè)。
在本發(fā)明的示范實(shí)施例中,主控制器可進(jìn)一步包括第三多路復(fù)用器以及數(shù)據(jù)緩沖器單元。
在本發(fā)明的示范實(shí)施例中,數(shù)據(jù)讀取單元可通過(guò)第二總線(xiàn)從直接存儲(chǔ)器訪問(wèn)控制器接收直接存儲(chǔ)器訪問(wèn)地址信號(hào),可通過(guò)基于直接存儲(chǔ)器訪問(wèn)地址信號(hào)生成命令數(shù)據(jù)信號(hào),從存儲(chǔ)器讀取直接存儲(chǔ)器訪問(wèn)數(shù)據(jù),并且可通過(guò)第二總線(xiàn)提供向直接存儲(chǔ)器訪問(wèn)控制器提供直接存儲(chǔ)器訪問(wèn)數(shù)據(jù)。
在本發(fā)明的示范實(shí)施例中,數(shù)據(jù)讀取單元可包括控制器、第一多路復(fù)用器、地址寄存器、第二多路復(fù)用器、以及第三多路復(fù)用器。
在本發(fā)明的示范實(shí)施例中,主控制器可進(jìn)一步包括第四多路復(fù)用器和數(shù)據(jù)緩沖器。
在本發(fā)明的示范實(shí)施例中,主控制器可輸出預(yù)取開(kāi)始信號(hào)、預(yù)取停止信號(hào)、以及地址比較信號(hào),以響應(yīng)從主控制器接收到的狀態(tài)控制信號(hào),并且可輸出第三選擇控制信號(hào),以響應(yīng)匹配信號(hào)。
在本發(fā)明的示范實(shí)施例中,主控制器可進(jìn)一步包括預(yù)取單元。
在本發(fā)明的示范實(shí)施例中,數(shù)據(jù)讀取單元可包括控制器、第一多路復(fù)用器、地址寄存器、第二多路復(fù)用器、以及第三多路復(fù)用器。
在本發(fā)明的示范實(shí)施例中,數(shù)據(jù)讀取單元可進(jìn)一步包括第四多路復(fù)用器以及數(shù)據(jù)緩沖器。
在本發(fā)明的示范實(shí)施例中,主控制器可進(jìn)一步包括預(yù)取單元和DMA控制器。
在本發(fā)明的示范實(shí)施例中,主控制器可包括數(shù)據(jù)讀取單元,該數(shù)據(jù)讀取單元可進(jìn)一步包括第五多路復(fù)用器。
在本發(fā)明的示范實(shí)施例中,主控制器可存儲(chǔ)通過(guò)第一總線(xiàn)接收到的來(lái)自處理器的控制數(shù)據(jù)信號(hào),并且可通過(guò)基于存儲(chǔ)的控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器。
在本發(fā)明的示范實(shí)施例中,主控制器可包括發(fā)生器、存儲(chǔ)單元、解碼器、控制器、以及第一多路復(fù)用器。
在本發(fā)明的示范實(shí)施例中,數(shù)據(jù)讀取單元可包括控制器、地址寄存器、第一多路復(fù)用器、以及第二多路復(fù)用器。
在本發(fā)明的示范實(shí)施例中,串行接口可包括入口判定器、控制器、多路復(fù)用器、串行寄存器、以及數(shù)據(jù)寄存器。
在本發(fā)明的示范實(shí)施例中,預(yù)取單元可包括控制器、地址緩沖器、數(shù)據(jù)緩沖器、地址比較器、以及多路復(fù)用器。
在本發(fā)明的示范實(shí)施例中,可將DMA控制器包含在控制器中。
通過(guò)參考附圖詳細(xì)介紹本發(fā)明的示范實(shí)施例,它們將變得更加明顯,附圖中圖1是依照本發(fā)明的芯片上系統(tǒng)(SOC)的一個(gè)示范實(shí)施例的方框圖,芯片上系統(tǒng)可以包括存儲(chǔ)控制器及存儲(chǔ)器;圖2是圖1所示存儲(chǔ)控制器的一個(gè)示范實(shí)施例的方框圖;圖3是圖2所示主控制器的一個(gè)示范實(shí)施例的視圖;圖4是圖2所示數(shù)據(jù)讀取單元的一個(gè)示范實(shí)施例的視圖;圖5是圖2所示串行接口的一個(gè)示范實(shí)施例的視圖;
圖6是圖2所示預(yù)取單元的一個(gè)示范實(shí)施例的視圖;圖7是依照本發(fā)明的SOC的另一個(gè)示范實(shí)施例的方框圖,SOC可以包括存儲(chǔ)控制器及存儲(chǔ)器;圖8是圖7所示存儲(chǔ)控制器的另一個(gè)示范實(shí)施例的方框圖;圖9是圖8所示數(shù)據(jù)讀取單元的另一個(gè)示范實(shí)施例的視圖;圖10是依照本發(fā)明的SOC的另一個(gè)示范實(shí)施例的方框圖,SOC可以包括存儲(chǔ)控制器及存儲(chǔ)器;圖11是圖10所示存儲(chǔ)控制器的另一個(gè)示范實(shí)施例的方框圖;圖12是圖11所示數(shù)據(jù)讀取單元的另一個(gè)示范實(shí)施例的視圖;以及圖13是圖11所示預(yù)取單元的另一個(gè)示范實(shí)施例的視圖。
具體實(shí)施例方式
現(xiàn)在將參考附圖對(duì)本發(fā)明的各示范實(shí)施例做更全面地描述,附圖中所示的是本發(fā)明的各示范實(shí)施例。附圖中相同的附圖標(biāo)記用于代表相同的元件。
圖1是根據(jù)本發(fā)明的系統(tǒng)10(例如,芯片上系統(tǒng)(SOC))的一個(gè)示范實(shí)施例的方框圖,該系統(tǒng)10可以包括存儲(chǔ)控制器(例如,串行閃速存儲(chǔ)控制器)及存儲(chǔ)器(例如,串行閃速存儲(chǔ)器)20。參考圖1,系統(tǒng)10可以包括存儲(chǔ)控制器(例如,串行閃速存儲(chǔ)控制器)11、總線(xiàn)橋14、處理器(CPU)15、以及知識(shí)產(chǎn)權(quán)(IP)模塊16和17。系統(tǒng)10還可以包括附加的IP模塊。
存儲(chǔ)控制器11、處理器15、以及IP模塊16和17可以通過(guò)總線(xiàn)(例如,存儲(chǔ)器總線(xiàn))12通信??蓪⒋鎯?chǔ)控制器11與存儲(chǔ)器(例如,外部串行閃速存儲(chǔ)器)20相連接。
依照來(lái)自處理器15和IP模塊16和17中的至少一個(gè)模塊通過(guò)總線(xiàn)12接收到的數(shù)據(jù)讀取請(qǐng)求,存儲(chǔ)控制器11可從存儲(chǔ)器20中讀取數(shù)據(jù)。存儲(chǔ)控制器11可將讀取的數(shù)據(jù)傳送給處理器15和/或IP模塊16和17中的至少一個(gè)模塊,其可通過(guò)總線(xiàn)12請(qǐng)求數(shù)據(jù)。
可將總線(xiàn)橋14連接于總線(xiàn)12和總線(xiàn)13(例如,外圍總線(xiàn))之間,并且可將存儲(chǔ)控制器11與總線(xiàn)13連接??偩€(xiàn)橋14可將總線(xiàn)12和總線(xiàn)13之間傳送的信號(hào)轉(zhuǎn)換成依照總線(xiàn)協(xié)議的信號(hào)??偩€(xiàn)協(xié)議可以是任何適當(dāng)?shù)目偩€(xiàn)協(xié)議。存儲(chǔ)控制器11可依照通過(guò)總線(xiàn)13接收到的來(lái)自處理器15的控制數(shù)據(jù)信號(hào)執(zhí)行控制操作,例如,寫(xiě)入和/或刪除保存在存儲(chǔ)器20的地址的數(shù)據(jù),并且可以提供存儲(chǔ)器20和/或存儲(chǔ)控制器11的狀態(tài)信息到處理器15。
存儲(chǔ)控制器11可以生成形式與存儲(chǔ)器20相應(yīng)的讀取命令信號(hào),以響應(yīng)從外部設(shè)備接收到的命令選擇信號(hào)BOOT_OPTION??蓪⒋鎯?chǔ)控制器11使用于任何適合類(lèi)型的存儲(chǔ)器。存儲(chǔ)控制器11可響應(yīng)于從外部設(shè)備接收的復(fù)位信號(hào)RST而得到復(fù)位。
圖2是存儲(chǔ)控制器11的一個(gè)示范實(shí)施例的方框圖。參考圖2,存儲(chǔ)控制器11可以包括時(shí)鐘生成單元100、主控制器200、數(shù)據(jù)讀取單元300、串行接口400、以及預(yù)取單元500。時(shí)鐘生成單元100可以從總線(xiàn)12接收系統(tǒng)時(shí)鐘信號(hào)SCLK,并可以輸出存儲(chǔ)器時(shí)鐘信號(hào)MCLK,例如,通過(guò)將接收到的系統(tǒng)時(shí)鐘信號(hào)SCLK按一定比率劃分??蓪⒋鎯?chǔ)器時(shí)鐘信號(hào)MCLK提供給存儲(chǔ)控制器11的構(gòu)成單元??蓪⒅骺刂破?00通過(guò)總線(xiàn)13與總線(xiàn)橋14相連。主控制器200可通過(guò)外圍總線(xiàn)13接收來(lái)自處理器15的傳輸控制信號(hào)CTR1、控制地址信號(hào)ADD1、以及控制數(shù)據(jù)信號(hào)DATA_IN。主控制器200可存儲(chǔ)控制數(shù)據(jù)信號(hào)DATA_IN以響應(yīng)傳輸控制信號(hào)CTR1和/或控制地址信號(hào)ADD1。主控制器200依照包含在控制數(shù)據(jù)信號(hào)DATA_IN中的命令,可以控制存儲(chǔ)器20,和/或通過(guò)串行接口400控制數(shù)據(jù)讀取單元300、串行接口400以及預(yù)取單元500的至少一個(gè)。用于存儲(chǔ)器20的控制操作命令可以包含在控制數(shù)據(jù)信號(hào)DATA_IN中,并且主控制器200可以向串行接口400傳送第一傳輸請(qǐng)求信號(hào)REQ1。主控制器200可以從串行接口400接收傳輸準(zhǔn)許信號(hào)GRA1,并且主控制器200可以基于控制數(shù)據(jù)信號(hào)DATA_IN生成請(qǐng)求數(shù)據(jù)信號(hào)ODATA,并且可將請(qǐng)求數(shù)據(jù)信號(hào)ODATA傳送至串行接口400。主控制器200可以保存從串行接口400接收到的請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA,并且可以通過(guò)總線(xiàn)13將請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA作為結(jié)果數(shù)據(jù)信號(hào)DATA_OUT傳送給處理器15。
可將用于數(shù)據(jù)讀取單元300的控制操作命令包含在控制信號(hào)DATA_IN中,并且主控制器200可以基于控制數(shù)據(jù)信號(hào)DATA_IN生成狀態(tài)控制信號(hào)CT1,并傳送給數(shù)據(jù)讀取單元300。狀態(tài)控制信號(hào)CT1可以請(qǐng)求數(shù)據(jù)讀取單元300的當(dāng)前操作狀態(tài)信息和/或命令數(shù)據(jù)讀取單元300執(zhí)行操作。例如,數(shù)據(jù)讀取單元300可以控制預(yù)取單元500的操作以響應(yīng)狀態(tài)控制信號(hào)CT1。
可將對(duì)串行接口400的控制操作命令包含在控制數(shù)據(jù)信號(hào)DATA_IN中,并且基于控制數(shù)據(jù)信號(hào)DATA_IN,主控制器200可以生成狀態(tài)控制信號(hào)CT2并傳送至串行接口400。狀態(tài)控制信號(hào)CT2可請(qǐng)求串行接口400的當(dāng)前操作狀態(tài)信息和/或可命令串行接口400執(zhí)行操作。
可將用于預(yù)取單元500的控制操作命令包含在控制數(shù)據(jù)信號(hào)DATA_IN中,并且主控制器200可以生成基于控制數(shù)據(jù)信號(hào)DATA_IN的狀態(tài)控制信號(hào)CT3并傳送至預(yù)取單元500。狀態(tài)控制信號(hào)CT3可請(qǐng)求預(yù)取單元500的當(dāng)前操作狀態(tài)信息和/或命令預(yù)取單元500執(zhí)行操作。
可將數(shù)據(jù)讀取單元300通過(guò)總線(xiàn)12與處理器15和/或IP模塊16和17相連接(參見(jiàn)圖1)。數(shù)據(jù)讀取單元300可接收傳輸控制信號(hào)CTR2和/或通過(guò)總線(xiàn)12從處理器15和/或IP模塊16和17中的一個(gè)模塊讀取地址信號(hào)ADD2。數(shù)據(jù)讀取單元300可存儲(chǔ)讀取地址信號(hào)ADD2并可向串行接口400傳送傳輸請(qǐng)求信號(hào)REQ2,以響應(yīng)傳輸控制信號(hào)CTR2。
數(shù)據(jù)讀取單元300可以例如在接收到來(lái)自串行接口400的傳送準(zhǔn)許信號(hào)GRA2后,將讀取的數(shù)據(jù)長(zhǎng)度信息LEN以及命令數(shù)據(jù)信號(hào)RC_DATA傳送至串行接口400。數(shù)據(jù)讀取單元300可以基于讀取地址信號(hào)ADD2和/或在數(shù)據(jù)讀取單元300中生成讀取命令信號(hào)READ,生成命令數(shù)據(jù)信號(hào)RC_DATA。
數(shù)據(jù)讀取單元300可通過(guò)串行接口接收并存儲(chǔ)數(shù)據(jù)信號(hào)RE_DATA,該信號(hào)可與讀取地址信號(hào)ADD2相對(duì)應(yīng)。數(shù)據(jù)讀取單元300可以將存儲(chǔ)的數(shù)據(jù)信號(hào)RE_DATA作為讀取數(shù)據(jù)信號(hào)DATA_R輸出給總線(xiàn)12。
狀態(tài)控制信號(hào)CT1可以包括預(yù)取控制操作信息并且數(shù)據(jù)讀取單元300可向預(yù)取單元500輸出預(yù)取開(kāi)始信號(hào)START和預(yù)取停止信號(hào)STOP。預(yù)取單元500可執(zhí)行數(shù)據(jù)信號(hào)RE_DATA的預(yù)取操作。
例如,當(dāng)讀取地址信號(hào)ADD2被接收時(shí),預(yù)取單元500的預(yù)取操作結(jié)束并且數(shù)據(jù)讀取單元300可輸出地址比較信號(hào)CMP至預(yù)取單元500。數(shù)據(jù)讀取單元300可從預(yù)取單元500接收匹配信號(hào)MAT以及匹配數(shù)據(jù)信號(hào)MAT_DATA,并且數(shù)據(jù)讀取單元300可存儲(chǔ)匹配數(shù)據(jù)信號(hào)MAT_DATA。數(shù)據(jù)讀取單元300可將存儲(chǔ)的匹配數(shù)據(jù)信號(hào)MAT_DATA輸出至總線(xiàn)12,例如,作為讀取數(shù)據(jù)信號(hào)DATA_R。將參考圖4對(duì)數(shù)據(jù)讀取單元300做更詳細(xì)的描述。
串行接口400可作為主控制器200與存儲(chǔ)器20的接口,例如,以響應(yīng)來(lái)自主控制器200的傳輸請(qǐng)求信號(hào)REQ1。串行接口400可作為數(shù)據(jù)讀取單元300與存儲(chǔ)器20的接口,例如,以響應(yīng)可以從數(shù)據(jù)讀取單元300接收到的傳輸請(qǐng)求信號(hào)REQ2。依照例如在串行接口400比如同時(shí)接收到傳輸請(qǐng)求信號(hào)REQ1和REQ2時(shí)的優(yōu)先順序,串行接口400可作為主控制器200和/或數(shù)據(jù)讀取單元300與存儲(chǔ)器20的接口。串行接口400可作為主控制器200和/或數(shù)據(jù)讀取單元300與存儲(chǔ)器20的接口。
預(yù)取單元500可接收預(yù)取開(kāi)始信號(hào)START并且預(yù)取單元500可存儲(chǔ)通過(guò)存儲(chǔ)器總線(xiàn)12接收到的讀取地址信號(hào)ADD2。預(yù)取單元500可存儲(chǔ)從串行接口400接收到的數(shù)據(jù)信號(hào)RE_DATA。預(yù)取單元500可接收預(yù)取停止信號(hào)STOP并且預(yù)取單元500可中斷數(shù)據(jù)信號(hào)RE_DATA的存儲(chǔ)操作。例如當(dāng)預(yù)取單元500接收到地址比較信號(hào)CMP時(shí),預(yù)取單元500可決定與接收到的讀取地址信號(hào)ADD2相應(yīng)的匹配數(shù)據(jù)信號(hào)MAT_DATA是否存在于已存儲(chǔ)的數(shù)據(jù)信號(hào)RE_DATA中。與接收到的讀取地址信號(hào)ADD2相應(yīng)的匹配數(shù)據(jù)信號(hào)MAT_DATA可能存在,并且預(yù)取單元500可將帶有匹配信號(hào)MAT的匹配數(shù)據(jù)信號(hào)MAT_DATA傳送至數(shù)據(jù)讀取單元300。
可從主控制器200輸出的請(qǐng)求數(shù)據(jù)信號(hào)ODATA以及可從數(shù)據(jù)讀取單元300輸出的命令數(shù)據(jù)信號(hào)RC_DATA的例子,下面依照示例控制操作在下表中舉例說(shuō)明。
<表1>
圖3所示的是依照本發(fā)明的圖2主控制器200的示范實(shí)施例。參考圖3,主控制器200可以包括發(fā)生器210(例如控制信號(hào)發(fā)生器),存儲(chǔ)單元220,寄存器230(例如狀態(tài)控制寄存器),解碼器240(例如命令解碼器),控制器250,以及多路復(fù)用器260和270。發(fā)生器210可輸出傳輸識(shí)別信號(hào)CTR_IF以及至少一個(gè)寄存器的控制信號(hào)R11至R16,以響應(yīng)從總線(xiàn)13接收到的傳輸控制信號(hào)CTR1和/或控制地址信號(hào)ADD1。例如,在與存儲(chǔ)器時(shí)鐘信號(hào)MCLK同步之后,發(fā)生器210可以啟用或禁止寄存器控制信號(hào)R11至R16。發(fā)生器210可以輸出選擇控制信號(hào)S11至S17,以響應(yīng)傳輸請(qǐng)求信號(hào)CTR1和/或控制地址信號(hào)ADD1。
存儲(chǔ)單元220可以包含寄存器221至226中的至少一個(gè)。存儲(chǔ)單元220可以進(jìn)一步包括附加寄存器。寄存器221至226可以存儲(chǔ)并且輸出通過(guò)總線(xiàn)13接收到的控制數(shù)據(jù)信號(hào)DATA_IN,例如,以響應(yīng)寄存器控制信號(hào)R11至R16??刂茢?shù)據(jù)信號(hào)DATA_IN可以包括,例如命令信號(hào)CMD或者命令信號(hào)CMD和地址信號(hào)ADDR1至ADDR3??刂茢?shù)據(jù)信號(hào)DATA_IN可以包括命令信號(hào)CMD,地址信號(hào)ADDR1至ADDR3,和/或數(shù)據(jù)信號(hào)WDAT1與WDAT2??刂茢?shù)據(jù)信號(hào)DATA_IN可以包括命令信號(hào)CMD以及狀態(tài)控制信號(hào)CT1、CT2和CT3中的至少一個(gè)。狀態(tài)控制信號(hào)CT1、CT2和CT3可控制一操作,和/或請(qǐng)求有關(guān)數(shù)據(jù)讀取單元300、串行接口400和/或預(yù)取單元500的當(dāng)前操作狀態(tài)的信息。
寄存器221至226中的至少一個(gè)可以存儲(chǔ)命令信號(hào)CMD、地址信號(hào)ADDR1至ADDR3、和/或數(shù)據(jù)信號(hào)WDAT1和WDAT2。例如,寄存器221可存儲(chǔ)命令信號(hào)CMD,寄存器222至224可存儲(chǔ)地址信號(hào)ADDR1至ADDR3,而寄存器225和226可存儲(chǔ)數(shù)據(jù)信號(hào)WDAT1和WDAT2。寄存器225和226也可存儲(chǔ)數(shù)據(jù)信號(hào)RDAT1和RDAT2,可將數(shù)據(jù)信號(hào)RDAT1和RDAT2包含在請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA中,以響應(yīng)寄存器控制信號(hào)R15和R16。寄存器225和226可以存儲(chǔ)數(shù)據(jù)信號(hào)WDAT1和WDAT2以及數(shù)據(jù)信號(hào)RDAT1和RDAT2的至少一個(gè)。請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA可以包括狀態(tài)信號(hào)BUSY,該狀態(tài)信號(hào)可以指示存儲(chǔ)器20的當(dāng)前狀態(tài)。
寄存器單元230可存儲(chǔ)狀態(tài)控制信號(hào)CT1、CT2和CT3中的至少一個(gè),可將這些狀態(tài)控制信號(hào)包含在控制數(shù)據(jù)信號(hào)DATA_IN中,例如,用以響應(yīng)寄存器控制信號(hào)R17。寄存器單元230可以接收來(lái)自數(shù)據(jù)讀取單元300的狀態(tài)信息信號(hào)SIF1,并且該寄存器單元230可以存儲(chǔ)狀態(tài)信息信號(hào)SIF1以響應(yīng)寄存器控制信號(hào)R17。寄存器單元230可接收來(lái)自串行接口400的狀態(tài)信息信號(hào)SIF2,并且寄存器單元230可以存儲(chǔ)狀態(tài)信息信號(hào)SIF2以響應(yīng)寄存器控制信號(hào)R17。寄存器單元230可接收來(lái)自預(yù)取單元500的狀態(tài)信息信號(hào)SIF3,并且狀態(tài)控制寄存器單元230可以存儲(chǔ)狀態(tài)信息信號(hào)SIF3以響應(yīng)寄存器控制信號(hào)R17。狀態(tài)信息信號(hào)SIF1至SIF3可以包含數(shù)據(jù)讀取單元300、串行接口400和預(yù)取單元500的當(dāng)前操作狀態(tài)信息。寄存器單元230可存儲(chǔ)狀態(tài)信號(hào)BUSY以響應(yīng)寄存器控制信號(hào)R17。主控制器200可包含附加狀態(tài)控制寄存器。
命令解碼器240可通過(guò)將命令信號(hào)CMD解碼來(lái)輸出命令信息CMD_IF,命令信號(hào)CMD可從寄存器221中輸出??刂破?50可向串行接口400傳送傳輸請(qǐng)求信號(hào)REQ1,以響應(yīng)來(lái)自發(fā)生器210的傳輸識(shí)別信號(hào)CTR_IF,以及來(lái)自命令解碼器240的命令信息CMD_IF。
可從串行接口400接收傳輸準(zhǔn)許信號(hào)GRA1,且控制器250可輸出選擇控制信號(hào)S21至S26,以響應(yīng)命令信息CMD_IF及存儲(chǔ)器時(shí)鐘信號(hào)MCLK。例如,控制器250可以通過(guò)與存儲(chǔ)器時(shí)鐘信號(hào)MCLK同步來(lái)啟用或禁止選擇控制信號(hào)S21至S26??刂破?50可以依照命令信息CMD_IF決定控制操作命令信號(hào)CMD。
請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA例如通過(guò)串行接口400接收,并且控制器250可以向發(fā)生器210輸出收到識(shí)別信號(hào)RSV_IF1??刂破?50可向寄存器單元230接收和傳送包含在請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA中的狀態(tài)信號(hào)BUSY。
控制器250可以接收狀態(tài)信息信號(hào)SIF1、SIF2、以及SIF3中的至少一個(gè),并且控制器250可向發(fā)生器210傳送收到識(shí)別信號(hào)RSV_IF2。控制器250可以通過(guò)接收狀態(tài)信息信號(hào)SIF1、SIF2、以及SIF3中的至少一個(gè),來(lái)識(shí)別數(shù)據(jù)讀取單元300、串行接口400以及預(yù)取單元500的當(dāng)前操作狀態(tài)。
多路復(fù)用器260可以選擇來(lái)自寄存器221至226中的至少一個(gè)輸出信號(hào),并且把選擇的輸出信號(hào)作為請(qǐng)求數(shù)據(jù)信號(hào)ODATA向串行接口400輸出,以響應(yīng)選擇控制信號(hào)S21至S26??蓪⑦x擇控制信號(hào)S21至S26例如順序地啟用,并且多路復(fù)用器260可選擇(例如,順序地選擇)命令信號(hào)CMD、地址信號(hào)ADDR1至ADDR3、以及數(shù)據(jù)信號(hào)DAT1和DAT2,并且可將它們作為請(qǐng)求數(shù)據(jù)信號(hào)ODATA輸出。
多路復(fù)用器270可選擇來(lái)自寄存器221至226的輸出信號(hào)或者狀態(tài)控制寄存器單元230的輸出信號(hào)的至少一個(gè),并且可以將所選擇的輸出信號(hào)作為結(jié)果數(shù)據(jù)信號(hào)DATA_OUT輸出給總線(xiàn)13,例如用于響應(yīng)選擇控制信號(hào)S11至S17。
寄存器單元230可以存儲(chǔ)至少一個(gè)狀態(tài)信息信號(hào)SIF1、SIF2和SIF3,并且可以存儲(chǔ)至少一個(gè)狀態(tài)控制信號(hào)CT1、CT2和/或CT3,以響應(yīng)寄存器控制信號(hào)R17。寄存器單元230也可以存儲(chǔ)狀態(tài)信息BUSY。
圖3所示的是主控制器200的示范實(shí)施例。主控制器200可依照包含在控制數(shù)據(jù)信號(hào)DATA_IN中的命令執(zhí)行控制操作,控制數(shù)據(jù)信號(hào)DATA_IN可從處理器15經(jīng)總線(xiàn)13被接收??蓪诳刂茢?shù)據(jù)信號(hào)DATA_IN中的命令依照控制的目標(biāo)來(lái)劃分。
該命令可以涉及對(duì)存儲(chǔ)器20的控制操作。例如,該命令可以包括存儲(chǔ)在與存儲(chǔ)器20的地址相應(yīng)的存儲(chǔ)單元中的數(shù)據(jù)的擦除請(qǐng)求命令,將數(shù)據(jù)寫(xiě)入與存儲(chǔ)器20的地址相應(yīng)的存儲(chǔ)單元的寫(xiě)請(qǐng)求命令,或者對(duì)存儲(chǔ)器20的狀態(tài)寄存器的數(shù)據(jù)讀取或?qū)懭胝?qǐng)求命令。
該命令可以是用于數(shù)據(jù)讀取單元300、串行接口400和/或預(yù)取單元500的控制操作命令。該命令可以包括向數(shù)據(jù)讀取單元300、串行接口400和預(yù)取單元500中的至少一個(gè)請(qǐng)求當(dāng)前操作狀態(tài)信息的命令,或者該命令可以對(duì)數(shù)據(jù)讀取單元300、串行接口400和預(yù)取單元500中的至少一個(gè)設(shè)置操作。
例如,控制數(shù)據(jù)信號(hào)DATA_IN可以包括命令信號(hào)CMD以及地址信號(hào)ADDR1至ADDR3,并且主控制器200可以通過(guò)總線(xiàn)13接收(例如,順序地接收)命令信號(hào)CMD、地址信號(hào)ADDR1、地址信號(hào)ADDR2以及地址信號(hào)ADDR3。
可將來(lái)自CPU 15的傳輸請(qǐng)求信號(hào)CRT1通過(guò)外圍總線(xiàn)13接收,并且發(fā)生器210可以向控制器250生成并輸出傳輸識(shí)別信號(hào)CTR_IF。發(fā)生器210可以啟用(例如,順序地啟用)寄存器控制信號(hào)R11至R14,以響應(yīng)經(jīng)總線(xiàn)13接收的控制地址信號(hào)ADD1和存儲(chǔ)器時(shí)鐘信號(hào)MCLK。
可將控制地信號(hào)ADD1依照控制數(shù)據(jù)信號(hào)DATA_IN通過(guò)總線(xiàn)13輸入到主控制器200中??刂茢?shù)據(jù)信號(hào)DATA_IN具有命令信號(hào)CMD并且控制地址信號(hào)ADD1可以輸入到發(fā)生器210中。地址信號(hào)ADDR1至ADDR3每個(gè)均可不相同??刂菩盘?hào)發(fā)生器210可依照控制地址信號(hào)ADDR1控制存儲(chǔ)單元220的寄存器221至226和/或寄存器單元230的操作。
可將寄存器221至224啟用(例如,順序地啟用)以響應(yīng)寄存器控制信號(hào)R11至R14。寄存器221可以存儲(chǔ)命令信號(hào)CMD,并且寄存器222至224可存儲(chǔ)(例如,順序地存儲(chǔ))地址信號(hào)ADDR1至ADDR3。例如,當(dāng)附加地址信號(hào)被包含在控制數(shù)據(jù)信號(hào)DATA_IN中時(shí),發(fā)生器210可啟用寄存器控制信號(hào)R15和/或R16。寄存器225和/或226可存儲(chǔ)附加地址信號(hào)以響應(yīng)寄存器控制信號(hào)R15和/或R16。
例如,在發(fā)生器210啟用寄存器控制信號(hào)R11之后和/或當(dāng)控制數(shù)據(jù)信號(hào)DATA_IN中可包含命令信號(hào)時(shí),可將寄存器控制信號(hào)R15和/或R16啟用(例如,順序地啟用)。寄存器221可存儲(chǔ)命令信號(hào)CMD以響應(yīng)寄存器控制信號(hào)R11,且寄存器225和/或226可存儲(chǔ)命令信號(hào)以響應(yīng)寄存器控制信號(hào)R15和R16。
發(fā)生器210可禁止(例如順序地禁止)寄存器控制信號(hào)R11至R14中的至少一個(gè)以響應(yīng)存儲(chǔ)器時(shí)鐘信號(hào)MCLK。寄存器221可以輸出命令信號(hào)CMD,并且寄存器222至224中的至少一個(gè)寄存器可以輸出地址信號(hào)ADDR1至ADDR3。解碼器240可通過(guò)將命令信號(hào)CMD解碼來(lái)輸出命令信息CMD_IF??刂破?50可向串行接口400傳送傳輸請(qǐng)求信號(hào)REQ1,例如,用于響應(yīng)傳輸識(shí)別信號(hào)CTR_IF以及命令信息CMD_IF。
例如,當(dāng)可接收來(lái)自傳串行接口400的傳輸準(zhǔn)許信號(hào)GRA1時(shí),響應(yīng)命令信息CMD_IF以及存儲(chǔ)器時(shí)鐘信號(hào)MCLK,控制器250可以啟用(例如,順序地啟用)選擇控制信號(hào)S21至S24中的至少一個(gè)。例如,當(dāng)接收到傳輸準(zhǔn)許信號(hào)GRA1時(shí),控制器250可啟用選擇控制信號(hào)S21。當(dāng)接收到來(lái)自串行接口400的信號(hào)NEXT1時(shí),控制器250可例如一個(gè)接一個(gè)地啟用選擇控制信號(hào)S22至S24。多路復(fù)用器260可以選擇(例如順序地選擇)命令信號(hào)CMD和/或地址信號(hào)ADDR1至ADDR3中的至少一個(gè),并且可以將它們作為請(qǐng)求數(shù)據(jù)信號(hào)ODATA輸出給串行接口400,例如,以響應(yīng)選擇控制信號(hào)S21至S24中的至少一個(gè)。
可將請(qǐng)求把數(shù)據(jù)寫(xiě)入存儲(chǔ)器單元的命令包含在控制數(shù)據(jù)信號(hào)DATA_IN中,其中存儲(chǔ)器單元可與存儲(chǔ)器20的地址相對(duì)應(yīng),并且控制數(shù)據(jù)信號(hào)DATA_IN可包含命令信號(hào)CMD、地址信號(hào)ADDR1至ADDR3中的至少一個(gè)、以及數(shù)據(jù)信號(hào)WDAT1和/或WDAT2。主控制器200可通過(guò)總線(xiàn)13接收(例如,順序地接收)命令信號(hào)CMD、地址信號(hào)ADDR1、地址信號(hào)ADDR2、地址信號(hào)ADDR3、數(shù)據(jù)信號(hào)WDAT1以及數(shù)據(jù)信號(hào)WDAT2。
例如,當(dāng)來(lái)自處理器15的傳輸請(qǐng)求信號(hào)CRT1經(jīng)總線(xiàn)13被接收到時(shí),發(fā)生器210可向控制器250生成并輸出傳輸識(shí)別信號(hào)CTR_IF。發(fā)生器210可啟用(例如順序地啟用)寄存器控制信號(hào)R11至R16中的至少一個(gè),以響應(yīng)經(jīng)總線(xiàn)13接收到的控制地址信號(hào)ADD1以及存儲(chǔ)器時(shí)鐘信號(hào)MCLK。
控制數(shù)據(jù)信號(hào)DATA_IN可包括請(qǐng)求寫(xiě)入存儲(chǔ)器20的狀態(tài)寄存器的命令、命令信號(hào)CMD、以及數(shù)據(jù)信號(hào)WDAT1和WDAT2。例如,主控制器200可通過(guò)總線(xiàn)13接收(例如,順序地接收)命令信號(hào)CMD、數(shù)據(jù)信號(hào)WDAT1以及數(shù)據(jù)信號(hào)WDAT2。
發(fā)生器210可以生成傳輸識(shí)別信號(hào)CTR_IF并向控制器250輸出,例如,當(dāng)來(lái)自處理器15的第一傳輸請(qǐng)求信號(hào)CRT1經(jīng)總線(xiàn)13被接收到時(shí)。發(fā)生器210可啟用(例如順序地啟用)寄存器控制信號(hào)R11、R15以及R16,以響應(yīng)經(jīng)總線(xiàn)13接收到的控制地址信號(hào)ADD1以及存儲(chǔ)器時(shí)鐘信號(hào)MCLK。
控制數(shù)據(jù)信號(hào)DATA_IN可以包含請(qǐng)求讀取存儲(chǔ)器20的狀態(tài)寄存器的命令以及命令信號(hào)CMD。
發(fā)生器210可以生成傳輸識(shí)別信號(hào)CTR_IF并向控制器250輸出,例如,當(dāng)來(lái)自處理器15的第一傳輸請(qǐng)求信號(hào)CRT1經(jīng)總線(xiàn)13被接收到時(shí)。發(fā)生器210可啟用寄存器控制信號(hào)R11,例如,用以響應(yīng)通過(guò)總線(xiàn)13接收到的控制地址信號(hào)ADD1以及存儲(chǔ)器時(shí)鐘信號(hào)MCLK。寄存器221可存儲(chǔ)命令信號(hào)CMD以響應(yīng)寄存器控制信號(hào)R11。發(fā)生器210可禁止寄存器控制信號(hào)R11,并且可啟用寄存器控制信號(hào)R15和R16。寄存器221可輸出命令信號(hào)CMD以響應(yīng)寄存器控制信號(hào)R11。
命令解碼器240可輸出命令信息CMD_IF,例如在將命令信號(hào)CMD解碼后,并且控制器250可向串行接口400傳送傳輸請(qǐng)求信號(hào)REQ1,以響應(yīng)傳輸識(shí)別信號(hào)CTR_IF和/或命令信息CMD_IF??刂破?50可啟用選擇控制信號(hào)S21以響應(yīng)命令信息CMD_IF以及存儲(chǔ)器時(shí)鐘信號(hào)MCLK,例如當(dāng)來(lái)自串行接口400的傳輸準(zhǔn)許信號(hào)GRA1被接收到時(shí)。多路復(fù)用器260可將命令信號(hào)CMD作為請(qǐng)求數(shù)據(jù)信號(hào)ODATA向串行接口400輸出,以響應(yīng)選擇控制信號(hào)S21。
主控制器200可接收請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA,該請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA可以是經(jīng)串行接口400從存儲(chǔ)器20的狀態(tài)寄存器中讀取的數(shù)據(jù)。請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA可包含數(shù)據(jù)信號(hào)RDAT1和RDAT2。
寄存器225和226可存儲(chǔ)數(shù)據(jù)信號(hào)RDAT1和RDAT2,以響應(yīng)寄存器控制信號(hào)R15和R16??刂破?50可向發(fā)生器210輸出收到識(shí)別信號(hào)RSV_IF1,例如,當(dāng)收到請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA時(shí)。發(fā)生器210可禁用寄存器控制信號(hào)R15和R16,并且可以啟用(例如順序地啟用)選擇控制信號(hào)S16和S17,以響應(yīng)收到識(shí)別信號(hào)RSV_IF1。
寄存器225和226可輸出數(shù)據(jù)信號(hào)RDAT1和RDAT2以響應(yīng)寄存器控制信號(hào)R15和R16。多路復(fù)用器270可選擇(例如順序地選擇)數(shù)據(jù)信號(hào)RDAT1和RDAT2并經(jīng)CPU 15向總線(xiàn)13傳送,例如以結(jié)果數(shù)據(jù)信號(hào)DATA_OUT的形式,以響應(yīng)選擇控制信號(hào)S16和S17。
向數(shù)據(jù)讀取單元300、串行接口400和預(yù)取單元500中的至少一個(gè)請(qǐng)求當(dāng)前操作狀態(tài)信息的命令,可以和命令信號(hào)CMD以及狀態(tài)控制信號(hào)CT1至CT3中的至少一個(gè)一起,包含在控制數(shù)據(jù)信號(hào)DATA_IN中。
發(fā)生器210可生成傳輸識(shí)別信號(hào)CTR_IF并向控制器250輸出,例如,當(dāng)來(lái)自處理器15的傳輸請(qǐng)求信號(hào)CRT1經(jīng)總線(xiàn)13被收到時(shí)。發(fā)生器210可啟用(例如順序地啟用)寄存器控制信號(hào)R11至R17,以響應(yīng)可經(jīng)總線(xiàn)13收到的控制地址信號(hào)ADD1以及存儲(chǔ)器時(shí)鐘信號(hào)MCLK。寄存器221可存儲(chǔ)命令信號(hào)CMD,以響應(yīng)寄存器控制信號(hào)R11,并且寄存器單元230可以存儲(chǔ)狀態(tài)控制信號(hào)CT1至CT3中的至少一個(gè),可將狀態(tài)控制信號(hào)CT1至CT3接收用以響應(yīng)寄存器控制信號(hào)R17。
發(fā)生器210可禁用寄存器控制信號(hào)R11以響應(yīng)存儲(chǔ)器時(shí)鐘信號(hào)MCLK。寄存器221可輸出命令信號(hào)CMD以響應(yīng)寄存器控制信號(hào)R11。命令解碼器240可通過(guò)將命令信號(hào)CMD解碼來(lái)輸出命令信息CMD_IF??刂破?50可以確認(rèn)命令信號(hào)CMD可能正在從命令信息CMD_IF,對(duì)數(shù)據(jù)讀取單元300、串行接口400和預(yù)取單元500中的至少一個(gè)請(qǐng)求當(dāng)前操作狀態(tài)信息。
發(fā)生器210可以禁用寄存器控制信號(hào)R17,以響應(yīng)存儲(chǔ)器時(shí)鐘信號(hào)MCLK。寄存器單元230可將至少一個(gè)存儲(chǔ)的狀態(tài)控制信號(hào)CT1至CT3傳送給數(shù)據(jù)讀取單元300、串行接口400和預(yù)取單元500中的至少一個(gè),用以響應(yīng)寄存器控制信號(hào)R17。數(shù)據(jù)讀取單元300可以響應(yīng)信號(hào)CT1并且可以將狀態(tài)信息信號(hào)SIF1傳送給狀態(tài)控制寄存器單元230和/或控制器250,例如,當(dāng)可將狀態(tài)控制信號(hào)CT1從狀態(tài)控制寄存器單元230輸出時(shí)。串行接口400可以響應(yīng)狀態(tài)控制信號(hào)CT2,并且當(dāng)可將狀態(tài)控制信號(hào)CT2從狀態(tài)控制寄存器單元230輸出時(shí),可以將狀態(tài)信息信號(hào)SIF2傳送給寄存器單元230和/或控制器250。預(yù)取單元500可以響應(yīng)狀態(tài)控制信號(hào)CT3,并且可以將狀態(tài)信息信號(hào)SIF3傳送給寄存器單元230和/或控制器250,例如,當(dāng)將狀態(tài)控制信號(hào)CT3從寄存器單元230輸出時(shí)。
控制器250可向發(fā)生器210輸出收到識(shí)別信號(hào)RSV_IF2,例如,當(dāng)收到狀態(tài)信息信號(hào)SIF1至SIF3的至少一個(gè)時(shí)。發(fā)生器210可以啟用寄存器控制信號(hào)R17以及選擇控制信號(hào)S17以響應(yīng)收到識(shí)別信號(hào)RSV_IF2。
寄存器單元230可存儲(chǔ)可接收來(lái)響應(yīng)寄存器控制信號(hào)R17的狀態(tài)信息信號(hào)SIF1至SIF3中的一個(gè)。發(fā)生器210可以禁用寄存器控制信號(hào)R17,并且寄存器單元230可以輸出存儲(chǔ)的狀態(tài)信息信號(hào)(例如,SIF1、SIF2以及SIF3中的至少一個(gè)),例如,以響應(yīng)寄存器控制信號(hào)R17。多路復(fù)用器270可通過(guò)總線(xiàn)13向處理器15傳送可從狀態(tài)控制寄存器單元230中輸出的狀態(tài)信息信號(hào)(例如,SIF1、SIF2以及SIF3中的至少一個(gè)),例如,以響應(yīng)控制信號(hào)S17。
處理器15可請(qǐng)求存儲(chǔ)在主控制器200的寄存器221至226的至少一個(gè)中的信息。發(fā)生器210可將所有或基本上所有的寄存器控制信號(hào)R11至R16禁用,并且可以例如一個(gè)接一個(gè)地啟用選擇控制信號(hào)S11至S17,以響應(yīng)傳送控制信號(hào)CTR1。寄存器221至226可輸出命令信號(hào)CMD、地址信號(hào)ADD1至ADD3的至少一個(gè)以及至少一個(gè)數(shù)據(jù)信號(hào)DAT1和DAT2,以響應(yīng)寄存器控制信號(hào)R11至R16。多路復(fù)用器270可例如一個(gè)接一個(gè)選擇寄存器221至226的輸出信號(hào),以響應(yīng)選擇控制信號(hào)S11至S17,并且可將輸出信號(hào)輸出到總線(xiàn)13。
圖4所示是依照本發(fā)明的圖2所示數(shù)據(jù)讀取器300的示范實(shí)施例。數(shù)據(jù)讀取單元300的示范實(shí)施例可包括控制器310、寄存器(例如地址寄存器)320、多路復(fù)用器330、340和350、以及數(shù)據(jù)緩沖器360。
控制器310可通過(guò)總線(xiàn)12從至少一個(gè)處理器15和至少一個(gè)IP模塊16和17中接收傳輸控制信號(hào)CTR2??刂破?10可向串行接口400輸出傳輸請(qǐng)求信號(hào)REQ2,并且可啟用寄存器控制信號(hào)R21,例如,以響應(yīng)傳輸控制信號(hào)CTR2。控制器310可向串行接口400輸出讀取數(shù)據(jù)長(zhǎng)度信息LEN,可禁用寄存器控制信號(hào)R21,并且啟用選擇控制信號(hào)S31,例如,當(dāng)從串行接口400接收到傳輸準(zhǔn)許信號(hào)GRA2時(shí)。當(dāng)從串行接口400接收到接收完成信號(hào)NEXT2時(shí),控制器310可例如一個(gè)接一個(gè)地啟用至少一個(gè)選擇控制信號(hào)S32至S34。
控制器310可響應(yīng)狀態(tài)控制信號(hào)CT1,狀態(tài)控制信號(hào)CT1可從主控制器200接收到并且可以控制預(yù)取單元500的操作。當(dāng)狀態(tài)控制信號(hào)包含涉及預(yù)取控制操作的信息時(shí),可以在控制器310中例如通過(guò)狀態(tài)控制信號(hào)CT1設(shè)置預(yù)取控制操作。控制器310可在例如各時(shí)間間隔向預(yù)取單元500輸出預(yù)取開(kāi)始信號(hào)START以及預(yù)取停止信號(hào)STOP??刂破?10可通過(guò)向預(yù)取單元500輸出地址比較信號(hào)CMP來(lái)請(qǐng)求匹配數(shù)據(jù)信號(hào)MAT_DATA??刂破?10可禁用選擇控制信號(hào)S41,并且可啟用選擇控制信號(hào)S42,例如當(dāng)控制器310從預(yù)取單元500接收到匹配信號(hào)MAT時(shí)??刂破?10可啟用選擇控制信號(hào)S41并且可禁用選擇控制信號(hào)S42,例如,當(dāng)控制器310沒(méi)有從預(yù)取單元500接收到匹配信號(hào)MAT時(shí)。
可以不在控制器310中設(shè)置預(yù)取控制操作,控制器310可以不向預(yù)取單元500輸出預(yù)取開(kāi)始信號(hào)START,并且預(yù)取單元500可不執(zhí)行預(yù)取操作。
控制器310可多次從串行接口400接收傳送就緒信號(hào)READY,并且控制器310可啟用并且向總線(xiàn)12輸出有效信號(hào)VALID??烧?qǐng)求向數(shù)據(jù)讀取單元300傳送數(shù)據(jù)的模塊(例如,處理器15和/或IP模塊16和17中的至少一個(gè)模塊)可以確認(rèn)從總線(xiàn)12上接收到的讀取數(shù)據(jù)信號(hào)DATA_R是有效的??刂破?10可以確認(rèn)數(shù)據(jù)信號(hào)RE_DATA可被存儲(chǔ)在全部或者基本上全部數(shù)據(jù)緩沖區(qū)中,可將數(shù)據(jù)緩沖區(qū)包含在數(shù)據(jù)緩沖器360中,例如,當(dāng)傳送準(zhǔn)備就緒信號(hào)READY可能已經(jīng)收到多次時(shí)??刂破?10可啟用有效信號(hào)VALID,例如,當(dāng)數(shù)據(jù)信號(hào)RE_DATA可被存儲(chǔ)在數(shù)據(jù)緩沖器360的全部或基本上全部的數(shù)據(jù)緩沖區(qū)中。
狀態(tài)控制信號(hào)CT1可包含請(qǐng)求數(shù)據(jù)讀取單元300的當(dāng)前操作狀態(tài)的信息,并且控制器310可向主控制器200傳送狀態(tài)信息信號(hào)SIF1,例如,以響應(yīng)狀態(tài)控制信號(hào)CT1。
地址寄存器320可存儲(chǔ)通過(guò)總線(xiàn)12接收到的讀取地址信號(hào)ADD2,例如,當(dāng)啟用寄存器控制信號(hào)R21時(shí)。讀取地址信號(hào)ADD2可包含N位并且N可以是整數(shù)。地址寄存器320可輸出N/3比特的已存儲(chǔ)的讀取地址信號(hào)ADD2,例如,當(dāng)寄存器控制信號(hào)R21被禁用時(shí)。例如,當(dāng)讀取地址信號(hào)ADD2是24位時(shí),通過(guò)將讀取地址信號(hào)ADD2分成8位一組,地址寄存器320可輸出讀取地址信號(hào)ADD21至ADD23。
多路復(fù)用器330可選擇命令信號(hào)READ1至READK中的至少一個(gè),其中K可以是整數(shù),并且可以向第二多路復(fù)用器340輸出至少一個(gè)已選擇的命令信號(hào),例如,作為讀取命令信號(hào)READ來(lái)響應(yīng)從外部設(shè)備接收到的命令選擇信號(hào)BOOT_OPTION。多路復(fù)用器330可保持讀取命令信號(hào)READ的輸出,例如,直到可完成系統(tǒng)10(參見(jiàn)圖1)的操作。命令信號(hào)READ1至READK中的至少一個(gè)可包含,例如,多個(gè)位,并且每個(gè)位可從分離的命令信號(hào)發(fā)生器(未示出)產(chǎn)生。命令信號(hào)READ1至READK可以具有相同或不同的位值。命令選擇信號(hào)BOOT_OPTION可以例如依照存儲(chǔ)器20的類(lèi)型改變。以可對(duì)應(yīng)存儲(chǔ)器20類(lèi)型的形式,多路復(fù)用器330可輸出讀取命令信號(hào)READ。
多路復(fù)用器340可以選擇讀取命令信號(hào)READ以及讀取地址信號(hào)ADD21至ADD23的至少一個(gè),并且可以向串行接口400輸出所選擇的信號(hào),例如作為命令數(shù)據(jù)信號(hào)RC_DATA來(lái)響應(yīng)選擇控制信號(hào)S31至S34。多路復(fù)用器340例如可一個(gè)接一個(gè)地選擇并輸出讀取命令信號(hào)READ和/或讀取地址信號(hào)ADD21至ADD23,作為命令數(shù)據(jù)信號(hào)RC_DATA,例如,以響應(yīng)選擇控制信號(hào)S31至S34的啟用(例如,連續(xù)的啟用)。
多路復(fù)用器350可選擇從串行接口400接收到的數(shù)據(jù)信號(hào)RE_DATA以及從預(yù)取單元500接收到的匹配數(shù)據(jù)信號(hào)MAT_DATA的至少一個(gè)并輸出,例如,以響應(yīng)選擇控制信號(hào)S41和S42。數(shù)據(jù)緩沖器360可以包括多個(gè)數(shù)據(jù)緩沖區(qū)(未示出)。數(shù)據(jù)緩沖器360可存儲(chǔ)從多路復(fù)用器350接收到的數(shù)據(jù)信號(hào)RE_DATA以及匹配數(shù)據(jù)信號(hào)MAT_DATA的至少一個(gè),并且可將存儲(chǔ)的數(shù)據(jù)信號(hào)作為讀取數(shù)據(jù)信號(hào)DATA_R輸出到總線(xiàn)12上。
控制器310可向串行接口400傳送傳輸請(qǐng)求信號(hào)REQ2,并且可啟用寄存器控制信號(hào)R21,例如,當(dāng)控制器310從總線(xiàn)12上接收到傳輸控制信號(hào)CTR2時(shí)。地址寄存器320可存儲(chǔ)讀取地址信號(hào)ADD2,例如,以響應(yīng)寄存器控制信號(hào)R21??刂破?10可向串行接口400輸出讀取數(shù)據(jù)長(zhǎng)度信息LEN,可以禁用寄存器控制信號(hào)R21,并且可啟用選擇控制信號(hào)S31,例如,當(dāng)控制器310接收到來(lái)自串行接口400的傳輸準(zhǔn)許信號(hào)GRA2時(shí)。
地址寄存器320可將讀取地址信號(hào)ADD2分成例如每個(gè)8位,并且可將讀取地址信號(hào)ADD2作為讀取地址信號(hào)ADD21至ADD23輸出,以響應(yīng)寄存器控制信號(hào)R21。多路復(fù)用器330可選擇命令信號(hào)READ1至READK中的至少一個(gè)并且可將所選擇的命令信號(hào)作為讀取命令信號(hào)READ輸出,以響應(yīng)可從外部設(shè)備接收到的命令選擇信號(hào)BOOT_OPTION。
多路復(fù)用器340可選擇讀取命令信號(hào)READ,并把它作為命令數(shù)據(jù)信號(hào)RD_DATA傳送給串行接口400,以響應(yīng)選擇控制信號(hào)S31??刂破?10可禁用選擇控制信號(hào)S31并且可啟用選擇控制信號(hào)S32,例如當(dāng)來(lái)自串行接口400的收到完成信號(hào)NEXT2被接收時(shí)。多路復(fù)用器340可選擇讀取地址信號(hào)ADD21,并將它作為命令數(shù)據(jù)信號(hào)RC_DATA輸出,例如以響應(yīng)選擇控制信號(hào)S32。控制器310可啟用(例如順序地啟用)選擇控制信號(hào)S33和S34,例如,當(dāng)接收到收到完成信號(hào)NEXT2時(shí)。多路復(fù)用器340可選擇(例如順序地選擇)讀取地址信號(hào)ADD22和ADD23,并將它們作為命令數(shù)據(jù)信號(hào)RC_DATA輸出。
控制器310可以啟用選擇控制信號(hào)S41,以響應(yīng)存儲(chǔ)器時(shí)鐘信號(hào)MCLK。例如,為響應(yīng)選擇控制信號(hào)S41,多路復(fù)用器350可向數(shù)據(jù)緩沖器360輸出從串行接口400接收到的數(shù)據(jù)信號(hào)RE_DATA。數(shù)據(jù)緩沖器360可以存儲(chǔ)從多路復(fù)用器350接收到的數(shù)據(jù)信號(hào)RE_DATA,并可將數(shù)據(jù)信號(hào)RE_DATA作為讀取數(shù)據(jù)信號(hào)DATA_R輸出到總線(xiàn)12上??刂破?10可以啟用有效信號(hào)VALID并將它輸出給總線(xiàn)12,例如,當(dāng)接收到的傳輸就緒信號(hào)READY的數(shù)量達(dá)到門(mén)限值時(shí)。
控制器310可以向預(yù)取單元500輸出預(yù)取開(kāi)始信號(hào)START,例如,當(dāng)向控制器310設(shè)置預(yù)取控制操作時(shí),并且控制器310可以向預(yù)取單元500輸出預(yù)取停止信號(hào)STOP,例如,在時(shí)間間隔的末尾。
控制器310可以向預(yù)取單元500輸出地址比較信號(hào)CMP,例如,當(dāng)接收到傳輸控制信號(hào)CTR2時(shí)??刂破?10可禁用選擇控制信號(hào)S41并可啟用選擇控制信號(hào)S42,例如,當(dāng)來(lái)自預(yù)取單元500的匹配信號(hào)MAT被接收時(shí)。多路復(fù)用器350可以向數(shù)據(jù)緩沖器360輸出從預(yù)取單元500接收到的匹配數(shù)據(jù)信號(hào)MAT_DATA,例如以響應(yīng)選擇控制信號(hào)S42??刂破?10可向串行接口400輸出傳輸請(qǐng)求信號(hào)REQ2,以讀取來(lái)自存儲(chǔ)器20的數(shù)據(jù)信號(hào)RE_DATA,例如,如果沒(méi)有從預(yù)取單元500接收到匹配信號(hào)MAT。
圖5是依照本發(fā)明的圖2所示串行接口400的示范實(shí)施例。參考圖5,串行接口400可以包括入口判定器410、控制器420、多路復(fù)用器430、串行寄存器440、以及數(shù)據(jù)寄存器450。
入口判定器410可向控制器420傳送從主控制器200接收到的傳輸請(qǐng)求信號(hào)REQ1,并且可以啟用選擇控制信號(hào)S51。入口判定器410可把從控制器420接收到的傳輸準(zhǔn)許信號(hào)GRA1以及收到完成信號(hào)NEXT1傳送給主控制器200。入口判定器410可把從數(shù)據(jù)讀取單元300接收到的傳輸請(qǐng)求信號(hào)REQ2傳送給控制器420并且可啟用選擇控制信號(hào)S52。入口判定器410可把從控制器420接收到的傳輸準(zhǔn)許信號(hào)GRA2傳送給數(shù)據(jù)讀取單元300。
入口判定器410可把從數(shù)據(jù)讀取單元300接收到的讀取數(shù)據(jù)長(zhǎng)度信息LEN傳送給控制器420并且可把從控制器420接收到的收到完成信號(hào)NEXT2傳送給數(shù)據(jù)讀取單元300。
入口判定器410可依照優(yōu)先級(jí)順序?qū)鬏攦?yōu)先級(jí)授權(quán)給主控制器200和數(shù)據(jù)讀取單元300中的至少一個(gè),例如,當(dāng)入口判定器410接收到(例如,同時(shí)接收到)傳輸請(qǐng)求信號(hào)REQ1和REQ2時(shí)。入口判定器410可傳輸傳輸請(qǐng)求信號(hào)REQ1和REQ2中的至少一個(gè),并且可啟用選擇控制信號(hào)S51和S52中的至少一個(gè),其中傳輸請(qǐng)求信號(hào)具有對(duì)控制器420的優(yōu)先級(jí)。
控制器420可向入口判定器410輸出傳輸準(zhǔn)許信號(hào)GRA1,例如,以響應(yīng)傳輸請(qǐng)求信號(hào)REQ1??刂破?20可向入口判定器410輸出傳輸準(zhǔn)許信號(hào)GRA2,例如,以響應(yīng)傳輸請(qǐng)求信號(hào)REQ2??刂破?20可啟用片選信號(hào)CS并且把片選信號(hào)CS與時(shí)鐘信號(hào)MRCLK一起傳送給存儲(chǔ)器20,例如,當(dāng)接收到傳輸請(qǐng)求信號(hào)REQ1和REQ2中的至少一個(gè)時(shí)??刂破?20可基于從時(shí)鐘生成器100接收到的存儲(chǔ)器時(shí)鐘信號(hào)MCLK生成時(shí)鐘信號(hào)MRCLK。
控制器420可輸出寄存器控制信號(hào)R31至R33以響應(yīng)存儲(chǔ)器時(shí)鐘信號(hào)MCLK,例如,當(dāng)接收到傳輸請(qǐng)求信號(hào)REQ1和REQ2中的至少一個(gè)時(shí)。
多路復(fù)用器430可選擇并輸出從主控制器200接收到的請(qǐng)求數(shù)據(jù)信號(hào)ODATA以及從數(shù)據(jù)讀取單元300接收到的命令數(shù)據(jù)信號(hào)RC_DATA中的至少一個(gè),例如,以響應(yīng)選擇控制信號(hào)S51和S52。多路復(fù)用器430可選擇并輸出請(qǐng)求數(shù)據(jù)信號(hào)ODATA,例如,當(dāng)選擇控制信號(hào)S51被啟用時(shí),并且多路復(fù)用器430可選擇并輸出命令數(shù)據(jù)信號(hào)RC_DATA,例如,當(dāng)選擇控制信號(hào)S52被啟用時(shí)。
串行寄存器440可存儲(chǔ)請(qǐng)求數(shù)據(jù)信號(hào)ODATA以及命令數(shù)據(jù)信號(hào)RC_DATA中的至少一個(gè),請(qǐng)求數(shù)據(jù)信號(hào)ODATA和命令數(shù)據(jù)信號(hào)RC_DATA可從多路復(fù)用器430并行地接收,例如,當(dāng)寄存器控制信號(hào)R31被啟用時(shí)。串行寄存器440可向存儲(chǔ)器20傳送請(qǐng)求數(shù)據(jù)信號(hào)ODATA以及命令數(shù)據(jù)信號(hào)RC_DATA中的至少一個(gè),當(dāng)寄存器控制信號(hào)R31被禁用時(shí),可將請(qǐng)求數(shù)據(jù)信號(hào)ODATA和命令數(shù)據(jù)信號(hào)RC_DATA作為例如串行輸出數(shù)據(jù)信號(hào)SDATA_OUT存儲(chǔ)在串行寄存器440中。串行寄存器440可存儲(chǔ)可從存儲(chǔ)器20接收的串行輸入數(shù)據(jù)信號(hào)SDATA_IN,例如,當(dāng)寄存器控制信號(hào)R32被啟用時(shí)。例如,當(dāng)寄存器控制信號(hào)R32被禁用時(shí),串行寄存器440可并行地向數(shù)據(jù)寄存器450輸出串行輸入數(shù)據(jù)信號(hào)SDATA_IN。
例如當(dāng)寄存器控制信號(hào)R33被啟用時(shí),數(shù)據(jù)寄存器450可存儲(chǔ)串行輸入數(shù)據(jù)信號(hào)SDATA_IN,可將該信號(hào)并行地從串行寄存器440接收。數(shù)據(jù)寄存器450可將存儲(chǔ)的串行輸入數(shù)據(jù)信號(hào)SDATA_IN作為請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA輸出給主控制器200,或作為數(shù)據(jù)信號(hào)RE_DATA輸出給數(shù)據(jù)讀取單元300,例如,當(dāng)寄存器控制信號(hào)R33被禁用時(shí)。
入口判定器410可傳送傳輸請(qǐng)求信號(hào)REQ1和REQ2中的至少一個(gè),傳輸請(qǐng)求信號(hào)REQ1和REQ2可被控制器420接收。入口判定器410可接收傳輸請(qǐng)求信號(hào)REQ1并且入口判定器410可向控制器420傳送輸請(qǐng)求信號(hào)REQ1并且可啟用選擇控制信號(hào)S51??刂破?20可通過(guò)入口判定器410向主控制器200傳送傳輸準(zhǔn)許信號(hào)GRA1,例如,來(lái)響應(yīng)傳輸請(qǐng)求信號(hào)REQ1??刂破?20可啟用片選信號(hào)CS并將片選信號(hào)CS與時(shí)鐘信號(hào)MRCLK一起傳送給存儲(chǔ)器20。控制器420可啟用寄存器控制信號(hào)R31。
多路復(fù)用器430可輸出從主控制器200接收到的請(qǐng)求數(shù)據(jù)信號(hào)ODATA,例如,以響應(yīng)選擇控制信號(hào)S51。串行寄存器440可存儲(chǔ)從多路復(fù)用器430接收到的請(qǐng)求數(shù)據(jù)信號(hào)ODATA,例如,以響應(yīng)寄存器控制信號(hào)R31??刂破?20可禁用寄存器控制信號(hào)R31,例如,以響應(yīng)存儲(chǔ)器時(shí)鐘信號(hào)MCLK。串行寄存器440可將存儲(chǔ)的請(qǐng)求數(shù)據(jù)信號(hào)ODATA向存儲(chǔ)器20(例如,串行地)傳送作為串行輸出數(shù)據(jù)信號(hào)SDATA_OUT,例如,以響應(yīng)寄存器控制信號(hào)R31。
控制器420可啟用寄存器控制信號(hào)R31并可向主控制器200傳送收到完成信號(hào)NEXT1,例如,通過(guò)入口判定器410。串行接口400可重復(fù)操作,直到例如所有的或者基本上所有的請(qǐng)求數(shù)據(jù)信號(hào)ODATA被接收。控制器420可啟用寄存器控制信號(hào)R32。串行寄存器440可存儲(chǔ)從存儲(chǔ)器20(例如,串行地)接收到的串行輸入數(shù)據(jù)信號(hào)SDATA_IN,例如,以響應(yīng)寄存器控制信號(hào)R32??刂破?20可禁用寄存器控制信號(hào)R32并可啟用寄存器控制信號(hào)R33,例如,以響應(yīng)存儲(chǔ)器時(shí)鐘信號(hào)MCLK。串行寄存器440,例如可并行地向數(shù)據(jù)寄存器450輸出存儲(chǔ)的串行輸入數(shù)據(jù)信號(hào)SDATA_IN,以響應(yīng)寄存器控制信號(hào)R32。數(shù)據(jù)寄存器450可存儲(chǔ)從串行寄存器440可接收的串行輸入數(shù)據(jù)信號(hào)SDATA_IN,例如,以響應(yīng)寄存器控制信號(hào)R33??刂破?20可禁用寄存器控制信號(hào)R33。數(shù)據(jù)寄存器450,將存儲(chǔ)的串行輸入數(shù)據(jù)信號(hào)SDATA_IN例如作為請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)RDATA傳送給主控制器200,以響應(yīng)寄存器控制信號(hào)R33。
入口判定器410可接收傳輸請(qǐng)求信號(hào)REQ2并且入口判定器410可向控制器420傳送傳輸請(qǐng)求信號(hào)REQ2并且可啟用選擇控制信號(hào)S52。入口判定器410可接收來(lái)自數(shù)據(jù)讀取單元300的讀取數(shù)據(jù)長(zhǎng)度信息LEN并且可向控制器420傳送讀取數(shù)據(jù)長(zhǎng)度信息LEN??刂破?20可禁用片選信號(hào)CS,并且可以不提供時(shí)鐘信號(hào)MRCLK,例如當(dāng)串行接口400接收與讀取數(shù)據(jù)長(zhǎng)度信息LEN相對(duì)應(yīng)的大小的串行輸入數(shù)據(jù)信號(hào)SDATA_IN時(shí)。例如,如果讀取數(shù)據(jù)長(zhǎng)度信息LEN是3個(gè)字節(jié)并且可存儲(chǔ)在串行寄存器440的數(shù)據(jù)長(zhǎng)度是8位,控制器420在重復(fù)啟用和禁用寄存器控制信號(hào)R32以及啟用和禁用寄存器控制信號(hào)R33的操作三次以后,可將片選信號(hào)CS禁用。
控制器420可向數(shù)據(jù)讀取單元300傳送傳輸就緒信號(hào)READY,例如,當(dāng)寄存器控制信號(hào)R33被禁用時(shí)。數(shù)據(jù)讀取單元300可接收數(shù)據(jù)信號(hào)RE_DATA,可將該信號(hào)從數(shù)據(jù)寄存器450中輸出,例如,以響應(yīng)傳輸就緒信號(hào)READY。
圖6是圖2所示預(yù)取單元500的依照本發(fā)明的示范實(shí)施例的視圖。參考圖6,預(yù)取單元500的示范實(shí)施例可以包括控制器510、地址緩沖器520、地址比較器530、數(shù)據(jù)緩沖器540以及多路復(fù)用器550。控制器510可輸出地址緩沖控制信號(hào)CTL1,例如,以響應(yīng)預(yù)取開(kāi)始信號(hào)START,該預(yù)取開(kāi)始信號(hào)可從數(shù)據(jù)讀取單元300接收。控制器510可例如一個(gè)接一個(gè)地啟用數(shù)據(jù)緩沖控制信號(hào)R41至R44,當(dāng)從串行接口400接收傳輸就緒信號(hào)READY時(shí)??刂破?10可以禁用所有的或者基本上所有的數(shù)據(jù)緩沖控制信號(hào)R41至R44,例如,當(dāng)從數(shù)據(jù)讀取單元300接收預(yù)取停止信號(hào)STOP時(shí)。
控制器510可向地址比較器530輸出比較控制信號(hào)CTL2,例如,當(dāng)從數(shù)據(jù)讀取單元300接收地址比較信號(hào)CMP時(shí)。控制器510可啟用或禁用選擇控制信號(hào)S61至S64,例如,以響應(yīng)從地址比較器530接收的比較結(jié)果信號(hào)RSU和/或當(dāng)前讀取地址信號(hào)ADD_CR??刂破?10可向數(shù)據(jù)讀取單元300輸出匹配信號(hào)MAT,例如,以響應(yīng)比較結(jié)果信號(hào)RSU。
地址緩沖器520可存儲(chǔ)從總線(xiàn)12接收的讀取地址信號(hào)ADD2,例如,當(dāng)啟用地址緩沖控制信號(hào)CTL1時(shí)。當(dāng)?shù)刂肪彌_控制信號(hào)CTL1被禁用時(shí),地址緩沖器520可將存儲(chǔ)的讀取地址信號(hào)ADD2作為,例如,參考地址信號(hào)ADD_PA輸出。參考地址信號(hào)ADD_PA可以是預(yù)取單元500接收的第一個(gè)讀取地址信號(hào)。
地址比較器530可從地址緩沖器520接收參考地址信號(hào)ADD_PA以及從總線(xiàn)12讀取地址信號(hào)ADD2,例如,當(dāng)啟用比較控制信號(hào)CTL2時(shí)。根據(jù)參考地址信號(hào)ADD_PA,地址比較器530可計(jì)算可存儲(chǔ)在數(shù)據(jù)緩沖器540中的數(shù)據(jù)信號(hào)RE_DATA的地址范圍。例如,可將100個(gè)數(shù)據(jù)信號(hào)RE_DATA存儲(chǔ)在數(shù)據(jù)緩沖器540中,并且參考地址信號(hào)ADD_PA也可以是100個(gè)??纱鎯?chǔ)在數(shù)據(jù)緩沖器540中的數(shù)據(jù)信號(hào)RE_DATA的地址范圍(即,數(shù)據(jù)緩沖器540的地址范圍)可以是100-200。
地址比較器530可決定當(dāng)前從總線(xiàn)12上接收的讀取地址信號(hào)ADD2是否包含在數(shù)據(jù)緩沖器540的100-200地址范圍中。地址比較器530可以,例如,依照決定的結(jié)果向控制器510輸出比較結(jié)果信號(hào)RSU以及讀取地址信號(hào)ADD2。地址比較器530可啟用比較結(jié)果信號(hào)RSU,例如,當(dāng)數(shù)據(jù)緩沖器540的地址范圍中包含讀取地址信號(hào)ADD2時(shí),并且可以禁用比較結(jié)果信號(hào)RSU,例如,當(dāng)數(shù)據(jù)緩沖器540的地址范圍中不包含讀取地址信號(hào)ADD2時(shí)。
在本發(fā)明的示范實(shí)施例中,數(shù)據(jù)緩沖器540可包括數(shù)據(jù)緩沖區(qū)541至544,但是可以進(jìn)一步包括附加的數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)緩沖區(qū)541至544可存儲(chǔ)數(shù)據(jù)信號(hào)RE_DATA,該數(shù)據(jù)信號(hào)RE_DATA可從串行接口400接收,例如,當(dāng)數(shù)據(jù)緩沖控制信號(hào)R41至R44被啟用時(shí)。數(shù)據(jù)緩沖區(qū)541至544可存儲(chǔ)(例如,依次地存儲(chǔ))數(shù)據(jù)信號(hào)RE_DATA,例如,當(dāng)數(shù)據(jù)緩沖控制信號(hào)R41至R44被啟用時(shí)(例如,依次地啟用)。數(shù)據(jù)緩沖區(qū)541至544可輸出存儲(chǔ)的數(shù)據(jù)信號(hào)RE_DATA,例如當(dāng)數(shù)據(jù)緩沖控制信號(hào)R41至R44被禁用時(shí)??梢詮臄?shù)據(jù)緩沖區(qū)541至544輸出的數(shù)據(jù)信號(hào)RE_DATA將分別描述成RE_D1至RE_D4??蓪?shù)據(jù)信號(hào)RE_D1至RE_D4從串行接口400輸入(例如連續(xù)地輸入)到預(yù)取單元500中。多路復(fù)用器550可選擇數(shù)據(jù)信號(hào)RE_D1至RE_D4中的至少一個(gè)并將所選擇的數(shù)據(jù)信號(hào)輸出給讀取數(shù)據(jù)讀取單元300,例如,作為匹配數(shù)據(jù)信號(hào)MAT_DATA以響應(yīng)選擇控制信號(hào)S61至S64。
控制器510可啟用地址緩沖控制信號(hào)CTL1并且可禁用地址緩沖控制信號(hào)CTL1,例如,當(dāng)從數(shù)據(jù)讀取單元300接收預(yù)取開(kāi)始信號(hào)START時(shí)。地址緩沖器520可存儲(chǔ)當(dāng)前接收的讀取地址信號(hào)ADD2,并將存儲(chǔ)的讀取地址信號(hào)ADD2作為,例如參考地址信號(hào)ADD_PA輸出,以響應(yīng)地址緩沖控制信號(hào)CTL1。
控制器510可啟用(例如,順序地啟用)數(shù)據(jù)緩沖控制信號(hào)R41至R44,例如,當(dāng)接收傳輸就緒信號(hào)READY時(shí)。數(shù)據(jù)緩沖區(qū)541至544可接收并存儲(chǔ)(例如,依次地接收和存儲(chǔ))數(shù)據(jù)信號(hào)RE_DATA,例如,以響應(yīng)數(shù)據(jù)緩沖控制信號(hào)R41至R44。控制器510可禁用所有的或者基本上所有的數(shù)據(jù)緩沖控制信號(hào)R41至R44,例如,當(dāng)從讀取數(shù)據(jù)單元300接收預(yù)取停止信號(hào)STOP時(shí)。
控制器510可啟用比較控制信號(hào)CTL2,例如,當(dāng)從數(shù)據(jù)讀取單元300接收地址比較信號(hào)CMP時(shí)。根據(jù)可從地址緩沖器520接收的參考地址信號(hào)ADD_PA,地址比較器530可計(jì)算出數(shù)據(jù)緩沖器540的地址范圍,例如,以響應(yīng)比較控制信號(hào)CTL2。地址比較器530可決定當(dāng)前通過(guò)總線(xiàn)12接收的讀取地址信號(hào)ADD2是否可被包含在數(shù)據(jù)緩沖器540的地址范圍內(nèi)。地址比較器530可啟用比較結(jié)果信號(hào)RSU并可向控制器510輸出讀取地址信號(hào)ADD2,例如,當(dāng)讀取地址信號(hào)ADD2被包含在數(shù)據(jù)緩沖器540的地址范圍內(nèi)時(shí)??刂破?10可啟用匹配信號(hào)MAT并可將匹配信號(hào)MAT輸出給數(shù)據(jù)讀取單元300,例如,以響應(yīng)比較結(jié)果信號(hào)RSU,并且可啟用選擇控制信號(hào)S61至S64中的至少一個(gè),例如,以響應(yīng)讀取地址信號(hào)ADD2。
多路復(fù)用器550可選擇可從數(shù)據(jù)緩沖區(qū)541至544接收的數(shù)據(jù)信號(hào)RE_D1至RE_D4中的至少一個(gè),并且可將所選擇的數(shù)據(jù)信號(hào)向數(shù)據(jù)讀取單元300輸出,例如作為匹配數(shù)據(jù)信號(hào)MAT_DATA,以響應(yīng)可啟用的選擇控制信號(hào)S61至S64中的至少一個(gè)。
地址比較器530可禁用比較結(jié)果信號(hào)RSU,例如,當(dāng)數(shù)據(jù)緩中器540的地址范圍中沒(méi)有包括讀取地址信號(hào)ADD2時(shí)。控制器510可禁用匹配信號(hào)MAT并將匹配信號(hào)MAT傳送給數(shù)據(jù)讀取單元300,例如,當(dāng)比較結(jié)果信號(hào)RSU被禁用時(shí)。
存儲(chǔ)控制器(例如,串行閃存控制器)11可存儲(chǔ)讀取地址信號(hào)ADD2,該讀取地址信號(hào)ADD2是可使用地址寄存器320以更高的速度從總線(xiàn)12上接收的,并且存儲(chǔ)控制器11可使用總線(xiàn)12的時(shí)間也可被減少。例如,通過(guò)預(yù)先通過(guò)預(yù)取單元500存儲(chǔ)來(lái)自存儲(chǔ)器20的數(shù)據(jù)信號(hào)RE_DATA,依照本發(fā)明的示范實(shí)施例的存儲(chǔ)控制器11可減少存儲(chǔ)器20的數(shù)據(jù)讀取時(shí)間。
圖7是依照本發(fā)明的系統(tǒng)30的示范實(shí)施例的方框圖,該系統(tǒng)應(yīng)用存儲(chǔ)控制器和存儲(chǔ)器(例如,串行閃速存儲(chǔ)器)40。參考圖7,系統(tǒng)30可以包括存儲(chǔ)控制器(例如,串行閃存控制器)31、總線(xiàn)橋34、CPU 35、IP模塊36和37、控制器(例如直接存儲(chǔ)訪問(wèn)(DMA)控制器)38、以及控制器(例如,外部存儲(chǔ)控制器)39。系統(tǒng)30可進(jìn)一步包括附加的IP模塊。存儲(chǔ)控制器31、CPU 35、IP模塊36和37、控制器38、以及控制器39可通過(guò)總線(xiàn)(例如,存儲(chǔ)器總線(xiàn))32相連接并且通信。存儲(chǔ)控制器31可進(jìn)一步與存儲(chǔ)器40相連接,并且控制器39可進(jìn)一步與存儲(chǔ)器(例如,外部同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SDRAM))50相連接。
在存儲(chǔ)器40中存儲(chǔ)的數(shù)據(jù)可寫(xiě)入存儲(chǔ)設(shè)備,例如存儲(chǔ)器50中或者存儲(chǔ)在存儲(chǔ)器50中的數(shù)據(jù)可寫(xiě)入到存儲(chǔ)器40中。CPU 35可從存儲(chǔ)器40中讀取數(shù)據(jù)并且可以向存儲(chǔ)器50中寫(xiě)入讀取數(shù)據(jù)。如圖7所示,包含在系統(tǒng)30中的控制器38,可讀取(例如自動(dòng)讀取)存儲(chǔ)在存儲(chǔ)器40中的數(shù)據(jù),并向存儲(chǔ)設(shè)備如存儲(chǔ)器50中寫(xiě)入讀取數(shù)據(jù)。
圖8是依照本發(fā)明的示范實(shí)施例的圖7所示控制器(例如串行閃存控制器)31的方框圖。參考圖8,存儲(chǔ)控制器31可包括時(shí)鐘發(fā)生器100、主控制器200、串行接口400、數(shù)據(jù)讀取單元600、以及預(yù)取單元700。
數(shù)據(jù)讀取單元600可與圖2所示的數(shù)據(jù)讀取單元300相似或者基本相似,并且可通過(guò)總線(xiàn)32從DMA控制器38接收傳輸控制信號(hào)(例如,DMA傳輸控制信號(hào))DMA_CTR以及地址信號(hào)(例如,DMA地址信號(hào))DMA_ADD。數(shù)據(jù)讀取單元600可啟用有效信號(hào)(例如,DMA有效信號(hào))DMA_VALID,例如,當(dāng)從串行接口400接收一定數(shù)量的傳輸就緒信號(hào)READ的時(shí)候。
預(yù)取單元700可以與圖2所示的預(yù)取單元500相似或基本上相似,并且可以從數(shù)據(jù)讀取單元600接收讀取地址信號(hào)ADD2和地址信號(hào)DMA_ADD中的至少一個(gè)信號(hào)。
圖9所示的是依照本發(fā)明的圖8中數(shù)據(jù)讀取單元600的示范實(shí)施例。數(shù)據(jù)讀取單元600可包括控制器610、多路復(fù)用器620、地址寄存器630、多路復(fù)用器640、多路復(fù)用器650、多路復(fù)用器660、以及數(shù)據(jù)緩沖器670。
控制器610的操作可以與圖4所示的控制器310的操作相似,但是控制器610可進(jìn)一步通過(guò)總線(xiàn)32接收來(lái)自控制器38的傳輸控制信號(hào)DMA_CTR??刂破?10可啟用選擇控制信號(hào)SEL1,例如以響應(yīng)傳輸控制信號(hào)DMA_CTR,并且可以啟用選擇控制信號(hào)SEL2,例如以響應(yīng)傳輸請(qǐng)求信號(hào)CTR2。
控制器610可接收傳輸控制信號(hào)CTR2,并且控制器610可向總線(xiàn)32輸出有效信號(hào)VALID,例如當(dāng)從串行接口400接收一定數(shù)量的傳輸就緒信號(hào)READY時(shí)。
多路復(fù)用器620可選擇從總線(xiàn)(例如存儲(chǔ)器總線(xiàn))32接收的DMA讀取地址信號(hào)DMA_ADD,并且向地址寄存器630和預(yù)取單元700輸出DMA讀取地址信號(hào)DMA_ADD,例如當(dāng)選擇控制信號(hào)SEL1被啟用時(shí)。多路復(fù)用器620可選擇從總線(xiàn)32接收的讀取地址信號(hào)ADD2,并將讀取地址信號(hào)ADD2輸出給地址寄存器630和預(yù)取單元700,例如,當(dāng)選擇控制信號(hào)SEL2被啟用時(shí)。
地址寄存器630、多路復(fù)用器640至660、以及數(shù)據(jù)緩沖器670的操作可以與地址寄存器320、多路復(fù)用器330至350、以及數(shù)據(jù)緩沖器360分別相同或基本上相同。
控制器610可向串行接口400輸出傳輸請(qǐng)求信號(hào)REQ2并且可以啟用寄存器控制信號(hào)RE1,以響應(yīng)通過(guò)總線(xiàn)32接收的傳輸控制信號(hào)CTR2和DMA傳輸控制信號(hào)DMA_CTR中的至少一個(gè)信號(hào)??刂破?10可啟用選擇控制信號(hào)SEL1,例如當(dāng)收到DMA傳輸控制信號(hào)DMA_CTR時(shí),并且可以啟用選擇控制信號(hào)SEL2,例如當(dāng)收到傳輸控制信號(hào)CTR2時(shí)。
數(shù)據(jù)讀取單元600可接收傳輸控制信號(hào)CTR2并且數(shù)據(jù)讀取單元300與圖4所示的數(shù)據(jù)讀取單元300可以用相同或基本上相同的方式操作。多路復(fù)用器620可向地址寄存器630和預(yù)取單元700輸出通過(guò)總線(xiàn)32接收的DMA地址信號(hào)DMA_ADD,以響應(yīng)選擇控制信號(hào)SEL1。地址寄存器630可存儲(chǔ)DMA地址信號(hào)DMA_ADD,以響應(yīng)寄存器控制信號(hào)RE1。在當(dāng)控制器610接收傳輸控制信號(hào)CTR2時(shí),數(shù)據(jù)讀取單元600的操作可以相同或基本上相同。
圖10是依照本發(fā)明的系統(tǒng)的另一個(gè)示范實(shí)施例的方框圖,該系統(tǒng)可以使用存儲(chǔ)控制器(例如,串行閃存控制器)64及存儲(chǔ)器(例如,串行閃速存儲(chǔ)器)80。該系統(tǒng)60可以包括存儲(chǔ)控制器64、總線(xiàn)橋66、處理器67、IP模塊68和69、以及外部存儲(chǔ)控制器70。系統(tǒng)60可進(jìn)一步包括附加的IP模塊。存儲(chǔ)控制器64、處理器67、IP模塊68和69、以及外部存儲(chǔ)控制器70可以連接到總線(xiàn)(例如,存儲(chǔ)器總線(xiàn))61,并可通過(guò)總線(xiàn)61相互通信。存儲(chǔ)控制器64可進(jìn)一步與存儲(chǔ)器80相連,并且外部存儲(chǔ)控制器70可以進(jìn)一步與外部存儲(chǔ)器(例如,外部同步隨機(jī)訪問(wèn)存儲(chǔ)器(SDRAM)或靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM))90相連。系統(tǒng)60的操作與圖7所示系統(tǒng)30的操作相似或基本上相似。然而,存儲(chǔ)控制器64可包括DMA功能。存儲(chǔ)控制器64可通過(guò)總線(xiàn)(例如主總線(xiàn))62和總線(xiàn)(例如從總線(xiàn))63與總線(xiàn)61相連。
圖11是圖10所示存儲(chǔ)控制器的另一個(gè)示范實(shí)施例的方框圖。參考圖11,存儲(chǔ)控制器64可包括時(shí)鐘發(fā)生器100、串行接口400、數(shù)據(jù)讀取單元800、預(yù)取單元900、DMA控制器1000、以及主控制器1100。時(shí)鐘發(fā)生器100和串行接口400的結(jié)構(gòu)和操作與圖8所示的相同或基本上相同。
數(shù)據(jù)讀取單元800可通過(guò)總線(xiàn)63與總線(xiàn)61相連。數(shù)據(jù)讀取單元800的操作與圖8所示的數(shù)據(jù)讀取單元600相似或基本上相似。
然而,數(shù)據(jù)讀取單元800可通過(guò)總線(xiàn)61向DMA控制器1000輸出第三傳輸準(zhǔn)許信號(hào)GRA3,并向預(yù)取單元900輸出DMA模式信號(hào)DMA_MODE。數(shù)據(jù)讀取單元800可向預(yù)取單元900輸出DMA模式信號(hào)DMA_MODE,例如,當(dāng)接收來(lái)自DMA控制器1000的DMA傳輸控制信號(hào)DMA_CTR時(shí),并且預(yù)取單元900可以DMA模式操作。
DMA控制器1000可通過(guò)總線(xiàn)62與總線(xiàn)61相連。DMA控制器1000可通過(guò)總線(xiàn)61向數(shù)據(jù)讀取單元800傳送DMA傳輸控制信號(hào)DMA_CTR,例如,以響應(yīng)通過(guò)總線(xiàn)61從處理器(如,CPU)67接收的傳輸控制信號(hào)CTR3。DMA控制器1000可通過(guò)總線(xiàn)61傳輸DMA讀取地址信號(hào)DMA_RADD給數(shù)據(jù)讀取單元800,例如,如果接收來(lái)自數(shù)據(jù)讀取單元800的傳輸準(zhǔn)許信號(hào)GRA3。DMA控制器1000可通過(guò)總線(xiàn)61向外部存儲(chǔ)控制器70傳送傳輸控制信號(hào)CTR4,例如,如果接收來(lái)自數(shù)據(jù)讀取單元800的DMA有效信號(hào)DMA_VALID。
DMA控制器1000可向外部存儲(chǔ)控制器70傳送DMA寫(xiě)入地址信號(hào)DMA_WADD,例如,如果接收來(lái)自外部存儲(chǔ)控制器70的傳輸準(zhǔn)許信號(hào)GRA4。數(shù)據(jù)讀取單元800可通過(guò)總線(xiàn)61向外部存儲(chǔ)控制器70輸出DMA數(shù)據(jù)信號(hào)DMA_DATA1。
DMA控制器1000可通過(guò)總線(xiàn)61向數(shù)據(jù)讀取單元800傳送DMA傳輸控制信號(hào)DMA_CTR,例如以響應(yīng)經(jīng)總線(xiàn)61接收的來(lái)自處理器67的傳輸控制信號(hào)CTR3。DMA控制器1000可向外部存儲(chǔ)控制器70傳送傳輸控制信號(hào)CTR4和DMA讀取地址信號(hào)DMA_RADD。外部存儲(chǔ)控制器70可從SDRAM90讀取DMA數(shù)據(jù)信號(hào)DMA_DATA2,并可向總線(xiàn)61傳送DMA數(shù)據(jù)信號(hào)DMA_DATA2,以響應(yīng)DMA讀取地址信號(hào)DMA_RADD。
DMA控制器1000可通過(guò)總線(xiàn)61向數(shù)據(jù)讀取單元800傳送DMA寫(xiě)入地址信號(hào)DMA_WADD,例如如果接收來(lái)自數(shù)據(jù)讀取單元800的傳輸準(zhǔn)許信號(hào)GRA3。預(yù)取單元900可存儲(chǔ)通過(guò)總線(xiàn)61從外部存儲(chǔ)控制器70接收的DMA數(shù)據(jù)信號(hào)DMA_DATA2。
DMA控制器1000可共享預(yù)取單元900的數(shù)據(jù)緩沖器950(參見(jiàn)圖13)。預(yù)取單元900可通過(guò)總線(xiàn)61接收DMA數(shù)據(jù)信號(hào)DMA_DATA2,例如當(dāng)處于DMA方式時(shí)。預(yù)取單元900可處于DMA方式,并且預(yù)取單元900的數(shù)據(jù)緩沖器950可用作為DMA控制器1000的數(shù)據(jù)緩沖器。DMA控制器1000不需要包含附加的數(shù)據(jù)緩沖器。
主控制器1100與圖3的主控制器200相似或基本上相似。然而,主控制器1100可生成并向DMA控制器1000傳送基于控制數(shù)據(jù)信號(hào)DATA_IN的狀態(tài)控制信號(hào)CT4。狀態(tài)控制信號(hào)CT4可請(qǐng)求DMA控制器1000的當(dāng)前操作狀態(tài)信息,或者指令DMA控制器1000執(zhí)行一個(gè)操作。DMA控制器1000可向主控制器1100傳送狀態(tài)信息信號(hào)SIF4以響應(yīng)狀態(tài)控制信號(hào)CT4。
圖12所示的是圖11的數(shù)據(jù)讀取單元800的另一個(gè)示范實(shí)施例。參考圖12,數(shù)據(jù)讀取單元800可包含控制器810、多路復(fù)用器820、地址寄存器830、多路復(fù)用器840、多路復(fù)用器850、多路復(fù)用器860、數(shù)據(jù)緩沖器870以及多路復(fù)用器880。
控制器810可以與圖9所示的控制器600相同或基本上相同。然而,控制器810可以向DMA控制器1000傳送傳輸準(zhǔn)許信號(hào)GRA3并且向預(yù)取單元900輸出DMA模式信號(hào)DMA_MODE,例如以響應(yīng)DMA傳輸控制信號(hào)DMA_CTR。
多路復(fù)用器820、地址寄存器830、多路復(fù)用器840和860以及數(shù)據(jù)緩沖器870,可以分別與圖9所示的多路復(fù)用器620、地址寄存器630、多路復(fù)用器640和660、以及數(shù)據(jù)緩沖器670相同或基本上相同。
多路復(fù)用器880可選擇命令信號(hào)WRT1至WRTK中的至少一個(gè)信號(hào),其中K可以是整數(shù),并將所選擇的命令信號(hào)例如作為寫(xiě)入命令信號(hào)WRITE向多路復(fù)用器850輸出,以響應(yīng)可從外部設(shè)備接收的命令選擇信號(hào)BOOT_OPTION。多路復(fù)用器880可將寫(xiě)入命令信號(hào)WRITE的輸出保持,直到存儲(chǔ)器80的寫(xiě)入操作可結(jié)束。命令信號(hào)WRT1至WRTK中的每一個(gè)可包含多個(gè)位,并且可由例如單獨(dú)的命令信號(hào)生成電路產(chǎn)生。命令信號(hào)WRT1至WRTK可具有不同的位值。命令選擇信號(hào)BOOT_OPTION可依照存儲(chǔ)器80的類(lèi)型而改變。多路復(fù)用器880可按照可對(duì)應(yīng)存儲(chǔ)器80類(lèi)型的形式輸出寫(xiě)入命令信號(hào)WRITE。
多路復(fù)用器850可以與圖9所示的多路復(fù)用器650相似,但是多路復(fù)用器850可以進(jìn)一步接收來(lái)自預(yù)取單元900的匹配數(shù)據(jù)信號(hào)MAT_DATA以及來(lái)自多路復(fù)用器880的寫(xiě)入命令信號(hào)WRITE。
控制器810可以按照參考圖12的示例所描述的方式來(lái)接收DMA傳輸控制信號(hào)DMA_CTR。在通過(guò)DMA控制器1000的讀取和寫(xiě)入過(guò)程中,控制器810可從例如DMA控制器1000接收DMA傳輸控制信號(hào)DMA_CTR。
在DMA控制器1000讀取存儲(chǔ)器80的數(shù)據(jù)的過(guò)程中,控制器810可啟用DMA模式信號(hào)DMA_MODE,并且可向串行接口400傳送傳輸請(qǐng)求信號(hào)REQ2,例如,以響應(yīng)例如通過(guò)總線(xiàn)(例如存儲(chǔ)器總線(xiàn))61和總線(xiàn)(例如從總線(xiàn))63可從DMA控制器1000接收的DMA傳輸控制信號(hào)DMA_CTR??刂破?10可啟用選擇控制信號(hào)SEL11以及寄存器控制信號(hào)RE11,并可以例如通過(guò)總線(xiàn)61向DMA控制器1000傳送傳輸準(zhǔn)許信號(hào)GRA3。多路復(fù)用器320可輸出可從DMA控制器1000接收的DMA讀取地址信號(hào)DMA_RADD,例如,以響應(yīng)選擇控制信號(hào)SEL11。
地址寄存器830可存儲(chǔ)DMA讀取地址信號(hào)DMA_RADD,例如,以響應(yīng)寄存器控制信號(hào)RE11。當(dāng)接收來(lái)自串行接口400的傳輸準(zhǔn)許信號(hào)GRA2時(shí),控制器810可向串行接口400傳送數(shù)據(jù)長(zhǎng)度信息LEN??刂破?10可禁用寄存器控制信號(hào)RE11,并可啟用(例如依次地啟用)選擇控制信號(hào)SEL13至SEL16,例如以響應(yīng)存儲(chǔ)器時(shí)鐘信號(hào)MCLK。
地址寄存器830可將存儲(chǔ)的DMA讀取地址信號(hào)DMA_RADD分成多個(gè)位,并且可將它們作為讀取地址信號(hào)RADD1至RADD3輸出,例如以響應(yīng)寄存器控制信號(hào)RE11。
第二多路復(fù)用器840可選擇命令信號(hào)READ1至READK中的至少一個(gè)信號(hào),并且可將所選擇的命令信號(hào)作為例如讀取命令信號(hào)READ來(lái)輸出,以響應(yīng)可從外部設(shè)備接收的命令選擇信號(hào)BOOT_OPTION。
多路復(fù)用器850可選擇(例如依次地選擇)讀取命令信號(hào)READ以及讀取地址信號(hào)RADD1至RADD3,并將它們作為例如命令數(shù)據(jù)信號(hào)RC_DATA輸出給串行接口400,以響應(yīng)選擇控制信號(hào)SEL13至SEL16。
在數(shù)據(jù)讀取單元800的操作過(guò)程中,在DMA控制器1000向存儲(chǔ)器80的數(shù)據(jù)寫(xiě)入過(guò)程中,控制器810可啟用DMA模式信號(hào)DMA_MODE,并且可向串行接口400傳送傳輸請(qǐng)求信號(hào)REQ2,例如以響應(yīng)可通過(guò)總線(xiàn)61和總線(xiàn)63從DMA控制器1000接收的傳輸控制信號(hào)DMA_CTR。控制器810可啟用選擇控制信號(hào)SEL11以及寄存器控制信號(hào)RE11,并且可向DMA控制器1000傳送傳輸準(zhǔn)許信號(hào)GRA3。多路復(fù)用器820可輸出從DMA控制器1000接收的DMA寫(xiě)入地址信號(hào)DMA_WADD,例如,以響應(yīng)選擇控制信號(hào)SEL11。
地址寄存器830可存儲(chǔ)DMA寫(xiě)入地址信號(hào)DMA_WADD,例如,以響應(yīng)寄存器控制信號(hào)SEL11。當(dāng)接收來(lái)自串行接口400的傳輸準(zhǔn)許信號(hào)GRA2時(shí),控制器810可禁用寄存器控制信號(hào)RE11,并啟用(例如順序地啟用)選擇控制信號(hào)SEL17、SEL14至SEL16、以及SEL18。
地址寄存器830可將存儲(chǔ)的DMA寫(xiě)入地址信號(hào)DMA_WADD分成多位,并可將它們作為寫(xiě)入地址信號(hào)WADD1至WADD3輸出,例如,以響應(yīng)寄存器控制信號(hào)RE11。
多路復(fù)用器880可選擇命令信號(hào)WRT1至WRTK中的至少一個(gè)信號(hào),并將所選擇的命令信號(hào)作為寫(xiě)入命令信號(hào)WRITE輸出,例如以響應(yīng)可從外部設(shè)備接收的命令選擇信號(hào)BOOT_OPTION。
多路復(fù)用器850可選擇(例如依次地選擇)寫(xiě)入命令信號(hào)WRITE以及寫(xiě)入地址信號(hào)WADD1至WADD3,并且將它們作為例如命令數(shù)據(jù)信號(hào)RC_DATA輸出給串行接口400,以響應(yīng)選擇控制信號(hào)SEL17、SEL14至SEL16。多路復(fù)用器850可響應(yīng)選擇控制信號(hào)SEL18,并且可將可從預(yù)取單元900接收的匹配數(shù)據(jù)信號(hào)MAT_DATA輸出給串行接口400,例如作為命令數(shù)據(jù)信號(hào)RC_DATA。匹配數(shù)據(jù)信號(hào)MAT_DATA可以是例如通過(guò)總線(xiàn)61和總線(xiàn)63從外部存儲(chǔ)控制器70接收的DMA寫(xiě)入數(shù)據(jù)信號(hào)。
圖13所示的是依照本發(fā)明的圖11的預(yù)取單元900的另一個(gè)示范實(shí)施例。預(yù)取單元900可包含控制器910、地址緩沖器920、地址比較器930、多路復(fù)用器940、數(shù)據(jù)緩沖器950以及多路復(fù)用器960??刂破?10的操作可以與圖6所示的控制器510的操作相似或基本上相似,并且控制器910可進(jìn)步一輸出選擇控制信號(hào)SEL31和SEL32以及模式控制信號(hào)CTL3,以響應(yīng)DMA模式信號(hào)DMA_MODE??刂破?10可啟用選擇控制信號(hào)SEL32,例如,當(dāng)DMA模式信號(hào)DMA_MODE被啟用時(shí),并且控制器910可啟用選擇控制信號(hào)SEL31,例如當(dāng)DMA模式信號(hào)DMA_MODE被禁用時(shí)??刂破?10可啟用模式控制信號(hào)CTL3,例如當(dāng)啟用DMA模式信號(hào)DMA_MODE并且從數(shù)據(jù)讀取單元800接收地址比較信號(hào)CMP時(shí)。
地址緩沖器920、地址比較器930、數(shù)據(jù)緩沖器950以及多路復(fù)用器960的操作可以分別與地址緩沖器520、地址比較器530、數(shù)據(jù)緩沖器540以及多路復(fù)用器550的操作相似或基本上相似,除了地址比較器930之外,它可以不執(zhí)行地址比較操作,例如,當(dāng)模式控制信號(hào)CTL3被啟用時(shí),并且可向控制器910輸出當(dāng)前接收的DMA讀取地址信號(hào)DMA_RADD。地址比較器930可啟用比較結(jié)果信號(hào)RSU,例如,當(dāng)模式控制信號(hào)CTL3被啟用時(shí)。地址比較器930可將比較結(jié)果信號(hào)RSU的被啟用狀態(tài)保持,例如,直到模式控制信號(hào)CTL3被禁用為止。
多路復(fù)用器940可輸出從串行接口400接收的數(shù)據(jù)信號(hào)RE_DATA,例如,當(dāng)選擇控制信號(hào)SEL31被啟用時(shí)。多路復(fù)用器940可將通過(guò)總線(xiàn)61從存儲(chǔ)控制器(例如,外部存儲(chǔ)控制器)70接收的DMA數(shù)據(jù)信號(hào)DMA_DATA2輸出,例如,當(dāng)選擇控制信號(hào)SEL32被啟用時(shí)。
將如圖13描述地,描述依照本發(fā)明的預(yù)取單元900的一個(gè)示范實(shí)施例,該預(yù)取單元900可在DMA模式下運(yùn)行。
在存儲(chǔ)器80的DMA讀取過(guò)程中,控制器910可接收來(lái)自數(shù)據(jù)讀取單元800的DMA模式信號(hào)DMA_MODE以及地址比較信號(hào)CMP。當(dāng)DMA模式信號(hào)DMA_MODE被啟用時(shí),預(yù)取單元900可在DMA模式下運(yùn)行。預(yù)取單元900的數(shù)據(jù)緩沖器950可作為DMA控制器1000的數(shù)據(jù)緩沖器使用。
控制器910可啟用模式控制信號(hào)CTL3,例如,以響應(yīng)DMA模式信號(hào)DMA_MODE以及地址比較信號(hào)CMP,并且可啟用選擇控制信號(hào)SEL31。
數(shù)據(jù)讀取單元800可通過(guò)例如串行接口400向存儲(chǔ)器80傳送可基于DMA讀取地址信號(hào)DMA_RADD生成命令數(shù)據(jù)信號(hào)RC_DATA,其中DMA讀取地址信號(hào)DMA_RADD可從DMA控制器1000接收。可將通過(guò)串行接口400的來(lái)自存儲(chǔ)器80的數(shù)據(jù)信號(hào)RE_DATA輸入到預(yù)取單元900中。
控制器910可啟用(例如,依次地啟用)數(shù)據(jù)緩沖控制信號(hào)RE21至RE24,例如一個(gè)接一個(gè)地啟用,當(dāng)從串行接口400接收傳輸就緒信號(hào)READY時(shí)。數(shù)據(jù)緩沖器951至954可存儲(chǔ)(例如,依次地存儲(chǔ))數(shù)據(jù)信號(hào)RE_DATA,例如,以響應(yīng)數(shù)據(jù)緩沖控制信號(hào)RE21至RE24。可存儲(chǔ)在數(shù)據(jù)緩沖器951至954的數(shù)據(jù)信號(hào)RE_DATA可以是RE_D1至RE_D4。可將數(shù)據(jù)信號(hào)RE_D1至RE_D4輸入(例如連續(xù)地輸入)到預(yù)取單元900中。
地址比較器930可啟用比較結(jié)果信號(hào)RSU,并且可以輸出可由控制器910接收的DMA讀取地址信號(hào)DMA_RADD,例如,以響應(yīng)模式控制信號(hào)CTL3。控制器910可啟用并向數(shù)據(jù)讀取單元800輸出匹配信號(hào)MAT,例如以響應(yīng)比較結(jié)果信號(hào)RSU??刂破?10可啟用(例如依次地啟用)選擇控制信號(hào)SEL21到SEL24,并且可禁用(例如,依次地禁用)數(shù)據(jù)緩沖控制信號(hào)RE21至RE24,例如,以響應(yīng)DMA讀取地址信號(hào)DMA_RADD。數(shù)據(jù)緩沖器951至954可輸出可被存儲(chǔ)(例如,依次地存儲(chǔ))的讀取數(shù)據(jù)信號(hào)RE_D1至RE_D4。多路復(fù)用器960可選擇(例如順序地選擇)讀取數(shù)據(jù)信號(hào)RE_D1至RE_D4,并可將它們作為例如匹配數(shù)據(jù)信號(hào)MAT_DATA輸出給數(shù)據(jù)讀取單元800,以響應(yīng)選擇控制信號(hào)SEL21至SEL24。
在存儲(chǔ)器80的DMA寫(xiě)入過(guò)程中,控制器910可從數(shù)據(jù)讀取單元800接收DMA模式信號(hào)DMA_MODE。如果沒(méi)有接收地址比較信號(hào)CMP,控制器910可啟用選擇控制信號(hào)SEL32,例如當(dāng)DMA模式信號(hào)DMA_MODE被啟用時(shí)??刂破?10可啟用(例如,順序地啟用)數(shù)據(jù)緩沖控制信號(hào)RE21至RE24。多路復(fù)用器940可輸出DMA數(shù)據(jù)信號(hào)DMA_DATA2,該信號(hào)可從控制器70例如經(jīng)總線(xiàn)61接收(例如,連續(xù)地接收),以響應(yīng)選擇控制信號(hào)SEL32。數(shù)據(jù)緩沖器951至954可存儲(chǔ)(例如,順序地存儲(chǔ))DMA數(shù)據(jù)信號(hào)DMA_DATA2,例如,以響應(yīng)數(shù)據(jù)緩沖控制信號(hào)RE21至RE24??纱鎯?chǔ)在數(shù)據(jù)緩沖器951至954中的DMA數(shù)據(jù)信號(hào)RE_DATA2可以是DMA_D1至DMA_D4。可以將DMA數(shù)據(jù)信號(hào)DMA_D1至DMA_D4輸入到(例如,連續(xù)地輸入)預(yù)取單元900中。
控制器910可以啟用(例如,依次地啟用)選擇控制信號(hào)SEL21至SEL24,并且可以禁用(例如,依次地禁用)數(shù)據(jù)緩沖控制信號(hào)RE21至RE24。數(shù)據(jù)緩沖器951至954可輸出存儲(chǔ)的(例如,依次存儲(chǔ)的)DMA數(shù)據(jù)信號(hào)DMA_D1至DMA_D4。多路復(fù)用器960可選擇(例如,順序地選擇)DMA數(shù)據(jù)信號(hào)DMA_D1至DMA_D4,并將它們作為匹配數(shù)據(jù)信號(hào)MAT_DATA輸出給數(shù)據(jù)讀取單元800,例如以響應(yīng)選擇控制信號(hào)SEL21至SEL24。
如上所述,例如,通過(guò)更有效的控制存儲(chǔ)器(例如,串行閃速存儲(chǔ)器)的讀取和/或?qū)懭氩僮?,依照本發(fā)明的示范實(shí)施例的控制器(例如,串行閃存控制器)可減少總線(xiàn)(例如,存儲(chǔ)器總線(xiàn))的占用時(shí)間。
雖然本發(fā)明的示范實(shí)施例已經(jīng)關(guān)于芯片上系統(tǒng)進(jìn)行了描述,但是要理解各示范實(shí)施例可以應(yīng)用于任何適當(dāng)?shù)南到y(tǒng)。
雖然本發(fā)明的示范實(shí)施例已經(jīng)關(guān)于串行閃速存儲(chǔ)器、同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SDRAM)以及靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)進(jìn)行了描述,但是要理解可將任何適當(dāng)?shù)拇鎯?chǔ)器或者存儲(chǔ)器的組合與本發(fā)明的各示范實(shí)施例相關(guān)地使用。
雖然本發(fā)明的示范實(shí)施例已經(jīng)關(guān)于8位讀取地址信號(hào)進(jìn)行了描述,但是要理解如這里討論的任何信號(hào)可以由任何適當(dāng)數(shù)量的位組成。例如,8位、16位等等,或者其組合。
雖然本發(fā)明的示范實(shí)施例已經(jīng)關(guān)于知識(shí)產(chǎn)權(quán)模塊進(jìn)行了描述,但是要理解所述知識(shí)產(chǎn)權(quán)模塊可以是任何適合類(lèi)型的宏模塊。
雖然本發(fā)明的示范實(shí)施例已經(jīng)關(guān)于內(nèi)部和外部存儲(chǔ)器進(jìn)行了描述,但是要理解上述各種存儲(chǔ)器可以是內(nèi)部的、外部的或者其任意的組合。
雖然本發(fā)明的示范實(shí)施例已經(jīng)關(guān)于直接存儲(chǔ)器訪問(wèn)操作進(jìn)行了描述,但是要理解本發(fā)明的示范實(shí)施例可以應(yīng)用于相關(guān)的任何適合的存儲(chǔ)器操作。
雖然本發(fā)明的示范實(shí)施例已經(jīng)關(guān)于相應(yīng)的圖中所示的組件例如在存儲(chǔ)控制器11中實(shí)現(xiàn)的主控制器200進(jìn)行了描述,但是要理解類(lèi)似的組件(例如,主控制器200和主控制器1100)是可以互換的。例如,主控制器1100可實(shí)現(xiàn)在控制器11中。
雖然已經(jīng)詳細(xì)的展示并描述了本發(fā)明的示范實(shí)施例,但是所屬領(lǐng)域的普通技術(shù)人員要理解,可作出各種形式和細(xì)節(jié)上的變換,而不脫離如權(quán)利要求定義的本發(fā)明的精神和實(shí)質(zhì)。
權(quán)利要求
1.一種存儲(chǔ)控制器,包括主控制器,用于存儲(chǔ)通過(guò)第一總線(xiàn)接收到的來(lái)自處理器的控制數(shù)據(jù)信號(hào),并且通過(guò)基于所存儲(chǔ)的控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器;數(shù)據(jù)讀取單元,用于存儲(chǔ)通過(guò)第二總線(xiàn)接收到的來(lái)自處理器和IP模塊中至少一個(gè)的讀取地址信號(hào),并且通過(guò)基于讀取地址信號(hào)生成命令數(shù)據(jù)信號(hào),從存儲(chǔ)器讀取數(shù)據(jù);以及串行接口,用于作為主控制器和數(shù)據(jù)讀取單元中的至少一個(gè)與存儲(chǔ)器的接口。
2.如權(quán)利要求1所述的存儲(chǔ)控制器,其中控制數(shù)據(jù)信號(hào)包括命令信號(hào)。
3.如權(quán)利要求1所述的存儲(chǔ)控制器,其中當(dāng)接收到至少一個(gè)讀取地址信號(hào)時(shí),數(shù)據(jù)讀取單元順序地生成預(yù)取開(kāi)始信號(hào)和預(yù)取停止信號(hào)。
4.如權(quán)利要求1所述的存儲(chǔ)控制器,進(jìn)一步包括預(yù)取單元,用于接收至少一個(gè)讀取地址信號(hào),預(yù)取并存儲(chǔ)通過(guò)串行接口接收到的來(lái)自存儲(chǔ)器的讀取數(shù)據(jù)信號(hào),并停止讀取數(shù)據(jù)信號(hào)的存儲(chǔ)操作,以響應(yīng)預(yù)取停止信號(hào)。
5.如權(quán)利要求4所述的存儲(chǔ)控制器,其中當(dāng)接收到至少一個(gè)讀取地址信號(hào)時(shí),數(shù)據(jù)讀取單元生成地址比較信號(hào),并且當(dāng)與至少一個(gè)讀取地址信號(hào)相應(yīng)的匹配數(shù)據(jù)信號(hào)存在時(shí),預(yù)取單元將匹配數(shù)據(jù)信號(hào)與匹配信號(hào)一起輸出給數(shù)據(jù)讀取單元,以響應(yīng)地址比較信號(hào)。
6.如權(quán)利要求1所述的存儲(chǔ)控制器,其中數(shù)據(jù)讀取單元包括,控制器,用于向串行接口輸出寄存器控制信號(hào)以及傳輸請(qǐng)求信號(hào),以響應(yīng)通過(guò)第二總線(xiàn)接收到的傳輸控制信號(hào),并且當(dāng)從串行接口接收到傳輸準(zhǔn)許信號(hào)時(shí),輸出第一選擇控制信號(hào),地址寄存器,用于存儲(chǔ)通過(guò)第二總線(xiàn)接收到的讀取地址信號(hào),并輸出讀取地址信號(hào),以響應(yīng)寄存器控制信號(hào),第一多路復(fù)用器,用于選擇多個(gè)命令信號(hào)中的至少一個(gè),并且將該命令信號(hào)作為讀取命令信號(hào)輸出,以響應(yīng)外部命令選擇信號(hào),以及第二多路復(fù)用器,用于順序地選擇讀取命令信號(hào)以及讀取地址信號(hào),并且將讀取命令信號(hào)和讀取地址信號(hào)作為命令數(shù)據(jù)信號(hào)輸出,以響應(yīng)第一選擇控制信號(hào)。
7.如權(quán)利要求1所述的存儲(chǔ)控制器,其中串行接口包括,入口判定器,用于接收和輸出來(lái)自主控制器和數(shù)據(jù)讀取單元中至少一個(gè)的傳輸請(qǐng)求信號(hào),并且輸出選擇控制信號(hào),以響應(yīng)傳輸請(qǐng)求信號(hào),控制器,用于啟用片選信號(hào),將片選信號(hào)與存儲(chǔ)器時(shí)鐘信號(hào)一起輸出給存儲(chǔ)器,通過(guò)入口判定器將傳輸準(zhǔn)許信號(hào)輸出給主控制器和數(shù)據(jù)讀取單元中的至少一個(gè),并且輸出第一、第二以及第三寄存器控制信號(hào),以響應(yīng)通過(guò)入口判定器接收到的傳輸請(qǐng)求信號(hào),多路復(fù)用器,用于選擇和輸出請(qǐng)求數(shù)據(jù)信號(hào)和命令數(shù)據(jù)信號(hào)中的至少一個(gè),以響應(yīng)選擇控制信號(hào),串行寄存器,用于將從多路復(fù)用器接收到的請(qǐng)求數(shù)據(jù)信號(hào)和命令數(shù)據(jù)信號(hào)中的至少一個(gè)作為串行輸出數(shù)據(jù)信號(hào)傳送給存儲(chǔ)器,以響應(yīng)第一寄存器控制信號(hào),并且將從存儲(chǔ)器接收到的串行輸入數(shù)據(jù)信號(hào)作為并行數(shù)據(jù)信號(hào)輸出,以響應(yīng)第二寄存器控制信號(hào),以及數(shù)據(jù)寄存器,用于接收并行數(shù)據(jù)信號(hào)并且把并行數(shù)據(jù)信號(hào)作為讀取數(shù)據(jù)信號(hào)傳送給主控制器和數(shù)據(jù)讀取單元中的至少一個(gè),以響應(yīng)第三寄存器控制信號(hào)。
8.如權(quán)利要求1所述的存儲(chǔ)控制器,其中數(shù)據(jù)讀取單元通過(guò)第二總線(xiàn)從直接存儲(chǔ)器訪問(wèn)控制器接收直接存儲(chǔ)器訪問(wèn)地址信號(hào),通過(guò)基于直接存儲(chǔ)器訪問(wèn)地址信號(hào)生成命令數(shù)據(jù)信號(hào),從存儲(chǔ)器讀取直接存儲(chǔ)器訪問(wèn)數(shù)據(jù),并且通過(guò)第二總線(xiàn)提供向直接存儲(chǔ)器訪問(wèn)控制器提供直接存儲(chǔ)器訪問(wèn)數(shù)據(jù)。
9.一種存儲(chǔ)控制器,包括主控制器,用于存儲(chǔ)通過(guò)第一總線(xiàn)接收到的來(lái)自處理器的控制數(shù)據(jù)信號(hào),并且通過(guò)基于控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器;DMA控制器,通過(guò)第三總線(xiàn)與第二總線(xiàn)相連接,并且通過(guò)第三總線(xiàn)傳送地址信號(hào);數(shù)據(jù)讀取單元,通過(guò)第四總線(xiàn)與第二總線(xiàn)相連,存儲(chǔ)經(jīng)第四總線(xiàn)從處理器和至少一個(gè)IP模塊的至少一個(gè)接收的地址信號(hào)和讀取地址信號(hào)的至少一個(gè),并且數(shù)據(jù)讀取單元通過(guò)基于地址信號(hào)生成命令數(shù)據(jù)信號(hào),從存儲(chǔ)器讀取數(shù)據(jù);以及串行接口,用于作為主控制器和數(shù)據(jù)讀取單元中的至少一個(gè)與存儲(chǔ)器的接口。
10.如權(quán)利要求9所述的存儲(chǔ)控制器,其中數(shù)據(jù)讀取單元包括,控制器,用于生成第一選擇控制信號(hào)和寄存器控制信號(hào),向串行接口輸出傳輸請(qǐng)求信號(hào),以響應(yīng)通過(guò)第四總線(xiàn)和第二總線(xiàn)接收的DMA傳輸控制信號(hào)和傳輸控制信號(hào)中的至少一個(gè),并且當(dāng)從串行接口接收到傳輸準(zhǔn)許信號(hào)時(shí)輸出第二選擇控制信號(hào),第一多路復(fù)用器,用于選擇讀取地址信號(hào)和地址信號(hào)中的至少一個(gè),并且輸出所選擇的地址信號(hào),以響應(yīng)第一選擇控制信號(hào),地址寄存器,用于存儲(chǔ)從第一多路復(fù)用器接收到的讀取地址信號(hào)和地址信號(hào)中的至少一個(gè),并且輸出所存儲(chǔ)的地址信號(hào),以響應(yīng)寄存器控制信號(hào),第二多路復(fù)用器,用于選擇多個(gè)命令信號(hào)中的至少一個(gè),并且將所選擇的命令信號(hào)作為讀取命令信號(hào)輸出,以響應(yīng)外部命令選擇信號(hào),以及第三多路復(fù)用器,用于順序地選擇讀取命令信號(hào)和存儲(chǔ)的地址信號(hào),并且將它們作為命令數(shù)據(jù)信號(hào)輸出,以響應(yīng)第二選擇控制信號(hào)。
11.如權(quán)利要求9所述的存儲(chǔ)控制器,其中控制器進(jìn)一步包括,預(yù)取單元,用于從DMA控制器接收寫(xiě)入數(shù)據(jù)信號(hào),并且將寫(xiě)入數(shù)據(jù)信號(hào)作為匹配數(shù)據(jù)信號(hào)輸出給數(shù)據(jù)讀取單元,以響應(yīng)模式信號(hào),其中DMA控制器通過(guò)第三總線(xiàn)傳送寫(xiě)入數(shù)據(jù)信號(hào),并且當(dāng)接收到地址信號(hào)時(shí),數(shù)據(jù)讀取單元的控制器生成模式信號(hào)。
12.一種主控制器,用于存儲(chǔ)通過(guò)第一總線(xiàn)接收的來(lái)自處理器的控制數(shù)據(jù)信號(hào),并且通過(guò)基于存儲(chǔ)的控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器。
13.如權(quán)利要求12所述的主控制器,進(jìn)一步包括,發(fā)生器,生成傳輸識(shí)別信號(hào)以及寄存器控制信號(hào),以響應(yīng)通過(guò)第一總線(xiàn)接收到的傳輸控制信號(hào)和控制地址信號(hào),存儲(chǔ)單元,存儲(chǔ)從串行接口接收到的控制數(shù)據(jù)信號(hào)和請(qǐng)求結(jié)果數(shù)據(jù)信號(hào)中的至少一個(gè),并且輸出存儲(chǔ)的數(shù)據(jù)信號(hào),以響應(yīng)寄存器控制信號(hào),命令解碼器,通過(guò)將包含在控制數(shù)據(jù)信號(hào)中的命令信號(hào)解碼而輸出命令信息,控制器,向串行接口輸出傳輸請(qǐng)求信號(hào),以響應(yīng)傳輸識(shí)別信號(hào)和命令信息,并且當(dāng)從串行接口接收到傳輸準(zhǔn)許信號(hào)時(shí)輸出第一選擇控制信號(hào),以及第一多路復(fù)用器,基于從存儲(chǔ)單元接收的存儲(chǔ)的數(shù)據(jù)信號(hào),向串行接口輸出請(qǐng)求數(shù)據(jù)信號(hào),以響應(yīng)第一選擇控制信號(hào)。
14.一種數(shù)據(jù)讀取單元,存儲(chǔ)從處理器和至少一個(gè)IP模塊中的至少一個(gè)接收到的讀取地址信號(hào),并且通過(guò)基于讀取地址信號(hào)生成命令數(shù)據(jù)信號(hào),從存儲(chǔ)器中讀取數(shù)據(jù)。
15.如權(quán)利要求14所述的數(shù)據(jù)讀取單元,進(jìn)一步包括,控制器,向串行接口輸出寄存器控制信號(hào)和傳輸請(qǐng)求信號(hào),以響應(yīng)通過(guò)第二總線(xiàn)接收到的傳輸控制信號(hào),并且當(dāng)從串行接口接收到傳輸準(zhǔn)許信號(hào)時(shí)輸出第一選擇控制信號(hào),地址寄存器,存儲(chǔ)通過(guò)第二總線(xiàn)接收到的讀取地址信號(hào),并且輸出讀取地址信號(hào),以響應(yīng)寄存器控制信號(hào),第一多路復(fù)用器,選擇多個(gè)命令信號(hào)中的至少一個(gè),并且將命令信號(hào)作為讀取命令信號(hào)輸出,以響應(yīng)外部命令選擇信號(hào),以及第二多路復(fù)用器,順序地選擇讀取命令信號(hào)以及讀取地址信號(hào),并且將讀取命令信號(hào)和讀取地址信號(hào)作為命令數(shù)據(jù)信號(hào)輸出,以響應(yīng)第一選擇控制信號(hào)。
16.一種串行接口,從主控制器和數(shù)據(jù)讀取單元中的至少一個(gè)接收傳輸請(qǐng)求信號(hào),將傳輸準(zhǔn)許信號(hào)輸出給主控制器和數(shù)據(jù)讀取單元中的至少一個(gè),基于第一寄存器控制信號(hào)將請(qǐng)求數(shù)據(jù)信號(hào)和命令數(shù)據(jù)信號(hào)中的至少一個(gè)作為串行輸出數(shù)據(jù)信號(hào)傳送給存儲(chǔ)器,并且將并行數(shù)據(jù)信號(hào)作為讀取數(shù)據(jù)信號(hào)傳送給主控制器和數(shù)據(jù)讀取單元中的至少一個(gè),以響應(yīng)寄存器控制信號(hào)。
17.如權(quán)利要求16所述的串行接口,進(jìn)一步包括,入口判定器,從主控制器和數(shù)據(jù)讀取單元中的至少一個(gè)接收和輸出傳輸請(qǐng)求信號(hào),并且輸出選擇控制信號(hào),以響應(yīng)傳輸請(qǐng)求信號(hào),控制器,啟用片選信號(hào),將片選信號(hào)與存儲(chǔ)器時(shí)鐘信號(hào)一起輸出,通過(guò)入口判定器向主控制器和數(shù)據(jù)讀取單元中的至少一個(gè)輸出傳輸準(zhǔn)許信號(hào),并且輸出第一、第二和第三寄存器控制信號(hào),以響應(yīng)通過(guò)入口判定器接收到的傳輸請(qǐng)求信號(hào),多路復(fù)用器,選擇和輸出請(qǐng)求數(shù)據(jù)信號(hào)和命令數(shù)據(jù)信號(hào)中的至少一個(gè),以響應(yīng)選擇控制信號(hào),串行寄存器,將從所述多路復(fù)用器接收到的請(qǐng)求數(shù)據(jù)信號(hào)和命令數(shù)據(jù)信號(hào)中的至少一個(gè)作為串行輸出數(shù)據(jù)信號(hào)傳送給存儲(chǔ)器,以響應(yīng)第一寄存器控制信號(hào),并且將從存儲(chǔ)器接收到的串行輸入數(shù)據(jù)信號(hào)作為并行數(shù)據(jù)信號(hào)輸出,以響應(yīng)第二寄存器控制信號(hào),以及數(shù)據(jù)寄存器,接收并行數(shù)據(jù)信號(hào)并且將并行數(shù)據(jù)信號(hào)作為讀取數(shù)據(jù)信號(hào)傳送給主控制器和數(shù)據(jù)讀取單元中的至少一個(gè),以響應(yīng)第三寄存器控制信號(hào)。
18.一種預(yù)取單元,在預(yù)取數(shù)據(jù)信號(hào)之后,存儲(chǔ)通過(guò)串行接口接收到的來(lái)自存儲(chǔ)器的數(shù)據(jù)信號(hào),以響應(yīng)預(yù)取開(kāi)始信號(hào),停止存儲(chǔ)數(shù)據(jù)信號(hào),以響應(yīng)預(yù)取停止信號(hào),當(dāng)與讀取地址信號(hào)相應(yīng)的匹配數(shù)據(jù)信號(hào)出現(xiàn)在數(shù)據(jù)信號(hào)中時(shí),向數(shù)據(jù)讀取單元輸出匹配信號(hào)和匹配數(shù)據(jù)信號(hào),以響應(yīng)地址比較信號(hào)。
19.如權(quán)利要求18所述的預(yù)取單元,進(jìn)一步包括,控制器,響應(yīng)預(yù)取開(kāi)始信號(hào)并輸出地址緩沖控制信號(hào)和數(shù)據(jù)緩沖控制信號(hào),響應(yīng)地址比較信號(hào)并輸出比較控制信號(hào),響應(yīng)比較結(jié)果信號(hào)和第一讀取地址信號(hào)并輸出選擇控制信號(hào),并且響應(yīng)比較結(jié)果信號(hào)并輸出匹配信號(hào),地址緩沖器,響應(yīng)地址緩沖控制信號(hào)并存儲(chǔ)第一讀取地址信號(hào),并且將第一讀取地址信號(hào)作為參考地址信號(hào)輸出,數(shù)據(jù)緩沖單元,響應(yīng)數(shù)據(jù)緩沖控制信號(hào)并存儲(chǔ)從串行接口接收的讀取數(shù)據(jù)信號(hào),地址比較器,響應(yīng)參考地址信號(hào)并計(jì)算數(shù)據(jù)緩沖器的地址范圍,并且依照第一讀取地址信號(hào)是否包含在地址范圍中,輸出比較結(jié)果信號(hào)以及第一讀取地址信號(hào),以及多路復(fù)用器,響應(yīng)選擇控制信號(hào)并且選擇從數(shù)據(jù)緩沖器接收到的至少一個(gè)讀取數(shù)據(jù)信號(hào),并且將所選擇的讀取數(shù)據(jù)信號(hào)作為匹配數(shù)據(jù)信號(hào)輸出給數(shù)據(jù)讀取單元。
20.一種系統(tǒng),包括處理器;至少一個(gè)IP模塊;以及存儲(chǔ)控制器,存儲(chǔ)通過(guò)第一總線(xiàn)接收到的來(lái)自處理器的控制數(shù)據(jù)信號(hào),通過(guò)基于存儲(chǔ)的控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器,存儲(chǔ)通過(guò)第二總線(xiàn)接收到的來(lái)自處理器和至少一個(gè)IP模塊中的至少一個(gè)的多個(gè)讀取地址信號(hào),并通過(guò)基于多個(gè)讀取地址信號(hào)中的至少一個(gè)生成命令數(shù)據(jù)信號(hào),從存儲(chǔ)器中讀取數(shù)據(jù)。
21.一種系統(tǒng),包括處理器;至少一個(gè)IP模塊;直接存儲(chǔ)器訪問(wèn)控制器,生成直接存儲(chǔ)器訪問(wèn)地址信號(hào);以及存儲(chǔ)控制器;其中存儲(chǔ)控制器存儲(chǔ)通過(guò)第一總線(xiàn)從處理器接收到的控制數(shù)據(jù)信號(hào),通過(guò)基于存儲(chǔ)的控制數(shù)據(jù)信號(hào)生成請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器,通過(guò)第二總線(xiàn)傳送DMA地址信號(hào),存儲(chǔ)通過(guò)第三總線(xiàn)接收到的來(lái)自處理器和至少一個(gè)IP模塊中至少一個(gè)的多個(gè)讀取地址信號(hào)和多個(gè)DMA地址信號(hào)中的至少一個(gè),并通過(guò)基于讀取地址信號(hào)和DMA地址信號(hào)中的至少一個(gè)生成命令數(shù)據(jù)信號(hào),來(lái)從存儲(chǔ)器中讀取數(shù)據(jù)。
22.如權(quán)利要求21所述的系統(tǒng),其中將直接存儲(chǔ)器訪問(wèn)控制器包含在存儲(chǔ)控制器中。
全文摘要
一種存儲(chǔ)控制器可減少總線(xiàn)使用時(shí)間。該存儲(chǔ)控制器可包括主控制器、數(shù)據(jù)讀取單元以及串行接口。主控制器可存儲(chǔ)通過(guò)總線(xiàn)接收到的來(lái)自處理器的控制數(shù)據(jù)信號(hào),并且可通過(guò)生成可基于所存儲(chǔ)的控制數(shù)據(jù)信號(hào)的請(qǐng)求數(shù)據(jù)信號(hào)來(lái)控制存儲(chǔ)器。數(shù)據(jù)讀取單元可存儲(chǔ)讀取地址信號(hào),該信號(hào)可通過(guò)另一條總線(xiàn)從處理器和IP模塊中的至少一個(gè)接收,并且該數(shù)據(jù)讀取單元可通過(guò)生成可基于存儲(chǔ)的讀取地址信號(hào)的命令數(shù)據(jù)信號(hào)來(lái)從存儲(chǔ)器讀取數(shù)據(jù)。串行接口可作為主控制器和數(shù)據(jù)讀取單元中的至少一個(gè)與存儲(chǔ)器的接口。該存儲(chǔ)控制器可通過(guò)更有效地控制存儲(chǔ)器的數(shù)據(jù)讀取和/或?qū)懭氲牟僮鱽?lái)減少總線(xiàn)的使用時(shí)間。
文檔編號(hào)G06F13/28GK1680930SQ200510071719
公開(kāi)日2005年10月12日 申請(qǐng)日期2005年2月18日 優(yōu)先權(quán)日2004年2月19日
發(fā)明者趙相衍 申請(qǐng)人:三星電子株式會(huì)社