專利名稱:基于快速存儲器的主存儲器的制作方法
技術領域:
本發(fā)明涉及計算機系統(tǒng)體系結構的領域。具體來說,本發(fā)明涉及采用大塊可擦除非易失半導體存儲器作為主存儲器的計算機系統(tǒng)。
背景技術:
由于現(xiàn)代計算機程序已變得越來越復雜,所以現(xiàn)代個人計算機系統(tǒng)也不得不變得越來越復雜,以便適應這些計算機程序。計算機程序由比以往代碼指令多的大量代碼指令組成,平均來說,當計算機程序正在被執(zhí)行時,它們要求對較大量的數(shù)據(jù)文件進行訪問,這些數(shù)據(jù)文件被讀出和被寫入。
一般來說,個人計算機系統(tǒng)的核心是在微處理器芯片上的中央處理單元(CPU)。為了使個人計算機能夠以適時的方式執(zhí)行更大的程序,以越來越高的操作速度運行的新的微處理器芯片不斷地被開發(fā)。通常利用CMOS(互補金屬一氧化物半導體)技術來開發(fā)這些微處理器芯片。CMOS芯片最大的功率消耗出現(xiàn)在時鐘脈沖的前沿和后沿(即當時鐘信號從低電壓狀態(tài)轉換至較高電壓狀態(tài)和從較高電壓狀態(tài)轉換至低電壓狀態(tài)時)。
一旦提高微處理器的操作速度,在一特定時間間隔內的時鐘脈沖的個數(shù)就增多,于是增大了在這一時間間隔內微處理器的功耗。另外,微處理器產(chǎn)生了更多的熱量,為了防止損壞計算機系統(tǒng)內的部件,必需消除這些熱量。
在設計個人計算機系統(tǒng)時,功耗和散熱都造成嚴重的問題。對于通常由電池后備的便攜式計算機更是如此。計算機消耗的功率越多,計算機能夠以給定容量的電池為動力運行的時間就越短。因此,隨著計算機操作速度的提高,設計人員面臨幾種討厭的可供選擇的方案。
如果使用相同容量的電池,則一旦提高操作速度就必需減少計算機系統(tǒng)的有效操作時間。相反地,如果要保持有效操作時間不變,就或者必需增加額外的電池,這樣會增大計算機的體積和重量,或者采用非常規(guī)的、因此是昂貴的電池技術(或者采用這兩種方案)。
便攜式計算機的趨勢是更小、更快、更廉價和更輕便。因此,需要增加額外的電池、或采用更昂貴的電池是顯然不利的。為了消除高速微處理器產(chǎn)生的更多的熱量,增加冷卻風扇或采用其它冷卻技術的需求更加重了這種不利。
還有,因為微處理器以更高速度運行,所以它們能夠在給定的時間內執(zhí)行更多的指令,并因此同樣能夠在該段時間內處理更大量的數(shù)據(jù)。在具有快速微處理器的計算機系統(tǒng)中已出現(xiàn)了會妨礙有效地利用這種微處理器更高的速度的瓶頸。這種瓶頸是提供微處理器執(zhí)行的指令的總線(或一些總線)以及微處理器在執(zhí)行這些指令時將使用的數(shù)據(jù)。
如果下一條要被執(zhí)行的指令在微處理器需要它時不能得到,則微處理器就必需在該所需指令被檢索和被提供給微處理器期間不工作地等待(即插入等待周期)。另外,如果下一條要被執(zhí)行的指令需要不是立即可被微處理器得到的數(shù)據(jù),則微處理器也必需等待,直到該數(shù)據(jù)已被檢索到為止。在這一空閑時間內,微處理器時鐘繼續(xù)變換其狀態(tài),于是不必要地消耗功率并產(chǎn)生必需被消除的熱量。
為了減少微處理器遇到這些等待周期的頻率,許多高性能微處理器都具有稱為主高速緩存的小的內部高速緩存。經(jīng)常要被執(zhí)行的指令以及執(zhí)行這些指令經(jīng)常所需的數(shù)據(jù)被存儲在該內部高速緩存內,因此它們可被微處理器的CPU立即進行訪問。
計算機程序的順序特性使得當程序內的某一指令被執(zhí)行時,下一條要被執(zhí)行的指令很可能將是跟在當前執(zhí)行指令之后的指令。因此,當一指令要被執(zhí)行時,就檢查高速緩存,確定是否在該高速緩存內立即可得到該所需指令的拷貝。如果所需指令的拷貝存儲在該高速緩存內(稱為高速緩存選中),就能夠立即把該指令的拷貝從該高速緩存提供給CPU,在指令從無論其存儲在計算機系統(tǒng)的何處被檢索至微處理器芯片期間,CPU不需要等待。
相反地,如果所需指令的拷貝沒有存儲在高速緩存內(稱為高速緩存落空),則在指令從其存儲在計算機系統(tǒng)的任何地方被檢索至微處理器芯片期間,CPU就必需等待。實際上,不是只檢索要被執(zhí)行的下一條指令,而是通過檢索要被執(zhí)行的下一條指令以及跟在該要被執(zhí)行的下一條指令之后的一定數(shù)目的指令而形成高速緩存存儲界(cacheline)。因此,如果隨后的指令實際上需要執(zhí)行,CPU就可以立即從高速緩存存儲界內得到它們。由于程序的順序特性,利用高速緩存的好處同樣適用于程序所使用的數(shù)據(jù)。
因為內部高速緩存每次被填充高速緩存存儲界,所以許多微處理器能夠以突發(fā)方式接受數(shù)據(jù)。在一般的成串讀出中,微處理器規(guī)定要被讀入到高速緩存存儲界的數(shù)據(jù)或指令的第一地址。然后,存儲在高速緩存存儲界的地址處的數(shù)據(jù)或指令被順序地從它們存儲在計算機系統(tǒng)內的地方傳送至微處理器。
經(jīng)常利用靜態(tài)隨機存取存儲器(SRAM)來形成微處理器的內部高速緩存。因為每一SRAM單元由6×8個晶體管組成,所以在一微處理器芯片上只能容納相當小的SRAM高速緩存。此外,SRAM是易失的,即SRAM只有在有足夠的電力進行工作時才保持所存儲的信息。如果沒有電源,SRAM高速緩存的內容將丟失。
某些微處理器是動態(tài)的,即如果它們被斷電,則當恢復供電時,它們不能直接回復到斷電時它們所處的狀態(tài)。一旦恢復供電,必須重新初始化微處理器,將可能丟失以前執(zhí)行過的至少某些處理步驟。
另一些微處理器是靜態(tài)的,即它們可進入節(jié)能的深度省電狀態(tài),然后相當迅速地回復到就在它們進入該深度省電狀態(tài)之前所處的狀態(tài)。
如上所述,數(shù)據(jù)和指令被存儲在計算機系統(tǒng)內,被通過一個(或多個)總線系統(tǒng)提供給微處理器。因為大部分相當快的隨機存取存儲器都是易失的和相當昂貴的,所以一般的計算機系統(tǒng)把代碼和數(shù)據(jù)存儲在例如軟盤或硬盤這樣的相當廉價的、非易失的存儲器內。
因為非易失存儲器的訪問速度相當?shù)?,所以一般的計算機系統(tǒng)還有由易失存儲器組成的主存儲器。當要執(zhí)行程序時,計算機系統(tǒng)利用稱為遮蔽(shadowing)的技術把執(zhí)行該程序所需的代碼和數(shù)據(jù)從低速非易失存儲器拷貝至較快的易失存儲器。然后用主存儲器內的陰影拷貝來執(zhí)行程序。如果在程序執(zhí)行過程中對陰影拷貝進行了任何改動,可以在程序結束執(zhí)行時把該陰影拷貝回拷至較慢的非易失存儲器。另外,因為預料之外的停電會造成易失主存儲器內容的丟失,所以通常保存在程序執(zhí)行過程中產(chǎn)生的中間結果。
最普通的主存儲器是動態(tài)隨機存取存儲器(DRAM)。因為相同復雜度的DRAM存儲的數(shù)據(jù)約是SRAM的4倍,所以即使它比SRAM慢,它也用得比SRAM廣泛。
DRAM把信息存儲在包含電容器的集成電路內。因為電容器隨著時間的推移會失去它們的電荷,所以必需利用使DRAM芯片不斷地“刷新”(再充電)的邏輯來控制DRAM。當DRAM正在被刷新時,它不能被微處理器讀出或寫入。因此,如果微處理器必需在DRAM正在被刷新時對其進行訪問,就出現(xiàn)了一個或多個等待狀態(tài)。
在某些計算機系統(tǒng)中,SRAM代替DRAM用作主存儲器。利用SRAM作為主存儲器的一個優(yōu)點是與DRAM比可相對快地進行訪問。另外,因為SRAM不需要被刷新,所以總是可被微處理器進行訪問,于是消除了當在DRAM正在被刷新期間試圖進行訪問時微處理器必需包括等待狀態(tài)的與DRAM相關的需要。還有,因為不必考慮對刷新周期進行控制,所以不需要刷新還簡化了對具有基于SRAM的主存儲器的計算機系統(tǒng)的設計。事實上,在電源出現(xiàn)故障時可用簡單的備用電池來保留SRAM的內容。當然,如果該備用電池失效,SRAM主存儲器的內容也將丟失。
不是完全利用SRAM來組成主存儲器,而是通常利用DRAM來實現(xiàn)主存儲器,然后用基于SRAM的外部高速緩存(即在微處理器芯片之外的高速緩存)來補充該基于DRAM的主存儲器。因為外部高速緩存沒有被包括在微處理器芯片上,所以通??墒蛊淠軌虮葍炔扛咚倬彺娲鎯Ω嗟臄?shù)據(jù)和指令。但是,因為外部高速緩存不在微處理器芯片上,所以它必需利用通常構成數(shù)據(jù)和指令進入和離開該微處理器芯片的瓶頸的總線之一來把數(shù)據(jù)和指令提供給微處理器。
高速微處理器芯片一般利用一條或多條高速總線與計算機系統(tǒng)的其余部分對接。這些總線的第一種是稱為主存儲器總線的相當高速的異步總線。這些總線的第二種是稱為局部總線的相當高速的同步總線。主存儲器總線和局部總線的典型操作速度在16至33MHz的范圍內,趨勢是總線越來越快。
盡管大多數(shù)微處理器能夠利用主存儲器總線直接對接,但某些微處理器沒有提供與局部總線的外部接口。這些微處理器一般利用稱為擴展總線的相當?shù)退俚耐娇偩€進行對接。擴展總線的典型操作速度在8至12MHz的范圍內。
主存儲器(或DRAM)總線被微處理器芯片用來訪問主存儲器。一般來說,微處理器不是直接與DRAM芯片對接而是與DRAM控制器芯片連接,該DRAM控制器芯片再與DRAM芯片或與一些DRAM芯片連接。DRAM控制器控制由微處理器初啟的對DRAM芯片的訪問。DRAM控制器還控制額外開銷維護、例如刷新周期以便定期刷新DRAM的內容。某些微處理器具有直接設在它們內部的DRAM控制器。經(jīng)常是把DRAM或SRAM芯片封裝在表面安裝組件內并把幾個DRAM或SRAM連接到一小電路板,形成所謂的單列直插存儲器模塊(SIMM)。然后通過簡單地用一種SIMM換另一種SIMM就能夠相當容易地修改計算機系統(tǒng)內的主存儲器的總容量(或訪問速度)?;赟RAM的外部高速緩存也可以利用DRAM總線與微處理器連接。
如果計算機系統(tǒng)具有局部總線,那么微處理器就能夠以相當快的速度訪問與該局部總線連接的設備。因此,寬帶寬設備、例如圖形適配器卡和快速輸入/輸出設備通常直接與該局部總線連接。有時候外部高速緩存與局部總線連接而不與DRAM總線連接。還可以通過利用被設計成為與局部總線對接的DRAM控制器把DRAM連接至該局部總線來補充(或代替)在主存儲器總線上的主存儲器。
與局部總線連接的每一設備都具有相關的容性負載。隨著局部總線上的負載增大,局部總線的最高操作速度就減小,而驅動總線所需的功率就增大。因此,與局部總線連接的一設備可以是從該局部總線至稱為高速外部總線(例如外圍部件互連(PCI)總線)的另一總線的外部總線橋??偩€橋把與高速外部總線連接的設備與高速局部總線隔離開來。
與局部總線連接的另一設備通常是把高性能局部總線與較低性能的擴展總線連接的擴展總線橋。計算機系統(tǒng)的窄帶寬部件然后被連接到該較低性能的擴展總線。通常與擴展總線連接的一種設備使用快速存儲器。快速存儲器通常是高密度、非冒失的讀-寫存儲器。基于快速存儲器的設備的一些例子是BIOS ROM和硬盤的替代物。
快速存儲器在擦除方面與普通的EEPROM(電可擦可編程只讀存儲器)不同。普通EEPROM利用選擇晶體管對各個字節(jié)的擦除進行控制。相反地,快速存儲器利用一個晶體管單元獲得了非常高的密度。對于一般的快速存儲器陣列,邏輯“1”指即使有也極少數(shù)的電子積聚在與一位單元相關的浮柵上。邏輯“零”指許多電子積聚在與該位單元相關的浮柵上。不進行預先擦除,就不能夠從邏輯零狀態(tài)至邏輯1狀態(tài)地重寫快速存儲器陣列的每一位。在快速擦除操作期間,同時向一塊或整個芯片內的每一存儲單元的源極提供高電壓。這樣就實現(xiàn)了整個陣列或整塊擦除。
在快速存儲器陣列已被擦除之后,邏輯“1”就被存儲在該快速存儲器陣列的每一位單元內。該快速存儲器陣列的每一個位單元然后就可從邏輯“1”至邏輯“零”地被編程(重寫),已知這種編程只是向包含與擦除狀態(tài)相關的固有電子數(shù)的浮柵增加電子??焖俅鎯ζ鞯木幊滩僮饕卜Q為寫操作。
與一般快速存儲器陣列相關的讀操作非常類似于與其它只讀存儲器相關的讀操作。一般高速快速存儲器陣列的讀操作需要約80納秒(ns)。但是,快速存儲器陣列的寫和擦除操作卻非常慢。一般來說,擦除操作需要約1秒??焖俅鎯ζ麝嚵幸粋€字的寫操作需要約10微秒。
1992年7月1日公開的英國專利GB2251324A描述了使用快速存儲器的計算機系統(tǒng)。該專利公開了把快速存儲器加入計算機系統(tǒng)的各種結構。在此引用的一種結構是可變文件結構。對于可變文件結構,計算機代碼被鄰接地存儲在快速存儲器內,使CPU能夠執(zhí)行直接來自快速存儲器陣列的計算機代碼,不需要RAM。描述了允許來自所有快速存儲器陣列的直接代碼執(zhí)行的直接映射可變文件結構。還描述了允許來自一部分快速存儲器陣列的直接代碼執(zhí)行的頁面映射可變文件結構。因此,快速存儲器能夠起便攜計算機內的主存儲器的作用,向用戶提供了與基于磁盤的系統(tǒng)的那些功能類似的一些功能。
ROM可執(zhí)行DOS已商品化,為系統(tǒng)制造商和最終用戶提供了若干種便利。首先,因為大多數(shù)操作系統(tǒng)由固定代碼組成,所以執(zhí)行DOS所需的系統(tǒng)RAM的容量從50K減少到15K,于是節(jié)省了系統(tǒng)空間及電能,其次,DOS現(xiàn)在可被永久地存儲在例如快速存儲器這樣的單個ROM型的器件內并可從該器件中執(zhí)行。這樣就能夠提供從包裝箱取出就能夠工作的系統(tǒng)。最后,因為消除了傳統(tǒng)的磁盤至DRAM引導功能和軟件下裝步驟,所以用戶欣賞到“即時”演示。
例如,通過把應用軟件和操作系統(tǒng)代碼存儲在“駐留快速存儲器陣列”(RFA)內,用戶實際上欣賞到即時演示和適當?shù)拇a執(zhí)行。因為RFA與ROM不同,它是系統(tǒng)內可更新的,所以RFA還防止了軟件過時。存儲在快速存儲器而不是在磁盤內的駐留軟件延長了電池壽命并提高了系統(tǒng)可靠性。
因為擦除快速存儲器和把數(shù)據(jù)寫入快速存儲器是與把信息重新寫入磁盤完全不同的操作,所以已開發(fā)了新的軟件技術來允許快速存儲器模擬磁盤的功能。例如微軟的Flash File System(FFS)這樣的文件管理軟件允許快速存儲部件和快速存儲插件模擬磁盤的文件存儲能力。微軟的FFS透明地處理快速存儲塊之間的數(shù)據(jù)交換,這類似于MS-DOS處理磁盤扇區(qū)之間的數(shù)據(jù)交換的方式。在FFS下,用戶能夠輸入MS-DOS或Windows命令,不必考慮系統(tǒng)安裝的是快速存儲器還是磁盤。快速文件編排系統(tǒng)使快速存儲器的管理對用戶完全透明。已有類似于微軟FFS的快速文件編排系統(tǒng)或正在為除DOS和Windows外的其它操作系統(tǒng)開發(fā)這種系統(tǒng)。
快速存儲器極其適合作為一種固態(tài)盤或作為DRAM和電池后備的靜態(tài)RAM的價格有效的和高可靠的替代物。其固有的優(yōu)于這些技術的優(yōu)點使其在便攜系統(tǒng)特別有用,便攜系統(tǒng)在保持高性能和全面功能度的同時還要求最大可能的低功耗、小尺寸和堅固度。
但是,快速存儲器一般都具有異步接口,規(guī)定要被讀出的地址,然后在設定的時間之后從快速存儲器芯片輸出存儲在該規(guī)定地址的內容。只有在快速存儲器芯片已輸出數(shù)據(jù)之后才能夠把下一要被讀出的地址傳送給快速存儲器芯片。局部總線這樣的高速總線能夠以33MHz的速率運行,總線的每一周期約為30ns。相反地,一般的高性能快速存儲器的讀訪問時間約為80ns。因此,如果要把快速存儲器作為主存儲器,則對快速存儲器的每一次存儲器訪問都包含等待狀態(tài)和零等待狀態(tài)因而從快速存儲器中不能支持背對背成串讀周期。對于具有類似于快速存儲器的讀等待的其它設備也是如此。因此,利用已有技術,把這些存儲器作為高速微處理器的主存儲器是不現(xiàn)實的。
發(fā)明概要及目的因此,本發(fā)明的一個目的是與易失存儲器比較,根據(jù)非易失存儲器提供有效的存儲器分級結構,在這種存儲器分級結構中,數(shù)據(jù)和應用程序都被存儲在隨機存取非易失存儲器內,直接根據(jù)該隨機存取非易失存儲器執(zhí)行應用程序。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何同步總線以最佳的同步方式進行操作。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何同步總線以最佳的同步方式進行操作,以便提供可以代替易失主存儲器的低成本、低功耗的替代物,和以便消除把代碼和數(shù)據(jù)從硬盤傳送至主存儲器所需的時間。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何同步總線以最佳的同步方式進行操作,以便CPU能夠直接執(zhí)行快速存儲器的程序,與基于易失存儲器的主存儲器相比,性能沒有任何降低。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何同步總線以最佳的同步方式進行操作以及由此消除把昂貴的存儲器子系統(tǒng)設計、例如交錯加入系統(tǒng)的需要。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何同步總線以最佳的同步方式進行操作以及由此支持背對背脈沖串周期并因此保證以迅速和最佳的方式對高速緩存存儲界進行填充。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何異步主存儲器總線以最佳的異步方式進行操作。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何異步主存儲器總線以最佳的異步方式進行操作,以便提供可以代替基于易失存儲器的主存儲器的低成本、低功耗的替代物,和以便也消除把代碼和數(shù)據(jù)從硬盤傳送至主存儲器所需的時間。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何異步主存儲器總線以最佳的異步方式進行操作,以便CPU能夠直接執(zhí)行快速存儲器的程序,與易失存儲器相比,性能沒有任何降低。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何異步主存儲器總線以最佳的異步方式進行操作以及消除使用定制的控制器的需要。
本發(fā)明的另一個目的是使快速存儲器能夠利用任何異步主存儲器總線以最佳的異步方式進行操作,以便向已有的主存儲器控制器提供非粘合接口并因此降低成本和減輕局部總線上的負載。
描述了可被切換至4種不同的讀出方式的快速存儲器芯片。還描述了利用了這些方式的計算機系統(tǒng)和體系。在第一種讀出方式即異步快速方式中,快速存儲器被作為標準快速存儲器讀出。在這一方式中,在能夠指定要被讀出的第二地址之前必需結束第一地址的內容的讀出。
在第二種讀出方式即同步快速方式中,向快速存儲器芯片提供時鐘信號和指定屬于一數(shù)據(jù)串的一系列地址,其中每個時鐘分段信號對應一個地址。然后,按照提供地址的順序在后續(xù)時鐘分段信號期間內順序地輸出存儲在為該數(shù)據(jù)串指定的地址處的內容。另一方面,如果在快速存儲器芯片處于同步方式時向其提供了一個地址,就將在該快速存儲器芯片內產(chǎn)生該數(shù)據(jù)串的后續(xù)地址,然后從該快速存儲器芯片提供該數(shù)據(jù)串作為輸出。
在第三種讀出方式即異步DRAM(動態(tài)隨機存取存儲器)方式中,快速存儲器模擬DRAM。于是利用行和列地址選通信號把行和列地址選通至快速存儲器??焖俅鎯ζ魅缓笤趦炔堪研泻土械刂纷儞Q為單個地址并提供存儲在該單個地址處的數(shù)據(jù)作為輸出。此外,雖然快速存儲器不需要擴充預充電期或不需要被刷新,但當處于異步DRAM方式時,快速存儲器如DRAM那樣地響應預充電期和刷新周期。因此,當處于異步DRAM方式時,快速存儲器能夠被標準DRAM控制器進行控制。
在第四種讀出方式即同步DRAM方式中,組合第二和第三種方式的特點,得到模擬同步DRAM的快速存儲器。于是通過利用RAS和CAS信號把行和列地址選通至快速存儲器就指定了要被作為數(shù)據(jù)串讀出的地址。快速存儲器然后根據(jù)后續(xù)時鐘分段信號順序地提供數(shù)據(jù)串的數(shù)據(jù)作為輸出。
參看附圖以及以下的詳細描述將清楚本發(fā)明的其它目的、特點和優(yōu)點。
附圖概述舉例說明本發(fā)明,本發(fā)明不局限于附圖中的各圖,在附圖中,相同的標號表示相同的元件,其中
圖1表示具有利用高速總線與快速主存儲器連接的微處理器的計算機系統(tǒng);圖2表示把靜態(tài)微處理器與快速主存儲器結合,構成了低功耗,但高性能的計算機系統(tǒng)的計算機系統(tǒng);圖3表示交錯幾個異步快速存儲器單元來支持同步背對背數(shù)據(jù)串讀周期的快速存儲器子系統(tǒng);圖4是說明異步快速存儲器的讀周期的時序圖;圖5表示圖3的快速存儲器子系統(tǒng)的狀態(tài)轉換圖;圖6表示快速存儲器集成電路的方框圖,該集成電路具有從快速存儲器陣列的內部存儲體中支持同步背對背數(shù)據(jù)串讀周期的同步快速接口;圖7是說明具有同步快速接口的快速存儲器的背對背數(shù)據(jù)串讀周期的時序圖;圖8是說明利用高速同步總線和總線專門粘合邏輯與微處理器連接的通用同步快速接口的快速存儲器單元的計算機系統(tǒng)的方框圖;圖9是具有異步主存儲器接口的快速存儲器集成電路的方框圖;圖10是說明具有異步主存儲器接口的快速存儲器的列和行地址多路復用的異步讀周期的時序圖;圖11是說明具有異步主存儲器接口的快速存儲器的刷新周期的時序圖;圖12是具有異步主存儲器接口的快速存儲器集成電路的異步主存儲器接口單列直插存儲器模塊的方框圖;圖13是利用動態(tài)隨機存取存儲器控制器來訪問基于快速存儲器的異步主存儲器接口單列直插存儲器模塊的計算機系統(tǒng)的方框圖;圖14是具有同步主存儲器接口的快速存儲器集成電路的方框圖;圖15是利用同步動態(tài)隨機存取存儲器控制器來訪問基于快速存儲器的同步主存儲器接口單列直插存儲器模塊的計算機系統(tǒng)的方框圖。
詳細描述圖1表示其中的微處理器110利用高速總線120與快速存儲器130連接的計算機系統(tǒng)100。在計算機系統(tǒng)100中,快速存儲器130被用來代替某些(如果不是全部的話)易失主存儲器(未示出)。因此,快速存儲器120被用來代替例如動態(tài)隨機存取存儲器(DRAM)或靜態(tài)隨機存取存儲器(SRAM)這樣的易失主存儲器,以便為計算機系統(tǒng)100提供高速非易失主存儲器。
基于易失主存儲器的計算機體系在斷電時將失去主存儲器內的所有信息。但是,基于快速存儲器的非易失主存儲器縮短或消除了在通電時從磁盤獲取信息的冗長處理。因此,當程序一開始被執(zhí)行時,基于快速主存儲器的計算機系統(tǒng)100的系統(tǒng)性能高于基于易失主存儲器的計算機系統(tǒng)的系統(tǒng)性能。
此外,通過利用快速存儲器作為主存儲器,就不再需要復制在磁盤和RAM上的陰影信息,于是因消除存儲器復制就減小了存儲器成本。
還有,通過把信息存儲在非易失快速存儲器內,因為不需要易失存儲器的備用電池和因為磁盤訪問被減至最少或被消除,所以減少了功耗。
圖2表示其中的靜態(tài)微處理器210利用高速總線220與快速主存儲器230和電池后備的SRAM240連接的計算機系統(tǒng)200??偩€橋280連接高速總線220和低速總線260。低速非易失存儲器250與低速總線260連接。
在一般的現(xiàn)代基于易失主存儲器的計算機系統(tǒng)中,有4至8兆字節(jié)的易失主存儲器,其中的約一半將被用來存儲操作系統(tǒng)、應用程序的可執(zhí)行代碼和不變的數(shù)據(jù)文件。主存儲器的余下部分通常包含被經(jīng)常讀出和寫入的數(shù)據(jù)文件(和偶爾使用的應用程序的可執(zhí)行代碼)。前一種信息被存儲在通常被稱為“常讀”文件的文件內而后一種信息被存儲在通常被稱為“讀/寫”文件的文件內。在計算機系統(tǒng)200中,快速存儲器230被用來存儲常讀文件而SRAM240被用來存儲目前使用的讀/寫文件。
舉例最能說明利用具有系統(tǒng)200的基于快速存儲器的主存儲器結構的計算機系統(tǒng)能夠獲得的好處。假定用戶具有一臺計算機和經(jīng)常在視窗操作系統(tǒng)環(huán)境中用該臺計算機來運行字處理器應用程序(寫信)。再假定該用戶偶爾用該臺計算機玩電子游戲。
因為大多數(shù)計算機操作系統(tǒng)(和應用程序)都是設計成根據(jù)隨機存取存儲器(即可被讀出和寫入的存儲器)來執(zhí)行的,所以沒有作出努力來把它們的存儲器地址空間分成只讀區(qū)和讀/寫區(qū)。實際上,極少的存儲器地址空間將被寫入。大多數(shù)存儲器地址空間將被讀出,以便提供偶爾變化的代碼指令和數(shù)據(jù)。
寫入可ROM化的程序來提供可從只讀存儲器(ROM)執(zhí)行的代碼。在可ROM化的程序中,仔細地寫入代碼以確保大多數(shù)存儲器地址空間是只讀的。如果存儲器地址空間的某些部分是必需被寫入的,這些部分就被包含在(可被保存至讀/寫存儲器的)分離的讀/寫存儲器地址空間內。目前在市場上可買到Windows的可ROM化的版本、基本“磁盤操作系統(tǒng)(DOS)”以及例如字處理程序這樣的流行應用程序。
因此,計算機系統(tǒng)200的用戶可得益于把可ROM化的DOS、可ROM化的Windows和可ROM化的字處理程序的只讀部分存儲在快速存儲器230內。這些程序的讀/寫部分和應用程序的其余部分以及文件可存儲在低速非易失存儲器250內。
然后,當用戶啟動計算機系統(tǒng)200寫信時,DOS、Windows和字處理器的只讀部分將駐留在快速存儲器230內。如果這些程序需要任何讀/寫文件(例如系統(tǒng)配置信息),這些(通常小的)文件就利用總線橋280和低速總線260迅速地從低速非易失存儲器250裝載至電池后備的SRAM240??傊?,DOS、Windows和字處理程序的主要部分將駐留在非易失快速存儲器230內,系統(tǒng)一通電就能夠直接根據(jù)非易失主存儲器230適當?shù)貓?zhí)行它們。因此,對用戶來說就好象計算機系統(tǒng)200一啟動就裝載了字處理器并且該字處理器做好了寫信的準備。
用戶然后能夠檢索SRAM240中的包含以前書寫的信的文件以便進行修改(從該文件所存儲的低速非易失存儲器250)。或者用戶能夠打開在SRAM240的存儲器地址空間內的一新文件并能夠利用該新文件來開始寫一封全新的信。
在寫了一會兒信之后,假定用戶決定玩存儲在低速非易失存儲器250內的一個計算機游戲。在這種情況下,與被選擇游戲相關的程序將被裝入SRAM250,游戲開始。
如果用戶想休息,他可以暫停游戲,讓計算機系統(tǒng)200繼續(xù)運行。在用戶離開期間,靜態(tài)微處理器210將感知用戶的不活動性并通過省電信號線270把省電信號傳送給快速存儲器230。然后靜態(tài)微處理器210和快速存儲器230將進入低功耗狀態(tài)。
快速存儲器230和低速非易失存儲器250都是非易失的。此外,快速存儲器230處于其節(jié)能省電狀態(tài)時將消耗非常少的電能,在用戶離開期間,非易失存儲器250將不必被訪問。還有,因為微處理器210是靜態(tài)微處理器,所以它將消耗極少的電能,一旦其進入深度省電狀態(tài)就保持這種狀態(tài)。還有,不會丟失存儲在電池后備的SRAM240內的讀/寫文件(包括游戲的可執(zhí)行代碼)。
然后,當此用戶返回時,此游戲幾乎能夠立即從其被暫停的地方繼續(xù)執(zhí)行。這是因為,當用戶離開時即使消耗非常小的能量,計算機系統(tǒng)200的狀態(tài)也將被保持。
此外,如果用戶想要升級DOS或Windows操作系統(tǒng)或者升級存儲在快速主存儲器230中的程序,由于其寫快速存儲器的能力,這將是容易做到的。寫快速存儲器所需的擦除和然后的編程操作將意味著與其中的主存儲器為諸如DRAM的易失性存儲器相比,這將花費更長的時間才能將程序存儲到快速存儲器230中。但是,無論如何,程序的安裝不會頻繁地執(zhí)行并且通常是相當長時間的處理。因此,與系統(tǒng)200一啟動,一個程序就能夠從非易失性快速存儲器230中立即執(zhí)行的好處相比,安裝此程序到非易失性快速存儲器230中所需的額外時間是不重要的。
寫快速主存儲器230的能力還意味著用戶能夠安裝一不同的程序來代替目前存儲在快速主存儲器230中的字處理程序(或者除了目前存儲在快速主存儲器230中的字處理程序外還能夠安裝一不同的程序)。因此,通過安裝一個競爭的字處理程序到快速主存儲器230中,用戶能夠切換到此競爭的字處理程序。另一方面,例如,用戶能夠安裝一空白表格程序或圖形設計程序到快速存儲器230中以替代目前存儲在其中的字處理程序。
并且,在此快速存儲器230中提供了足夠的空間,此用戶能夠在其中安裝額外的應用程序。因此,例如,如果此用戶有一目前最受歡迎的特定的計算機游戲,那么它就能被安裝而駐留在此快速存儲器230中。
注意,即使一程序不是可ROM化的,此程序也能被安裝在快速存儲器230中。如上所述,因為能夠寫快速存儲器,所以,一快速文件系統(tǒng)允許標準應用程序在快速存儲器230中執(zhí)行。但是,當標準(即不能ROM化的)程序在快速主存儲器中執(zhí)行時,快速存儲器的非對稱性讀/寫將引起一需要承擔的性能惡化。
但是,有一些方法能夠用于減輕這些性能問題。一種方法是,當此應用程序正在執(zhí)行時,操作系統(tǒng)將此應用程序的存儲器地址空間標注為只讀。然后,如果此應用程序試圖寫快速主存儲器230,那么將引起一中斷并且一錯誤處理程序使能夠再對SRAM存儲器240進行寫入。接下來,當在處理過程中有一個間歇時,作為一后臺操作,此信息能夠從SRAM240寫到快速存儲器230中。在實行中,一部分SRAM240能夠用作快速主存儲器240的一個寫高速緩存。
采用一部分SRAM240作為一個寫高速緩存的一個好處是存儲在快速存儲器230中的應用程序不需要是可ROM化的。另一個好處是應用程序存儲地址空間的寫區(qū)域將可能相對好地定位。在這樣的幸運情況下,任何對此寫高速緩存的順序讀或寫操作將得益于SRAM240的較快的訪問。還有,由于被回寫到應用程序存儲空間的信息是短暫的這種情況(即從此應用程序的一次執(zhí)行到下次執(zhí)行不會節(jié)省)頻繁地出現(xiàn),因此,當此應用程序終止時任何在此寫高速緩存中的短暫信息將不必回寫到此快速存儲器230。
從上述的例子中可以看到,與具有基于傳統(tǒng)的易失性主存儲器的結構的計算機系統(tǒng)相比,有許多有益的和協(xié)合的效果產(chǎn)生于具有計算機系統(tǒng)200的非易失性主存儲器計算機系統(tǒng)結構。
第一,當首先加電時計算機200能夠立即啟動。因此,不需要花費時間和能源以加載操作系統(tǒng)和經(jīng)常使用的諸如字處理器的應用程序到主存儲器中,它們總是在主存儲器中并且實際上是立即可使用的。
第二,不需要在慢非易失性存儲器250中存儲一操作系統(tǒng)(例如DOS和Windows)的拷貝或者經(jīng)常使用的應用程序(例如字處理程序)。因此,如果需要遮蔽這些文件,慢非易失性存儲器250就可以比所需的要小些。
第三,采用下面將更詳細地描述的不同于異步(易失性)DRAM的技術,能夠成串讀快速存儲器230。因此,與如果采用基于異步DRAM的主存儲器相比,用于微處理器210的內部高速緩存215的一高速緩存存儲界能夠更快地根據(jù)快速存儲器220進行填充。
第四,與易失性DRAM相比,SRAM240能夠被更快地讀寫。因此,與如果采用基于DRAM的主存儲器相比,用于微處理器210的內部高速緩存215的一高速緩存存儲界能夠更快地根據(jù)SRAM240進行填充。還有,與如果采用基于DRAM的存儲器的情況相比,從SRAM240中執(zhí)行的程序能夠更快地被訪問,因而能夠更快地被執(zhí)行。
第五,一部分SRAM240能夠用于為快速存儲器220提供一外部高速緩存,因而進一步增加了執(zhí)行速度。
第六,一較低性能的微處理器能夠用于提供在采用基于DRAM的主存儲器的情況下相同水平的性能。這是因為,由需要加載操作系統(tǒng)和程序引起的基于易失性DRAM的主存儲器的低帶寬限制將被消除。而操作系統(tǒng)和程序被存儲在非易失性快速主存儲器230中。這還因為,與采用DRAM主存儲系統(tǒng)的情況相比,在系統(tǒng)200中,在微處理器210的數(shù)據(jù)和程序指令需求與基于快速存儲器230/SRMA240的主存儲器供給它們的能力之間將具有更好的匹配。這將導致微處理器210的更少的空閑等待狀態(tài)。經(jīng)常地,微處理器210將能夠操作在零等待狀態(tài)。因此,即使由于微處理器210是一較低性能的微處理器而在其中只有較少的周期能夠工作,但是,當此微處理器等待代碼或數(shù)據(jù)時,可用于此微處理器的周期將浪費得較少。
第七,由于對于一給定的性能級別,微處理器210能夠使用較低的時鐘速率,因此,與如果一基于DRAM的主存儲器需要采用較快的處理器相比,微處理器210將較便宜,并有較小的散熱問題以及使用較小的功率。
第八,由于微處理器210和快速存儲器230在其不需要時能夠進入一深度省電(deep powerdown)模式,因而進一步節(jié)省能源。
因此,當其主要部分的主(執(zhí)行)存儲器為快速存儲器時,一個非易失性讀/寫通用計算機體系能夠用上述的結構來實現(xiàn)。
根據(jù)系統(tǒng)200的需求,檔案存儲(即慢的非易失性存儲器250)可以或不必存在于此系統(tǒng)中。如果存在,系統(tǒng)200的需求能夠管理用于提供它(即機械、光或固態(tài))的技術。還有,根據(jù)系統(tǒng)200的特別需求,電池后備的SRAM240能夠被非易失性RAM(NVRAM)、電可擦可編程ROM(EEPROM)、DRAM、SRAM、或者電池后備的SRAM替換。
系統(tǒng)200的上述每一配置的根本主題是,微處理器210的CPU根據(jù)需要從隨機訪問非易失性(快速)存儲器230取出代碼和/或數(shù)據(jù)并回寫不同的數(shù)據(jù)和/或程序,如前面所述,這些新的信息可以寫或不寫到主存儲器中的同樣的地方?;赗AM的系統(tǒng)本來就易失性的。雖然基于ROM的主存儲器系統(tǒng)是非易失性的,但是卻不提供回寫到此ROM的能力。
快速存儲器不是象DRAM那樣的對稱技術,即,它不允許字節(jié)隨讀速度而發(fā)生變化。因此,在一個實施例中,為了修改一文件或程序,被改變的部分移到字節(jié)可變存儲器(例如NVRAM、EEPROM、SRAM或DRAM)中,然后修改,并且然后回寫到快速主存儲器。此可變存儲器可以是分離的存儲器芯片和/或被集成到一CPU或微處理器上。沒有被改變的數(shù)據(jù)由此CPU從快速存儲器中直接讀取。與一基于磁盤的系統(tǒng)相比,這種配置實質上消除了用于讀和未改變的數(shù)據(jù)的磁盤下載,因而提供了較快的讀性能。對于寫,其回寫在性能上與磁盤不相上下。由于其讀周期較快,因而提供了較高的整個系統(tǒng)性能。
這些配置的每一個的關鍵是一快速存儲器用作一主存儲器并且其讀速度約等于或超過DRAM的讀取速度。有四個基本的方法可以實現(xiàn)它。第一種方法是提供一硬件控制器,此硬件控制器能夠對多于一個的常規(guī)異步快速主存儲器芯片交錯讀操作。
用于異步快速主存儲器的多芯片交錯圖3說明了一個快速存儲器子系統(tǒng),其中四個快速存儲器集成電路320(#1至#4)在一控制單元的控制下交錯以提供一成串讀能力。雖然圖3顯示了四個快速集成電路320,但是,可以理解的是,如果每個集成電路320的數(shù)據(jù)寬度不是所示的雙字,那么適當數(shù)量的快速集成電路320與此圖中的每個電路320同時提供,從而提供一雙字數(shù)據(jù)寬度。在這個例子中,所述控制器采用完全可編程門陣列(FPGA)310實現(xiàn)。在一替換的實施例中,采用交錯技術提供其交錯控制。
圖4說明了用于諸如圖3所示的快速存儲器電路320的典型異步快速存儲器的讀周期。從圖4中可以看到,此快速存儲器的那些數(shù)據(jù)線(Dout)在一讀周期的前后是三態(tài)的(在圖中表示為OPEN)。這意味著那些數(shù)據(jù)線已被置為高阻態(tài)。
圖4的讀周期開始于輸出使能(OE#)和芯片使能(CE#)信號的輸出從低電平(VL)到高電平(VH)的躍變。然后,如果一寫使能(WE#)信號還不是高電平,則其躍變到高電平以表示一讀操作和被讀的地址放在此快速芯片的地址引線(A0至A19)上。然后,存儲在此特定地址中的數(shù)據(jù)從此快速陣列內部被取出。此讀處理所需的時間數(shù)是一公知的常數(shù)。一旦此時間數(shù)已經(jīng)過去,則此OE#信號變?yōu)榈碗娖剑⑶覐拇颂囟ǖ刂纷x的數(shù)據(jù)被此快速芯片驅動而輸出到所述的那些數(shù)據(jù)線上(Dout)。當所述CE#和OE#信號再變?yōu)楦唠娖綍r,此讀周期結束(或許開始下一個讀周期)。
注意在圖4中,直到前一個讀周期已經(jīng)結束為止,一個新的讀地址不能指定。因此,單個標準的異步快速存儲器單元不能交錯以支持快的背對背(back to back)讀周期。在下一個讀周期能夠開始之前,必須等待第一個讀周期結束。
標準異步快速元件的總訪問時間(TACC)能夠分成兩部分。第一,有一時間用于地址譯碼和芯片使能,選擇此快速陣列中被讀的那些適當?shù)奈徊⑶胰缓笞x取它們存儲的數(shù)據(jù)(TACC-TOE)。第二,需要有一時間以通過輸出緩沖器驅動這些信息到數(shù)據(jù)總線上(TOE)。只要知道了用于數(shù)據(jù)成串讀的單個地址,也就知道了那些數(shù)據(jù)成串讀的地址的其余部分。因此,再參見圖3,交錯利用數(shù)據(jù)串的這種特性緩沖了跨越兩個或更多快速芯片的第一訪問時間(TACC-TOE)從而提供具有一改善的平均讀訪問時間的脈沖串。
考慮一個20MHz同步局部總線(即每個時鐘周期約為50ns)的情況。在其速度上,一個典型的微處理器將有2-1-1-1脈沖串的最大成串讀能力。這就意味著,當此微處理器讀一串數(shù)據(jù)時,此串數(shù)據(jù)將由四個雙字數(shù)據(jù)構成,它是相同高速緩存存儲界的每一部分。此外,一旦此微處理器指定此數(shù)據(jù)串的第一地址在兩個周期內(在本例中約為100ns)就將不能接收存儲在此地址中的內容。然后,在接下來的三個時鐘周期中,此微處理器將能夠接收所述高速緩存存儲界的第二、第三和第四地址的各自的內容。
如果每個快速存儲器芯片320有一個小于2個時鐘周期的(TACC-TOE)和一個小于40ns的(TOE),那么快速存儲器子系統(tǒng)300將能夠一與由此微處理器可達到的最大成串讀能力相匹配的成串讀。這是因為,F(xiàn)PGA310一接收被讀數(shù)據(jù)串的第一地址,它就將啟動所有的四個快速存儲器芯片320并且命令每一個芯片320和其它的芯片320一起讀此數(shù)據(jù)串的地址之一。在第一個兩周期后,存儲在此數(shù)據(jù)串的第一地址中的數(shù)據(jù)將可從快速存儲器芯片320#1中得到。然后,在其后面的每個順序的周期中,存儲在此數(shù)據(jù)串的后面地址中的數(shù)據(jù)可(從快速芯片320#2、然后是#3、最后是#4)得到。
這意味著在本例中,快速存儲器子系統(tǒng)300將能夠在五個時鐘周期期間(約250ns)提供四個雙字數(shù)據(jù)的一數(shù)據(jù)讀脈沖串,因而提供了約50ns的平均讀時間。如果不采用交錯(例如,如果僅使用一個快速存儲器芯片320),那么用于每個地址的讀時間將需要三個周期(即,兩個周期用于(TACC-TOE),一個周期用于(TOE))。并且每個讀操作將必須等待更早的讀操作的完成。采用上面所述的數(shù)據(jù),對于單個異步快速存儲器320的數(shù)據(jù)“串”的每個地址將需要150ns。因此,如果不使用交錯,那么可達到的最快的脈沖串速度將是需要600ns完成(4×150)的3-3-3-3脈沖串。
時鐘信號CLK協(xié)調快速存儲器子系統(tǒng)300的操作。在子系統(tǒng)300中,四個字節(jié)快速存儲器頁由存儲空間AX-AO的公共地址A21-A2選擇。較高位的地址(AX-A22)譯碼系統(tǒng)存儲分配圖中的4兆字節(jié)快速陣列。地址A1和A0和RD#(讀)信號輸入到FPGA310,使得FPGA310產(chǎn)生用于快速存儲元件320(#1-#3)的輸出啟動信號。因此,在一個實施例中,快速子系統(tǒng)300的系統(tǒng)地址和快速存儲器元件320的關系如下系統(tǒng)地址 元件 元件地址0 #1 01 #2 02 #3 03 #4 04 #1 15 #2 1等等…從存儲器子系統(tǒng)300中訪問的一個讀數(shù)據(jù)串序列將如下進行首先,處理器將發(fā)信號表示要從系統(tǒng)地址0讀數(shù)據(jù)。信號CE#將啟動快速存儲器320#1至#4并且信號ADDR將向它們提供地址0。FPGA310將譯碼系統(tǒng)地址位A1和A0,并且,由于它們都是零,因而將啟動用于快速元件320#1的OE#信號。由于這是對四個字節(jié)頁的第一次訪問,因此此訪問將需要150ns(即,三個50ns時鐘周期)。
第二,執(zhí)行順序代碼的處理器將從系統(tǒng)地址1讀。元件320#1至#4將保持允許狀態(tài),而輸入到它們中的地址(ADDR)將保持為零。然后,F(xiàn)PGA310將譯碼系統(tǒng)地址位A1和A0上的“01”,并且啟動用于元件320#2的OE#線。由于用于元件320#2的數(shù)據(jù)已經(jīng)被選擇和讀取,因此,用于元件320#2的訪問時間將僅有50ns的時延(即,一個時鐘周期)。
然后,同樣的50ns訪問將跟著分別用于系統(tǒng)地址2和3從元件#3和#4中讀取。
如果下一個數(shù)據(jù)串從地址4開始,則此處理器將在下一個周期中從系統(tǒng)地址4讀。這將使系統(tǒng)地址A2從零變到一,因而招致另一個用于對元件320#1的訪問的整整150ns時延。因為這是一個新的4字節(jié)頁,因此,從每個快速存儲器320中讀取新的數(shù)據(jù)。但是,再一次,后面的對系統(tǒng)地址5、6和7的每個訪問將僅僅需要50ns。
FPGA310譯碼較低的地址,并且相應地,在一交錯頁內產(chǎn)生OE#信號到快速存儲器器件320。先前的例子采用四字節(jié)頁,所以譯碼地址A1和A0。對于一個兩字節(jié)頁,僅僅需要檢測地址A0,而一個八字節(jié)頁將采用地址A2至A0。
FPGA310將檢測所有的較高地址位(在此例中即為AX至A22),為的是首先決定存儲器子系統(tǒng)300是否將被訪問,然后確定是否產(chǎn)生了對相同頁的訪問,并且相應地調節(jié)等待狀態(tài)返回到處理器(通過READY信號輸出)。此功能由圖3中的比較邏輯子塊340實現(xiàn)。
此外,F(xiàn)PGA310將區(qū)分對快速存儲器320的讀或寫,并且相應地調節(jié)等待狀態(tài)。圖5說明了用于由FPGA邏輯310實現(xiàn)的硬件交錯的狀態(tài)變遷示意圖。
狀態(tài)變遷示意圖500開始于初始狀態(tài)500,在初始狀態(tài)500中,F(xiàn)PGA正在等待對子系統(tǒng)300的一快速存儲器320的訪問。當FPGA檢測到對子系統(tǒng)300的快速存儲器320的一訪問開始時,在狀態(tài)520中產(chǎn)生一測試以確定是否象先前的訪問一樣是對相同的四字節(jié)頁的訪問,如果是象先前的訪問一樣對相同的四字節(jié)頁的訪問,那么,變遷524被引到狀態(tài)530并且產(chǎn)生一測試以確定此訪問是否為一讀操作。
如果在狀態(tài)530中確定此訪問是一個讀操作,那么,被讀的信息已是可得到的,并且產(chǎn)生一變遷從路徑534到達讀狀態(tài)560并執(zhí)行讀操作。在此讀操作執(zhí)行后,從讀狀態(tài)560產(chǎn)生一變遷而回到初始狀態(tài)510并且等待下一次訪問。
現(xiàn)在回到狀態(tài)530,如果在狀態(tài)530中確定此訪問不是一個讀操作,那么從路徑532變遷到等待狀態(tài)產(chǎn)生狀態(tài)550,并且在執(zhí)行一擦除(如果需要)和編程信息時執(zhí)行適當數(shù)量的等待狀態(tài)。
現(xiàn)在回到狀態(tài)520,如果在狀態(tài)520中確定此訪問不是對象前面的訪問一樣的相同的四字節(jié)頁的訪問,那么,從路徑522變遷到狀態(tài)540并且鎖存一新地址用于頁比較。然后,在狀態(tài)550,當訪問新的四字節(jié)頁的同時執(zhí)行一適當數(shù)量的等待狀態(tài)。
注意,此快速存儲器的寫操作不能象其讀操作那樣具有交錯的優(yōu)點,這是因為沒有用于寫操作的等同的TACC或TOE。雖然存儲器子系統(tǒng)300支持背對背讀脈沖串并且減小用于順序訪問的平均讀訪問時間,但是,它增加了用于訪問常規(guī)異步快速存儲器芯片所需的整個系統(tǒng)硬件的復雜性。
但是,如前所述,一個寫高速緩存或軟件交錯技術能夠用于使程序最大化和存儲器子系統(tǒng)300的擦除性能。此外,在一可ROM化的程序從快速存儲器子系統(tǒng)300中執(zhí)行的情況下,在此程序的執(zhí)行期間將沒有任何到此快速存儲器的寫操作。在這樣的情況下,快速存儲器的較慢的寫性能將僅僅在偶爾安裝此程序的新的可ROM化版本時是一個因素。
用于快速主存儲器的同步快速接口(SFI)除了需要FPGA310的附加系統(tǒng)復雜性外,一個諸如子系統(tǒng)300的存儲器子系統(tǒng)將必須至少有兩個快速存儲器芯片320以便在其間交錯(在圖3的例子中有四個)。此外,如果附加的快速存儲器芯片被加到子系統(tǒng)300,它們也必須(至少)成對地加上去。而且,加到子系統(tǒng)300的每個快速存儲器芯片同時啟動,并且因此子系統(tǒng)300消耗大量的電能。另一方面,整個同步快速接口能夠合并到單個快速存儲器芯片上。
圖6說明了一個同步快速接口(SF1)快速存儲器集成電路600的方框圖,此集成電路600含有在單個快速存儲器芯片中的整個同步快速接口。此同步快速接口提供一種裝置,此裝置將從一控制器中出現(xiàn)的同步周期轉換到此快速核心能夠理解的異步協(xié)議。此器件從內部分成兩個存儲體并且其最低有效地址用于區(qū)分這兩個存儲體。簡單地說,此器件在內部交錯。用戶能夠管理用于所述交替存儲體的背對背周期,并且,在初始時延等于一異步快速訪問時間后,數(shù)據(jù)將以一約等于此異步快速訪問時間的一半的速率輸出到其輸出總線上。因此,采用這種接口的所述器件建立了一個明顯小于異步快速器件訪問時間的用于順序讀訪問的平均訪問時間。
一時鐘輸入是所述接口的一部分,一地址鎖存允許引線用于指示一有效地址提供在地址總線上。此器件的所有外部操作同步到此時鐘的上升沿。ALE#信號在此時鐘的上升沿被采樣,并且,如果其被有效地采樣,那么提供在地址總線上的地址就被鎖存到此部分并且一訪問開始。用戶能夠每時鐘周期交替地選通地址至所述器件。在一個初始延遲后,與這些地址相對應的數(shù)據(jù)與此時鐘的上升沿同步地輸出到數(shù)據(jù)總線上。用戶能夠使此器件以高如33MHz的頻率循環(huán),并能夠期待在其間沒有任何等待地執(zhí)行背對背脈沖串周期。還有,本設計的另一方面是可編程的等待時間,它使用戶能夠在地址選通和有效數(shù)據(jù)之間定義時鐘周期等待時間。
在圖6中,SFI600的快速陣列分成兩個存儲體,快速存儲體A610和快速存儲體B620。模式寄存器680能夠設置成SFI允許模式和SFI禁止模式。因此,當模式寄存器680被設置時,信號交錯允許信號(IE)啟動交錯控制邏輯和地址變遷檢測(ATD)邏輯570、晶體管-晶體管邏輯(TTL)級672、存儲體選擇邏輯674和總線邏輯640。當SFI被允許時,交錯控制670和存儲體選擇邏輯674操作以便在快速存儲體A610和快速存儲體B620之間以一種方法交錯讀(和寫)操作,此種方法類似于圖3的子存儲器系統(tǒng)300中FPGA310交錯訪問快速芯片320的方法。因此,當模式寄存器680已經(jīng)設置到SFI模式時,單個SFI快速芯片600能夠支持背對背讀脈沖串。
在SFI模式中,一被訪問的地址在地址總線A19至A0上和一時鐘脈沖(CLK)、一地址鎖存允許信號(ALE#)一起提供給TTL級672。輸出允許和寫允許信號也提供給TTL級672。然后,地址A19至A1從TTL級672提供到存儲體A地址鎖存器630和存儲體B地址鎖存器632。信號CLK、ALE#和A0提供給交錯控制邏輯和ATD邏輯670。
根據(jù)低位地址(A0),交錯控制邏輯670分別采用信號地址鎖存允許A(ALEA)和地址鎖存允許B(ALEB)控制存儲體A地址鎖存器630和存儲體B地址鎖存器632。因此,交錯控制邏輯670控制剩下的較高位的地址以訪問快速存儲體A510或快速存儲體B520。信號地址變遷檢測A(ATDA)和地址變址檢測B(ATDB)從交錯控制邏輯和地址變遷檢測邏輯670中輸出,以分別準備快速陣列存儲體A610和B620被讀取。
當存儲體A610被讀時,數(shù)據(jù)多路復用器(MUX)650從快速存儲體A610的讀放大器中接收輸入信號S/AOUTA。當存儲體B620被讀時,數(shù)據(jù)多路復用器MUX650也從快速存儲體B的讀放大器中接收輸入信號S/AOUTB。存儲體選擇邏輯674接入作為輸入的信號CLK、ALE#和A0并提供輸出信號存儲體選擇(BS)。信號BS用于控制數(shù)據(jù)MUX650,使得它交錯對存儲體A610和B620的數(shù)據(jù)讀操作并且控制數(shù)據(jù)進入輸出緩沖器660。然后輸出緩沖器660驅動讀出的數(shù)據(jù)到SFI快速芯片600的數(shù)據(jù)輸入/輸出(I/O)緩沖器690上。
因此,當SFI快速600處于SFI模式時如果執(zhí)行一讀訪問,那么,在執(zhí)行前面的訪問的同時能夠開始對下一個地址的訪問。如果被讀的下一個地址不屬于當前正在被讀的存儲體,那么在前面的訪問的輸出正在被鎖存到輸出緩沖器660中和正在被驅動到數(shù)據(jù)I/O緩沖器690上的同時,下一個地址能夠控制相應的存儲體(A610或B620)。還有,本設計的另一方面是可編程的等待時間,它使用戶能夠在地址選擇和在數(shù)據(jù)I/O緩沖器690中提供的有效數(shù)據(jù)之間定義時鐘周期等待時間。
另一方面,多于兩個的存儲體能夠用于SFI芯片600,此芯片600提供有用于選擇適當存儲體的適當數(shù)量的地址位。因此,如果四個存儲體被交錯,那么兩個地址位將被用于在這些存儲體中選擇。
圖7是一個時序圖,說明了用于圖6的SFI快速600的一個持續(xù)讀脈沖串周期。在圖7中,同步時鐘信號CLK操作在33MHz,因此信號CLK的每個脈沖(T1至T8)長度為30ns。當被讀的第一地址(ADDR0)送到地址引線上并且地址鎖存啟動信號ALE#變?yōu)榈鸵员硎颈蛔x的一有效地址已準備好時,讀脈沖串開始于時鐘脈沖T1的上升沿。注意,地址ADDR0的低位A0在時鐘脈沖T1的上升沿為低。因此,地址ADDR0屬于存儲體A并且存儲體A將被讀以取出存儲在地址ADDR0中的數(shù)據(jù)。
當被讀的第二地址(ADDR1)送到地址引線上時,所述讀脈沖串在時鐘脈沖T2的上升沿繼續(xù)進行。在一個實施例中,地址鎖存啟動信號ALE#變?yōu)楦?,然后變?yōu)榈鸵员硎颈蛔x的有效地址準備好??商鎿Q的是,地址鎖存啟動信號ALE#簡單地保持低以表示被讀的另一個有效地址準備好。注意在時鐘脈沖T2的上升沿,地址ADDR1的低位A0為高。因此,地址ADDR1屬于存儲體B并且存儲體B將被讀以取出存儲在地址ADDR1中的數(shù)據(jù),由于地址ADDR0和ADDR1屬于不同的快速存儲體,因此兩個地址單元能夠同時讀取。
當被讀的第三地址(ADDR2)送到地址引線上并且地址鎖存啟動信號ALE#保持低以表示被讀的另一個有效地址已準備好時,所述讀脈沖串在時鐘脈沖T3的上升沿繼續(xù)進行。注意在T3期間,從存儲體A的ADDR0的讀操作(開始于T1期間)結束。因此,在T3期間,存儲體選擇信號BS變?yōu)榈鸵钥刂茝腁DDR0讀取的數(shù)據(jù)送到所述輸出緩沖器中被鎖存。然后在脈沖T4開始時,ADDR0的數(shù)據(jù)被驅動輸出到SFI芯片的數(shù)據(jù)I/O緩沖器中。
同時,由于地址ADDR2的低位A0在時鐘脈沖73的上升沿為低,因此,地址ADDR2屬于存儲體A并且存儲體A將被讀以取出存儲在地址ADDR2中的數(shù)據(jù)。存儲體A的地址ADDR0的輸出已經(jīng)鎖存到所述輸出緩沖器中,所以可以開始讀存儲體A的ADDR2。此外,由于ADDR2和ADDR1屬于不同的存儲體。因而能夠同時讀取這兩個地址單元。
當新地址在每個時鐘周期被輸入以及此地址的數(shù)據(jù)在兩個脈沖后被輸出時,這種成串讀能夠無限地繼續(xù)下去(或者至少到SFI快速芯片600的地址空間耗盡為止)。
再參見圖6,為了讓SFI芯片600真正地和與其通信的高速同步總線匹配,總線邏輯塊640接收并提供用于SFI600的總線專用信號。因此,例如,此特定的高速同步總線需要在每個寫操作接收一奇偶校驗位并且然后送回以作為一個信號交換。在一個實施例中,接口邏輯600將在寫操作期間鎖存和檢測寫入快速存儲器600的所有位,并且在其寫后的“信號交換”過程中提供這些奇偶校驗數(shù)據(jù)。另一方面,通過在對快速存儲器600的寫嘗試期間檢測數(shù)據(jù),接口邏輯640能夠采用由所述高速同步總線使用的相同奇偶校驗算法以產(chǎn)生用于所述寫后的“信號交換”所需的奇偶校驗信息。
此外,所述總線協(xié)議也可是這樣,即當數(shù)據(jù)被讀時所述奇偶校驗位需要從SFI600發(fā)送。由于快速存儲器不需要此奇偶校驗位和數(shù)據(jù)一起存儲。因此,當讀數(shù)據(jù)時,總線邏輯640將采用由所述高速同步總線使用的相同奇偶校驗算法以產(chǎn)生所需的奇偶校驗位。這樣,在快速存儲器600的讀操作期間,邏輯640將從快速存儲器600的輸出取得奇偶校驗位以用于傳送到所述高速同步總線。因此,通過在對快速存儲器600的寫嘗試期間和對快速存儲器600的讀嘗試期間檢測數(shù)據(jù),接口邏輯640將產(chǎn)生所需的奇偶校驗信息。
當模式寄存器680沒有設置到表示SFI模式時,交錯控制670的同步存儲體交錯控制功能無效并且SFI快速芯片600將用作標準異步快速存儲器芯片。在這樣的情況下,象送到總線邏輯640的總線專門輸入信號一樣,所述的CLK和ALE#信號也將被忽略。而信號CE#和OE#被用于訪問采用圖4中所述類型的異步讀信號的SFI快速600。
在一個實施例中,采用相聯(lián)存儲器實現(xiàn)模式寄存器680。另一方面,在另一個實施例中,沒有模式寄存器680,芯片600的SFI功能不能被禁止,而且SFI芯片600將不能用作一標準異步快速存儲器。
在一個實施例中,所述SFI快速存儲器600的每個字/字節(jié)的讀操作需要一個地址。而另一方面,一些數(shù)據(jù)串處理總線通過提供一開始地址,然后重復地發(fā)讀信號而不提供附加的地址信息來開始多個讀數(shù)據(jù)串訪問。另一方面,為了適應這些處理器,SFI快速芯片600將鎖存數(shù)據(jù)串的開始地址,并且將利用片內計數(shù)器來產(chǎn)生整個數(shù)據(jù)串讀序列的順序地址。在這樣的情況下,SFI芯片600將包含一個全地址鎖存器和一個與SFI快速存儲器陣列600的可尋址空間匹配的多位計數(shù)器。在提供所述的開始地址后,此計數(shù)器邏輯將自動增量(根據(jù)此總線為線性或非線性序列)并且將地址送到所述SFI快速存儲體。這就允許在最高系統(tǒng)性能中具有長度不確定的多個數(shù)據(jù)串訪問。
圖8說明了一個采用交錯通用SFI芯片方法的計算機系統(tǒng)800。在圖8中,SFI快速芯片860有一個通用同步快速存儲器接口。粘合邏輯(Glue logic)830是一個位于微處理器810和SFI快速芯片860之間的分離的集成電路芯片,它用于提供SFI芯片860至高速同步總線820的對接所需的電路。
圖8的方法的一個好處是在SFI快速芯片860中提供一通用接口870可以允許存儲體A880和B890的成串讀操作。因此,為了執(zhí)行交錯,不需要成對的異步快速芯片,而是能夠以單個芯片為單位擴展快速主存儲器子系統(tǒng)。同時,當與圖3中的FPGA310比較時,由于粘合邏輯830不必包括需要用于任意SFI芯片860的通用同步接口控制邏輯870,因此SFI粘合邏輯830的設計更簡單。
此外,由于總線專用控制邏輯850是在粘合邏輯830而不是在SFI芯片860中實現(xiàn),因此,單個SFI芯片860能夠用于與許多不同的同步總線對接。
此方法的另一附加的好處是,當與標準異步快速芯片比較時,SFI芯片860僅需要有兩個附加針(即CLK和ALE#)。需要用于同步總線820的任意其它信號由粘合邏輯830以一種對SFI芯片860透明的方式提供。典型地,一快速芯片安裝在諸如薄而小的外形封裝(TSOP)的小型封裝中,由于小的封裝尺寸,一標準異步快速芯片將幾乎采用了所述封裝的所有可用的針。當提供一通用同步快速接口時,即使在將SFI快速芯片860安裝到小型封裝中所施加的限制下,所需的所述兩個附加的針也是可得到的。
注意所述粘合邏輯830包括數(shù)據(jù)串邏輯840。這是因為,如前所述,不同的微處理器810采用不同的數(shù)據(jù)串定序序列。
一個通用序列是線性尋址序列。在此線性尋址序列中,一個數(shù)據(jù)串從其開始地址順序增加。典型地,在這種序列中,所述數(shù)據(jù)串將在所述高速緩存存儲界上從最低地址開始被讀取并且將通過所述高速緩存存儲界的地址而增加。
另外的數(shù)據(jù)串序列是非線性尋址序列。在這種序列中,此數(shù)據(jù)串讀操作不必從一高速緩存存儲界的最低地址開始,如果此數(shù)據(jù)串正從此高速緩存存儲界的最低地址開始,那么此非線性尋址序列表現(xiàn)得與所述線性序列一樣。另一方面,如果此數(shù)據(jù)串在此高速緩沖線的一地址而不是最低地址上開始,那么此數(shù)據(jù)串的其后地址將以一種方法產(chǎn)生,這種方法就是保證此高速緩存存儲界的每個地址將被訪問并且它們將以一種在奇和偶地址存儲體之間交錯的方法被訪問。
數(shù)據(jù)串邏輯840取一個數(shù)據(jù)串的第一數(shù)據(jù)地址,并且根據(jù)微處理器810所需的無論什么樣的尋址序列而產(chǎn)生此數(shù)據(jù)串的剩余地址。
注意,由于線性和非線性數(shù)據(jù)串序列都在奇和偶存儲體之間交錯,因此SFI芯片860將在存儲體之間交錯而與數(shù)據(jù)串邏輯840產(chǎn)生的序列(線性或非線性)無關。
用于快速主存儲器的異步主存儲器接口(AMMI)同步快速接口(SFI)支持背對背數(shù)據(jù)串,因而允許快速存儲器用作主存儲器。但是,可能有這樣的場合,其系統(tǒng)限制阻止了到高速同步總線的同步快速接口的使用。一種這樣的情況是其中已經(jīng)有一些元件耦合到所述高速同步總線上。在這樣的一種情況中,SFI芯片(或者其粘合邏輯控制器芯片)的附加耦合將增加此高速同步總線的容性負載而到達其不能再支持所需性能級的地步。另一個這樣的情況是其中的SFI芯片需要一個粘合邏輯控制器芯片和當系統(tǒng)設計禁止此芯片的附加費用時施加的費用限制。
此外,許多可攜帶的系統(tǒng)沒有局部總線(即沒有高速同步總線)。典型地,在這些系統(tǒng)中,CPU和外圍設備控制器一起集成到一個微處理器芯片上。在這樣的系統(tǒng)中,系統(tǒng)中只有一異步主存儲器總線和一相對低的擴展總線可用。
與現(xiàn)存的一樣的異步快速存儲器必須在其系統(tǒng)內部通過一定制的控制器對接到所述擴展總線。此擴展總線上的總線周期一般較慢。因此,由于每個擴展周期一般長于一快速存儲器的異步訪問時間,因此,當與所述擴展總線對接時,此同步快速接口不能提供實際上的好處。
在任何計算機系統(tǒng)中,異步主存儲器接口(AMMI)允許快速存儲器對接到所述異步高快主存儲器總線。實際上,此AMMI允許快速存儲器芯片仿真異步DRAM芯片。除了提供低成本、低功率的快速主存儲器外,通過允許非易失性快速存儲器代替易失性DRAM用作主存儲器,此AMMI還消除了將程序或數(shù)據(jù)從硬盤傳送到DRAM的需的時間。因此,正如SFI的情況一樣,當與易失性主存儲器比較時,CPU能夠直接在快速主存儲器外執(zhí)行程序而沒有任何性能上的降低。
由于所述AMMI允許一快速芯片仿真DRAM芯片,此AMMI消除了對定制控制器的需求。這樣就為一個系統(tǒng)中存在的DRAM控制器提供了一個非粘合接口并且因而減小了成本和局部總線的負載。
此AMMI改進了系統(tǒng)性能并且在可攜帶的計算機系統(tǒng)中提供了硬盤的代替物。在系統(tǒng)結構只有最小的改變的情況下,它還提供了快速存儲外的較快的執(zhí)行。而且,不需要任何附加外設邏輯就能增加系統(tǒng)的性能。
圖9說明了具有一異步主存儲器接口的快速存儲器芯片的一個實施例的方框圖。在圖9所示的實施例中,快速芯片900能夠象一標準異步快速存儲器芯片一樣操作或者能夠仿真一DRAM。其所采用的特定的尋址模式由模式寄存器910是否已被設置來確定。因此,如果模式寄存器910已經(jīng)設置成表示需要異步主存儲器接口,那么AMMI快速芯片900將仿真一DRAM芯片。另一方面,如果模式寄存器910沒有設置成表示需要異步主存儲器接口,那么AMMI快速芯片將不仿真一DRAM芯片。在后一種情況中,AMMI芯片900的DRAM仿真電路將是無效的,并且AMMI快速芯片900將象一標準異步快速存儲器芯片一樣操作。在一個實施例中,模式寄存器910采用內容可尋址存儲器實現(xiàn)。
圖10說明了當一AMMI快速芯片900仿真-DRAM時的一個讀周期。由于此AMMI快速芯片900正在仿真一DRAM芯片,因此圖10也說明了一典型的DRAM芯片的一個讀周期。
此異步主存儲器接口提供了一種裝置,此裝置翻譯DRAM周期并將這些周期轉換成能夠用于訪問一快速存儲器陣列的協(xié)議。為了減少一典型的DRAM器件的引線數(shù),一個DRAM多路復用十位行地址和十位列地址,而不是象快速存儲器那樣采用單一的20位地址。通過提供在現(xiàn)有技術的異步快速器件中沒有出現(xiàn)的兩個附加引線來實現(xiàn)一DRAM的地址信號多路復用。
因此,在一個DRAM中,一個行地址選通(RAS#)引線和一個列地址選通(CAS#)引線分別用于控制行和列地址的選通和鎖存。一般地,這些地址在選通脈沖的下降沿鎖存并且用于訪問所述DRAM陣列中的特定位。由于AMMI快速存儲器芯片900能夠仿真DRAM芯片,因此AMMI快速芯片900具有分別用于接收行和列地址選通信號的行和列地址引線。
有些DRAM器件采用不是十位的行和列地址。例如,一個DRAM器件的行和列地址可以僅需要八位。整個下面的討論將采用十位行和列地址。但是,可以理解的是,采用其它大小的行和列地址也能實現(xiàn)AMMI快速900。
從圖10中可以看到,一仿真DRAM的AMMI快速芯片900的讀周期從RAS#和CAS#信號均為高以及多位數(shù)據(jù)輸出信號(DOUT)為不定(三態(tài))時開始。然后,十位行地址送到快速芯片900的地址引線A0至A9上,并且RAS#信號變?yōu)榈鸵员硎疽挥行У刂芬堰x通到所述的AMMI快速芯片中。(注意,在八位行地址的情況下,此八位行地址應送到快速芯片的地址引線A0至A7上)。
在行地址已被選擇到AMMI快速芯片900中后,在一預定的時期內此RAS#信號繼續(xù)保持低。在一個標準DRAM中,此RAS#在下一個讀周期之前的讀周期結束時保持高以便預充電。當然,由于快速存儲器不是以DRAM的基于電容的存儲技術為基礎,因此,快速陣列不需要一DRAM所需的長預充電時間。另一方面,由于AMMI快速900正仿真DRAM,因此它必須象一DRAM一樣起作用。
一旦所述行地址已經(jīng)鎖存在AMMI快速芯片900中,WRITE#信號從低到高的翻轉就表示一讀操作。然后,十位列地址在AMMI快速芯片900的地址引線A0至A9上被認定。接下來,CAS#信號被認定并且列地址被鎖存在AMMI快速芯片900中。然后,十位行地址和十位列地址在AMMI快速芯片900中合并以形成一個二十位地址,此二十位地址用于指定在快速陣列中被讀的存儲單元。一旦被讀,此二十位地址單元中的內容就被驅動到AMMI快速芯片900的數(shù)據(jù)引線上以作為多位信號數(shù)據(jù)輸出(data out)(DOUT)。然后,在CAS#變?yōu)楦吆?,此多位信號?shù)據(jù)輸出(DOUT)又變?yōu)槿龖B(tài)。
同時,在行地址已經(jīng)被選通到AMMI快速芯片900中并且RAS#已經(jīng)為了產(chǎn)生行預充電而足夠長時間地保持低后(如果一DRAM正在被訪問),RAS#信號翻轉回到高。在列地址已經(jīng)被選通到AMMI快速芯片900中后,CAS#信號也翻轉回到高。
再參見圖9,存儲在模式寄存器910中的模式值提供給控制邏輯920??刂七壿?20的一個輸出是一個地址多路復用器選擇(AMS)信號。信號AMS控制地址多路復用器(MUX)930。接下來,地址多路復用器930控制在AMMI快速900的地址引線A0至A9上認定的十位地址到地址鎖存器940的適當部分中。
地址鎖存器940分成高十位部分942和低十位部分944,用于分別存儲快速地址950的十位高位和低位地址。被分離的地址950是一個用于尋址快速陣列960的二十位地址??刂七壿?20的另一個輸出是一個多位地址鎖存控制(ALC)信號,此信號控制在地址鎖存器940的高部分942和低部分944中的地址鎖存。
存儲在模式控制器910中的模式值還提供給控制旁通多路復用器(MUX)955。當快速芯片900正操作為一個標準異步快速芯片時,到旁通多路復用器955的輸入是來自地址鎖存器940的被分離的地址950和在快速芯片900的地址引線A0至A19上認定的二十位外部快速地址。從旁通多路復用器900的輸出是提供給快速陣列960的快速地址957。
因此,當AMMI快速芯片900正操作為一個標準異步快速芯片時,一個二十位快速地址將在快速芯片900的地址引線A0至A19上認定。來自模式寄存器910的信號915將設置旁通多路復用器955,以便控制在快速芯片900的地址引線A0至A19上認定的二十位快速地址作為快速地址957送到快速陣列960。
另一方面,當AMMI芯片900正在仿真一DRAM芯片時,快速芯片900的地址引線A0至A9將被多路復用。首先,十位行地址將放到快速芯片900的地址引線A0至A9上并且RAS#信號將指示此行地址已準備好被選通到此快速芯片中。然后,十位列地址放到快速芯片900的地址引線A0至A9上并且CAS#信號將指示此列地址已準備好被選通到此快速芯片中。
注意,在所述DRAM仿真模式中,沒有地址信號將被放到此快速芯片的地址引線A10至A19上。因此,當所述行地址被選通到AMMI快速器件900中時,控制邏輯920將設置地址多路復用器920以控制在快速芯片的地址引線A0至A9上認定的十位行地址到地址鎖存器940的低部分944中。然后,信號ALC將使在快速芯片900的地址引線A0至A9上認定的十位行地址被地址鎖存器940的低部分944鎖存。
然后,當CAS#信號指明所述列地址被選通到AMMI快速器件900中時,控制邏輯920將設置地址多路復用器920以控制在快速芯片的地址引線A0至A9上認定的十位列地址到地址鎖存器940的高部分942中。然后,信號ALC將使在快速芯片的地址引線A0至A9上認定的十位列地址被地址鎖存器940的高部分鎖存。這樣,十位行地址將在AMMI快速存儲器900的內部與十位列地址合并,以便形成存儲在鎖存器940中的并且能夠用于尋址快速陣列960的二十位被分離的快速地址950。來自模式寄存器910的信號915將設置旁通多路復用器955,以便控制存儲在地址鎖存器940中的所述二十位被分離的快速地址作為快速地址957送到快速陣列960。
不管AMMI芯片900是否操作為一標準快速芯片或正模擬一DRAM芯片,一旦整個二十位快速地址950已被提供到快速陣列960,存儲在快速陣列960的地址950中的內容就被從快速陣列960中取出并且通過總線970送到數(shù)據(jù)鎖存器980。來自控制邏輯920的數(shù)據(jù)鎖存控制(DLC)信號控制數(shù)據(jù)鎖存器980。在適當?shù)臅r刻,數(shù)據(jù)鎖存器980驅動已經(jīng)從快速陣列960讀出的數(shù)據(jù)到數(shù)據(jù)總線990(和AMMI快速900的數(shù)據(jù)引線)上。然后,在讀周期結束時,控制邏輯920使數(shù)據(jù)鎖存器980變?yōu)槿龖B(tài)。諸如快速頁模式等的其它DRAM讀訪問被同樣地處理。
在一個替換實施例中,AMMI快速芯片900是一個專用的DRAM仿真器件并且不能用作標準快速芯片。在此替換實施例中,不需要快速芯片的模式寄存器910和地址引線A10至A19。此實施例啟動到AMMI芯片900的一個較低針計數(shù)接口,并且此實施例對限制空間的設計情況特別有吸引力。
另外,控制邏輯920包含用于當快速芯片900仿真DRAM時,翻譯此快速芯片900不需要的DRAM周期的邏輯。如上所述,與DRAM不同,快速存儲器不需具備DRAM通常都需要的擴充預充電或各種刷新周期。圖11說明了仿真一DRAM的AMMI快速芯片的一個典型的刷新周期。由于仿真DRAM的一AMMI快速芯片將象一DRAM芯片一樣工作,因此,圖11說明了一個典型的用于DRAM的刷新周期。
注意,圖11的刷新周期象圖10的讀周期一樣開始。因此,在此刷新周期開始時,列地址選通信號(CAS#)變?yōu)楦?,并且當行地址選通信號(RAS#)變?yōu)榈蜁r一個行地址送到AMMI快速芯片900的地址引線A0至A19上。
但是,與圖10的讀周期不同,在圖11的刷新周期期間,在(被刷新行的)行地址已經(jīng)選通到AMMI快速存儲器芯片900中以后,沒有列地址被選通到此快速芯片中。而RAS#信號在一足夠長的時期內保持低,以便允許指定的行被刷新(如果一DRAM被刷新),并且在整個這個時期內CAS#信號保持高。在刷新周期期間,AMMI快速芯片900的數(shù)據(jù)引線保持不定態(tài)(三態(tài))。
再參照圖9,當在DRAM仿真模式中時,控制邏輯920將識別一刷新周期式樣并且在整個刷新周期保持數(shù)據(jù)鎖存器為三態(tài)。另外的標準刷新周期(例如CAS在RAS之前(CBR)刷新。自刷新和隱式刷新周期)在現(xiàn)有技術中是公知的,并且有相同的處理。照這樣,就實現(xiàn)了從AMMI快速芯片900至DRAM控制器的一個非粘合接口。
另一方面,通過采用一DRAM控制器控制對AMMI快速芯片900的訪問,在保持DRAM仿真的好處的同時消除了與DRAM仿真有關的某些效率低的東西,其中的DRAM控制器已經(jīng)被修改,以便對如下情況補償,即被控制的某些-如果不是全部-“DRAM”實際上作為仿真DRAM的AMMI快速芯片900。在這樣的情況下,將保持AMMI快速芯片900的行和列地址的多路復用。但是,DRAM控制器將被修改,使得DRAM控制器將不強迫AMMI快速芯片900等待一個長的(和不需要的)行預充電期直到結束。此DRAM控制器將還被修改以消除AMMI快速存儲器900的刷新周期。這種方法的DRAM控制器將不強迫AMMI快速芯片900在長的(和不需要的)刷新周期期間不被占用。因此,就一可編程DRAM控制器來說,此DRAM控制器能夠被編程以產(chǎn)生最優(yōu)化的訪問AMMI快速芯片的DRAM控制信號。美國專利No.4,785,428描述了一個適當?shù)目删幊藾RAM控制器的例子,其名稱為Programmable Memory Array Control Signals,作者為Bajwa等,公開于1988年11月15日。
即使當被控制的每種DRAM類型相互之間具有不同的時序周期,某些可編程DRAM控制器也允許由相同的控制器同時控制多于一種類型的控制器。這由提供多于一個的DRAM存儲體以及允許此控制器具有用于每個存儲體的被編程的不同訪問周期時序來實現(xiàn)。然后將DRAM分組,使得在特定的存儲體中的所有DRAM為同樣的類型。
因此,在一個實施例中,一可編程控制器能夠逐個存儲體地編程,AMMI快速存儲器900位于一個存儲體內,而標準DRAM位于另一個存儲體內。然后,此可編程DRAM控制器能夠編程以便采用標準DRAM時序周期控制在所述DRAM存儲體中的DRAM。此可編程控制器還能夠編程以便控制正在以一種方法仿真DRAM的AMMI快速存儲器900的存儲體,其中的方法已經(jīng)優(yōu)化以滿足AMMI快速存儲器900的需求。
另一方面,不采用一可編程控制器,能夠提供一種專用的不可編程DRAM控制器,此控制器已經(jīng)為了對AMMI快速存儲器900的訪問而優(yōu)化。此專用不可編程控制器能夠專門控制AMMI快速存儲器900,或者也能夠控制一個或多個常規(guī)DRAM存儲體。
在另外一個替換實施例中,已被設計對接到高速同步總線(即局部總線)的一個DRAM控制器能夠用于控制對AMMI快速存儲器900的訪問。
仿真DRAM的一AMMI快速芯片900的編程以一種類似于寫DRAM的方式執(zhí)行。與一讀操作的情況一樣,控制邏輯920翻譯快速芯片的控制針上的命令并且根據(jù)異步主存儲器快速器件900所需的協(xié)議發(fā)送它們。
由于編程(和擦除)快速存儲器需要比寫DRAM更長的時間,因此,與那么較早提及的類似的方法能夠用于將編程AMMI快速器件900所需時間的影響最小化。例如,不論何時需要寫AMMI快速芯片900時,快速文件系統(tǒng)軟件能夠插入等待狀態(tài)。通過采用AMMI快速器件900存儲不頻繁改變的數(shù)據(jù)和可ROM化的程序,并且通過將能夠快速寫的存儲器技術補充到AMMI快速存儲器900中,對AMMI快速存儲器900的寫的數(shù)量能夠顯著地減小。另一方面,可以提供一個寫高速緩存以存儲編程到AMMI快速芯片900中的信息。否則,AMMI快速存儲器900的編程能夠在空閑時期的情況下執(zhí)行。
圖12說明了采用一個或多個AMMI快速存儲器芯片建立一與DRAM兼容的SIMM的方法。這種方法允許AMMI SIMM1200包含一個直接插入準備用于DRAM的一個SIMM插座中的AMMI快速存儲器芯片。因此,一標準DRAM控制器能夠控制AMMI SIMM1200。在不需要改變系統(tǒng)硬件的情況下,此AMMI SIMM使系統(tǒng)能夠訪問數(shù)據(jù)并且直接執(zhí)行存儲在快速存儲器900中的代碼,就好象這些代碼存儲在DRAM中。
圖12說明了與單個AMMI快速芯片900在一起的一AMMISIMM1200。在一替換實施例中AMMI SIMM1200和兩個或多個AMMI快速存儲器芯片900在一起。
AMMI快速芯片900的一個優(yōu)點是,如果在系統(tǒng)中有一個DRAM控制器,那么,對AMMI快速存儲器芯片900的硬件接口將由于AMMI芯片仿真DRAM的能力而明顯地簡化。AMMI SIMM 1200還簡化了快速主存儲器增加到一計算機系統(tǒng)中。這是因為,AMMI SIMM 1200允許一DRAM控制器不僅對接到單獨的快速存儲器元件,而且對接到含有一個或多個AMMI快速器件900的工業(yè)標準SIMM??焖俅鎯ζ骷嫒菪运璧乃懈郊与娐分苯影贏MMI SIMM 1200中。
當與相同密度的DRAM芯片比較時,AMMI快速存儲器芯片900可以有幾個額外的針。例如,AMMI快速芯片900可以有一個RY/BY#輸出針,以便指示此芯片何時準備好被訪問和何時由于忙而不能被訪問(例如,當此快速陣列正在編程或當一快速塊正在擦除時)。因此,在SIMM1200上的AMMI快速芯片900的RY/BY#輸出針不是簡單地連接(即“懸空”)。代替采用RY/BY#針以確定AMMI快速芯片900何時準備好或忙。系統(tǒng)軟件采用在芯片900中的探詢元件狀態(tài)寄存器以確定此芯片的編程/擦除狀態(tài)。
當在仿真DRAM時,AMMI快速芯片900將在行和列地址選通到芯片900中時,將其多路復用到地址引線A0至A9上。因此,當AMMI快速芯片900是AMMI SIMM 1100的一部分時,它將不使用地址引線A10至A19。這樣,當AMMI快速芯片900和AMMI SIMM 1200在一起時,其地址引線A10至A19將不連接。
RAS#和CAS#都直接提供到AMMI快速芯片900。它們也和DRAM WRITE#信號一起提供到讀/寫邏輯1210。WRITE#信號表示一個讀操作或一個寫操作是否執(zhí)行。AMMI SIMM 1200的邏輯1210將提供給AMMI SIMM 1200的RAS#、CAS#和WRITE#信號翻譯成用于AMMI快速芯片900的適當?shù)耐捷敵鲈试S(OE#)和寫允許(WE#)信號。
雖然不是所有的快速存儲器芯片都需要外部的編程電壓(VPP),但是,在圖12的實施例中,AMMI快速芯片900需要一外部VPP(例如12伏)。VPP不作為標準SIMM接口的一部分提供給SIMM。但是,系統(tǒng)操作電壓VCC(例如3.3或5伏)卻作為標準SIMM接口的一部分提供給SIMM。因此,在圖12中的實施例中,作為AMMI SIMM1200的一部分提供的VPP轉換器1220獲取系統(tǒng)操作電壓VCC并將其轉換到用于AMMI快速芯片900的VPP。適當?shù)腣PP電壓轉換器1220在現(xiàn)有技術中是公知的并已用于商業(yè)中。這些電壓轉換器1220一般起DC-DC轉換器或電壓泵的作用。
快速芯片900的WP#輸入連接到快速存儲器VCC輸入。VCC也直接提供到AMMI芯片900。
最后,AMMI快速存儲器900的PWD#輸入耦合到SIMM內的編程電壓監(jiān)控器件1230,此監(jiān)控器件1230諸如由Maxim IntegratedProducts,Sunnyvale,California制造的Maxin MAX 705。除非電源電壓在容許的范圍之內,VPP監(jiān)控器電路1230將使AMMI快速存儲器900保持在深度省電模式,因而防止AMMI快速存儲器900的無意識的寫或擦除操作。
這種方法允許含有AMMI快速存儲器900的AMMI SIMM 1200采用不屬于標準SIMM接口的一部分的VPP編程/擦除電壓,并且還直接插入準備用于DRAM的插座中。當然,在一個替換的實施例中,其中AMMI快速存儲器芯片900不需要所述外部電源VPP,AMMISIMM 1200將不需要VPP轉換器1200。VPP監(jiān)控器1230將能用于監(jiān)控VCC。
對于一個實施例,其中的SIMM引出線允許附加產(chǎn)生特定的輸入/輸出信號,其中的一個信號能夠在不編程或擦除時關斷VPP。還有一個信號能夠控制信號RP#以提供電源管理,并且控制信號WP#,使其控制塊鎖定或不鎖定。
圖13是一個方框圖,說明了采用多個AMMI快速SIMM作為主存儲器的一個計算機系統(tǒng)的主存儲器的結構。在計算機系統(tǒng)1300中,微處理器1310包括單板DRAM控制器1330。DRAM控制器1330通過主存儲器總線1320依次耦合到DRAM SIMM 1360和AMMI快速SIMM 1350。DRAM SIMM 1360和AMMI快速SIMM 1350共同形成微處理器1310的主存儲器的一部分。
當微處理器1310訪問存儲在DRAM SIMM 1360或AMMI快速SIMM 1350中的代碼或數(shù)據(jù)時,微處理器1310的DRAM控制器1330將一個訪問請求送到主存儲器總線1320上。此訪問請求將根據(jù)主存儲器總線1320的異步協(xié)議而送到DRAM SIMM 1360或AMMI快速SIMM1350。由于AMMI快速SIMM 1350含有一個或多個正在仿真異步DRAM器件的AMMI快速器件。因此,DRAM控制器1330將能夠采用DRAM訪問協(xié)議(即通過選通行和列地址)而訪問AMMI快速SIMM1350。DRAM控制器1330將也為AMMI快速SIMM 1350產(chǎn)生DRAM刷新周期并提供預充電延遲,雖然在AMMI快速SIMM1350中的快速器件不需要它們。
此外,在計算機系統(tǒng)1300中,微處理器1310通過高速同步局部總線1325耦合到DRAM控制器1335。DRAM控制器1335通過主存儲器總線1345依次耦合到DRAM SIMM 1365和AMMI快速SIMM1355。DRAM SIMM 1365和AMMI快速SIMM 1355共同形成微處理器1310的主存儲器的一部分。
當微處理器1310訪問存儲在DRAM SIMM1365和AMMI快速SIMM 1355中的代碼或數(shù)據(jù)時,微處理器1310將一個訪問請求送到局部總線1325上。此訪問請求將根據(jù)局部總線1325的同步協(xié)議而產(chǎn)生。然后,DRAM控制器1335將翻譯此訪問請求并采用主存儲器總線1345的協(xié)議而將此訪問請求送到DRAM SIMM 1365或AMMI快速SIMM1355。由于AMMI快速SIMM 1355含有一個或多個正在仿真異步DRAM器件的AMMI快速器件,因此DRAM控制器1330將能夠采用DRAM訪問協(xié)議(即通過選通行和列地址)而訪問AMMI快速SIMM1355。DRAM控制器1335也將為AMMI快速SIMM1350產(chǎn)生DRAM刷新周期并提供預充電延遲,雖然在AMMI快速SIMM1355中的快速器件不需要它們。
第二高速緩存1375也耦合到局部總線1325。如果微處理器1310試圖從DRAM SIMM 1360或1365或AMMI快速SIMM 1350或1355中訪問數(shù)據(jù)或指令,而這些數(shù)據(jù)或指令在高速緩存1375中可獲得,那么此訪問將產(chǎn)生到高速緩存1375中而代替之。
注意,有一個計算機系統(tǒng)1300的替換實施例,其中計算機系統(tǒng)1300采用圖13所述的主存儲容量的一個子集。因此,在一個實施例中,微處理器1300將通過主存儲器總線1300尋址其所有的主存儲器。另一方面,微處理器1300將通過局部總線1325尋址其所有的主存儲器。在這樣的情況下,微處理器1310不需要包含單板DRAM控制器1330。
在另一個實施例中,在系統(tǒng)1300中沒有第二高速緩存1375。此外,有一個替換實施例,其中由DRAM控制器1330或DRAM控制器1335控制的所有主存儲器分別由AMMI快速SIMM1350或1355構成。此外,在另一個實施例中,局部總線1325通過一個總線橋耦合到主存儲器總線1320,而不是直接耦合到微處理器1310。
用于快速主存儲器的同步主存儲器接口(SMMI)由于處理器已經(jīng)變得越來越快,因此,異步DRAM已經(jīng)變得越來越不能為滿足處理器所支持的處理速度而以足夠快的速度提供數(shù)據(jù)和指令。最近的一種解決方案是已經(jīng)介紹的同步DRAM。同步DRAM采用一外部時鐘信號而使在DRAM集成電路內部的交錯同步,因而與異步的所能提供的相比,同步DRAM提供了較快的數(shù)據(jù)串訪問。
圖14是一個方框圖,說明了能夠仿真一同步DRAM集成電路芯片的快速存儲器集成電路。在圖14描述的實施例中,同步主存儲器接口(SMMI)快速存儲單元1400結合了(圖6的)SFI快速600的內部快速存儲體交錯功能和(圖9的)AMMI快速存儲器900的行和列地址多路復用。
在圖14描述的SMMI快速1400的實施例中,根據(jù)模式寄存器1480中的設置的判定,SMMI快速1400工作于四個模式的其中之一。在第一模式-異步快速模式中,快速存儲器1400象標準快速存儲器一樣讀操作。在此模式中,第一地址中的內容的讀操作必須在能夠確定被讀的第二地址之前完成。
在第二模式-同步快速模式中,時鐘信號CLK提供給SMMI快速芯片1400并且確定一系列屬于一數(shù)據(jù)串的地址,每個時鐘分段信號(clock tick)對應一個地址。然后,存儲在用于數(shù)據(jù)串的指定地址中的內容在連續(xù)的時鐘分段信號期間按照提供地址的順序輸出。另一方面,如果當其工作在同步模式時單個地址提供給SMMI快速芯片1400,那么此數(shù)據(jù)串的其后的地址將在SMMI快速芯片1400內部產(chǎn)生,并且,然后此數(shù)據(jù)串將作為輸出從此快速芯片中提供。
在第三種模式-異步DRAM(動態(tài)隨機訪問存儲器)模式中,SMMI快速存儲器1400仿真異步DRAM。因此,采用行(RAS#)和列(CAS#)地址選通信號將行和列地址選通到快速芯片1400中。然后,SMMI快速存儲器1400在內部將這些行和列地址轉換成單個地址,并且提供存儲在此單個地址中的數(shù)據(jù)作為輸出。此外,雖然此SMMI快速存儲器1400不需要一擴充的預充電期或刷新,但是,當在所述異步DRAM模式中時,所述快速存儲器1400象一異步DRAM一樣響應預充電期和刷新周期。因此,當在所述異步DRAM模式中時,SMMI快速存儲器1440能夠被標準DRAM控制器控制。
最后,在第四模式一同步DRAM模式中,合并第二和第三模式的性能而產(chǎn)生仿真同步DRAM的快速存儲器。因此,通過采用RAS#和CAS#信號選通行和列地址到此快速存儲器中而確定被讀數(shù)據(jù)串的地址。然后,根據(jù)其后的時鐘分段信號,此數(shù)據(jù)串的數(shù)據(jù)從快速存儲器中作為輸出順序地提供。
在一個替換實施例中,SMMI快速1400僅僅有一個模式-同步DRAM仿真模式,或者有同步DRAM模式和僅僅一個或兩個其它的模式。
在圖14所描述的四個模式實施例中,模式寄存器1480有一個多位輸出模式允許信號ME,此信號反映了SMMI快速1400的當前模式。信號ME提供給存儲體選擇邏輯1474、總線邏輯1440、TTL級1472、邏輯和ATD控制塊1470。根據(jù)SMMI快速器件1400的當前模式,這些電路各不相同地控制SMMI快速1400的功能。
因此,當SMMI快速器件1400操作在同步快速模式時,總線邏輯1440將象圖6中的總線邏輯640一樣起作用,而在其它模式中總線邏輯1440將無效。注意,在一個替換實施例中,其中的SMMI快速器件1400象一通用同步快速器件一樣操作,但邏輯1440將不是芯片1400的一部分,而是由片外提供。
當SMMI快速器件1400同步地操作時,在同步快速或同步DRAM仿真模式中,TTL級1472、存儲體選擇邏輯1474、邏輯和ATD電路1470將控制對快速存儲體A1410和B1420的訪問交錯。在一個替換實施例中,當SMMI快速器件1400處于這些同步模式中時,交錯將在SMMI快速器件1400內多于兩個快速存儲體之間執(zhí)行。
同樣地,當SMMI快速器件1400仿真DRAM時,在異步或同步DRAM仿真模式中,TTL級1472、存儲體選擇邏輯1474、邏輯和ATD電路1470將通過地址多路復用器1492、1494控制行和列地址的多路復用,并且控制輸出緩沖器1460的三態(tài)。
一基于SMMI快速器件的同步SIMM能夠采用上述技術和圖12的AMMI SIMM1200共同構成。這將通過將AMMI SIMM 1200和一個或多個SMMI快速器件1400(而不是AMMI快速器件900)放在一起,并且通過提供一時鐘信號到每一個SMMI快速器件實現(xiàn)。
圖15是一個方框圖,說明了采用一些SMMI快速SIMM作主存儲器的一計算機系統(tǒng)的主存儲器結構。在計算機系統(tǒng)1500中,微處理器1510包括單板同步DRAM控制器1530。同步DRAM控制器1530通過同步主存儲器總線1520依次耦合到同步DRAM SIMM 1560和SMMI快速SIMM 1550。同步DRAM SIMM 1560和SMMI快速SIMM1550共同構成微處理器1510的主存儲器的一部分。
當微處理器1510訪問存儲在同步DRAM SIMM 1560或SMMI快速SIMM 1550中的代碼或數(shù)據(jù)時,微處理器1510的同步DRAM控制器1530將一個訪問請求放到同步主存儲器總線1520上。此訪問請求將根據(jù)同步主存儲器總線1520的同步協(xié)議而送到同步DRAM SIMM 1560或SMMI快速SIMM1550。由于SMMI快速SIMM1550含有一個或多個仿真同步DRAM器件的SMMI快速器件,因此,同步DRAM控制器1530將能夠采用同步DRAM訪問協(xié)議(即,通過選通行和列地址和提供一時鐘信號)訪問SMMI快速SIMM1550。DRAM控制器1530也將為SMMI快速SIMM 1550產(chǎn)生DRAM刷新周期并提供預充電延遲,雖然在SMMI快速1550中的快速器件并不需要它們。
此外,在計算機系統(tǒng)1500中,微處理器1510通過高速同步局部總線1525耦合到同步DRAM控制器1535。同步DRAM控制器1535通過同步主存儲器總線1545依次耦合到同步DRAM SIMM 1565和SMMI快速SIMM 1555。同步DRAM SIMM 1565和SMMI快速SIMM 1555共同形成微處理器1510的主存儲器的一部分。
當微處理器1510訪問存儲在同步DRAM SIMM 1565或SMMI快速SIMM 1555中的代碼或數(shù)據(jù)時,微處理器1510將一個訪問請求送到局部總線1525上。此訪問請求將根據(jù)局部總線1525的同步協(xié)議而產(chǎn)生。然后,同步DRAM控制器1535將翻譯此訪問請求并采用同步主存儲器總線1545的同步協(xié)議而將此訪問請求送到同步DRAM SIMM1565或SMMI快速SIMM 1555。由于SMMI快速SIMM 1555含有一個或多個正在仿真同步DRAM器件的SMMI快速器件,因此,同步DRAM控制器1530將能夠采用同步DRAM訪問協(xié)議(即,通過選通行和列地址并且通過提供一時鐘信號)而訪問SMMI快速SIMM1555。同步DRAM控制器1535也將為SMMI快速SIMM 1550產(chǎn)生同步DRAM刷新周期并提供預充電延遲,雖然在SMMI快速SIMM1555中的快速器件并不需要它們。
第二高速緩存1575也耦合到局部總線1525。如果微處理器1510試圖從同步DRAM SIMM 1560或1565或SMMI快速SIMM 1550或1555中訪問數(shù)據(jù)或指令,而這些數(shù)據(jù)或指令在高速緩存1575中可獲得,那么此訪問將產(chǎn)生到高速緩存1575中而代替之。
注意,有一個計算機系統(tǒng)1500的替換實施例,其中計算機系統(tǒng)1500采用圖15所述的主存儲容量的一個子集。因此,在一個實施例中,微處理器1500將通過主存儲器總線1520尋址其所有的主存儲器。另一方面,微處理器1500將通過局部總線1525尋址其所有的主存儲器。在這樣的情況下,微處理器1500不需要包含單板同步DRAM控制器1530。
在另一個實施例中,在系統(tǒng)1500中沒有第二高速緩存1575。此外,有一個替換實施例,其中由同步DRAM控制器1530或同步DRAM控制器1535控制的所有主存儲器分別由SMMI快速SIMM1550或1555構成。此外,在另一個實施例中,局部總線1525通過一總線橋耦合到主存儲器總線1520,而不是直接耦合到微處理器1510。
在前面的說明書中,本發(fā)明已經(jīng)參照具體的實施例進行了描述,但是,顯而易見的是,在不脫離本發(fā)明的較寬的精神和范圍的情況下,如后面所附加的權利要求所述,可以對本發(fā)明作出各種修改和變形。因此,本說明書和附圖應理解為解釋性的而不是一種限制。
權利要求
1.計算機系統(tǒng),包括微處理器;高速總線;非易失主存儲器,該非易失主存儲器利用該高速總線向該微處理器提供第一數(shù)據(jù)。
2.權利要求1的計算機系統(tǒng),其中的非易失主存儲器在零微處理器等待狀態(tài)的情況下利用高速總線向微處理器提供第一數(shù)據(jù)。
3.權利要求1的計算機系統(tǒng),其中的非易失主存儲器是快速存儲器。
4.權利要求1的計算機系統(tǒng),其中的高速總線是同步總線。
5.權利要求1的計算機系統(tǒng),其中的高速總線是異步總線。
6.權利要求1的計算機系統(tǒng),其中的高速總線是局部總線。
7.權利要求1的計算機系統(tǒng),其中的高速總線是主存儲器總線。
8.權利要求1的計算機系統(tǒng),其中的第一數(shù)據(jù)包括要被微處理器執(zhí)行的程序指令。
9.權利要求1的計算機系統(tǒng),其中的微處理器具有內部高速緩存,該內部高速緩存存儲供該微處理器使用的數(shù)據(jù)。
10.權利要求1的計算機系統(tǒng),其中的微處理器是靜態(tài)微處理器。
11.權利要求1的計算機系統(tǒng),其中的非易失主存儲器可處于節(jié)能的深度省電狀態(tài)。
12.權利要求11的計算機系統(tǒng),其中的微處理器能夠命令非易失存儲器進入和脫離深度省電狀態(tài)。
13.權利要求1的計算機系統(tǒng),還包括易失主存儲器,該易失主存儲器利用高速總線向微處理器提供第二數(shù)據(jù)。
14.權利要求13的計算機系統(tǒng),其中的第二數(shù)據(jù)包括要被微處理器執(zhí)行的程序指令。
15.權利要求13的計算機系統(tǒng),其中的易失主存儲器是電池后備的。
16.權利要求13的計算機系統(tǒng),其中的易失主存儲器是靜態(tài)隨機存取存儲器。
17.權利要求13的計算機系統(tǒng),其中的易失主存儲器是動態(tài)隨機存取存儲器。
18.權利要求13的計算機系統(tǒng),其中的易失主存儲器可作為要被存儲在非易失主存儲器內的第三數(shù)據(jù)的寫高速緩存。
19.權利要求13的計算機系統(tǒng),其中的易失主存儲器可作為存儲在非易失主存儲器內的第一數(shù)據(jù)的外部高速緩存。
20.權利要求1的計算機系統(tǒng),該計算機系統(tǒng)還包括與非易失主存儲器連接的非易失存儲器。
21.權利要求1的計算機系統(tǒng),該計算機系統(tǒng)還包括低速總線;連接高速和低速總線的總線橋接器;以及與該低速總線連接的非易失存儲器。
22.權利要求1的計算機系統(tǒng),其中的第一數(shù)據(jù)具有第一部分和第二部分,非易失主存儲器還包括多個非易失存儲器單元,該多個非易失存儲器單元包括第一和第二存儲器單元,第一數(shù)據(jù)的第一部分存儲在該第一非易失存儲器單元內,第一數(shù)據(jù)的第二部分存儲在該第二非易失存儲器單元內;交錯控制單元,該交錯控制單元控制微處理器對多個非易失存儲器單元的訪問,如果要將第一數(shù)據(jù)提供給微處理器,該交錯控制器就讓第一非易失存儲器單元把第一數(shù)據(jù)的第一部分提供給微處理器,該交錯控制器讓第二非易失存儲器單元在第一非易失存儲器單元正在向微處理器提供第一數(shù)據(jù)的第一部分期間開始檢索第一數(shù)據(jù)的第二部分,該交錯控制器然后在第一非易失存儲器單元已把第一數(shù)據(jù)的第一部分提供給微處理器之后讓第二非易失存儲器單元把第一數(shù)據(jù)的第二部分提供給微處理器。
23.權利要求22的計算機系統(tǒng),還包括時鐘,該時鐘向交錯控制器提供時鐘信號,該交錯控制器根據(jù)該時鐘的第一脈沖讓第一非易失存儲器單元把第一數(shù)據(jù)的第一部分提供給微處理器,該交錯控制器根據(jù)該時鐘的第二脈沖讓第二非易失存儲器單元把第一數(shù)據(jù)的第二部分提供給微處理器。
24.權利要求23的計算機系統(tǒng),其中的第一數(shù)據(jù)的第一部分具有相關的第一地址,微處理器通過根據(jù)時鐘的第三脈沖向交錯控制器提供該第一地址來請求提供給微處理器的第一數(shù)據(jù),該第三脈沖出現(xiàn)在時鐘的第一和第二脈沖之前。
25.權利要求24的計算機系統(tǒng),在該計算機系統(tǒng)中,根據(jù)第三脈沖向交錯控制器提供地址鎖存允許信號來表示正在向該交錯控制器提供第一地址。
26.權利要求24的計算機系統(tǒng),其中的第一數(shù)據(jù)的第二部分具有相關的第二地址,交錯控制器根據(jù)第一地址計算該第二地址。
27.權利要求26的計算機系統(tǒng),其中的交錯控制器通過把第二地址遞增預定的數(shù)量來計算第二地址。
28.權利要求27的計算機系統(tǒng),其中的預定的數(shù)量是1。
29.權利要求26的計算機系統(tǒng),其中的交錯控制器通過把第一地址遞減預定的數(shù)量來計算第二地址。
30.權利要求29的計算機系統(tǒng),其中的預定的數(shù)量是1。
31.權利要求24的計算機系統(tǒng),其中的第一數(shù)據(jù)的第二部分具有相關的第二地址,通過根據(jù)時鐘的第四脈沖向交錯控制器提供該第二地址來作出把第一數(shù)據(jù)的第二部分提供給微處理器的請求,此第四脈沖出現(xiàn)在時鐘的第三脈沖之后。
32.權利要求31的計算機系統(tǒng),在該計算機系統(tǒng)中,根據(jù)第四脈沖向交錯控制器提供地址鎖存允許信號來表示正在向該交錯控制器提供第二地址。
33.權利要求22的計算機系統(tǒng),其中的第一數(shù)據(jù)的第一和第二部分屬于一個高速緩存存儲界。
34.權利要求22的計算機系統(tǒng),其中的第一非易失存儲器單元是第一集成電路而第二非易失存儲器單元是第二集成電路。
35.權利要求34的計算機系統(tǒng),其中的交錯控制器是第三集成電路。
36.權利要求22的計算機系統(tǒng),其中的第一和第二非易失存儲器單元是第一集成電路的分離的存儲體。
37.權利要求36的計算機系統(tǒng),其中的交錯控制器是第二集成電路。
38.權利要求36的計算機系統(tǒng),其中的交錯控制器是第一集成電路的一部分。
39.權利要求22的計算機系統(tǒng),其中的第一數(shù)據(jù)的第一部分具有相關的第一行地址和第一列地址,其中的微處理器通過向交錯控制器提供該第一行及列地址來初啟對第一數(shù)據(jù)的第一部分的訪問。
40.權利要求39的計算機系統(tǒng),其中的第一行地址在行地址選通脈沖期間被提供,而第一列地址在列地址選通脈沖期間被提供。
41.權利要求39的計算機系統(tǒng),其中的第一數(shù)據(jù)的第二部分具有相關的第二行地址和第二列地址,其中的微處理器通過向交錯控制器提供該第二行及列地址來初啟對第一數(shù)據(jù)的第二部分的訪問。
42.權利要求41的計算機系統(tǒng),其中的第二行地址在行地址選通脈沖期間被提供,而第二列地址在列地址選通脈沖期間被提供。
43.權利要求22的計算機系統(tǒng),其中的第一數(shù)據(jù)具有相關的行地址和列地址,其中的微處理器通過向非易失主存儲器提供該行及列地址來初啟對該第一數(shù)據(jù)的訪問。
44.權利要求43的計算機系統(tǒng),其中的行地址在行地址選通脈沖期間被提供,而列地址在列地址選通脈沖期間被提供。
45.存儲器設備,包括包括第一和第二存儲體的多個非易失存儲體;交錯控制器,該交錯控制器控制對該多個非易失存儲體的訪問,該交錯控制器讓第一存儲體提供第一數(shù)據(jù)和讓第二存儲體在第一存儲體正在提供第一數(shù)據(jù)期間開始檢索第二數(shù)據(jù),該交錯控制器然后在第一存儲體已提供了第一數(shù)據(jù)之后讓第二存儲體提供第二數(shù)據(jù)。
46.權利要求45的存儲器設備,在該存儲器設備中,向交錯控制器提供了時鐘信號,該交錯控制器根據(jù)時鐘的第一脈沖讓第一存儲體提供第一數(shù)據(jù)和根據(jù)時鐘的第二脈沖讓第二存儲體提供第二數(shù)據(jù)。
47.權利要求46的存儲器設備,其中的第一數(shù)據(jù)具有被根據(jù)時鐘的第三脈沖指定給交錯控制器的相關的第一地址,第三脈沖在時鐘的第一和第二脈沖之前出現(xiàn)。
48.權利要求47的存儲器設備,在該存儲器設備中,根據(jù)第三脈沖向交錯控制器提供地址鎖存允許信號來表示正在向該交錯控制器提供第一地址。
49.權利要求47的存儲器設備,其中的第二數(shù)據(jù)具有相關的第二地址,交錯控制器根據(jù)第一地址計算第二地址。
50.權利要求49的存儲器設備,其中的交錯控制器通過把第一地址遞增預定的數(shù)量來計算第二地址。
51.權利要求50的存儲器設備,其中的預定的數(shù)量是1。
52.權利要求49的存儲器設備,其中的交錯控制器通過把第一地址遞減預定的數(shù)量來計算第二地址。
53.權利要求52的存儲器設備,其中的預定的數(shù)量是1。
54.權利要求47的存儲器設備,其中的第二數(shù)據(jù)具有被根據(jù)時鐘的第四脈沖指定給交錯控制器的相關的第二地址,第四脈沖在時鐘的第三脈沖之后出現(xiàn)。
55.權利要求54的存儲器設備,在該存儲器設備中,根據(jù)第四脈沖向交錯控制器提供地址鎖存允許信號來表示正在向該交錯控制器提供第二地址。
56.權利要求45的存儲器設備,其中的第一和第二數(shù)據(jù)屬于一個高速緩存存儲界。
57.權利要求45的存儲器設備,其中的交錯控制器能夠進入非交錯方式,在這種非交錯方式中,該交錯控制器在對多個非易失存儲器的第一次訪問已結束之前將不允許對多個非易失存儲體的第二次訪問。
58.權利要求57的存儲器設備,其中的交錯控制器能夠進入地址多路復用方式,當處于這種地址多路復用方式時,多個非易失存儲體之一的某一部分被行和列地址對指定給該交錯控制器。
59.權利要求58的存儲器設備,其中的行地址在行地址選通脈沖期間被提供,而列地址在列地址選通脈沖期間被提供。
60.權利要求58的存儲器設備,其中的交錯控制器組合行和列地址對來形成存儲體地址,該交錯控制器然后使用該存儲體地址來指定多個非易失存儲體之一的某一部分進行訪問。
61.權利要求58的存儲器設備,其中的第一數(shù)據(jù)具有相關的第一行地址和第一列地址對,其中的交錯控制器一旦接收到該第一行及列地址就初啟對該第一數(shù)據(jù)的訪問。
62.權利要求61的存儲器設備,其中的第一行地址在行地址選通脈沖期間被接收,而第一列地址在列地址選通脈沖期間被接收。
63.權利要求61的存儲器設備,其中的交錯控制器組合第一行和列地址對來形成第一存儲體地址,該交錯控制器然后使用該存儲體地址來指定要被訪問的第一存儲體的第一數(shù)據(jù)。
64.權利要求61的存儲器設備,其中的第二數(shù)據(jù)具有相關的第二行地址和第二列地址對,其中的交錯控制器一旦接收到該第二行及列地址就初啟對該第二數(shù)據(jù)的訪問。
65.權利要求64的存儲器設備,其中的第二行地址在行地址選通脈沖期間的被接收,而第二列地址在列地址選通脈沖期間被接收。
66.權利要求65的存儲器設備,其中的交錯控制器組合第二行和列地址對來形成第二存儲體地址,該交錯控制器然后使用該存儲體地址來指定要被訪問的第二存儲體的第二數(shù)據(jù)。
67.權利要求45的存儲器設備,其中的交錯控制器能夠進入地址多路復用方式,當處于這種地址多路復用方式時,多個非易失存儲體之一的某一部分被行和列地址對指定給該交錯控制器。
68.權利要求67的存儲器設備,其中的行地址在行地址選通脈沖期間被提供,而列地址在列地址選通脈沖期間被提供。
69.權利要求68的存儲器設備,其中的交錯控制器組合行和列地址對來形成存儲體地址,該交錯控制器然后使用該存儲體地址來指定多個非易失存儲體之一的某一部分進行訪問。
70.權利要求45的存儲器設備,其中的第一數(shù)據(jù)被第一地址標識,該存儲器設備還包括第一地址鎖存器,交錯控制器控制該第一地址鎖存器并在讓第一存儲體提供第一數(shù)據(jù)之前讓該第一地址鎖存器鎖存該第一地址。
71.權利要求70的存儲器設備,其中的第二數(shù)據(jù)被第二地址標識,該存儲器設備還包括第二地址鎖存器,交錯控制器控制該第二地址鎖存器并在讓第二存儲體提供第二數(shù)據(jù)之前讓該第二地址鎖存器鎖存該第二地址。
72.權利要求45的存儲器設備,其中的第一數(shù)據(jù)被第一地址標識,其中的交錯控制器還包括地址轉換檢測器,一旦該地址轉換檢測器檢測到至第一存儲體地址的地址轉換,該交錯控制器就讓第一存儲體準備提供數(shù)據(jù)。
73.權利要求72的存儲器設備,其中的第二數(shù)據(jù)被第二地址標識,一旦地址轉換檢測器檢測到至第二存儲體地址的地址轉換,交錯控制器就讓第二存儲體準備提供數(shù)據(jù)。
74.權利要求45的存儲器設備,還包括輸出緩沖器,該輸出緩沖器存儲輸出數(shù)據(jù);以及存儲體選擇器,該存儲體選擇器在第一存儲體正在提供第一數(shù)據(jù)時選擇該第一存儲體向輸出緩沖器提供該第一數(shù)據(jù)作為輸出數(shù)據(jù)和在第二存儲體正在提供第二數(shù)據(jù)時選擇該第二存儲體向輸出緩沖器提供該第二數(shù)據(jù)作為輸出數(shù)據(jù)。
75.權利要求45的存儲器設備,還包括總線專門邏輯,該總線專門邏輯接收總線專門輸入信號并提供總線專門輸出信號作為響應。
76.權利要求45的存儲器設備,還包括奇偶校驗產(chǎn)生器,該奇偶校驗產(chǎn)生器在第一數(shù)據(jù)被提供時根據(jù)該第一數(shù)據(jù)產(chǎn)生奇偶校驗信號。
77.權利要求45的存儲器設備,其中的奇偶校驗產(chǎn)生器在第二數(shù)據(jù)被提供時根據(jù)該第二數(shù)據(jù)產(chǎn)生奇偶校驗信號。
78.權利要求45的存儲器設備,在該存儲器設備中,多個非易失存儲體的至少一個由快速存儲器組成。
79.存儲器設備,包括非易失存儲體;地址多路分解器,該地址多路分解器接收被多路復用的行和列地址對并組合行和列地址來形成存儲體地址,該存儲體地址被用來訪問此存儲體。
80.權利要求79的存儲器設備,其中的非易失存儲體是快速存儲體。
81.權利要求79的存儲器設備,其中的非易失存儲體是快速存儲器,該存儲器設備模擬動態(tài)隨機存取存儲器(DRAM)設備。
82.權利要求79的存儲器設備,其中的地址多路分解器包括地址鎖存器,該地址鎖存器具有行地址鎖存器和列地址鎖存器;地址多路復用器,當該地址多路復用器接收到行地址時,該地址多路復用器就把行地址提供給行地址鎖存器以便被鎖存在其內,當該地址多路復用器接收到列地址,該地址多路復用器就把列地址提供給列地址鎖存器以便被鎖存在其內;一旦行和列地址已被鎖存在地址鎖存器內,該地址鎖存器就把行和列地址提供給存儲體作為被用來訪問該存儲體的存儲體地址。
83.權利要求79的存儲器設備,其中的行地址在行地址選通脈沖期間被提供,而列地址在列地址選通脈沖期間被提供。
84.權利要求83的存儲器設備,其中的地址多路分解器包括地址鎖存器,該地址鎖存器具有行地址鎖存器和列地址鎖存器;地址多路復用器,在行地址選通脈沖期間,該地址多路復用器接收行地址并把該行地址提供給行地址鎖存器以便被鎖存在其內,在列地址選通脈沖期間,該地址多路復用器接收到地址并把該列地址提供給列地址鎖存器以便被鎖存在其內;一旦行和列地址已被鎖存在地址鎖存器內,該地址鎖存器就把行和列地址提供給存儲體作為被用來訪問該存儲體的存儲體地址。
85.權利要求79的存儲器設備,其中的地址多路分解器能夠進入非多路復用尋址方式,當處于這種非多路復用尋址方式時,該地址多路分解器接收存儲體地址并利用該存儲體地址來訪問存儲體。
86.權利要求79的存儲器設備,其中的非易失存儲體不需要刷新,其中的地址多路分解器還包括檢測刷新周期的刷新周期檢測器。
87.權利要求86的存儲器設備,其中的存儲器設備還包括與存儲體和與刷新周期檢測器連接的三態(tài)鎖存器,該鎖存器適合于保持用于對存儲體進行訪問的數(shù)據(jù),如果刷新周期檢測器檢測到刷新周期,該刷新周期檢測器就讓該鎖存器在刷新周期內進入第三種狀態(tài)。
88.存儲器子系統(tǒng),包括至少兩個非易失存儲器設備,每一存儲器設備用于存儲數(shù)據(jù)頁的相應部分;與非易失存儲器設備連接的、控制數(shù)據(jù)頁的交錯讀出的交錯控制器,如果交錯控制器檢測到對頁面的讀出操作,該交錯控制器就啟動存儲器設備并讓每一存儲器設備讀出該頁面的相應部分,該交錯控制器然后順序地啟動每一存儲器設備來輸出該頁面的相應部分。
89.權利要求88的存儲器子系統(tǒng),其中的每一存儲器設備是快速存儲器設備。
90.權利要求88的存儲器子系統(tǒng),在該存儲器子系統(tǒng)中有多個包括第一和第二頁面的數(shù)據(jù)頁,其中的交錯控制器還包括檢測從對第一頁的讀操作到對第二頁的讀操作的轉換的頁面轉換檢測器,如果這種轉換被檢測到,該頁面轉換檢測器就讓交錯控制器控制從存儲器設備讀出第二頁。
91.權利要求90的存儲器子系統(tǒng),其中的頁面轉換檢測器檢測從多個頁面的一頁面到多個頁面的另一頁面的每一頁面轉換,如果這種轉換被檢測到,該頁面轉換檢測器就讓交錯控制器控制從轉換到頁面的存儲器設備中的讀出。
92.權利要求88的存儲器子系統(tǒng),其中的交錯控制器接收包括一系列時鐘脈沖的時鐘信號,其中的交錯控制器順序地啟動每一存儲器設備以便在該時鐘信號的不同的每一個脈沖期間輸出頁面的相應部分。
93.權利要求92的存儲器子系統(tǒng),其中頁面的每一部分具有相應的地址,其中的交錯控制器在相應的不同的一個時鐘周期期間接收這些相應地址的一個不同地址,然后,其中的交錯控制器讓頁面的每一部分按照這些地址被接收的順序被輸出。
94.權利要求93的存儲器子系統(tǒng),其中的交錯控制器在這些相應地址的一個不同地址要被接收時接收地址鎖存允許脈沖。
95.權利要求93的存儲器子系統(tǒng),在該存儲器子系統(tǒng)中,如果交錯控制器沒有接收到頁面某一部分的地址,該交錯控制器就將只讓相應于被接收地址的那些頁面部分被讀出。
96.一系統(tǒng),包括具有數(shù)據(jù)串訪問總線協(xié)議的高速同步總線;非易失存儲器設備,具有非易失存儲器的至少兩個存儲體和按照通用數(shù)據(jù)串訪問存儲器協(xié)議控制對存儲體的交錯訪問的通用交錯控制器;連接在該高速同步總線和該非易失存儲器設備之間的粘接邏輯設備,該粘接邏輯從成串地訪問非易失存儲器的高速總線接收成串訪問總線協(xié)議,把來自該高速總線的成串訪問總線協(xié)議變換為通用數(shù)據(jù)串訪問存儲器協(xié)議,然后把變換的通用數(shù)據(jù)串訪問存儲器協(xié)議提供給存儲器設備。
97.權利要求96的系統(tǒng),其中的非易失存儲器的存儲體的至少一個是快速存儲器。
98.權利要求96的系統(tǒng),其中的數(shù)據(jù)串訪問總線協(xié)議使用線性尋址序列。
99.權利要求96的系統(tǒng),其中的數(shù)據(jù)串訪問總線協(xié)議使用非線性尋址序列。
100.權利要求96的系統(tǒng),其中的粘接邏輯設備還包括總線專門邏輯,該總線專門邏輯從總線接收總線專門輸入信號并提供總線專門輸出信號給總線作為響應。
101.權利要求96的系統(tǒng),還包括奇偶校驗產(chǎn)生器,該奇偶校驗產(chǎn)生器根據(jù)被訪問的數(shù)據(jù)串產(chǎn)生奇偶校驗信號。
102.存儲器模塊,包括非易失存儲器;被安裝了該非易失存儲器的存儲器模塊板,如果該存儲器模塊板向該非易失存儲器提供指出在要被訪問的該非易失存儲器內的存儲單元的多路復用行及列地址對,該非易失存儲器就訪問被指出的該存儲單元。
103.權利要求102的存儲器模塊,其中的非易失存儲器由至少一個快速存儲器組成。
104.權利要求102的存儲器模塊,其中的非易失存儲器模擬動態(tài)隨機存取存儲器。
105.權利要求102的存儲器模塊,其中的非易失存儲器模擬異步動態(tài)隨機存取存儲器。
106.權利要求102的存儲器模塊,其中的非易失存儲器模擬同步動態(tài)隨機存取存儲器。
107.權利要求102的存儲器模塊,還包括與非易失存儲器和與存儲器模塊板連接的電壓變換器,該電壓變換器把存儲器模塊板的工作電壓變換為編程電壓并把該編程電壓提供給非易失存儲器。
108.權利要求107的存儲器模塊,其中的非易失存儲器可被禁止,其中的存儲器模塊還包括與非易失存儲器和與電壓變換器連接的編程電壓監(jiān)控器,該電壓監(jiān)控器監(jiān)視來自電壓變換器的編程電壓,如果提供給非易失存儲器的編程電壓不在預定的電壓范圍內,該電壓監(jiān)控器就禁止非易失存儲器。
109.權利要求108的存儲器模塊,其中的非易失存儲器通過進入深度省電狀態(tài)而被禁止。
110.權利要求102的存儲器模塊,該存儲器模塊是單列直插存儲器模塊。
111.一系統(tǒng),包括具有模擬動態(tài)隨機存取存儲器(DRAM)設備的非易失存儲器設備的非易失存儲器模塊;以及DRAM控制器,與該非易失存儲器模塊連接,控制對該非易失存儲器模塊的訪問。
112.權利要求111的系統(tǒng),其中的非易失存儲器設備是快速存儲器設備。
113.權利要求111的系統(tǒng),其中的非易失存儲器模塊包括多個非易失存儲器設備。
114.權利要求111的系統(tǒng),其中的非易失存儲器設備模擬異步DRAM設備。
115.權利要求111的系統(tǒng),其中的非易失存儲器設備模擬同步DRAM設備。
116.權利要求111的系統(tǒng),還包括具有易失存儲器設備的易失存儲器模塊,該易失存儲器模塊與DRAM控制器連接并被其控制。
117.權利要求111的系統(tǒng),還包括高速總線,與DRAM控制器連接,向DRAM控制器指出被DRAM控制的對非易失存儲器的訪問。
118.權利要求117的系統(tǒng),其中的高速總線是異步總線。
119.權利要求117的系統(tǒng),其中的高速總線是同步總線。
120.權利要求117的系統(tǒng),其中的高速總線是主存儲器總線。
121.權利要求117的系統(tǒng),其中的高速總線是局部總線。
122.權利要求117的系統(tǒng),還包括與高速局部總線連接的存儲器高速緩存。
123.權利要求117的系統(tǒng),還包括與高速局部總線連接的微處理器。
124.訪問非易失存儲器設備的方法,該方法包括以下步驟向該存儲器設備提供第一地址,該第一地址指定在要被讀出的該非易失存儲器設備內的第一存儲單元;從該存儲器設備接收一系列輸出數(shù)據(jù),該系列輸出數(shù)據(jù)中的輸出數(shù)據(jù)包括存儲在第一地址的第一數(shù)據(jù)。
125.權利要求124的方法,還包括以下步驟向存儲器設備提供包括一系列輸出時鐘脈沖的時鐘信號,每一輸出時鐘脈沖向該存儲器設備指出何時從該存儲器設備接收該系列輸出數(shù)據(jù)中不同的一個輸出數(shù)據(jù)。
126.權利要求125的方法,還包括以下步驟當?shù)谝坏刂繁惶峁┙o存儲器設備時,向該存儲器設備提供地址鎖存信號,以便向該存儲器設備指出第一地址正在被提供。
127.權利要求124的方法,還包括以下步驟向存儲器設備提供時鐘信號,該時鐘信號包括后面跟著一系列輸出時鐘脈沖的一系列地址輸入時鐘脈沖,該系列輸出時鐘脈沖的每一輸入時鐘脈沖被提供了指定在要被讀出的該存儲器設備內的存儲單元的相應地址,每一輸出時鐘脈沖向該存儲器設備指出何時從該存儲器設備接收該系列輸出數(shù)據(jù)中不同的一個輸出數(shù)據(jù)。
128.權利要求127的方法,還包括以下步驟利用一系列地址輸入時鐘脈沖的每一地址輸入時鐘脈沖向存儲器設備提供地址鎖存信號,以便向該存儲器設備指出相應于該輸入時鐘脈沖的地址在被提供。
129.權利要求124的方法,其中的向存儲器設備提供第一地址的步驟包括以下步驟向該存儲器設備提供行地址;向該存儲器設備提供列地址,該行和列地址共同向該存儲器設備指出第一地址。
130.權利要求129的方法,還包括以下步驟在向存儲器設備提供行地址時向該存儲器設備提供行地址選通,以便向該存儲器指出行地址正在被提供。
131.權利要求130的方法,還包括以下步驟在向存儲器設備提供列地址時向該存儲器設備提供列地址選通,以便向該存儲器指出列地址正在被提供。
132.權利要求129的方法,還包括以下步驟在向存儲器設備提供行地址選通之前,向該存儲器設備指出該存儲器設備將要進入多路復用地址方式。
133.權利要求124的方法,還包括以下步驟在向存儲器設備提供第一地址之前,向該存儲器指出該存儲器設備將要進入同步地址方式。
134.訪問非易失存儲器設備的方法,包括以下步驟向該存儲器設備提供行地址;向該存儲器設備提供列地址;從該存儲器設備接收輸出數(shù)據(jù),該輸出數(shù)據(jù)是被該存儲器設備存儲在相應于向該存儲器設備提供的行和列地址的存儲單元處的內容。
135.權利要求134的方法,還包括在向存儲器設備提供行地址時,向該存儲器譯備提供行地址選通來向該存儲器指出行地址正在被提供的步驟。
136.權利要求134的方法,還包括在向存儲器設備提供列地址時,向該存儲器設備提供列地址選通來向該存儲器指出列地址正在被提供的步驟。
137.權利要求134的方法,還包括以下步驟從存儲器設備接收一系列附加輸出數(shù)據(jù),來自該系列輸出數(shù)據(jù)的該附加輸出數(shù)據(jù)在相應于行和列地址的輸出數(shù)據(jù)被提供給該存儲器沒備之后被接收。
138.權利要求137的方法,還包括以下步驟向存儲器設備提供包括一系列輸出時鐘脈沖的時鐘信號,每一輸出時鐘脈沖向該存儲器設備指出何時從該存儲器設備接收該系列輸出數(shù)據(jù)中不同的一個輸出數(shù)據(jù)。
139.權利要求138的方法,還包括以下步驟在向存儲器設備提供行地址之前,向該存儲器設備指出該存儲器設備將要進入同步地址方式。
全文摘要
描述了可被切換至4種不同的讀出方式的快速存儲器芯片(320)。還描述了利用了這些方式的計算機系統(tǒng)(100、200、300、800、1300、1500)和體系。在第一種讀出方式即異步快速方式中,快速存儲器(130)被作為標準快速存儲器讀出。在第二種方式即同步快速方式中,向快速存儲器芯片(320)提供時鐘信號和每時種信號一個地址地指定屬于一數(shù)據(jù)串的一系列地址。在第三種方式即異步DRAM(動態(tài)隨機存取存儲器)方式中,快速存儲器(130)模擬DRAM。在第四種讀出方式即同步DRAM方式中,組合第二和第三種方式的特點,得到模擬同步DRAM的快速存儲器。
文檔編號G06F12/08GK1155341SQ95193421
公開日1997年7月23日 申請日期1995年6月1日 優(yōu)先權日1994年6月3日
發(fā)明者D·R·米爾斯, B·L·迪佩特, S·森班丹, B·麥科米克, R·D·帕什利 申請人:英特爾公司