專利名稱:基于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器核心的多端口存儲(chǔ)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及半導(dǎo)體存儲(chǔ)器件,特別是涉及裝備有多個(gè)端口的 半導(dǎo)體存儲(chǔ)器。
背景技術(shù):
多端口存儲(chǔ)器,它們是裝備有多個(gè)端口的半導(dǎo)體存儲(chǔ)器,可以分 成不同的類型。當(dāng)下文中使用術(shù)語"多端口存儲(chǔ)器"時(shí),它指的是具有 多個(gè)端口的存儲(chǔ)器,該多端口存儲(chǔ)器允許從任何一個(gè)端口獨(dú)立地存取 到一個(gè)公共存儲(chǔ)器陣列。這樣一個(gè)存儲(chǔ)器可以有一個(gè)A端口和一個(gè)B 端口,并允許對(duì)于公共存儲(chǔ)器陣列從與A端口鏈接的CPU和從與B 端口鏈接的CPU獨(dú)立地進(jìn)行讀/寫操作。
一個(gè)多端口存儲(chǔ)器裝備有一個(gè)稱為判優(yōu)器的判優(yōu)電路。判優(yōu)器確 定從多個(gè)端口接收的各存取要求的優(yōu)先權(quán),存儲(chǔ)器陣列的控制電路根 據(jù)確定的優(yōu)先權(quán)一個(gè)接一個(gè)的進(jìn)行存取操作。例如, 一個(gè)存取要求越 早到達(dá)一個(gè)端口,就會(huì)給予該存取越高的優(yōu)先權(quán)。
在這種情形中,因?yàn)殡S機(jī)地從多個(gè)接口存取存儲(chǔ)器陣列,所以在 執(zhí)行了讀或?qū)懙拇嫒〔僮骱笮枰⒓词勾鎯?chǔ)器陣列復(fù)位,從而保證存 儲(chǔ)器陣列已經(jīng)為下一次存取作好了準(zhǔn)備。即,如果響應(yīng)一個(gè)來自一個(gè) 給定端口的存取使一條字線保持在一個(gè)選出的狀態(tài),和如一般在
4DRAM中使用的列存取操作中那樣連續(xù)地動(dòng)移各列地址以便讀出連 續(xù)的數(shù)據(jù),則在該操作期間來自另一個(gè)端口的存取將一直等待著。因 此,在每次讀或?qū)懖僮骱笮枰⒓词勾鎯?chǔ)器陣列復(fù)位。
常規(guī)地,已經(jīng)典型地將一個(gè)SRAM用作一個(gè)多端口存儲(chǔ)器的一個(gè) 存儲(chǔ)器陣列。這是因?yàn)橐粋€(gè)SRAM允許高速隨機(jī)存取,而且可以進(jìn)行 非破壞性讀操作。
在一個(gè)具有兩個(gè)端口的多端口存儲(chǔ)器中,例如, 一個(gè)SRAM存儲(chǔ) 單元具有兩組字線和各位線對(duì)。 一個(gè)端口用 一組字線和一個(gè)位線對(duì)實(shí) 施讀/寫操作,另 一個(gè)端口用另 一組字線和一個(gè)位線對(duì)實(shí)施讀/寫操作。
在這種方式中,能夠從兩個(gè)不同的端口獨(dú)立地實(shí)施讀/寫操作。然而, 因?yàn)楫?dāng)兩個(gè)端口企圖在同一時(shí)間將數(shù)據(jù)寫入同一存儲(chǔ)單元時(shí)不可能同 時(shí)進(jìn)行兩個(gè)寫操作,所以給予一個(gè)端口進(jìn)行寫操作的優(yōu)先權(quán),而給予 另一個(gè)端口一個(gè)BUSY (忙碌)信號(hào)。這稱為一個(gè)BUSY狀態(tài)。
當(dāng)開發(fā)一個(gè)系統(tǒng)使它有改善的性能時(shí),可以由該系統(tǒng)處理數(shù)據(jù)量 也增加了。結(jié)果, 一個(gè)多端口存儲(chǔ)器需要很大的容量。然而,SRAM 型多端口存儲(chǔ)器有一個(gè)缺點(diǎn),即存儲(chǔ)單元的尺寸大。
為了消除這個(gè)缺點(diǎn),在一個(gè)多端口存儲(chǔ)器中采用 一個(gè)DRAM陣列 是可以理解的。為了得到比多端口 SRAM高得非常多的電路密度,需 要用于多端口存儲(chǔ)器的一個(gè)DRAM存儲(chǔ)單元以與一個(gè)典型的DRAM 單元相同的方式只與一條字線和一條位線連接。如果以這樣一種方式 用DRAM元件制成存儲(chǔ)塊,則如果一個(gè)端口正在對(duì)一個(gè)給定的存儲(chǔ)塊 執(zhí)行讀或?qū)懖僮?,另一個(gè)端口就不能存取該存儲(chǔ)塊。這是因?yàn)樵谝粋€(gè) DRAM存儲(chǔ)單元中只可以有一個(gè)非破壞性讀操作。即,當(dāng)讀信息時(shí), 不能選擇在同 一個(gè)存儲(chǔ)塊中的另 一條字線直到在存儲(chǔ)單元中這個(gè)信息 被放大和恢復(fù)與 一條字線和一條位線被預(yù)先充電為止。
因?yàn)檫@個(gè)原因,如果一個(gè)給定的端口存取一個(gè)正在被另一個(gè)端口 存取的存儲(chǔ)塊,則將檢測(cè)出一個(gè)BUSY狀態(tài)。只有當(dāng)多個(gè)端口同時(shí)對(duì) 同 一個(gè)存儲(chǔ)單元發(fā)出寫要求時(shí),在SRAM型多端口存儲(chǔ)器中才會(huì)出現(xiàn) BUSY狀態(tài)。另一方面,當(dāng)多個(gè)端口同時(shí)對(duì)同一個(gè)存儲(chǔ)單元發(fā)出任何類型的存取要求時(shí),在DRAM型多端口存儲(chǔ)器中會(huì)出現(xiàn)BUSY狀態(tài)。 所以在DRAM型存儲(chǔ)器中出現(xiàn)BUSY狀態(tài)的概率非常大于在SRAM 型存儲(chǔ)器中出現(xiàn)BUSY狀態(tài)的概率。進(jìn)一步, 一旦處在BUSY狀態(tài)中, DRAM型多端口存儲(chǔ)器就會(huì)受到不能進(jìn)行希望的操作或由于等待時(shí) 間處理變得很慢這種問題的困擾。
然而,與SRAM型多端口存儲(chǔ)器不同,DRAM型多端口存儲(chǔ)器 需要一 個(gè)周期地進(jìn)行的刷新操作以便保持存儲(chǔ)的信息,從而必須采取 某種措施保證適當(dāng)?shù)乃⑿露〞r(shí)。
因此,本發(fā)明的目的是提供能夠消除特別與DRAM有關(guān)的各問題 的DRAM型多端口存儲(chǔ)器。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)一般的目的是提供能夠基本上消除由已有技術(shù)的限 制和缺點(diǎn)引起的一個(gè)或多個(gè)問題的半導(dǎo)體存儲(chǔ)器件(多端口存儲(chǔ)器)。
我們將在下列描述中提出本發(fā)明的特點(diǎn)和優(yōu)點(diǎn),并且一部分特點(diǎn) 和優(yōu)點(diǎn)將從描述和所附各圖變得很清楚,或者可以根據(jù)描述中提供的 指導(dǎo)通過實(shí)踐本發(fā)明來了解這些特點(diǎn)和優(yōu)點(diǎn)。我們將通過用使普通的 熟練的技術(shù)人員能夠?qū)嵤┍景l(fā)明的那種完整,清楚,扼要和精確的術(shù) 語在說明書中具體指出由 一個(gè)多端口存儲(chǔ)器能夠?qū)崿F(xiàn)和得到的本發(fā)明 的各目的以及各其它的特點(diǎn)和優(yōu)點(diǎn)。
為了實(shí)現(xiàn)這些和其它的優(yōu)點(diǎn)及根據(jù)本發(fā)明的目的,如在這里具體 地和廣泛地描述的那樣,本發(fā)明提供這樣一個(gè)半導(dǎo)體存儲(chǔ)器件,該器 件包括每個(gè)端口都接受指令的數(shù)量為N的多個(gè)外部端口和一個(gè)在輸入 到一個(gè)外部端口的各指令的最小時(shí)間間隔期間至少執(zhí)行N次存取操作 的內(nèi)部電路。
進(jìn)一步,提供一個(gè)判優(yōu)電路,該判優(yōu)電路確定一個(gè)內(nèi)部電路執(zhí)行 輸入到N個(gè)外部端口的多個(gè)指令時(shí)的指令執(zhí)行次序。
在上面描述的本發(fā)明中,當(dāng)指令進(jìn)入N個(gè)端口時(shí),所有的與N個(gè) 端口對(duì)應(yīng)的N個(gè)指令在任何給定的端口的最小指令周期內(nèi)被一個(gè)接著一個(gè)地執(zhí)行。因此, 一個(gè)與任何給定端口有關(guān)的存取指令出現(xiàn)在器件 外部中并在最小指令周期內(nèi)被執(zhí)行。在這種情形中,只有當(dāng)從多個(gè)端
口存取同一個(gè)地址時(shí)才會(huì)發(fā)生一個(gè)BUSY信號(hào)。這樣就可以得到和 SRAM型多端口存儲(chǔ)器的BUSY狀態(tài)出現(xiàn)概率一樣低的BUSY狀態(tài)出 現(xiàn)概率。
而且在本發(fā)明的半導(dǎo)體存儲(chǔ)器件中,內(nèi)部電路包括一個(gè)存儲(chǔ)單元 陣列,該陣列是由許多動(dòng)態(tài)型存儲(chǔ)單元和一個(gè)定義各存儲(chǔ)單元被刷新 的定時(shí)的刷新電路組成的。在第一模式中,響應(yīng)一個(gè)輸入到N個(gè)外部 端口中的至少一個(gè)端口的刷新指令刷新各存儲(chǔ)單元,在第二模式中, 在刷新電路確定的定時(shí)刷新各存儲(chǔ)單元。
如上面描述的本發(fā)明具有第一個(gè)操作模式,其中響應(yīng)一個(gè)來自一 個(gè)外部端口的指令執(zhí)行刷新操作,和第二個(gè)操作模式,其中響應(yīng)內(nèi)部 刷新電路執(zhí)行刷新操作。因?yàn)檫@個(gè)配置,允許一個(gè)外部端口像一個(gè)用 于刷新管理的端口那樣地操作,以便在各恒定的時(shí)間間隔接收刷新指 令,或者如果這個(gè)用于刷新管理的端口處在一個(gè)去激活狀態(tài),則內(nèi)部 刷新電路實(shí)施刷新操作。這使按照系統(tǒng)配置以 一種靈活的方式管理刷 新操作成為可能。
圖l是用于解釋本發(fā)明原理(第l方面)的圖2是表示當(dāng)只有一個(gè)端口正在被使用時(shí)實(shí)施的一個(gè)刷新操作的圖。
圖3A到3C是在2個(gè)端口, 3個(gè)端口和N個(gè)端口的情形中用于解
釋本發(fā)明原理的圖4是表示根據(jù)本發(fā)明(第l方面)的多端口存儲(chǔ)器的笫1實(shí)施 例的方框圖5是與到一個(gè)判優(yōu)器的指令輸入有關(guān)的電路方框圖; 圖6A和6B是表示判優(yōu)器的一個(gè)配置的電路圖; 圖7是表示判優(yōu)器操作的定時(shí)圖;圖8是與到一個(gè)DRAM芯的地址輸入有關(guān)的電路方框圖; 圖9是與數(shù)據(jù)輸出有關(guān)的電路方框圖; 圖IO是表示一個(gè)傳輸信號(hào)發(fā)生電路的配置的電路圖。 圖ll是與數(shù)據(jù)輸入有關(guān)的電路方框圖12是表示當(dāng)連續(xù)輸入Read(讀)指令時(shí)實(shí)施的操作的定時(shí)圖; 圖13是表示當(dāng)連續(xù)輸入Write(寫)指令時(shí)實(shí)施的操作的定時(shí)圖; 圖14是表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上時(shí) 的定時(shí)圖15是表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上時(shí) 的定時(shí)圖16是表示當(dāng)指令從Read指令改變到Write指令時(shí)的操作的定 時(shí)圖17是表示當(dāng)指令從"Read,,改變到"Write"時(shí)輸入一個(gè)刷新指令 的定時(shí)的圖18是表示當(dāng)使一個(gè)端口去激活時(shí)實(shí)施的操作的定時(shí)圖19是表示當(dāng)使兩個(gè)端口去激活時(shí)實(shí)施的操作的定時(shí)圖20A和20B是表示DRAM芯操作的定時(shí)圖21是表示當(dāng)只使一個(gè)端口操作時(shí)實(shí)施的兩倍速率操作的定時(shí)
圖22是表示當(dāng)通過使時(shí)鐘頻率兩倍高使數(shù)據(jù)傳輸速率兩倍時(shí)兩 倍速率操作的定時(shí)圖23是用于解釋本發(fā)明(第1方面)的第2實(shí)施例的圖24是表示根據(jù)本發(fā)明(第1方面)的多端口存儲(chǔ)器的第2實(shí)施 例的方框圖25A和25B是用于解釋連續(xù)模式的定時(shí)圖26是表示當(dāng)對(duì)于A端口的Read指令和B端口的Write指令產(chǎn) 生BUSY信號(hào)時(shí)實(shí)施的操作的定時(shí)圖27是表示當(dāng)對(duì)于A端口的Read指令和B端口的Write指令產(chǎn) 生BUSY信號(hào)時(shí)實(shí)施的操作的定時(shí)圖;圖28是表示當(dāng)對(duì)于A端口的Write指令和B端口的Write指令 產(chǎn)生BUSY信號(hào)時(shí)實(shí)施的操作的定時(shí)圖29是表示當(dāng)對(duì)于A端口的Write指令和B端口的Write指令 產(chǎn)生BUSY信號(hào)時(shí)實(shí)施的操作的定時(shí)圖30是表示在一個(gè)能夠處理由控制器發(fā)出的中斷指令的配置中 操作的定時(shí)圖31是表示根據(jù)本發(fā)明(第1方面)的第2實(shí)施例的多端口存儲(chǔ) 器的一個(gè)地址比較器, 一個(gè)BUSY 1/0系統(tǒng),和一個(gè)中斷系統(tǒng)的配置 的圖32是表示主器件操作的定時(shí)圖; 圖33是表示從器件操作的定時(shí)圖34是表示當(dāng)兩個(gè)端口的寫地址相同時(shí)實(shí)施的主器件操作的定 時(shí)圖35是表示當(dāng)兩個(gè)端口的寫地址相同時(shí)實(shí)施的從器件操作的定 時(shí)圖36是表示當(dāng)兩個(gè)端口的寫地址相互匹配使控制器發(fā)出中斷指 令時(shí)主器件操作的定時(shí)圖37是表示當(dāng)兩個(gè)端口的寫地址相互匹配使控制器發(fā)出中斷指 令時(shí)從器件操作的定時(shí)圖38是用于解釋本發(fā)明(第2方面)的原理的圖,表示當(dāng)對(duì)于兩 個(gè)端口實(shí)施讀操作時(shí)的情形;
圖39是用于解釋本發(fā)明(第2方面)的原理的圖,表示脈沖串長 度為4的例子;
圖40是表示在2和3個(gè)端口的情景情形中在一個(gè)最小外部指令周 期和各內(nèi)部操作周期之間的關(guān)系的圖41是表示在n個(gè)端口的情形中在一個(gè)最小外部指令周期和各內(nèi) 部操作周期之間的關(guān)系的圖42是表示根據(jù)本發(fā)明(第2方面)的一個(gè)實(shí)施例的多端口存儲(chǔ) 器的配置的圖;圖43A到43C是表示根據(jù)本發(fā)明(第2方面)的實(shí)施例的多端口 存儲(chǔ)器的配置的圖44是表示根據(jù)第1實(shí)施例與指令處理有關(guān)的各裝置的配置的
圖45是表示根據(jù)第1實(shí)施例與指令處理有關(guān)的各裝置的配置的
圖46是判優(yōu)器的實(shí)施例;
圖47是表示根據(jù)第1實(shí)施例與地址處理有關(guān)的部分的配置的圖; 圖48是表示根據(jù)第1實(shí)施例與數(shù)據(jù)輸出有關(guān)的部分的配置的圖; 圖49是表示圖48的傳輸信號(hào)發(fā)生電路的圖。 圖50是表示根據(jù)第1實(shí)施例與數(shù)據(jù)輸入有關(guān)的部分的配置的圖; 圖51是表示當(dāng)將Read指令接連地輸入兩個(gè)端口時(shí)實(shí)施的操作的
圖52是表示當(dāng)將Read指令接連地輸入兩個(gè)端口時(shí)實(shí)施的操作的
圖53表示當(dāng)接連地輸入Write指令時(shí)的例子;
圖54表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上進(jìn)行 Read操作時(shí)實(shí)施的操作;
圖55表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上進(jìn)行 Read操作時(shí)實(shí)施的操作;
圖56是表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上進(jìn) 行Write操作時(shí)實(shí)施的操作的圖57是表示當(dāng)兩個(gè)端口都操作在最高頻率,并用內(nèi)部產(chǎn)生的刷新 指令使從Write指令改變到Read指令時(shí)實(shí)施的操作的時(shí)間圖58是表示當(dāng)兩個(gè)端口都操作在最高頻率,并用內(nèi)部產(chǎn)生的刷新 指令使從寫指令改變到讀指令時(shí)實(shí)施的操作的時(shí)間圖59A和59B是DRAM芯操作的定時(shí)圖60是表示刷新電路的配置的電路圖61是表示第2判優(yōu)器的電路配置的圖;圖62表示兩個(gè)端口經(jīng)受Write~>Read的指令改變,和在REF傳 輸禁止期間發(fā)生一個(gè)刷新定時(shí)器事件的情形;
圖63表示兩個(gè)端口經(jīng)受Write—Read的指令改變,和在REF傳 輸禁止期間發(fā)生 一個(gè)刷新定時(shí)器事件的情形;
圖64表示兩個(gè)端口如上面情形一樣經(jīng)受Write~>Read的指令改 變,但是在REF傳輸禁止期間前發(fā)生一個(gè)刷新定時(shí)器的情形;
圖65表示兩個(gè)端口如上面情形一樣經(jīng)受Write—Read的指令改 變,但是在REF傳輸禁止期間前發(fā)生一個(gè)刷新定時(shí)器的情形;
圖66表示只有A端口經(jīng)受Write—Read的指令變遷,和在REF 傳輸禁止期間發(fā)生一個(gè)刷新定時(shí)器事件的情形;
圖67表示只有A端口經(jīng)受Write—Read的指令變遷,和在REF 傳輸禁止期間發(fā)生一個(gè)刷新定時(shí)器事件的情形;
圖68表示在兩個(gè)端口連續(xù)寫的情形的定時(shí)圖69表示在兩個(gè)端口連續(xù)寫的情形的定時(shí)圖70表示與圖57和圖58所示的第1實(shí)施例操作對(duì)應(yīng)的第2實(shí)施 例操作的定時(shí)圖71表示與圖57和圖58所示的第1實(shí)施例操作對(duì)應(yīng)的第2實(shí)施 例操作的定時(shí)圖72表示與圖56所示的第1實(shí)施例操作對(duì)應(yīng)的第2實(shí)施例操作 的定時(shí)圖73是用于解釋本發(fā)明(第3方面)的原理的圖,表示對(duì)于兩個(gè) 端口實(shí)施讀操作的情形;
圖74是用于解釋本發(fā)明(第3方面)的原理的圖,表示脈沖串長 度為4的例子;
圖75是表示在2和3個(gè)端口情形中在一個(gè)最小外部指令周期和各 內(nèi)部操作周期之間關(guān)系的圖76是表示在N個(gè)端口情形中在一個(gè)最小外部指令周期和各內(nèi) 部操作周期之間關(guān)系的圖77是表示根據(jù)本發(fā)明(第3方面)的一個(gè)實(shí)施例的多端口存儲(chǔ)器的配置的圖78A到78C是表示根據(jù)本發(fā)明(第3方面)的上述實(shí)施例的多 端口存儲(chǔ)器的配置的圖79是表示根據(jù)第1實(shí)施例與指令處理有關(guān)的各裝置的配置的
圖80是表示根據(jù)第1實(shí)施例與指令處理有關(guān)的各裝置的配置的
圖81是判優(yōu)器的實(shí)施例;
圖82是表示指令寄存器的配置的圖83是表示指令寄存器的配置的圖84A和圖84B表示寄存器控制電路的操作;
圖85是表示指令寄存器操作的圖86是表示指令寄存器操作的圖87是表示根據(jù)第1實(shí)施例與地址處理有關(guān)的部分的配置的圖88是表示根據(jù)第1實(shí)施例與數(shù)據(jù)輸出有關(guān)的部分的配置的圖89是表示圖88的傳輸信號(hào)發(fā)生電路的圖卯是表示才艮據(jù)實(shí)施例與數(shù)據(jù)輸入有關(guān)的部分的配置的圖91是表示根據(jù)實(shí)施例與數(shù)據(jù)輸入有關(guān)的部分的配置的圖92表示當(dāng)將Read指令接連地輸入兩個(gè)端口時(shí)實(shí)施的操作;
圖93表示當(dāng)將Read指令接連地輸入兩個(gè)端口時(shí)實(shí)施的操作;
圖94表示當(dāng)將接連地輸入Write指令時(shí)的例子;
圖95表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上進(jìn)行
Read操作時(shí)實(shí)施的操作;
圖96表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上進(jìn)行
Read操作時(shí)實(shí)施的操作;
圖97是表示當(dāng)A端口和B端口兩者操作在最大時(shí)鐘頻率上進(jìn)行
Write操作時(shí)實(shí)施的操作的圖98是表示當(dāng)兩個(gè)端口操作都在最高頻率,并用內(nèi)部產(chǎn)生的刷新
指令使從Write指令改變到Read指令時(shí)實(shí)施的操作的時(shí)間圖;圖99是表示當(dāng)兩個(gè)端口都操作在最高頻率,并用內(nèi)部產(chǎn)生的刷新 指令使從Write指令改變到Read指令時(shí)實(shí)施的操作的時(shí)間圖IOOA和IOOB是DRAM芯操作的定時(shí)圖101是表示根據(jù)本發(fā)明(第4方面)的多端口存儲(chǔ)器的實(shí)施例 的方框圖102是表示根據(jù)本發(fā)明(第4方面)的多端口存儲(chǔ)器操作的一 個(gè)例子的定時(shí)圖103是表示根據(jù)本發(fā)明(第4方面)的多端口存儲(chǔ)器操作的一
個(gè)例子的定時(shí)圖104是表示根據(jù)本發(fā)明(第4方面)的多端口存儲(chǔ)器操作的另 一個(gè)例子的定時(shí)圖105是表示指令譯碼器寄存器的方框圖106是根據(jù)本發(fā)明(第4方面)的實(shí)施例的判優(yōu)器的方框圖107是表示判優(yōu)器操作的定時(shí)圖108是地址緩沖器/寄存器和地址改變電路的方框圖109是存儲(chǔ)塊的方框圖IIOA和IIOB是表示存儲(chǔ)塊操作的定時(shí)圖lll表示根據(jù)本發(fā)明(第5方面)的多端口存儲(chǔ)器的第1實(shí)施
例;
圖112表示多端口存儲(chǔ)器的I/O電路5010和存儲(chǔ)塊MB的詳細(xì)情
況;
圖113表示地址比較電路的詳細(xì)情況; 圖114表示比較器的詳細(xì)情況;
圖115表示當(dāng)加到加到輸入/輸出端口 PORT-A和PORT-B的行 地址信號(hào)RA相互匹配時(shí)實(shí)施的比較器操作;
圖116表示當(dāng)行地址信號(hào)RA在輸入/輸出端口 PORT-A和 PORT-B之間不匹配時(shí)比較器的操作;
圖117表示當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址 信號(hào)RA在時(shí)鐘信號(hào)CLKA與時(shí)鐘信號(hào)CLKB具有不同周期的條件下匹配時(shí)比較器的操作;
圖118表示提供給圖112所示的判優(yōu)電路的判優(yōu)控制電路;
圖119表示當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址 信號(hào)匹配時(shí)實(shí)施的判優(yōu)控制電路的操作;
圖120表示當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址 信號(hào)RA相互匹配時(shí)實(shí)施的操作;
圖121表示當(dāng)時(shí)鐘信號(hào)CLKA和CLKB的周期相同,時(shí)鐘信號(hào) CLKA的相位超前時(shí)鐘信號(hào)CLKB的相位多于半個(gè)周期時(shí)實(shí)施的操
作;
圖122表示當(dāng)幾乎同時(shí)加到輸入/輸出端口 PORT-A和PORT-B 的行地址信號(hào)RA相互不同時(shí)的操作;
圖123表示多端口存儲(chǔ)器的第2實(shí)施例和根據(jù)本發(fā)明(第5方面) 控制多端口存儲(chǔ)器的方法;
圖124表示多端口存儲(chǔ)器的第3實(shí)施例和控制根據(jù)本發(fā)明(第5 方面)控制多端口存儲(chǔ)器的方法;
圖125表示判優(yōu)控制電路的詳細(xì)情況;
圖126表示當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址 信號(hào)相互匹配時(shí)實(shí)施的判優(yōu)控制電路的操作;
圖127表示當(dāng)輸入/輸出端口 PORT-A和PORT-B接收有效指令 ACT和相同的行地址信號(hào)RA時(shí)實(shí)施讀操作的方法;
圖128表示當(dāng)將有效指令A(yù)CT和相互不同的行地址信號(hào)RA加到 輸入/輸出端口 PORT-A和PORT-B時(shí)實(shí)施讀操作的方法;
圖129表示當(dāng)輸入/輸出端口 PORT-A和PORT-B接收有效指令 ACT和相同行地址信號(hào)RA時(shí)實(shí)施寫操作的方法;
圖130表示對(duì)于輸入/輸出端口 PORT-A連續(xù)地實(shí)施寫操作和讀操 作,和對(duì)于輸入/輸出端口 PORT-B相繼地實(shí)施指向與輸入/輸出端口 PORT-A的寫操作的行地址信號(hào)RA相同的行地址信號(hào)RA的寫操作 和指向與輸入/輸出端口 PORT-A的讀操作的行地址信號(hào)RA相同的行 地址信號(hào)RA的寫操作的情形;圖131表示對(duì)于輸入/輸出端口 PORT-A連續(xù)地實(shí)施寫操作和讀操 作,和對(duì)于輸入/輸出端口 PORT-B相繼地實(shí)施指向與輸入/輸出端口 PORT-A的寫操作的行地址信號(hào)RA相同的行地址信號(hào)RA的讀操作 和指向與輸入/輸出端口 PORT-A的讀操作的行地址信號(hào)RA相同的行 地址信號(hào)RA的寫操作的情形;
圖132表示在時(shí)鐘信號(hào)CLKA和CLKB具有不同的時(shí)鐘周期的 情形中當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址信號(hào)相互 匹配時(shí)實(shí)施的操作;
圖133表示多端口存儲(chǔ)器的第4實(shí)施例和根據(jù)本發(fā)明(第5方面) 控制多端口存儲(chǔ)器的方法;
圖134表示當(dāng)輸入/輸出端口 PORT-A和PORT-B接收有效指令 ACT和相同的行地址信號(hào)RA時(shí)實(shí)施讀操作的方法;
圖135表示當(dāng)將有效指令A(yù)CT和不同的行地址信號(hào)RA加到輸入 /輸出端口 PORT-A和PORT-B時(shí)實(shí)施讀操作的方法;
圖136表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/ 輸出端口 PORT-A和PORT-B,實(shí)施寫操作,接著加上有效指令A(yù)CT 和不同的行地址信號(hào)RA,導(dǎo)致實(shí)施寫操作的情形;
圖137表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/ 輸出端口 PORT-A和PORT-B,實(shí)施寫操作,接著加上有效指令A(yù)CT 和相同的行地址信號(hào)RA,導(dǎo)致在輸入/輸出端口 PORT-A實(shí)施讀操作 和在輸入/輸出端口 PORT-B實(shí)施寫操作的情形;
圖138表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/ 輸出端口 PORT-A和PORT-B,實(shí)施寫操作和讀操作,接著加上有效 指令A(yù)CT和不同的行地址信號(hào)RA,導(dǎo)致實(shí)施寫操作和讀操作的情形;
圖139表示根據(jù)多端口存儲(chǔ)器的第5實(shí)施例的多端口存儲(chǔ)器的操 作和控制本發(fā)明(第5方面)的多端口存儲(chǔ)器的方法。
具體實(shí)施例方式
下面,我們參照所附各圖描述本發(fā)明的各實(shí)施例。[本發(fā)明第l方面
我們首先描述本發(fā)明(第1方面)的原理。
圖l是用于解釋本發(fā)明(第l方面)的原理的圖。雖然圖l表示
用于解釋2個(gè)端口情形中的原理的圖,但是即便提供了兩個(gè)以上的端 口 (N個(gè)端口 )也可以得到相同的操作。
等效于內(nèi)部電路(DRAM芯)操作的兩個(gè)周期的時(shí)間跨度定義為 外部指令周期的一個(gè)周期。即,芯操作周期是外部指令周期的速率的 兩倍。由內(nèi)部存儲(chǔ)器在兩倍速率以指令越早到達(dá)就越早處理指令的這 種次序?qū)M(jìn)入A端口和B端口的指令進(jìn)行處理。然后將輸出數(shù)據(jù)傳送 到每個(gè)端口。即,在一個(gè)芯操作周期中實(shí)施包括選擇一條字線,放大 數(shù)據(jù),選擇一條列線,讀和寫操作,預(yù)沖電操作的一系列操作,從而 對(duì)相關(guān)的存儲(chǔ)塊完成一個(gè)存取操作。
例如,在與圖1的A端口有關(guān)的外部指令周期的定時(shí)Cl,在A 端口進(jìn)入一個(gè)Read指令。進(jìn)一步,在一個(gè)與B端口有關(guān)的外部指令 周期的定時(shí)C1',在B端口進(jìn)入一個(gè)Read指令。因?yàn)锳端口的Read 指令的定時(shí)稍微早一些,所以這個(gè)Read指令在進(jìn)入B端口的讀指令 之前被執(zhí)行。這里, 一個(gè)外部指令周期對(duì)應(yīng)于4個(gè)時(shí)鐘脈沖周期。如 圖1所示,在與1個(gè)芯操作周期對(duì)應(yīng)的2個(gè)時(shí)鐘脈)中周期中執(zhí)行和完 成每個(gè)Read指令。因此,響應(yīng)在等效于一個(gè)外部指令周期的4個(gè)時(shí) 鐘脈沖周期的時(shí)間間隔中進(jìn)入A端口和B端口的Read指令,能夠?qū)?施讀操作,而不會(huì)產(chǎn)生一個(gè)BUSY狀態(tài)即便來自A端口的讀存取和來 自B端口的讀存取都指向同一個(gè)存儲(chǔ)塊。這通過在2個(gè)時(shí)鐘脈沖周期 中執(zhí)行和完成每個(gè)存取來實(shí)現(xiàn)。
在這種方式中,即便多個(gè)端口同時(shí)存取同一個(gè)存儲(chǔ)塊,因?yàn)閮?nèi)部 存儲(chǔ)器能夠以兩倍的速度進(jìn)行相繼的和連續(xù)的處理,所以也不會(huì)產(chǎn)生 一個(gè)BUSY狀態(tài)。
而且,當(dāng)如圖l所示從器件外部(例如在A端口)給出一個(gè)刷新 指令時(shí),在該器件內(nèi)部能夠?qū)嵤┧⑿虏僮鞫粫?huì)影響來自另一個(gè)端口(即本例中的B端口 )的存取。在這種情形中,可以選擇多個(gè)端口中 的一個(gè)(即圖l例中的A端口 )作為進(jìn)行刷新管理的端口,總是從這 個(gè)端口進(jìn)入刷新指令。
而且,數(shù)據(jù)輸出可以取來從多個(gè)列地址并行地讀出數(shù)據(jù)和通過在 輸出時(shí)將并行數(shù)據(jù)變換成串行數(shù)據(jù)輸出數(shù)據(jù)的脈沖串的形式。這增加 了數(shù)據(jù)傳輸速率并使響應(yīng)連續(xù)的Read指令連續(xù)地輸出數(shù)據(jù)成為可能。 圖2是表示當(dāng)只有一個(gè)端口正在被使用時(shí)實(shí)施的刷新操作的圖。 如圖2所示,當(dāng)提供2個(gè)端口,例如,A端口和B端口時(shí),不需 要讓2個(gè)端口都操作。在器件內(nèi)提供一個(gè)刷新定時(shí)器使內(nèi)部產(chǎn)生刷新 指令成為可能。
如圖2所示,例如,當(dāng)一個(gè)端口 (例如,B端口)不在操作時(shí)能 夠內(nèi)部產(chǎn)生刷新指令,從而執(zhí)行刷新指令而不會(huì)影響在A端口的存取。
現(xiàn)在我們考慮一個(gè)例子,其中當(dāng)進(jìn)行刷新管理時(shí),控制器A控制 A端口,控制器B控制B端口。在這種情形中,如果存在一個(gè)如上述 的內(nèi)部刷新功能,則當(dāng)只用A端口時(shí)B端口能夠完全停止。這就能夠 減少由于下面的系統(tǒng)操作的改變引起的功率消耗。
圖3A到3C是當(dāng)2個(gè)端口 , 3個(gè)端口和N個(gè)端口時(shí)用于解釋本發(fā) 明原理的圖。
如上面所描述的,本發(fā)明也可應(yīng)用于有3個(gè)或更多端口的多端口 存儲(chǔ)器。圖3A表示在如圖1和圖2所示的提供2個(gè)端口的情形中1 個(gè)端口的操作。圖3B表示在3個(gè)端口的情形中1個(gè)端口的操作,圖 3C表示N個(gè)端口的情形。如圖3C所示,可以適當(dāng)?shù)貙?nèi)部操作周期 的長度設(shè)定在1/N與N個(gè)端口存儲(chǔ)器的情形中的外部指令周期一樣 長。
下面,我們描述根據(jù)本發(fā)明的一個(gè)實(shí)施例的半導(dǎo)體存儲(chǔ)器件。 圖4是表示根據(jù)本發(fā)明的多端口存儲(chǔ)器的第1實(shí)施例的方框圖。
在這個(gè)例子中,提供了具有2個(gè)端口,即A端口和B端口的配置。 圖4的多端口存儲(chǔ)器10包括A端口 11, B端口 12,自刷新電路
13, DRAM芯14,判優(yōu)器15,刷新指令寄存器16,指令寄存器A 17,指令寄存器B 18,刷新地址寄存器19,地址寄存器A 20,地址寄存 器B21,寫數(shù)據(jù)寄存器A22,寫數(shù)據(jù)寄存器B23,傳輸門A 24,和 傳輸門B25。
A端口 11包括模寄存器31, CLK緩沖器32,數(shù)據(jù)I/0電路33, 地址緩沖器34,和指令譯碼器35。進(jìn)一步,B端口 12包括模寄存器 41, CLK緩沖器42,數(shù)據(jù)I/0電路43,地址緩沖器44,和指令譯碼 器45。在A端口 ll和B端口 12,分別與時(shí)鐘信號(hào)CLKA和CLKB 同步地獨(dú)立地建立到外部總線的存取和來自外部總線的存取。模寄存 器31和41能夠在其中存儲(chǔ)對(duì)于各端口的模式設(shè)定如數(shù)據(jù)等待時(shí)間和 脈沖串長度。在這個(gè)實(shí)施例中,A端口 11和B端口 12兩者都具有各 自的模寄存器,使每個(gè)端口都能進(jìn)行模式設(shè)定。然而,可以將模寄存 器只安排在一個(gè)端口中,例如,使得對(duì)于2個(gè)端口的設(shè)置可以由對(duì)這 一個(gè)端口的設(shè)置來實(shí)現(xiàn)。
自刷新電路13包括刷新定時(shí)器46和刷新指令發(fā)生器47。自刷新 電路13在器件中產(chǎn)生刷新指令,分別從A端口 11和B端口 12接收 信號(hào)CKEA1和CKEB1。信號(hào)CKEA1和CKEB1是分別用CLK緩 沖器32和42對(duì)外部信號(hào)CKEA和CKEB進(jìn)行緩沖得到的。用外部 信號(hào)CKEA和CKEB暫停各端口的時(shí)鐘緩沖器并使各端口去基活。 如果使A端口 11和B端口 12中的一個(gè)進(jìn)入去激活狀態(tài),則自刷新 電路13開始它的操作。在模寄存器31和41中進(jìn)行了設(shè)置,使得一個(gè) 端口負(fù)責(zé)刷新管理的情形中,當(dāng)負(fù)責(zé)刷新管理的的端口變得不操作時(shí) 可以激活自刷新電路13。
進(jìn)一步,DRAM芯包括存儲(chǔ)器陣列51,譯碼器52,控制電路53, WriteAmp(寫放大器)54和讀出緩沖器55。存儲(chǔ)器陣列51在其中存 儲(chǔ)被寫和被讀的數(shù)據(jù),并包括DRAM存儲(chǔ)單元,單元門晶體管,字線, 位線,讀出放大器,列線,列門等。譯碼器52對(duì)被存取的地址進(jìn)行譯 碼。控制電路53控制DRAM芯14的操作。WriteAmp 54放大寫入 存儲(chǔ)器陣列51的數(shù)據(jù)。讀出緩沖器55放大從存儲(chǔ)器陣列51讀出的數(shù) 據(jù)。將到A端口 11的輸入傳輸給地址寄存器A 20,刷新指令寄存器 16,指令寄存器A17和寫數(shù)據(jù)寄存器A22。進(jìn)一步,將到B端口12 的輸入加到地址寄存器B 21,刷新指令寄存器16,指令寄存器B 18 和寫數(shù)據(jù)寄存器B23。
判優(yōu)器(判優(yōu)電路)15確定指令進(jìn)入的次序,以便確定將用于在 A端口 11和B端口 12之間進(jìn)行處理的優(yōu)先權(quán)給予哪個(gè)指令。以確定 的次序,判優(yōu)器15將指令,地址和數(shù)據(jù)(在寫操作的情形中)從各寄 存器傳輸給DRAM芯14。 DRAM芯14根據(jù)接收的數(shù)據(jù)進(jìn)行操作。在 Read指令的情形中,將從DRAM芯14讀出的數(shù)據(jù)傳輸給輸入相應(yīng)指 令的端口,然后將該數(shù)據(jù)從并行數(shù)據(jù)變換成串行數(shù)據(jù),接著與這個(gè)端 口的時(shí)鐘同步地輸出。
圖5是與輸入到判優(yōu)器15的指令有關(guān)的電路的方框指令譯碼器35包括輸入緩沖器61,指令譯碼器62和(n-l)時(shí) 鐘延遲電路63。而且,指令譯碼器45包括輸入緩沖器71,指令譯碼 器72和(n-l)時(shí)鐘延遲電路73。指令寄存器A 17包括讀指令寄存器
17- 1和寫指令寄存器17-2。而且,指令寄存器B 18包括讀指令寄存器
18- 1和寫指令寄存器18-2。
在Read指令的情形中,分別通過指令譯碼器62或72將輸入到 輸入緩沖器61或71的指令傳輸給讀指令寄存器17-1或18-1,而沒有 任何定時(shí)操作。在Write指令的情形中,由(n-l)時(shí)鐘延遲電路63 或73使進(jìn)入的指令延遲(n-l)時(shí)鐘,然后在當(dāng)輸入一系列要被寫的 脈沖串?dāng)?shù)據(jù)的第n個(gè)數(shù)據(jù)(即最后一個(gè)數(shù)據(jù))時(shí)的定時(shí)將它傳輸給寫 指令寄存器17-2或18-2。
在刷新指令的情形中,將從A端口 11, B端口 12或刷新指令發(fā) 生器47提供的刷新指令傳輸?shù)剿⑿轮噶罴拇嫫?6。因?yàn)椴⒉蝗绱私?jīng) 常地出現(xiàn)刷新指令,所以不需要提供多個(gè)刷新指令寄存器。進(jìn)一步, 從模寄存器31和41提供輸入到刷新指令發(fā)生器47的自刷新設(shè)置信 息,該信息指出各端口中的哪一個(gè)負(fù)責(zé)刷新管理。
判優(yōu)器15檢測(cè)將指令傳輸?shù)礁髦噶罴拇嫫鞯拇涡?,并以這個(gè)次序?qū)⒅噶钜粋€(gè)接著一個(gè)地傳輸?shù)紻RAM控制電路53。
當(dāng)接收指令時(shí)(或當(dāng)接近指令執(zhí)行的結(jié)束時(shí)),DRAM控制電路 53產(chǎn)生RESET1信號(hào),讓判優(yōu)器15為下一個(gè)指令作好準(zhǔn)備。在這個(gè) 實(shí)施例的特定的配置中,當(dāng)RESET1信號(hào)結(jié)束時(shí)DRAM控制電路53 接收下一個(gè)指令。
接收RESET1信號(hào)時(shí),判優(yōu)器15將復(fù)位信號(hào)ResetRA,ResetWA, ResetRB, ResetWB和ResetREF中的一個(gè)加到指令寄存器A 17,指 令寄存器B 18和刷新指令寄存器16中相應(yīng)的一個(gè)。通過這個(gè)操作, 使在其中存儲(chǔ)了已經(jīng)傳輸給DRAM芯14的指令的指令寄存器復(fù)位, 在這個(gè)指令寄存器中準(zhǔn)備接收下一個(gè)指令。
圖6A和6B是表示判優(yōu)器15的配置的電路圖。
如圖6A所示,判優(yōu)器15包括比較器80-1到80-10, AND("與,,) 電路81-1到81-5, AND電路82-1到82-5, AND電路83-1到83誦5, 延遲電路84-1到84-5,倒相器85到87, NAND ("與非,,)電路88 和倒相器89和90。比較器80-1到80-10每個(gè)都具有相同的電路配置, 如圖6B所示,包括NAND電路91和92和倒相器93和94。
將來自指令寄存器A 17的讀指令信號(hào)RA2和寫指令信號(hào)WA2, 來自指令寄存器B 18的讀指令信號(hào)RB2和寫指令信號(hào)WB2,和來自 刷新指令寄存器16的刷新指令REF2加到判優(yōu)器15。對(duì)于由選擇5 個(gè)指令信號(hào)中的2個(gè)得到的全部10個(gè)組合,IO個(gè)比較器80-1到80-10 根據(jù)指令到達(dá)的定時(shí)確定哪一個(gè)指令比另一個(gè)早。
每個(gè)比較器比較2個(gè)指令的定時(shí),將各輸出中的一個(gè)設(shè)置在HIGH (高),它與在其它輸入前已經(jīng)接收了 HIGH的輸入相應(yīng)。例如,比 較器80-1到80-4中的每一個(gè)確定來自A端口 11的讀指令信號(hào)RA2 或4個(gè)其它的指令中對(duì)應(yīng)的一個(gè)中哪一個(gè)是較早的。如果讀指令信號(hào) RA2比4個(gè)其它的指令中的任何一個(gè)早,則將從AND電路81-1輸出 的讀指令信號(hào)RA31設(shè)置在HIGH。當(dāng)RESET1信號(hào)是LOW (低) 時(shí),從判優(yōu)器15將這個(gè)讀指令信號(hào)RA31加到DRAM芯14作為讀指 令信號(hào)RA3。當(dāng)DRAM芯14接收指令時(shí),DRAM芯14產(chǎn)生是HIGH的 RESET1信號(hào)。由倒相器85到87, NAND電路88和倒相器89將這 個(gè)RESET1信號(hào)變換成脈沖信號(hào),并加到AND電路83-1到83-5。當(dāng) Read指令信號(hào)RA31是HIGH時(shí),例如,通過延遲電路84-1產(chǎn)生使 其中具有接收到的指令的指令寄存器復(fù)位的信號(hào)。
圖7是表示判優(yōu)器15的操作的定時(shí)圖。
具有圖7中列舉的名字的信號(hào)表示在圖6A的各位置中。圖7是 表示當(dāng)將Read指令加到A端口 ll和B端口 12上時(shí)判優(yōu)器15的操作。 如圖7所示,選擇與A端口 ll對(duì)應(yīng)的Read指令RA2作為具有優(yōu)先 權(quán)的指令,從而產(chǎn)生RA31,使得芯電路實(shí)施讀操作READ-A。響應(yīng) 由此產(chǎn)生的復(fù)位信號(hào)RESET1,使讀指令信號(hào)RA2復(fù)位。對(duì)應(yīng)地,選 擇與B端口 12對(duì)應(yīng)的Read指令RB2,從而產(chǎn)生RB31。當(dāng)復(fù)位信號(hào) RESET1變成LOW時(shí),將讀指令信號(hào)RB3加到芯電路,從而執(zhí)4亍讀 操作READ-B。
圖8是與輸入到一個(gè)DRAM芯14的地址有關(guān)的電路方框圖。 A端口 11的地址緩沖器34包括輸入緩沖器34-l,傳輸門34-2和 OR("或")電路34-3。加入具有與從圖5所示的指令譯碼器62輸出 的讀指令信號(hào)RA1的前沿對(duì)應(yīng)的脈沖的脈沖信號(hào)作為加到OR電路
34-3的一個(gè)輸入端的RA1P。進(jìn)一步,加入具有與從圖5所示的指令 譯碼器62輸出的寫指令信號(hào)WA1的前沿對(duì)應(yīng)的脈沖的脈沖信號(hào)作為 加到OR電路34-3的另一個(gè)輸入端的WA1P。下文中,在它的信號(hào)名 稱的未端具有字母"P,,的信號(hào)代表具有從對(duì)應(yīng)的信號(hào)名稱的信號(hào)的前 沿產(chǎn)生的脈沖的信號(hào)。
B端口 12的地址緩沖器44包括輸入緩沖器44-1,傳輸門44-2和 OR電路44-3。
地址寄存器A 20包括地址鎖存器101,傳輸門102,地址鎖存器 103,傳輸門104,傳輸門105,地址鎖存器106,和傳輸門107。進(jìn)一 步,地址寄存器B 21包括地址鎖存器111,傳輸門112,地址鎖存器 113,傳輸門114,傳輸門115,地址鎖存器116,和傳輸門117。刷新地址寄存器19包括刷新地址計(jì)數(shù)器/寄存器19-1,倒相器 19-2,和傳輸門19-3。由刷新地址計(jì)數(shù)器/寄存器19-l產(chǎn)生和保持刷新 地址。
通過上述電路配置的操作,當(dāng)從器件外輸入Read指令或Write 指令時(shí),將與指令一起進(jìn)入的地址傳輸?shù)降刂锋i存器101或111。在 Read指令的情形中將地址傳輸?shù)降刂锋i存器105或116而不需任何時(shí) 間操作。在Write指令的情形中在取得一系列寫數(shù)據(jù)的最后一個(gè)數(shù)據(jù) 的定時(shí)將地址傳輸?shù)降刂锋i存器103或113。
如圖8的電路配置所示,響應(yīng)與各從判優(yōu)器15傳輸?shù)紻RAM芯 14的指令信號(hào)RA3 , WA3 , RB3 , WB3和REF3對(duì)應(yīng)的脈沖信號(hào)RA3P , WA3P, RB3P, WB3P和REF3P,將地址信號(hào)從一個(gè)地址鎖存器傳輸 到DRAM芯14。
圖9是與數(shù)據(jù)輸出有關(guān)的電路方框圖。
與數(shù)據(jù)I/O電路33的數(shù)據(jù)輸出有關(guān)的部分包括數(shù)據(jù)鎖存器121, 傳輸門122,數(shù)據(jù)鎖存器123,并行串行變換器124,輸出緩沖器125 和傳輸信號(hào)發(fā)生電路126。而且,與數(shù)據(jù)I/0電路43的數(shù)據(jù)輸出有關(guān) 的部分包括數(shù)據(jù)鎖存器131,傳輸門132,數(shù)據(jù)鎖存器133,并行串行 變換器134,輸出緩沖器135和傳輸信號(hào)發(fā)生電路136。
從存儲(chǔ)器陣列51讀出的數(shù)據(jù)被讀出緩沖器55放大,分別通過傳 輸門A 24或傳輸門B 25加到數(shù)據(jù)I/O電路33或數(shù)據(jù)I/O電路43。如 果執(zhí)行的指令與從A端口 ll的數(shù)據(jù)讀出有關(guān),則傳輸門A24打開, 而如果執(zhí)行的的指令與從B端口 12的數(shù)據(jù)讀出有關(guān),則傳輸門B 25 打開。以這種方式提供的數(shù)據(jù)被數(shù)據(jù)鎖存器121或131鎖存和保持。
傳輸門122或132響應(yīng)從傳輸信號(hào)發(fā)生電路126或136提供的傳 輸信號(hào)在一個(gè)相應(yīng)的端口接收讀指令后打開預(yù)定等待時(shí)間。于是分別 將數(shù)據(jù)鎖存器121或131的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)鎖存器123或133。此后 用并行串行變換器124或134將數(shù)據(jù)從并行數(shù)據(jù)變換到串行數(shù)據(jù)。然 后將該數(shù)據(jù)傳輸給輸出緩沖器125或135,并從那里輸出。
圖10是表示傳輸信號(hào)發(fā)生電路126或136的配置的電路圖。傳輸信號(hào)發(fā)生電路126或136包括觸發(fā)器141到144和多路復(fù)用 器145。將讀指令信號(hào)RA1或RB1加到觸發(fā)器141,并連續(xù)地與時(shí)鐘 信號(hào)CLKA1或CLKB1同步地從一個(gè)觸發(fā)器傳輸?shù)较乱粋€(gè)。將等待 時(shí)間信息A和B加到多路復(fù)用器145。這個(gè)等待時(shí)間信息例如用時(shí)鐘 周期的數(shù)目確定等待時(shí)間的長度。根據(jù)等待時(shí)間信息,多路復(fù)用器145 選擇一個(gè)相應(yīng)的觸發(fā)器的Q輸出,并將它作為數(shù)據(jù)傳輸信號(hào)輸出。
圖ll是與數(shù)據(jù)輸入有關(guān)的電路方框與數(shù)據(jù)I/O電路33的數(shù)據(jù)輸入有關(guān)的部分包括數(shù)據(jù)輸入緩沖器 151,串行并行變換器152和數(shù)據(jù)傳輸裝置153。與數(shù)據(jù)I/O電路43 的數(shù)據(jù)輸入有關(guān)的部分包括數(shù)據(jù)輸入緩沖器154,串行并行變換器155 和數(shù)據(jù)傳輸裝置156。
分別用串行并行變換器152或155將串行地輸入到數(shù)據(jù)輸入緩沖 器151或154的數(shù)據(jù)變換成并行數(shù)據(jù)。當(dāng)輸入最后一個(gè)數(shù)據(jù)時(shí),將并 行數(shù)據(jù)傳輸?shù)綄憯?shù)據(jù)寄存器A 22或?qū)憯?shù)據(jù)寄存器B 23。當(dāng)將Write 指令從判優(yōu)器15傳輸?shù)紻RAM芯14時(shí),響應(yīng)表示與Write指令到 DRAM芯14的傳輸相應(yīng)的定時(shí)的信號(hào)WA3P或WB3P,將寫數(shù)據(jù)寄 存器A 22或?qū)憯?shù)據(jù)寄存器B 23的數(shù)據(jù)傳輸?shù)紻RAM芯14。
圖12是表示當(dāng)連續(xù)進(jìn)入Read指令時(shí)實(shí)施的操作的定時(shí)圖。
A端口 ll和B端口 12分別與具有不同頻率的時(shí)鐘信號(hào)CLKA和 CLKB同步地操作。在這個(gè)例子中,A端口 11用最大時(shí)鐘頻率操作, 而B端口 12用較4氐的時(shí)鐘頻率操作。
A端口 ll具有下列設(shè)置讀指令周期=4 (CLKA),數(shù)據(jù)等待時(shí) 間=4,和脈沖串長度=4。 B端口 12具有下列設(shè)置讀指令周期=2 (CLKA),數(shù)據(jù)等待時(shí)間=2,和脈沖串長度=2。在每個(gè)端口的模寄 存器中設(shè)置數(shù)據(jù)等待時(shí)間和脈沖串長度。
將由端口接收的指令存儲(chǔ)在各指令寄存器中。將刷新指令存儲(chǔ)在 刷新指令寄存器中。判優(yōu)器監(jiān)視這些指令寄存器,并以接收指令的次 序?qū)⒅噶顐鬏斀oDRAM芯。當(dāng)完成上一個(gè)指令的處理時(shí)傳輸下一個(gè)指 令。將從DRAM芯讀出的數(shù)據(jù)從讀出緩沖器傳輸?shù)礁鞫丝跀?shù)據(jù)鎖存 器(請(qǐng)參見圖9)。以后將數(shù)據(jù)從并行變換成串行,作為脈沖串輸出 與外部時(shí)鐘同步地輸出。
雖然曾經(jīng)從A端口輸入刷新指令,但是不影響B(tài)端口的操作,如 圖.12所示。
圖13是表示當(dāng)連續(xù)輸入Write指令時(shí)實(shí)施的操作的定時(shí)圖。 在寫操作時(shí)從器件外部輸入的數(shù)據(jù)取脈沖串輸入的形式。Write
指令存儲(chǔ)在寫指令寄存器中的定時(shí)是輸入脈沖串輸入的最后一個(gè)數(shù)據(jù) 的定時(shí)。
如圖13所示,從A端口提供的刷新指令不影響B(tài)端口的操作。 圖14是表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上時(shí) 的定時(shí)圖。
如圖14所示,在這些端口的時(shí)鐘信號(hào)之間可能存在相位差。兩個(gè) 端口具有下列設(shè)置讀指令周期=4,數(shù)據(jù)等待時(shí)間=4,和脈沖串長度 =4。如從圖可見的那樣,甚至當(dāng)兩個(gè)端口都操作在最大時(shí)鐘頻率和連 續(xù)輸入Read指令時(shí)關(guān)于操作也沒有問題。
圖15是表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上時(shí) 的定時(shí)圖。在圖15中,兩個(gè)端口連續(xù)地接收Write指令。
如圖15所示,在這些端口的時(shí)鐘信號(hào)之間可能存在相位差。兩個(gè) 端口具有下列設(shè)置寫指令周期=4,數(shù)據(jù)等待時(shí)間=4,和脈沖串長度 =4。如從圖可見的那樣,甚至當(dāng)兩個(gè)端口都操作在最大時(shí)鐘頻率和連 續(xù)輸入Write指令時(shí)也能夠進(jìn)行適當(dāng)?shù)牟僮鳌?br>
圖16是表示當(dāng)指令從Read指令改變到Write指令時(shí)的各操作的 定時(shí)如圖16所示,當(dāng)與"Write^ Read"或"Read ~> Write"的指令間 隔比較時(shí)指令傳輸"Write ~> Read "需要一個(gè)額外的指令間隔。這是因 為我們傳輸Write指令以^^在當(dāng)進(jìn)入脈沖串輸入的最后一個(gè)數(shù)據(jù)時(shí)的 定時(shí)對(duì)它進(jìn)行處理。相反地,為了對(duì)它進(jìn)行處理傳輸一個(gè)Read指令 的定時(shí)定義為進(jìn)入Read指令的定時(shí),使得當(dāng)相繼的指令是"Write^Read"時(shí)需要提供一個(gè)額外的指令間隔。這樣一個(gè)需要可以認(rèn)為是將 取脈沖串輸入形式的輸入數(shù)據(jù)變換成并行數(shù)據(jù)這個(gè)事實(shí)引起的。如果 只輸入一塊數(shù)據(jù)而不是如脈沖串輸入那樣輸入4塊數(shù)據(jù),則甚至當(dāng)兩 個(gè)相繼的指令都是"Write— Read"時(shí)也不需要提供一 個(gè)額外的指令間 隔。
在這種如對(duì)于一個(gè)Write寫指令只輸入一塊數(shù)據(jù)那樣的配置中, 即便用與"Write^ Write"或"Read 4 Read"的情形中相同的指令間 隔,也能夠?qū)τ?Write— Read"指令連續(xù)性適當(dāng)?shù)剡M(jìn)行操作。
圖17是表示當(dāng)指令從"Read"改變到"Write"時(shí)輸入刷新指令的定 時(shí)圖。
在圖的頂部,表示出應(yīng)該進(jìn)入刷新指令的定時(shí)。在如說明的期間 中在任何定時(shí)都能適當(dāng)?shù)剡M(jìn)入刷新指令。例如,即便在圖17所示的定 時(shí)輸入刷新指令,刷新指令只有當(dāng)完成前一個(gè)Write寫指令時(shí)才開始 刷新操作,直到將刷新指令保存在備用狀態(tài)時(shí)為止。因此,只要刷新 指令落在與這個(gè)備用狀態(tài)對(duì)應(yīng)的期間內(nèi)在任何定時(shí)都能適當(dāng)?shù)剡M(jìn)入刷 新指令。
圖18是表示當(dāng)使一個(gè)端口去激活時(shí)實(shí)施的操作的定時(shí)如圖18所示,當(dāng)使一個(gè)端口 (即,圖18中的A端口 )去激活時(shí), 根據(jù)刷新定時(shí)器內(nèi)部產(chǎn)生刷新指令,從而執(zhí)行刷新操作。
圖19是表示當(dāng)使兩個(gè)端口去激活時(shí)實(shí)施的操作的定時(shí)圖。
如圖19所示,當(dāng)使兩個(gè)端口去激活時(shí),根據(jù)刷新定時(shí)器內(nèi)部產(chǎn)生 刷新指令,從而執(zhí)行刷新操作。
圖20A和20B是表示DRAM芯操作的定時(shí)圖。
圖20A表示讀操作的情形,圖20B表示寫操作的情形。在如圖20A 和20B所示的操作定時(shí),在完成整個(gè)操作前通過字線選擇,數(shù)據(jù)放大, 寫回,和預(yù)充電的相繼操作發(fā)出進(jìn)入的指令。
圖21是表示當(dāng)只使一個(gè)端口操作時(shí)實(shí)施的兩倍速率操作的定時(shí)
通過使兩個(gè)端口中的一個(gè)停止操作,可以將到操作端口的指令輸入間隔縮短一半。當(dāng)這種情形發(fā)生時(shí),外部指令的最快周期和內(nèi)部動(dòng)
作的最快周期彼此相同。在圖21的例子中,縮短了指令間隔而沒有改 變時(shí)鐘頻率。在這個(gè)情形中,因?yàn)槊}沖串長度也變得較短,所以數(shù)據(jù) 傳輸速率與當(dāng)用兩個(gè)端口時(shí)的相同。
圖22是表示當(dāng)通過使時(shí)鐘頻率兩倍高使數(shù)據(jù)傳輸速率兩倍時(shí)兩 倍速率操作的定時(shí)在圖22中,當(dāng)使兩個(gè)端口中的一個(gè)停止操作時(shí),將輸入到操作端 口時(shí)鐘信號(hào)設(shè)置在高兩倍的頻率上。與此相關(guān),指令輸入的時(shí)間間隔 縮短一半。在這個(gè)情形中,因?yàn)槊}沖串長度與當(dāng)用兩個(gè)端口時(shí)的相同, 所以數(shù)據(jù)傳輸速率為當(dāng)用兩個(gè)端口時(shí)的兩倍那樣快。
此外,因?yàn)橹粚⑼獠繒r(shí)鐘信號(hào)輸入I/O電路裝置,所以如果將該 電路裝置設(shè)計(jì)得能應(yīng)付高速操作則實(shí)際上容易完成兩倍速率操作。
圖23是用于解釋本發(fā)明的第2實(shí)施例的一般,根據(jù)其用度擴(kuò)大存儲(chǔ)器。這同樣應(yīng)用于多端口存儲(chǔ)器的情 形,可能存在為了擴(kuò)大存儲(chǔ)空間提供多個(gè)多端口存儲(chǔ)器的情形。
多端口存儲(chǔ)器包括判優(yōu)器,并檢測(cè)哪一個(gè)指令較早進(jìn)入各端口 , 接著以檢測(cè)出的次序執(zhí)行指令。甚至當(dāng)在幾乎相同的定時(shí)將指令輸入 各端口時(shí),也為相繼地執(zhí)行指令確定一個(gè)次序。在圖23所示的例子中, 提供多個(gè)多端口存儲(chǔ)器200-1到200-n,從A端口控制器201和B端 口控制器202,將相同的指令加到多端口存儲(chǔ)器200-1到200-n。即便 同時(shí)將指令加到A端口和B端口,由于信號(hào)線有不同的長度和/或電 源噪聲的影響,指令到達(dá)每個(gè)多端口存儲(chǔ)器的相對(duì)定時(shí)也可能稍有不 同。在這個(gè)情形中,每個(gè)多端口存儲(chǔ)器的判優(yōu)器能夠以從存儲(chǔ)器到存 儲(chǔ)器不同的次序執(zhí)行指令。
如果到A端口的指令和到B端口的指令指向不同的地址,則存儲(chǔ) 器件之間執(zhí)行指令的不同次序可能不會(huì)成為一個(gè)問題。然而,當(dāng)各指 令是對(duì)于同一個(gè)地址時(shí),就會(huì)發(fā)生問題。
例如,在當(dāng)寫存取同一個(gè)存儲(chǔ)單元后讀出數(shù)據(jù)時(shí)與當(dāng)寫存取同一 個(gè)存儲(chǔ)單元前讀出數(shù)據(jù)時(shí)之間檢索的數(shù)據(jù)是不同的。而且,當(dāng)在寫入
26A端口的數(shù)據(jù)后寫入B端口的數(shù)據(jù)時(shí)B端口的數(shù)據(jù)保留在存儲(chǔ)器中, 而如果以相反的次序進(jìn)行操作則A端口的數(shù)據(jù)保留在存儲(chǔ)器中。
如果以上面描述的方式從存儲(chǔ)器到存儲(chǔ)器執(zhí)行指令的次序不同, 則關(guān)于數(shù)據(jù)的可靠性就存在嚴(yán)重的問題。
因此,當(dāng)用多個(gè)多端口存儲(chǔ)器時(shí),需要使判優(yōu)器作出的決定在存 儲(chǔ)器之間保持一致。為此,本發(fā)明的第2實(shí)施例指定多端口存儲(chǔ)器中 的一個(gè)為主器件200-1,并用其余的器件作為從器件200-2到200-n。 從器件遵守由主器件的判優(yōu)器作出的決定。
圖24是表示根據(jù)本發(fā)明的多端口存儲(chǔ)器的第2實(shí)施例的方框圖。 本例子的配置具有兩個(gè)端口即A端口和B端口。
與圖4所示的第1實(shí)施例的不同包括A端口 IIA和B端口 12A 分別具有BUSY信號(hào)I/O裝置36和46這個(gè)事實(shí)和提供地址比較器26 比較A端口的地址和B端口的地址這個(gè)事實(shí)。如果地址比較器26檢 測(cè)出地址匹配,因此產(chǎn)生匹配信號(hào),則判優(yōu)器15A將轉(zhuǎn)變DRAM芯 的操作模式以便開始連續(xù)模式。
圖25A和25B是用于解釋連續(xù)模式的定時(shí)圖。
如圖(圖20)表示的第1實(shí)施例的操作所示,將DRAM芯的操 作分成ROW (行)操作和COLUMM (列)操作。在本發(fā)明中,進(jìn) 行ROW操作,COLUMM操作和預(yù)充電操作作為一系列的連續(xù)執(zhí)行 操作,這定義了單個(gè)內(nèi)部操作周期。
在第2實(shí)施例中的連續(xù)模式與通常的DRAM的列存取操作相同, 對(duì)于同一個(gè)存儲(chǔ)單元反復(fù)執(zhí)行一個(gè)指令。即,這個(gè)模式在ROW操作 后多次執(zhí)行COLUMM操作后進(jìn)行預(yù)充電。當(dāng)連續(xù)地加上對(duì)同 一個(gè)存 儲(chǔ)單元地址的Write指令時(shí),執(zhí)行后面的指令而不執(zhí)行前面的指令。 這是因?yàn)榧幢阆嗬^地執(zhí)行了這些Write指令,由前面的指令寫入的數(shù) 據(jù)將被后面的指令的數(shù)據(jù)覆蓋。
如圖25A所示,連續(xù)模式允許使操作縮短到比通常內(nèi)部操作的2 個(gè)周期短,從而提供額外的時(shí)間。將由這個(gè)額外時(shí)間得到的邊邊緣分 配給在ROW操作和COLUMM操作之間的一個(gè)點(diǎn)(下文中將這個(gè)邊緣稱為Wait (等待)期間)。在這個(gè)Wait期間中,實(shí)施用于使主器 件和從器件之間的指令執(zhí)行次序一致的處理。
下面,我們說明用BUSY信號(hào)使主器件和從器件之間的操作一致 的過程。
為了保證在主器件和從器件之間有相同的指令執(zhí)行次序用BUSY 信號(hào)。BUSY信號(hào)I/O裝置36和46用作輸出主器件200-1中的BUSY 信號(hào)的BUSY輸出電路,和用作在從器件200-2到200-n中接收BUSY 信號(hào)的BUSY輸入電路。將指示主器件標(biāo)識(shí)或從器件標(biāo)識(shí)的信息存儲(chǔ) 在模寄存器31或41中。
存儲(chǔ)器件接收來自一個(gè)端口的指令,開始如圖20A和20B所示的 操作。
當(dāng)從其它的端口輸入指令,存取在ROW操作期間內(nèi)的同一個(gè)地 址時(shí),地址比較器26產(chǎn)生一個(gè)匹配信號(hào)。在重復(fù)這個(gè)匹配信號(hào)時(shí),判 優(yōu)器15A向DRAM芯14的控制電路53提供連續(xù)模式信號(hào)。響應(yīng)連 續(xù)模式信號(hào),DRAM芯14轉(zhuǎn)移到連續(xù)模式如圖25B所示。
在Wait期間中,主器件200-1根據(jù)判優(yōu)器15A作出的決定產(chǎn)生 BUSY-A信號(hào)或BUSY-B信號(hào)。在這個(gè)例子中,對(duì)于一個(gè)被判優(yōu)器15A 識(shí)別的較早已經(jīng)收到指令的端口產(chǎn)生BUSY信號(hào)。
類似地,在Wait期間中,從器件檢測(cè)由主器件產(chǎn)生BUSY信號(hào), 改變由它自己的判優(yōu)器15A作出的決定,以便如果它不同于BUSY信 號(hào)的指示就遵從主器件。然后根據(jù)改變了的指令次序?qū)嵤〤OLUMM 操作。
圖26是表示當(dāng)對(duì)于A端口的Read指令和B端口的Write指令產(chǎn) 生BUSY信號(hào)時(shí)實(shí)施的操作的定時(shí)圖。
在這個(gè)實(shí)施例中,BUSY信號(hào)具有一個(gè)指示選擇的邏輯級(jí)"L"。而 且,優(yōu)先地傳輸和非同步地接收BUSY信號(hào)。這是因?yàn)樾枰谟邢薜?Wait期間內(nèi)迅速地交換BUSY信號(hào)。
在圖26的例子中,因?yàn)锳端口的ReadA2比B端口的WriteB2 早,所以主器件在Wait期間中產(chǎn)生指示A端口的BUSY信號(hào)。從器件接收這個(gè)BUSY信號(hào),并依靠A端口的ReadA2比B端口的WriteB2 早。然后,主器件和從器件以首先ReadA2然后WriteB2的次序執(zhí)行 在連續(xù)模式中的列操作。
圖27是表示當(dāng)對(duì)于A端口的Read指令和B端口的Write指令產(chǎn) 生BUSY信號(hào)時(shí)實(shí)施的操作的定時(shí)圖。而圖26說明A端口的Read 指令較早的情形。圖27表示B端口的Write指令較早的情形。
圖28是表示當(dāng)對(duì)于A端口的Write指令和B端口的Write指令 產(chǎn)生BUSY信號(hào)時(shí)實(shí)施的操作的定時(shí)圖。
圖28所示的操作例子是關(guān)于A端口的Write指令比B端口的 Write指令早的情形。即,因?yàn)锳端口的WriteA2比B端口的WriteB2 早,所以產(chǎn)生指示A端口的BUSY信號(hào),并加到從器件上。在這種情 形中,因?yàn)橥ㄟ^執(zhí)行A端口的Write指令被寫入的數(shù)據(jù)將立即被覆蓋, 所以只有B端口的寫指令因?yàn)閃riteB2因?yàn)樗^后進(jìn)入而被執(zhí)行。
圖29是表示當(dāng)對(duì)于A端口的Write指令和B端口的Write指令 產(chǎn)生BUSY信號(hào)時(shí)實(shí)施的操作的定時(shí)圖。
圖29所示的操作例子是關(guān)于B端口的Write指令比A端口的 Write指令早的情形。在這種情形中,因?yàn)橥ㄟ^執(zhí)行B端口的Write 指令被寫入的數(shù)據(jù)將立即被替代,所以只有A端口的寫指令WriteA2 被執(zhí)行。在這個(gè)例子中,將A端口的時(shí)鐘頻率設(shè)置得稍低于B端口的 時(shí)鐘頻率。雖然當(dāng)比較指令WriteA2和WriteB2時(shí)對(duì)于A端口指令輸 入稍早,但是在接收最后一個(gè)數(shù)據(jù)輸入時(shí)是B端口較早。因此,確定 B端口的Write指令比A端口的Write指令早。
上面提供的描述還沒有參考關(guān)于A端口的Read指令和B端口的 Read指令的組合起來的情形。因?yàn)椴还芟鄬?duì)的定時(shí)如何,數(shù)據(jù)的可靠 性不受影響,所以在這個(gè)情形中不需要產(chǎn)生BUSY信號(hào)。
圖30是表示在能夠處理由控制器發(fā)出的中斷指令的配置中的操 作的定時(shí)圖。
"中斷指令"是當(dāng)開始BUSY信號(hào)時(shí)指令改變由主器件的判優(yōu)器作 出的決定的指示。造成中斷的方法包括a) 作為指令輸入;
b) 提供專用的端子銷;
c) 用特定的地址組合;和
d) 用BUSY信號(hào)。
方法d)用控制器對(duì)與為其產(chǎn)生BUSY信號(hào)的端口不同的端口提 供BUSY信號(hào),并安排主存儲(chǔ)器和從存儲(chǔ)器對(duì)它進(jìn)行檢測(cè)。
在圖30的例子中,當(dāng)對(duì)于A端口的Write指令和B端口的Write 指令發(fā)生BUSY信號(hào)時(shí)產(chǎn)生中斷。如將圖28和圖29結(jié)合起來進(jìn)行的 描述那樣,當(dāng)Write和Write的組合產(chǎn)生BUSY信號(hào)時(shí)只有A端口的 Write指令和B端口的Write指令中的一個(gè)被執(zhí)行。結(jié)果,將失去較 早進(jìn)入的數(shù)據(jù)。
在圖30中,A端口的WriteA2比B端口的WriteB2早,使產(chǎn)生 指向A端口的BUSY信號(hào)。接收到主器件產(chǎn)生的BUSY信號(hào)后,控制 器產(chǎn)生中斷指令以便防止刪除A端口的Write數(shù)據(jù)。
主器件和從器件從控制器接收中斷指令,改變由判優(yōu)器作出的決 定,接著根據(jù)中斷指令在等待期間結(jié)束后執(zhí)行Write操作。即,判優(yōu) 器改變它們的決定指出A端口的指令WriteA2比B端口的指令 WriteB2晚,實(shí)施與WriteA2有關(guān)的寫操作。這能夠防止A端口的寫 數(shù)據(jù)被刪除。在Write—Write組合的情形中,全部需要只是執(zhí)行寫操 作一次,使得可以分配比Read—Write組合或Write~>Read組合的連 續(xù)模式較長的等待期間。于是可以利用這個(gè)等待期間響應(yīng)BUSY信號(hào) 執(zhí)行中斷指令。
下面,我們描述用于實(shí)現(xiàn)上述操作的地址比較器,BUSY I/O系統(tǒng) 和中斷系統(tǒng)的配置。
圖31是表示根據(jù)本發(fā)明的第2實(shí)施例的多端口存儲(chǔ)器的地址比較 器,BUSYI/0系統(tǒng),和中斷系統(tǒng)的配置的圖。
地址比較器26比較存儲(chǔ)在地址寄存器中的地址,并當(dāng)A端口 11 的地址和B端口 12的地址之間存在匹配時(shí)輸出匹配信號(hào)。而且,為 了指出哪兩個(gè)地址是匹配地址,產(chǎn)生信號(hào)ARA, AWA, ARB和AWB。例如,當(dāng)A端口的Write指令的地址和B端口的Write指令的地址 顯示匹配時(shí),將AWA和AWB設(shè)置在"H"。 NAND電路208到210 每個(gè)都得到這些信號(hào)的一個(gè)邏輯NAND,使得Nl, N2和N3中的一 個(gè)變成"L"。
在圖31左邊(在地址比較器26的下面)提供了 BUSY信號(hào)I/O 裝置36和46與中斷電路。根據(jù)模寄存器31或41的設(shè)置,BUSY和 I/O硬件控制裝置211在主器件情形中響應(yīng)匹配信號(hào)的檢測(cè)產(chǎn)生激活 信號(hào)(主),和在從器件情形中產(chǎn)生激活信號(hào)(從)。激活信號(hào)(主) 激活BUSY輸出電路212和213,而激活信號(hào)(從)激活BUSY輸入 電路214和215。
在判優(yōu)器中,將選出的指令作為指令次序中的第一個(gè)輸出到輸出 端RA3, WA3, RB3和WB3中的一個(gè)(即輸出端中的一個(gè)是"H")。 在主器件情形中,RA3到WB3被鎖存器216和217響應(yīng)信號(hào)N4鎖存 起來,信號(hào)N4是由與匹配信號(hào)的前沿對(duì)應(yīng)的脈沖組成的。根據(jù)鎖存 的數(shù)據(jù)輸出BUSY-A信號(hào)和BUSY-B信號(hào)。
在從器件情形中,如果接收到是"L"的BUSY-A信號(hào),則將從中 斷電路218輸出的信號(hào)N10設(shè)置在"L"。如果接收到是"L"的BUSY-B 信號(hào),則將從中斷電路219輸出的信號(hào)Nil設(shè)置在"L"。當(dāng)信號(hào)NIO 和Nil處于去激活狀態(tài)時(shí),它們是"H",當(dāng)檢測(cè)出BUSY信號(hào)或中斷 指令時(shí)它們變成"L"。
中斷檢測(cè)裝置220檢測(cè)從控制器提供的中斷指令,并輸出中斷信 號(hào)A或B。給予中斷信號(hào)對(duì)進(jìn)入的BUSY信號(hào)的優(yōu)先權(quán),并將它們作 為信號(hào)N10和Nil傳輸出去。
圖31底部所示的三個(gè)比較器80-3, 80-5和80-6是判優(yōu)器15A的 比較電路的一部分(請(qǐng)參見圖6A和圖24 )。這些比較器對(duì)于需要BUST 確定的指令組合進(jìn)行比較。
圖32是表示一個(gè)主器件的操作的定時(shí)圖。圖33是表示一個(gè)從器 件的操作的定時(shí)圖。
這三個(gè)定時(shí)圖說明A端口的Read指令的地址和B端口的Write指令的地址相互匹配的情形。圖32的主器件決定A端口較早,圖33 的從器件決定B端口較早。在這種情形中,主器件的比較器80-3輸 出是"L"的N21和是"H,,的N22。進(jìn)一步,從器件的比較器80-3輸出 是"H"的N21和是"L,,的N22。主器件產(chǎn)生BUSY-A信號(hào),從器件在 接收BUSY-A信號(hào)時(shí)將N10改變成"L"。因?yàn)樵谶@個(gè)時(shí)間點(diǎn)Nl是"L", 所以通過NOR("或非,,)電路221和倒相器222將N10的LOW信號(hào) 加到從器件的比較器80-3上。對(duì)應(yīng)地,從器件的比較器80-3的輸出 改變到是"L"的N21和是"H"的N22。在這種方式中,改變了由判優(yōu)器 作出的決定。
現(xiàn)在我考慮與上述情形相反的A端口的Write指令的地址和B 端口的Read指令的地址相互匹配的情形。在這種情形中,從器件的 比較器80-5輸出被改變,從而改變?cè)趶钠骷杏膳袃?yōu)器作出的決定。
比較WA2和WB2的比較器80-6具有一個(gè)不同于比較器80-3和 80-5的外圍電路配置。這是因?yàn)楫?dāng)響應(yīng)Write和Write組合產(chǎn)生BUSY 信號(hào)時(shí),A端口的指令和B端口的指令中只有一個(gè)將被保留。
圖34是表示當(dāng)兩個(gè)端口的寫地址相同時(shí)實(shí)施的主器件的操作的 定時(shí)圖。圖35是表示當(dāng)兩個(gè)端口的寫地址相同時(shí)實(shí)施的從器件的操作 的定時(shí)圖。
現(xiàn)在我們考慮如圖34所示主器件決定A端口較早,和如圖35所 示從器件決定B端口較早的情形。在地址比較器26剛剛產(chǎn)生一個(gè)匹 配信號(hào)的瞬間,主器件的比較器80-6輸出是"L"的N25和是"H"的 N26,和從器件的比較器80-6輸出是"H"的N25和是"L"的N26。主 器件將RA3, WA3, RB3和WB3鎖存在這個(gè)狀態(tài),并輸出 一個(gè)BUSY-A 信號(hào)。
當(dāng)如在本情形中那樣在Write-Write組合中產(chǎn)生BUSY信號(hào)時(shí), 需要?jiǎng)h除一個(gè)已較早進(jìn)入的Write指令。為了這個(gè)目的,提供倒相器 231, NOR電路232, NAND電路233和234,倒相器235和236。響 應(yīng)匹配信號(hào),HIGH邊沿脈沖電路230產(chǎn)生信號(hào)N4的"H"脈沖。通過 某個(gè)邏輯操作將信號(hào)N4和信號(hào)N3組合起來,產(chǎn)生信號(hào)N31中的"H"脈沖。在這個(gè)例子中,N26對(duì)于主器件是"H",使N33產(chǎn)生"H"脈沖, 導(dǎo)致N25改變成"H"和N26改變成"L"。這里,延遲電路237和238 用于提供一個(gè)能夠用來在改變發(fā)生前產(chǎn)生BUSY信號(hào)的額外時(shí)間,并 防止當(dāng)將已經(jīng)改變了的狀態(tài)反饋回到NAND電路233和234時(shí)再次被 改變。在從器件中,將N25改變成"L",將N26改變成"H"。
如以前描述的那樣,主器件產(chǎn)生BUSY-A信號(hào),接收這個(gè)信號(hào)的 從器件4吏它的N10改變成"L"。因?yàn)樵谶@個(gè)特定瞬間N3是"L",所以 從器件的比較器80-6再次被反轉(zhuǎn),導(dǎo)致使N25改變成"H",使N26 改變成"L"。
延遲電路250接收信號(hào)N4,并使這個(gè)信號(hào)延遲一個(gè)預(yù)定時(shí)間長度, 從而產(chǎn)生一個(gè)Wait期間。這里,當(dāng)選擇N1或N2時(shí)選擇Delay (延 遲)(tl),當(dāng)選擇N3時(shí)選擇Delay (t2)。
提供NAND電路251和252與倒相器253和254用于當(dāng)Wait期 間結(jié)束時(shí)從指令寄存器清除被跳過的Write指令。例如,如果在Wait 期間結(jié)束時(shí)N25是"L"和N26是"H",則將執(zhí)行A端口的Write指令。 因此,為了從寄存器刪除B端口的Write指令產(chǎn)生RESTWB2。因?yàn)?在Wait期間中需要通過BUSY接收或中斷改變決定,所以在這個(gè)期
間指令寄存器中的指令被完整地保留下來。
圖36是表示當(dāng)兩個(gè)端口的寫地址相互匹配使控制器發(fā)出中斷指 令時(shí)主器件操作的定時(shí)圖。圖37是表示當(dāng)兩個(gè)端口的寫地址相互匹配 使控制器發(fā)出中斷指令時(shí)從器件操作的定時(shí)圖。
如圖36所示,在主器件中的指令選擇狀態(tài)由于中斷而反轉(zhuǎn),而且, 如圖37所示,在從器件中的指令選擇狀態(tài)由于BUSY信號(hào)而反轉(zhuǎn), 然后進(jìn)一步由于中斷而反轉(zhuǎn)。這里,由于中斷而反轉(zhuǎn)狀態(tài)的操作與由 于BUSY信號(hào)而反轉(zhuǎn)狀態(tài)的操作相同,我們將省略它的詳細(xì)描述。
在上述第2實(shí)施例的操作中,設(shè)計(jì)從一個(gè)給定的指令到下一個(gè)接 著的指令擴(kuò)展的指令周期使它甚至在產(chǎn)生BUSY信號(hào)或中斷指令后也 不改變。
在圖26中,例如,雖然響應(yīng)ReadA2發(fā)生BUSY信號(hào),ReadA2—ReadA3的指令間隔與ReadAl— ReadA2的指令間隔相同。要求在 Wait期間處理BUSY信號(hào)和中斷信號(hào)。因?yàn)檫@個(gè)原因,當(dāng)由于長的系 統(tǒng)總線,大量的從器件,控制器的慢響應(yīng)等BUSY信號(hào)或中斷信號(hào)的 交換需要長時(shí)間時(shí),就需要較長的Wait期間。
為了消除這個(gè)問題,當(dāng)延遲跟隨BUSY信號(hào)和中斷信號(hào)的下一個(gè) 指令輸入時(shí)可以擴(kuò)展Wait期間。即,當(dāng)加長Wait期間時(shí)可以擴(kuò)展 ReadA2— ReadA3的指令間隔使它比在圖26中的ReadA1— ReadA2 的指令間隔長。
為了延遲一個(gè)指令輸入,可以在設(shè)計(jì)書中說明指令輸入的延遲, 和可以設(shè)計(jì)控制器使它根據(jù)數(shù)據(jù)表進(jìn)行操作。如圖31所示通過加長延 遲電路250的延遲時(shí)間達(dá)到Wait期間的擴(kuò)展。如果根據(jù)用度需要調(diào)整 Wait期間,則在延遲電路250中可以提供兩條或多條延遲線,使通過
一個(gè)模寄存器的設(shè)置改變延遲長度的設(shè)置成為可能。
當(dāng)Wait期間以這種方式擴(kuò)展時(shí),除了響應(yīng)Write-Write指令組合 產(chǎn)生BUSY信號(hào)的情形外在其它情形中也能夠提供長的Wait期間。 考慮到這一點(diǎn),甚至當(dāng)響應(yīng)Read-Write或Write-Read指令組合出現(xiàn) BUSY信號(hào)時(shí)控制器也可以發(fā)出 一個(gè)中斷指令。
在上面描述的本發(fā)明中,當(dāng)指令進(jìn)入N個(gè)端口時(shí),在任何給定的 端口的一個(gè)最小指令周期內(nèi) 一個(gè)接著一個(gè)地執(zhí)行與N個(gè)端口對(duì)應(yīng)的所 有的N指令。因此, 一個(gè)與任何給定端口有關(guān)的存取操作出現(xiàn)在器件 外部中在最小指令周期內(nèi)被實(shí)施。在這個(gè)情形中,只有當(dāng)從多個(gè)端口 存取同一個(gè)地址時(shí)才會(huì)發(fā)生BUSY信號(hào)。于是可以得到BUSY信號(hào)發(fā) 生概率,該概率與SRAM型多端口存儲(chǔ)器的BUSY信號(hào)發(fā)生概率一樣 低。
而且,在本發(fā)明的半導(dǎo)體存儲(chǔ)器件中,內(nèi)部電路包括一個(gè)存儲(chǔ)單 元陣列,該陣列由各動(dòng)態(tài)型存儲(chǔ)單元和一個(gè)定義存儲(chǔ)單元被刷新的定 時(shí)的刷新電路組成。在第1模式中,響應(yīng)輸入到在N個(gè)端口中的至少 一個(gè)的刷新指令刷新存儲(chǔ)單元,在第2模式中,在刷新電路確定的定 時(shí)刷新存儲(chǔ)單元。即,上面描述的本發(fā)明具有第l操作模式,在該模式中響應(yīng)來自
一個(gè)外部端口的指令實(shí)施刷新操作,和第2操作模式,在該模式中響 應(yīng)內(nèi)部刷新電路實(shí)施刷新操作。因?yàn)檫@個(gè)配置,允許一個(gè)外部端口作 為一個(gè)用于刷新管理的端口進(jìn)行操作,以便在恒定的間隔接收刷新指 令,或者如果這個(gè)用于刷新管理的端口處在去激活狀態(tài)則內(nèi)部刷新電 路實(shí)施刷新操作。這使根據(jù)系統(tǒng)配置以 一種靈活的方式管理刷新操作 成為可能。
[本發(fā)明的第2方面
下面我們描述本發(fā)明的第2方面。
存在若干種多端口存儲(chǔ)器。下文中,涉及具有多個(gè)端口的存儲(chǔ)器, 并允許從各端口相互獨(dú)立地存取一個(gè)公共存儲(chǔ)器陣列。例如,兩個(gè)端 口型的多端口存儲(chǔ)器裝備有一個(gè)A端口和一個(gè)B端口,并允許從與A 端口鏈接的CPU-A和從與B端口鏈接的CPU-B獨(dú)立地進(jìn)行到公共存 儲(chǔ)器的讀/寫存取。
作為這類多端口存儲(chǔ)器,具有SRAM存儲(chǔ)器陣列的存儲(chǔ)器是已知 的,其中在復(fù)制的設(shè)置中提供各字線和各位線對(duì),每個(gè)存儲(chǔ)單元都與 2組字線和位線對(duì)連接。然而,這種多端口存儲(chǔ)器具有電路密度低的 問題,其中需要提供字線和位線對(duì)的復(fù)制組。
為了消除這個(gè)問題,可以用與具有多個(gè)處理器配置的計(jì)算機(jī)所用 的共用存儲(chǔ)器相同的機(jī)構(gòu)。共用存儲(chǔ)器具有提供給公共存儲(chǔ)器的多個(gè) 端口。典型地,將SRAM用作存儲(chǔ)器,并用離散的IC(集成電路) 制成多個(gè)端口。當(dāng)從多個(gè)端口同時(shí)進(jìn)行存取時(shí),因?yàn)榇鎯?chǔ)器陣列是共 用的,所以不能同時(shí)進(jìn)行與多個(gè)端口相應(yīng)的操作。防止這種問題發(fā)生 的最簡單的方法是對(duì)每個(gè)端口產(chǎn)生BUSY信號(hào)以便防止當(dāng)從一個(gè)端口 進(jìn)行存取時(shí)到另一個(gè)端口的存取。然而,這引起限制存儲(chǔ)器用度的問 題??紤]到這一點(diǎn),為公共存儲(chǔ)器提供稱為判優(yōu)器的判優(yōu)電路,判優(yōu) 電路確定多個(gè)端口接收的存取要求的優(yōu)先權(quán)。構(gòu)造存儲(chǔ)器陣列的控制 器,以優(yōu)先權(quán)的次序執(zhí)行與存取要求對(duì)應(yīng)的操作。例如,以到達(dá)的次序即以將存取要求加到各端口的次序處理存取要求。
在這個(gè)情形中,存儲(chǔ)器陣列最終隨機(jī)地從多個(gè)端口被存取。因此, 不能提供在同 一個(gè)行地址連續(xù)地存取相繼的列地址的列存取操作,而
這樣的列存取操作典型地可以在DRAM中得到。即,選擇,為讀/寫 操作存取和復(fù)位存儲(chǔ)單元,響應(yīng)單個(gè)存取實(shí)施所有這些操作。
當(dāng)制成一個(gè)共用存儲(chǔ)器時(shí), 一般地,按常規(guī)將SRAM用作存儲(chǔ)器 陣列。這是因?yàn)镾RAM能夠進(jìn)行高速隨機(jī)存取操作,并且因?yàn)椴恍枰?刷新操作所以能夠容易地使用SRAM。然而,單塊芯片的多端口存儲(chǔ) 器常規(guī)地具有以字線和位線對(duì)的復(fù)制組,在具有通常的SRAM配置的 存儲(chǔ)器陣列的基礎(chǔ)上的單塊芯片的多端口存儲(chǔ)器還沒有在實(shí)踐中使 用。
總結(jié)一下,多端口存儲(chǔ)器和共用存儲(chǔ)器是用SRAM制成的,而不 用需要刷新操作的DRAM。
當(dāng)系統(tǒng)不斷地提供高性能時(shí)要被處理的數(shù)據(jù)量增加,并且多端口 存儲(chǔ)器也需要具有大的容量??梢杂脛?dòng)態(tài)型存儲(chǔ)單元(DRAM)陣列 制成多端口存儲(chǔ)器,DRAM陣列比SRAM具有較高的電路密度,從 而以低的成本提供具有大存儲(chǔ)容量的多端口存儲(chǔ)器。然而,存儲(chǔ)單元 的刷新操作成為一個(gè)問題。
在常規(guī)的DRAM中,需要從器件外部以恒定間隔在讀/寫指令之 間提供刷新指令。為此,在以DRAM為基礎(chǔ)的系統(tǒng)中的控制器器件具 有用于刷新管理的定時(shí)器和/或控制電路。然而,在用以SRAM為基 礎(chǔ)的多端口存儲(chǔ)器的系統(tǒng)中不提供這樣的電路。甚至在以DRAM為基 礎(chǔ)制成存儲(chǔ)器的情形中,在這些系統(tǒng)中需要能以與常規(guī)的多端口存儲(chǔ) 器相同的方式使用這種存儲(chǔ)器。即,具有由DRAM組成的存儲(chǔ)器陣列 的多端口存儲(chǔ)器需要由它自己來進(jìn)行刷新操作。
本發(fā)明的目的是提供具有由DRAM芯組成的存儲(chǔ)器陣列,而且不 需要考慮刷新操作就能使用的多端口存儲(chǔ)器,從而以低的成本提供具 有大存儲(chǔ)容量并且容易使用的多端口存儲(chǔ)器。
圖38是用于解釋本發(fā)明原理的圖,表示當(dāng)對(duì)于兩個(gè)端口實(shí)施讀操作時(shí)的情形。
在能夠?qū)嵤?個(gè)內(nèi)部操作周期的最小間隔上提供加到兩個(gè)外部端 口, A端口和B端口的指令。即,將一個(gè)外部指令周期設(shè)置在比3個(gè) 內(nèi)部操作周期需要的持續(xù)時(shí)間長的長度上。分別將時(shí)鐘信號(hào)CLKA和
CLKB輸入到A端口和B端口,與時(shí)鐘信號(hào)同步地進(jìn)行在器件的一個(gè) 外部裝置和各外部端口之間的地址和數(shù)據(jù)的交換。使地址(圖中未畫 出)與指令同時(shí)進(jìn)入。當(dāng)在最小外部指令周期上使讀指令進(jìn)入A端口 和B端口時(shí),判優(yōu)電路通過將優(yōu)先權(quán)給予首先到達(dá)的輸入信號(hào),控制 芯的操作。如上所述在一個(gè)外部指令周期中能夠?qū)嵤?個(gè)內(nèi)部操作, 在這個(gè)外部指令周期中在存儲(chǔ)器陣列上執(zhí)行2個(gè)讀操作,接著將讀數(shù) 據(jù)輸出到A端口和B端口。 A端口和B端口兩者都保持檢索的數(shù)據(jù), 并在下一個(gè)跟隨的外部指令周期開始時(shí),即與從輸入讀指令的第4個(gè) 時(shí)鐘信號(hào)同步地輸出檢索的數(shù)據(jù)。即,在這個(gè)情形中數(shù)據(jù)的等待時(shí)間 是4。
提供刷新定時(shí)器作為內(nèi)部電路,刷新定時(shí)器在它自己身上產(chǎn)生刷 新指令。因?yàn)槿缟纤鲈谝粋€(gè)外部指令周期中能夠?qū)嵤?個(gè)內(nèi)部操作, 所以當(dāng)產(chǎn)生刷新指令時(shí)在單個(gè)外部指令周期中能夠執(zhí)行指令A(yù),指令 B和刷新指令。在下一個(gè)跟隨的外部指令周期開始時(shí)輸出讀數(shù)據(jù)。在 這個(gè)方式中,可以從器件外部存取多端口存儲(chǔ)器而與刷新操作沒有任 何關(guān)系。
在圖38的例子中,響應(yīng)一個(gè)讀指令輸出一項(xiàng)讀數(shù)據(jù)。即,脈沖串 長度為1。所以,在一個(gè)時(shí)鐘脈沖周期中完成讀數(shù)據(jù)的輸出后,在外 部指令周期的3個(gè)余下的時(shí)鐘周期中外部端口不輸出任何數(shù)據(jù),這導(dǎo) 致無效的數(shù)據(jù)傳輸??梢酝ㄟ^加長脈沖串長度來消除這個(gè)問題。
圖39是用于解釋本發(fā)明原理的圖,表示脈沖串長度為4的例子。 在這個(gè)例子中,與上述情形相同,將2個(gè)外部端口的外部指令周期設(shè) 置在能夠供應(yīng)3個(gè)內(nèi)部操作周期的長度上。進(jìn)一步, 一個(gè)外部指令周 期對(duì)應(yīng)4個(gè)時(shí)鐘周期。與時(shí)鐘信號(hào)同步地在單個(gè)外部指令周期中從一 個(gè)外部端口4次輸出數(shù)據(jù)。所以,如果根據(jù)一個(gè)外部指令周期的時(shí)鐘周期的數(shù)目設(shè)置脈沖串長度,則在兩個(gè)端口都能實(shí)現(xiàn)無間隙的讀操作, 從而非常大地增加了數(shù)據(jù)傳輸速率。在這個(gè)情形中,要求與脈沖串長 度一樣多的數(shù)據(jù)項(xiàng)響應(yīng)單個(gè)存取內(nèi)部地輸入存儲(chǔ)器陣列或內(nèi)部地從存
儲(chǔ)器陣列輸出。例如,如果外部端口的數(shù)據(jù)輸入/輸出銷的數(shù)目為4, 和脈沖串長度為4,則需要保證由單個(gè)存取操作從存儲(chǔ)器陣列輸出16 位數(shù)據(jù)或?qū)?6位數(shù)據(jù)輸入存儲(chǔ)器陣列。
我們應(yīng)該注意到A端口和B端口不一定同步操作,并且只要將最 小周期設(shè)置得等于3個(gè)內(nèi)部操作周期需要的持續(xù)時(shí)間,就可以將各外 部指令周期相互獨(dú)立地設(shè)置在任何定時(shí)。
而且,外部端口的數(shù)目也可以是任何數(shù)目。如果將外部端口的數(shù) 目設(shè)置為n,則將每個(gè)端口的外部指令周期設(shè)置在能夠進(jìn)行n+l個(gè)內(nèi) 部操作周期的最小周期上。如果滿足這個(gè)要求,則甚至當(dāng)刷新操作被 執(zhí)行時(shí)在一個(gè)外部指令周期中也可以實(shí)施各端口要求的所有操作,從 而允許使用多端口存儲(chǔ)器而與刷新操作沒有任何關(guān)系。
圖40和圖41是表示當(dāng)有2個(gè),3個(gè)和n個(gè)端口時(shí)在一個(gè)最小外 部指令周期和各內(nèi)部操作周期之間的關(guān)系的圖。
如這些圖所示,如果端口的數(shù)目為2,則最小外部指令周期具有 能夠供應(yīng)3個(gè)內(nèi)部操作的長度,并且如果端口的數(shù)目為3,則最小外 部指令周期是可以進(jìn)行4個(gè)內(nèi)部操作的時(shí)間長度。進(jìn)一步,如果端口 的數(shù)目為n,則最小外部指令周期等于可以執(zhí)行n+l個(gè)內(nèi)部操作的時(shí) 間長度。
圖42和圖43A到43C是表示根據(jù)本發(fā)明的實(shí)施例的多端口存儲(chǔ) 器的配置的圖。圖42表示DRAM芯和它的相關(guān)電路,圖43A表示A 端口,圖43B表示B端口。進(jìn)一步,圖43C表示刷新電路。圖43A 到43C所示的電路與圖42的各部分連接。
如這些圖所示,這個(gè)實(shí)施例的多端口存儲(chǔ)器包括DRAM芯2011, 用于控制確定操作次序并保證以確定的次序?qū)嵤┎僮鞯呐袃?yōu)器2026 , 多組暫時(shí)存儲(chǔ)指令,地址和數(shù)據(jù)的寄存器,2個(gè)由A端口 2030和B 端口 2040組成的外部端口,和刷新電路2050。A端口 2030和B端口 2040分別包括模寄存器2031和2041,CLK 緩沖器2032和2042,數(shù)據(jù)I/O電路2033和2043,地址輸入電路2034 和2044,與指令輸入裝置2035和2045,它們根據(jù)從器件外部提供的 各分開的時(shí)鐘頻率進(jìn)行操作。將數(shù)據(jù)等待時(shí)間和脈沖串長度存儲(chǔ)在模 寄存器2031和2041中,使它們能被分別地設(shè)置。數(shù)據(jù)I/O電路2033 和2043裝備有根據(jù)脈沖串長度實(shí)施輸出/輸出數(shù)據(jù)的并行到串行變換 和串行到并行變換的機(jī)構(gòu)。
刷新電路2050包括刷新定時(shí)器2051和刷新指令發(fā)生器2052。刷 新定時(shí)器2051在預(yù)定間隔上產(chǎn)生刷新開始信號(hào),刷新指令發(fā)生器2052 對(duì)應(yīng)地產(chǎn)生刷新指令。
分別將加到A端口和B端口的指令,地址和寫數(shù)據(jù)存儲(chǔ)在寄存器 中。也將刷新指令存儲(chǔ)在刷新指令寄存器2027中,并將刷新地址存儲(chǔ) 在刷新地址計(jì)數(shù)器/寄存器2018中。
判優(yōu)器2026根據(jù)指令到達(dá)的次序確定執(zhí)行指令的次序,并以確定 的次序?qū)⒅噶顐鬏斀oDRAM芯2011的控制電路2014。進(jìn)一步,判優(yōu) 器2026將傳輸信號(hào)傳輸給對(duì)應(yīng)的地址寄存器和對(duì)應(yīng)的數(shù)據(jù)寄存器(在 寫操作情形)。在DRAM芯2011中,控制電路2014響應(yīng)提供的指令, 控制譯碼器2013,寫放大器(WriteAmp) 2015,和讀出緩沖器2016, 從而實(shí)施對(duì)于存儲(chǔ)器陣列2012的存取操作。在寫操作的情形中,譯碼 器2013為了進(jìn)行寫操作對(duì)存取的地址進(jìn)行譯碼,以便激活在存儲(chǔ)器陣 列2012中的字線和列信號(hào)線,導(dǎo)致將存儲(chǔ)在寫數(shù)據(jù)寄存器A2022和 B2023中的寫數(shù)據(jù)通過WriteAmp 2015寫入存儲(chǔ)器陣列2012。在讀操 作的情形中,以類似的方式存取存儲(chǔ)器陣列2012,導(dǎo)致通過傳輸門A 2024和B 2025將讀數(shù)據(jù)從讀出緩沖器2016傳輸?shù)礁鞫丝诘臄?shù)據(jù)輸出 電路。根據(jù)DRAM芯2011的操作周期控制傳輸門的傳輸定時(shí),并由 控制電路2014確定傳輸定時(shí)。與對(duì)應(yīng)的外部時(shí)鐘信號(hào)同步地從每個(gè)端 口的數(shù)據(jù)輸出電路輸出輸出數(shù)據(jù)。
下面,我們描述與指令處理,地址處理和數(shù)據(jù)處理中的每一個(gè)有 關(guān)的詳細(xì)情形。圖44和圖45是表示根據(jù)第1實(shí)施例與指令處理有關(guān)的裝置配置 的圖。在與圖42和圖43A-43C中相同的部件上加上相同的參照數(shù)字。 這也同樣應(yīng)用于其它的圖。
如圖44所示,A端口的指令輸入裝置2035包括輸入緩沖器2036, 指令譯碼器2037和(n-l)時(shí)鐘延遲電路2038, B端口的指令輸入裝 置2045包括輸入緩沖器2046,指令譯碼器2047和(m-l)時(shí)鐘延遲 電路2048。這里,n和m是脈沖串長度。而且,如圖45所示,指令 寄存器A 2028包括Read指令寄存器AR和Write指令寄存器AW, 指令寄存器B 2029包括Read指令寄存器BR和Write指令寄存器 BW。
輸入緩沖器2036和2046要求以與各時(shí)鐘信號(hào)CLKA1和CLKB1 同步地加上Read指令,指令譯碼器2037和2047進(jìn)行譯碼處理。指 令譯碼器2037和2047在讀指令情形中分別產(chǎn)生RA1和RB1,而在寫 指令情形分別產(chǎn)生WA1和WB1 。分別將信號(hào)RA1和RBI傳輸給Read 指令寄存器AR和BR,不需要任何定時(shí)操作,而信號(hào)WA1和WB1 分別被(n-1)時(shí)鐘延遲電路2038和(m-l)時(shí)鐘延遲電路2(M8延遲, 直到輸入脈沖串?dāng)?shù)據(jù)的最后一個(gè)數(shù)據(jù)項(xiàng)為止,接著被傳輸給Write指 令寄存器AW和BW。而且,將由刷新電路2050產(chǎn)生的刷新指令REF1 傳輸給刷新指令寄存器2027。
判優(yōu)器2026檢測(cè)將指令傳輸給這5個(gè)指令寄存器AR, AW, BR, BW和2027的次序,并以檢測(cè)到的次序?qū)⑦@些指令一個(gè)接著一個(gè)地傳 輸給DRAM控制電路2014。 DRAM控制電路2014執(zhí)行接收的指令, 產(chǎn)生信號(hào)RESET1,要求判優(yōu)器2026當(dāng)指令執(zhí)行結(jié)束或接近結(jié)束時(shí)發(fā) 送下一個(gè)指令。響應(yīng)RESETl信號(hào),判優(yōu)器使存儲(chǔ)被執(zhí)行指令的指令 寄存器復(fù)位,并將下一個(gè)指令傳輸給DRAM控制電路2014。
圖46是判優(yōu)器2026的實(shí)施例。指令到達(dá)圖45的5個(gè)指令寄存器 的次序由比較器2053檢測(cè)出來如該圖46所示。每個(gè)比較器2053比較 兩個(gè)指令寄存器的定時(shí),將它的輸出在首先輸入"H"的情形中改變成 "H"。 AND門2054通過檢查相關(guān)的比較器2053的所有相關(guān)輸出是否是"H"來確定給定的指令是否在所有4個(gè)其它指令前輸入。如果一個(gè) 響應(yīng)的指令是最早的則響應(yīng)各指令的信號(hào)RA3, WA3, RB3, WB3 和REF變成"H",并且將響應(yīng)的指令的地址等被傳輸給DRAM芯 2011,。當(dāng)DRAM芯2011執(zhí)行該指令時(shí),從DRAM芯2011產(chǎn)生信 號(hào)RESET1,并產(chǎn)生用于使被執(zhí)行指令的指令寄存器復(fù)位的信號(hào) (ReasetRA , ReasetWA等)。當(dāng)使被執(zhí)行指令的指令寄存器復(fù)位時(shí), 接收這個(gè)被執(zhí)行指令的比較器2053的輸出改變,將在次序中的下一個(gè) 指令傳輸給DRAM芯2011。在這個(gè)方式中,以指令輸入的次序執(zhí)行 指令。
圖47是表示根據(jù)第1實(shí)施例與地址處理有關(guān)的部分的配置的圖。 下文中,在它的信號(hào)名稱的未端具有字母"P"的信號(hào)代表具有從對(duì)應(yīng)的 信號(hào)名稱的信號(hào)的前沿產(chǎn)生的脈沖的信號(hào)。如圖所示,地址輸入電路 2034和2044分別包括輸入緩沖器2057A和2057B與傳輸門2058A和 2058B。進(jìn)一步,地址寄存器A2019和地址寄存器B 2020分別包括地 址鎖存器A1和B1,傳輸門2060A和2060B,地址鎖存器A2和B2, 傳輸門2062A和2062B,與傳輸門2063A和2063B。通過地址總線2017 將從傳輸門2062A, 2062B, 2063A和2063B提供的地址傳輸給DRAM 芯2011。進(jìn)一步,通過傳輸門2064和地址總線17將從刷新地址計(jì)數(shù) 器/寄存器2018提供的刷新地址傳輸給DRAM芯2011。
當(dāng)從器件外部輸入Read指令或Write指令時(shí),分別通過傳輸門 2058A或2058B將加到輸入緩沖器2057A或5027B的地址和輸入指令 同時(shí)傳輸給地址鎖存器Al或Bl。在Read指令的情形中,通過傳輸 門2063A或2063B與到DRAM芯的指令傳輸同步地將地址傳送給 DRAM芯2011。在Write指令的情形中,進(jìn)一步在上次數(shù)據(jù)采集的定 時(shí)將地址傳輸給地址鎖存器A2或B2,然后,與到DRAM芯的指令 傳輸同步地通過傳輸門2062A或2062B傳輸給DRAM芯。進(jìn)一步, 刷新地址計(jì)數(shù)器/寄存器2018產(chǎn)生并在其中保存刷新地址,然后與到 DRAM芯的刷新指令傳輸同步地通過傳輸門2064將該地址傳輸給 DRAM芯2011。圖48是表示根據(jù)第1實(shí)施例與數(shù)據(jù)輸出有關(guān)的部分的配置的圖。 圖49是表示圖48的傳輸信號(hào)發(fā)生電路的圖。A端口 2030和B端口 2040的各數(shù)據(jù)I/O電路2033和2043分別包括為了輸出數(shù)據(jù)的電路 2065A和2065B與為了輸入數(shù)據(jù)的電路2074A和2074B,我們將在后 面描述它們。如圖所示,將通過讀出緩沖器2016從存儲(chǔ)器陣列2012 讀出的數(shù)據(jù)通過數(shù)據(jù)總線2021和傳輸門2024或2025分別傳輸給為了 輸出數(shù)據(jù)的電路2065A或2065B 。
為了輸出數(shù)據(jù)的電路2065A和2065B分別包括數(shù)據(jù)鎖存器Al或 Bl,傳輸信號(hào)發(fā)生電路2067A和2067B,傳輸門2069A或2069B,數(shù) 據(jù)鎖存器A2或B2,并行到串行變換器2070A和2070B,以及輸出緩 沖器2071A和2071B。
由DRAM芯2011的控制電路2014才艮據(jù)內(nèi)部操作對(duì)傳輸門2024 和2025進(jìn)行控制。如果被執(zhí)行的指令是Read-A (即,對(duì)于A端口的 讀操作),則傳輸門2024將打開。如果被執(zhí)行的指令是Read-B,則 傳輸門2025將打開。數(shù)據(jù)鎖存器Al和Bl在其中存儲(chǔ)數(shù)據(jù),然后在 各端口中接收Read指令后的一個(gè)確定的等待時(shí)間,在這些端口通過 傳輸門2068A或2068B引入這個(gè)等待時(shí)間,將數(shù)據(jù)傳輸給各數(shù)據(jù)鎖存 器A2或B2。然后,由并行到串行變換器2070A和2070B對(duì)數(shù)據(jù)進(jìn)行 變換,接著分別傳輸給輸出緩沖器2071A和2071B,并從那里輸出。
如圖49所示,傳輸信號(hào)發(fā)生電路2067A和2067B采用 一 系列的 觸發(fā)器2072使各Read指令RA1和RB1延遲由等待時(shí)間設(shè)定確定的 許多時(shí)間周期,從而產(chǎn)生數(shù)據(jù)傳輸信號(hào)2002。因?yàn)閬碜詡鬏旈T2068A 或2068B的讀數(shù)據(jù)傳輸響應(yīng)數(shù)據(jù)傳輸信號(hào)2002,所以讀數(shù)據(jù)從讀操作 的定時(shí)開始被延遲與等待時(shí)間相當(dāng)?shù)脑S多周期后結(jié)束。
圖50是表示根據(jù)第1實(shí)施例與數(shù)據(jù)輸入有關(guān)的部分的配置的圖。 為了輸入數(shù)據(jù)的電路2074A和2074B分別包括數(shù)據(jù)輸入(Din)緩沖 器2075A和2075B,串行到并行變換器2076A和2076B,以及數(shù)據(jù)傳 輸裝置2077A和2077B。分別通過Write數(shù)據(jù)寄存器2022和2023, 數(shù)據(jù)傳輸裝置2078A和2078B,以及數(shù)據(jù)總線21將來自數(shù)據(jù)傳輸裝置2077A和2077B的寫數(shù)據(jù)傳送給WriteAmp 2015,并被寫入存儲(chǔ)器陣 列2012。
根據(jù)脈沖串長度將串行輸入數(shù)據(jù)從串行變換到并行,然后在輸入 最后一個(gè)數(shù)據(jù)項(xiàng)的定時(shí)傳輸給Write寄存器2022和2023。當(dāng)從判優(yōu) 器2026將Write指令傳輸給DRAM芯2011時(shí),通過數(shù)據(jù)傳輸門2078A 和2078B也將對(duì)應(yīng)的數(shù)據(jù)傳輸給DRAM芯2011。
圖51到圖58是表示第1實(shí)施例的多端口存儲(chǔ)器操作的時(shí)間圖。 圖51和圖52,圖54和圖55與圖57和圖58是為了便于說明將單個(gè) 時(shí)間圖分成兩部分的圖, 一個(gè)表示時(shí)間圖的第一個(gè)一半,另一個(gè)表示 時(shí)間圖的第二個(gè)一半,它們之間存在一些重疊。
圖51和圖52表示當(dāng)將Read指令相繼地輸入兩個(gè)端口時(shí)實(shí)施的 操作。A端口和B端口,它們分別具有有相互不同頻率的時(shí)鐘信號(hào) CLKA和CLKB,與接收的時(shí)鐘信號(hào)同步地取得指令,地址和寫數(shù)據(jù), 并與時(shí)鐘信號(hào)同步地輸出檢索的數(shù)據(jù)。在這個(gè)例子中,A端口操作在 最大時(shí)鐘頻率,而B端口操作在稍低的時(shí)鐘頻率。對(duì)于A端口, Read 指令周期=4 (CLKA),數(shù)據(jù)等待時(shí)間=4,和脈沖串長度=4。對(duì)于B 端口, Read指令周期-2 (CLKB),數(shù)據(jù)等待時(shí)間=2,和脈沖串長度 =2。在各端口的模寄存器2031和2041中分別設(shè)置數(shù)據(jù)等待時(shí)間和脈 沖串長度。在這個(gè)例子中,響應(yīng)一個(gè)指令與時(shí)鐘信號(hào)同步地實(shí)施數(shù)據(jù) 的輸入/輸出4次,在輸入讀指令后的4個(gè)時(shí)鐘信號(hào)中輸出檢索的數(shù)據(jù)。
分別將加到A端口和B端口的指令存儲(chǔ)在指令寄存器2028和 2029中。當(dāng)刷新定時(shí)器2051產(chǎn)生信號(hào)時(shí),刷新指令寄存器2027將刷 新指令存儲(chǔ)在它的里面。判優(yōu)器2026監(jiān)視這些指令寄存器,并以發(fā)出 指令的次序?qū)⑦@些指令傳輸給DRAM芯2011。當(dāng)完成上一個(gè)指令的 處理后傳輸下一個(gè)指令。將從DRAM芯2011讀出的數(shù)據(jù)從讀出緩沖 器2016傳輸?shù)礁鞫丝诘臄?shù)據(jù)鎖存器2069A和2069B,然后將數(shù)據(jù)從并 行數(shù)據(jù)變換成串行數(shù)據(jù),接著作為脈沖串?dāng)?shù)據(jù)與各外部時(shí)鐘信號(hào)同步 地輸出。
如圖所示,將指令Read-A2輸入Read指令寄存器AR和將指令Read-B2輸入Read指令寄存器BR。在此之前,發(fā)生一次刷新,并將 刷新指令輸入刷新指令寄存器。根據(jù)發(fā)出指令的次序,判優(yōu)器2026以 Read-A2~>Ref~>Read-B2的次序?qū)⑦@些指令傳輸給DRAM芯2011, 然后由芯執(zhí)行這些指令。甚至當(dāng)在內(nèi)部實(shí)施刷新操作時(shí),從外部看來 數(shù)據(jù)是在一個(gè)預(yù)定數(shù)據(jù)等待時(shí)間后輸出的。這樣,就不需要考慮任何 刷新操作。
圖53表示在與上述相同的條件下接連地輸入Write指令的一個(gè)例 子。也以脈沖串輸入的形式給出在Write操作時(shí)間從器件外部輸入的 數(shù)據(jù)。在輸入最后一塊數(shù)據(jù)的定時(shí)將Write指令存儲(chǔ)在Write指令寄 存器AW中。在這個(gè)情形中,甚至當(dāng)在內(nèi)部產(chǎn)生和執(zhí)行刷新指令時(shí)也 不需要考慮任何刷新操作。
圖54和圖55表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率 上進(jìn)行Read操作時(shí)實(shí)施的操作。圖56是表示當(dāng)A端口和B端口兩者 操作在最大時(shí)鐘頻率上進(jìn)行Write寫操作時(shí)實(shí)施的操作的圖。在這個(gè) 情形中,在兩個(gè)端口的時(shí)鐘信號(hào)中可能存在相位差。對(duì)于兩個(gè)端口, Read指令周期-4, Write指令周期=4,數(shù)據(jù)等待時(shí)間=4,和脈沖串長 度=4。從圖可見,在這個(gè)情形中也能夠適當(dāng)?shù)貙?shí)施操作。
圖57和圖58是表示當(dāng)兩個(gè)端口都操作在最高頻率,并用內(nèi)部產(chǎn) 生的刷新指令從Write指令改變到Read指令時(shí)實(shí)施的操作的時(shí)間圖。 這是指令最擁擠的情形。
如圖所示,DRAM 芯 2011 以 Ref"VWrite-Al"> Write-Bl—Read-A2—Read-B2的次序進(jìn)行操作,在它們之間沒有任 何間隙。在這個(gè)例子中,在輸入Write指令后的6個(gè)時(shí)鐘脈沖輸入 Read-A2和Read-B2。即便這些定時(shí)超前2個(gè)時(shí)鐘信號(hào),也不可能超 前DRAM芯的內(nèi)部操作。由從輸入Read指令開始的數(shù)據(jù)等待時(shí)間對(duì) 讀數(shù)據(jù)的輸出定時(shí)進(jìn)行控制。如果Read-A2和Read-B2的輸入定時(shí)是 超前的,則也需要將數(shù)據(jù)輸出定時(shí)向前移動(dòng)。在這個(gè)情形中響應(yīng) Read-B2的數(shù)據(jù)輸出定時(shí)太接近DRAM芯操作的開始時(shí)間,使得不能 適當(dāng)?shù)貓?zhí)行Read-B2。因?yàn)檫@個(gè)原因,需要將Write ~>Read變遷的公共間隔設(shè)置得相當(dāng)長如本例中的6個(gè)時(shí)鐘脈沖。
關(guān)于Read ~> Write的公共間隔,因?yàn)槌峭瓿闪?Read數(shù)據(jù)的輸 出,不能將Write數(shù)據(jù)輸入DQ端子中,所以公共間隔不可避免地變 長。
圖59A和59B是表示DRAM芯2011操作的圖。圖59A表示Read 操作,圖59B表示W(wǎng)rite操作。如這些圖所示,響應(yīng)單個(gè)指令以字線 選擇—數(shù)據(jù)放大~>寫回_>預(yù)充電的次序?qū)嵤┮?系列操作,從而完成整
個(gè)操作。
如上所述,在第1實(shí)施例中從Write指令到Read指令的指令變 遷的時(shí)間中指令間隔被加長。在第2實(shí)施例中對(duì)此進(jìn)行了改進(jìn)。當(dāng)在 第1實(shí)施例中一個(gè)相關(guān)的指令間隔是6個(gè)時(shí)鐘脈沖周期時(shí),第2實(shí)施 例能將它縮短為5個(gè)時(shí)鐘脈沖周期。
本發(fā)明的第2實(shí)施例的多端口存儲(chǔ)器具有與第1實(shí)施例的多端口 存儲(chǔ)器類似的配置,不同之處只是刷新電路具有圖60所示的配置。圖 61是表示第2刷新電路2083的配置的電路圖。
如圖60所示,第2實(shí)施例的刷新電路包括將圖43C的刷新定時(shí) 器2051和刷新指令發(fā)生器2052組合起來的定時(shí)器/刷新指令發(fā)生器 2081,第2刷新指令寄存器2082和第2判優(yōu)器2083,并將從第2判 優(yōu)器2083輸出的刷新指令輸入到刷新指令寄存器2027。與第1實(shí)施 例相同將刷新指令寄存器2027的刷新指令REF2輸入到判優(yōu)器2026。 在這個(gè)配置中,也將在完成刷新操作后從判優(yōu)器2026輸出到刷新指令 寄存器2027的復(fù)位信號(hào)ResetREF加到第2刷新指令寄存器2082。
在第2實(shí)施例的刷新電路中,沿著刷新指令的路徑提供第2判優(yōu) 器2083。如果我們預(yù)期如在Write指令—Read指令的指令變遷的情 形中一樣指令很擁擠,則第2判優(yōu)器2083延遲刷新指令到刷新指令寄 存器2027的傳輸。第2判優(yōu)器2083檢查是否用圖61所示的電路配置 發(fā)生從Write指令到Read指令的改變,并且如果檢查出這樣一個(gè)改 變就延遲刷新指令從第2刷新指令寄存器2082到刷新指令寄存器2027 的傳輸。如圖61所示,當(dāng)各端口接到從器件外部轉(zhuǎn)裝置提供的Write指令 時(shí),使禁止REF傳輸?shù)男盘?hào)A和B去激活,在一個(gè)時(shí)鐘脈沖周期后 再被激活,接著在接到最后一個(gè)數(shù)據(jù)項(xiàng)后的若干個(gè)時(shí)鐘脈沖周期(即, 在本例中3個(gè)時(shí)鐘脈沖)再被去激活。圖61的3個(gè)CLK延遲裝置2084A 和2084B包括觸發(fā)器等,并分別^皮WA1和WB1復(fù)位,這導(dǎo)致當(dāng)通過 延遲裝置時(shí)WA1D和WB1D被復(fù)位。得到禁止REF傳輸?shù)男盘?hào)A和 B的邏輯AND以便產(chǎn)生一個(gè)禁止REF傳輸?shù)男盘?hào)。因?yàn)橹挥挟?dāng)兩個(gè) 端口都經(jīng)受從Write指令到Read指令的改變時(shí)在這個(gè)例子中才會(huì)出 現(xiàn)問題,而當(dāng)只有一個(gè)端口經(jīng)受這種改變時(shí)不存在問題,所以得到這 個(gè)邏輯AND。進(jìn)一步,禁止REF傳輸?shù)男盘?hào)A和B在接到Write指 令后只對(duì) 一 個(gè)時(shí)鐘周期去激活的原因是這給出 一 個(gè)額外的時(shí)間以便完 成在接收最后一個(gè)數(shù)據(jù)項(xiàng)前的刷新操作。進(jìn)一步,提供延遲裝置2086 為了相對(duì)于時(shí)鐘信號(hào)稍微延遲定時(shí),以便增大在禁止REF指令傳輸?shù)?信號(hào)和從器件外部提供的指令之間的相關(guān)定時(shí)中的差別。
圖62到圖69是表示第2判優(yōu)器的操作的定時(shí)圖。圖70到圖72 是表示第2實(shí)施例的多端口存儲(chǔ)器操作的定時(shí)圖。圖62和圖63,圖 64和圖65,圖66和圖67,圖68和圖69,圖70和圖71是為了Y更于 說明起見將單個(gè)時(shí)間圖分成兩半的圖, 一個(gè)表示時(shí)間圖的第1個(gè)一半, 另一個(gè)表示時(shí)間圖的第2個(gè)一半,它們之間存在一些重疊。
圖62和圖63表示兩個(gè)端口經(jīng)受Write—Read指令改變,并當(dāng) REF傳輸禁止期間發(fā)生刷新定時(shí)器事件的情形。在這個(gè)情形中,在完 成Read-A2和Read-B2后實(shí)施刷新操作Ref。
圖64和圖65表示與上述情形相同兩個(gè)端口經(jīng)受Write—Read指 令改變,但是在REF傳輸禁止期間前發(fā)生刷新定時(shí)器的情形。在這個(gè) 情形中,在實(shí)施刷新操作Ref后實(shí)施Read操作。
圖66和圖67說明只有A端口經(jīng)受Write—Read指令變遷,并在 REF傳輸禁止期間中發(fā)生刷新定時(shí)器事件的情形。在這個(gè)情形中,在 完成Write指令后實(shí)施刷新操作Ref,然后實(shí)施Read操作。
圖68和圖69顯示在兩個(gè)端口繼續(xù)Write的情形。在這個(gè)情形中,一當(dāng)在接著最后一個(gè)數(shù)據(jù)輸入,輸入Write指令后,就使3個(gè)CLK延 遲裝置2084A和2084B去激活。
圖70和圖71是表示與圖57和圖58所示的第1實(shí)施例的操作對(duì) 應(yīng)的第2實(shí)施例的操作的時(shí)間圖。與第1實(shí)施例比較使Write—Read 指令變遷的指令間隔從6個(gè)時(shí)鐘脈沖縮短到5個(gè)時(shí)鐘脈沖。
圖72是表示與圖56所示的第1實(shí)施例的操作對(duì)應(yīng)的第2實(shí)施例 的操作的時(shí)間圖。雖然與第1實(shí)施例比較改變了關(guān)于刷新操作的指令 執(zhí)行次序,但是保持有次序的操作。
如上所述,第2實(shí)施例可以在任何條件下適當(dāng)?shù)貙?shí)施操作,并能 夠?qū)rite指令—Read指令變遷的指令間隔縮短到5個(gè)時(shí)鐘脈沖周 期。
如上所述,本發(fā)明允許當(dāng)以DRAM芯為基礎(chǔ)制成存儲(chǔ)陣列時(shí)使用 多端口存儲(chǔ)器而不需要考慮任何刷新操作,從而以低成本提供具有大 容量和容易使用的多端口存儲(chǔ)器。
[本發(fā)明的第3方面
下面我們描述本發(fā)明的第3方面。
存在若干種多端口存儲(chǔ)器。下文中,涉及具有多個(gè)端口的存儲(chǔ)器, 并允許從各端口相互獨(dú)立地存取一個(gè)公共存儲(chǔ)器陣列。例如,兩個(gè)端 口型的多端口存儲(chǔ)器裝備有A端口和B端口 ,并允許從與A端口鏈接 的CPU-A和從與B端口鏈接的CPU-B獨(dú)立地進(jìn)行到公共存儲(chǔ)器的讀 /寫存取。
作為這類多端口存儲(chǔ)器,具有SRAM存儲(chǔ)器陣列的存儲(chǔ)器是已知 的,其中在復(fù)制組中提供各字線和各位線對(duì),每個(gè)存儲(chǔ)單元都與2組 字線和位線對(duì)連接。然而,這個(gè)多端口存儲(chǔ)器具有電路密度低的問題, 其中需要提供字線和位線對(duì)的復(fù)制組。
為了消除這個(gè)問題,可以用與具有多個(gè)處理器配置的計(jì)算機(jī)所用 的共用存儲(chǔ)器相同的機(jī)構(gòu)。 一個(gè)共用存儲(chǔ)器具有提供給公共存儲(chǔ)器的 多個(gè)端口。典型地,將SRAM用作存儲(chǔ)器,并用離散的IC制成多個(gè)端口。當(dāng)從多個(gè)端口同時(shí)進(jìn)行存取時(shí),因?yàn)榇鎯?chǔ)器陣列是共用的,所 以不能同時(shí)進(jìn)行與多個(gè)端口對(duì)應(yīng)的操作。防止這種問題發(fā)生的最簡單
的方法是對(duì)每個(gè)端口產(chǎn)生一個(gè)BUSY信號(hào)以便防止當(dāng)從一個(gè)端口作出 存取時(shí)到另一個(gè)端口的存取。然而,這引起限制存儲(chǔ)器用度的問題。 考慮到這一點(diǎn),為一個(gè)公共存儲(chǔ)器提供一個(gè)稱為判優(yōu)器的判優(yōu)電路, 判優(yōu)電路確定多個(gè)端口接收的存取要求的優(yōu)先權(quán)。構(gòu)造存儲(chǔ)器陣列的 控制器,以優(yōu)先權(quán)的次序執(zhí)行與存取要求相應(yīng)的操作。例如,以到達(dá) 的次序即以將存取要求加到各端口的次序處理存取要求。然而,這并 不改變當(dāng)另一個(gè)端口的指令正在被處理時(shí)不能執(zhí)行新指令的情況。在 這種情形中需要傳輸BUSY信號(hào),存取存儲(chǔ)器的器件需要具有處理 BUSY信號(hào)的機(jī)構(gòu)。
隨機(jī)地從多個(gè)接口存取存儲(chǔ)器陣列。因此,不提供在同一個(gè)行地 址上連續(xù)地存取相繼的列地址的列存取操作,但是在DRAM中典型地 可以利用這種列存取操作。即,選擇一個(gè)存儲(chǔ)單元,為了讀/寫操作存 取該存儲(chǔ)單元,使該存儲(chǔ)單元復(fù)位,所有這些操作都是在響應(yīng)單個(gè)存 取時(shí)被執(zhí)行的。
當(dāng)完成一個(gè)共用存儲(chǔ)器時(shí), 一般,常規(guī)地將SRAM用作存儲(chǔ)器陣 列。這是因?yàn)镾RAM能夠進(jìn)行高速隨機(jī)存取操作,又,因?yàn)椴恍枰?新操作,所以很容易使用SRAM。而且,單塊芯片的多端口存儲(chǔ)器通 常具有字線和位線對(duì)的復(fù)制組,但是在具有通常的SRAM配置的存儲(chǔ)
器陣列的基礎(chǔ)上的單塊芯片的多端口存儲(chǔ)器還沒有在實(shí)踐中使用。
總結(jié)一下,多端口存儲(chǔ)器和共用存儲(chǔ)器是用SRAM制成的,而不 用需要刷新操作的DRAM。
當(dāng)系統(tǒng)不斷地提供高性能時(shí)要被處理的數(shù)據(jù)量增加,并且多端口 存儲(chǔ)器也需要具有大的容量??梢杂脛?dòng)態(tài)型存儲(chǔ)單元(DRAM)陣列 制成多端口存儲(chǔ)器,DRAM比SRAM具有較高的電路密度,從而以 低的成本提供具有大存儲(chǔ)容量的多端口存儲(chǔ)器。然而,存儲(chǔ)單元的刷 新操作成為一個(gè)問題。
在常規(guī)的DRAM中,需要從器件外部以恒定間隔在讀/寫指令之間提供刷新指令。為此,在以DRAM為基礎(chǔ)的系統(tǒng)中的控制器器件具 有用于刷新管理的定時(shí)器和/或控制電路。然而,在用以SRAM為基 礎(chǔ)的多端口存儲(chǔ)器的系統(tǒng)中不提供這樣一個(gè)電路。甚至在以DRAM為 基礎(chǔ)制成存儲(chǔ)器的情形中,在這些系統(tǒng)中需要能以與常規(guī)的多端口存 儲(chǔ)器相同的方式使用這種存儲(chǔ)器。即,具有由DRAM組成的存儲(chǔ)器陣 列的多端口存儲(chǔ)器需要由它自己來進(jìn)行刷新操作。
當(dāng)判優(yōu)器輸出忙碌信號(hào)時(shí),存在著如上所述使用存儲(chǔ)器相當(dāng)麻煩 的問題。
本發(fā)明的目的是提供具有由DRAM芯組成的存儲(chǔ)器陣列,而且不 需要考慮刷新任何刷新操作就能使用的多端口存儲(chǔ)器,從而以低的成 本提供具有大存儲(chǔ)容量并且容易使用的多端口存儲(chǔ)器。
為了消除上述的問題,配置本發(fā)明的多端口半導(dǎo)體存儲(chǔ)器件使它 能夠在長度為每個(gè)外部端口的最小輸入周期m (m22)倍的時(shí)間周期 中執(zhí)行n個(gè)內(nèi)部操作,其中滿足mN〈n〈m(N+l)。
上述條件要求將N個(gè)端口的每一個(gè)的最小指令周期設(shè)置在允許N 個(gè)內(nèi)部操作周期的時(shí)間周期加比單個(gè)內(nèi)部操作周期短的時(shí)間周期ot上。 例如當(dāng)N-2時(shí),將每個(gè)端口的最小外部指令周期設(shè)置在允許2個(gè)內(nèi)部 操作周期的時(shí)間周期加時(shí)間周期a上。這里,時(shí)間周期a比一個(gè)內(nèi)部操 作周期短。
本發(fā)明利用允許2個(gè)內(nèi)部操作周期的時(shí)間周期以便消除由于判優(yōu) 器輸出忙碌信號(hào)引起的存儲(chǔ)器使用麻煩的問題,并利用時(shí)間周期a解決 刷新操作問題。
圖73是用于解釋本發(fā)明(第3方面)原理的圖,表示對(duì)于兩個(gè)端 口實(shí)施讀操作的情形。
使到兩個(gè)外部端口, A端口和B端口的指令在最小間隔進(jìn)入,在 該間隔中可以實(shí)施內(nèi)部操作周期2.2次。即,內(nèi)部操作周期的2.2倍等 于最小外部指令周期,并將外部指令周期設(shè)置得比允許實(shí)施內(nèi)部操作 周期2.2次的時(shí)間周期長。分別將時(shí)鐘脈沖CLKA和CLKB輸入A 端口和B端口,與對(duì)應(yīng)的時(shí)鐘脈沖同步地實(shí)施指令,地址和數(shù)據(jù)到外部端口的輸入和從外部端口的輸出。雖然未加說明,但是與指令同時(shí)
輸入地址。當(dāng)在最小外部指令周期中將讀指令加到A端口和B端口時(shí), 如圖所示,判優(yōu)電路對(duì)當(dāng)實(shí)施芯操作時(shí)將優(yōu)先權(quán)給予首先到達(dá)的指令 進(jìn)行控制。
DRAM芯實(shí)施兩個(gè)讀操作,在一個(gè)外部指令周期中從存儲(chǔ)器陣列 讀出數(shù)據(jù),并將數(shù)據(jù)輸出到A端口和B端口。 A端口和B端口分別保 存檢索的數(shù)據(jù),并與各時(shí)鐘脈沖信號(hào)的特定的時(shí)鐘定時(shí)同步地輸出檢 索的數(shù)據(jù),這些時(shí)鐘脈沖信號(hào)是從輸入讀指令開始的第6個(gè)時(shí)鐘脈沖。 即,在這個(gè)情形中數(shù)據(jù)等待時(shí)間是6。
提供刷新定時(shí)器作為內(nèi)部電路,并在它自身上產(chǎn)生刷新指令。當(dāng) 不發(fā)生刷新操作時(shí),器件的內(nèi)部電路以例行程序的方式操作以便在一 個(gè)外部指令周期中實(shí)施與指令A(yù)和B對(duì)應(yīng)的兩個(gè)操作。因?yàn)樵谝粋€(gè)外 部指令周期中能夠執(zhí)行內(nèi)部操作2.2次,所以DRAM芯將具有在完成 兩個(gè)內(nèi)部操作后留下的一個(gè)額外時(shí)間ta。
當(dāng)內(nèi)部產(chǎn)生刷新指令時(shí),器件的內(nèi)部電路快速操作。這里,快速 意味著執(zhí)行操作而不產(chǎn)生額外時(shí)間ta。當(dāng)產(chǎn)生刷新指令時(shí),器件實(shí)施 刷新操作。因?yàn)橥瑫r(shí)將指令輸入A端口和B端口,所以要被處理的指 令將積累起來。器件快速地一個(gè)接一個(gè)地執(zhí)行指令而不提供額外時(shí)間 ta。雖然將指令一個(gè)接一個(gè)地輸入A端口和B端口,但是只有在比外 部指令周期長的間隔發(fā)生刷新指令,只有指令A(yù)和指令B必須被執(zhí)行 直到產(chǎn)生下一個(gè)刷新指令。因?yàn)閮?nèi)部指令的處理速度較快,所以在結(jié) 束時(shí)將不會(huì)有積累的指令。換句話說,內(nèi)部處理將趕上外部指令的輸 入。此后,器件回到它的例行程序操作。通過考慮到外部端口的數(shù)目, 內(nèi)部操作周期的數(shù)目,刷新間隔等確定額外時(shí)間a。
因?yàn)楫?dāng)內(nèi)部刷新指令和輸入到另一個(gè)端口的指令立即在Read指 令前發(fā)生時(shí)定時(shí)變得最壞,所以需要將與Read指令(RD)對(duì)應(yīng)的數(shù) 據(jù)輸出的延遲時(shí)間(數(shù)據(jù)等待時(shí)間)設(shè)置在內(nèi)部操作的3個(gè)周期中(在 兩個(gè)端口的情形中)。然而,因?yàn)樯蚤L于兩個(gè)內(nèi)部操作周期的外部指 令周期就是器件適當(dāng)操作所需要的一切,所以數(shù)據(jù)傳輸速率是相當(dāng)高的。
如上所述,本發(fā)明能夠取消來自器件外部的刷新操作,并將外部 指令周期設(shè)置得稍長于兩個(gè)內(nèi)部操作周期。不需要刷新來自外部裝置 的控制,甚至當(dāng)在內(nèi)部執(zhí)行刷新操作時(shí),這對(duì)外部裝置是完全看不見 的,并且不影響從外部裝置看的器件操作的方式。因此,可以從每個(gè) 外部端口進(jìn)行到存儲(chǔ)器的存取而不用考慮其它端口。
在這個(gè)方式中,本發(fā)明能夠提供用DRAM存儲(chǔ)單元的多端口存儲(chǔ) 器,它有大容量和快的數(shù)據(jù)傳輸速率,同時(shí)允許使用存儲(chǔ)器而不用考 慮任何刷新操作就像它在SRAM的基礎(chǔ)上完成一樣。
在圖73的例子中,響應(yīng)一個(gè)讀指令與外部時(shí)鐘脈沖同步地輸出一 項(xiàng)讀數(shù)據(jù)。即,脈沖串長度為1。所以,在一個(gè)時(shí)鐘脈沖周期中完成 讀數(shù)椐的輸出后,在外部指令周期的3個(gè)留下的時(shí)鐘脈沖周期中外部 端口不輸出任何數(shù)據(jù),這導(dǎo)致無效的數(shù)據(jù)傳輸。這個(gè)問題能夠通過加 長脈沖串長度來消除。
圖74是用于解釋本發(fā)明原理的圖,表示脈沖串長度為4的例子。 在這個(gè)例子中,如以前的情形那樣,將兩個(gè)外部端口的外部指令周期 設(shè)置在能夠提供2.2個(gè)內(nèi)部操作周期的長度上。進(jìn)一步, 一個(gè)外部指 令周期對(duì)應(yīng)于4個(gè)時(shí)鐘脈沖周期。與時(shí)鐘脈沖同步地以提供數(shù)據(jù)等待 時(shí)間為6的方式在單個(gè)外部指令周期中從一個(gè)外部端口輸出數(shù)據(jù)4次。 所以,如果根據(jù)一個(gè)外部指令周期的時(shí)鐘脈沖周期的數(shù)目設(shè)置脈沖串 長度,則在兩個(gè)端口中都能夠達(dá)到無間隙的讀操作,從而非常大地促 進(jìn)了數(shù)據(jù)傳輸速率的提高。在這個(gè)情形中,需要響應(yīng)單個(gè)存取將與脈 沖串長度一樣多的數(shù)據(jù)項(xiàng)內(nèi)部地輸入存儲(chǔ)器陣列或從存儲(chǔ)器陣列輸 出。例如,如果一個(gè)外部端口的數(shù)據(jù)輸入/輸出銷數(shù)目為4和脈沖串長 度為4,則需要保證通過單個(gè)存取操作將16位數(shù)據(jù)從存儲(chǔ)器陣列輸出 或輸入存儲(chǔ)器陣列。
我們應(yīng)該注意到A端口和B端口不一定同步地操作,只要設(shè)置最 小周期等于對(duì)于N個(gè)內(nèi)部操作周期加上比單個(gè)內(nèi)部操作周期短的持續(xù) 時(shí)間a需要的持續(xù)時(shí)間,就能夠相互獨(dú)立地將各外部指令周期設(shè)置在任何定時(shí)。
圖75和圖76是表示在2, 3和N個(gè)端口的情形中在一個(gè)最小外 部指令周期和各內(nèi)部操作周期之間的關(guān)系的圖。如圖所示,如果端口 數(shù)為2,則最小外部指令周期是允許2個(gè)內(nèi)部操作的時(shí)間長度加上ot, 如果端口數(shù)為3,則最小外部指令周期是允許3個(gè)內(nèi)部操作的時(shí)間長 度加上a。進(jìn)一步,如果端口數(shù)為N,則最小外部指令周期等于其間能 執(zhí)行N+l個(gè)內(nèi)部操作的時(shí)間長度加上時(shí)間長度a。
圖77和圖78A到圖78C是表示根據(jù)本發(fā)明的一個(gè)實(shí)施例的多端 口存儲(chǔ)器的配置的圖。圖77表示DRAM芯及其相關(guān)電路,圖78A表 示A端口,圖78B表示B端口。進(jìn)一步,圖78C表示刷新電路。圖 78A到圖78C所示的電路與圖77的各部分連接。
如這些圖所示,本實(shí)施例的多端口存儲(chǔ)器包括DRAM芯3011, 用于控制確定操作次序并保證以確定的次序?qū)嵤┎僮鞯呐袃?yōu)器3026 , 指令寄存器3025,它暫時(shí)存儲(chǔ)從判優(yōu)器3026提供的指令,并將這些 指令以接到它們的次序傳輸給DRAM芯3011的控制電路3014,暫時(shí) 存儲(chǔ)各端口的指令,地址和數(shù)據(jù)的多組寄存器,2個(gè)由A端口 3030和 B端口 3040組成的外部端口 ,和刷新電路3050。
A端口 3030和B端口 3040分別包括模寄存器3031和3041,CLK 緩沖器3032和3042,數(shù)據(jù)I/O電路3033和3043,地址輸入電路3034 和3044,與指令輸入裝置3035和3045,它們根據(jù)從器件外部提供的 各分開的時(shí)鐘頻率進(jìn)行操作。將數(shù)據(jù)等待時(shí)間和脈沖串長度存儲(chǔ)在模 寄存器3031和3041中,使它們能被分別地設(shè)置。數(shù)據(jù)I/O電路3033 和3043裝備有根據(jù)脈沖串長度實(shí)施輸出/輸出數(shù)據(jù)的并行到串行變換 和串行到并行變換的機(jī)構(gòu)。
刷新電路3050包括刷新定時(shí)器3051和刷新指令發(fā)生器3052。刷 新定時(shí)器3051在預(yù)定間隔上產(chǎn)生刷新開始信號(hào),和刷新指令發(fā)生器 3052對(duì)應(yīng)地產(chǎn)生刷新指令。
分別將加到A端口和B端口的指令存儲(chǔ)在指令寄存器A 28A和指 令寄存器B 28B中。分別將地址存儲(chǔ)在地址寄存器A 19A和地址寄存器B 19B中,分別將寫入的數(shù)據(jù)存儲(chǔ)在Write數(shù)據(jù)寄存器A 22A和 Write數(shù)據(jù)寄存器B 22B中。進(jìn)一步,將刷新指令存儲(chǔ)在刷新指令寄 存器3027中,并將刷新地址存儲(chǔ)在刷新地址計(jì)數(shù)器/寄存器3018中。
判優(yōu)器3026根據(jù)指令到達(dá)的次序確定執(zhí)行指令的次序,并以確定 的次序?qū)⒅噶顐鬏斀o指令寄存器3025。指令寄存器3025以從判優(yōu)器 3026接到指令的次序?qū)⑦@些指令傳送給DRAM芯3011的控制電路 3014。當(dāng)DRAM芯處理給定指令時(shí),使控制電路3014處于能夠接收 下一個(gè)指令的狀態(tài)。對(duì)應(yīng)地,指令寄存器3025下一個(gè)指令傳送給控制 電路3014。同時(shí)將從判優(yōu)器3026提供的指令暫時(shí)存儲(chǔ)在指令寄存器 3025中。進(jìn)一步,指令寄存器3025除了將指令傳輸給DRAM芯3011 的控制電路3014外也將傳輸信號(hào)傳輸給對(duì)應(yīng)的地址寄存器和對(duì)應(yīng)的 數(shù)據(jù)寄存器(在寫操作情形)。在DRAM芯3011中,控制電路3014 響應(yīng)提供的指令,控制譯碼器3013,寫放大器(WriteAmp) 3015, 和讀出緩沖器3016,從而對(duì)于存儲(chǔ)器陣列3012實(shí)施存取操作。在寫 操作的情形中,譯碼器3013為了進(jìn)行寫操作對(duì)存取的地址進(jìn)行譯碼, 以便激活在存儲(chǔ)器陣列3012中的字線和列信號(hào)線,導(dǎo)致將存儲(chǔ)在 Write數(shù)據(jù)寄存器A和B中的寫數(shù)據(jù)通過WriteAmp 3015寫入存儲(chǔ)器 陣列3012。在讀操作的情形中,以類似的方式存取存儲(chǔ)器陣列3012, 導(dǎo)致分別通過標(biāo)記為3024A和3024B的傳輸門A和B,將讀數(shù)據(jù)從讀 出緩沖器3016傳輸?shù)礁鞫丝诘臄?shù)據(jù)輸出電路。根據(jù)DRAM芯3011 的操作周期,控制傳輸門的傳輸定時(shí),并由控制電路3014確定傳輸定 時(shí)。與對(duì)應(yīng)的外部時(shí)鐘同步地從每個(gè)端口的數(shù)據(jù)輸出電路輸出輸出數(shù) 據(jù)。
下面,我們描述與每個(gè)指令處理,地址處理和數(shù)據(jù)處理有關(guān)的詳 細(xì)情形。
圖79和圖80是表示根據(jù)第1實(shí)施例與指令處理有關(guān)的裝置的配 置的圖。在與圖77和圖78A-78C相同的部件上加上相同的參照數(shù)字。 這也同樣應(yīng)用于其它的圖。
如圖79所示,A端口的指令輸入裝置3035包括輸入緩沖器3036,指令譯碼器3037和(n-l)時(shí)鐘延遲電路3038, B端口的指令輸入裝 置3045包括輸入緩沖器3046,指令譯碼器3047和(m-l)時(shí)鐘延遲 電路3048。這里,n和m是脈沖串長度。而且,如圖80所示,指令 寄存器A包括Read指令寄存器AR和Write指令寄存器AW,指令 寄存器B包括Read指令寄存器BR和Write指令寄存器BW。
輸入緩沖器3036和3046要求以與各時(shí)鐘脈沖CLKA1和CLKB1 同步地加上Read指令,指令譯碼器3037和3047進(jìn)行譯碼處理。指 令譯碼器3037和3047在Read指令情形分別產(chǎn)生RA1和RBl,而在 Write指令情形分別產(chǎn)生WA1和WB1。分別將信號(hào)RA1和RBI傳輸 給Read指令寄存器AR和BR,不需要任何定時(shí)操作,而信號(hào)WA1 和WB1被(n-1)時(shí)鐘延遲電路3038和(m-l)時(shí)鐘延遲電路3048 延遲,直到輸入脈沖串?dāng)?shù)據(jù)的最后一個(gè)數(shù)據(jù)項(xiàng)為止,接著分別被傳輸 給Write指令寄存器AW和BW。而且,將由刷新電路3050產(chǎn)生的刷 新指令REF1傳輸給刷新指令寄存器3027。
判優(yōu)器3026檢測(cè)將指令傳輸給這5個(gè)指令寄存器AR, AW, BR, BW和3027的次序,并以檢測(cè)到的次序一個(gè)接著一個(gè)地將這些指令傳 輸給指令寄存器3025。在接到從判優(yōu)器2026發(fā)出的指令時(shí),指令寄 存器3025將指令接收確認(rèn)傳輸給判優(yōu)器3026。響應(yīng)指令接收確認(rèn), 判優(yōu)器3026將下一個(gè)指令發(fā)送給指令寄存器。
指令寄存器3025以從判優(yōu)器3026接到指令的次序?qū)⒅噶钜粋€(gè)接 著一個(gè)地傳輸給DRAM芯3011的控制電路3014。 DRAM芯的控制電 路3014執(zhí)行接到的指令,并當(dāng)指令執(zhí)行結(jié)束或接近結(jié)束時(shí)將準(zhǔn)備好接 收指令的信號(hào)傳輸給指令寄存器3025。響應(yīng)準(zhǔn)備好接收指令的信號(hào), 指令寄存器3025將下一個(gè)指令傳輸給控制電路3014。同時(shí),將從判 優(yōu)器3026提供的指令暫時(shí)存儲(chǔ)在指令寄存器3025中。
圖81是判優(yōu)器3026的實(shí)施例。指令到達(dá)圖80的5個(gè)指令寄存器 (Read指令寄存器AR, Write指令寄存器AW, Read指令寄存器 BR, Write指令寄存器BW和刷新指令寄存器3027 )的次序由比較器 3053檢測(cè)出來如該圖所示。每個(gè)比較器3053比較兩個(gè)指令寄存器的定時(shí),并首先輸入"H"時(shí)將它的輸出改變成"H"。 AND門3054通過檢 測(cè)相關(guān)比較器3053的所有相關(guān)輸出是否是"H"來確定一個(gè)給定的指令 是否在所有4個(gè)其它的指令前輸入。如果一個(gè)對(duì)應(yīng)的指令是最早的并 且被傳輸給指令寄存器3025,則響應(yīng)各指令,信號(hào)RA31, WA31, RB31, WB31和REF31變成"H"。如果RA2是RA2到REF2中最早 的,則與RA2連接的比較器具有在與RA2連接的一邊上為"H"的輸出。 在這個(gè)特定的瞬間,指令接收確認(rèn)還沒有產(chǎn)生(="L"),使得N1="H", 導(dǎo)致RA3為"H"。于是將指令發(fā)送給指令寄存器3025。
指令寄存器3025當(dāng)接收指令時(shí)產(chǎn)生指令接收確認(rèn)。當(dāng)發(fā)生這種情 況時(shí),在節(jié)點(diǎn)Nl產(chǎn)生"L"脈沖,導(dǎo)致RA3到REF3都為"L"。同時(shí), 將產(chǎn)生ResetRA到ResetREF中的一個(gè)。如果RA31為"H",則產(chǎn)生 ResetRA,從而使Read指令寄存器AR復(fù)位。對(duì)應(yīng)地,RA2變成"L", 于是RA31到REF31中的一個(gè)變成"H",指示中下一個(gè)在線的指令。 當(dāng)在"L"脈沖未端Nl變成"H"時(shí),將下一個(gè)在線的指令傳輸給指令寄 存器3025。此后重復(fù)上述的操作。
圖82和圖83是表示指令寄存器3025的配置的圖。將指令寄存器 3025分成兩半并表示在兩個(gè)圖中。
指令寄存器3025主要包括移位寄存器3092,移位寄存器3092在 其中存儲(chǔ)指令,將這些指令連續(xù)地輸出到DRAM芯3011,并包括將 從判優(yōu)器3026接收的指令傳輸?shù)揭莆患拇嫫?092的開關(guān)(SW1-SW3 ) 3082-3084。在這個(gè)例子中,移位寄存器3092具有三級(jí)配置,并包括 用于存儲(chǔ)指令的寄存器3085-3087,指示寄存器3085-3087的存儲(chǔ)狀態(tài) 的標(biāo)志3088-3090,和使寄存器3085-3087的狀態(tài)復(fù)位的復(fù)位數(shù)據(jù)裝置 3091。在沒有指令存儲(chǔ)在寄存器3085-3087的狀態(tài)中,標(biāo)志3088-30% 都處于低的狀態(tài)(FL1-FL3="L"),使得開關(guān)3082 ( SW1)接上。通 過SW1將第1指令存儲(chǔ)在寄存器3085中,使得FL1變成"H"。當(dāng)FL1 變成"H"時(shí),"H"邊沿脈沖電路3093產(chǎn)生脈沖,將指令接收確認(rèn)傳輸 給判優(yōu)器3026。
如果在這個(gè)特定的瞬間DRAM芯3011認(rèn)定準(zhǔn)備好接收指令的信號(hào),則門3097打開將寄存器3085的指令傳輸給鎖存器3098,然后將 指令發(fā)送給DRAM芯3011的控制電路3014。同時(shí),將對(duì)應(yīng)于該指令 的地址等傳輸給DRAM芯3011。DRAM芯3011當(dāng)根據(jù)接到的指令開 始操作時(shí)取消準(zhǔn)備好接收指令的信號(hào)。于是門3097關(guān)閉。寄存器控制 電路3096產(chǎn)生促使寄存器3086的數(shù)據(jù)移到寄存器3085和寄存器3087 的數(shù)據(jù)移到寄存器3086的移位信號(hào)。如果在移位信號(hào)產(chǎn)生前寄存器 3086中沒有存儲(chǔ)指令,則移位操作導(dǎo)致使寄存器3085復(fù)位和使FL1 變成"L"。寄存器控制電路3096在產(chǎn)生移位信號(hào)同時(shí)產(chǎn)生禁止傳輸信 號(hào)以便斷開SW1-SW3,從而當(dāng)移位操作時(shí)禁止將數(shù)據(jù)傳送到移位寄 存器3092。當(dāng)通過SW1將第l指令(指令l)加到寄存器3085時(shí), 如果DRAM芯3011正在執(zhí)行前一個(gè)指令則將指令存儲(chǔ)在寄存器3085 中。FL1變成"H",它斷開SW1 ,并進(jìn)一步在一個(gè)預(yù)定延遲后斷開SW2。 這里,預(yù)定延遲與從產(chǎn)生指令接收確認(rèn)到使判優(yōu)器輸出復(fù)位的時(shí)間周 期對(duì)應(yīng)。如果在DRAM芯3011準(zhǔn)備好接收指令前加上來自判優(yōu)器 3026的下一個(gè)指令(指令2 ),則通過SW2將指令存儲(chǔ)在寄存器3086 中。FL2變成"H",它產(chǎn)生指令接收確認(rèn)并斷開SW2,接著在一個(gè)預(yù) 定延遲時(shí)間后進(jìn)一步斷開SW3。當(dāng)DRAM芯處在能接收指令的狀態(tài) 時(shí),產(chǎn)生準(zhǔn)備接收指令信號(hào),打開門3097,使得將寄存器3085的指 令1傳輸給鎖存器3098,然后傳輸給DRAM芯3011。 DRAM芯3011 當(dāng)根據(jù)指令1開始操作時(shí)取消準(zhǔn)備接收指令信號(hào)。相應(yīng)地,門3097關(guān) 閉。寄存器控制電路3096產(chǎn)生移位信號(hào),該移位信號(hào)將寄存器3086 的指令2移到寄存器3085,和將寄存器3087的內(nèi)容(復(fù)位狀態(tài))移 到寄存器3086。寄存器3085結(jié)束指令2的存儲(chǔ),寄存器3086和3087 終止在復(fù)位狀態(tài)。因?yàn)镕L1為"H", FL2和FL3為"L",所以接上SW2 而斷開SW1和SW3。
復(fù)位數(shù)據(jù)裝置3091與在它左邊的移位寄存器3092的寄存器連接。 提供這個(gè)配置的目的是當(dāng)在直到寄存器3087的整條路徑上指令都被 存儲(chǔ)時(shí),用接著的移位信號(hào)將寄存器3087的指令移到寄存器3086。 在這個(gè)方式中,指令寄存器3025暫時(shí)積累從判優(yōu)器3026發(fā)送的指令,檢測(cè)DRAM芯3011的狀態(tài),接著一個(gè)又一個(gè)地傳輸指令。
將指令產(chǎn)生檢測(cè)信號(hào)輸入寄存器控制電路3096。當(dāng)從判優(yōu)器3026 傳輸指令時(shí)產(chǎn)生指令產(chǎn)生檢測(cè)信號(hào)。圖84A和圖84B表示寄存器控制 電路3096的操作。當(dāng)?shù)郊拇嫫骺刂齐娐?096的準(zhǔn)備接收指令信號(hào)去 激活時(shí)產(chǎn)生移位信號(hào)和禁止傳輸信號(hào)。然而,當(dāng)就在準(zhǔn)備接收指令信 號(hào)去激活前立即從判優(yōu)器3026傳輸指令時(shí),優(yōu)先的是只在將較早接收 的指令傳輸給移位寄存器3092后才實(shí)施移位操作。因此,進(jìn)行比較以 便確定準(zhǔn)備接收指令信號(hào)的后沿和指令產(chǎn)生檢測(cè)信號(hào)的前沿中哪一個(gè) 較早。如果前者較早,則響應(yīng)前者的后沿產(chǎn)生移位信號(hào)和禁止傳輸信 號(hào),如果后者較早,則響應(yīng)后者的后沿產(chǎn)生移位信號(hào)和禁止傳輸信號(hào)。 圖85和圖86是表示指令寄存器3025操作的圖。這里對(duì)關(guān)于在表 示輸入指令最擁擠的定時(shí)條件的Write~>Read指令傳輸?shù)臅r(shí)間產(chǎn)生刷 新指令的情形進(jìn)行說明。圖中所示的SW1到SW3的數(shù)目指出連接的 SW,并說明了連接SW的持續(xù)時(shí)間。進(jìn)一步,電阻1到3分別對(duì)應(yīng)于 寄存器3085到3087。
圖87是表示根據(jù)第1實(shí)施例與地址處理有關(guān)的部分的配置的圖。 下文中,在它的信號(hào)名稱的未端具有字母"P"的信號(hào)代表具有從對(duì)應(yīng)的 信號(hào)名稱的信號(hào)的前沿產(chǎn)生的脈沖的信號(hào)。如圖所示,地址輸入電路 3034和3044分別包括輸入緩沖器3057A和3057B,傳輸門3058A和 3058B。進(jìn)一步,地址寄存器3019A和地址寄存器3019B分別包括地 址鎖存器Al到A4和Bl到B4,傳輸門3059A到3063A和3059B到 3063B。通過地址總線3017將從傳輸門3062A, 3062B, 3063A, 3063B 提供的地址傳輸?shù)紻RAM芯3011。進(jìn)一步,通過傳輸門3064和地址 總線3017將從刷新地址計(jì)數(shù)器/寄存器3018提供的刷新地址傳輸?shù)?DRAM芯3011。
當(dāng)從器件外部輸入Read指令或Write指令時(shí),分別通過傳輸門 3058A或3058B將加到輸入緩沖器3057A或3057B的地址和輸入指令 同時(shí)傳輸給地址鎖存器Al或Bl。在Read指令的情形中,通過傳輸 門3061A和3063A或3061B和3063B和地址鎖存器A4或B4與到DRAM芯的指令傳輸同步地將地址傳送給DRAM芯3011。在Write 指令的情形中,進(jìn)一步在上次數(shù)據(jù)采集的定時(shí)將地址傳輸給地址鎖存 器A2或B2,然后,與到DRAM芯的指令傳輸同步地通過傳輸門3062A 或3062B傳輸給DRAM芯3011。進(jìn)一步,刷新地址計(jì)數(shù)器/寄存器3018 產(chǎn)生并在其中保存刷新地址,然后與刷新指令到DRAM芯的傳輸同步 地通過傳輸門3064將該地址傳輸給DRAM芯3011。
圖88是表示根據(jù)第1實(shí)施例與數(shù)據(jù)輸出有關(guān)的部分的配置的圖。 圖89是表示圖88的傳輸信號(hào)發(fā)生電路的圖。A端口 3030和B端口 3040的各數(shù)據(jù)I/O電路3033和3043分別包括為了輸出數(shù)據(jù)的電路 3065A和3065B及為了輸入數(shù)據(jù)的電路3074A和3074B。如圖所示, 將通過讀出緩沖器3016從存儲(chǔ)器陣列3012讀出的數(shù)據(jù)通過數(shù)據(jù)總線
或3065B。
為了輸出數(shù)據(jù)的電路3065A和3065B分別包括數(shù)據(jù)鎖存器Al或 Bl,傳輸信號(hào)發(fā)生電路3067A和3067B,傳輸門3068A或3068B,數(shù) 據(jù)鎖存器A2或B2,并行到串行變換器3070A和3070B,以及輸出緩 沖器3071A和3071B。
傳輸門3024A和3024B由DRAM芯3011的控制電路3014根據(jù) 內(nèi)部操作進(jìn)行控制。如果執(zhí)行的指令是Read-A (即,對(duì)于A端口的 讀操作),則傳輸門3024A將打開。如果執(zhí)行的指令是Read-B,則 傳輸門3024B將打開。數(shù)據(jù)鎖存器Al或Bl在其中存儲(chǔ)數(shù)據(jù),然后在 通過傳輸門3068A和3068B引入等待時(shí)間的各端口中接收Read指令 后的一個(gè)預(yù)定等待時(shí)間,將數(shù)據(jù)傳輸給各數(shù)據(jù)鎖存器A2或B2。然后, 由并行到串行變換器3070A和3070B對(duì)數(shù)據(jù)進(jìn)行變換,接著分別傳輸 給輸出緩沖器3071A和3071B,并從那里輸出。
如圖89所示,傳輸信號(hào)發(fā)生電路3067 (即3067A或2067B )采 用 一系列的觸發(fā)器3072使各Read指令RA1或RB1延遲由等待時(shí)間 設(shè)定確定的許多時(shí)鐘脈沖周期,從而產(chǎn)生數(shù)據(jù)傳輸信號(hào)3002。因?yàn)轫?應(yīng)數(shù)據(jù)傳輸信號(hào)3002,通過傳輸門3068A和3068B傳輸讀數(shù)據(jù),所以讀數(shù)據(jù)從讀操作的定時(shí)開始被延遲與等待時(shí)間設(shè)置相同的許多時(shí)鐘脈 沖周期后結(jié)束。
圖90和圖91是表示根據(jù)本實(shí)施例與數(shù)據(jù)輸入有關(guān)的部分的配置 的圖。為了輸入數(shù)據(jù)的電路3074A和3074B分別包括數(shù)據(jù)輸入(Din ) 緩沖器3075A和3075B,串行到并行變換器3076A和3076B,以及數(shù) 據(jù)傳輸裝置3077A和3077B。分別通過第1個(gè)Write數(shù)據(jù)寄存器3078A 和3078B,數(shù)據(jù)傳輸門3079A和3079B,第2個(gè)Write數(shù)據(jù)寄存器3080A 和3080B,數(shù)據(jù)傳輸門3081A和3081B,以及數(shù)據(jù)總線3021將來自數(shù) 據(jù)傳輸裝置3077A和3077B的Write數(shù)據(jù)WDA和WDB傳送給 WriteAmp3015,然后一皮寫入存儲(chǔ)器陣列3012。
根據(jù)脈沖串長度將串行輸入數(shù)據(jù)從串行變換到并行,然后在輸入 最后一個(gè)數(shù)據(jù)項(xiàng)的定時(shí)傳輸給第1個(gè)Write寄存器3078A和3078B。 當(dāng)從指令寄存器3025將Write指令傳輸給DRAM芯3011時(shí),也將對(duì) 應(yīng)數(shù)據(jù)傳輸給DRAM芯3011。
圖92到圖99是表示第1實(shí)施例的多端口存儲(chǔ)器的操作的定時(shí)圖。 圖92和圖93,圖95和圖96,圖98和圖99是為了便于說明起見將單 個(gè)時(shí)間圖分成兩半的圖, 一個(gè)表示時(shí)間圖的第1個(gè)一半,另一個(gè)表示 時(shí)間圖的第2個(gè)一半,它們之間存在一些重疊。
圖92和圖93表示當(dāng)將Read指令相繼輸入兩個(gè)端口時(shí)實(shí)施的操 作。A端口和B端口,它們分別具有有相互不同頻率的時(shí)鐘信號(hào)CLKA 和CLKB,與接收的時(shí)鐘信號(hào)同步地取得指令,地址和寫數(shù)據(jù),并與 時(shí)鐘信號(hào)同步地輸出檢索的數(shù)據(jù)。在這個(gè)例子中,A端口操作在最大 時(shí)鐘頻率,而B端口操作在稍低的時(shí)鐘頻率。對(duì)于A端口, Read指 令周期=4 (CLKA),數(shù)據(jù)等待時(shí)間=6 (CLKA),和脈沖串長度=4。 對(duì)于B端口 , Read指令周期=2 ( CLKB ),數(shù)據(jù)等待時(shí)間=3 ( CLKB ), 和脈沖串長度=2。在各端口的模寄存器3031和3041中分別設(shè)置數(shù)據(jù) 等待時(shí)間和脈沖串長度。對(duì)于A端口,響應(yīng)一個(gè)指令與時(shí)鐘信號(hào)同步 地實(shí)施數(shù)據(jù)的輸入/輸出4次,在輸入讀指令后的6個(gè)時(shí)鐘脈沖周期輸 出檢索的數(shù)據(jù)。對(duì)于B端口,響應(yīng)一個(gè)指令與時(shí)鐘信號(hào)同步地實(shí)施數(shù)據(jù)的輸入/輸出2次,在輸入讀指令后的3個(gè)時(shí)鐘脈沖周期輸出檢索的 數(shù)據(jù)。
分別將加到A端口和B端口的指令存儲(chǔ)在指令寄存器3028A和 3028B中。當(dāng)刷新定時(shí)器3051產(chǎn)生信號(hào)時(shí),刷新指令寄存器3027在 其中存儲(chǔ)刷新指令。判優(yōu)器3026監(jiān)視這些指令寄存器,并以發(fā)出指令 的次序?qū)⑦@些指令傳輸給指令寄存器3025。指令寄存器3025暫時(shí)存 儲(chǔ)接收的指令,并以接到它們的次序?qū)⑺鼈冞B續(xù)地傳輸給DRAM芯 3011。即,在完成上一個(gè)傳輸指令的處理后傳輸下一個(gè)指令。
如圖所示,將指令Read-A2輸入Read指令寄存器AR和將指令 Read-B2輸入Read指令寄存器BR。在此之前,發(fā)生一次刷新,并將 刷新指令輸入刷新指令寄存器。根據(jù)發(fā)出指令的次序,判優(yōu)器3026以 Read-A2~>Ref~>Read-B2的次序?qū)⑦@些指令傳輸給DRAM芯3011, 然后由芯執(zhí)行這些指令。
由于芯的操作在Read-Bl和Read-A2之間存在額外時(shí)間,并直到 這個(gè)點(diǎn)都實(shí)施正常的和例;阡程序操作。當(dāng)發(fā)生刷新時(shí),在Read-A2后 立即實(shí)施刷新而在其間沒有任何時(shí)間間隙。此后,相繼實(shí)施Read-B2 , Read-A3等而沒有任何時(shí)間間隙直到執(zhí)行Read-A5。與正常的和例行 程序操作相反,直到這個(gè)點(diǎn)都執(zhí)行快速操作。
由于刷新指令的執(zhí)行,內(nèi)部操作相對(duì)于來自器件外部的指令輸入 顯示出一些延遲??焖俨僮餮a(bǔ)償該延遲,在執(zhí)行指令Read-A5前趕上。 在Read-A5和Read-B5之間再次存在額外時(shí)間,指出回到正常的和例 行程序操作。將通過讀出緩沖器3016從DRAM芯3011讀出的數(shù)據(jù)通 過傳輸門傳輸給接收對(duì)應(yīng)的Read指令的端口的數(shù)據(jù)鎖存器(數(shù)據(jù)鎖 存器Al或Bl)。數(shù)據(jù)鎖存器Al或Bl為數(shù)據(jù)提供時(shí)間調(diào)整,然后將 數(shù)據(jù)傳輸給數(shù)據(jù)鎖存器A2或B2,并與對(duì)應(yīng)端口的時(shí)鐘信號(hào)同步地輸 出數(shù)據(jù)。
甚至當(dāng)在內(nèi)部實(shí)施刷新操作時(shí),從外部看來數(shù)據(jù)是在一個(gè)預(yù)定數(shù) 據(jù)等待時(shí)間后輸出的。這樣,就不需要考慮任何刷新操作。
圖94表示當(dāng)在與上述相同的條件下接連地輸入Write指令時(shí)的例子。也以脈沖串輸入的形式給出在Write操作時(shí)從器件外部輸入的數(shù) 據(jù)。在輸入最后一個(gè)數(shù)據(jù)塊的定時(shí)將Write指令存儲(chǔ)在Write指令寄 存器AW中。在這個(gè)情形中,甚至當(dāng)在內(nèi)部產(chǎn)生和執(zhí)行刷新操作時(shí)也 不需要考慮任何刷新操作。
圖95和圖96表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率 上進(jìn)行Read操作時(shí)實(shí)施的操作。圖97是表示當(dāng)A端口和B端口兩者 都操作在最大時(shí)鐘頻率上進(jìn)行Write操作時(shí)實(shí)施的操作的圖。在這個(gè) 情形中,在這兩個(gè)端口的時(shí)鐘脈沖信號(hào)中可能存在相位差。對(duì)于兩個(gè) 端口, Read指令周期-4, Write指令周期=4,數(shù)據(jù)等待時(shí)間=6,和脈 沖串長度=4。如從圖可見的那樣,在這個(gè)情形中也可以適當(dāng)?shù)貙?shí)施操 作。
圖98和圖99是表示當(dāng)兩個(gè)端口都操作在最高頻率,并用內(nèi)部產(chǎn) 生的刷新指令經(jīng)受從Write寫指令到Read讀指令的改變時(shí)實(shí)施的操 作的時(shí)間圖。這是指令最擁擠的情形。
如所說明的那樣,DRAM芯3011 以 Ref->Write-Al4 Write-Bl4Read-A2—Read-B2的次序進(jìn)行操作,在它們之間沒有任 何間隙。在這個(gè)例子中,在輸入Write指令后6個(gè)時(shí)鐘脈沖輸入 Read-A2和Read-B2。即便這些定時(shí)超前2個(gè)時(shí)鐘脈沖,也不可能超 前DRAM芯的內(nèi)部操作。由從輸入Read指令的數(shù)據(jù)等待時(shí)間對(duì)讀數(shù) 據(jù)的輸出定時(shí)進(jìn)行控制。如果Read-A2和Read-B2的輸入定時(shí)是超前 的,則也需要使數(shù)據(jù)輸出定時(shí)是超前的。例如,如果在Write-Bl后4 個(gè)時(shí)鐘脈沖輸入Read-B2,則響應(yīng)Read-B2的數(shù)據(jù)輸出定時(shí)太接近 DRAM芯操作的開始時(shí)間,使得不能適當(dāng)?shù)貓?zhí)行Read-B2。因?yàn)檫@個(gè) 原因,需要將Write —Read變遷的指令間隔設(shè)置得相當(dāng)長如本例中的 6個(gè)時(shí)鐘脈沖。
關(guān)于Read —Write的指令間隔,因?yàn)槌峭瓿闪?Read數(shù)據(jù)的輸 出,不能將Write數(shù)據(jù)輸入DQ端子中,所以指令間隔不可避免地變 得很長。
圖IOOA和IOOB是表示DRAM芯3011操作的定時(shí)圖。圖100A表示Read操作,圖100B表示W(wǎng)rite操作。如這些圖所示,響應(yīng)單個(gè) 指令以字線選擇4數(shù)據(jù)放大~>寫回4預(yù)充電的次序?qū)嵤┮?系列操作, 從而完成整個(gè)操作。當(dāng)接到指令時(shí)DRAM芯3011使準(zhǔn)備接收指令信 號(hào)去激活,并當(dāng)完成或接近結(jié)束指令的執(zhí)行時(shí)產(chǎn)生準(zhǔn)備接收指令信號(hào)。 如上所述,本發(fā)明允許當(dāng)以DRAM芯為基礎(chǔ)制成存儲(chǔ)器陣列時(shí)使 用多端口存儲(chǔ)器而不需要考慮任何刷新操作,從而以低成本提供有大 容量和容易使用的多端口存儲(chǔ)器。
[本發(fā)明的第4方面1 下面我們描述本發(fā)明的第4方面。
多端口存儲(chǔ)器,它們是裝備有多個(gè)端口的半導(dǎo)體存儲(chǔ)器,可以分 成不同的類型。當(dāng)下文中使用術(shù)語"多端口存儲(chǔ)器"時(shí),它指的是具有 多端口的存儲(chǔ)器,該存儲(chǔ)器允許從任何一個(gè)端口獨(dú)立地存取公共存儲(chǔ) 器陣列。這樣一個(gè)存儲(chǔ)器可以具有A端口和B端口,并允許對(duì)于公共 存儲(chǔ)器陣列從與A端口鏈接的CPU和從與B端口鏈接的CPU獨(dú)立地 進(jìn)行讀/寫操作。
一個(gè)多端口存儲(chǔ)器裝備有稱為判優(yōu)器的判優(yōu)電路。判優(yōu)器確定從 多個(gè)端口接收的存取要求的優(yōu)先權(quán),存儲(chǔ)器陣列的控制電路根據(jù)確定
的優(yōu)先權(quán)一個(gè)接一個(gè)的進(jìn)行存取操作。例如,存取要求越早到達(dá)端口, 就會(huì)給予該存取要求越高的優(yōu)先權(quán)。
在這種情形中,因?yàn)殡S機(jī)地從多個(gè)接口存取存儲(chǔ)器陣列,所以在 執(zhí)行了讀或?qū)懙拇嫒〔僮骱笮枰⒓词勾鎯?chǔ)器陣列復(fù)位,從而保證存 儲(chǔ)器陣列為下一次存取作好了準(zhǔn)備。即,如果響應(yīng)來自給定端口的存 取要求使一條字線保持在選擇狀態(tài),和如一般在DRAM中使用的列存 取操作中那樣連續(xù)地動(dòng)移各列地址以便讀出連續(xù)的數(shù)據(jù),則當(dāng)該操作 期間來自另一個(gè)端口的存取要求將一直等待著。因此,在每次讀或?qū)?操作后需要立即使存儲(chǔ)器陣列復(fù)位。
常規(guī)地,已經(jīng)典型地將SRAM用作多端口存儲(chǔ)器的存儲(chǔ)器陣列。 這是因?yàn)镾RAM允許高速隨機(jī)存取,而且可以進(jìn)行非破壞性讀操作。在具有兩個(gè)端口的多端口存儲(chǔ)器中,例如, 一個(gè)SRAM存儲(chǔ)單元 具有兩組字線和位線對(duì)。 一個(gè)端口用 一組字線和位線對(duì)實(shí)施讀/寫操 作,另一個(gè)端口用另一組字線和位線對(duì)實(shí)施讀/寫操作。在這種方式中, 能夠從兩個(gè)不同的端口獨(dú)立地實(shí)施讀/寫操作。然而,因?yàn)楫?dāng)兩個(gè)端口 企圖在同一時(shí)間將數(shù)據(jù)寫入同一存儲(chǔ)單元時(shí)不可能同時(shí)進(jìn)行兩個(gè)寫操 作,所以給予一個(gè)端口進(jìn)行寫操作的優(yōu)先權(quán),而給予另一個(gè)端口 BUSY (忙碌)信號(hào)。這稱為BUSY狀態(tài)。
當(dāng)開發(fā)系統(tǒng)使它有改善的性能時(shí),由該系統(tǒng)處理的數(shù)據(jù)量也增加
了。結(jié)果,多端口存儲(chǔ)器需要很大的容量。然而,SRAM型多端口存 儲(chǔ)器具有存儲(chǔ)單元的尺寸大的缺點(diǎn)。
為了消除這個(gè)缺點(diǎn),在多端口存儲(chǔ)器中釆用DRAM陣列是可以理 解的。為了得到比多端口 SRAM高得非常多的電路密度,需要用于多 端口存儲(chǔ)器中 一個(gè)DRAM存儲(chǔ)單元以與典型的DRAM單元相同的方 式只與一條字線和一條位線連接。如果以這樣一種方式用DRAM元件 制成存儲(chǔ)塊,如果一個(gè)端口正在對(duì)給定存儲(chǔ)塊執(zhí)行讀或?qū)懖僮?,則另 一個(gè)端口不能存取該存儲(chǔ)塊。這是因?yàn)樵贒RAM存儲(chǔ)單元中只可以有 破壞性讀操作。即,當(dāng)讀取信息時(shí),不能選擇在同一個(gè)存儲(chǔ)塊中的另 一條字線直到這個(gè)信息被放大和存儲(chǔ)在存儲(chǔ)單元中,字線和位線被預(yù) 先充電為止。
只有當(dāng)多個(gè)端口同時(shí)對(duì)同一個(gè)存儲(chǔ)單元提出寫要求時(shí),在常規(guī)的 SRAM型多端口存儲(chǔ)器中才會(huì)出現(xiàn)BUSY狀態(tài)。因此,DRAM型多端 口存儲(chǔ)器需要具有一個(gè)獨(dú)特的與常規(guī)的SRAM型多端口存儲(chǔ)器不同 的BUSY狀態(tài)控制功能。
進(jìn)一步,與SRAM型多端口存儲(chǔ)器不同,DRAM型多端口存儲(chǔ) 器需要周期地實(shí)施刷新操作以便保持存儲(chǔ)的信息,從而必須采取某種 措施保證適當(dāng)?shù)乃⑿露〞r(shí)。
因此,本發(fā)明的目的是提供能夠消除特別與DRAM有關(guān)的問題的 DRAM型多端口存儲(chǔ)器。
根據(jù)本發(fā)明,半導(dǎo)體存儲(chǔ)器件包括多個(gè)N個(gè)外部端口,它們中的每一個(gè)都接收指令,多個(gè)與各外部端口對(duì)應(yīng)的N條總線,多個(gè)與N條 總線連接的存儲(chǔ)塊,比較由輸入到N個(gè)各外部端口的指令存取的地址 的地址比較器,和判優(yōu)電路,它確定當(dāng)?shù)刂繁容^電路根據(jù)地址比較檢 測(cè)出到同一個(gè)存儲(chǔ)塊的存取時(shí),存取同一個(gè)存儲(chǔ)塊的各指令中的哪一 個(gè)或哪幾個(gè)要被執(zhí)行,和存取同一個(gè)存儲(chǔ)塊的各指令中的哪一個(gè)或哪 幾個(gè)不被執(zhí)行。
在上面描述的本發(fā)明中,如果從器件外部輸入端口的指令企圖存 取同一個(gè)存儲(chǔ)塊時(shí),判優(yōu)電路確定各指令中的哪一個(gè)要被執(zhí)行,和各 指令中的哪一個(gè)不被執(zhí)行。例如,比較指令定時(shí),執(zhí)行較早的指令, 而不執(zhí)行其它的一個(gè)或多個(gè)指令。當(dāng)存在不被執(zhí)行的指令時(shí),產(chǎn)生
BUSY信號(hào)等并輸出到器件外部。這使得甚至當(dāng)在以DRAM芯為基礎(chǔ) 的多端口存儲(chǔ)器中指令存取相互發(fā)生沖突時(shí)也可以實(shí)施適當(dāng)?shù)拇嫒〔?作并實(shí)現(xiàn)適當(dāng)?shù)腂USY控制。
根據(jù)本發(fā)明的一個(gè)方面,存儲(chǔ)塊包括在動(dòng)態(tài)型存儲(chǔ)單元的基礎(chǔ)上 制成的存儲(chǔ)單元陣列,而半導(dǎo)體存儲(chǔ)器件包括定義刷新存儲(chǔ)單元的定 時(shí)的刷新電路。在第一模式中,響應(yīng)輸入到N個(gè)外部端口中的至少一 個(gè)端口的刷新指令刷新存儲(chǔ)單元,在第二模式中,在刷新電路指出的 定時(shí)刷新存儲(chǔ)單元。
上面描述的本發(fā)明具有一個(gè)操作模式,其中響應(yīng)來自器件外部的 指令執(zhí)行刷新操作的操作模式,和響應(yīng)來自內(nèi)部刷新電路的指令執(zhí)行
刷新操作的操作模式。這使在這樣一種方式,即將預(yù)定外部端口指定 作為一個(gè)用于在恒定的間隔接收刷新指令進(jìn)行刷新管理的端口中用多 端口存儲(chǔ)器成為可能,或者使在這樣一種方式,即當(dāng)所有的外部環(huán)部 端口都處于去激活狀態(tài)時(shí)內(nèi)部刷新電路開始刷新操作中用多端口存儲(chǔ) 器成為可能。因此,本發(fā)明為遵從系統(tǒng)要求的靈活的刷新管理提供了 基礎(chǔ)。
下面我們將參照所附各圖描述本發(fā)明(第4方面)的實(shí)施例。 圖101是表示根據(jù)本發(fā)明的多端口存儲(chǔ)器的實(shí)施例的方框圖。在 這個(gè)例子中,配置是這樣的,即提供兩個(gè)端口, A端口和B端口。圖101的多端口存儲(chǔ)器4010包括A端口 4011, B端口4012,自 刷新電路4013,存儲(chǔ)塊4014-1到4014-n,判優(yōu)器4015,刷新地址計(jì) 數(shù)器4016,地址改變電路4017,地址改變電路4018,地址比較器4019, 總線A 4020-1和總線B 4020-2。
A端口 4011包括模寄存器4031, CLK緩沖器4032,數(shù)據(jù)I/O電 路4033,指令譯碼寄存器4034,地址緩沖器/寄存器4035和BUSY信 號(hào)1/0裝置4036。進(jìn)一步,B端口 4012包括模寄存器4041, CLK緩 沖器4042,數(shù)據(jù)I/O電路4043,指令譯碼寄存器4044,地址緩沖器/ 寄存器4045和BUSY信號(hào)I/O裝置4046。在A端口 4011和B端口 4012,與各時(shí)鐘信號(hào)CLKA和CLKB同步地獨(dú)立地建立到外部總線 的存取和來自外部總線的存取。模寄存器4031和4041能夠在其中存 儲(chǔ)對(duì)于各端口的模式設(shè)定如數(shù)據(jù)等待時(shí)間和脈沖串長度。在這個(gè)實(shí)施 例中,A端口 4011和B端口 4012兩者都具有各自的模寄存器,使每 個(gè)端口都能進(jìn)行模式設(shè)定。然而,可以將模寄存器只安排在一個(gè)端口 中,例如,使得對(duì)于2個(gè)端口的設(shè)置可以由對(duì)這一個(gè)端口的設(shè)置來實(shí) 現(xiàn)。
自刷新電路4013包括刷新定時(shí)器4046和刷新指令發(fā)生器4047。 自刷新電路4013在器件中產(chǎn)生刷新指令,分別從A端口 4011和B 端口 4012接收信號(hào)CKEA1和CKEB1。信號(hào)CKEA1和CKEB1是分 別用CLK緩沖器4032和4042對(duì)外部信號(hào)CKEA和CKEB進(jìn)行緩沖 得到的。用外部信號(hào)CKEA和CKEB暫停各端口的時(shí)鐘緩沖器并使 各端口去激活。如果使A端口 4011和B端口 4012兩者都進(jìn)入去激 活狀態(tài),則自刷新電路4013開始它的操作。
存儲(chǔ)塊4014-1到4014-n每個(gè)都與內(nèi)部總線A 4020-1和內(nèi)部總線 B 4020-2連接。存在多個(gè)外部端口 (即,A端口和B端口),其中A 端口 4011通過總線A 4020-1與存儲(chǔ)塊4014-1到4014-n中每一個(gè)接口 , 和B端口 4012通過總線A 4020-2與存儲(chǔ)塊4014-1到4014-n中每一 個(gè)接口。
如果在同一個(gè)時(shí)間輸入來自A端口 4011的存取要求和來自B端口 4012的存取要求,則假定這些存取要求是指向不同的存儲(chǔ)塊的,存 取存儲(chǔ)塊就對(duì)應(yīng)于這些存取要求獨(dú)立地實(shí)施它們的操作。
如果來自A端口 4011的存取要求和來自B端口 4012的存取要求 是指向同一個(gè)存儲(chǔ)塊的,則判優(yōu)器(判優(yōu)電路)4015確定指令到達(dá)的 次序,并執(zhí)行第1個(gè)到達(dá)的指令而刪除第2個(gè)到達(dá)的指令。當(dāng)刪除指 令時(shí),判優(yōu)器4015產(chǎn)生BUSY信號(hào)以便通知外部控制器已經(jīng)被刪除 第2個(gè)到達(dá)的指令的存取要求。
地址比較器4019確定進(jìn)入兩個(gè)端口的存取要求中是否指向同一 個(gè)存儲(chǔ)塊。詳細(xì)的說,地址比較器4019比較包含在進(jìn)入兩個(gè)端口的地 址中的塊選擇地址。如果它們是相同的,則將匹配信號(hào)加到判優(yōu)器 4015。
當(dāng)A端口 4011或B端口 4012處于激活狀態(tài)時(shí),從A端口 4011 和B端口 4012輸入刷新指令。
如果進(jìn)入兩個(gè)端口中的一個(gè)端口的刷新指令存取同 一個(gè)存儲(chǔ)塊如 輸入到兩個(gè)端口中的另 一個(gè)端口的讀指令或?qū)懼噶钏龅哪菢樱瑒t判 優(yōu)器4015確定指令到達(dá)的次序。如果刷新指令比其它指令晚,則取消 刷新指令。在這個(gè)情形中,判優(yōu)器4015產(chǎn)生BUSY信號(hào),并將它加 到器件外部。當(dāng)檢測(cè)出BUSY信號(hào)時(shí),外部控制器在切斷BUSY信號(hào) 后再次向多端口存儲(chǔ)器4010提供刷新指令。
如果刷新指令比其它指令早,或者從自刷新電路4013提供自刷新 指令,則判優(yōu)器4015產(chǎn)生計(jì)數(shù)信號(hào),并將它加到刷新地址計(jì)數(shù)器4016。
刷新地址計(jì)數(shù)器4016響應(yīng)計(jì)數(shù)信號(hào)對(duì)地址進(jìn)行計(jì)數(shù),從而產(chǎn)生刷 新地址。需要從判優(yōu)器4015提供計(jì)數(shù)信號(hào)的理由是因?yàn)槿缟纤鏊⑿?指令能夠被取消,所以計(jì)數(shù)操作應(yīng)該只響應(yīng)從判優(yōu)器4015實(shí)際發(fā)出的 刷新指令進(jìn)行。這里,在實(shí)施刷新操作后實(shí)施計(jì)數(shù)操作。
如果輸入到A端口 4011的指令是Read指令(讀出指令)或Write 指令(寫入指令),則地址改變電路4017將從外部輸入到A端口 4011 的地址傳輸給總線A 4020-1。如果輸入到A端口 4011的指令是刷新 指令,則將由刷新地址計(jì)數(shù)器4016產(chǎn)生的地址傳輸給總線A 4020-1。如果輸入到B端口 4012的指令是Read指令(讀出指令)或Write 指令(寫入指令),則地址改變電路4018將從外部輸入到B端口 4012 的地址傳輸給總線B 4020-2。另一方面,如果輸入到B端口 4012的 指令是刷新指令,則將由刷新地址計(jì)數(shù)器4016產(chǎn)生的地址傳輸給總線 B 4020-2。
如上所述,如果A端口 4011和B端口 4012兩者都處于去基活 狀態(tài),則自刷新電路4013根據(jù)作為內(nèi)部電路提供的刷新定時(shí)器4046 的定時(shí)信號(hào)產(chǎn)生刷新指令。在這個(gè)實(shí)施例中,通過總線A 4020-1將自 刷新指令和刷新地址傳輸給存儲(chǔ)塊4014-1到4014-n。因?yàn)樽运⑿虏慌c A端口 4011和B端口 4012的指令沖突,所以不需要判優(yōu)器4015確 定優(yōu)先權(quán)。然而,因?yàn)樾枰膳袃?yōu)器4015產(chǎn)生計(jì)數(shù)信號(hào),所以也將自 刷新指令提供給判優(yōu)器4015。
圖102是表示根據(jù)本發(fā)明的多端口存儲(chǔ)器4010操作的一個(gè)例子的 定時(shí)圖。
指令Read-x是指向存儲(chǔ)塊4014-(x+l)的Read指令。首先將 Read-0輸入到A端口 4011,然后將Read-3輸入到B端口 4012。在 這個(gè)情形中,存取的存儲(chǔ)塊是不同的,使得存儲(chǔ)塊4014-1和存儲(chǔ)塊 4014-4并行地操作。
此后,將Read-l輸入到A端口 4011,接著將Read-l輸入到B 端口4012。因?yàn)樵谶@個(gè)情形中存取的存儲(chǔ)塊是相同的,所以產(chǎn)生匹配 信號(hào),取消輸入到B端口 4012的指令。而且,從B端口 4012的BUSY 信號(hào)I/O裝置4046輸出BUSY曙B (負(fù)邏輯值)。
B端口 4012的外部控制器檢測(cè)BUSY-B,在切斷這個(gè)信號(hào)后再次 向多端口存儲(chǔ)器4010提供Read-l 。
圖103是表示根據(jù)本發(fā)明的多端口存儲(chǔ)器4010操作的另 一個(gè)例子 的定時(shí)圖。
圖103所示的操作直到將第2個(gè)指令Read-l輸入A端口 4011 和B端口 4012,產(chǎn)生BUSY-B為止都與圖102的相同。在這個(gè)例子 中,在響應(yīng)輸入到B端口 4012的Read-l發(fā)生BUSY-B后,為了在BUSY-B結(jié)束前存取另 一個(gè)存儲(chǔ)塊進(jìn)入讀指令Read-2。在這個(gè)方式中, 只要下一個(gè)指令是指向另 一個(gè)存儲(chǔ)塊的甚至在認(rèn)定BUSY的周期中也 能夠輸入下一個(gè)指令。
圖104是表示根據(jù)本發(fā)明的多端口存儲(chǔ)器4010操作的又一個(gè)例子 的定時(shí)圖。
圖104的例子表示輸入Write指令的情形。將Read指令輸入A 端口 4011,接著將Write指令輸入B端口 4012。
在這個(gè)實(shí)施例中,輸入/輸出數(shù)據(jù)是脈沖串型的。即,通過從多個(gè) 列地址讀出并行數(shù)據(jù),并當(dāng)數(shù)據(jù)輸出時(shí)在數(shù)據(jù)I/O電路4033和4043 中將它變換成串行數(shù)據(jù)得到數(shù)據(jù)輸出。串行地輸入數(shù)據(jù)輸入,然后在 數(shù)據(jù)I/O電路4033和4043中將它變換成并行數(shù)據(jù),接著將并行數(shù)據(jù) 寫入相關(guān)存儲(chǔ)塊的多個(gè)列地址中。使用這種脈沖串操作能夠增加數(shù)據(jù) 傳輸速率。在這個(gè)例子中,脈沖串長度為4,使連續(xù)地輸出/輸入4個(gè) 數(shù)據(jù)項(xiàng)。
在Write操作的情形,除非輸入所有的4個(gè)數(shù)據(jù)項(xiàng),否則不能開 始Write操作。所以,判優(yōu)器4015能夠確定Write操作的優(yōu)先權(quán)的定 時(shí)是給出一系列串行數(shù)據(jù)輸入的最后一項(xiàng)的定時(shí)。
在圖104中,A端口 4011的第3個(gè)指令輸入Read-3和B端口 4012 的第2個(gè)指令輸入Write-3企圖存取同一個(gè)存儲(chǔ)塊。雖然B端口 4012 的Write-3依據(jù)指令到各端口的輸入定時(shí)在其它的指令輸入前面,但 是在寫數(shù)據(jù)最后一項(xiàng)進(jìn)入前給出了 A端口 4011的Read-3。因此,判 優(yōu)器4015確定A端口 4011的指令在其它指令的前面,并取消B端 口 4012的指令。
如圖101所示,A端口 4011和B端口 4012分別具有CLK緩沖 器4032和4042,并從器件外部接收不同的時(shí)鐘信號(hào)。各時(shí)鐘信號(hào)可 以具有相同或不同的相位和頻率。
圖105是表示指令譯碼器寄存器4034和4044的方框圖。 指令譯碼器寄存器4034包括輸入緩沖器4061,指令譯碼器4062 和(n-l)時(shí)鐘延遲電路4063。指令譯碼器寄存器4044包括輸入緩沖器4071,指令譯碼器4072和(n-l)時(shí)鐘延遲電路4073。
如果輸入到輸入緩沖器4061或4071的指令是Read指令(RA1, RB1)或刷新指令(REFA, REFB),通過指令譯碼器4062或4072 將輸入指令傳輸給判優(yōu)器4015而不需要任何定時(shí)操作。在Write指令 (WA1, WB1)的情形,輸入指令被(n-l)時(shí)鐘延遲電路4063或4073 延遲(n-l)個(gè)時(shí)鐘周期,在給出一系列脈沖串寫輸入的最后的第n個(gè)數(shù) 據(jù)項(xiàng)的定時(shí)傳輸給判優(yōu)器4015。
圖106是根據(jù)本發(fā)明的實(shí)施例的判優(yōu)器4015的方框圖。
判優(yōu)器4015包括寄存器4081,延遲電路4082,傳輸門4083,寄 存器4084,寄存器4085,延遲電路4086,傳輸門4087,寄存器4088, NOR電路4091和4092, NAND電路4093到4096,倒相器4097到 4101,與NOR電路4102和4103。
將從指令譯碼寄存器4034或4044傳輸過來的指令分別存儲(chǔ)在寄 存器4081或4085中。當(dāng)將指令輸入給予A端口 4011時(shí),在是倒相 器4097的輸出端的節(jié)點(diǎn)Nl產(chǎn)生HIGH信號(hào)。當(dāng)將指令輸入給予B端 口 4012時(shí),在是倒相器4100的輸出端的節(jié)點(diǎn)N2產(chǎn)生HIGH信號(hào)。 將Nl的信號(hào)或N2的信號(hào)中較早的一個(gè)鎖存在節(jié)點(diǎn)N3或N4中。
如果在A端口 4011和B端口 4012之間塊選擇地址不匹配,則 地址比較器4019產(chǎn)生為LOW的匹配信號(hào)。所以,在這個(gè)情形中,將 N5和N6設(shè)置在HIGH。響應(yīng)這些HIGH信號(hào),傳輸門A 4083和傳 輸門B 4087兩者都打開,無例外地將寄存器4081和4085的指令傳輸 給寄存器4084和4088。
如果在A端口 4011和B端口 4012之間塊選擇地址匹配,則地 址比較器4019產(chǎn)生為HIGH的匹配信號(hào)。所以,在這個(gè)情形中,在 節(jié)點(diǎn)N5和N6的信號(hào)電平受到在節(jié)點(diǎn)N3和N4的信號(hào)電平的控制。 如果A端口 4011較早,則將N5設(shè)置在HIGH,將N6設(shè)置在LOW。 響應(yīng)N5的HIGH狀態(tài),傳輸門A4083打開,將A端口4011的指令 傳輸給寄存器4084。進(jìn)一步,N6的LOW狀態(tài)關(guān)閉傳輸門B 4087, 不將B端口 4012的指令傳輸給寄存器4088。而且,根據(jù)N5和N6的信號(hào)電平,產(chǎn)生復(fù)位信號(hào)BUSY1-A和 BUSY1-B,使各寄存器4081和4085復(fù)位。例如,如果選擇A端口 4011的指令,則產(chǎn)生BUSY1-B和使寄存器4085復(fù)位。
不需要確定自刷新指令的優(yōu)先權(quán),在寄存器4084的輸出級(jí)使自刷 新指令與A端口 4011的刷新指令REFA組合起來。在這個(gè)方式中對(duì) 于A端口 4011產(chǎn)生的刷新指令信號(hào)REFA2與B端口 4012的刷新指 令信號(hào)REFB2組合起來以便產(chǎn)生計(jì)數(shù)信號(hào)。響應(yīng)刷新指令的發(fā)生, 從判優(yōu)器4015將計(jì)數(shù)信號(hào)提供給刷新地址計(jì)數(shù)器4016。
圖107是表示判優(yōu)器4015操作的定時(shí)圖。
圖107表示在A端口 4011和B端口 4012之間塊選擇地址匹配, 和A端口 4011的Read指令RA1比B端口 4012的Read指令RBI 早的情形。在與上述相同的方式中,節(jié)點(diǎn)N5和N6的信號(hào)電平受到節(jié) 點(diǎn)N3和N4的信號(hào)電平的控制,節(jié)點(diǎn)N3和N4的信號(hào)電平反應(yīng)出節(jié) 點(diǎn)Nl和N2的信號(hào)電平,并從判優(yōu)器4015傳輸出Read指令RA2。 取消B端口 4012的Read指令而不輸出,并產(chǎn)生BUSY1-B信號(hào)。
圖108是地址緩沖器/寄存器和地址改變電路的方框圖。
在圖108中,具有在信號(hào)名稱(例如RA1)的未端加上字母"P,, 的信號(hào)名稱(例如RA1P)的信號(hào)是通過在具有后一個(gè)信號(hào)名稱(例 如RA1)的信號(hào)的前沿定時(shí)產(chǎn)生脈沖而產(chǎn)生的。
A端口 4011的地址緩沖器/寄存器4035包括輸入緩沖器4035-1, 傳輸門4035-2和OR電路4035-3。對(duì)于從圖105所示的指令譯碼器 4062輸出的讀指令信號(hào)RA1,將前沿轉(zhuǎn)變?yōu)槊}沖,產(chǎn)生脈沖信號(hào) RA1P,然后將它加到OR電路4035-3的一個(gè)輸入端。對(duì)于從圖105 所示的指令譯碼器4062輸出的寫指令信號(hào)WA1,將前沿轉(zhuǎn)變?yōu)槊}沖, 產(chǎn)生脈沖信號(hào)WA1P,然后將它加到OR電路4035-3的另一個(gè)輸入端。 將OR電路4035-3的輸出加到傳輸門4035-2作為發(fā)出進(jìn)行數(shù)據(jù)傳輸 的指令的傳輸定向信號(hào)。
B端口 4012的地址緩沖器/寄存器4045包括輸入緩沖器4045-1, 傳輸門4045-2和OR電路4045-3。對(duì)于B端口 4012的地址緩沖器/寄存器4045的配置與對(duì)于A端口 4011的地址緩沖器/寄存器4035的 配置相同。
地址改變電路4017包括地址鎖存器4017-1,傳輸門4017-2和 4017-3,地址鎖存器4017-4,與OR電路4017-5和4017-6。 OR電路
4017- 5接收信號(hào)RA1P和WAD1P,并將它的輸出加到傳輸門4017-2 作為傳輸指示信號(hào)。OR電路4017-6接收信號(hào)REFAP和SR-AP,并 將它的輸出加到傳輸門4017-3作為傳輸指示信號(hào)。
地址改變電路4018包括地址鎖存器4018-1,傳輸門4018-2和
4018- 3,地址鎖存器4018-4,與OR電路4018-5。 OR電路4018-5接 收信號(hào)RB1P和WBD1P,并將它的輸出加到傳輸門4018-3作為傳輸 指示信號(hào)。又將信號(hào)REFBP加到傳輸門4018-2作為傳輸指示信號(hào)。
當(dāng)從器件外部輸入Read指令或Write指令時(shí),將與指令一起輸 入的地址傳輸給地址改變電路4017或4018。在Read指令的情形中, 將指令傳輸給地址鎖存器4017-4或4018-4而不需要任何定時(shí)操作。 在Write指令的情形中,在取得一系列寫數(shù)據(jù)輸入的最后一項(xiàng)的定時(shí) 將指令傳輸給地址鎖存器4017-4或4018-4。
在刷新指令的情形中,在信號(hào)REFA, REFB或ER-A的定時(shí)將 由刷新地址計(jì)數(shù)器4016產(chǎn)生的刷新地址傳輸給地址鎖存器4017-4或 4018-4。
圖109是存儲(chǔ)塊的方框圖。
圖109表示存儲(chǔ)塊4014-1作為存儲(chǔ)塊4014-1到4014-n的一個(gè)例 子。存儲(chǔ)塊4014-1到4014-n具有相同的配置。
存儲(chǔ)塊4014-1包括存儲(chǔ)器陣列4111,控制電路4112,總線選擇 器4113和4114,讀出放大器緩沖器4115和寫放大器4116。存儲(chǔ)器陣 列4111包括DRAM存儲(chǔ)單元,存儲(chǔ)單元門晶體管,字線,位線,讀 出放大器,列線,列門等,并存儲(chǔ)用于讀操作和寫操作的數(shù)據(jù)??刂?電路4112控制存儲(chǔ)塊4014-1的操作。寫放大器4116放大寫入存儲(chǔ)器 陣列4111的數(shù)據(jù)。讀出緩沖器4115放大從存儲(chǔ)器陣列4111讀出的數(shù) 據(jù)??刂齐娐?112與總線A 4020-1和總線B 4020-2連接,并響應(yīng)與 它自己的存儲(chǔ)塊對(duì)應(yīng)的相關(guān)的存儲(chǔ)塊選擇地址被選出來。當(dāng)選出時(shí), 控制電路4112從已經(jīng)發(fā)出相關(guān)的存儲(chǔ)塊選擇地址的一條總線取得指 令。如果取得了總線A 4020-1指令,則控制總線選擇器4113使它向 存儲(chǔ)器陣列4111發(fā)送總線A 4020-1的地址信號(hào)。進(jìn)一步,控制總線 選擇器4114使它將讀出緩沖器4115或?qū)懛糯笃?116與總線A 4020-1 的數(shù)據(jù)線連接起來。如果取得了總線B 4020-2指令,則控制總線選擇 器4113使它向存儲(chǔ)器陣列4111發(fā)送總線B 4020-2的地址信號(hào)。進(jìn)一 步,控制總線選擇器4114使它將讀出緩沖器4115或?qū)懛糯笃?116與 總線B 4020-2的數(shù)據(jù)線連接起來。如果控制電路4112取得的指令是 刷新指令,則總線選擇器4114不需要操作。
如上所述選擇一條總線,然后,作為一系列的連續(xù)操作,連續(xù)地 實(shí)施字線選擇,存儲(chǔ)單元數(shù)據(jù)》文大,或者Read, Write或者Refresh (刷新),和預(yù)充電操作。
圖IIOA和IIOB是表示存儲(chǔ)塊操作的定時(shí)圖。
圖110A表示讀操作的情形,圖110B表示寫操作的情形。在圖 IIOA和IIOB所示操作定時(shí),響應(yīng)單個(gè)指令實(shí)施字線選擇,數(shù)據(jù)放大, 或者讀操作或者寫操作,寫回(數(shù)據(jù)恢復(fù))操作和預(yù)充電操作,從而 完成要求的操作。
在本發(fā)明(第4方面)中,如果從器件外部輸入端口的指令企圖 存取同一個(gè)存儲(chǔ)塊,則判優(yōu)電路確定各指令中的哪一個(gè)要被執(zhí)行,和 各指令中的哪一個(gè)不被執(zhí)行。例如,比較指令定時(shí),執(zhí)行較早的指令, 而不執(zhí)行(各)其它的指令。當(dāng)存在一個(gè)不被執(zhí)行的指令時(shí),產(chǎn)生BUSY 信號(hào)等并輸出到器件外部。這使得甚至當(dāng)在以DRAM芯為基礎(chǔ)的多端 口存儲(chǔ)器中指令存取相互發(fā)生沖突時(shí)也可以實(shí)施適當(dāng)?shù)拇嫒〔僮鞑?shí) 現(xiàn)適當(dāng)?shù)腂USY控制。
進(jìn)一步,本發(fā)明具有用于響應(yīng)來自器件外部的指令實(shí)施刷新操作 的操作模式,和用于響應(yīng)來自內(nèi)部刷新電路的指令實(shí)施刷新操作的操 作模式。這使得在這樣一種方式,即將預(yù)定外部端口指定作為用于在恒定的間隔接收刷新指令進(jìn)行刷新管理的端口中用多端口存儲(chǔ)器成為 可能,或者使得在這樣一種方式,即當(dāng)所有的外部環(huán)部端口都處于去 激活狀態(tài)時(shí)內(nèi)部刷新電路開始刷新操作中用多端口存儲(chǔ)器成為可能。 因此,本發(fā)明為遵從系統(tǒng)要求的靈活的刷新管理提供了基礎(chǔ)。
[本發(fā)明的第5方面
下面我們描述本發(fā)明的第5方面。
多端口存儲(chǔ)器具有兩組或多組輸入/輸出端子(即,多個(gè)輸入/輸出 端口),并實(shí)施與接到的信號(hào)相應(yīng)的存儲(chǔ)操作。與普通的存儲(chǔ)器不同, 可以同時(shí)執(zhí)行讀操作和寫操作。例如,如果系統(tǒng)中存在多條總線,如 果多個(gè)控制器(CPU等)需要用各條總線,則通過將多端口存儲(chǔ)器的 輸入/輸出端口與各條總線連接起來能夠制成該系統(tǒng)。這就消除了用特 殊設(shè)計(jì)的控制邏輯電路(FIFO邏輯電路等)的需要。
而且,我們也將多個(gè)端口存儲(chǔ)器開發(fā)成圖象存儲(chǔ)器(一般為雙端 口報(bào)告存儲(chǔ)器)。圖象存儲(chǔ)器具有隨機(jī)存取端口,通過這些端口能夠 實(shí)現(xiàn)到任何存儲(chǔ)單元的存取,和與顯示裝置交換數(shù)據(jù)的串行存取端口 。
這類多個(gè)端口存儲(chǔ)器在存儲(chǔ)單元區(qū)域中釆用SRAM存儲(chǔ)芯或 DRAM存儲(chǔ)芯。
然而,我們還必須開發(fā)這樣的多端口存儲(chǔ)器,它們接收在各輸入/ 輸出端口的不同時(shí)鐘信號(hào)并與時(shí)鐘信號(hào)同步地隨機(jī)地存取一個(gè)存儲(chǔ)單 元區(qū)域。即,我們還不知道如何制成電路的詳細(xì)情況和如何控制這種 時(shí)鐘同步的多端口存儲(chǔ)器。
而且,常規(guī)的多端口存儲(chǔ)器(具體地雙端口存儲(chǔ)器)具有分別對(duì) 于各組輸入/輸出端口的位線和讀出放大器。因?yàn)檫@個(gè)原因,存在存儲(chǔ) 器芯的布局尺寸變大,從而不希望地增大多端口存儲(chǔ)器的芯片尺寸的 問題。
因此,本發(fā)明的目的是提供允許能夠進(jìn)行隨機(jī)存取的時(shí)鐘同步的 多端口存儲(chǔ)器。
本發(fā)明的目的是進(jìn)一步提供在各組輸入/輸出端口接收相互不同的時(shí)鐘信號(hào),并以可靠的方式進(jìn)行操作的多端口存儲(chǔ)器。
而且本發(fā)明的目的是提供能夠通過與其它的輸入/輸出端口的狀
態(tài)無關(guān)地接收在任何時(shí)間的指令信號(hào)驅(qū)動(dòng)存儲(chǔ)芯的多端口存儲(chǔ)器。
而且本發(fā)明的目的是提供具有減少的芯片尺寸的小的多端口存儲(chǔ)器。
根據(jù)本發(fā)明(第5方面),多個(gè)存儲(chǔ)芯中的一些在加到多個(gè)輸入/ 輸出端口的時(shí)鐘信號(hào)和地址信號(hào)的基礎(chǔ)上進(jìn)行操作。每個(gè)輸入/輸出端 口包括用于接收時(shí)鐘信號(hào)的時(shí)鐘端子,用于接收與時(shí)鐘信號(hào)同步地提 供的地址信號(hào)的地址端子,和用于輸入/輸出數(shù)據(jù)信號(hào)的數(shù)據(jù)輸入/輸出 端口端子。為各存儲(chǔ)芯提供控制電路。
如果地址信號(hào)指示將同一個(gè)存儲(chǔ)芯加到兩個(gè)或多個(gè)輸入/輸出端 口,則控制電路使存儲(chǔ)芯響應(yīng)首先接到的地址信號(hào)進(jìn)行操作。即,對(duì) 于首先接收地址信號(hào)的輸入/輸出端口實(shí)施存儲(chǔ)操作??梢匀绱硕x存 儲(chǔ)芯,使它與各讀出放大器區(qū)域相當(dāng),其中讀出放大器區(qū)域是各讀出 放大器區(qū)域在其中 一起操作的區(qū)域。由地址信號(hào)的上部分選擇存儲(chǔ)芯。 由地址信號(hào)的下部分選擇存儲(chǔ)芯的存儲(chǔ)單元。通過與首先接到的地址 信號(hào)上部分對(duì)應(yīng)的輸入/輸出端口輸入或輸出到與首先接到的地址信 號(hào)上部分對(duì)應(yīng)的輸入/輸出端口,將由地址信號(hào)的下部分選擇的存儲(chǔ)單 元的數(shù)據(jù)信號(hào)輸入到器件外部或從器件外部輸出。
因?yàn)樗龅娜渴虑榫褪潜容^地址信號(hào),所以能夠?qū)⒖刂齐娐?制成簡單的電路。這使芯片尺寸減少。
因?yàn)槊總€(gè)輸入/輸出端口都具有時(shí)鐘端子,所以對(duì)于每個(gè)輸入/輸出 端口能夠分別地控制時(shí)鐘信號(hào)的頻率。即,能夠使具有不同操作頻率 的多個(gè)控制器與多端口存儲(chǔ)器連接起來。
在本發(fā)明的多端口存儲(chǔ)器中,在用于取得地址信號(hào)的時(shí)鐘信號(hào)的 特定邊沿前的預(yù)定設(shè)置時(shí)間安排地址信號(hào)。控制電路用在時(shí)鐘信號(hào)的 這個(gè)特定邊沿前安排的地址信號(hào)確定地址信號(hào)到達(dá)的次序。因此,能 夠用首先接收的時(shí)鐘信號(hào)的邊沿確定地址信號(hào)到達(dá)的次序。這使在存 儲(chǔ)芯開始操作前可以識(shí)別具有優(yōu)先權(quán)的輸入/輸出端口 ,從而實(shí)現(xiàn)高速存儲(chǔ)操作。因?yàn)樵陬A(yù)定定時(shí)(即時(shí)鐘信號(hào)的邊沿)比較地址信號(hào),所 以能夠防止與存儲(chǔ)操作無關(guān)的地址信號(hào)的錯(cuò)誤比較。
根據(jù)本發(fā)明,多個(gè)存儲(chǔ)芯中的一些在加到多個(gè)輸入/輸出端口的時(shí) 鐘信號(hào)和地址信號(hào)的基礎(chǔ)上進(jìn)行操作。每個(gè)輸入/輸出端口包括用于接 收時(shí)鐘信號(hào)的時(shí)鐘端子,用于接收與時(shí)鐘信號(hào)同步地提供的地址信號(hào) 的地址端子,和用于輸入/輸出數(shù)據(jù)信號(hào)的數(shù)據(jù)輸入/輸出端口端子。為 各存儲(chǔ)芯提供控制電路。
如果將指示同一個(gè)存儲(chǔ)芯的地址信號(hào)加到兩個(gè)或多個(gè)輸入/輸出 端口,則控制電路使存儲(chǔ)芯響應(yīng)首先接到的地址信號(hào)進(jìn)行操作。此后, 控制電路使存儲(chǔ)芯響應(yīng)地址信號(hào)以接收地址信號(hào)的次序進(jìn)行操作。由 地址信號(hào)的上部分選擇存儲(chǔ)芯。由地址信號(hào)的下部分選擇存儲(chǔ)芯的存 儲(chǔ)單元。通過與各地址信號(hào)對(duì)應(yīng)的輸入/輸出端口,連續(xù)地從器件外部 輸入由地址信號(hào)下部分選擇的存儲(chǔ)單元的數(shù)據(jù)信號(hào)或?qū)⒂傻刂沸盘?hào)下 部分選擇的存儲(chǔ)單元的數(shù)據(jù)信號(hào)輸出到器件外部。因此,對(duì)于所有的 接收存儲(chǔ)操作要求的輸入/輸出端口沒有例外地實(shí)施存儲(chǔ)操作。
即,在所有時(shí)間中多端口存儲(chǔ)器都處于備用狀態(tài)。與多端口存儲(chǔ) 器連接的控制器不 一定要檢測(cè)多端口存儲(chǔ)器的忙碌狀態(tài)。這通過硬件 和軟件簡化了控制器的操作。因?yàn)樗龅娜渴虑榫褪潜容^地址信 號(hào),所以能夠?qū)⒖刂齐娐分瞥珊唵蔚碾娐?。這使芯片尺寸減少。
因?yàn)槊總€(gè)輸入/輸出端口都具有時(shí)鐘端子,所以對(duì)于每個(gè)輸入/輸出 端口能夠分別地控制時(shí)鐘信號(hào)的頻率。即,能夠使具有不同操作頻率 的多個(gè)控制器與多端口存儲(chǔ)器連接起來。
在本發(fā)明的多端口存儲(chǔ)器中,每個(gè)輸入/輸出端口都具有指令端 子,用于與控制存儲(chǔ)芯操作的時(shí)鐘信號(hào)同步地接收指令信號(hào)。在每個(gè) 輸入/輸出端口中,在至少是讀操作和寫操作需要的存儲(chǔ)芯的操作周期 兩倍長的間隔上,提供用于激活存儲(chǔ)芯的指令信號(hào)。如果多端口存儲(chǔ)
器具有2個(gè)輸入/輸出端口或4個(gè)輸入/輸出端口 ,則可以分別將指令信 號(hào)的間隔設(shè)置在操作周期的2倍或操作周期的4倍上。有了這些設(shè)置, 多端口存儲(chǔ)器處于響應(yīng)外部控制器的備用狀態(tài)。如果在比預(yù)定間隔短的間隔上提供指令信號(hào),則指令信號(hào)在防止 故障方面是無效的。如果將指令信號(hào)提供給不同的輸入/輸出端口,則 即便間隔不比預(yù)定間隔短也接收這些指令信號(hào)。
根據(jù)本發(fā)明,進(jìn)一步,從存儲(chǔ)單元讀出或?qū)懭氪鎯?chǔ)單元的數(shù)據(jù)通 過緩沖器在數(shù)據(jù)輸入/輸出端口和存儲(chǔ)單元之間傳輸。緩沖器在其中存 儲(chǔ)具有預(yù)定在數(shù)量上等于兩個(gè)或多個(gè)存儲(chǔ)單元的位數(shù)的數(shù)據(jù)。
在開始讀操作和寫操作時(shí),例如,將具有預(yù)先確定數(shù)目的數(shù)據(jù)從 存儲(chǔ)單元傳輸?shù)骄彌_器。在讀操作中,從緩沖器讀出與各地址信號(hào)對(duì) 應(yīng)的數(shù)據(jù),并從數(shù)據(jù)輸入/輸出端口輸出到外部裝置。在寫操作中,將 與各地址信號(hào)對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)在緩沖器中,并在寫操作結(jié)束時(shí)立即將 緩沖器的數(shù)據(jù)寫入存儲(chǔ)單元。
在這種方式中,容易實(shí)施頁面操作。 一般,當(dāng)頁面操作時(shí)存儲(chǔ)芯 (讀出放大器等)必須保持在激活狀態(tài)。如果不提供本發(fā)明的緩沖器, 則當(dāng)對(duì)于輸入/輸出端口實(shí)施的頁面操作時(shí)不可能對(duì)于另一個(gè)輸入/輸 出端口實(shí)施存儲(chǔ)操作。在本發(fā)明中,在開始操作時(shí)將存儲(chǔ)單元的數(shù)據(jù) 傳輸給緩沖器,使得在這以后能夠立即使存儲(chǔ)芯去激活。結(jié)果,甚至 當(dāng)頁面操作時(shí)與多端口存儲(chǔ)器連接的控制器也不一定要檢測(cè)多端口存 儲(chǔ)器的忙碌狀態(tài)。
下面我們參照所附各圖描述本發(fā)明(第5方面)的實(shí)施例。 圖lll表示沖艮據(jù)本發(fā)明(第5方面)的多端口存儲(chǔ)器的第1實(shí)施 例。用CMOS工藝在硅基片上形成多端口存儲(chǔ)器M。
多端口存儲(chǔ)器M包括兩個(gè)輸入/輸出端口 PPRT-A和PORT-B, I/O電路5010,它向端口 PPRT-A和PORT-B輸出信號(hào)和從端口 PPRT-A和PORT-B輸入信號(hào),和多個(gè)存儲(chǔ)塊MB。每個(gè)存儲(chǔ)塊MB 都包括DRAM存儲(chǔ)芯(包括存儲(chǔ)單元,讀出放大器線SA等),并進(jìn) 一步包括圖中未畫出的控制電路,譯碼器等。每個(gè)存儲(chǔ)單元包括存儲(chǔ) 與數(shù)據(jù)信號(hào)值相應(yīng)的電荷的電容器。根據(jù)通過端口 PPRT-A和 PORT-B提供的行地址信號(hào)選擇一個(gè)存儲(chǔ)芯。響應(yīng)給定的存儲(chǔ)芯的選 擇同時(shí)激活在給定的存儲(chǔ)芯中的讀出放大器線SA的所有讀出放大器。即,響應(yīng)激活指令A(yù)CT激活存儲(chǔ)芯,我們將在后面對(duì)此進(jìn)行描述,并 選擇在這個(gè)存儲(chǔ)芯中的所有的存儲(chǔ)單元區(qū)域。根據(jù)讀出放大器激活后 提供的列地址信號(hào)在存儲(chǔ)芯上讀出讀數(shù)據(jù)或?qū)懭雽憯?shù)據(jù)。
圖112表示多端口存儲(chǔ)器M的I/O電路5010和存儲(chǔ)塊MB的詳 細(xì)情況。在圖中,每條由粗線表示的信號(hào)線都由多條線組成。
I/O電路5010包括模寄存器5012a和5012b,時(shí)鐘緩沖器5014a 和5014b,
數(shù)據(jù)輸入/輸出緩沖器5016a和5016b,地址緩沖器/寄存器5018a 和5018b,指令緩沖器5020a和5020b,與忙碌緩沖器5022a和5022b, 分別與輸入/輸出端口 PPRT-A和PORT-B對(duì)應(yīng)。模寄存器5012a和 5012b是用于從器件外部設(shè)置多端口存儲(chǔ)器M的操作模式的寄存器。
時(shí)鐘緩沖器5014a,地址緩沖器/寄存器5018a,和指令緩沖器 5020a分別將時(shí)鐘信號(hào)CLKA,地址信號(hào)ADDA和指令信號(hào)CMDA 加到存儲(chǔ)塊MB上,就如從器件外部加上一樣。數(shù)據(jù)輸入/輸出緩沖器 5016a用于從存儲(chǔ)塊MB輸出數(shù)據(jù)信號(hào)DQA和將數(shù)據(jù)信號(hào)DQA輸入 存儲(chǔ)塊MB。忙碌緩沖器5022a向器件外部輸出忙碌信號(hào)/BSYA。時(shí) 鐘緩沖器5014b,地址緩沖器/寄存器5018b,和指令緩沖器5020b分 別將時(shí)鐘信號(hào)CLKB,地址信號(hào)ADDB和指令信號(hào)CMDB加到存儲(chǔ) 塊MB上,就如從器件外部加上一樣。數(shù)據(jù)輸入/輸出緩沖器5016b用 于從存儲(chǔ)塊MB輸出數(shù)據(jù)信號(hào)DQB和將數(shù)據(jù)信號(hào)DQB輸入存儲(chǔ)塊 MB。忙碌緩沖器5022b向器件外部輸出忙碌信號(hào)/BSYB。時(shí)鐘信號(hào) CLKA和CLKB,地址信號(hào)ADDA和ADDB和指令信號(hào)CMDA和 CMDB,數(shù)據(jù)信號(hào)DQA和DQB,與忙碌信號(hào)/BSYA和/BSYB分別通 過時(shí)鐘端子,地址端子,指令端子,數(shù)據(jù)輸入/輸出端子和忙碌端子進(jìn) 行傳輸。提供激活指令A(yù)CT和操作指令(例如讀指令RD,寫指令 WR)等作為用于控制存儲(chǔ)芯操作的指令信號(hào)CMDA和CMDB。
提供每個(gè)地址信號(hào)ADDA和ADDB作為相互分開的行地址信號(hào) RA和列地址信號(hào)CA。在輸入/輸出端口 PPRT-A中,與時(shí)鐘信號(hào) CLKA的前沿同步地提供行地址信號(hào)RA,列地址信號(hào)CA和指令信號(hào)CMDA。在輸入/輸出端口 PPRT-B中,與時(shí)鐘信號(hào)CLKB的前沿 同步地提供行地址信號(hào)RB,列地址信號(hào)CB和指令信號(hào)CMDB。在 這個(gè)方式中,多端口存儲(chǔ)器M分別接收專門在輸入/輸出端口 PPRT-A 和PORT-B使用的時(shí)鐘信號(hào)CLKA和CLKB,并與時(shí)鐘信號(hào)CLKA 和CLKB同步地進(jìn)行操作。
存儲(chǔ)塊MB包括時(shí)鐘緩沖器5024a和5024b,指令鎖存器5026a 和5026b,數(shù)據(jù)鎖存器5028a和5028b,行地址鎖存器5030a和5030b, 列地址鎖存器5031a和5031b,與列地址鎖存器5032a和5032b,分別 與輸入/輸出端口 PPRT-A和PORT-B對(duì)應(yīng)。存儲(chǔ)塊MB包括判優(yōu)電 路5034,控制信號(hào)鎖存器5036,列地址計(jì)數(shù)器5038和存儲(chǔ)芯5040, 它們對(duì)于輸入/輸出端口 PPRT-A和PORT-B是7>用的。存儲(chǔ)芯5040 具有與時(shí)鐘信號(hào)同步地取得指令信號(hào)RAS, CAS和WE,行地址信號(hào) RA和列地址信號(hào)CA的形式。
當(dāng)激活從判優(yōu)電路5034提供的啟動(dòng)信號(hào)/ENA時(shí),與輸入/輸出端 口 PPRT-A對(duì)應(yīng)的模寄存器5012a,時(shí)鐘緩沖器5024a,指令鎖存器 5026a,數(shù)據(jù)鎖存器5028a,行地址鎖存器5031a,和列地址鎖存器5032a 進(jìn)行操作。當(dāng)激活從判優(yōu)電路5034提供的啟動(dòng)信號(hào)/ENB時(shí),與輸入/ 輸出端口 PPRT-B對(duì)應(yīng)的模寄存器5012b,時(shí)鐘緩沖器5024b,指令 鎖存器5026b,數(shù)據(jù)鎖存器5028b,行地址鎖存器5031b,和列地址鎖 存器5032b進(jìn)行操作。
即,在激活啟動(dòng)信號(hào)/ENA時(shí),時(shí)鐘緩沖器5024a向存儲(chǔ)芯5040 的時(shí)鐘端子CLK提供時(shí)鐘信號(hào)CLKA。進(jìn)一步,指令鎖存器5026a 向控制信號(hào)鎖存器5036提供鎖存的指令信號(hào)CMDA,和行地址鎖存 器5031a向存儲(chǔ)芯5040的行地址端子RA提供鎖存的行地址信號(hào)RA (例如,與上地址位對(duì)應(yīng))。而且,列地址鎖存器5032a向列地址計(jì) 數(shù)器5038提供鎖存的列地址信號(hào)CA (例如,與下地址位對(duì)應(yīng)),和 數(shù)據(jù)鎖存器5028a與存儲(chǔ)芯5040的數(shù)據(jù)輸入/輸出端子DQ和輸入/輸 出緩沖器5016a交換數(shù)據(jù)信號(hào)。
類似地,在激活啟動(dòng)信號(hào)/ENB時(shí),時(shí)鐘緩沖器5024ba向存儲(chǔ)芯5040的時(shí)鐘端子CLK提供時(shí)鐘信號(hào)CLKB。進(jìn)一步,指令鎖存器5026b 向控制信號(hào)鎖存器5036提供鎖存的指令信號(hào)CMDB,和行地址鎖存 器5031b向存儲(chǔ)芯5040的行地址端子RA提供鎖存的列信號(hào)RA。而 且,列地址鎖存器5032b向列地址計(jì)數(shù)器5038提供鎖存的列地址信號(hào) CA,和數(shù)據(jù)鎖存器5028b與存儲(chǔ)芯5040的數(shù)據(jù)輸入/輸出端子DQ和 輸入/輸出緩沖器5016b交換數(shù)據(jù)信號(hào)。
控制信號(hào)鎖存器5036根據(jù)接收的指令信號(hào)CMDA和CMDB產(chǎn)生 用于使存儲(chǔ)芯5040操作的行地址選通信號(hào)RAS,列地址選通信號(hào) CAS,和寫啟動(dòng)信號(hào)WE,并將產(chǎn)生的信號(hào)加到存儲(chǔ)芯5040上。而且, 控制信號(hào)鎖存器5036向判優(yōu)電路5034提供指示讀操作和寫操作中的 一個(gè)的讀/寫指令信號(hào)RWCMD。
列地址計(jì)數(shù)器5038根據(jù)關(guān)于從模寄存器5012a和5012b提供的脈 沖串長度的信息以及地址信號(hào)ADDA和ADDB產(chǎn)生列地址信號(hào)CA, 并向存儲(chǔ)芯5040輸出列地址信號(hào)。
判優(yōu)電路5034包括地址比較電路5042和判優(yōu)控制電路5044。地 址比較電路5042比較在從輸入/輸出端口 PPRT-A和PORT-B提供的 地址信號(hào)ADDA和ADDB之間的行地址信號(hào)RA,并決定它們中哪一 個(gè)較早到達(dá)。判優(yōu)控制電路5044產(chǎn)生忙碌信號(hào)/BSYA和/BSYB與啟 動(dòng)信號(hào)/ENA和/ENB,用于使內(nèi)部電路根據(jù)地址比較電路5042的比較 結(jié)果進(jìn)行操作。
圖113表示地址比較電路5042的詳細(xì)情況。
地址比較電路5042包括兩個(gè)地址匹配電路5042a和一個(gè)地址比較 器5042b,地址比較器5042b檢測(cè)地址到達(dá)的次序。地址匹配電路5042a 包括多個(gè)EOR電路5042c,每個(gè)EOR電路5042c比較在地址信號(hào) ADDA和地址信號(hào)ADDB之間的行地址信號(hào)RA的對(duì)應(yīng)位,并進(jìn)一步 包括多個(gè)nMOS晶體管5042d,它們與各EOR電路5042c對(duì)應(yīng)。每 個(gè)nMOS晶體管5042d的柵極都與對(duì)應(yīng)的EOR電路5042c的輸出端 連接,它們的源極接地和它們的漏極相互連接。每個(gè)EOR電路5042c, 當(dāng)行地址信號(hào)RA的位值在輸入/輸出端口 PPRT-A和PORT-B之間相互匹配時(shí)輸出低電平信號(hào),當(dāng)行地址信號(hào)RA的位值不匹配時(shí)輸出高 電平信號(hào)。響應(yīng)來自EOR電路5042c的低電平信號(hào)切斷nMOS晶體 管5042d,響應(yīng)來自EOR電路5042c的高電平信號(hào)4妄通nMOS晶體 管5042d。即,從地址匹配電路5042a輸出的匹配信號(hào)/COINl和 /COIN2當(dāng)行地址信號(hào)RA的所有的位在對(duì)應(yīng)的位之間匹配時(shí)變成浮 動(dòng)的,并當(dāng)行地址信號(hào)的至少 一個(gè)位在對(duì)應(yīng)的位之間不同時(shí)變成低電 平信號(hào)。將兩個(gè)地址匹配電路5042a分別安排在存儲(chǔ)塊MB的上端和 下端如圖lll所示(即,安排得接近輸入/輸出電路5010)。地址匹配 電路5042a接近輸入/輸出電路5010的安排可以縮短地址信號(hào)ADDA 和ADDB到地址匹配電路5042a的整個(gè)路經(jīng)上的傳播延遲。因此,可 以在較早的定時(shí)比較地址信號(hào)ADDA和ADDB,從而得到高速操作。
比較器5042b接收匹配信號(hào)/COINl和/COIN2和時(shí)鐘信號(hào)CLKA 和CLKB,并輸出首先到達(dá)信號(hào)/FSTA和/FSTB。
圖114表示比較器5042b的詳細(xì)情況。
比較器5042b包括脈沖發(fā)生器5042e,它們分別與時(shí)鐘信號(hào)CLKA 和CLKB的前沿同步地產(chǎn)生正脈沖PLSA和PLSB,并進(jìn)一步包括觸 發(fā)器5042f,它在它的輸入端子接收脈沖PLSA和PLSB。比較器5042b 接收匹配信號(hào)/COINl和/COIN2并輸入到分別輸出脈沖PLSA和 PLSB的各倒相器。將在比較器5042b中產(chǎn)生各脈沖信號(hào)的NAND門 制成小尺寸的電路元件,使得當(dāng)從NAND門輸出的信號(hào)具有與匹配信 號(hào)/COINl和/COIN2沖突的信號(hào)電平時(shí)將優(yōu)先權(quán)給予匹配信號(hào) /COIN1和/COIN2。觸發(fā)器5042f當(dāng)接收脈沖PLSA時(shí)使首先到達(dá)信 號(hào)/FSTA下降到低電平,當(dāng)接收脈沖PLSB時(shí)使首先到達(dá)信號(hào)/FSTB 下降到低電平。
圖115表示當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址 信號(hào)相互匹配時(shí)實(shí)施的比較器5042b的操作。在這個(gè)例子中,時(shí)鐘信 號(hào)CLKA和CLKB具有相同的周期。
圖113所示的地址匹配電路5042a當(dāng)行地址信號(hào)RA匹配時(shí)使匹 配信號(hào)/COINl和/COIN2處于浮動(dòng)狀態(tài)(Hi-z)。對(duì)應(yīng)地,分別與時(shí)鐘信號(hào)CLKA和CLKB的前沿同步地產(chǎn)生脈沖PLSA和PLSB (圖 115- (a))。圖114所示的觸發(fā)器5042f響應(yīng)在其它信號(hào)之前接收的 脈沖PLSA使首先到達(dá)信號(hào)/FSTA激活(圖115- (b))。在使首先 到達(dá)信號(hào)/FSTA去激活后使與以后接收的脈沖PLSB對(duì)應(yīng)的首先到達(dá) 信號(hào)/FSTB激活(圖115- (c))。
圖116表示當(dāng)行地址信號(hào)RA在輸入/輸出端口 PORT-A和 PORT-B之間不匹配時(shí)比較器5042b的操作。在這個(gè)例子中,時(shí)鐘信 號(hào)CLKA和CLKB具有相同的周期。
地址匹配電路5042a當(dāng)行地址信號(hào)RA甚至一個(gè)位都不匹配時(shí)l吏 每個(gè)匹配信號(hào)/COINl和/COIN2降到低電平(圖116- (a))。對(duì)應(yīng) 地,圖114所示的脈沖發(fā)生器5042e迫使脈沖信號(hào)PLSA和PLSB降 到低電平而與時(shí)鐘信號(hào)CLKA和CLKB無關(guān)(圖116-(b))。因此, 首先到達(dá)信號(hào)/FSTA和/FSTB保持在高電平(圖115- (c))。
圖117表示當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址 信號(hào)RA在時(shí)鐘信號(hào)CLKA具有一個(gè)與時(shí)鐘信號(hào)CLKB的周期不同的 周期的條件下匹配時(shí)比較器5042b的操作。在這個(gè)例子中,設(shè)置時(shí)鐘 信號(hào)CLKB的周期等于時(shí)鐘信號(hào)CLKA的周期的兩倍。分別與時(shí)鐘 信號(hào)CLKA和CLKB的前沿同步地取得行地址信號(hào)RA。在圖中,實(shí) 線表示的行地址信號(hào)RA說明加到輸入/輸出端口 PORT-A和PORT-B 的信號(hào),虛線表示的行地址信號(hào)RA說明由圖112所示的各行地址鎖 存器5030a和5030b鎖存的信號(hào)。
當(dāng)行地址信號(hào)RA匹配時(shí),以與圖115相同的方式使匹配信號(hào) /COIN1和/COIN2處于浮動(dòng)狀態(tài)(Hi-z)。當(dāng)匹配信號(hào)/COINl和 /COIN2處于浮動(dòng)狀態(tài)(Hi-z)時(shí),圖114所示的脈沖發(fā)生器5042e發(fā) 揮作用,使得分別與時(shí)鐘信號(hào)CLKA和CLKB的前沿同步地產(chǎn)生脈 沖信號(hào)PLSA和PLSB和首先到達(dá)信號(hào)/FSTA和/FSTB。
圖118表示提供給圖112所示的判優(yōu)電路的判優(yōu)控制電路5044。
判優(yōu)控制電路5044包括控制電路5044a和5044b,它們分別與輸 入/輸出端口 PPRT-A和PORT-B對(duì)應(yīng)。控制電路5044a接收復(fù)位信號(hào)RESETA,延遲時(shí)鐘信號(hào)DCLKA,有效指令信號(hào)ACTA,首先到 達(dá)信號(hào)/FSTA,忙碌信號(hào)/BSYA,并輸出啟動(dòng)信號(hào)/ENA和忙碌信號(hào) /BSYB??刂齐娐?044b接收復(fù)位信號(hào)RESETB,延遲時(shí)鐘信號(hào) DCLKB,有效指令信號(hào)ACTB,首先到達(dá)信號(hào)/FSTB,忙碌信號(hào)/BSYB, 并輸出啟動(dòng)信號(hào)/ENB和忙碌信號(hào)/BSYA。
當(dāng)完成與輸入/輸出端口 PPRT-A和PORT-B對(duì)應(yīng)的讀或?qū)懖僮?時(shí),在各預(yù)定周期中使復(fù)位信號(hào)RESETA和RESETB激活。延遲時(shí) 鐘信號(hào)DCLKA和DCLKB是分別通過使時(shí)鐘信號(hào)CLKA和CLKB 延遲得到的。當(dāng)將有效指令A(yù)CT加到輸入/輸出端口 PPRT-A和 PORT-B時(shí)使有效指令信號(hào)ACTA和ACTB激活。
圖119表示當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址 信號(hào)匹配時(shí)實(shí)施的判優(yōu)控制電路5044的操作。在這個(gè)例子中,時(shí)鐘信 號(hào)CLKA和CLKB的周期是相同的。與時(shí)鐘信號(hào)CLKA同步地提供 有效指令A(yù)CT,立即接著與時(shí)鐘信號(hào)CLKB同步地提供有效指令 ACT。
控制電路5044a與延遲時(shí)鐘信號(hào)DCLKA的前沿同步地取得低電 平的首先到達(dá)信號(hào)/FSTA,并使忙碌信號(hào)/BSYB激活(圖119- ( a ))。 響應(yīng)有效指令信號(hào)ACTA的激活和忙碌信號(hào)/BSYA的去激活狀態(tài),控 制電路5044a激活啟動(dòng)信號(hào)ENA(圖119-(b))。因?yàn)榭刂齐娐?044b 與延遲時(shí)鐘信號(hào)DCLKB的前沿同步地取得高電平的首先到達(dá)信號(hào) /FSTB,所以不激活忙碌信號(hào)/BSYA (圖119- (c))。雖然控制電路 5044b接受激活狀態(tài)的有效指令信號(hào)ACTB,但是因?yàn)榧せ盍嗣β敌?號(hào)/BSYB,所以控制電路5044b不激活啟動(dòng)信號(hào)ENB(圖119-(d))。
響應(yīng)啟動(dòng)信號(hào)ENA的激活,將加到輸入/輸出端口 PPRT-A的信 號(hào)傳輸給存儲(chǔ)芯5040。激活存儲(chǔ)芯5040,根據(jù)加到輸入/輸出端口 PPRT-A的讀指令RD實(shí)施讀操作。在完成讀操作,控制電路5044a 響應(yīng)復(fù)位信號(hào)RESETA的激活使啟動(dòng)信號(hào)ENA和忙碌信號(hào)/BSYB去 激活(圖119- (e))。
下面,關(guān)于其操作進(jìn)一步描述上述多端口存儲(chǔ)器M。圖120表示當(dāng)加到輸入/輸出PORT-A和PORT-B的行地址信號(hào) RA相互匹配時(shí)實(shí)施的操作。在這個(gè)例子中,時(shí)鐘信號(hào)CLKA和CLKB 具有相同的周期,時(shí)鐘信號(hào)CLKA的相位稍微超前時(shí)鐘信號(hào)CLKB 的相位。通過各模寄存器5012a和5012b將輸入/輸出端口 PORT-A 和PORT-B的脈沖串長度兩者都設(shè)置得等于4。這里,脈沖串長度是 當(dāng)寫或讀操作時(shí)輸出和輸入的數(shù)據(jù)項(xiàng)的數(shù)目。
與時(shí)鐘信號(hào)CLKA的前沿同步地,輸入/輸出端口 PORT-A接收 有效指令A(yù)CT(指令信號(hào)CMDA )和行地址信號(hào)RA(地址信號(hào)ADDA )
(圖120- (a))。在輸入/輸出端口 PORT-A接收信號(hào)后立即與時(shí)鐘 信號(hào)CLKB的前沿同步地,輸入/輸出端口 PORT-B接收有效指令A(yù)CT
(指令信號(hào)CMDB )和行地址信號(hào)RA (地址信號(hào)ADDB )(圖120-
(b ))。這里,指令信號(hào)CMDA和CDMB與地址信號(hào)ADDA和ADDB 在時(shí)鐘信號(hào)CLKA和CLKB的各前沿前的一個(gè)預(yù)先設(shè)置時(shí)間ts(即按 照定時(shí)說明)設(shè)置它們的信號(hào)電平。
因?yàn)榧拥蕉丝?PORT-B的行地址信號(hào)RA與加到端口 PORT-A的 行地址信號(hào)RA相同,所以一個(gè)接著一個(gè)地產(chǎn)生首先到達(dá)信號(hào)/FSTA 和/FSTB如圖115所示。判優(yōu)控制電路5044如結(jié)合圖119所描述的響 應(yīng)首先到達(dá)信號(hào)/FSTA和/FSTB激活啟動(dòng)信號(hào)ENA和忙碌信號(hào)/BSYB
(圖120- (c)和(d))。在這個(gè)方式中,通過用當(dāng)設(shè)置時(shí)間ts時(shí)提 供的行地址信號(hào)RA和通過利用具有較早相位的時(shí)鐘信號(hào)(在本例中 為clka)的前沿,確定兩個(gè)地址信號(hào)中首先到達(dá)的一個(gè)。此后,與 行地址信號(hào)RA對(duì)應(yīng)的存儲(chǔ)芯5040響應(yīng)啟動(dòng)信號(hào)ENA的激活進(jìn)行操 作(圖120- (e))。
響應(yīng)忙碌信號(hào)/BSYB,控制器如與輸入/輸出端口 PORT-B連接的 CPU認(rèn)定加到多端口存儲(chǔ)器M的有效指令A(yù)CT是無效的。
輸入/輸出端口 PORT-A與時(shí)鐘信號(hào)CLKA的下一個(gè)前沿同步地, 接收讀指令rd (即指令信號(hào)cmda)和列地址信號(hào)ca (地址信號(hào) ADDA)(圖120- ( f))。輸入/輸出端口 PORT-B與時(shí)鐘信號(hào)CLKB 的前沿同步地接收讀指令RD (指令信號(hào)CMDB)和列地址信號(hào)CA(地址信號(hào)ADDB )(圖120- ( g ))。與各時(shí)鐘信號(hào)CLKA和CLKB (根據(jù)定時(shí)說明)的下一個(gè)前沿同步地,在有效指令A(yù)CT后提供讀指 令RD (或?qū)懼噶頦R)。與忙碌信號(hào)/BUSY有關(guān),輸入/輸出端口 PORT-B連接的控制器可以不提供讀指令RD和列地址信號(hào)CA。
存儲(chǔ)塊MB連續(xù)地輸出數(shù)據(jù)作為數(shù)據(jù)信號(hào)DQA (Q0-Q3)(圖 120- (h))如它們是從與加到輸入/輸出端口 PORT-A的列地址信號(hào) CA對(duì)應(yīng)的存儲(chǔ)單元讀出的那樣。在接收讀指令RD后的2個(gè)時(shí)鐘脈沖, 輸出數(shù)據(jù)信號(hào)DQA。在輸出與脈沖串長度(=4) 一樣多的數(shù)據(jù)信號(hào) DQA后,存儲(chǔ)芯5040實(shí)施預(yù)充電操作(圖120- (i)),從而完成一 個(gè)存儲(chǔ)周期。響應(yīng)讀操作的完成使啟動(dòng)信號(hào)ENA去激活(圖120-(j))。
來的位線充電到預(yù)定電位:使與行地址操作有關(guān)的電路去激活。在每
個(gè)存儲(chǔ)操作中自動(dòng)地實(shí)施預(yù)充電操作。根據(jù)存儲(chǔ)在對(duì)應(yīng)的模寄存器中 的輸入/輸出端口 PORT-A的脈沖串長度或輸入/輸出端口 PORT-B的 脈沖串長度中較長的一個(gè)確定預(yù)充電操作的定時(shí)。在這個(gè)實(shí)施例中, 如果脈沖串長度為4,則存儲(chǔ)周期(即單個(gè)讀或?qū)懖僮餍枰臅r(shí)間周 期)被固定在4個(gè)時(shí)鐘周期。即,總是在接收到有效指令后的預(yù)定時(shí) 間完成讀操作和寫操作。
與用于輸出數(shù)據(jù)Q1的時(shí)鐘信號(hào)CLKA同步地,將下一個(gè)有效指 令A(yù)CT加到輸入/輸出端口 PORT-A (圖120- (k))。因?yàn)樵谶@個(gè)特 定的瞬間不將指令信號(hào)CMDB加到輸入/輸出端口 PORT-B,所以用 圖113所示的地址比較電路5042比較行地址信號(hào)RA,產(chǎn)生指示不匹 配的結(jié)果。因此,不激活忙碌信號(hào)/BSYA和/BSYB,只激活啟動(dòng)信號(hào) ENA(圖120-(1))。將首先到達(dá)信號(hào)/FSTA和/FSTB保存在高電平, 如圖116所示。
存儲(chǔ)芯5040根據(jù)加到輸入/輸出端口 PORT-A的行地址信號(hào)RA 進(jìn)行操作,如前面描述的那樣(圖120- (m))。存儲(chǔ)塊MB根據(jù)與 下面的時(shí)鐘信號(hào)CLKA同步地提供的讀指令RD和列地址信號(hào)CA — 個(gè)接著一個(gè)地輸出數(shù)據(jù)信號(hào)DQA (Q0-Q3)(圖120- (n))。在與輸入/輸出端口 PORT-A對(duì)應(yīng)的存儲(chǔ)芯5040的操作完成后, 將有效指令A(yù)CT和讀指令RD連續(xù)地加到輸入/輸出端口 PORT-B(圖 120- (o))。因?yàn)樵谶@個(gè)特定的瞬間不將指令信號(hào)CMDA加到輸入/ 輸出端口 PORT-A,所以存儲(chǔ)芯5040對(duì)于輸入/輸出端口 PORT-B進(jìn) 行操作,從而輸出數(shù)據(jù)信號(hào)DQB (圖120- (p))。
雖然在圖中未畫出,但是響應(yīng)與時(shí)鐘信號(hào)的前沿同步地提供的行 地址信號(hào)RA和刷新指令實(shí)施恢復(fù)在存儲(chǔ)單元的電容器中電荷的刷新 操作,其中行地址信號(hào)RA確定存儲(chǔ)芯5040要被刷新?;蛘咄ㄟ^輸入 /輸出端口 PORT-A或者通過輸入/輸出端口 PORT-B能夠要求刷新操 作。在這個(gè)方式中,由一個(gè)存儲(chǔ)芯5040的裝置根據(jù)從器件外部提供的 地址信號(hào)實(shí)施刷新操作。
圖121表示當(dāng)時(shí)鐘信號(hào)CLKA和CLKB相同,時(shí)鐘信號(hào)CLKA 的相位超前時(shí)鐘信號(hào)CLKB的相位多于半個(gè)周期時(shí)實(shí)施的操作。加到 多端口存儲(chǔ)器M的指令信號(hào)CMDA和CMDB與地址信號(hào)ADDA和 ADDB與圖120情形中的相同。
在這個(gè)例子中,當(dāng)將有效指令A(yù)CT和行地址信號(hào)RA加到輸入/ 輸出端口 PORT-A時(shí)(圖121- ( a )),還沒有將指令信號(hào)CMDB與 地址信號(hào)ADDB加到輸入/輸出端口 PORT-B。因此,激活啟動(dòng)信號(hào) /ENA (圖121- (b)),存儲(chǔ)芯5040對(duì)于輸入/輸出端口 PORT-A進(jìn) 行操作(圖121-(c))。此后,將有效指令A(yù)CT和與輸入/輸出端口 PORT-A相同的行地址信號(hào)RA加到輸入/輸出端口 PORT-B(圖121-(d))。
圖118所示的控制電路5044b根據(jù)首先到達(dá)信號(hào)/FSTA的激活和 啟動(dòng)信號(hào)/ENA的激活,激活忙碌信號(hào)/BSYB (圖121- (e))。響應(yīng) 忙碌信號(hào)/BSYB,與輸入/輸出端口 PORT-B連接的控制器如CPU認(rèn) 定加到多端口存儲(chǔ)器M的有效指令A(yù)CT是無效的。以后的操作與上 述圖120的相同。
圖122表示當(dāng)幾乎同時(shí)加到輸入/輸出端口 PORT-A和PORT-B 的行地址信號(hào)RA相互不同時(shí)的操作。時(shí)鐘信號(hào)CKLA和CLKB具有相同的時(shí)鐘周期,時(shí)鐘信號(hào)CLKA的相位稍微超前時(shí)鐘信號(hào)CLKB 的相位。通過模寄存器5012對(duì)于輸入/輸出端口 PORT-A和端口 PORT-B兩者都將脈沖串長度設(shè)置得等于4。
當(dāng)行地址信號(hào)RA不同時(shí),不同的存儲(chǔ)芯5040進(jìn)行操作。于是圖 114所示的比較器5042b使首先到達(dá)信號(hào)/FSTA和/FSTB兩者去激活。 即,不進(jìn)行地址判優(yōu)。判優(yōu)控制電路5044對(duì)應(yīng)首先到達(dá)信號(hào)/FSTA和 /FSTB的去激活狀態(tài)和有效指令信號(hào)ACTA和ACTB的激活,使啟動(dòng) 信號(hào)/ENA和/ENB激活(圖121- U)和(b))。結(jié)果,相關(guān)的存儲(chǔ) 芯5040響應(yīng)加到輸入/輸出端口 PORT-A的有效指令A(yù)CT和行地址 信號(hào)RA進(jìn)行操作(圖121- ( c)),另一個(gè)存儲(chǔ)芯5040響應(yīng)加到輸 入/輸出端口 PORT-B的有效指令A(yù)CT和行地址信號(hào)RA進(jìn)行操作(圖 121- (d))。即,輸入/輸出端口 PORT羅BA和PORT-B相互獨(dú)立地 進(jìn)行操作。因?yàn)樾械刂沸盘?hào)RA相互不同,既不激活忙碌信號(hào)/BSYA 也不激活忙碌信號(hào)/BSYB 。
在上述的實(shí)施例中,當(dāng)輸入/輸出端口 PORT-A和PORT-B接收 兩個(gè)指示同一個(gè)存儲(chǔ)芯5040分別與時(shí)鐘信號(hào)CLKA和CLKB同步的 行地址信號(hào)RA時(shí),存儲(chǔ)芯5040對(duì)于在兩個(gè)行地址信號(hào)RA中首先到 達(dá)的一個(gè)進(jìn)行操作。即,這樣我們就能夠制成時(shí)鐘同步型的多端口存 儲(chǔ)器M。
判優(yōu)電路5034通過比較行地址信號(hào)RA滿足對(duì)它預(yù)期的所有要 求,于是能夠通過簡單的配置制成。因此,能夠使多端口存儲(chǔ)器M的 芯片尺寸減小。
因?yàn)檩斎?輸出端口 PORT-A和PORT-B具有各自的時(shí)鐘端子 CLKA和CLKB,所以能夠分別地對(duì)輸入/輸出端口 PORT-A和 PORT-B中的每一個(gè)設(shè)置時(shí)鐘信號(hào)CLKA和CLKB的頻率。即,操 作在不同操作頻率上的多個(gè)控制器能夠與多端口存儲(chǔ)器M連接。
進(jìn)一步,用設(shè)置在時(shí)鐘信號(hào)CLKA和CLKB的相關(guān)前沿前的行 地址信號(hào)RA決定兩個(gè)地址中首先到達(dá)的一個(gè)。即,利用地址信號(hào)的 設(shè)置時(shí)間識(shí)別首先到達(dá)的一個(gè)。因此,在存儲(chǔ)芯5040開始它的操作前能夠識(shí)別將給予優(yōu)先權(quán)的輸入/輸出端口,從而實(shí)現(xiàn)高速存儲(chǔ)操作。進(jìn)
一步,因?yàn)楦鶕?jù)具有較前相位的時(shí)鐘信號(hào)CLKA (或CLKB)的前沿 確定首先到達(dá)的一個(gè),所以能夠進(jìn)一步提高存儲(chǔ)操作速度。
在判優(yōu)電路5034中,地址比較電路5042比較行地址信號(hào)RA, 判優(yōu)控制電路5044與用于取得有效指令A(yù)CT的時(shí)鐘信號(hào)CLKA和 CLKB同步地檢查地址匹配。因?yàn)榭偸窃陬A(yù)定定時(shí)(即在定時(shí)信號(hào)的 邊沿)相互比較行地址信號(hào)RA,所以可以防止由與存儲(chǔ)操作無關(guān)的 地址信號(hào)引起的存儲(chǔ)芯5040的不正常操作。
圖123表示多端口存儲(chǔ)器的第2實(shí)施例和根據(jù)本發(fā)明(第5方面) 控制多端口存儲(chǔ)器的方法。用相同的數(shù)字標(biāo)記與第1實(shí)施例相同的部 件,并省略對(duì)它們的詳細(xì)描述。
在這個(gè)實(shí)施例中,以笫1實(shí)施例的四分之一大小形成存儲(chǔ)塊MB (在圖中用粗線框表示)。即,同時(shí)被激活的讀出放大器的數(shù)目是第 1實(shí)施例的四分之一。除了存儲(chǔ)塊MB的大小外,配置與第1實(shí)施例 相同。因?yàn)閳D123的多端口存儲(chǔ)器M具有較少的同時(shí)被驅(qū)動(dòng)的讀出放 大器,所以在存儲(chǔ)操作時(shí)的功率消耗減少了。
這個(gè)實(shí)施例能夠產(chǎn)生與上述第1實(shí)施例相同的優(yōu)點(diǎn)。此外,在本 實(shí)施例中能夠降低功率消耗。
圖124表示多端口存儲(chǔ)器的第3實(shí)施例和根據(jù)本發(fā)明(第5方面) 控制多端口存儲(chǔ)器的方法。用相同的數(shù)字標(biāo)記與第1實(shí)施例相同的部 件,并省略對(duì)它們的詳細(xì)描述。
在這個(gè)實(shí)施例中,在每個(gè)存儲(chǔ)塊MB中提供數(shù)據(jù)寄存器(緩沖器) 5046a和5046b,它們暫時(shí)存儲(chǔ)在數(shù)據(jù)鎖存器5028和存儲(chǔ)芯5040之間 的各數(shù)據(jù)信號(hào)DQA和DQB。數(shù)據(jù)寄存器5046a和5046b與輸入/輸出 端口 PORT-A和PORT-B中的任何一個(gè)結(jié)合起來進(jìn)行操作。而且,判 優(yōu)電路5034的判優(yōu)控制電路5048不同于第1實(shí)施例的判優(yōu)控制電路 5044。判優(yōu)控制電路5048不輸出忙碌信號(hào)/BSYA和/BSYB,在I/O電 路5010中不提供忙碌緩沖器。其它配置幾乎與第1實(shí)施例相同。即, 在輸入/輸出端口 PORT-A和PORT-B中,分別通過時(shí)鐘端子,地址端子,指令端子,和數(shù)據(jù)輸入/輸出端子,傳輸時(shí)鐘信號(hào)CLKA和 CLKB,地址信號(hào)ADDA和ADDB,指令信號(hào)CMDA和CMDB,與 數(shù)據(jù)信號(hào)DQA和DQB。存儲(chǔ)塊MB包括DRAM存儲(chǔ)芯5040,并進(jìn) 一步包括圖中未畫出的控制電路,譯碼器等。存儲(chǔ)單元包括根據(jù)數(shù)據(jù) 信號(hào)值存儲(chǔ)電荷的電容器。
甚至當(dāng)輸入/輸出端口 PORT-A和PORT-B同時(shí)接收對(duì)于同一個(gè) 地址信號(hào)RA進(jìn)行存儲(chǔ)操作的要求時(shí),這個(gè)多端口存儲(chǔ)器M也能夠?qū)?輸入/輸出端口 PORT-A和PORT-B兩者實(shí)施存儲(chǔ)操作,我們將在后 面對(duì)此進(jìn)行描迷。因此,如第1實(shí)施例那樣不需要向器件外部輸出忙 碌信號(hào)/BSYA和/BSYB。
在每個(gè)輸入/輸出端口 PORT-A和PORT-B中,設(shè)置加上有效指 令A(yù)CT間隔等于存儲(chǔ)芯5040的操作周期的2倍以上(根據(jù)定時(shí)說明)。 如果在同一個(gè)輸入/輸出端口 PORT-A(或PORT-B)中有效指令A(yù)CT 間隔小于上面確定的周期,則取消所加的有效指令A(yù)CT。加到不同的 輸入/輸出端口的有效指令A(yù)CT的間隔不受限制。
如第1實(shí)施例那樣與跟隨用于接收有效指令A(yù)CT的定時(shí)的時(shí)鐘信 號(hào)的特定的定時(shí)同步地提供讀指令RD和寫指令WR。存儲(chǔ)芯5040隨 著它的操作被自動(dòng)地充電。在這個(gè)實(shí)施例中,例如,將時(shí)鐘信號(hào)CLKA 和CLKB的周期tCLK設(shè)置在10ns,將脈沖串長度BL設(shè)置在4,將 數(shù)據(jù)等待時(shí)間DL設(shè)置在4。數(shù)據(jù)等待時(shí)間DL定義從輸入讀指令RD 到輸出數(shù)據(jù)的時(shí)鐘周期的數(shù)目。在模寄存器5012a和5012b中設(shè)置脈 沖串長度BL和數(shù)據(jù)等待時(shí)間DL。
圖125表示判優(yōu)控制電路5048的詳細(xì)情況。
通過將控制電路5048a和5048b分別加到第1實(shí)施例的控制電路 5044a和5044b構(gòu)造判優(yōu)控制電路5048。與輸入/輸出端口 PORT-A 對(duì)應(yīng)的控制電路5048a從控制電路5044a接收復(fù)位信號(hào)RESETA和反 向信號(hào)RVS以及啟動(dòng)信號(hào)/ENAO和忙碌信號(hào)/BSYB,并輸出啟動(dòng)信號(hào) /ENA。與輸入/輸出端口 PORT-B對(duì)應(yīng)的控制電路5048b從控制電路 5044b接收復(fù)位信號(hào)RESETB和反向信號(hào)RVS以及啟動(dòng)信號(hào)/ENBO和忙碌信號(hào)/BSYA,并輸出啟動(dòng)信號(hào)/ENB。在與第l實(shí)施例的啟動(dòng)信 號(hào)/ENA和/ENB相同的定時(shí)產(chǎn)生啟動(dòng)信號(hào)/ENAO和/ENBO。
圖126表示當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址 信號(hào)相互匹配時(shí)實(shí)施的判優(yōu)控制電路5048的操作。在這個(gè)例子中,時(shí) 鐘信號(hào)CLKA和CLKB的周期是相同的。與時(shí)鐘信號(hào)CLKA同步地 將有效指令A(yù)CT加到輸入/輸出端口 PORT-A。此后立即與時(shí)鐘信號(hào) CLKB同步地將有效指令A(yù)CT加到輸入/輸出端口 PORT-B。與輸入/ 輸出端口 PORT-A連接的控制器要求寫操作,與輸入/輸出端口 PORT-B連接的控制器要求讀操作。
控制電路5044a和5044b的操作幾乎與上述第1實(shí)施例的(圖119) 相同??刂齐娐?044a與延遲時(shí)鐘信號(hào)DCLKA前沿同步地取得低電 平的首先到達(dá)信號(hào)/FSTA,并激活忙碌信號(hào)/BSYB (圖126- (a))。 因?yàn)榭刂齐娐?044b與延遲時(shí)鐘信號(hào)DCLKB前沿同步地取得高電平 的首先到達(dá)信號(hào)/FSTB,不激活忙碌信號(hào)/BSYA (圖126- (b))???制電路5048a響應(yīng)忙碌信號(hào)/BSYB的激活和反向信號(hào)RVS的低電平, 激活啟動(dòng)信號(hào)/ENA (圖126- (c))。控制電路5048b響應(yīng)忙碌信號(hào) /BSYA的激活和反向信號(hào)RVS的低電平,使啟動(dòng)信號(hào)/ENB去激活(圖 126- ( d))。
與時(shí)鐘信號(hào)CLKA和CLKB的下一個(gè)定時(shí)同步地,分別提供寫 指令WR和讀指令RD (圖126- ( e))。響應(yīng)寫指令WR和讀指令 RD,產(chǎn)生反向信號(hào)RVS的控制電路(圖中未畫出)激活反向信號(hào)RVS (圖126- (f))。
控制電路5048a和5048b分別響應(yīng)反向信號(hào)RVS的激活,切換啟 動(dòng)信號(hào)/ENA和/ENB的電平(圖126- (g))。然后,首先實(shí)施對(duì)于 輸入/輸出端口 PORT-B的讀操作(圖126-(h))。在完成讀操作后, 激活復(fù)位信號(hào)RESETB,并使反向信號(hào)RVS去激活(圖126- (i))。 控制電路5048a和5048b響應(yīng)反向信號(hào)RVS的去激活,使啟動(dòng)信號(hào) /ENA和/ENB的電平回復(fù)到它們各自原來的電平(圖126-(j))。然 后,響應(yīng)啟動(dòng)信號(hào)/ENA的激活實(shí)施對(duì)于輸入/輸出端口 PORT-A的讀操作(圖126- (k))。
在完成讀操作后,激活復(fù)位信號(hào)RESETA (圖126- (1)),并使 忙碌信號(hào)/BSYB去激活(圖126- (m))??刂齐娐?048a響應(yīng)忙碌 信號(hào)/BSYB的去激活,使啟動(dòng)信號(hào)/ENA去激活(圖126- (n))。在 本實(shí)施例的這個(gè)方式中,當(dāng)行地址信號(hào)RA相同時(shí)和當(dāng)?shù)趌個(gè)到達(dá)的 指令要求寫操作,接著第2個(gè)到達(dá)的指令要求讀操作時(shí),如此控制存 儲(chǔ)芯5040使它首先實(shí)施讀操作。在存儲(chǔ)器LSI,如具有多端口存儲(chǔ)器 的DRAM中,通過在接收要寫的數(shù)據(jù)后驅(qū)動(dòng)存儲(chǔ)芯執(zhí)行寫操作,和通 過首先驅(qū)動(dòng)存儲(chǔ)芯然后輸出數(shù)據(jù)實(shí)施讀操作。因此,當(dāng)在寫操作后實(shí) 施讀操作時(shí),全部操作周期通常變成等待時(shí)間。在這個(gè)實(shí)施例中,當(dāng) 寫操作和讀相互竟?fàn)帟r(shí)首先執(zhí)行讀操作,從而縮短全部操作周期和改
善傳輸數(shù)據(jù)信號(hào)的數(shù)據(jù)總線的使用效率。
下面,我們描述根據(jù)第3實(shí)施例的多端口存儲(chǔ)器M的操作。 圖127表示當(dāng)輸入/輸出端口 PORT-A和PORT-B接收有效指令 ACT和相同的行地址信號(hào)RA時(shí)實(shí)施讀操作的方法。時(shí)鐘信號(hào)CLKA 的相位稍微超前時(shí)鐘信號(hào)CLKB的相位。即,有效指令A(yù)CT到輸入/ 輸出端口 PORT-A的輸入稍微早于有效指令A(yù)CT進(jìn)入輸入/輸出端口 PORT-B。
對(duì)于輸入/輸出端口 PORT-A,響應(yīng)有效指令A(yù)CT實(shí)施讀操作 READ (圖127- (a))。將從存儲(chǔ)單元讀出的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)寄存器 5046a (或5046b)中。然后,對(duì)于輸入/輸出端口 PORT-B,響應(yīng)有效 指令A(yù)CT實(shí)施讀操作READ (圖127- ( b))。在判優(yōu)電路5034的 控制下完成讀操作READA后對(duì)于輸入/輸出端口 PORT-B實(shí)施讀操作 READB (圖127- ( c ))。將通過讀操作READB從存儲(chǔ)單元讀出的 數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)寄存器5046b (或5046a)中(圖127- (d))。在這 個(gè)方式中,甚至當(dāng)將有效指令A(yù)CT和相同的行地址信號(hào)RA基本上同 時(shí)加到輸入/輸出端口 PORT-A和PORT-B時(shí),也能夠?qū)τ谳斎?輸出 端口 PORT-A和PORT-B中的每一個(gè)連續(xù)地實(shí)施讀操作(或?qū)懖僮?。 存儲(chǔ)芯4050在完成讀操作READA和READB中的每一個(gè)后自動(dòng)地實(shí)施預(yù)充電操作,從而完成存儲(chǔ)周期。
與圖所示的笫5到第8個(gè)時(shí)鐘信號(hào)CLKA同步地輸入讀指令RD 后,連續(xù)地輸出存儲(chǔ)在與輸入/輸出端口 PORT-A對(duì)應(yīng)的寄存器5046a 中的檢索數(shù)據(jù)作為輸出數(shù)據(jù)Q1-Q3 (圖127-(e))。與圖所示的第5 到第8個(gè)時(shí)鐘信號(hào)CLKB同步地輸入讀指令RD后,連續(xù)地輸出存儲(chǔ) 在與輸入/輸出端口 PORT-B對(duì)應(yīng)的寄存器5046b中的檢索數(shù)據(jù)作為輸 出數(shù)據(jù)Ql-Q3 (圖127- (f))。
輸入/輸出端口 PORT-A和PORT-B兩者在第1有效指令A(yù)CT后 的4時(shí)鐘脈沖,接收下一個(gè)有效指令A(yù)CT ,進(jìn)一步分別實(shí)施讀操作 READA和READB (圖127- (g)和(h))。當(dāng)在每4個(gè)時(shí)鐘周期中 加上有效指令A(yù)CT—次時(shí),能夠連續(xù)地輸出檢索的數(shù)據(jù)而沒有任何間 隙(即,無間隙讀)。而且通過在每4個(gè)時(shí)鐘周期中接收有效指令A(yù)CT 一次得到隨機(jī)存取操作。
圖128表示當(dāng)將有效指令A(yù)CT和相互不同的行地址信號(hào)RA加到 輸入/輸出端口 PORT-A和PORT-B時(shí)實(shí)施讀操作的方法。
對(duì)于首先已經(jīng)接收有效指令A(yù)CT和行地址信號(hào)RA的輸入/輸出 端口 PORT-A,響應(yīng)有效指令A(yù)CT實(shí)施讀操作READA(圖128-( a ))。 將從存儲(chǔ)單元讀出的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)寄存器5046a中(圖128- ( b ))。 然后,輸入/輸出端口 PORT-B,響應(yīng)有效指令A(yù)CT實(shí)施指向另一個(gè) 與用于讀操作READA的存儲(chǔ)芯不同的存儲(chǔ)芯5040的讀操作READB (圖128^(c))。即,相互獨(dú)立地實(shí)施讀操作READA和讀操作READB。 將通過讀操作READB從存儲(chǔ)單元讀出的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)寄存器 5046b中(圖128- ( d ))。
與圖所示的第5到第8個(gè)時(shí)鐘信號(hào)CLKA同步地輸入讀指令RD 后,連續(xù)地輸出存儲(chǔ)在寄存器5046a中的檢索數(shù)據(jù)作為輸出數(shù)據(jù) Q0-Q3 (圖128- (e))。與圖所示的第5到第8個(gè)時(shí)鐘信號(hào)CLKB 同步地輸入讀指令RD后,連續(xù)地輸出存儲(chǔ)在與輸入/輸出端口 PORT-B對(duì)應(yīng)的寄存器5046b中的檢索數(shù)據(jù)作為輸出數(shù)據(jù)Q0-Q3 (圖 128- (f))。輸入/輸出端口 PORT-A和PORT-B兩者在第1有效指令A(yù)CT后 的4個(gè)時(shí)鐘脈沖,接收下一個(gè)有效指令A(yù)CT,進(jìn)一步分別實(shí)施讀操作 READA和READB (圖128- ( g)和(h ))。
圖129表示當(dāng)輸入/輸出端口 PORT-A和PORT-B接收有效指令 ACT和相同的行地址信號(hào)RA時(shí)實(shí)施寫操作的方法。
在輸入/輸出端口 PORT-A和PORT-B中,與跟隨用于接收有效 指令A(yù)CT的前沿的下面的各時(shí)鐘信號(hào)CLKA和CLKB的前沿同步地 提供寫指令WR,列地址信號(hào)CA和第1寫數(shù)據(jù)Q0和QO(圖129-( a ) 和(b))。此后,與各時(shí)鐘信號(hào)CLKA和CLKB同步地提供寫數(shù)據(jù) Ql-Q3和Q0-Q3 (圖129- ( c )和(d ))。將寫數(shù)據(jù)Q0-Q3和Q0-Q3 分別存儲(chǔ)在各數(shù)據(jù)寄存器5046a和5046b中(圖129- ( e )和(f))。 對(duì)于首先接收有效指令A(yù)CT和行地址信號(hào)RA的輸入/輸出端口 PORT-A,與取得寫數(shù)據(jù)Q3的時(shí)鐘信號(hào)CLKA的特定的定時(shí)同步地 實(shí)施寫操作WRITEA (圖129- (g))。在完成寫操作WRITEA后實(shí) 施與輸入/輸出端口 PORT-B對(duì)應(yīng)的寫操作WRITEB(圖129-( h ))。 通過寫操作WRITEA和WRITEB,將存儲(chǔ)在各數(shù)據(jù)寄存器5046a和 5046b中的寫數(shù)據(jù)Q0-Q3和Q0-Q3寫入與列地址信號(hào)CA對(duì)應(yīng)的存儲(chǔ) 單元,從而完成寫操作。
在寫操作中,在每4個(gè)時(shí)鐘周期中提供一組寫數(shù)據(jù)一次,使得寫 數(shù)據(jù)能夠連續(xù)地進(jìn)入而沒有任何間隙(即,無間隙寫)。
圖130表示對(duì)于輸入/輸出端口 PORT-A連續(xù)地實(shí)施寫操作和讀操 作,和對(duì)于輸入/輸出端口 PORT-B相繼地實(shí)施指向與輸入/輸出端口 PORT-A的寫操作的行地址信號(hào)RA相同的行地址信號(hào)RA的寫操作, 和指向與輸入/輸出端口 PORT-A的讀操作的行地址信號(hào)RA相同的行 地址信號(hào)RA的寫操作的情形。第1寫操作的定時(shí)與圖127相同,并 省略對(duì)它的說明。
在輸入/輸出端口 PORT-B,在與圖127相同的定時(shí)提供與第2寫 操作對(duì)應(yīng)的有效指令A(yù)CT (圖130- (a))。因?yàn)椴粚⒅噶钚盘?hào)加到 輸入/輸出端口 PORT-A,所以在取得寫數(shù)據(jù)Q0-Q3后立即實(shí)施寫操作WRITEB (圖130- ( b ))。
在輸入/輸出端口 PORT-A,與圖所示的第7個(gè)時(shí)鐘信號(hào)CLKA 同步地提供下一個(gè)有效指令A(yù)CT (圖130- (c))。雖然在圖中未畫 出,但是在這個(gè)特定的瞬間激活對(duì)于輸入/輸出端口 PORT-B的啟動(dòng)信 號(hào)/ENB。結(jié)果,在完成寫操作WRITEB后實(shí)施讀操作READA (圖 130- (d))。因?yàn)槎喽丝诖鎯?chǔ)器M以接收各指令的次序執(zhí)行寫操作 WRITEB和讀操作READA,所以在完成寫操作前被讀的存儲(chǔ)單元的 數(shù)據(jù)不變。
此外,因?yàn)檩斎?輸出端口 PORT-A能夠輸出存儲(chǔ)在與輸入/輸出 端口 PORT-B對(duì)應(yīng)的數(shù)據(jù)寄存器5046b中數(shù)據(jù)作為檢索數(shù)據(jù),所以可 以在輸入/輸出端口 PORT-B的寫操作WRITEB前實(shí)施輸入/輸出端口 PORT-A的讀操作READA。
圖131表示對(duì)于輸入/輸出端口 PORT-A連續(xù)地實(shí)施寫操作和讀操 作,和對(duì)于輸入/輸出端口 PORT-B相繼地實(shí)施指向與輸入/輸出端口 PORT-A的寫操作的行地址信號(hào)RA相同的行地址信號(hào)RA的讀操作 和指向與輸入/輸出端口 PORT-A的讀操作的行地址信號(hào)RA相同的行 地址信號(hào)RA的寫操作的情形。對(duì)于輸入/輸出端口 PORT-A的第l寫 操作的定時(shí)和對(duì)于輸入/輸出端口 PORT-B的第l讀操作的定時(shí)分別與 圖129的寫操作和圖128的讀操作相同。
在輸入/輸出端口 PORT-A,與圖所示的第7和第8時(shí)鐘信號(hào) CLKA同步地提供有效指令A(yù)CT和讀指令(圖131- ( a ))。因?yàn)樵?這個(gè)特定的瞬間不將有效指令A(yù)CT加到輸入/輸出端口 PORT-B,所 以實(shí)施對(duì)于輸入/輸出端口 PORT-A的讀操作READA(圖131-(b))。
下面,在輸入/輸出端口 PORT-B,與圖所示的第8和第9時(shí)鐘信 號(hào)CLKB同步地提供有效指令A(yù)CT和寫指令WR (圖131- ( c ))。 在接收數(shù)據(jù)Q0-Q3后,實(shí)施對(duì)于輸入/輸出端口 PORT-B的寫操作(圖 中未畫出)。
圖132表示在時(shí)鐘信號(hào)CLKA和CLKB具有不同的時(shí)鐘周期的 情形中當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址信號(hào)相互匹配時(shí)實(shí)施的操作。在這個(gè)例子中,時(shí)鐘信號(hào)CLKB的周期長度等于 時(shí)鐘信號(hào)CLKA的周期長度的兩倍。
在輸入/輸出端口 PORT-A,當(dāng)在每4個(gè)時(shí)鐘周期中加上一組有效 指令A(yù)CT和讀指令RD—次,以與圖127相同的方式實(shí)施讀操作。在 輸入/輸出端口 PORT-B,也當(dāng)在每4個(gè)時(shí)鐘周期中加上一組有效指令 ACT和讀指令RD —次。向輸入/輸出端口 PORT-B輸入第1有效指 令A(yù)CT的時(shí)間比向輸入/輸出端口 PORT-A輸入第1有效指令A(yù)CT 的時(shí)間晚一些(圖132- (a))。因此,與圖127的情形相同在讀操 作READA后實(shí)施讀操作READB (圖132- (b))。在兩個(gè)讀操作 READA之間執(zhí)行與輸入/輸出端口 PORT-B的跟隨的有效指令A(yù)CT 對(duì)應(yīng)的下一個(gè)讀操作READB (圖132- (c))。
本實(shí)施例能夠提供與上述的第1實(shí)施例相同的優(yōu)點(diǎn)。此外,在每 個(gè)輸入/輸出端口 PORT-A和PORT-B中,本實(shí)施例用等于存儲(chǔ)芯5040 的操作周期的2倍以上的有效指令A(yù)CT的間隔(按照定時(shí)說明)。因 此,甚至當(dāng)加到輸入/輸出端口 PORT-A和PORT-B的行地址信號(hào)RA 相同,也肯定能夠?qū)τ诿總€(gè)端口實(shí)施讀操作和寫操作。因此,控制多 端口存儲(chǔ)器M的控制器不需要檢測(cè)多端口存儲(chǔ)器M的忙碌狀態(tài)。這 樣就簡化了控制器的控制(藉助硬件和軟件)。
圖133表示多端口存儲(chǔ)器的第4實(shí)施例和根據(jù)本發(fā)明(第5方面) 控制多端口存儲(chǔ)器的方法。用相同的數(shù)字標(biāo)記與第l和第3實(shí)施例相 同的部件,并省略對(duì)它們的詳細(xì)描述。
在這個(gè)實(shí)施例中,提供頁面緩沖器5050a和5050b代替上述第3 實(shí)施例的數(shù)據(jù)寄存器5046a和5046b。頁面緩沖器5050a和5050b與 輸入/輸出端口 PORT-A和PORT-B中的至少一個(gè)結(jié)合起來進(jìn)行操作。 其它配置幾乎與第3實(shí)施例完全相同。
每個(gè)頁面緩沖器5050a和5050b都包括鎖存器,其中存儲(chǔ)在存儲(chǔ) 芯5040中的所有存儲(chǔ)單元的數(shù)據(jù)。在開始讀操作和寫操作時(shí),將存儲(chǔ) 在選出的存儲(chǔ)芯5040的存儲(chǔ)單元中的數(shù)據(jù)讀出到頁面緩沖器5050a (或5050b)。在讀操作中,響應(yīng)列地址信號(hào)CA輸出鎖存在頁面緩沖器5050a中的數(shù)據(jù)作為數(shù)據(jù)信號(hào)。在寫操作中,首先根據(jù)列地址信 號(hào)CA將數(shù)據(jù)信號(hào)寫入頁面緩沖器5050a。此后,在完成寫操作時(shí)將 頁面緩沖器5050a的數(shù)據(jù)寫入存儲(chǔ)單元。
下面,我們描述第4實(shí)施例多端口存儲(chǔ)器M的操作。
圖134表示當(dāng)輸入/輸出端口 PORT-A和PORT-B接收有效指令 ACT和相同的行地址信號(hào)RA時(shí)實(shí)施讀操作的方法。時(shí)鐘信號(hào)CLKA 的相位稍微超前時(shí)鐘信號(hào)CLKB的相位。即,輸入到輸入/輸出 PORT-A的有效指令A(yù)CT比輸入到輸入/輸出PORT-B的有效指令 ACT稍微早一些。
在輸入/輸出端口 PORT-A,響應(yīng)有效指令A(yù)CT實(shí)施讀操作 READA (圖134- (a))。從由讀操作READA選出的存儲(chǔ)芯5040 的所有存儲(chǔ)單元讀出數(shù)據(jù),并將檢索數(shù)據(jù)存儲(chǔ)在頁面緩沖器5050a (或 5050b )中的一個(gè)(圖134-( b ))。另 一方面,在輸入/輸出端口 PORT-B, 行地址信號(hào)RA與加到輸入/輸出端口 PORT-A的相同,所以不實(shí)施與 有效指令A(yù)CT相應(yīng)的讀操作。
在輸入/輸出端口 PORT-A,與如圖所示的第1和第5時(shí)鐘信號(hào) CLKA同步地加上讀指令RD (圖134- (c)和(d))。在接收各讀 指令RD后與第5到第12時(shí)鐘信號(hào)CLKA同步地連續(xù)輸出存儲(chǔ)在頁 面緩沖器5050a中的數(shù)據(jù)作為輸出數(shù)據(jù)Q0-Q7 (圖134- (e))。即, 實(shí)施頁面讀操作。
由于同樣的原因,在輸入/輸出端口 PORT-B,與如圖所示的第1 和第5時(shí)鐘信號(hào)CLKB同步地加上讀指令RD (圖134- ( f)和(g))。 在接收各讀指令RD后與第5到第12時(shí)鐘信號(hào)CLKB同步地連續(xù)輸 出存儲(chǔ)在頁面緩沖器5050a中的數(shù)據(jù)作為輸出數(shù)據(jù)Q0-Q7 (圖134-(h))。在這個(gè)方式中,如果行地址信號(hào)RA是相同的,則輸入/輸 出端口 PORT-A和PORT-B共用一個(gè)頁面緩沖器5050a (或5050b )。
輸入/輸出端口 PORT-A和PORT-B兩者都在第1有效指令A(yù)CT 后的8個(gè)時(shí)鐘周期,接收下一個(gè)有效指令A(yù)CT(圖134-(i)和(j))。 因?yàn)樾械刂沸盘?hào)RA是相同的,所以只實(shí)施讀操作READA (圖134-(k))。不實(shí)施對(duì)于輸入/輸出端口 PORT-B的讀操作READB。通 過在每4個(gè)時(shí)鐘周期中加上讀指令RD —次能夠連續(xù)地輸出讀數(shù)據(jù)而 沒有任何間隙(即,無間隙讀)。
圖135表示當(dāng)將有效指令A(yù)CT和不同的行地址信號(hào)RA加到輸入 /輸出端口 PORT-A和PORT-B時(shí)實(shí)施讀操作的方法。與輸入/輸出端 口 PORT-A對(duì)應(yīng)的讀操作的定時(shí)和圖134相同。
在首先接收有效指令A(yù)CT和行地址信號(hào)RA的輸入/輸出端口 PORT-A,響應(yīng)有效指令A(yù)CT實(shí)施讀操作READA (圖135- (a))。 將從存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出的數(shù)據(jù)存儲(chǔ)在頁面緩沖器5050a 中(圖135- (b))。在輸入/輸出端口 PORT-B,響應(yīng)有效指令A(yù)CT 對(duì)于與讀操作READA的不同的存儲(chǔ)芯5040實(shí)施讀操作READB (圖 135- (c))。即,將由讀操作READB從存儲(chǔ)芯5040的所有存儲(chǔ)單 元讀出的數(shù)據(jù)存儲(chǔ)在頁面緩沖器5050b中(圖135- (d))。此后, 以與結(jié)合圖134描述的相同方式實(shí)施讀操作。在這個(gè)方式中,當(dāng)行地 址信號(hào)RA相互不同時(shí),獨(dú)立的實(shí)施讀操作RE ADA和讀操作READB , 分別將檢索數(shù)據(jù)存儲(chǔ)在各頁面緩沖器5050a和5050b中。
圖136表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/ 輸出端口 PORT-A和PORT-B,并實(shí)施寫操作,接著加上有效指令 ACT和不同的行地址信號(hào)RA,導(dǎo)致實(shí)施寫操作的情形。
在輸入/輸出端口 PORT-A和PORT-B,與時(shí)鐘信號(hào)CLKA和 CLKB的各前沿同步地加上有效指令A(yù)CT和相同的行地址信號(hào)RA。 圖133所示的判優(yōu)電路5034認(rèn)定輸入/輸出端口 PORT-A首先接收有 效指令A(yù)CT,并實(shí)施讀操作READA (圖136- (a)),以便將數(shù)據(jù) 從存儲(chǔ)單元傳輸?shù)巾撁婢彌_器5050a (或5050b)。
從由讀操作READA選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù) 據(jù),并存儲(chǔ)在頁面緩沖器5050a (或5050b)中(圖136- (b))。另 一方面,在輸入/輸出端口 PORT-B,因?yàn)樾械刂沸盘?hào)RA與加到輸入 /輸出端口 PORT-A的相同,所以響應(yīng)有效指令A(yù)CT不實(shí)施讀操作。
此后,在輸入/輸出端口 PORT-A,與如圖所示的第l和第5時(shí)鐘信號(hào)CLKA同步地加上寫指令WD和列地址信號(hào)CA (圖136- ( c) 和(d))。將與鐘信號(hào)CLKA同步地連續(xù)加上的寫數(shù)據(jù)Q0-Q7寫入 頁面緩沖器5050a中(圖134- (e))。即,實(shí)施頁面寫操作。
在輸入/輸出端口 PORT-B,與如圖所示的第1和第5時(shí)鐘信號(hào) CLKB同步地加上寫指令WR和列地址信號(hào)CA(圖136-(f)和(g))。 將與時(shí)鐘信號(hào)CLKB同步地一個(gè)接一個(gè)地加上的寫數(shù)據(jù)Q0-Q7寫入 共用的列頁面緩沖器5050a中(圖134- (h))。在這個(gè)方式中,如 果行地址信號(hào)RA相同,則在寫操作中輸入/輸出端口 PORT-A和 PORT-B共用同一個(gè)頁面緩沖器5050a (或5050b)。
在首先接收有效指令A(yù)CT的輸入/輸出端口 PORT-A,與取得寫 數(shù)據(jù)Q7的時(shí)鐘信號(hào)CLKA的特定定時(shí)同步地實(shí)施寫操作WRITEA (圖136- (i))。在完成寫操作WRITEA后實(shí)施與輸入/輸出端口 PORT-B對(duì)應(yīng)的寫操作WRITEB (圖136- (j))。
此后,在輸入/輸出端口 PORT-A和PORT-B,與時(shí)鐘信號(hào)CLKA 和CLKB的各前沿同步地加上有效指令A(yù)CT和相互不同的行地址信 號(hào)RA。圖133所示的判優(yōu)電路5034認(rèn)定首先將有效指令A(yù)CT加到 輸入/輸出端口 PORT-A,并一個(gè)接著一個(gè)地實(shí)施讀操作READA和 READB (圖136- ( k)和(1))。
從由讀操作READA選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù) 據(jù),并存儲(chǔ)在頁面緩沖器5050a (或5050b)中(圖136- (m))。進(jìn) 一步,從由讀操作READB選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù) 據(jù),并存儲(chǔ)在另一個(gè)頁面緩沖器5050b (或5050a )中(圖136-(n))。
在輸入/輸出端口 PORT-A,與如圖所示的第13和第17時(shí)鐘信號(hào) CLKA同步地加上讀指令RD和列地址信號(hào)CA(圖136-( o )和(p ))。 將與鐘信號(hào)CLKA同步地一個(gè)接著一個(gè)加上的寫數(shù)據(jù)Q0-Q7存儲(chǔ)在 頁面緩沖器5050a中(圖136- (q))。
類似地,在輸入/輸出端口 PORT-B,與如圖所示的第13和第17 時(shí)鐘信號(hào)CLKB同步地加上寫指令WR和列地址信號(hào)CA(圖136-( r) 和(s ))。將與鐘信號(hào)CLKB同步地一個(gè)接著一個(gè)加上的寫數(shù)據(jù)Q0-Q7寫入頁面緩沖器5050b中(圖136-(t))。在這個(gè)方式中,當(dāng)行地址 信號(hào)RA不同時(shí)用頁面緩沖器5050a和5050b。
在首先接收有效指令A(yù)CT和行地址信號(hào)RA的輸入/輸出端口 PORT-A,與取得寫數(shù)據(jù)Q7的時(shí)鐘信號(hào)CLKA的特定定時(shí)同步地實(shí) 施寫操作WRITEA (圖136- (u))。在完成寫操作WRITEA后實(shí)施 與輸入/輸出端口 PORT-B對(duì)應(yīng)的寫操作WRITEB (圖136- (v))。 通過寫操作WRITEA和WRITEB,分別將存儲(chǔ)器在頁面緩沖器5050a 和5050b中的寫數(shù)據(jù)Q0-Q7寫入與列地址信號(hào)CA對(duì)應(yīng)的存儲(chǔ)單元, 從而完成寫操作。
圖137表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/ 輸出端口 PORT-A和PORT-B,實(shí)施寫操作,接著加上有效指令A(yù)CT 和相同的行地址信號(hào)RA,導(dǎo)致在輸入/輸出端口 PORT-A實(shí)施讀操作 和在輸入/輸出端口 PORT-B實(shí)施寫操作的情形。第l寫操作的定時(shí)與 圖137相同,我們將省略對(duì)它的描述。
在輸入/輸出端口 PORT-A和PORT-B,與圖所示的第12時(shí)鐘信 號(hào)CLKA和CLKB的各前沿同步地提供有效指令A(yù)CT和相同的行地 址信號(hào)RA (圖137- (a)和(b))。圖133所示的判優(yōu)電路5034認(rèn) 定首先將有效指令A(yù)CT加到輸入/輸出端口 PORT-A,并實(shí)施讀操作 READA (圖137- (c))。從由讀操作READA選出的存儲(chǔ)芯5040 的所有存儲(chǔ)單元讀出數(shù)據(jù),并存儲(chǔ)在頁面緩沖器5050a (或5050b)中 (圖137- (d))。在輸入/輸出端口 PORT-B,因?yàn)樾械刂沸盘?hào)RA 與加到輸入/輸出端口 PORT-A的信號(hào)相同,所以不實(shí)施與有效指令 ACT對(duì)應(yīng)的寫操作。
此后,在輸入/輸出端口 PORT-A,與如圖所示的第13和第17時(shí) 鐘信號(hào)CLKA同步地加上讀指令RD (圖137- (e)和(f))。在接 收各讀指令RD后與如圖所示的第17到第24時(shí)鐘信號(hào)CLKA同步地 連續(xù)輸出存儲(chǔ)在頁面緩沖器5050a中的數(shù)據(jù)(圖137- (g))。
在輸入/輸出端口 PORT-B,與如圖所示的第13和第17時(shí)鐘信號(hào) CLKB同步地加上寫指令WR (圖137- (h)和(i))。將與鐘信號(hào)CLKB同步地連續(xù)加上的寫數(shù)據(jù)Q0-Q7存儲(chǔ)在共用的頁面緩沖器 5050a中(圖137- (j))。
此后,在輸入/輸出端口 PORT-B,與取得寫數(shù)據(jù)Q7的時(shí)鐘信號(hào) CLKB的特定定時(shí)同步地實(shí)施寫操作WRITEB (圖137- (k))。
圖138表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/ 輸出端口 PORT-A和PORT-B,實(shí)施寫操作和讀操作,接著加上有效 指令A(yù)CT和不同的行地址信號(hào)RA,導(dǎo)致實(shí)施寫操作和讀操作的情形。
在輸入/輸出端口 PORT-A和PORT-B,與時(shí)鐘信號(hào)CLKA和 CLKB的前沿同步地提供有效指令A(yù)CT和相同的行地址信號(hào)RA (圖 138- (a)和(b))。判優(yōu)電路5034確定首先將有效指令A(yù)CT加到 輸入/輸出端口 PORT-A,并實(shí)施讀操作READA (圖138- (c))。從 由讀操作READA選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù)據(jù),并將 讀出數(shù)據(jù)存儲(chǔ)在頁面緩沖器5050a (或5050b)中(圖137- (d))。 另一方面,在輸入/輸出端口 PORT-B,行地址信號(hào)RA與加到輸入/ 輸出端口 PORT-A的那些相同,所以不實(shí)施與有效指令A(yù)CT對(duì)應(yīng)的 讀操作。
此后,在輸入/輸出端口 PORT-A,與第1和第5時(shí)鐘信號(hào)CLKA 同步地加上寫指令WR (圖138- ( e )和(f))。將與時(shí)鐘信號(hào)CLKA 同步地連續(xù)加上的寫數(shù)據(jù)Q0-Q7存儲(chǔ)在頁面緩沖器5050a中(圖137-(g))。
在輸入/輸出端口 PORT-B,與第1和第5時(shí)鐘信號(hào)CLKB同步地 加上讀指令RD (圖138- ( h )和(i))。在接收各讀指令RD后與第 5到第12時(shí)鐘信號(hào)CLKB的定時(shí)同步地一個(gè)接著一個(gè)地輸出存儲(chǔ)在頁 面緩沖器5050a中的數(shù)據(jù)作為輸出數(shù)據(jù)Q0-Q7 (圖138- (j))。在 輸入/輸出端口 PORT-A,與取得寫數(shù)據(jù)Q7的時(shí)鐘信號(hào)CLKA的特定 定時(shí)同步地實(shí)施寫操作WRITEA (圖138- (k))。
然后,在輸入/輸出端口 PORT-A和PORT-B,與時(shí)鐘信號(hào)CLKA 和CLKB的前沿同步地提供有效指令A(yù)CT和相互不同的行地址信號(hào) RA(圖138-(l)和(m))。判優(yōu)電路5034認(rèn)定首先將有效指令A(yù)CT加到輸入/輸出端口 PORT-A,并連續(xù)實(shí)施讀操作READA和READB (圖138- (n)和(o))。從由讀操作READA選出的存儲(chǔ)芯5040 的所有存儲(chǔ)單元讀出數(shù)據(jù),并將讀出的數(shù)據(jù)存儲(chǔ)在頁面緩沖器5050a (或5050b)中的一個(gè)(圖138-(p))。進(jìn)一步,從由讀操作READB 選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù)據(jù),并將讀出的數(shù)據(jù)存儲(chǔ)在 頁面緩沖器5050b (或5050a)中的另一個(gè)(圖138- (q))。
在輸入/輸出端口 PORT-A,與時(shí)鐘信號(hào)CLKA的第13和第17 定時(shí)同步地加上寫指令WR (圖138- (r)和(s))。將與時(shí)鐘信號(hào) CLKA同步地一個(gè)接著一個(gè)加上的寫數(shù)據(jù)Q0-Q7寫入頁面緩沖器 5050a中(圖138- (t))。
類似地,在輸入/輸出端口 PORT-B,與時(shí)鐘信號(hào)CLKA的第13 和第l"7定時(shí)同步地加上寫指令WR (圖138- ( u )和(v ))。將與時(shí) 鐘信號(hào)CLKB同步地一個(gè)接著一個(gè)加上的寫數(shù)據(jù)Q0-Q7寫入頁面緩 沖器5050b中(圖138- ( w))。
本實(shí)施例能夠提供與上述的第3實(shí)施例相同的優(yōu)點(diǎn)。進(jìn)一步,在 本實(shí)施例中,用作對(duì)于存儲(chǔ)芯5040的所有存儲(chǔ)單元的暫時(shí)數(shù)據(jù)存儲(chǔ)的 頁面緩沖器5050a和5050b位于數(shù)據(jù)鎖存器5028和存儲(chǔ)芯5040之間。 這使多端口存儲(chǔ)器M能夠?qū)嵤╉撁孀x操作和頁面寫操作。
當(dāng)將相同的行地址信號(hào)RA加到輸入/輸出端口 PORT-A和 PORT-B時(shí),共用同一個(gè)頁面緩沖器5050a。這防止寫入存儲(chǔ)單元的 數(shù)據(jù)通過覆蓋操作被破壞。
當(dāng)將相同的行地址信號(hào)RA加到輸入/輸出端口 PORT-A和 PORT-B時(shí),響應(yīng)一個(gè)端口只實(shí)施讀操作。因此,與對(duì)于兩個(gè)端口實(shí) 施的各讀操作的情形比較能夠減少操作時(shí)的功率消耗。使用頁面緩沖 器5050a和5050b甚至當(dāng)實(shí)施頁面操作時(shí)也消除了對(duì)于控制多端口存 儲(chǔ)器M,檢測(cè)多端口存儲(chǔ)器M的忙碌狀態(tài)的控制器的需要。因此,控 制器等的控制(藉助硬件和軟件)變得較容易了。
圖139表示根據(jù)多端口存儲(chǔ)器的第5實(shí)施例的多端口存儲(chǔ)器的操 作和控制本發(fā)明的多端口存儲(chǔ)器的方法。用相同的數(shù)字標(biāo)記與笫4實(shí)施例相同的部件,并省略對(duì)它們的詳細(xì)描述。
這個(gè)實(shí)施例具有用于通常的脈沖串操作的讀指令RD和寫指令 WR兩者與用于頁面操作的讀指令PRD和寫指令PWR兩者。多端口 存儲(chǔ)器M的電路配置基本上與第4實(shí)施例相同。
在圖139中,將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入 /輸出端口 PORT-A和PORT-B (圖139- (a)和(b))。與時(shí)鐘信 號(hào)CLKA和CLKB的下一個(gè)周期同步地,加上讀指令PRD (圖139-(c)和(d)),實(shí)施頁面讀操作(圖139- (e))。頁面讀操作的定 時(shí)與圖134相同,并省略對(duì)它的詳細(xì)描述。
此后,將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/輸出 端口 PORT-A和PORT-B (圖139- ( f)和(g))。與時(shí)鐘信號(hào)CLKA 和CLKB的下一個(gè)周期同步地,加上讀指令RD(圖139-(h)和(i))。 對(duì)于各輸入/輸出端口 PORT-A和PORT-B連續(xù)實(shí)施讀操作RE AD A 和READB (圖139- (j)和(k))。即完成通常的讀操作(即脈沖 串讀操作)。
這個(gè)本實(shí)施例能夠提供與上述的第4實(shí)施例相同的優(yōu)點(diǎn)。因?yàn)檫@ 個(gè)實(shí)施例準(zhǔn)備了用于頁面操作的讀指令PRD和PWR以及用于通常操 作的讀指令RD和WR,所以多端口存儲(chǔ)器M響應(yīng)所加的指令信號(hào)不 僅能夠?qū)嵤╉撁娌僮鞫夷軌驅(qū)嵤┩ǔ2僮鳌?br>
上述實(shí)施例已經(jīng)指向一個(gè)將本發(fā)明用于多路復(fù)用地址信號(hào)的地址 多路復(fù)用型的多端口存儲(chǔ)器的例子。但是本發(fā)明不限于這些特定的實(shí) 施例。例如,也可以將本發(fā)明用于同時(shí)接收地址信號(hào)的地址非多路復(fù) 用型的多端口存儲(chǔ)器。
上述實(shí)施例已經(jīng)指向一個(gè)將本發(fā)明用于具有兩個(gè)輸入/輸出端口 PORT-A和PORT-B的多端口存儲(chǔ)器M的例子。但是本發(fā)明不限于 這些實(shí)施例。例如,也可以將本發(fā)明用于具有4個(gè)輸入/輸出端口的多 端口存儲(chǔ)器。在這個(gè)情形中,將所加的有效指令A(yù)CT的間隔(按照定 時(shí)說明)設(shè)置得等于或大于存儲(chǔ)芯的操作周期的4倍。
在上述實(shí)施例中,對(duì)將本發(fā)明用于具有同步DRAM存儲(chǔ)芯的多端口存儲(chǔ)器的例子進(jìn)行了描述。但是本發(fā)明不限于這種形式的實(shí)施例。
例如,也可以將本發(fā)明用于具有同步SRAM存儲(chǔ)芯的多端口存儲(chǔ)器。 進(jìn)一步,在上述的多端口存儲(chǔ)器中,可以將對(duì)于存儲(chǔ)芯操作的要 求作為指令信號(hào)輸入。將這樣的指令信號(hào)與時(shí)鐘信號(hào)同步地加到一個(gè)
輸入/輸出端口的指令端子??梢詫⒃撝噶钚盘?hào)分成一個(gè)用于激活存儲(chǔ) 塊的一個(gè)特定存儲(chǔ)區(qū)域的有效指令和一個(gè)指示在這個(gè)存儲(chǔ)區(qū)域中或者 實(shí)施讀操作或者實(shí)施寫操作的動(dòng)作指令,并且可以連續(xù)地加上這些指 令。由于同樣的原因,也可以在時(shí)分基礎(chǔ)上一個(gè)接著一個(gè)地加上地址 信號(hào)。通過在加上有效指令后的預(yù)定時(shí)鐘周期上加上動(dòng)作指令將讀操 作周期和寫操作周期固定在恒定的周期上。
如果存儲(chǔ)塊的存儲(chǔ)單元由DRAM單元構(gòu)成則需要刷新操作。對(duì)于 由加在任何一個(gè)輸入/輸出端口上的地址信號(hào)指示的刷新地址實(shí)施刷 新操作。這個(gè)配置能夠使在多端口存儲(chǔ)器中的控制電路的尺寸減到最 小,從而能夠減小芯片尺寸。
預(yù)定電位的預(yù)充電操作。這使從開始各操作的預(yù)定時(shí)間周期內(nèi)完成讀 操作和寫操作成為可能。即,能夠?qū)⒆x周期時(shí)間和寫周期時(shí)間固定為
恒定的。
而且,可以為每個(gè)輸入/輸出端口提供忙碌端子以便輸出忙碌信 號(hào)。當(dāng)加到 一個(gè)輸入/輸出端口的地址信號(hào)與加到另 一個(gè)輸入/輸出端口 的地址信號(hào)相同時(shí)和當(dāng)對(duì)于后一個(gè)輸入/輸出端口執(zhí)行存儲(chǔ)操作時(shí),輸 出忙碌信號(hào)。用這種配置,與多端口存儲(chǔ)器連接的控制器很容易知道 還沒有實(shí)施所要求的操作。
進(jìn)一步,本發(fā)明不限于這些實(shí)施例,而且可以作出不同的變化和 修改而沒有偏離本發(fā)明的范圍。
例如,我們已經(jīng)參考為了同步只用一個(gè)前沿或一個(gè)后沿的配置描 述了本發(fā)明的笫l到第5方面。然而對(duì)于那些熟練的技術(shù)人員來說顯 然能夠容易地改變上述任何一個(gè)配置,使它與為了同步用前沿和后沿 兩者的DDR(雙數(shù)據(jù)速率)操作匹配。我們有意使這樣一個(gè)明顯的改變處在本發(fā)明的范圍內(nèi)。
本申請(qǐng)基于向日本專利局提出的日本優(yōu)先權(quán)專利申請(qǐng)2000年12 月 20日遞交的No.2000-387891 , 2001年2月9日遞交的 No.2001-034361, 2001年2月14日遞交的No.2000國037547, 2000年 12月27日遞交的No.2000-398893和2000年12月27日遞交的 No.2000-39卯52,這里我們將這些專利申請(qǐng)的全部內(nèi)容作為參考。
權(quán)利要求
1. 半導(dǎo)體存儲(chǔ)器件,包括一個(gè)存儲(chǔ)器陣列;N(N是大于1的整數(shù))個(gè)外部端口,每個(gè)外部端口都接收第1指令;一個(gè)內(nèi)部指令發(fā)生電路,它在內(nèi)部獨(dú)立地產(chǎn)生第2指令;其中如此設(shè)置由每個(gè)外部端口接收的第1指令的最小輸入周期使得所述半導(dǎo)體存儲(chǔ)器件在m(m≥2)倍最小輸入周期內(nèi)至少實(shí)施n次內(nèi)部操作,其中mN<n<m(N+1)。
2. 權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)器件,其中n次內(nèi)部操作包括與 第l指令對(duì)應(yīng)的mN次操作和與第2指令對(duì)應(yīng)的至少一次操作。
3. 權(quán)利要求2所述的半導(dǎo)體存儲(chǔ)器件,其中所述存儲(chǔ)器陣列基于 動(dòng)態(tài)型存儲(chǔ)單元而實(shí)現(xiàn),且第2指令是刷新指令。
4. 權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)器件,進(jìn)一步包括 一個(gè)控制電路,它控制所述存儲(chǔ)器陣列;一個(gè)指令寄存器,在將第l指令和第2指令傳輸給所述控制電路 前暫時(shí)將它們存儲(chǔ)在指令寄存器中;和一個(gè)判優(yōu)電路,它確定第l指令和第2指令的指令到達(dá)次序,它 使第1指令和第2指令以確定的次序傳輸給所述指令寄存器那樣地進(jìn) 行控制。
5. 權(quán)利要求4所述的半導(dǎo)體存儲(chǔ)器件,其中所述指令寄存器將第1 指令和第2指令傳輸給所述控制電路的定時(shí)由所述存儲(chǔ)器陣列的操作 周期進(jìn)行控制。
6. 權(quán)利要求5所述的半導(dǎo)體存儲(chǔ)器件,其中所述指令寄存器是移 位寄存器。
7. 權(quán)利要求5所述的半導(dǎo)體存儲(chǔ)器件,其中所述指令寄存器在完 成從所述判優(yōu)電路傳輸過來的指令的收集時(shí)產(chǎn)生一個(gè)收集完成信號(hào), 所述判優(yōu)電路在檢測(cè)出收集完成信號(hào)時(shí)傳輸下一個(gè)指令。
8. 權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)器件,其中N個(gè)外部端口中的每 一個(gè)都包括一個(gè)時(shí)鐘輸入電路用于接收來自器件外部的時(shí)鐘信號(hào),并 與接收的時(shí)鐘信號(hào)同步地實(shí)施輸入/輸出操作。
9. 權(quán)利要求8所述的半導(dǎo)體存儲(chǔ)器件,其中N個(gè)外部端口中的每 一個(gè)都包括一個(gè)模寄存器,它在其中存儲(chǔ)從器件外部提供的數(shù)據(jù)等待 時(shí)間的設(shè)置,并輸出帶有由數(shù)據(jù)等待時(shí)間設(shè)置指示的數(shù)據(jù)等待時(shí)間的 數(shù)據(jù)。
10. 權(quán)利要求9所述的半導(dǎo)體存儲(chǔ)器件,其中N個(gè)外部端口中的每 一個(gè)都包括一個(gè)脈沖串型數(shù)據(jù)輸入/輸出裝置,所述模寄存器在其中存 儲(chǔ)從器件外部提供的脈沖串長度設(shè)置,和其中每個(gè)外部端口實(shí)施許多 次數(shù)據(jù)輸入/輸出,其次數(shù)由在第l指令輸入周期內(nèi)的脈沖串長度設(shè)置 來指示。
11. 權(quán)利要求4所述的半導(dǎo)體存儲(chǔ)器件,其中通過在所述存儲(chǔ)器陣 列和一個(gè)外部端口之間的一個(gè)存取操作輸入/輸出總數(shù)等于一個(gè)脈沖串長度的數(shù)據(jù)。
12. 權(quán)利要求4所述的半導(dǎo)體存儲(chǔ)器件,其中第l指令包括讀指令 和寫指令,所述判優(yōu)電路響應(yīng)所述讀指令輸入外部端口的第l定時(shí)和 用于所述寫指令的脈沖串輸入數(shù)據(jù)的最后一個(gè)數(shù)據(jù)項(xiàng)輸入外部端口的 第2定時(shí)確定次序。
全文摘要
半導(dǎo)體存儲(chǔ)器件包括數(shù)量為N的多個(gè)外部端口,每個(gè)外部端口都接收指令,和一個(gè)內(nèi)部電路,它在輸入到一個(gè)外部端口的指令的最小時(shí)間間隔中至少實(shí)施N次存取操作。
文檔編號(hào)G11C11/403GK101452737SQ20081018495
公開日2009年6月10日 申請(qǐng)日期2001年11月26日 優(yōu)先權(quán)日2000年12月20日
發(fā)明者山崎雅文, 川崎健一, 松崎康郎, 鎌田心之介, 鈴木孝章 申請(qǐng)人:富士通微電子株式會(huì)社