專利名稱:改進(jìn)具有多個(gè)存儲(chǔ)器控制器的電路的帶寬的設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)器控制器。更明確來說,本發(fā)明涉及用于多個(gè)存儲(chǔ)器控制器的控制電路。
背景技術(shù):
集成的微控制器裝置包含微處理器;芯片上存儲(chǔ)器;與外部存儲(chǔ)器交互的接口 (包 含用于運(yùn)行應(yīng)用程序軟件的外部總線接口 (EBI));許多標(biāo)準(zhǔn)外圍模塊,其經(jīng)配置以與 外部裝置通信,所述外部裝置例如為通用異步接收器/發(fā)射器(UART)、串行外圍接口 (SPI)、并行I/0芯片(PTO),或通用串行總線(USB);和用以產(chǎn)生中斷的模塊,例如中斷控制器或定時(shí)器。EBI產(chǎn)生驅(qū)動(dòng)外部存儲(chǔ)器所需的信號(hào),所述外部存儲(chǔ)器例如為靜態(tài)RAM (SRAM) 存儲(chǔ)器控制器、閃速存儲(chǔ)器控制器、突發(fā)閃速存儲(chǔ)器控制器、同步動(dòng)態(tài)RAM (SD-SDRAM)存儲(chǔ)器控制器、雙倍數(shù)據(jù)速率同歩存儲(chǔ)器控制器(DDR-SDRAM)、縮 短等待時(shí)間動(dòng)態(tài)RAM存儲(chǔ)器控制器、EEPROM,或只讀存儲(chǔ)器(ROM)。通常使用控 制總線、地址總線和/或數(shù)據(jù)總線傳輸這些信號(hào),例如芯片選擇信號(hào)和/或控制信號(hào)(讀 取/寫入、啟用、選通)。在某些類型的應(yīng)用中,微控制器利用外部總線接口 (EBI)。如 果是這種情況的話,EBI可通過為其所針對(duì)的每個(gè)存儲(chǔ)器產(chǎn)生相應(yīng)的信號(hào)而同時(shí)驅(qū)動(dòng)不 同類型的若干存儲(chǔ)器裝置,例如SDRAM、 SRAM和閃速存儲(chǔ)器。EBI模塊常連接在內(nèi)部系統(tǒng)總線上,作為執(zhí)行微處理器所需的動(dòng)作的從屬裝置,所 述微處理器在簡化的結(jié)構(gòu)中充當(dāng)主控裝置。所述主控裝置能從內(nèi)部存儲(chǔ)器(RAM)或外 部存儲(chǔ)器讀取數(shù)據(jù),或?qū)?shù)據(jù)寫入內(nèi)部存儲(chǔ)器(RAM)或外部存儲(chǔ)器。內(nèi)部存儲(chǔ)器常比 外部存儲(chǔ)器快,但容量小于外部存儲(chǔ)器。通常,需要快速存取時(shí)間的一組數(shù)據(jù)(例如中 斷處理程序軟件,或大小足夠小的任何組數(shù)據(jù))駐存在芯片上存儲(chǔ)器處。當(dāng)主控裝置將 內(nèi)部地址總線設(shè)定為一對(duì)準(zhǔn)某芯片上存儲(chǔ)器(例如,SRAM)的值時(shí),地址解碼器確立 內(nèi)部選擇信號(hào)。在這種情況下不選擇EBI。另一方面,可以較慢的存取時(shí)間處理的較大 組數(shù)據(jù)駐存在外部存儲(chǔ)器處。當(dāng)主控裝置開始至/來自外部存儲(chǔ)器的存取時(shí),地址解碼器 確立內(nèi)部選擇信號(hào)。EBI模塊將系統(tǒng)總線波形協(xié)議轉(zhuǎn)譯為目標(biāo)存儲(chǔ)器波形協(xié)議。在這種類型的現(xiàn)有技術(shù)結(jié)構(gòu)中,當(dāng)外部存儲(chǔ)器需要一個(gè)以上系統(tǒng)總線時(shí)鐘循環(huán)以進(jìn)
行存取時(shí),EBI確立"等待"信號(hào)以向主控裝置指示不能進(jìn)行其它存取。因此,不管新 存取的目的地是哪里,主控裝置都推遲其下一存取。舉例來說,如果下一存取目標(biāo)是外 部存儲(chǔ)器,那么其將推遲該存取,因?yàn)橐汛_立的等待狀態(tài)將防止對(duì)外部總線的存取。當(dāng)若干主控裝置在單個(gè)系統(tǒng)總線上連接到多個(gè)從屬裝置時(shí),這個(gè)結(jié)構(gòu)變得尤其繁 重,因?yàn)樗兄骺匮b置將被置于等待狀態(tài)。在另一多系統(tǒng)總線結(jié)構(gòu)中,其屮每個(gè)系統(tǒng)總 線存在單個(gè)主控裝置,已起始數(shù)據(jù)傳送的主控裝置將不被允許處理至或來自其它從屬裝 置的任何數(shù)據(jù)傳送。圖1描繪現(xiàn)有技術(shù)系統(tǒng)結(jié)構(gòu)IO,其中微控制器12通過利用外部總線接口(EBI)(未 圖示)連接到不同類型的外部存儲(chǔ)器,例如靜態(tài)RAM (SRAM)存儲(chǔ)器14和同步動(dòng)態(tài) RAM (SDRAM)存儲(chǔ)器。如果是這種情況的話,那么EBI可通過為其針對(duì)的每個(gè)存儲(chǔ) 器產(chǎn)生相應(yīng)的信號(hào)而驅(qū)動(dòng)不同類型的若干存儲(chǔ)器裝置,例如SRAM 14和SDRAM 16。用于EBI的共用端口映射包含單個(gè)地址總線18、雙向數(shù)據(jù)總線和不同的控制信號(hào)。 "芯片選擇"信號(hào)對(duì)于每一存儲(chǔ)器裝置來說是唯一的。舉例來說,chipsel一sram信號(hào)22 用于選擇SRAM存儲(chǔ)器裝置14,而chipsel一sdram信號(hào)24用于選擇SDRAM存儲(chǔ)器裝置 16。每種類型的存儲(chǔ)器裝置需要其它特定的控制信號(hào),例如用于SRAM 14的字節(jié)啟用 信號(hào)(未圖示),和用于SDRAM 16的存儲(chǔ)體尋址信號(hào)(未圖示)。如所屬領(lǐng)域的技術(shù)人 員眾所周知的,數(shù)據(jù)傳送不可能在一個(gè)以上外部存儲(chǔ)器裝置上同時(shí)發(fā)生。因此'微控制 器的每一控制信號(hào)輸出應(yīng)具有多個(gè)功能,以適應(yīng)不同存儲(chǔ)器裝置的需要。圖2更詳細(xì)地說明基本的現(xiàn)有技術(shù)微控制器結(jié)構(gòu)40。 EBI模塊42常連接在內(nèi)部系 統(tǒng)總線上(包含內(nèi)部地址總線46、內(nèi)部數(shù)據(jù)總線50、內(nèi)部讀取數(shù)據(jù)總線48和內(nèi)部寫入 數(shù)據(jù)總線44)而作為從屬裝置,即,EBI執(zhí)行簡化結(jié)構(gòu)屮充當(dāng)主控裝置的微處理器52 所需的動(dòng)作。在這種主從模型中,主控裝置(微處理器52)能從內(nèi)部存儲(chǔ)器(例如,ROM或SRAM 芯片上存儲(chǔ)器54)讀取數(shù)據(jù),或?qū)?shù)據(jù)寫入內(nèi)部存儲(chǔ)器中,或從外部存儲(chǔ)器(未圖示) 讀取數(shù)據(jù),或?qū)?shù)據(jù)寫入外部存儲(chǔ)器中。在大多數(shù)情況中,內(nèi)部存儲(chǔ)器比外部存儲(chǔ)器快, 但具有較小的數(shù)據(jù)容量。因此,需要快速存取時(shí)間的數(shù)據(jù)(例如中斷處理程序軟件)或 大小足夠小的任何數(shù)據(jù)的目標(biāo)存儲(chǔ)位置是芯片上存儲(chǔ)器。當(dāng)主控裝置(微處理器52)將內(nèi)部地址總線46設(shè)定為一對(duì)準(zhǔn)芯片上存儲(chǔ)器54 (例 如,SRAM存儲(chǔ)器)的值時(shí),地址解碼器56確立內(nèi)部"seljntram"內(nèi)部選擇信號(hào)58。 在這種情況下不選擇EBI 42。另一方面,接受較慢的存取時(shí)間的較大組數(shù)據(jù)可存儲(chǔ)在外部存儲(chǔ)器中。如果是這種
情況的話,那么當(dāng)主控裝置(微處理器52)開始至/來自外部存儲(chǔ)器的存取時(shí),地址解 碼器56經(jīng)由將系統(tǒng)總線波形協(xié)議轉(zhuǎn)譯為目標(biāo)外部存儲(chǔ)器波形協(xié)議的EBI模塊42來確立 內(nèi)部"sd_ebi"選擇信號(hào)60。當(dāng)外部存儲(chǔ)器(未圖示)需要一個(gè)以上系統(tǒng)總線時(shí)鐘循環(huán) 以進(jìn)行存取時(shí),EBI42確立"等待"信號(hào)(未圖示)以向主控裝置(微處理器52)指示 不能對(duì)任何種類的目的地裝置進(jìn)行其它存取。如果是這種情況的話,那么主控裝置(微 處理器52)推遲其對(duì)任何其它裝置的下一存取。因此,在這個(gè)現(xiàn)有技術(shù)系統(tǒng)總線結(jié)構(gòu)中,其中為主控裝置分配單個(gè)系統(tǒng)總線,已起 始至任何類型的裝置的(需要一個(gè)以上系統(tǒng)總線時(shí)鐘循環(huán)來進(jìn)行存取的)傳送的主控裝 置將不被允許處理至任何其它裝置的傳送,直到第一傳送完成為止。這種情形在現(xiàn)有技術(shù)多系統(tǒng)總線結(jié)構(gòu)中被加劇(在現(xiàn)有技術(shù)多系統(tǒng)總線結(jié)構(gòu)中,若 干主控裝置經(jīng)由單個(gè)系統(tǒng)總線連接到若干從屬裝置),因?yàn)榧词箖H單個(gè)主控裝置起始了 至任何類型的裝置的(需要一個(gè)以上系統(tǒng)總線時(shí)鐘循環(huán)來進(jìn)行存取的)傳送,所有主控 裝置都將被置于等待狀態(tài)中。圖3說明現(xiàn)有技術(shù)結(jié)構(gòu)70,其中EBI具有若干子模塊,包含SRAM存儲(chǔ)器控制器 72和SDRAM存儲(chǔ)器控制器74。圖2的"Sel_ebi"信號(hào)60包含多個(gè)選擇信號(hào),而每一 存儲(chǔ)器控制器被指派有其自身的選擇信號(hào)。舉例來說,SDRAM存儲(chǔ)器控制器74被指派 有選擇信號(hào)"sel—extsdram" 78,且SRAM存儲(chǔ)器控制器72被指派有選擇信號(hào) "sel—extsram" 76。需要多路復(fù)用器MUX1 80禾B MUX2 82以共享外部地址總線84和 外部數(shù)據(jù)總線86。如果選擇SRAM存儲(chǔ)器(未圖示),那么由SRAM控制器72驅(qū)動(dòng)"外 部地址總線"84。多路復(fù)用器MUX3 88允許SRAM存儲(chǔ)器控制器72和SDRAM存儲(chǔ)器 控制器74共享內(nèi)部讀取數(shù)據(jù)總線卯。在每一存儲(chǔ)器控制器級(jí)處(考慮到被驅(qū)動(dòng)的存儲(chǔ)器的特定特征)以及在EBI級(jí)處(在該處必須收集所有存儲(chǔ)器控制器等待信息,并報(bào)告單個(gè)信號(hào))執(zhí)行"等待"信號(hào)92的 產(chǎn)生。這是2—input "或"門94的功能。圖4描繪用于系統(tǒng)的現(xiàn)有技術(shù)波形,所述系統(tǒng)包含對(duì)外部存儲(chǔ)器的讀取存取,所述 存取需要一個(gè)等待狀態(tài),并在外部存儲(chǔ)器被取消選定之后需要大致一個(gè)時(shí)鐘循環(huán)以釋放 數(shù)據(jù)總線。在外部存儲(chǔ)器取消選定之后完全釋放數(shù)據(jù)總線所需的時(shí)間被稱為"數(shù)據(jù)浮動(dòng)時(shí)間"(TDF)。 EBI確立持續(xù)三個(gè)等待循環(huán)122的等待信號(hào)116,但EBI數(shù)據(jù)總線112上的Dl數(shù)據(jù)值120在僅一個(gè)等待循環(huán)之后便可用。如此做以防止EBI上的任何其它傳送,直到釋放EBI數(shù)據(jù)總線112為止,B卩,直到系統(tǒng)總線時(shí)鐘102上的時(shí)間T2 126為止。
等待信號(hào)經(jīng)確立并持續(xù)等于數(shù)據(jù)浮動(dòng)時(shí)間周期TDF的等待周期122。因此,對(duì)外部存儲(chǔ) 器的下一存取不能在T2 126之前開始。根據(jù)圖4的EBI地址總線波形110,下一存取在 時(shí)間T3 128處開始,而T3二Tl+4。因此,現(xiàn)有技術(shù)中需要較長的時(shí)間來在初始的讀取 存取之后開始對(duì)外部存儲(chǔ)器的下一存取。 發(fā)明內(nèi)容為解決此項(xiàng)技術(shù)中的缺點(diǎn),本發(fā)明提供一種設(shè)備,其用于通過產(chǎn)生多個(gè)占線信號(hào)而 改進(jìn)具有多個(gè)存儲(chǔ)器控制器的電路的帶寬,其中所述占線信號(hào)經(jīng)配置以指示何時(shí)允許對(duì) 數(shù)據(jù)總線的下一外部存取,因此提高了數(shù)據(jù)處理量。本發(fā)明的一個(gè)方面針對(duì)一種設(shè)備,其特征為數(shù)據(jù)總線、存儲(chǔ)器控制器、第一輸出 信號(hào)電路,和第二輸出信號(hào)電路。第一輸出信號(hào)經(jīng)配置以指示存儲(chǔ)器控制器何時(shí)釋放地 址總線,以用于在所述存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線進(jìn)行讀取存取之后的下一外部存取,而 第二輸出信號(hào)經(jīng)配置以指示存儲(chǔ)器控制器何時(shí)釋放數(shù)據(jù)總線,以用于在所述存儲(chǔ)器控制 器對(duì)數(shù)據(jù)總線進(jìn)行寫入存取之后的下一外部存取。在一個(gè)實(shí)施例中,本發(fā)明的設(shè)備使用第一輸入信號(hào)電路和第二輸入信號(hào)電路。第一 輸入信號(hào)經(jīng)配置以指示外部存儲(chǔ)器控制器何時(shí)釋放數(shù)據(jù)總線,以用于所述存儲(chǔ)器控制器 的讀取存取,而第二輸入信號(hào)經(jīng)配置以指示外部存儲(chǔ)器控制器何時(shí)釋放外部總線,以用 于所述存儲(chǔ)器控制器的寫入存取。存儲(chǔ)器控制器延遲在對(duì)數(shù)據(jù)總線的初始寫入存取之后 的對(duì)數(shù)據(jù)總線的所有外部存取。存儲(chǔ)器控制器通過使用地址總線執(zhí)行下一存取命令而預(yù) 期在對(duì)數(shù)據(jù)總線的初始讀取存取之后的對(duì)地址總線的下一外部存取。本發(fā)明的另一方面針對(duì)一種設(shè)備,其用于改進(jìn)具有多個(gè)存儲(chǔ)器控制器的電路的帶 寬。這個(gè)結(jié)構(gòu)包含第一存儲(chǔ)器控制器、第二存儲(chǔ)器控制器、第一first—memory—controller—output信號(hào)電路、第二 first—memory—controller—output信號(hào)電路、 第 一 second—memory—controller—output 信 號(hào) 電 路 、 及 第 二 second—memory—controller—output 信號(hào)電路。在此實(shí)施例中, 第 一 first—memory—controller—output信號(hào)經(jīng)配置以指示第 一存儲(chǔ)器控制器何時(shí)釋放地址總線,以用于所述第一存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線的讀取存取之后的下一外部存取。第二 first—memory—controller—output信號(hào)經(jīng)配置以指示第一存儲(chǔ)器控制器何時(shí)釋放 數(shù)據(jù)總線,以用于所述第一存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線的寫入存取之后的下一外部存取。 第一 second—memory—controller—output信號(hào)經(jīng)配置以指示第二存儲(chǔ)器控制器何時(shí)釋放地 址總線,以用于所述第二存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線的讀取存取之后的外部存取。第二
second—memory—controller—output信號(hào)經(jīng)配置以指示第二存儲(chǔ)器控制器何時(shí)釋放數(shù)據(jù)總 線,以用于所述第二存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線的寫入存取之后的外部存取。
圖1描繪現(xiàn)有技術(shù)系統(tǒng)結(jié)構(gòu),其中微控制器連接到外部存儲(chǔ)器,例如靜態(tài)RAM (SRAM)存儲(chǔ)器和同步動(dòng)態(tài)RAM (SDRAM)存儲(chǔ)器。 圖2說明基本的現(xiàn)有技術(shù)微控制器結(jié)構(gòu)。圖3展示具有若干子模塊(包含SRAM存儲(chǔ)器控制器和SDRAM存儲(chǔ)器控制器)的 外部總線接口 (EBI)的現(xiàn)有技術(shù)結(jié)構(gòu)。圖4說明用于系統(tǒng)的現(xiàn)有技術(shù)波形,所述系統(tǒng)包含對(duì)外部存儲(chǔ)器的讀取存取,所述 存取需要一個(gè)等待狀態(tài),并在外部存儲(chǔ)器被取消選定之后需要大致一個(gè)時(shí)鐘循環(huán)以釋放 數(shù)據(jù)總線。圖5描繪本發(fā)明的用于改進(jìn)具有多個(gè)存儲(chǔ)器控制器和多個(gè)占線信號(hào)電路的電路的帶 寬的設(shè)備。圖6說明用于圖5的設(shè)備的在處理量方面具有兩個(gè)時(shí)鐘增益的時(shí)序圖。圖7說明在外部讀取存取之后為外部存取時(shí),用于圖5的設(shè)備的在處理量方面具有一增益的時(shí)序圖。圖8說明在外部寫入存取之后為外部存取時(shí),在圖5的設(shè)備的處理量方面具有一增 益的時(shí)序圖。
具體實(shí)施方式
參考圖5,用于改進(jìn)電路140的帶寬的本發(fā)明的EBI設(shè)備140具有與第二(SDRAM) 存儲(chǔ)器控制器144并行的第一 (SRAM )存儲(chǔ)器控制器142 。第一 first—memory—controller一output信號(hào)電路146確立busy_read_out sram控制器輸出信號(hào)8。 第二 first—memory—controller—output信號(hào)電路148確立busy—write—out sram控制器輸出 信號(hào)7。 第一 second—memory—controller—output信號(hào)電路156確立busy—read—out sdram 控制器輸出信號(hào)2 。第二 second—memory—controller—output信號(hào)電路154確立 busy—write—out sdram控制器輸出信號(hào)1 。第一 first—memory—controller—input信號(hào)電路150接收busy—read—in—sram信號(hào)6。第 二 first—memory—controller—input信號(hào)電路152接收busy—write—in—sram信號(hào)5。 第一 second—memory—controller—input信號(hào)電路160接收busy—read—in—sdram信號(hào)4, 且第二 second—memory—controller—input信號(hào)電路158接收busy—write—in—sdram信號(hào)3。
可從各種存儲(chǔ)器控制器中選出第一存儲(chǔ)器控制器142以及第二存儲(chǔ)器控制器144, 所述存儲(chǔ)器控制器包含靜態(tài)RAM (SRAM)存儲(chǔ)器控制器、閃速存儲(chǔ)器控制器、突發(fā) 閃速存儲(chǔ)器控制器、同步動(dòng)態(tài)RAM (SDRAM)存儲(chǔ)器控制器、雙倍數(shù)據(jù)速率同步動(dòng)態(tài) RAM控制器,和縮短等待時(shí)間動(dòng)態(tài)RAM存儲(chǔ)器控制器。busy—read一in一sram信號(hào)6指示何時(shí)釋放外部數(shù)據(jù)總線162以用于SRAM存儲(chǔ)器控 制器142的讀取存取。busy一write一in一sram信號(hào)5指示何時(shí)釋放外部數(shù)據(jù)總線162以用 于SRAM存儲(chǔ)器控制器142的寫入存取。busy—read—in—sdram信號(hào)4指示何時(shí)釋放外部 地址總線166以用于SDRAM存儲(chǔ)器控制器144的讀取存取。busy一write一in一sdram信號(hào) 3指示何時(shí)釋放外部數(shù)據(jù)總線162以用于SDRAM存儲(chǔ)器控制器144的寫入存取。仍參看圖5, busy—read— —in—sram信號(hào)6禾口 busy—write—in—sram信號(hào)5在內(nèi)部與選擇 信號(hào)sel—extsram 168組合,以允許SRAM控制器142對(duì)外部總線162的存取。類似地, busy—read—in—sdram信號(hào)4禾卩busy—write—in—sdram信號(hào)3在內(nèi)部與選擇信號(hào)sel—extsdram 170組合,以允許SDRAM控制器144對(duì)外部總線162的存取。仍參看圖5, busy—read—out sram控制器輸出信號(hào)8指示SRAM存儲(chǔ)器控制器142 何時(shí)釋放外部地址總線166,以用于SRAM存儲(chǔ)器控制器142對(duì)數(shù)據(jù)總線的讀取存取之 后的下一外部存取。busy_write—out sram控制器輸出信號(hào)7指示SRAM存儲(chǔ)器控制器142 何時(shí)釋放外部數(shù)據(jù)總線162,以用于SRAM存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線的寫入存取之后的 下一外部存取。busy—read_out sdram控制器輸出信號(hào)2指示SDRAM存儲(chǔ)器控制器144 何時(shí)釋放外部地址總線166,以用于SDRAM存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線的讀取存取之后 的外部存取。busy_wdte—out sdram控制器輸出信號(hào)1經(jīng)配置以指示SDRAM存儲(chǔ)器控制 器144何時(shí)釋放外部數(shù)據(jù)總線162,以用于SDRAM存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線的寫入存 取之后的外部存取。在滿足某些條件時(shí)確立"busy—read—out/ busy—write—out"信號(hào)。對(duì)外部存儲(chǔ)器的讀 取存取結(jié)束時(shí)(數(shù)據(jù)浮動(dòng)時(shí)間,還稱為TDF)是確立"busy—read—out"信號(hào)的時(shí)序條件。 在這個(gè)周期期間,確立"busy—read—out"信號(hào)以向驅(qū)動(dòng)對(duì)地址總線166的下一存取的存 儲(chǔ)器控制器142 (或144)指示可執(zhí)行某一命令(有效或預(yù)充電命令),因?yàn)橥獠康刂房?線166不占線。存儲(chǔ)器控制器142 (或144)預(yù)期對(duì)地址總線的下一存取,但只要確立 "busy—read—out"信號(hào),其將不執(zhí)行讀取命令,因?yàn)槭S鄶?shù)據(jù)可能存在于EBI數(shù)據(jù)總線 上。在讀取存取期間(無論下一存取是什么),等待信號(hào)172經(jīng)確立以向主控裝置(微 處理器,或直接存儲(chǔ)器存取控制器)(未圖示)指示數(shù)據(jù)未準(zhǔn)備就緒。在這種情形下不 可預(yù)期其它存取。
另一方面,在數(shù)據(jù)總線162是由微控制器(未圖示)驅(qū)動(dòng)的情況下,確立 "busy—write—out"信號(hào)的條件是存儲(chǔ)器控制器142 (或144)對(duì)數(shù)據(jù)總線162的寫入存 取。存儲(chǔ)器(例如,SRAM或SDRAM)可能需要若干時(shí)鐘循環(huán)以使得可正確寫入數(shù)據(jù)。 存儲(chǔ)器控制器142 (或144)包含存儲(chǔ)元件(未圖示)以在寫入傳送完成之前保存 數(shù)據(jù)。如果是這種情況,無需確立"等待"信號(hào)。作為替代,應(yīng)通知主控裝置(微控制 器),對(duì)數(shù)據(jù)總線的當(dāng)前寫入存取需要若干時(shí)鐘循環(huán)來完成。這是通過確立 "busy—write—out"信號(hào)以防止對(duì)EBI的任何其它存取而實(shí)現(xiàn)的。在這種情況下,不可能 預(yù)期對(duì)數(shù)據(jù)總線162的下一存取(無論下一存取是什么),因?yàn)橥獠康刂房偩€166正由 于寫入存取而占線。因此,本發(fā)明的設(shè)備140對(duì)于多種存儲(chǔ)器類型優(yōu)化了 EBI結(jié)構(gòu)的效 率。實(shí)際上,對(duì)于給定時(shí)鐘頻率,應(yīng)用軟件在具有本發(fā)明時(shí)比不具有本發(fā)明時(shí)運(yùn)行得快。 在下文論述中說明用于本發(fā)明的多種存儲(chǔ)器類型的EBI結(jié)構(gòu)的效率。仍參看圖5,包含第一 first—memory—controller—output信號(hào)電路146、第二 first—memory—controller—output信號(hào)電路148、第一 second—memory—controller—output信 號(hào)電路156,和第二 second—memory—controller—output信號(hào)電路154的輸出電路全部與包 含第一 first—memory—controller—input信號(hào)電路150、第二 first—memory—controller—input 信號(hào)電路 152 、 第一 second—memory—controller—input信號(hào)電路 160 ,禾口第二 second—memory—controller—i叩ut信號(hào)電路158的輸入電路電連通。存儲(chǔ)器控制器142的"busy—write—out"信號(hào)7驅(qū)動(dòng)存儲(chǔ)器控制器144的 "busy—write Jn "信號(hào)3。在本發(fā)明的另一實(shí)施例中,存儲(chǔ)器控制器144的 "busy—write—out"輸出信號(hào)1驅(qū)動(dòng)存儲(chǔ)器控制器142的"busy—write—in"信號(hào)5。在本 發(fā)明的再一實(shí)施例中,存儲(chǔ)器控制器142的"busy—read—out"信號(hào)8驅(qū)動(dòng)存儲(chǔ)器控制器 144的"busy—read—in"信號(hào)4。在本發(fā)明的又一實(shí)施例中,存儲(chǔ)器控制器144的 "busy—read—out"輸出信號(hào)2驅(qū)動(dòng)存儲(chǔ)器控制器142的"busy—read—in"信號(hào)6。 實(shí)例I圖6說明在外部讀取存取之后為外部存取而存儲(chǔ)器僅需一個(gè)時(shí)鐘循環(huán)的TDF時(shí)用于 圖5的設(shè)備的信號(hào)輸出圖,其與圖4的現(xiàn)有技術(shù)設(shè)備的處理量相比,在處理量方面具有 兩個(gè)時(shí)鐘增益。更明確地說,由主控裝置在內(nèi)部系統(tǒng)總線205上發(fā)送的讀取傳送命令220 開始對(duì)外部存儲(chǔ)器的讀取傳送,隨后是對(duì)外部總線的外部存儲(chǔ)器傳送至另一裝置的存 取。在EBI上需要讀取存取(在地址位置A1 224處的讀取值D1 228)。在第一時(shí)鐘周期 Tl 228 (在系統(tǒng)總線時(shí)鐘202上)期間確立來自存儲(chǔ)器控制器的等待信號(hào)226,且隨后取消確立。實(shí)際上,主控裝置在不具有等待信號(hào)的情況下在對(duì)應(yīng)于外部存儲(chǔ)器的地址位置A2 232處開始新的寫入存取D2 230。作為替代,存儲(chǔ)器控制器將內(nèi)部地址總線值A(chǔ)2 229取樣到內(nèi)部存儲(chǔ)元件中,并在外部地址總線上保持這個(gè)值,直到存儲(chǔ)器在時(shí)間T3 240 處完成對(duì)數(shù)據(jù)總線的讀取(值D1 228)。這個(gè)時(shí)間與圖4的時(shí)間T3恰好相同。所不同的 是下一存取(例如,在地址位置A2 232處的寫入存取D2 230)可開始的時(shí)間。由于不 具有等待信號(hào)且具有占線讀取信號(hào)216,所以主控裝置可使用控制總線及地址總線起始 下一傳送命令,接著可在時(shí)間T3 240 (等于(Tl+2)個(gè)時(shí)鐘循環(huán))時(shí)執(zhí)行對(duì)外部裝置的 下一傳送命令。另一方面,在如圖4中所描繪的現(xiàn)有技術(shù)實(shí)施例中,開始新傳送命令的 時(shí)間為T3二 (Tl+4)個(gè)時(shí)鐘循環(huán)。增益是2個(gè)時(shí)鐘循環(huán)。如果現(xiàn)有技術(shù)設(shè)備中所使用 的用以完成單個(gè)讀取的等待信號(hào)長于3個(gè)時(shí)鐘循環(huán),那么增益會(huì)更高。 實(shí)例II圖7說明用于圖5的設(shè)備的其它信號(hào)輸出圖。在此實(shí)例中,存儲(chǔ)器需要多于2個(gè)時(shí) 鐘循環(huán)的TDF 252,而在圖6中所示的實(shí)例中,存儲(chǔ)器僅需要一個(gè)時(shí)鐘循環(huán)的TDF 242。 數(shù)據(jù)浮動(dòng)時(shí)間(TDF)不是等待時(shí)間254的一部分。對(duì)于給定實(shí)例,增益是2個(gè)時(shí)鐘循 環(huán)。如果外部存儲(chǔ)器需要更多循環(huán)來在取消選定之后釋放數(shù)據(jù)總線,那么增益更高。更 具體來說,在第一存取時(shí),"等待"信號(hào)254經(jīng)確立以防止主控裝置在第一循環(huán)T1 258 后的循環(huán)T2 256處過早地讀取數(shù)據(jù)。在第二循環(huán)T2 256時(shí),"等待"信號(hào)254經(jīng)釋放以 通知主控裝置數(shù)據(jù)在內(nèi)部總線上就緒。從外部數(shù)據(jù)總線到內(nèi)部數(shù)據(jù)總線存在直接的處理 量。在相同的T2循環(huán)上,"busy—read"信號(hào)260經(jīng)確立以防止對(duì)EBI的新的存取,而避 免在外部數(shù)據(jù)總線上的數(shù)據(jù)競爭。如果下一循環(huán)是外部循環(huán),那么可在確立busy—read 信號(hào)260的時(shí)間周期期間發(fā)送若干命令。這允許使用總線地址。當(dāng)取消確立busy—read 以避免總線上的數(shù)據(jù)競爭時(shí),且當(dāng)符合所有額外條件時(shí)(例如,SDRAM的異步時(shí)序), 處理A2地址264,且在外部數(shù)據(jù)總線上設(shè)定相應(yīng)的數(shù)據(jù)(D2) 266。如果下一循環(huán)是內(nèi) 部存取(例如,不使用外部數(shù)據(jù)總線的對(duì)A3 268,對(duì)A4 270,和對(duì)A5 272地址的內(nèi)部 存取),那么數(shù)據(jù)競爭的風(fēng)險(xiǎn)較低,且不妨礙傳送。實(shí)例III圖8說明圖5的設(shè)備的其它信號(hào)輸出圖。存儲(chǔ)器可能需要若干時(shí)鐘循環(huán)(例如,兩個(gè)時(shí)鐘周期)以正確寫入。如果存儲(chǔ)器控制器包含存儲(chǔ)元件以在完成寫入傳送之前保存數(shù)據(jù),那么不需要確立等待信號(hào)284。實(shí)際上,需要通知系統(tǒng)(主控裝置)當(dāng)前寫入存取需要若干時(shí)鐘循環(huán)來完成。這通過確立busy—write信號(hào)282來防止對(duì)EBI的任何其它存取來實(shí)現(xiàn)。如果是這種情況,那么不可能預(yù)期下一存取,無論下一存取是什么,因?yàn)橥獠康刂房偩€由于寫入存取而占線。在此實(shí)施例中,增益取決于完成寫入命令所需的時(shí)
鐘循環(huán)的數(shù)目。仍參看圖5,以下輸出電路第一 first—memory—controller—output信號(hào)電路146 、第 二 first—memory—controller—output信號(hào)電路148、 第一 second—memory—controller—output 信號(hào)電路156,和第二 second—memory—controller—output信號(hào)電路154全部與以下輸入電 足各第一 first—memory—controller—input "f言號(hào)電£各150、第二 first—memory—controller—input 信號(hào)電路 152 、第一 second—memory—controller—input信號(hào)電路 160 , 和第二 second—memory—controller—input信號(hào)電路158斷開電連接。在此實(shí)施例中,簡化結(jié)構(gòu)的 特征為數(shù)據(jù)總線162、單個(gè)存儲(chǔ)器控制器142、第一輸出信號(hào)電路146、第二輸出信號(hào) 電路M8、第一輸入信號(hào)電路150,和第二輸入信號(hào)電路152。第一輸出信號(hào)8指示存儲(chǔ) 器控制器142何時(shí)釋放地址總線166,以用于在所述存儲(chǔ)器控制器142對(duì)數(shù)據(jù)總線進(jìn)行 讀取存取之后的下一外部存取,而第二輸出信號(hào)7指示存儲(chǔ)器控制器142何時(shí)釋放數(shù)據(jù) 總線162,以用于在所述存儲(chǔ)器控制器142對(duì)數(shù)據(jù)總線162進(jìn)行寫入存取之后的下一外 部存取。第一輸入信號(hào)6指示外部存儲(chǔ)器控制器何時(shí)釋放地址總線166以用于存儲(chǔ)器控 制器142的讀取存取,而第二輸入信號(hào)5指示外部存儲(chǔ)器控制器何時(shí)釋放外部總線以用 于存儲(chǔ)器控制器142的寫入存取。用于改進(jìn)具有多個(gè)存儲(chǔ)器控制器的電路的帶寬的方法使用以下歩驟(A)確立第一 firsUnemoiy一controlIer一output信號(hào)以指示第一存儲(chǔ)器控制器何時(shí)釋放地址總線,以用于 第一存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線進(jìn)行讀取存取之后的下一外部存?。?B)確立第二 first一memory一con加ller一oiitput信號(hào)以指示第一存儲(chǔ)器控制器何時(shí)釋放數(shù)據(jù)總線,以用于 第一存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線進(jìn)行寫入存取之后的下一外部存取;(C)確立第一 second—memory—controller—output信號(hào)以指示第二存儲(chǔ)器控制器何時(shí)釋放地址總線,以用 于第二存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線進(jìn)行讀取存取之后的外部存?。缓?D)確立第二 second—memory—controller—output信號(hào)以指示第二存儲(chǔ)器控制器何時(shí)釋放數(shù)據(jù)總線,以用 于第二存儲(chǔ)器控制器對(duì)數(shù)據(jù)總線進(jìn)行寫入存取之后的外部存取。在本發(fā)明的 一 個(gè)實(shí)施例中,確立第一 first—memory—controller—output信號(hào)的步驟(A) 進(jìn)一步包含以下步驟(Al)通過使用地址總線確立first一busy一reacLout信號(hào)以預(yù)期在第 一存儲(chǔ)器控制器對(duì)外部數(shù)據(jù)總線進(jìn)行初始讀取存取之后對(duì)數(shù)據(jù)總線的下一外部存取。確立第二 first—memory—controller—output信號(hào)的步驟(B)進(jìn)一步包含以下步驟(Bl)確立first—busy—write—out信號(hào)以延遲在第一存儲(chǔ)器控制器對(duì)外部數(shù)據(jù)總線進(jìn)行初始寫入存取之后對(duì)外部數(shù)據(jù)總線的所有外部存取。確立第一second—memory—controller—output信號(hào)的步驟(C)進(jìn)一步包含以下步驟(CI)通過使 用地址總線確立seconcLbusy一reacLout信號(hào)以預(yù)期在第二存儲(chǔ)器控制器對(duì)外部數(shù)據(jù)總線 進(jìn)行初始讀取存取之后對(duì)數(shù)據(jù)總線的下 一 外部存取。確立第二 second—memory—controller—output信號(hào)的步驟(D)進(jìn)一步包含以下步驟(Dl)確立 second—busy—write—out信號(hào)以延遲在第二存儲(chǔ)器控制器對(duì)外部數(shù)據(jù)總線進(jìn)行初始寫入存 取之后對(duì)外部數(shù)據(jù)總線的所有外部存取。其它步驟可包含以下步驟(E)確立第一 first—memory—controller—input信號(hào)以指示 何時(shí)釋放外部地址總線,以用于第一存儲(chǔ)器控制器的讀取存取;(F)確立第二 first—memory—controller—input信號(hào)以指示何時(shí)釋放外部數(shù)據(jù)總線,以用于第 一 存儲(chǔ)器控 制器的寫入存取;(G )確立第一 second_memory—controller—input信號(hào)以指示何時(shí)釋放外 部地址總線,以用于第二存儲(chǔ)器控制器的讀取存??;和(H )確立第二 second—memory—controller—input信號(hào)以指示何時(shí)釋放外部數(shù)據(jù)總線,以用于第二存儲(chǔ)器 控制器的寫入存取。
權(quán)利要求
1.一種系統(tǒng),其包括地址總線和數(shù)據(jù)總線,存儲(chǔ)器控制器與所述地址總線和所述數(shù)據(jù)總線電連通;第一輸出信號(hào)電路,其與所述存儲(chǔ)器控制器電連通,其中所述第一輸出電路具有用于在所述存儲(chǔ)器控制器釋放所述地址總線時(shí)發(fā)出信號(hào)的構(gòu)件;以及第二輸出信號(hào)電路,其與所述存儲(chǔ)器控制器電連通,其中所述第二輸出信號(hào)電路具有用于在所述存儲(chǔ)器控制器釋放所述數(shù)據(jù)總線時(shí)發(fā)出信號(hào)的構(gòu)件。
2. 根據(jù)權(quán)利要求l所述的設(shè)備,其進(jìn)一步包括第一輸入信號(hào)電路,其與所述存儲(chǔ)器控制器電連通,其中所述第一輸入信號(hào)電路 具有用于在外部存儲(chǔ)器控制器釋放所述地址總線以供所述存儲(chǔ)器控制器進(jìn)行存取 時(shí)發(fā)出信號(hào)的構(gòu)件;以及第二輸入信號(hào)電路,其與所述存儲(chǔ)器控制器電連通,其中所述第二輸入信號(hào)電路 具有用于在所述外部存儲(chǔ)器控制器釋放所述數(shù)據(jù)總線以供所述存儲(chǔ)器控制器進(jìn)行 存取時(shí)發(fā)出信號(hào)的構(gòu)件。
3. 根據(jù)權(quán)利要求2所述的設(shè)備,其中所述存儲(chǔ)器控制器具有延遲構(gòu)件,所述延遲構(gòu)件 用于通過使用所述第二輸入信號(hào)延遲在對(duì)所述數(shù)據(jù)總線的初始存取之后對(duì)所述數(shù) 據(jù)總線的所有外部存取。
4. 根據(jù)權(quán)利要求2所述的設(shè)備,其中所述存儲(chǔ)器控制器進(jìn)一步包括預(yù)期構(gòu)件,所述預(yù) 期構(gòu)件用于通過使用所述第一輸入信號(hào)預(yù)期在對(duì)所述數(shù)據(jù)總線進(jìn)行初始存取之后 對(duì)所述地址總線的下一外部存取。
5. —種改進(jìn)具有多個(gè)存儲(chǔ)器控制器的電路的帶寬的方法,所述方法包括以下步驟a) 確立第一輸出信號(hào),以指示第一存儲(chǔ)器控制器何時(shí)釋放地址總線以用于所述 第一存儲(chǔ)器控制器對(duì)所述數(shù)據(jù)總線進(jìn)行存取之后的下一外部存?。籦) 確立第二輸出信號(hào),以指示所述第一存儲(chǔ)器控制器何時(shí)釋放所述數(shù)據(jù)總線以 用于所述第一存儲(chǔ)器控制器對(duì)所述數(shù)據(jù)總線進(jìn)行存取之后的下一外部存?。籧) 確立第一輸出信號(hào),以指示第二存儲(chǔ)器控制器何時(shí)釋放所述地址總線以用于 所述第二存儲(chǔ)器控制器對(duì)所述數(shù)據(jù)總線進(jìn)行存取之后的下一外部存取;以及d) 確立第二輸出信號(hào),以指示所述第二存儲(chǔ)器控制器何時(shí)釋放所述數(shù)據(jù)總線以 用于所述第二存儲(chǔ)器控制器對(duì)所述數(shù)據(jù)總線進(jìn)行存取之后的下一外部存取。
6. 根據(jù)權(quán)利要求5所述的方法,其進(jìn)一步包括以下步驟 e) 確立第一輸入信號(hào),以指示何時(shí)釋放所述外部地址總線以用于所述第一存儲(chǔ) 器控制器的存??;f) 確立第二輸入信號(hào),以指示何時(shí)釋放所述外部數(shù)據(jù)總線以用于所述控制器的 存??;g) 確立第一輸入信號(hào),以指示何時(shí)釋放所述外部地址總線以用于所述第二存儲(chǔ) 器控制器的存??;以及h) 確立第二輸入信號(hào),以指示何時(shí)釋放所述外部數(shù)據(jù)總線以用于所述第一存儲(chǔ) 器控制器的存取。
7. 根據(jù)權(quán)利要求5所述的方法,其中所述確立所述第一輸出信號(hào)的步驟a)進(jìn)一歩包 含以下步驟-a) 確立一信號(hào),其指示所述地址總線被釋放以預(yù)期在所述第一存儲(chǔ)器控制器對(duì) 所述外部數(shù)據(jù)總線的初始存取之后對(duì)所述數(shù)據(jù)總線的下一外部存取。
8. 根據(jù)權(quán)利要求5所述的方法,其中所述確立所述第二輸出信號(hào)的歩驟b)進(jìn)一步包 含以下-歩驟b) 確立一信號(hào),以延遲在所述第一存儲(chǔ)器控制器對(duì)所述外部數(shù)據(jù)總線的初始存 取之后對(duì)所述外部數(shù)據(jù)總線的所有外部存取。
9. 根據(jù)權(quán)利要求5所述的方法,其中所述確立所述第一輸出信號(hào)的歩驟c)進(jìn)一歩包 含以下歩驟c) 確立一信號(hào),其指示所述地址總線被釋放以預(yù)期在所述第二存儲(chǔ)器控制器對(duì) 所述外部數(shù)據(jù)總線的初始存取之后對(duì)所述數(shù)據(jù)總線的下一外部存取。
10. 根據(jù)權(quán)利要求5所述的方法,其中所述確立所述第二輸出信號(hào)的歩驟d)進(jìn)一步包 含以下步驟d) 確立一信號(hào),以延遲在所述第二存儲(chǔ)器控制器對(duì)所述外部數(shù)據(jù)總線的初始存 取之后對(duì)所述外部數(shù)據(jù)總線的所有外部存取。
全文摘要
一種用于改進(jìn)具有多個(gè)存儲(chǔ)器控制器的電路的帶寬的設(shè)備(140),其使用第一存儲(chǔ)器控制器(142)、第二存儲(chǔ)器控制器(144)、第一占線讀取輸出信號(hào)電路(146)、第一占線寫入輸出信號(hào)電路(148)、第二占線讀取輸出信號(hào)電路(156)和第二占線寫入輸出信號(hào)電路(154)。第一占線讀取輸出信號(hào)(8)指示所述第一存儲(chǔ)器控制器(142)何時(shí)釋放地址總線(166),以用于所述第一存儲(chǔ)器控制器(142)對(duì)數(shù)據(jù)總線進(jìn)行讀取存取之后的下一外部存取。第一占線寫入輸出信號(hào)(7)指示所述第一存儲(chǔ)器控制器(142)何時(shí)釋放數(shù)據(jù)總線(162),以用于所述第一存儲(chǔ)器控制器(142)對(duì)數(shù)據(jù)總線進(jìn)行寫入存取之后的下一外部存取。第二占線讀取輸出信號(hào)指示所述第二存儲(chǔ)器控制器(144)何時(shí)釋放地址總線(166),以用于所述第二存儲(chǔ)器控制器(144)對(duì)數(shù)據(jù)總線進(jìn)行讀取存取之后的下一外部存取。第二占線寫入輸出信號(hào)(1)指示所述第二存儲(chǔ)器控制器(144)何時(shí)釋放數(shù)據(jù)總線(162),以用于所述第二存儲(chǔ)器控制器(144)對(duì)數(shù)據(jù)總線進(jìn)行寫入存取之后的下一外部存取。
文檔編號(hào)G06F13/00GK101160569SQ200680012371
公開日2008年4月9日 申請(qǐng)日期2006年3月8日 優(yōu)先權(quán)日2005年4月15日
發(fā)明者埃里克·馬圖利克 申請(qǐng)人:愛特梅爾公司