欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于具有多個處理器和一個存儲器系統(tǒng)的系統(tǒng)的存儲器接口的制作方法

文檔序號:6496095閱讀:147來源:國知局
專利名稱:用于具有多個處理器和一個存儲器系統(tǒng)的系統(tǒng)的存儲器接口的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲器系統(tǒng),并特別涉及用于可由多個處理器存取的存儲器系統(tǒng)的接口。
相關(guān)技術(shù)的記載控制處理器(CPU)需要存儲器以便于操作。存儲器可以與CPU位于相同的集成電路或“芯片”上,像在數(shù)字專用集成電路(ASIC)的情況中一樣;或者可以將其設(shè)置在外部。芯片內(nèi)的存儲器具有比外部存儲器快速的優(yōu)點,但是比較昂貴且可擴展性不是很好。因而,在大多數(shù)數(shù)字ASIC中芯片內(nèi)的存儲器的數(shù)量相對較少。另一方面,外部存儲器花費較少而且可擴展。因此,除可以存在于芯片內(nèi)的存儲器之外,通常提供相對數(shù)量較多的外部存儲器。通信總線有利于向或者從CPU和外部存儲器傳送數(shù)據(jù)。通信總線典型地由外部存儲器接口所控制,該外部存儲器接口調(diào)整對通信總線的存取。
在某些系統(tǒng)中,有多于一個CPU,每一個CPU需要對存儲器進行存取。為了縮減上述系統(tǒng)的整個系統(tǒng)的花費,CPU可能需要共享相同的外部存儲器。例如,在某些系統(tǒng)中,控制處理器和直接存儲器存取控制器對相同的外部存儲器進行存取。因為每次只有一個CPU可以控制外部存儲器,在存儲器接口的設(shè)計上提出了許多挑戰(zhàn)。特別地,存儲器接口需要能夠給每一個CPU提供到外部存儲器所需的某一個最低帶寬。存儲器接口還需要能夠處理對外部存儲器的同時存取。其它挑戰(zhàn)包括刷新存儲器(即,CPU將執(zhí)行該刷新)、防止一個CPU修改另一個CPU的數(shù)據(jù)、確定每一個CPU的等待時間或潛伏時間(latency)等等。
現(xiàn)有的存儲器接口使用異步請求-準許(grant)系統(tǒng)來處理多個CPU。典型地,當一個CPU需要對外部存儲器進行存取時,該CPU向存儲器接口發(fā)送存儲器存取請求信號。存儲器接口將答復(fù)信號發(fā)送回CPU,確認該請求已被接收。然后存儲器接口基于某些預(yù)定義的方案決定是否準許該請求。該方案可以是,例如先進先出方案、基于優(yōu)先級的方案、隨機存取方案等等。此后存儲器接口向該CPU發(fā)送準許信號,且該CPU可以通過將確認信號發(fā)送回存儲器接口來進行答復(fù)。然后可以進行對外部存儲器的存取。
發(fā)明概要存儲器接口提供預(yù)定義的時隙,在該時隙中多個CPU的每一個可以對外部存儲器進行存取??梢砸勒赵揅PU的預(yù)期存儲器要求來定義分配給每一個CPU的時隙。保證每一個CPU具有到外部存儲器的某一數(shù)量的專用帶寬。預(yù)定義的時隙允許知道系統(tǒng)的潛伏時間,這對于面向?qū)崟r的應(yīng)用是非常有用的。此外,每一個CPU在其被分配的時隙中可以使用其自己的時鐘來控制外部存儲器,因而適應(yīng)系統(tǒng)中的各種時鐘域。并且還提供存儲器刷新和數(shù)據(jù)保護功能。
通常,在一個方面,本發(fā)明針對于準許從多個控制處理器對單個外部存儲器進行存取的方法。該方法包括步驟定義第一時隙和第二時隙;在第一預(yù)定義的時隙期間,準許第一控制處理器對該外部存儲器的存??;并在第二預(yù)定義的時隙期間,準許第二控制處理器對該外部存儲器的存取。
通常,在一個方面,本發(fā)明針對于用于允許多個控制處理器對單個外部存儲器進行存取的存儲器接口。該存儲器接口包括第一控制處理器、第二控制處理器、以及可互操作地連接到第一和第二控制處理器中的一個并與之同步的仲裁器。仲裁器被配置為在第一預(yù)定義的時隙期間,準許第一控制處理器對該外部存儲器的存取,并在第二預(yù)定義的時隙期間,準許第二控制處理器對該外部存儲器的存取。
應(yīng)當強調(diào),當用在本說明書中時,術(shù)語包括/包含被用來規(guī)定所述特征、整體、步驟、或者組件的存在,但不排除一個或多個其它特征、整體、步驟、組件、或它們的群的存在或增加。
附圖的簡要說明根據(jù)下面的詳細描述并依據(jù)對附圖的參考,本發(fā)明的前述和其它優(yōu)點將變得明顯,其中

