專利名稱:數(shù)據(jù)處理系統(tǒng)以及分配訪問存儲器的方法
技術領域:
本發(fā)明涉及包括一處理器的一種數(shù)據(jù)處理系統(tǒng),以及為處理器分配存儲器的方法,本發(fā)明發(fā)現(xiàn)應用程序在很廣泛的范圍內的產(chǎn)品具有集成處理器。這些產(chǎn)品尤其涉及便攜式設備,例如微型計算機,數(shù)據(jù)或圖像顯示設備,以及蜂窩電話。一般來說,本發(fā)明對由諸如電池或蓄電裝置的自帶電源供電的所有數(shù)據(jù)處理設備都具有優(yōu)勢。
背景技術:
包括處理器、數(shù)據(jù)存儲器和程序存儲器的數(shù)據(jù)處理系統(tǒng)大部分具有遵循兩個主要結構模型中的一個的結構。
已知第一結構模型叫做“Harvard”。遵循這種結構的處理系統(tǒng)具有位于處理器和程序存儲器之間用于數(shù)據(jù)交換的第一總線以及第二總線,與第一總線不同,第二總線用于在處理器和數(shù)據(jù)存儲器之間進行數(shù)據(jù)交換。
已知第二種結構模型叫做“馮諾依曼”,即本發(fā)明的數(shù)據(jù)處理系統(tǒng)所遵循的模型。根據(jù)這種結構,一條普通總線被數(shù)據(jù)存儲器和程序存儲器共享,用于它們與處理器之間的信息交換。這就是說程序存儲器的程序(代碼)指令和數(shù)據(jù)存儲器的在處理的數(shù)據(jù)不能由一條普通總線共同傳遞。
無論采用哪種結構用于該數(shù)據(jù)處理系統(tǒng),該系統(tǒng)的性能,在處理速度方面,通常能夠通過提高處理器的操作頻率來實現(xiàn)速度的提高。
但是數(shù)據(jù)處理速度不是唯一地受限于處理器的操作頻率,還受限于在程序存儲器或數(shù)據(jù)存儲器中處理讀取指令和數(shù)據(jù)所必須的時間。在存儲器上讀取或寫入數(shù)據(jù)項或指令所必須的時間可以通過增加控制存儲器的電壓來縮短。
處理器操作頻率的提高和存儲器電壓的提高導致耗電量增加和更多的散熱。對于固定安裝的設備來說,這些影響是可以接受的,但是對嵌入的應用來說尤其有害,尤其是對于用電池或蓄裝置供電的便攜式設備。
為了減少在處理過程中有關存儲器讀(或寫)時間變慢,就象訪問時間是一致的一樣,存儲器的特定類型也已經(jīng)被設計出。這些存儲器是指作為快速訪問存儲器的文本保持器。例如,有“觸發(fā)”類型的存儲器和“頁面”類型的存儲器。有了這些存儲器,當一系列數(shù)據(jù)或指令被讀出時,序列中第一數(shù)據(jù)項或指令的讀取依據(jù)慢速訪問模式產(chǎn)生,稱之為“初始訪問”,并且下面的數(shù)據(jù)或指令以快速訪問模式被讀取,從而減少了讀取時間。
舉一例說明,對于觸發(fā)類型的存儲器,初始訪問是不連續(xù)的,需要大約65納秒的訪問時間,而后面的快速訪問則是連續(xù)的,每一個訪問時間僅需要18納秒。
在以上提到的“馮諾依曼”型結構,處理器在多個數(shù)據(jù)或程序存儲器中有選擇地輪流或讀取(或者寫入)數(shù)據(jù)或指令,然后在這些存儲器中的另外一個讀取或寫入。在文本保持器中,存儲器與處理器之間通信的狀態(tài)稱為“活動”。存儲器沒有與處理器通信的狀態(tài)定義為“禁止”。存儲器從所謂“禁止”狀態(tài)到所謂“活動”狀態(tài)的每一次變換都會產(chǎn)生第一慢速訪問這就是初始訪問。正如以上提到的,后來在返回到“禁止”狀態(tài)之前在同一個存儲器中的數(shù)據(jù)讀取都以快速訪問模式執(zhí)行。后來的數(shù)據(jù)是指在一個觸發(fā)存儲器中在第一數(shù)據(jù)項之后存儲的數(shù)據(jù)或者在相同的頁面存儲器的頁面中的數(shù)據(jù)。
舉一例說明在“馮諾依曼”結構中特定處理器之下的功能。這是一個ARM7類型的精簡指令集處理器(RISC)。這一處理器能夠執(zhí)行一定數(shù)量的任務,其中包括——數(shù)據(jù)移動,——在程序執(zhí)行中的流控制,——算術操作(加、減),——邏輯操作(AND、OR、NAND、NOR)。
這些任務主要以三個步驟執(zhí)行,對應處理器的三個執(zhí)行階段(管線)。這三個步驟是指令的讀取,指令的解碼,以及指令的執(zhí)行。這些步驟可以伴隨著數(shù)據(jù)讀寫來完成。
下面的表I概括了在一系列將要執(zhí)行的任務中的這些步驟,僅以實例形式給出。在這個表中,表明了任務的連續(xù)性,同時也表明了步驟的執(zhí)行。這些步驟分別標記為“F”(取)用來表示在程序存儲器中指令的讀取,“D”表示指令的解碼,“E”表示指令的執(zhí)行,“A”表示在數(shù)據(jù)存儲器中數(shù)據(jù)的讀取。表格中被標記為“X”的格對應與在數(shù)據(jù)存儲器中數(shù)據(jù)項的讀取有關的等待。表I
表I中的按時間順序讀取是從左至右進行的,這已在表中指出,在其中最后一行,步驟的連續(xù)(S)或不連續(xù)(NS)符號是在觸發(fā)類型的存儲器的情況下。
正如以上表明的,表I中“F”格對應于在程序存儲器中的讀取,而“A”格對應于在數(shù)據(jù)存儲器中的讀取。因此,在數(shù)據(jù)存儲器的每一個讀“A”期間,程序存儲器處于所謂的禁止狀態(tài)一致于下面的步驟“F”在較長持續(xù)時間(65納秒)的一個初始不連續(xù)訪問之后執(zhí)行。在數(shù)據(jù)存儲器中下一個讀“A”也在一個初始不連續(xù)訪問之后執(zhí)行,因為在在程序存儲器中同時產(chǎn)生了一個讀“F”。尤其在表I的第1至5行中出現(xiàn)。最后,在數(shù)據(jù)存儲器中的數(shù)據(jù)項的每一次讀取發(fā)生在2個不連續(xù)的初始訪問之間,并且是在一個處理周期的下沿(loss)。表I中每一個處理周期對應于一個步驟,也就是說沿水平方向的一個格。
當流命令被執(zhí)行時,流命令對應于表中第5行的最后一個格,即在程序存儲器中隨后的數(shù)據(jù)讀取發(fā)生在一個地址,該地址不隨在同一個存儲器中在前面讀取的指令的地址。因此,這需要對程序存儲器進行初始類型的不連續(xù)訪問。此外,程序指令的譯碼和執(zhí)行還在前面指令的地址之后讀,在流命令執(zhí)行之前,必須被抑制或者至少不必要,因為它們不要考慮流命令。這些步驟在表的第6、第7行也以“X”標記。
最后,應該注意的是,對于觸發(fā)類型的存儲器,有一個能在快速訪問(18納秒)中連續(xù)讀取的最大字長。在這一個數(shù)字的結尾,例如32,必然引起一個新的更慢的初始訪問(65納秒)。
可以計算執(zhí)行一段涉及100個“F”步驟的程序所必須的平均時間,也就是說100個指令的讀取。這個計算是根據(jù)表I中指出的功能和表II中給出的數(shù)據(jù)。表II表示了以上提到的在程序執(zhí)行中的各項任務的統(tǒng)計學比例。表II
根據(jù)以上數(shù)據(jù),100個程序指令的讀取需要143個周期,也就是說143個執(zhí)行步驟。在這些步驟中,對于數(shù)據(jù)存儲器的數(shù)據(jù)移動有43個不連續(xù)的(初始)訪問,隨后有對于程序存儲器的數(shù)據(jù)移動有43個不連續(xù)的(初始)周期,在流之后有23個不連續(xù)的(初始)周期,以及對其他指令有34個連續(xù)的(快速)周期。
還考慮到處理器的頻率足夠而不必放慢對存儲器的訪問時間,這些訪問時間分別是,對初始不連續(xù)訪問是65納秒,對快速連續(xù)訪問是12納秒,100條指令執(zhí)行的全部時間持續(xù)7697納秒。
這一計算對應于觸發(fā)類型的存儲器。通過比較的方式,以普通存儲器替代觸發(fā)類型的存儲器,也就是說一個所有的訪問都是慢速訪問(65納秒)的存儲器,同樣的操作需要的總時間是9295納秒。
最后,有了“馮諾依曼”結構數(shù)據(jù)處理系統(tǒng)與用觸發(fā)類型存儲器代替普通存儲器相比性能僅提高了17%。通過用頁面類型的存儲器代替普通存儲器實際上能獲得相同的結果。
為了補充現(xiàn)有技術公開的內容,可以參考文件(1)、(2)和(3),這些參考將在說明書最后給出。這些文件涉及馮諾依曼型結構,以及觸發(fā)和頁面類型的存儲器。
發(fā)明內容
本發(fā)明的目的是提供一個數(shù)據(jù)處理系統(tǒng),該系統(tǒng)具有改善的性能并在很大范圍上避免了上文所公開的設備的限制。
本發(fā)明的一個目標是還提供一個低能耗的強大的數(shù)據(jù)處理系統(tǒng),以便于該系統(tǒng)可以集成于嵌入式應用中尤其是便攜式設備。
本發(fā)明的一個目標還有充分利用快速訪問存儲器的特征,例如頁面或觸發(fā)類型的存儲器,以避免在快速訪問過程中初始訪問的增加。
本發(fā)明的另一個目標是提供一種對數(shù)據(jù)存儲器或程序存儲器的訪問進行分配的方法,使馮諾依曼結構的數(shù)據(jù)處理系統(tǒng)可能得更好的被使用。
為了實現(xiàn)這些目標,本發(fā)明的主體是一個更準確的數(shù)據(jù)處理系統(tǒng),包括一個處理器,至少一個數(shù)據(jù)存儲器,至少一個程序存儲器,以及一條主總線,共用于數(shù)據(jù)程序存儲器和將這些存儲器連接到處理器上。
根據(jù)本發(fā)明,存儲器中至少一個具有快速訪問模式。此外,該設備包含連接在主總線和存儲器之間的分配接口,用于在一種所謂的主動訪問模式,通過帶有處理器的主總線,將數(shù)據(jù)存儲器和程序存儲器中的一個交替地置于通信狀態(tài),并且用于保持另一個存儲器處于所謂的被動訪問模式,以及允許后來的快速訪問。
應該考慮的是,在系統(tǒng)提供一個或多個存儲器或預留下來的用于存儲處理數(shù)據(jù)的存儲器空間時以及一個或多個存儲器或預留下來的用于存儲程序執(zhí)行的代碼或指令的存儲器空間時,處理系統(tǒng)具有至少一個數(shù)據(jù)存儲器和至少一個程序存儲器。但是,在所公開的其余部分,為了簡單起見,只有一個數(shù)據(jù)存儲器和一個程序存儲器,通過共用的主總線連接到處理器上。
必須說明的是共用的主總線不必是單獨的一根總線??偩€可以通過分配給不同的信號的幾個總線簇有效地形成,這些信號可以是例如數(shù)據(jù)信號(或指令),地址信號和控制信號。
另一方面,作為“馮諾依曼”類型的一般結構,該共用總線,無論單個或多個,不可能同時傳輸處理數(shù)據(jù)和與程序指令(代碼)相關的數(shù)據(jù)。
最后,如果同初始訪問相比較可以減少訪問時間,則可以在相對較慢的初始訪問之后交換數(shù)據(jù)(或指令),這時需要考慮快速訪問類型的存儲器。例如快速訪問存儲器是在本文簡介部分提到的“觸發(fā)”或“頁面”存儲器。在處理系統(tǒng)中,存儲器中的至少一個,例如程序存儲器,是快速訪問類型的存儲器。但是,最佳地,對所有的存儲器都是這種類型。
通過分配接口裝置,不與處理器通信的快速訪問存儲器不能返回禁止狀態(tài),該狀態(tài)在數(shù)據(jù)(或指令)的下一次移動過程中需要一個慢速初始訪問,但是被保持在被動訪問模式,使隨后再開始以快速訪問而不是慢速初始訪問進行數(shù)據(jù)(或指令)移動成為可能。
數(shù)據(jù)移動的意思是數(shù)據(jù)存儲器或程序存儲器中數(shù)據(jù)或指令的讀或寫。
保持存儲器的一個處于已知的主要由“凍結”信號組成的未被激活的狀態(tài),該“凍結”信號用于或至少用于這個存儲器的邏輯控制狀態(tài),防止其到禁止狀態(tài)。
因此,根據(jù)分配接口的詳細實施例,其中包含存儲器用于當與處理器通信時保存信號從主動訪問模式轉換到被動訪問模式時應用于存儲器的信號的邏輯狀態(tài)。
所述存儲器根據(jù)主動訪問模式與處理器功能通信。為了在這一存儲器和處理器之間交換數(shù)據(jù)(或指令),分配接口可以包括一個復制裝置,用于在主總線和連接所述接口到數(shù)據(jù)存儲器的第一個次級總線與連接到程序存儲器的所述接口的第二個次級總線之中的一個之間傳輸信號。
為了有效地在存儲器的活動或被動訪問模式之間選擇,應當考慮來自處理器的不同信號。例如,用于讀數(shù)據(jù)的地址信號可以考慮用來確認該地址是否與數(shù)據(jù)存儲器或程序存儲器相對應。用于地址的所述存儲器隨后被用于以主動訪問模式與總線通信,而其他存儲器被置于與被動訪問模式對應的狀態(tài)。
獲得存儲器分配的另一種可能包括考慮由主總線的一個訪問(控制)指示總線傳輸?shù)男盘?。該信號尤其指出了?shù)據(jù)傳輸是否涉及數(shù)據(jù)存儲器的處理數(shù)據(jù)或程序存儲器的指令。在這種情況下,分配接口對訪問指示總線的信號的第一邏輯狀態(tài)靈敏,其中程序存儲器被置于主動訪問模式并且數(shù)據(jù)存儲器處于被動訪問模式,同時對于由訪問指示總線傳輸?shù)男盘柕牡诙壿嫚顟B(tài),其中程序存儲器處于被動訪問模式,并且數(shù)據(jù)存儲器處于主動訪問狀態(tài)。
整個數(shù)據(jù)處理系統(tǒng),也就是說處理器,總線和數(shù)據(jù)存儲器以及程序存儲器,可以被集成于一體,并且該同樣的集成電路可以是針對特定應用(ASIC)。例如這種電路可以在便攜式電話中找到。
根據(jù)另一種可能,存儲器和分配接口可以被集成為一體,并且具有同樣的電路或者在相同的外殼中被提供,而處理器被集成于不同的電路或者在不同的外殼中被提供。
第二種可能是替換現(xiàn)有系統(tǒng)中的傳統(tǒng)的具有外殼和觸發(fā)或閃存的存儲器,根據(jù)本發(fā)明,配有分配接口。
本發(fā)明也涉及一種對數(shù)據(jù)存儲器和程序存儲器分配訪問的方法,它們中的至少一個是快速訪問模式。
根據(jù)該方法,以及根據(jù)以上的描述,在一種所謂的主動尋址模式中,通過一個帶有處理器的共用總線,存儲器中的一個可選地并且交替地被置于通信狀態(tài),而第二個存儲器保持所謂的被動不變的備用尋址模式。正如以上所述,有這樣一種可能,在被動尋址模式中,當存儲器中的一個隨后進入主動尋址模式時,向該存儲器提供一個不變信號,用于避免不同于快速訪問的初始訪問。
本發(fā)明將參考圖中所示的實施例進行更進一步的描述,但本發(fā)明并不局限于此。附圖表示了根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)。
具體實施例方式
該系統(tǒng)包括一處理器100,一條主總線110,分配接口120,數(shù)據(jù)存儲器132和程序存儲器134。數(shù)據(jù)存儲器132和程序存儲器134為快速訪問類型。在本例中,分配接口120分別通過第一和第二次級總線140和150與數(shù)據(jù)存儲器132和程序存儲器134相連。
例如,處理器100為R3000(MIPS)或ARM7類型的精簡指令集處理器(RISC),利用主總線110交換各種信號。
各種信號中有數(shù)據(jù)(或指令)信號(CPU數(shù)據(jù)),地址信號(CPU地址),地址信號表明尋址一個數(shù)據(jù)項(或指令)被讀或寫,控制信號(CPU控制),控制信號確定數(shù)據(jù)項是否要被讀或寫,最后指令讀取信號(操作碼獲取),指令讀取信號詳細說明數(shù)據(jù)項(或指令)是否被讀入數(shù)據(jù)存儲器或程序存儲器。后面的信號也可以從地址信號中引出。
數(shù)據(jù)信號(或指令)可以從處理器發(fā)送或發(fā)送到處理器。其他信號,例如控制信號,被處理器發(fā)送到存儲器。
上面提到的每種類型的信號通過各自的總線傳輸,圖中以112,114,116,118表示。所有這些總線形成主總線110的部分,并且可以被認為是主總線的不同信道。
分配接口120包括復制裝置122,高度示意性地以虛線表示。它將數(shù)據(jù)從主總線復制到第一次級總線140,或者反向復制,以便使一個存儲器與主總線通信。在圖中,是數(shù)據(jù)存儲器132。第一次級總線140包括一個數(shù)據(jù)總線142,與主總線110的數(shù)據(jù)總線112通信,地址總線144,與主總線110的地址總線114通信,控制(讀/寫)總線146與主總線的控制總線116通信。主總線的最后的總線118其傳輸指令讀信號,不被復制到次級總線或存儲器132。這一訪問指示總線信號實際上用于分配接口120,以便于確認哪一個存儲器處于主動訪問模式,也就是說,復制裝置122應用于哪一個存儲器。通過實例,這一總線的信號的邏輯1狀態(tài),程序存儲器處于活動模式,而數(shù)據(jù)存儲器處于被動模式。這些關系在邏輯0狀態(tài)時相反。
第二次級總線150將接口120連接到程序存儲器134,在圖例中,134處于所謂的被動訪問模式。
第二總線也由幾個表示為152,154和156的總線形成。這一總線的功能與已經(jīng)提到的總線142,144和146完全相同。但是應該注意的是根據(jù)使用的程序存儲器的類型,數(shù)據(jù)(指令)總線152僅僅可以用于讀指令,而不用于寫指令。
接口120的存儲器125,通過第二次級總線150與程序存儲器相連,在后面的信號從主動訪問模式到被動訪問模式之前保持應用于程序存儲器的信號的最后的邏輯狀態(tài)。換句話說,存儲器125使這些信號“凍結”,直到下一個主動訪問,其間復制裝置使主總線110的總線112,114和116與第二次級總線的總線152,154和156通信。當信號具有連續(xù)訪問模式時(觸發(fā)存儲器)它們的凍結還與用于存儲器的時鐘信號有關。信號的“凍結”具有在存儲器中下一個數(shù)據(jù)(指令)的寫讀過程中避免慢速初始訪問的作用。
虛線160概括地指明了自含式系統(tǒng)可以包含存儲器132,134和接口120。
此外,標記135指出能夠連接到主總線110上的外部設備或連接接口。
引用文件1)WO 95/128542)3.0 Volt-only Page Mode Flash Memory Technology AMD(www.and.com)3)3.0 Volt-only Burst Mode Flash Memory Technology AMD(www.and.com)
權利要求
1.一種數(shù)據(jù)處理系統(tǒng),包括一個處理器(100),至少一個數(shù)據(jù)存儲器(132),至少一個程序存儲器(134)和一個主總線(110),共用于數(shù)據(jù)存儲器和程序存儲器,并且將這些存儲器連接到所述處理器,其特征在于,所述存儲器中的至少一種具有快速訪問模式,并且該設備中還包括一個所述主總線(110)和所述存儲器之間的分配接口(120),以便在一種所謂的主動訪問模式中,通過帶有處理器的主總線,將數(shù)據(jù)存儲器和程序存儲器中的一個交替地置于通信狀態(tài),并且在一種所謂被動訪問模式中將另外的存儲器處于允許隨后的快速訪問。
2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述分配接口包括復制裝置,用于在主總線(110)與將接口連接到數(shù)據(jù)存儲器的第一次級總線(140)和將接口連接到程序存儲器的第二次級總線(150)中的一個之間傳輸信號。
3.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述接口包括一個存儲器(125),用于保存在其當與處理器通信狀態(tài)下從主動訪問模式轉換到被動訪問模式時施加給該存儲器的信號的邏輯狀態(tài)。
4.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述主總線包括一個數(shù)據(jù)總線(112)、一個地址總線(114)、一個控制總線(116)和一個尋址指示總線(118)。
5.根據(jù)權利要求3所述的系統(tǒng),其特征在于,所述分配接口(120)響應于由訪問指示總線(118)傳輸?shù)男盘柕牡谝贿壿嫚顟B(tài),其中所述程序存儲器被置于一種主動訪問模式,而數(shù)據(jù)存儲器處于一種被動訪問模式,并且響應于由訪問指示總線傳輸?shù)男盘柕牡诙壿嫚顟B(tài),其中程序存儲器被置于一種被動訪問模式而數(shù)據(jù)存儲器處于一種主動訪問模式。
6.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲器和程序存儲器中的至少一個包括一個觸發(fā)存儲器型或頁面存儲器型的存儲器。
7.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述處理器、存儲器(132,134)和分配接口(120)形成同一集成電路的部分。
8.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述存儲器和分配接口形成一個集成電路的部分,不同于包括所述處理器的集成電路。
9.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述分配接口和處理器形成不同于存儲器組件的集成電路的部分。
10.一種外殼(160),包括一個數(shù)據(jù)存儲器(132)、一個程序存儲器(134)和一個分配接口(120),并且能夠通過一個總線與一個處理器相連,以便形成如權利要求1所述的系統(tǒng)。
11.一種便攜式電話機,包括如權利要求1所述的數(shù)據(jù)處理系統(tǒng)。
12.一種分配訪問數(shù)據(jù)存儲器(132)和程序存儲器(134)的方法,其中的至少一個具有快速訪問模式,其中在一種所謂的主動訪問模式中,通過一個帶有處理器(100)的共用總線,將存儲器中的一個選擇地并且交替地置于通信狀態(tài),而將第二個存儲器在一種所謂被動的不變的備用尋址模式。
13.根據(jù)權利要求11所述的方法,其特征在于,在所述被動尋址模式中,當存儲器中的一個進入主動尋址模式時,向該存儲器施加一個不變信號,以防止初始訪問不同于快速訪問。
全文摘要
一種數(shù)據(jù)處理系統(tǒng),包括一個處理器(100),至少一個數(shù)據(jù)存儲器(132),至少一個程序存儲器(134)和一個主總線(110),共用于數(shù)據(jù)存儲器和程序存儲器,并且將這些存儲器連接到所述處理器,其特征在于,所述存儲器中的至少一種具有快速訪問模式,并且該設備中還包括一個所述主總線(110)和所述存儲器之間的分配接口(120),以便在一種所謂的主動訪問模式中,通過帶有處理器的主總線,將數(shù)據(jù)存儲器和程序存儲器中的一個交替地置于通信狀態(tài),并且在一種所謂被動訪問模式中將另外的存儲器處于允許隨后的快速訪問。
文檔編號G06F13/16GK1387128SQ02141399
公開日2002年12月25日 申請日期2002年5月7日 優(yōu)先權日2001年5月10日
發(fā)明者A·S·C·羅賽, J·-M·奧蒂安 申請人:皇家菲利浦電子有限公司