圖1闡明了對于每一個CPU具有獨立存儲器控制器的示范性存儲器接口的框圖。和圖2闡明了具有用于所有CPU的單個存儲器控制器的另一示范性存儲器接口的框圖。
本發(fā)明的說明性實施例的描述下面是參考附圖對本發(fā)明的說明性實施例的詳細描述,其中相同的參考標記用于相同或相似的元件。像在此使用的術(shù)語“存取”,當連同術(shù)語“外部存儲器”一起使用時,意指任何存儲器操作,包括但沒必要限制到讀操作、寫操作以及刷新操作。
雖然異步請求-準許系統(tǒng)工作得相當好,但若干方面的改進仍然是所希望的。例如,發(fā)生在CPU和存儲器接口之間的各種握手過程將消耗有價值的帶寬。另外,對于給定CPU難以用任何精度來預(yù)測系統(tǒng)的潛伏時間,這是因為存儲器存取一旦被準許,就通常在該CPU被完成之前不會中斷。這種未知的和可能很長的等待時間可以導(dǎo)致其它CPU的問題,特別是在面向?qū)崟r的應(yīng)用中。
因此,存儲器接口可以使用預(yù)定義的時隙來向CPU準許外部存儲器存取。分配給每一個CPU的時隙可以依照該CPU預(yù)期的存儲需求被定義。以這種方式,保證每一個CPU具有到外部存儲器的最低數(shù)量的專用帶寬。具有預(yù)定義的時隙也允許知道系統(tǒng)的潛伏時間,這對于面向?qū)崟r的應(yīng)用是有用的。
現(xiàn)在參考圖1,示出了闡明存儲器接口100的框圖。存儲器接口100將第一CPU(CPU1)和第二CPU(CPU2)連接到單個外部存儲器102。CPU1和CPU2都可以存在于單個芯片上,像在許多數(shù)字ASIC的情況中一樣;或者CPU1和CPU2可以存在于獨立的芯片上。在CPU1和CPU2存在于單個芯片上時,存儲器接口100可以位于與CPU相同的芯片上,或者存儲器接口100可以位于獨立的芯片上。CPU1和CPU2可以執(zhí)行相同的功能,或者每一個CPU可以執(zhí)行不同的功能(例如,網(wǎng)絡(luò)訪問對應(yīng)用運行)。在后者的情況中,CPU1和CPU2既可以具有不同的時鐘頻率,又可以具有關(guān)于外部存儲器102的不同的帶寬要求。
存儲器接口100包括用于每一個CPU1和CPU2的獨立的存儲器控制器。因而,在圖1的例子中,CPU1連接到一個存儲器控制器104,同時CPU2連接到另一個存儲器控制器106。存儲器控制器104和106可以是任何一種適當?shù)拇鎯ζ骺刂破?,其能夠向外部存儲?02提供適當?shù)目刂菩盘?,包括寫使能、讀使能、存儲器地址、數(shù)據(jù)等等。每一個存儲器控制器104和106經(jīng)由多路復(fù)用器108連接到外部存儲器102,多路復(fù)用器108可以是例如組合多路復(fù)用器。
仲裁器110連接到多路復(fù)用器108。仲裁器110可以是任何一種適當?shù)倪壿嬈骷?,并被配置用來控制在任一給定的時刻,多路復(fù)用存儲器控制器104和106中的哪一個到外部存儲器102。在時隙基準上準許對外部存儲器102的存取,其中存儲器控制器104或存儲器控制器106被使能特定量的時間。時隙長度可以被預(yù)定義,例如,依照CPU的外部存儲器要求、CPU的時鐘頻率、或者某些其它因素。因而每一個CPU具有關(guān)于外部存儲器102的某種最小帶寬和某種最大潛伏時間。仲裁器110也可以是可編程的,這樣時??梢园凑招枰{(diào)整時隙的長度。
在操作中,每一個存儲器控制器104和106與CPU1或CPU2同步。換句話說,存儲器控制器104與CPU1同步并且存儲器控制器106與CPU2同步,這樣每一個存儲器控制器依照其各自CPU的時鐘頻率進行操作。因而,當準許CPU(例如,CPU1或CPU2)對外部存儲器102的存取時,有從CPU到外部存儲器102以及返回的同步路徑。同樣,仲裁器110也與多個CPU中的一個(例如,CPU1)同步。通常,仲裁器110與具有最快時鐘的CPU同步以便達到最高的時隙分辨率。仲裁器110還與該CPU的存儲器控制器(例如存儲器控制器104)同步,但沒必要與其它CPU的存儲器控制器同步。
當CPU1或CPU2中的任何一個想要對外部存儲器102進行存取時,存取CPU僅向相應(yīng)的存儲器控制器(即,存儲器控制器104或106)提供所需的地址。如果涉及寫操作,存取CPU還向外部存儲器102提供待寫數(shù)據(jù)。無論如何,在存取的CPU及相應(yīng)的存儲器控制器之間,請求-準許的握手過程不需要發(fā)生,這是因為相應(yīng)的存儲器控制器專用于存取CPU。在存取CPU的時隙開始時,仲裁器110向相應(yīng)的存儲器控制器發(fā)送使能信號,并使多路復(fù)用器108多路復(fù)用從該存儲器控制器到外部存儲器102的控制信號。典型地,使用“就緒”或“數(shù)據(jù)可用”或“等待”信號來指示當前數(shù)據(jù)傳送(數(shù)據(jù)寫入或數(shù)據(jù)讀取)完成的時間。這允許CPU對數(shù)據(jù)進行存取且無需知道確切的潛伏時間。此后,存儲器操作照常進行,直到時隙終止,并在下一個CPU的時隙中重復(fù)該過程。
為了確保保護CPU1和CPU2中每一個的數(shù)據(jù),在本發(fā)明的某些實施例中,仲裁器110可以包括寄存器(未明示),其包含用于CPU1和CPU2中每一個的存儲器參數(shù)。該寄存器可以定義,例如,外部存儲器102的哪個區(qū)域可由哪個CPU存取,以及外部存儲器102的哪個區(qū)域可由兩個CPU進行存取。當存儲器控制器從CPU接收所需地址時,存儲器控制器將接收的地址信息轉(zhuǎn)發(fā)到仲裁器110。其后仲裁器110將該地址信息與存儲在仲裁器110的寄存器中的信息進行核對,并確定該CPU是否具有對外部存儲器102的那個區(qū)域進行存取的權(quán)限。如果有,那么仲裁器110允許存儲器操作照常進行。如果沒有,仲裁器110禁用該存儲器控制器,錯誤狀態(tài)被報告給該CPU。
在本發(fā)明的某些實施例中,仲裁器110也可以包括用于外部存儲器102的刷新功能。這種存儲器刷新功能對于本領(lǐng)域普通技術(shù)人員來說是公知的并且不進一步描述。作為另一種選擇,該刷新功能也可以存在于多個CPU中的一個上,例如,與仲裁器110連接的CPU,并在該CPU的存儲器存取時隙期間被執(zhí)行。
盡管圖1中只示出了兩個CPU,但是本領(lǐng)域普通技術(shù)人員應(yīng)當理解,當需要時也可以增加附加的CPU。此外,盡管為每一個CPU示出了獨立的存儲器控制器,但是普通技術(shù)人員應(yīng)當認識到,也可以使用單個存儲器控制器,如下所述。
現(xiàn)在參考圖2,示出了用單個存儲器控制器的存儲器接口200。存儲器接口200類似于圖1的存儲器接口100的地方在于,它將第一CPU(CPU1)和第二CPU(CPU2)連接到單個外部存儲器202。然而,代替用于CPU1和CPU2中每一個的獨立的存儲器控制器,存儲器接口200包括用于兩個CPU1和CPU2的單個存儲器控制器204。多路復(fù)用器206將每一個CPU與該CPU的時鐘信號一起多路復(fù)用到存儲器控制器204。如前所述,在多個CPU和存儲器控制器204之間不需要請求-準許的握手過程,這是因為依靠多路復(fù)用器206,存儲器控制器實際上專用于單個CPU。仲裁器208控制在時隙基準上哪個CPU由多路復(fù)用器206多路復(fù)用到存儲器控制器204。
為了克服不同時鐘域(以及可能減少的帶寬)的問題,從存取CPU中選擇由存儲器控制器204使用的時鐘。因而,存儲器控制器204中的邏輯將與存取CPU同步運行,即使CPU1和CPU2相對于彼此異步運行。
圖2和圖1之間的另一個差別在于,在圖2中,節(jié)省了與每一CPU的一個存儲器控制器的區(qū)域相等的區(qū)域。同樣,當只有一個存儲器控制器時,存儲器自身的控制功能性(例如,存儲體選擇,等等)可以更簡單。另一方面,如圖1使用多個存儲器控制器可以具有這樣的優(yōu)點,當另一個CPU被給予存取權(quán)時,保持該存儲器控制器的狀態(tài)。
在本發(fā)明的某些實施例中,可以依賴于不同CPU的需要,暫時給予CPU比通常要長的時隙。例如,當一個CPU正在執(zhí)行實時任務(wù)時,應(yīng)當保證該CPU存儲器接口存儲器事務(wù)的固定分配,同時另一個CPU分配更靈活。然而,在實例中實時CPU可以經(jīng)歷較小活動性的周期,并且這些周期與接通需要頻繁的存儲器存取的另一個CPU的程序一致,可以準許另一個CPU比外部存儲器存取的正常份額大的份額。因此,仲裁器可以被設(shè)計為在實時CPU中檢測到不活動時,暫時延長分配給另一個CPU的時隙。作為另一個選擇,代替時隙,仲裁器可以被設(shè)計為準許另一個CPU附加數(shù)量的存儲器事務(wù)。一旦暫時的分配終止,那么仲裁器能夠,例如,回復(fù)到固定的分配。
除它們的存儲器存取控制功能之外,上述的仲裁器也可以實現(xiàn)網(wǎng)守(gatekeeper)功能。例如,在某些實施例中,仲裁器可以用來控制在多個CPU中的一個上運行的應(yīng)用可以對外部存儲器進行存取的方式,該CPU諸如是時鐘不與仲裁器同步的CPU2。特別地,當這些應(yīng)用想要對存儲在外部存儲器中的數(shù)據(jù)或程序代碼進行存取時,在準許應(yīng)用對存儲數(shù)據(jù)和程序代碼的存儲器區(qū)域進行存取之前,仲裁器可能要求該應(yīng)用首先鑒權(quán)(經(jīng)由CPU2)存儲在外部存儲器中的數(shù)據(jù)或程序代碼。例如可以使用本領(lǐng)域普通技術(shù)人員已知的任何適當?shù)募夹g(shù)來執(zhí)行鑒權(quán)。這樣,如果存儲在外部存儲器中的數(shù)據(jù)或程序代碼是合法的(即,其可以被應(yīng)用鑒權(quán)),仲裁器將使該數(shù)據(jù)或程序代碼對應(yīng)用可用。然而,非法的數(shù)據(jù)或程序代碼(即,不能被鑒權(quán)的數(shù)據(jù)和程序代碼)將被使得對應(yīng)用不可用,以便防止該非法的數(shù)據(jù)或程序代碼對系統(tǒng)造成任何傷害或損害。
雖然已經(jīng)參考一個或更多具體實施例對本發(fā)明進行描述,本領(lǐng)域技術(shù)人員應(yīng)當認識到,在不脫離本發(fā)明的精神和范圍的情況下另外可以進行許多變化。這些實施例的每一個及其明顯變型都預(yù)定將落入要求保護的發(fā)明的精神和范圍內(nèi),該精神和范圍由下面的權(quán)利要求闡明。
權(quán)利要求
1.一種準許從多個控制處理器對單個外部存儲器進行存取的方法,該方法包括定義第一時隙和第二時隙;在第一預(yù)定義的時隙期間,準許第一控制處理器對外部存儲器的存??;以及在第二預(yù)定義的時隙期間,準許第二控制處理器對外部存儲器的存取。
2.如權(quán)利要求1所述的方法,其中第一控制處理器經(jīng)由第一存儲器控制器對外部存儲器進行存取,第一存儲器控制器具有第一時鐘;第二控制處理器對外部存儲器和第二存儲器控制器進行存取,第二存儲器控制器具有第二時鐘;以及其中第一和第二存儲器控制器的第一和第二時鐘分別與第一和第二控制處理器的第一時鐘和第二時鐘同步。
3.如權(quán)利要求2所述的方法,其中,準許存取的步驟包括在第一和第二時隙期間,分別將第一和第二存儲器控制器多路復(fù)用到外部存儲器。
4.如權(quán)利要求1所述的方法,其中,第一和第二控制處理器經(jīng)由單個存儲器控制器對外部存儲器進行存取。
5.如權(quán)利要求4所述的方法,其中,準許存取的步驟包括在第一和第二時隙期間,分別將第一和第二控制處理器多路復(fù)用到外部存儲器。
6.如權(quán)利要求5所述的方法,其中,準許存取的步驟進一步包括在第一和第二時隙期間,分別將第一和第二控制處理器的第一時鐘和第二時鐘多路復(fù)用到外部存儲器。
7.如權(quán)利要求1所述的方法,進一步包括定義可由第一和第二控制處理器中的每一個所存取的外部存儲器中的區(qū)域。
8.如權(quán)利要求7所述的方法,進一步包括防止第一控制處理器對可由第二控制處理器存取的區(qū)域進行存取;以及防止第二控制處理器對可由第一控制處理器存取的區(qū)域進行存取。
9.如權(quán)利要求1所述的方法,其中,第一和第二控制處理器存在于單個集成電路上。
10.如權(quán)利要求9所述的方法,其中,第一和第二控制處理器具有不同的時鐘頻率。
11.如權(quán)利要求1所述的方法,進一步包括基于第一和/或第二控制處理器的存儲器存取活動,分別調(diào)整第一時隙和/或第二時隙的長度。
12.如權(quán)利要求2所述的方法,其中,外部存儲器具有與任何一個被準許對該外部存儲器進行存取的存儲器控制器的時鐘同步的時鐘。
13.如權(quán)利要求1所述的方法,進一步包括,在準許第二控制處理器對外部存儲器的存取之前,要求第二控制處理器鑒權(quán)希望對外部存儲器進行存取的數(shù)據(jù)或程序代碼。
14.一種用于允許多個控制處理器對單個外部存儲器進行存取的存儲器接口,包括第一控制處理器;第二控制處理器;可互操作地連接到第一和第二控制處理器中的一個并與之同步的仲裁器,其中該仲裁器被配置為在第一預(yù)定義的時隙期間,準許第一控制處理器對外部存儲器進行存??;以及在第二預(yù)定義的時隙期間,準許第二控制處理器對外部存儲器進行存取。
15.如權(quán)利要求14所述的存儲器接口,進一步包括第一存儲器控制器和第二存儲器控制器,其中第一控制處理器經(jīng)由第一存儲器控制器對外部存儲器進行存取,第一存儲器控制器具有第一時鐘;第二控制處理器對外部存儲器和第二存儲器控制器進行存取,該第二存儲器控制器具有第二時鐘;以及其中第一和第二存儲器控制器的第一和第二時鐘分別與第一和第二控制處理器的第一時鐘和第二時鐘同步。
16.如權(quán)利要求15所述的存儲器接口,進一步包括多路復(fù)用器,其被配置為在第一和第二時隙期間,分別將第一和第二存儲器控制器多路復(fù)用到外部存儲器。
17.如權(quán)利要求14所述的存儲器接口,進一步包括單個存儲器控制器,其中第一和第二控制處理器被配置為經(jīng)由單個存儲器控制器對外部存儲器進行存取。
18.如權(quán)利要求17所述的存儲器接口,進一步包括多路復(fù)用器,其被配置為在第一和第二時隙期間,分別將第一和第二控制處理器多路復(fù)用到外部存儲器。
19.如權(quán)利要求17所述的存儲器接口,其中,多路復(fù)用器進一步被配置為在第一和第二時隙期間,分別將第一和第二處理器的第一時鐘和第二時鐘多路復(fù)用到外部存儲器。
20.如權(quán)利要求14所述的存儲器接口,其中,仲裁器被進一步配置為定義可由每一個控制處理器存取的外部存儲器中的區(qū)域。
21.如權(quán)利要求20所述的存儲器接口,其中,仲裁器進一步被配置為防止第一控制處理器對可由第二控制處理器存取的區(qū)域進行存取,反之亦然。
22.如權(quán)利要求14所述的存儲器接口,其中,第一和第二控制處理器存在于單個集成電路上。
23.如權(quán)利要求22所述的存儲器接口,其中,第一和第二控制處理器具有不同的時鐘頻率。
24.如權(quán)利要求14所述的存儲器接口,其中,仲裁器進一步次于基于第一和/或第二控制處理器的存儲器存取活動,調(diào)整第一時隙和/或第二時隙的長度。
25.如權(quán)利要求15所述的存儲器接口,其中,外部存儲器具有與任何一個被準許對該外部存儲器進行存取的存儲器控制器的時鐘同步的時鐘。
26.如權(quán)利要求14所述的存儲器接口,進一步包括在準許第二控制處理器對外部存儲器的存取之前,要求第二控制處理器鑒權(quán)希望對外部存儲器進行存取的數(shù)據(jù)或程序代碼。
全文摘要
用于多個CPU系統(tǒng)的存儲器接口提供預(yù)定義的時隙,其中每一個CPU可以對外部存儲器進行存取。依照CPU的預(yù)期存儲要求可以定義分配給每一個CPU的時隙。以這種方式,保證每一個CPU具有到外部存儲器的某一數(shù)量的專用帶寬。預(yù)定義的時隙也允許知道系統(tǒng)的潛伏時間,這對于面向?qū)崟r的應(yīng)用是有用的。此外,每一個CPU可以在其分配的時隙期間使用其自己的時鐘來控制外部存儲器,因而適應(yīng)系統(tǒng)中的各種時鐘域。還提供存儲器刷新和數(shù)據(jù)保護功能。提供本摘要以遵從要求有摘要的規(guī)則,它允許檢索者或其它讀者快速確定技術(shù)公開的主題。以不用來解釋或限制權(quán)利要求的范圍或含義的理解提出本摘要。
文檔編號G06F9/50GK1864140SQ200480029326
公開日2006年11月15日 申請日期2004年10月6日 優(yōu)先權(quán)日2003年10月8日
發(fā)明者F·安斯馬克, T·尼爾松, D·巴洛 申請人:艾利森電話股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
蕲春县| 蒲城县| 临洮县| 嵊州市| 金秀| 长沙市| 方正县| 府谷县| 会理县| 穆棱市| 卢氏县| 金溪县| 苍山县| 长子县| 封丘县| 长乐市| 龙川县| 建始县| 乐至县| 常德市| 大洼县| 遂平县| 丘北县| 滁州市| 兴海县| 错那县| 常山县| 多伦县| 青海省| 茶陵县| 荔波县| 浦北县| 喜德县| 六盘水市| 来宾市| 泰和县| 沅陵县| 南城县| 通道| 南丰县| 聂荣县|