国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器核心的多端口存儲(chǔ)器的制作方法

      文檔序號(hào):6759693閱讀:168來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):基于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器核心的多端口存儲(chǔ)器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及半導(dǎo)體存儲(chǔ)器件,特別是涉及裝備有多個(gè)端口的半導(dǎo)體存儲(chǔ)器。
      背景技術(shù)
      多端口存儲(chǔ)器,它們是裝備有多個(gè)端口的半導(dǎo)體存儲(chǔ)器,可以分成不同的類(lèi)型。當(dāng)下文中使用術(shù)語(yǔ)“多端口存儲(chǔ)器”時(shí),它指的是具有多個(gè)端口的存儲(chǔ)器,該多端口存儲(chǔ)器允許從任何一個(gè)端口獨(dú)立地存取到一個(gè)公共存儲(chǔ)器陣列。這樣一個(gè)存儲(chǔ)器可以有一個(gè)A端口和一個(gè)B端口,并允許對(duì)于公共存儲(chǔ)器陣列從與A端口鏈接的CPU和從與B端口鏈接的CPU獨(dú)立地進(jìn)行讀/寫(xiě)操作。
      一個(gè)多端口存儲(chǔ)器裝備有一個(gè)稱(chēng)為判優(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è)來(lái)自一個(gè)給定端口的存取使一條字線保持在一個(gè)選出的狀態(tài),和如一般在DRAM中使用的列存取操作中那樣連續(xù)地動(dòng)移各列地址以便讀出連續(xù)的數(shù)據(jù),則在該操作期間來(lái)自另一個(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í)施讀/寫(xiě)操作,另一個(gè)端口用另一組字線和一個(gè)位線對(duì)實(shí)施讀/寫(xiě)操作。在這種方式中,能夠從兩個(gè)不同的端口獨(dú)立地實(shí)施讀/寫(xiě)操作。然而,因?yàn)楫?dāng)兩個(gè)端口企圖在同一時(shí)間將數(shù)據(jù)寫(xiě)入同一存儲(chǔ)單元時(shí)不可能同時(shí)進(jìn)行兩個(gè)寫(xiě)操作,所以給予一個(gè)端口進(jìn)行寫(xiě)操作的優(yōu)先權(quán),而給予另一個(gè)端口一個(gè)BUSY(忙碌)信號(hào)。這稱(chēng)為一個(gè)BUSY狀態(tài)。
      當(dāng)開(kāi)發(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ā)出寫(xiě)要求時(shí),在SRAM型多端口存儲(chǔ)器中才會(huì)出現(xiàn)BUSY狀態(tài)。另一方面,當(dāng)多個(gè)端口同時(shí)對(duì)同一個(gè)存儲(chǔ)單元發(fā)出任何類(lèi)型的存取要求時(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í)間處理變得很慢這種問(wèn)題的困擾。
      然而,與SRAM型多端口存儲(chǔ)器不同,DRAM型多端口存儲(chǔ)器需要一個(gè)周期地進(jìn)行的刷新操作以便保持存儲(chǔ)的信息,從而必須采取某種措施保證適當(dāng)?shù)乃⑿露〞r(shí)。
      因此,本發(fā)明的目的是提供能夠消除特別與DRAM有關(guān)的各問(wèn)題的DRAM型多端口存儲(chǔ)器。

      發(fā)明內(nèi)容
      本發(fā)明的一個(gè)一般的目的是提供能夠基本上消除由已有技術(shù)的限制和缺點(diǎn)引起的一個(gè)或多個(gè)問(wèn)題的半導(dǎo)體存儲(chǔ)器件(多端口存儲(chǔ)器)。
      我們將在下列描述中提出本發(fā)明的特點(diǎn)和優(yōu)點(diǎn),并且一部分特點(diǎn)和優(yōu)點(diǎn)將從描述和所附各圖變得很清楚,或者可以根據(jù)描述中提供的指導(dǎo)通過(guò)實(shí)踐本發(fā)明來(lái)了解這些特點(diǎn)和優(yōu)點(diǎn)。我們將通過(guò)用使普通的熟練的技術(shù)人員能夠?qū)嵤┍景l(fā)明的那種完整,清楚,扼要和精確的術(shù)語(yǔ)在說(shuō)明書(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è)來(lái)自一個(gè)外部端口的指令執(zhí)行刷新操作,和第二個(gè)操作模式,其中響應(yīng)內(nèi)部刷新電路執(zhí)行刷新操作。因?yàn)檫@個(gè)配置,允許一個(gè)外部端口像一個(gè)用于刷新管理的端口那樣地操作,以便在各恒定的時(shí)間間隔接收刷新指令,或者如果這個(gè)用于刷新管理的端口處在一個(gè)去激活狀態(tài),則內(nèi)部刷新電路實(shí)施刷新操作。這使按照系統(tǒng)配置以一種靈活的方式管理刷新操作成為可能。


      圖1是用于解釋本發(fā)明原理(第1方面)的圖;圖2是表示當(dāng)只有一個(gè)端口正在被使用時(shí)實(shí)施的一個(gè)刷新操作的圖。
      圖3A到3C是在2個(gè)端口,3個(gè)端口和N個(gè)端口的情形中用于解釋本發(fā)明原理的圖;圖4是表示根據(jù)本發(fā)明(第1方面)的多端口存儲(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)的電路方框圖;圖10是表示一個(gè)傳輸信號(hào)發(fā)生電路的配置的電路圖。
      圖11是與數(shù)據(jù)輸入有關(guān)的電路方框圖;圖12是表示當(dāng)連續(xù)輸入Read(讀)指令時(shí)實(shí)施的操作的定時(shí)圖;圖13是表示當(dāng)連續(xù)輸入Write(寫(xiě))指令時(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)通過(guò)使時(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 I/O系統(tǒng),和一個(gè)中斷系統(tǒng)的配置的圖;圖32是表示主器件操作的定時(shí)圖;圖33是表示從器件操作的定時(shí)圖;圖34是表示當(dāng)兩個(gè)端口的寫(xiě)地址相同時(shí)實(shí)施的主器件操作的定時(shí)圖;圖35是表示當(dāng)兩個(gè)端口的寫(xiě)地址相同時(shí)實(shí)施的從器件操作的定時(shí)圖;圖36是表示當(dāng)兩個(gè)端口的寫(xiě)地址相互匹配使控制器發(fā)出中斷指令時(shí)主器件操作的定時(shí)圖;圖37是表示當(dāng)兩個(gè)端口的寫(xiě)地址相互匹配使控制器發(fā)出中斷指令時(shí)從器件操作的定時(shí)圖;圖38是用于解釋本發(fā)明(第2方面)的原理的圖,表示當(dāng)對(duì)于兩個(gè)端口實(shí)施讀操作時(shí)的情形;圖39是用于解釋本發(fā)明(第2方面)的原理的圖,表示脈沖串長(zhǎng)度為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)生的刷新指令使從寫(xiě)指令改變到讀指令時(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ù)寫(xiě)的情形的定時(shí)圖;圖69表示在兩個(gè)端口連續(xù)寫(xiě)的情形的定時(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方面)的原理的圖,表示脈沖串長(zhǎng)度為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ā)生電路的圖;圖90是表示根據(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í)間圖;圖100A和100B是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ǔ)塊的方框圖;圖110A和110B是表示存儲(chǔ)塊操作的定時(shí)圖;圖111表示根據(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接收有效指令A(yù)CT和相同的行地址信號(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接收有效指令A(yù)CT和相同行地址信號(hào)RA時(shí)實(shí)施寫(xiě)操作的方法;圖130表示對(duì)于輸入/輸出端口PORT-A連續(xù)地實(shí)施寫(xiě)操作和讀操作,和對(duì)于輸入/輸出端口PORT-B相繼地實(shí)施指向與輸入/輸出端口PORT-A的寫(xiě)操作的行地址信號(hào)RA相同的行地址信號(hào)RA的寫(xiě)操作和指向與輸入/輸出端口PORT-A的讀操作的行地址信號(hào)RA相同的行地址信號(hào)RA的寫(xiě)操作的情形;圖131表示對(duì)于輸入/輸出端口PORT-A連續(xù)地實(shí)施寫(xiě)操作和讀操作,和對(duì)于輸入/輸出端口PORT-B相繼地實(shí)施指向與輸入/輸出端口PORT-A的寫(xiě)操作的行地址信號(hào)RA相同的行地址信號(hào)RA的讀操作和指向與輸入/輸出端口PORT-A的讀操作的行地址信號(hào)RA相同的行地址信號(hào)RA的寫(xiě)操作的情形;圖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接收有效指令A(yù)CT和相同的行地址信號(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í)施寫(xiě)操作,接著加上有效指令A(yù)CT和不同的行地址信號(hào)RA,導(dǎo)致實(shí)施寫(xiě)操作的情形;圖137表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/輸出端口PORT-A和PORT-B,實(shí)施寫(xiě)操作,接著加上有效指令A(yù)CT和相同的行地址信號(hào)RA,導(dǎo)致在輸入/輸出端口PORT-A實(shí)施讀操作和在輸入/輸出端口PORT-B實(shí)施寫(xiě)操作的情形;圖138表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/輸出端口PORT-A和PORT-B,實(shí)施寫(xiě)操作和讀操作,接著加上有效指令A(yù)CT和不同的行地址信號(hào)RA,導(dǎo)致實(shí)施寫(xiě)操作和讀操作的情形;圖139表示根據(jù)多端口存儲(chǔ)器的第5實(shí)施例的多端口存儲(chǔ)器的操作和控制本發(fā)明(第5方面)的多端口存儲(chǔ)器的方法。
      具體實(shí)施例方式
      下面,我們參照所附各圖描述本發(fā)明的各實(shí)施例。
      我們首先描述本發(fā)明(第1方面)的原理。
      圖1是用于解釋本發(fā)明(第1方面)的原理的圖。雖然圖1表示用于解釋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ù),選擇一條列線,讀和寫(xiě)操作,預(yù)沖電操作的一系列操作,從而對(duì)相關(guān)的存儲(chǔ)塊完成一個(gè)存取操作。
      例如,在與圖1的A端口有關(guān)的外部指令周期的定時(shí)C1,在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ū)嵤┳x操作,而不會(huì)產(chǎn)生一個(gè)BUSY狀態(tài)即便來(lái)自A端口的讀存取和來(lái)自B端口的讀存取都指向同一個(gè)存儲(chǔ)塊。這通過(guò)在2個(gè)時(shí)鐘脈沖周期中執(zhí)行和完成每個(gè)存取來(lái)實(shí)現(xiàn)。
      在這種方式中,即便多個(gè)端口同時(shí)存取同一個(gè)存儲(chǔ)塊,因?yàn)閮?nèi)部存儲(chǔ)器能夠以?xún)杀兜乃俣冗M(jìn)行相繼的和連續(xù)的處理,所以也不會(huì)產(chǎn)生一個(gè)BUSY狀態(tài)。
      而且,當(dāng)如圖1所示從器件外部(例如在A端口)給出一個(gè)刷新指令時(shí),在該器件內(nèi)部能夠?qū)嵤┧⑿虏僮鞫粫?huì)影響來(lái)自另一個(gè)端口(即本例中的B端口)的存取。在這種情形中,可以選擇多個(gè)端口中的一個(gè)(即圖1例中的A端口)作為進(jìn)行刷新管理的端口,總是從這個(gè)端口進(jìn)入刷新指令。
      而且,數(shù)據(jù)輸出可以取來(lái)從多個(gè)列地址并行地讀出數(shù)據(jù)和通過(guò)在輸出時(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)部操作周期的長(zhǎng)度設(shè)定在1/N與N個(gè)端口存儲(chǔ)器的情形中的外部指令周期一樣長(zhǎng)。
      下面,我們描述根據(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,地址寄存器B 21,寫(xiě)數(shù)據(jù)寄存器A 22,寫(xiě)數(shù)據(jù)寄存器B 23,傳輸門(mén)A 24,和傳輸門(mén)B 25。
      A端口11包括模寄存器31,CLK緩沖器32,數(shù)據(jù)I/O電路33,地址緩沖器34,和指令譯碼器35。進(jìn)一步,B端口12包括模寄存器41,CLK緩沖器42,數(shù)據(jù)I/O電路43,地址緩沖器44,和指令譯碼器45。在A端口11和B端口12,分別與時(shí)鐘信號(hào)CLKA和CLKB同步地獨(dú)立地建立到外部總線的存取和來(lái)自外部總線的存取。模寄存器31和41能夠在其中存儲(chǔ)對(duì)于各端口的模式設(shè)定如數(shù)據(jù)等待時(shí)間和脈沖串長(zhǎng)度。在這個(gè)實(shí)施例中,A端口11和B端口12兩者都具有各自的模寄存器,使每個(gè)端口都能進(jìn)行模式設(shè)定。然而,可以將模寄存器只安排在一個(gè)端口中,例如,使得對(duì)于2個(gè)端口的設(shè)置可以由對(duì)這一個(gè)端口的設(shè)置來(lái)實(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開(kāi)始它的操作。在模寄存器31和41中進(jìn)行了設(shè)置,使得一個(gè)端口負(fù)責(zé)刷新管理的情形中,當(dāng)負(fù)責(zé)刷新管理的的端口變得不操作時(shí)可以激活自刷新電路13。
      進(jìn)一步,DRAM芯包括存儲(chǔ)器陣列51,譯碼器52,控制電路53,WriteAmp(寫(xiě)放大器)54和讀出緩沖器55。存儲(chǔ)器陣列51在其中存儲(chǔ)被寫(xiě)和被讀的數(shù)據(jù),并包括DRAM存儲(chǔ)單元,單元門(mén)晶體管,字線,位線,讀出放大器,列線,列門(mén)等。譯碼器52對(duì)被存取的地址進(jìn)行譯碼。控制電路53控制DRAM芯14的操作。WriteAmp 54放大寫(xiě)入存儲(chǔ)器陣列51的數(shù)據(jù)。讀出緩沖器55放大從存儲(chǔ)器陣列51讀出的數(shù)據(jù)。
      將到A端口11的輸入傳輸給地址寄存器A 20,刷新指令寄存器16,指令寄存器A 17和寫(xiě)數(shù)據(jù)寄存器A 22。進(jìn)一步,將到B端口12的輸入加到地址寄存器B 21,刷新指令寄存器16,指令寄存器B 18和寫(xiě)數(shù)據(jù)寄存器B 23。
      判優(yōu)器(判優(yōu)電路)15確定指令進(jìn)入的次序,以便確定將用于在A端口11和B端口12之間進(jìn)行處理的優(yōu)先權(quán)給予哪個(gè)指令。以確定的次序,判優(yōu)器15將指令,地址和數(shù)據(jù)(在寫(xiě)操作的情形中)從各寄存器傳輸給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-1)時(shí)鐘延遲電路63。而且,指令譯碼器45包括輸入緩沖器71,指令譯碼器72和(n-1)時(shí)鐘延遲電路73。指令寄存器A 17包括讀指令寄存器17-1和寫(xiě)指令寄存器17-2。而且,指令寄存器B 18包括讀指令寄存器18-1和寫(xiě)指令寄存器18-2。
      在Read指令的情形中,分別通過(guò)指令譯碼器62或72將輸入到輸入緩沖器61或71的指令傳輸給讀指令寄存器17-1或18-1,而沒(méi)有任何定時(shí)操作。在Write指令的情形中,由(n-1)時(shí)鐘延遲電路63或73使進(jìn)入的指令延遲(n-1)時(shí)鐘,然后在當(dāng)輸入一系列要被寫(xiě)的脈沖串?dāng)?shù)據(jù)的第n個(gè)數(shù)據(jù)(即最后一個(gè)數(shù)據(jù))時(shí)的定時(shí)將它傳輸給寫(xiě)指令寄存器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è)。通過(guò)這個(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。
      將來(lái)自指令寄存器A 17的讀指令信號(hào)RA2和寫(xiě)指令信號(hào)WA2,來(lái)自指令寄存器B 18的讀指令信號(hào)RB2和寫(xiě)指令信號(hào)WB2,和來(lái)自刷新指令寄存器16的刷新指令REF2加到判優(yōu)器15。對(duì)于由選擇5個(gè)指令信號(hào)中的2個(gè)得到的全部10個(gè)組合,10個(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è)確定來(lái)自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í),例如,通過(guò)延遲電路84-1產(chǎn)生使其中具有接收到的指令的指令寄存器復(fù)位的信號(hào)。
      圖7是表示判優(yōu)器15的操作的定時(shí)圖。
      具有圖7中列舉的名字的信號(hào)表示在圖6A的各位置中。圖7是表示當(dāng)將Read指令加到A端口11和B端口12上時(shí)判優(yōu)器15的操作。如圖7所示,選擇與A端口11對(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í)行讀操作READ-B。
      圖8是與輸入到一個(gè)DRAM芯14的地址有關(guān)的電路方框圖。
      A端口11的地址緩沖器34包括輸入緩沖器34-1,傳輸門(mén)34-2和OR(“或”)電路34-3。加入具有與從圖5所示的指令譯碼器62輸出的讀指令信號(hào)RA1的前沿對(duì)應(yīng)的脈沖的脈沖信號(hào)作為加到OR電路34-3的一個(gè)輸入端的RA1P。進(jìn)一步,加入具有與從圖5所示的指令譯碼器62輸出的寫(xiě)指令信號(hào)WA1的前沿對(duì)應(yīng)的脈沖的脈沖信號(hào)作為加到OR電路34-3的另一個(gè)輸入端的WA1P。下文中,在它的信號(hào)名稱(chēng)的未端具有字母“P”的信號(hào)代表具有從對(duì)應(yīng)的信號(hào)名稱(chēng)的信號(hào)的前沿產(chǎn)生的脈沖的信號(hào)。
      B端口12的地址緩沖器44包括輸入緩沖器44-1,傳輸門(mén)44-2和OR電路44-3。
      地址寄存器A 20包括地址鎖存器101,傳輸門(mén)102,地址鎖存器103,傳輸門(mén)104,傳輸門(mén)105,地址鎖存器106,和傳輸門(mén)107。進(jìn)一步,地址寄存器B 21包括地址鎖存器111,傳輸門(mén)112,地址鎖存器113,傳輸門(mén)114,傳輸門(mén)115,地址鎖存器116,和傳輸門(mén)117。
      刷新地址寄存器19包括刷新地址計(jì)數(shù)器/寄存器19-1,倒相器19-2,和傳輸門(mén)19-3。由刷新地址計(jì)數(shù)器/寄存器19-1產(chǎn)生和保持刷新地址。
      通過(guò)上述電路配置的操作,當(dāng)從器件外輸入Read指令或Write指令時(shí),將與指令一起進(jìn)入的地址傳輸?shù)降刂锋i存器101或111。在Read指令的情形中將地址傳輸?shù)降刂锋i存器105或116而不需任何時(shí)間操作。在Write指令的情形中在取得一系列寫(xiě)數(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è)地址鎖存器傳輸?shù)紻RAM芯14。
      圖9是與數(shù)據(jù)輸出有關(guān)的電路方框圖。
      與數(shù)據(jù)I/O電路33的數(shù)據(jù)輸出有關(guān)的部分包括數(shù)據(jù)鎖存器121,傳輸門(mén)122,數(shù)據(jù)鎖存器123,并行串行變換器124,輸出緩沖器125和傳輸信號(hào)發(fā)生電路126。而且,與數(shù)據(jù)I/O電路43的數(shù)據(jù)輸出有關(guān)的部分包括數(shù)據(jù)鎖存器131,傳輸門(mén)132,數(shù)據(jù)鎖存器133,并行串行變換器134,輸出緩沖器135和傳輸信號(hào)發(fā)生電路136。
      從存儲(chǔ)器陣列51讀出的數(shù)據(jù)被讀出緩沖器55放大,分別通過(guò)傳輸門(mén)A 24或傳輸門(mén)B 25加到數(shù)據(jù)I/O電路33或數(shù)據(jù)I/O電路43。如果執(zhí)行的指令與從A端口11的數(shù)據(jù)讀出有關(guān),則傳輸門(mén)A 24打開(kāi),而如果執(zhí)行的的指令與從B端口12的數(shù)據(jù)讀出有關(guān),則傳輸門(mén)B 25打開(kāi)。以這種方式提供的數(shù)據(jù)被數(shù)據(jù)鎖存器121或131鎖存和保持。
      傳輸門(mén)122或132響應(yīng)從傳輸信號(hào)發(fā)生電路126或136提供的傳輸信號(hào)在一個(gè)相應(yīng)的端口接收讀指令后打開(kāi)預(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í)間的長(zhǎng)度。根據(jù)等待時(shí)間信息,多路復(fù)用器145選擇一個(gè)相應(yīng)的觸發(fā)器的Q輸出,并將它作為數(shù)據(jù)傳輸信號(hào)輸出。
      圖11是與數(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ù)綄?xiě)數(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,將寫(xiě)數(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端口11和B端口12分別與具有不同頻率的時(shí)鐘信號(hào)CLKA和CLKB同步地操作。在這個(gè)例子中,A端口11用最大時(shí)鐘頻率操作,而B(niǎo)端口12用較低的時(shí)鐘頻率操作。
      A端口11具有下列設(shè)置讀指令周期=4(CLKA),數(shù)據(jù)等待時(shí)間=4,和脈沖串長(zhǎng)度=4。B端口12具有下列設(shè)置讀指令周期=2(CLKA),數(shù)據(jù)等待時(shí)間=2,和脈沖串長(zhǎng)度=2。在每個(gè)端口的模寄存器中設(shè)置數(shù)據(jù)等待時(shí)間和脈沖串長(zhǎng)度。
      將由端口接收的指令存儲(chǔ)在各指令寄存器中。將刷新指令存儲(chǔ)在刷新指令寄存器中。判優(yōu)器監(jiān)視這些指令寄存器,并以接收指令的次序?qū)⒅噶顐鬏斀oDRAM芯。當(dāng)完成上一個(gè)指令的處理時(shí)傳輸下一個(gè)指令。
      將從DRAM芯讀出的數(shù)據(jù)從讀出緩沖器傳輸?shù)礁鞫丝跀?shù)據(jù)鎖存器(請(qǐng)參見(jiàn)圖9)。以后將數(shù)據(jù)從并行變換成串行,作為脈沖串輸出與外部時(shí)鐘同步地輸出。
      雖然曾經(jīng)從A端口輸入刷新指令,但是不影響B(tài)端口的操作,如圖12所示。
      圖13是表示當(dāng)連續(xù)輸入Write指令時(shí)實(shí)施的操作的定時(shí)圖。
      在寫(xiě)操作時(shí)從器件外部輸入的數(shù)據(jù)取脈沖串輸入的形式。Write指令存儲(chǔ)在寫(xiě)指令寄存器中的定時(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,和脈沖串長(zhǎng)度=4。如從圖可見(jiàn)的那樣,甚至當(dāng)兩個(gè)端口都操作在最大時(shí)鐘頻率和連續(xù)輸入Read指令時(shí)關(guān)于操作也沒(méi)有問(wèn)題。
      圖15是表示當(dāng)A端口和B端口兩者都操作在最大時(shí)鐘頻率上時(shí)的定時(shí)圖。在圖15中,兩個(gè)端口連續(xù)地接收Write指令。
      如圖15所示,在這些端口的時(shí)鐘信號(hào)之間可能存在相位差。兩個(gè)端口具有下列設(shè)置寫(xiě)指令周期=4,數(shù)據(jù)等待時(shí)間=4,和脈沖串長(zhǎng)度=4。如從圖可見(jiàn)的那樣,甚至當(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è)額外的指令間隔。這是因?yàn)槲覀儌鬏擶rite指令以便在當(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寫(xiě)指令只輸入一塊數(shù)據(jù)那樣的配置中,即便用與“Write→Write”或“Read→Read”的情形中相同的指令間隔,也能夠?qū)τ凇癢rite→Read”指令連續(xù)性適當(dāng)?shù)剡M(jìn)行操作。
      圖17是表示當(dāng)指令從“Read”改變到“Write”時(shí)輸入刷新指令的定時(shí)圖。
      在圖的頂部,表示出應(yīng)該進(jìn)入刷新指令的定時(shí)。在如說(shuō)明的期間中在任何定時(shí)都能適當(dāng)?shù)剡M(jìn)入刷新指令。例如,即便在圖17所示的定時(shí)輸入刷新指令,刷新指令只有當(dāng)完成前一個(gè)Write寫(xiě)指令時(shí)才開(kāi)始刷新操作,直到將刷新指令保存在備用狀態(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表示寫(xiě)操作的情形。在如圖20A和20B所示的操作定時(shí),在完成整個(gè)操作前通過(guò)字線選擇,數(shù)據(jù)放大,寫(xiě)回,和預(yù)充電的相繼操作發(fā)出進(jìn)入的指令。
      圖21是表示當(dāng)只使一個(gè)端口操作時(shí)實(shí)施的兩倍速率操作的定時(shí)圖;通過(guò)使兩個(gè)端口中的一個(gè)停止操作,可以將到操作端口的指令輸入間隔縮短一半。當(dāng)這種情形發(fā)生時(shí),外部指令的最快周期和內(nèi)部動(dòng)作的最快周期彼此相同。在圖21的例子中,縮短了指令間隔而沒(méi)有改變時(shí)鐘頻率。在這個(gè)情形中,因?yàn)槊}沖串長(zhǎng)度也變得較短,所以數(shù)據(jù)傳輸速率與當(dāng)用兩個(gè)端口時(shí)的相同。
      圖22是表示當(dāng)通過(guò)使時(shí)鐘頻率兩倍高使數(shù)據(jù)傳輸速率兩倍時(shí)兩倍速率操作的定時(shí)圖;在圖22中,當(dāng)使兩個(gè)端口中的一個(gè)停止操作時(shí),將輸入到操作端口時(shí)鐘信號(hào)設(shè)置在高兩倍的頻率上。與此相關(guān),指令輸入的時(shí)間間隔縮短一半。在這個(gè)情形中,因?yàn)槊}沖串長(zhǎng)度與當(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)線有不同的長(zhǎng)度和/或電源噪聲的影響,指令到達(dá)每個(gè)多端口存儲(chǔ)器的相對(duì)定時(shí)也可能稍有不同。在這個(gè)情形中,每個(gè)多端口存儲(chǔ)器的判優(yōu)器能夠以從存儲(chǔ)器到存儲(chǔ)器不同的次序執(zhí)行指令。
      如果到A端口的指令和到B端口的指令指向不同的地址,則存儲(chǔ)器件之間執(zhí)行指令的不同次序可能不會(huì)成為一個(gè)問(wèn)題。然而,當(dāng)各指令是對(duì)于同一個(gè)地址時(shí),就會(huì)發(fā)生問(wèn)題。
      例如,在當(dāng)寫(xiě)存取同一個(gè)存儲(chǔ)單元后讀出數(shù)據(jù)時(shí)與當(dāng)寫(xiě)存取同一個(gè)存儲(chǔ)單元前讀出數(shù)據(jù)時(shí)之間檢索的數(shù)據(jù)是不同的。而且,當(dāng)在寫(xiě)入A端口的數(shù)據(jù)后寫(xiě)入B端口的數(shù)據(jù)時(shí)B端口的數(shù)據(jù)保留在存儲(chǔ)器中,而如果以相反的次序進(jìn)行操作則A端口的數(shù)據(jù)保留在存儲(chǔ)器中。
      如果以上面描述的方式從存儲(chǔ)器到存儲(chǔ)器執(zhí)行指令的次序不同,則關(guān)于數(shù)據(jù)的可靠性就存在嚴(yán)重的問(wè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端口11A和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芯的操作模式以便開(kāi)始連續(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指令,由前面的指令寫(xiě)入的數(shù)據(jù)將被后面的指令的數(shù)據(jù)覆蓋。
      如圖25A所示,連續(xù)模式允許使操作縮短到比通常內(nèi)部操作的2個(gè)周期短,從而提供額外的時(shí)間。將由這個(gè)額外時(shí)間得到的邊邊緣分配給在ROW操作和COLUMM操作之間的一個(gè)點(diǎn)(下文中將這個(gè)邊緣稱(chēng)為Wait(等待)期間)。在這個(gè)Wait期間中,實(shí)施用于使主器件和從器件之間的指令執(zhí)行次序一致的處理。
      下面,我們說(shuō)明用BUSY信號(hào)使主器件和從器件之間的操作一致的過(guò)程。
      為了保證在主器件和從器件之間有相同的指令執(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ǔ)器件接收來(lái)自一個(gè)端口的指令,開(kāi)始如圖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)。
      類(lèi)似地,在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)樾枰谟邢薜腤ait期間內(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說(shuō)明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)橥ㄟ^(guò)執(zhí)行A端口的Write指令被寫(xiě)入的數(shù)據(jù)將立即被覆蓋,所以只有B端口的寫(xiě)指令因?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)橥ㄟ^(guò)執(zhí)行B端口的Write指令被寫(xiě)入的數(shù)據(jù)將立即被替代,所以只有A端口的寫(xiě)指令WriteA2被執(zhí)行。在這個(gè)例子中,將A端口的時(shí)鐘頻率設(shè)置得稍低于B端口的時(shí)鐘頻率。雖然當(dāng)比較指令WriteA2和WriteB2時(shí)對(duì)于A端口指令輸入稍早,但是在接收最后一個(gè)數(shù)據(jù)輸入時(shí)是B端口較早。因此,確定B端口的Write指令比A端口的Write指令早。
      上面提供的描述還沒(méi)有參考關(guān)于A端口的Read指令和B端口的Read指令的組合起來(lái)的情形。因?yàn)椴还芟鄬?duì)的定時(shí)如何,數(shù)據(jù)的可靠性不受影響,所以在這個(gè)情形中不需要產(chǎn)生BUSY信號(hào)。
      圖30是表示在能夠處理由控制器發(fā)出的中斷指令的配置中的操作的定時(shí)圖。
      “中斷指令”是當(dāng)開(kāi)始BUSY信號(hào)時(shí)指令改變由主器件的判優(yōu)器作出的決定的指示。造成中斷的方法包括a)作為指令輸入;b)提供專(zhuān)用的端子銷(xiāo);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é)合起來(lái)進(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)的寫(xiě)操作。這能夠防止A端口的寫(xiě)數(shù)據(jù)被刪除。在Write→Write組合的情形中,全部需要只是執(zhí)行寫(xiě)操作一次,使得可以分配比Read→Write組合或Write→Read組合的連續(xù)模式較長(zhǎng)的等待期間。于是可以利用這個(gè)等待期間響應(yīng)BUSY信號(hào)執(zhí)行中斷指令。
      下面,我們描述用于實(shí)現(xiàn)上述操作的地址比較器,BUSY I/O系統(tǒng)和中斷系統(tǒng)的配置。
      圖31是表示根據(jù)本發(fā)明的第2實(shí)施例的多端口存儲(chǔ)器的地址比較器,BUSY I/O系統(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,使得N1,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鎖存起來(lái),信號(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)N11設(shè)置在“L”。當(dāng)信號(hào)N10和N11處于去激活狀態(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和N11傳輸出去。
      圖31底部所示的三個(gè)比較器80-3,80-5和80-6是判優(yōu)器15A的比較電路的一部分(請(qǐng)參見(jiàn)圖6A和圖24)。這些比較器對(duì)于需要BUST確定的指令組合進(jìn)行比較。
      圖32是表示一個(gè)主器件的操作的定時(shí)圖。圖33是表示一個(gè)從器件的操作的定時(shí)圖。
      這三個(gè)定時(shí)圖說(shuō)明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)N1是“L”,所以通過(guò)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è)端口的寫(xiě)地址相同時(shí)實(shí)施的主器件的操作的定時(shí)圖。圖35是表示當(dāng)兩個(gè)端口的寫(xiě)地址相同時(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”脈沖。通過(guò)某個(gè)邏輯操作將信號(hào)N4和信號(hào)N3組合起來(lái),產(chǎn)生信號(hào)N31中的“H”脈沖。在這個(gè)例子中,N26對(duì)于主器件是“H”,使N33產(chǎn)生“H”脈沖,導(dǎo)致N25改變成“H”和N26改變成“L”。這里,延遲電路237和238用于提供一個(gè)能夠用來(lái)在改變發(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)的從器件使它的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í)間長(zhǎng)度,從而產(chǎn)生一個(gè)Wait期間。這里,當(dāng)選擇N1或N2時(shí)選擇Delay(延遲)(t1),當(dāng)選擇N3時(shí)選擇Delay(t2)。
      提供NAND電路251和252與倒相器253和254用于當(dāng)Wait期間結(jié)束時(shí)從指令寄存器清除被跳過(guò)的Write指令。例如,如果在Wait期間結(jié)束時(shí)N25是“L”和N26是“H”,則將執(zhí)行A端口的Write指令。因此,為了從寄存器刪除B端口的Write指令產(chǎn)生RESTWB2。因?yàn)樵赪ait期間中需要通過(guò)BUSY接收或中斷改變決定,所以在這個(gè)期間指令寄存器中的指令被完整地保留下來(lái)。
      圖36是表示當(dāng)兩個(gè)端口的寫(xiě)地址相互匹配使控制器發(fā)出中斷指令時(shí)主器件操作的定時(shí)圖。圖37是表示當(dāng)兩個(gè)端口的寫(xiě)地址相互匹配使控制器發(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的指令間隔與ReadA1→ReadA2的指令間隔相同。要求在Wait期間處理BUSY信號(hào)和中斷信號(hào)。因?yàn)檫@個(gè)原因,當(dāng)由于長(zhǎng)的系統(tǒng)總線,大量的從器件,控制器的慢響應(yīng)等BUSY信號(hào)或中斷信號(hào)的交換需要長(zhǎng)時(shí)間時(shí),就需要較長(zhǎng)的Wait期間。
      為了消除這個(gè)問(wèn)題,當(dāng)延遲跟隨BUSY信號(hào)和中斷信號(hào)的下一個(gè)指令輸入時(shí)可以擴(kuò)展Wait期間。即,當(dāng)加長(zhǎng)Wait期間時(shí)可以擴(kuò)展ReadA2→ReadA3的指令間隔使它比在圖26中的ReadA1→ReadA2的指令間隔長(zhǎng)。
      為了延遲一個(gè)指令輸入,可以在設(shè)計(jì)書(shū)中說(shuō)明指令輸入的延遲,和可以設(shè)計(jì)控制器使它根據(jù)數(shù)據(jù)表進(jìn)行操作。如圖31所示通過(guò)加長(zhǎng)延遲電路250的延遲時(shí)間達(dá)到Wait期間的擴(kuò)展。如果根據(jù)用度需要調(diào)整Wait期間,則在延遲電路250中可以提供兩條或多條延遲線,使通過(guò)一個(gè)模寄存器的設(shè)置改變延遲長(zhǎng)度的設(shè)置成為可能。
      當(dāng)Wait期間以這種方式擴(kuò)展時(shí),除了響應(yīng)Write-Write指令組合產(chǎn)生BUSY信號(hào)的情形外在其它情形中也能夠提供長(zhǎng)的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ā)明具有第1操作模式,在該模式中響應(yīng)來(lái)自一個(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方面。
      存在若干種多端口存儲(chǔ)器。下文中,涉及具有多個(gè)端口的存儲(chǔ)器,并允許從各端口相互獨(dú)立地存取一個(gè)公共存儲(chǔ)器陣列。例如,兩個(gè)端口型的多端口存儲(chǔ)器裝備有一個(gè)A端口和一個(gè)B端口,并允許從與A端口鏈接的CPU-A和從與B端口鏈接的CPU-B獨(dú)立地進(jìn)行到公共存儲(chǔ)器的讀/寫(xiě)存取。
      作為這類(lèi)多端口存儲(chǔ)器,具有SRAM存儲(chǔ)器陣列的存儲(chǔ)器是已知的,其中在復(fù)制的設(shè)置中提供各字線和各位線對(duì),每個(gè)存儲(chǔ)單元都與2組字線和位線對(duì)連接。然而,這種多端口存儲(chǔ)器具有電路密度低的問(wèn)題,其中需要提供字線和位線對(duì)的復(fù)制組。
      為了消除這個(gè)問(wèn)題,可以用與具有多個(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)的操作。防止這種問(wèn)題發(fā)生的最簡(jiǎn)單的方法是對(duì)每個(gè)端口產(chǎn)生BUSY信號(hào)以便防止當(dāng)從一個(gè)端口進(jìn)行存取時(shí)到另一個(gè)端口的存取。然而,這引起限制存儲(chǔ)器用度的問(wèn)題。考慮到這一點(diǎn),為公共存儲(chǔ)器提供稱(chēng)為判優(yōu)器的判優(yōu)電路,判優(yōu)電路確定多個(gè)端口接收的存取要求的優(yōu)先權(quán)。構(gòu)造存儲(chǔ)器陣列的控制器,以?xún)?yōu)先權(quán)的次序執(zhí)行與存取要求對(duì)應(yīng)的操作。例如,以到達(dá)的次序即以將存取要求加到各端口的次序處理存取要求。
      在這個(gè)情形中,存儲(chǔ)器陣列最終隨機(jī)地從多個(gè)端口被存取。因此,不能提供在同一個(gè)行地址連續(xù)地存取相繼的列地址的列存取操作,而這樣的列存取操作典型地可以在DRAM中得到。即,選擇,為讀/寫(xiě)操作存取和復(fù)位存儲(chǔ)單元,響應(yīng)單個(gè)存取實(shí)施所有這些操作。
      當(dāng)制成一個(gè)共用存儲(chǔ)器時(shí),一般地,按常規(guī)將SRAM用作存儲(chǔ)器陣列。這是因?yàn)镾RAM能夠進(jìn)行高速隨機(jī)存取操作,并且因?yàn)椴恍枰⑿虏僮魉阅軌蛉菀椎厥褂肧RAM。然而,單塊芯片的多端口存儲(chǔ)器常規(guī)地具有以字線和位線對(duì)的復(fù)制組,在具有通常的SRAM配置的存儲(chǔ)器陣列的基礎(chǔ)上的單塊芯片的多端口存儲(chǔ)器還沒(méi)有在實(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è)問(wèn)題。
      在常規(guī)的DRAM中,需要從器件外部以恒定間隔在讀/寫(xiě)指令之間提供刷新指令。為此,在以DRAM為基礎(chǔ)的系統(tǒng)中的控制器器件具有用于刷新管理的定時(shí)器和/或控制電路。然而,在用以SRAM為基礎(chǔ)的多端口存儲(chǔ)器的系統(tǒng)中不提供這樣的電路。甚至在以DRAM為基礎(chǔ)制成存儲(chǔ)器的情形中,在這些系統(tǒng)中需要能以與常規(guī)的多端口存儲(chǔ)器相同的方式使用這種存儲(chǔ)器。即,具有由DRAM組成的存儲(chǔ)器陣列的多端口存儲(chǔ)器需要由它自己來(lái)進(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í)間長(zhǎng)的長(zhǎng)度上。分別將時(shí)鐘信號(hào)CLKA和CLKB輸入到A端口和B端口,與時(shí)鐘信號(hào)同步地進(jìn)行在器件的一個(gè)外部裝置和各外部端口之間的地址和數(shù)據(jù)的交換。使地址(圖中未畫(huà)出)與指令同時(shí)進(jìn)入。當(dāng)在最小外部指令周期上使讀指令進(jìn)入A端口和B端口時(shí),判優(yōu)電路通過(guò)將優(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è)跟隨的外部指令周期開(kāi)始時(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è)跟隨的外部指令周期開(kāi)始時(shí)輸出讀數(shù)據(jù)。在這個(gè)方式中,可以從器件外部存取多端口存儲(chǔ)器而與刷新操作沒(méi)有任何關(guān)系。
      在圖38的例子中,響應(yīng)一個(gè)讀指令輸出一項(xiàng)讀數(shù)據(jù)。即,脈沖串長(zhǎng)度為1。所以,在一個(gè)時(shí)鐘脈沖周期中完成讀數(shù)據(jù)的輸出后,在外部指令周期的3個(gè)余下的時(shí)鐘周期中外部端口不輸出任何數(shù)據(jù),這導(dǎo)致無(wú)效的數(shù)據(jù)傳輸??梢酝ㄟ^(guò)加長(zhǎng)脈沖串長(zhǎng)度來(lái)消除這個(gè)問(wèn)題。
      圖39是用于解釋本發(fā)明原理的圖,表示脈沖串長(zhǎng)度為4的例子。在這個(gè)例子中,與上述情形相同,將2個(gè)外部端口的外部指令周期設(shè)置在能夠供應(yīng)3個(gè)內(nèi)部操作周期的長(zhǎng)度上。進(jìn)一步,一個(gè)外部指令周期對(duì)應(yīng)4個(gè)時(shí)鐘周期。與時(shí)鐘信號(hào)同步地在單個(gè)外部指令周期中從一個(gè)外部端口4次輸出數(shù)據(jù)。所以,如果根據(jù)一個(gè)外部指令周期的時(shí)鐘周期的數(shù)目設(shè)置脈沖串長(zhǎng)度,則在兩個(gè)端口都能實(shí)現(xiàn)無(wú)間隙的讀操作,從而非常大地增加了數(shù)據(jù)傳輸速率。在這個(gè)情形中,要求與脈沖串長(zhǎng)度一樣多的數(shù)據(jù)項(xiàng)響應(yīng)單個(gè)存取內(nèi)部地輸入存儲(chǔ)器陣列或內(nèi)部地從存儲(chǔ)器陣列輸出。例如,如果外部端口的數(shù)據(jù)輸入/輸出銷(xiāo)的數(shù)目為4,和脈沖串長(zhǎng)度為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+1個(gè)內(nèi)部操作周期的最小周期上。如果滿(mǎn)足這個(gè)要求,則甚至當(dāng)刷新操作被執(zhí)行時(shí)在一個(gè)外部指令周期中也可以實(shí)施各端口要求的所有操作,從而允許使用多端口存儲(chǔ)器而與刷新操作沒(méi)有任何關(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)部操作的長(zhǎng)度,并且如果端口的數(shù)目為3,則最小外部指令周期是可以進(jìn)行4個(gè)內(nèi)部操作的時(shí)間長(zhǎng)度。進(jìn)一步,如果端口的數(shù)目為n,則最小外部指令周期等于可以執(zhí)行n+1個(gè)內(nèi)部操作的時(shí)間長(zhǎng)度。
      圖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ù)從器件外部提供的各分開(kāi)的時(shí)鐘頻率進(jìn)行操作。將數(shù)據(jù)等待時(shí)間和脈沖串長(zhǎng)度存儲(chǔ)在模寄存器2031和2041中,使它們能被分別地設(shè)置。數(shù)據(jù)I/O電路2033和2043裝備有根據(jù)脈沖串長(zhǎng)度實(shí)施輸出/輸出數(shù)據(jù)的并行到串行變換和串行到并行變換的機(jī)構(gòu)。
      刷新電路2050包括刷新定時(shí)器2051和刷新指令發(fā)生器2052。刷新定時(shí)器2051在預(yù)定間隔上產(chǎn)生刷新開(kāi)始信號(hào),刷新指令發(fā)生器2052對(duì)應(yīng)地產(chǎn)生刷新指令。
      分別將加到A端口和B端口的指令,地址和寫(xiě)數(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ù)寄存器(在寫(xiě)操作情形)。在DRAM芯2011中,控制電路2014響應(yīng)提供的指令,控制譯碼器2013,寫(xiě)放大器(WriteAmp)2015,和讀出緩沖器2016,從而實(shí)施對(duì)于存儲(chǔ)器陣列2012的存取操作。在寫(xiě)操作的情形中,譯碼器2013為了進(jìn)行寫(xiě)操作對(duì)存取的地址進(jìn)行譯碼,以便激活在存儲(chǔ)器陣列2012中的字線和列信號(hào)線,導(dǎo)致將存儲(chǔ)在寫(xiě)數(shù)據(jù)寄存器A2022和B2023中的寫(xiě)數(shù)據(jù)通過(guò)WriteAmp 2015寫(xiě)入存儲(chǔ)器陣列2012。在讀操作的情形中,以類(lèi)似的方式存取存儲(chǔ)器陣列2012,導(dǎo)致通過(guò)傳輸門(mén)A2024和B 2025將讀數(shù)據(jù)從讀出緩沖器2016傳輸?shù)礁鞫丝诘臄?shù)據(jù)輸出電路。根據(jù)DRAM芯2011的操作周期控制傳輸門(mén)的傳輸定時(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-1)時(shí)鐘延遲電路2038,B端口的指令輸入裝置2045包括輸入緩沖器2046,指令譯碼器2047和(m-1)時(shí)鐘延遲電路2048。這里,n和m是脈沖串長(zhǎng)度。而且,如圖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,而在寫(xiě)指令情形分別產(chǎn)生WA1和WB1。分別將信號(hào)RA1和RB1傳輸給Read指令寄存器AR和BR,不需要任何定時(shí)操作,而信號(hào)WA1和WB1分別被(n-1)時(shí)鐘延遲電路2038和(m-1)時(shí)鐘延遲電路2048延遲,直到輸入脈沖串?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)RESET1信號(hào),判優(yōu)器使存儲(chǔ)被執(zhí)行指令的指令寄存器復(fù)位,并將下一個(gè)指令傳輸給DRAM控制電路2014。
      圖46是判優(yōu)器2026的實(shí)施例。指令到達(dá)圖45的5個(gè)指令寄存器的次序由比較器2053檢測(cè)出來(lái)如該圖46所示。每個(gè)比較器2053比較兩個(gè)指令寄存器的定時(shí),將它的輸出在首先輸入“H”的情形中改變成“H”。AND門(mén)2054通過(guò)檢查相關(guān)的比較器2053的所有相關(guān)輸出是否是“H”來(lái)確定給定的指令是否在所有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)名稱(chēng)的未端具有字母“P”的信號(hào)代表具有從對(duì)應(yīng)的信號(hào)名稱(chēng)的信號(hào)的前沿產(chǎn)生的脈沖的信號(hào)。如圖所示,地址輸入電路2034和2044分別包括輸入緩沖器2057A和2057B與傳輸門(mén)2058A和2058B。進(jìn)一步,地址寄存器A 2019和地址寄存器B 2020分別包括地址鎖存器A1和B1,傳輸門(mén)2060A和2060B,地址鎖存器A2和B2,傳輸門(mén)2062A和2062B,與傳輸門(mén)2063A和2063B。通過(guò)地址總線2017將從傳輸門(mén)2062A,2062B,2063A和2063B提供的地址傳輸給DRAM芯2011。進(jìn)一步,通過(guò)傳輸門(mén)2064和地址總線17將從刷新地址計(jì)數(shù)器/寄存器2018提供的刷新地址傳輸給DRAM芯2011。
      當(dāng)從器件外部輸入Read指令或Write指令時(shí),分別通過(guò)傳輸門(mén)2058A或2058B將加到輸入緩沖器2057A或5027B的地址和輸入指令同時(shí)傳輸給地址鎖存器A1或B1。在Read指令的情形中,通過(guò)傳輸門(mén)2063A或2063B與到DRAM芯的指令傳輸同步地將地址傳送給DRAM芯2011。在Write指令的情形中,進(jìn)一步在上次數(shù)據(jù)采集的定時(shí)將地址傳輸給地址鎖存器A2或B2,然后,與到DRAM芯的指令傳輸同步地通過(guò)傳輸門(mén)2062A或2062B傳輸給DRAM芯。進(jìn)一步,刷新地址計(jì)數(shù)器/寄存器2018產(chǎn)生并在其中保存刷新地址,然后與到DRAM芯的刷新指令傳輸同步地通過(guò)傳輸門(mén)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,我們將在后面描述它們。如圖所示,將通過(guò)讀出緩沖器2016從存儲(chǔ)器陣列2012讀出的數(shù)據(jù)通過(guò)數(shù)據(jù)總線2021和傳輸門(mén)2024或2025分別傳輸給為了輸出數(shù)據(jù)的電路2065A或2065B。
      為了輸出數(shù)據(jù)的電路2065A和2065B分別包括數(shù)據(jù)鎖存器A1或B1,傳輸信號(hào)發(fā)生電路2067A和2067B,傳輸門(mén)2069A或2069B,數(shù)據(jù)鎖存器A2或B2,并行到串行變換器2070A和2070B,以及輸出緩沖器2071A和2071B。
      由DRAM芯2011的控制電路2014根據(jù)內(nèi)部操作對(duì)傳輸門(mén)2024和2025進(jìn)行控制。如果被執(zhí)行的指令是Read-A(即,對(duì)于A端口的讀操作),則傳輸門(mén)2024將打開(kāi)。如果被執(zhí)行的指令是Read-B,則傳輸門(mén)2025將打開(kāi)。數(shù)據(jù)鎖存器A1和B1在其中存儲(chǔ)數(shù)據(jù),然后在各端口中接收Read指令后的一個(gè)確定的等待時(shí)間,在這些端口通過(guò)傳輸門(mén)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)閬?lái)自傳輸門(mén)2068A或2068B的讀數(shù)據(jù)傳輸響應(yīng)數(shù)據(jù)傳輸信號(hào)2002,所以讀數(shù)據(jù)從讀操作的定時(shí)開(kāi)始被延遲與等待時(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。分別通過(guò)Write數(shù)據(jù)寄存器2022和2023,數(shù)據(jù)傳輸裝置2078A和2078B,以及數(shù)據(jù)總線21將來(lái)自數(shù)據(jù)傳輸裝置2077A和2077B的寫(xiě)數(shù)據(jù)傳送給WriteAmp 2015,并被寫(xiě)入存儲(chǔ)器陣列2012。
      根據(jù)脈沖串長(zhǎng)度將串行輸入數(shù)據(jù)從串行變換到并行,然后在輸入最后一個(gè)數(shù)據(jù)項(xiàng)的定時(shí)傳輸給Write寄存器2022和2023。當(dāng)從判優(yōu)器2026將Write指令傳輸給DRAM芯2011時(shí),通過(guò)數(shù)據(jù)傳輸門(mén)2078A和2078B也將對(duì)應(yīng)的數(shù)據(jù)傳輸給DRAM芯2011。
      圖51到圖58是表示第1實(shí)施例的多端口存儲(chǔ)器操作的時(shí)間圖。圖51和圖52,圖54和圖55與圖57和圖58是為了便于說(shuō)明將單個(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)同步地取得指令,地址和寫(xiě)數(shù)據(jù),并與時(shí)鐘信號(hào)同步地輸出檢索的數(shù)據(jù)。在這個(gè)例子中,A端口操作在最大時(shí)鐘頻率,而B(niǎo)端口操作在稍低的時(shí)鐘頻率。對(duì)于A端口,Read指令周期=4(CLKA),數(shù)據(jù)等待時(shí)間=4,和脈沖串長(zhǎng)度=4。對(duì)于B端口,Read指令周期=2(CLKB),數(shù)據(jù)等待時(shí)間=2,和脈沖串長(zhǎng)度=2。在各端口的模寄存器2031和2041中分別設(shè)置數(shù)據(jù)等待時(shí)間和脈沖串長(zhǎng)度。在這個(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í),從外部看來(lái)數(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寫(xiě)操作時(shí)實(shí)施的操作的圖。在這個(gè)情形中,在兩個(gè)端口的時(shí)鐘信號(hào)中可能存在相位差。對(duì)于兩個(gè)端口,Read指令周期=4,Write指令周期=4,數(shù)據(jù)等待時(shí)間=4,和脈沖串長(zhǎng)度=4。從圖可見(jiàn),在這個(gè)情形中也能夠適當(dāng)?shù)貙?shí)施操作。
      圖57和圖58是表示當(dāng)兩個(gè)端口都操作在最高頻率,并用內(nèi)部產(chǎn)生的刷新指令從Write指令改變到Read指令時(shí)實(shí)施的操作的時(shí)間圖。這是指令最擁擠的情形。
      如圖所示,DRAM芯2011以Ref→Write-A1→Write-B1→Read-A2→Read-B2的次序進(jìn)行操作,在它們之間沒(méi)有任何間隙。在這個(gè)例子中,在輸入Write指令后的6個(gè)時(shí)鐘脈沖輸入Read-A2和Read-B2。即便這些定時(shí)超前2個(gè)時(shí)鐘信號(hào),也不可能超前DRAM芯的內(nèi)部操作。由從輸入Read指令開(kāi)始的數(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芯操作的開(kāi)始時(shí)間,使得不能適當(dāng)?shù)貓?zhí)行Read-B2。因?yàn)檫@個(gè)原因,需要將Write→Read變遷的公共間隔設(shè)置得相當(dāng)長(zhǎng)如本例中的6個(gè)時(shí)鐘脈沖。
      關(guān)于Read→Write的公共間隔,因?yàn)槌峭瓿闪薘ead數(shù)據(jù)的輸出,不能將Write數(shù)據(jù)輸入DQ端子中,所以公共間隔不可避免地變長(zhǎng)。
      圖59A和59B是表示DRAM芯2011操作的圖。圖59A表示Read操作,圖59B表示W(wǎng)rite操作。如這些圖所示,響應(yīng)單個(gè)指令以字線選擇→數(shù)據(jù)放大→寫(xiě)回→預(yù)充電的次序?qū)嵤┮幌盗胁僮?,從而完成整個(gè)操作。
      如上所述,在第1實(shí)施例中從Write指令到Read指令的指令變遷的時(shí)間中指令間隔被加長(zhǎng)。在第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ǔ)器類(lèi)似的配置,不同之處只是刷新電路具有圖60所示的配置。圖61是表示第2刷新電路2083的配置的電路圖。
      如圖60所示,第2實(shí)施例的刷新電路包括將圖43C的刷新定時(shí)器2051和刷新指令發(fā)生器2052組合起來(lái)的定時(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)通過(guò)延遲裝置時(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)問(wèn)題,而當(dāng)只有一個(gè)端口經(jīng)受這種改變時(shí)不存在問(wèn)題,所以得到這個(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是為了便于說(shuō)明起見(jiàn)將單個(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說(shuō)明只有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方面。
      存在若干種多端口存儲(chǔ)器。下文中,涉及具有多個(gè)端口的存儲(chǔ)器,并允許從各端口相互獨(dú)立地存取一個(gè)公共存儲(chǔ)器陣列。例如,兩個(gè)端口型的多端口存儲(chǔ)器裝備有A端口和B端口,并允許從與A端口鏈接的CPU-A和從與B端口鏈接的CPU-B獨(dú)立地進(jìn)行到公共存儲(chǔ)器的讀/寫(xiě)存取。
      作為這類(lèi)多端口存儲(chǔ)器,具有SRAM存儲(chǔ)器陣列的存儲(chǔ)器是已知的,其中在復(fù)制組中提供各字線和各位線對(duì),每個(gè)存儲(chǔ)單元都與2組字線和位線對(duì)連接。然而,這個(gè)多端口存儲(chǔ)器具有電路密度低的問(wèn)題,其中需要提供字線和位線對(duì)的復(fù)制組。
      為了消除這個(gè)問(wèn)題,可以用與具有多個(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)的操作。防止這種問(wèn)題發(fā)生的最簡(jiǎn)單的方法是對(duì)每個(gè)端口產(chǎn)生一個(gè)BUSY信號(hào)以便防止當(dāng)從一個(gè)端口作出存取時(shí)到另一個(gè)端口的存取。然而,這引起限制存儲(chǔ)器用度的問(wèn)題??紤]到這一點(diǎn),為一個(gè)公共存儲(chǔ)器提供一個(gè)稱(chēng)為判優(yōu)器的判優(yōu)電路,判優(yōu)電路確定多個(gè)端口接收的存取要求的優(yōu)先權(quán)。構(gòu)造存儲(chǔ)器陣列的控制器,以?xún)?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ǔ)單元,為了讀/寫(xiě)操作存取該存儲(chǔ)單元,使該存儲(chǔ)單元復(fù)位,所有這些操作都是在響應(yīng)單個(gè)存取時(shí)被執(zhí)行的。
      當(dāng)完成一個(gè)共用存儲(chǔ)器時(shí),一般,常規(guī)地將SRAM用作存儲(chǔ)器陣列。這是因?yàn)镾RAM能夠進(jìn)行高速隨機(jī)存取操作,又,因?yàn)椴恍枰⑿虏僮鳎院苋菀资褂肧RAM。而且,單塊芯片的多端口存儲(chǔ)器通常具有字線和位線對(duì)的復(fù)制組,但是在具有通常的SRAM配置的存儲(chǔ)器陣列的基礎(chǔ)上的單塊芯片的多端口存儲(chǔ)器還沒(méi)有在實(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è)問(wèn)題。
      在常規(guī)的DRAM中,需要從器件外部以恒定間隔在讀/寫(xiě)指令之間提供刷新指令。為此,在以DRAM為基礎(chǔ)的系統(tǒng)中的控制器器件具有用于刷新管理的定時(shí)器和/或控制電路。然而,在用以SRAM為基礎(chǔ)的多端口存儲(chǔ)器的系統(tǒng)中不提供這樣一個(gè)電路。甚至在以DRAM為基礎(chǔ)制成存儲(chǔ)器的情形中,在這些系統(tǒng)中需要能以與常規(guī)的多端口存儲(chǔ)器相同的方式使用這種存儲(chǔ)器。即,具有由DRAM組成的存儲(chǔ)器陣列的多端口存儲(chǔ)器需要由它自己來(lái)進(jìn)行刷新操作。
      當(dāng)判優(yōu)器輸出忙碌信號(hào)時(shí),存在著如上所述使用存儲(chǔ)器相當(dāng)麻煩的問(wèn)題。
      本發(fā)明的目的是提供具有由DRAM芯組成的存儲(chǔ)器陣列,而且不需要考慮刷新任何刷新操作就能使用的多端口存儲(chǔ)器,從而以低的成本提供具有大存儲(chǔ)容量并且容易使用的多端口存儲(chǔ)器。
      為了消除上述的問(wèn)題,配置本發(fā)明的多端口半導(dǎo)體存儲(chǔ)器件使它能夠在長(zhǎng)度為每個(gè)外部端口的最小輸入周期m(m→2)倍的時(shí)間周期中執(zhí)行n個(gè)內(nèi)部操作,其中滿(mǎn)足mN<n<m(N+1)。
      上述條件要求將N個(gè)端口的每一個(gè)的最小指令周期設(shè)置在允許N個(gè)內(nèi)部操作周期的時(shí)間周期加比單個(gè)內(nèi)部操作周期短的時(shí)間周期α上。例如當(dāng)N=2時(shí),將每個(gè)端口的最小外部指令周期設(shè)置在允許2個(gè)內(nèi)部操作周期的時(shí)間周期加時(shí)間周期α上。這里,時(shí)間周期α比一個(gè)內(nèi)部操作周期短。
      本發(fā)明利用允許2個(gè)內(nèi)部操作周期的時(shí)間周期以便消除由于判優(yōu)器輸出忙碌信號(hào)引起的存儲(chǔ)器使用麻煩的問(wèn)題,并利用時(shí)間周期α解決刷新操作問(wèn)題。
      圖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í)間周期長(zhǎng)。分別將時(shí)鐘脈沖CLKA和CLKB輸入A端口和B端口,與對(duì)應(yīng)的時(shí)鐘脈沖同步地實(shí)施指令,地址和數(shù)據(jù)到外部端口的輸入和從外部端口的輸出。雖然未加說(shuō)明,但是與指令同時(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)是從輸入讀指令開(kāi)始的第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í)間tα。
      當(dāng)內(nèi)部產(chǎn)生刷新指令時(shí),器件的內(nèi)部電路快速操作。這里,快速意味著執(zhí)行操作而不產(chǎn)生額外時(shí)間tα。當(dāng)產(chǎn)生刷新指令時(shí),器件實(shí)施刷新操作。因?yàn)橥瑫r(shí)將指令輸入A端口和B端口,所以要被處理的指令將積累起來(lái)。器件快速地一個(gè)接一個(gè)地執(zhí)行指令而不提供額外時(shí)間tα。雖然將指令一個(gè)接一個(gè)地輸入A端口和B端口,但是只有在比外部指令周期長(zhǎng)的間隔發(fā)生刷新指令,只有指令A(yù)和指令B必須被執(zhí)行直到產(chǎn)生下一個(gè)刷新指令。因?yàn)閮?nèi)部指令的處理速度較快,所以在結(jié)束時(shí)將不會(huì)有積累的指令。換句話說(shuō),內(nèi)部處理將趕上外部指令的輸入。此后,器件回到它的例行程序操作。通過(guò)考慮到外部端口的數(shù)目,內(nèi)部操作周期的數(shù)目,刷新間隔等確定額外時(shí)間α。
      因?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(zhǎng)于兩個(gè)內(nèi)部操作周期的外部指令周期就是器件適當(dāng)操作所需要的一切,所以數(shù)據(jù)傳輸速率是相當(dāng)高的。
      如上所述,本發(fā)明能夠取消來(lái)自器件外部的刷新操作,并將外部指令周期設(shè)置得稍長(zhǎng)于兩個(gè)內(nèi)部操作周期。不需要刷新來(lái)自外部裝置的控制,甚至當(dāng)在內(nèi)部執(zhí)行刷新操作時(shí),這對(duì)外部裝置是完全看不見(jiàn)的,并且不影響從外部裝置看的器件操作的方式。因此,可以從每個(gè)外部端口進(jìn)行到存儲(chǔ)器的存取而不用考慮其它端口。
      在這個(gè)方式中,本發(fā)明能夠提供用DRAM存儲(chǔ)單元的多端口存儲(chǔ)器,它有大容量和快的數(shù)據(jù)傳輸速率,同時(shí)允許使用存儲(chǔ)器而不用考慮任何刷新操作就像它在SRAM的基礎(chǔ)上完成一樣。
      在圖73的例子中,響應(yīng)一個(gè)讀指令與外部時(shí)鐘脈沖同步地輸出一項(xiàng)讀數(shù)據(jù)。即,脈沖串長(zhǎng)度為1。所以,在一個(gè)時(shí)鐘脈沖周期中完成讀數(shù)據(jù)的輸出后,在外部指令周期的3個(gè)留下的時(shí)鐘脈沖周期中外部端口不輸出任何數(shù)據(jù),這導(dǎo)致無(wú)效的數(shù)據(jù)傳輸。這個(gè)問(wèn)題能夠通過(guò)加長(zhǎng)脈沖串長(zhǎng)度來(lái)消除。
      圖74是用于解釋本發(fā)明原理的圖,表示脈沖串長(zhǎng)度為4的例子。在這個(gè)例子中,如以前的情形那樣,將兩個(gè)外部端口的外部指令周期設(shè)置在能夠提供2.2個(gè)內(nèi)部操作周期的長(zhǎng)度上。進(jìn)一步,一個(gè)外部指令周期對(duì)應(yīng)于4個(gè)時(shí)鐘脈沖周期。與時(shí)鐘脈沖同步地以提供數(shù)據(jù)等待時(shí)間為6的方式在單個(gè)外部指令周期中從一個(gè)外部端口輸出數(shù)據(jù)4次。所以,如果根據(jù)一個(gè)外部指令周期的時(shí)鐘脈沖周期的數(shù)目設(shè)置脈沖串長(zhǎng)度,則在兩個(gè)端口中都能夠達(dá)到無(wú)間隙的讀操作,從而非常大地促進(jìn)了數(shù)據(jù)傳輸速率的提高。在這個(gè)情形中,需要響應(yīng)單個(gè)存取將與脈沖串長(zhǎng)度一樣多的數(shù)據(jù)項(xiàng)內(nèi)部地輸入存儲(chǔ)器陣列或從存儲(chǔ)器陣列輸出。例如,如果一個(gè)外部端口的數(shù)據(jù)輸入/輸出銷(xiāo)數(shù)目為4和脈沖串長(zhǎng)度為4,則需要保證通過(guò)單個(gè)存取操作將16位數(shù)據(jù)從存儲(chǔ)器陣列輸出或輸入存儲(chǔ)器陣列。
      我們應(yīng)該注意到A端口和B端口不一定同步地操作,只要設(shè)置最小周期等于對(duì)于N個(gè)內(nèi)部操作周期加上比單個(gè)內(nèi)部操作周期短的持續(xù)時(shí)間α需要的持續(xù)時(shí)間,就能夠相互獨(dú)立地將各外部指令周期設(shè)置在任何定時(shí)。
      圖75和圖76是表示在2,3和N個(gè)端口的情形中在一個(gè)最小外部指令周期和各內(nèi)部操作周期之間的關(guān)系的圖。如圖所示,如果端口數(shù)為2,則最小外部指令周期是允許2個(gè)內(nèi)部操作的時(shí)間長(zhǎng)度加上α,如果端口數(shù)為3,則最小外部指令周期是允許3個(gè)內(nèi)部操作的時(shí)間長(zhǎng)度加上α。進(jìn)一步,如果端口數(shù)為N,則最小外部指令周期等于其間能執(zhí)行N+1個(gè)內(nèi)部操作的時(shí)間長(zhǎng)度加上時(shí)間長(zhǎng)度α。
      圖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ù)從器件外部提供的各分開(kāi)的時(shí)鐘頻率進(jìn)行操作。將數(shù)據(jù)等待時(shí)間和脈沖串長(zhǎng)度存儲(chǔ)在模寄存器3031和3041中,使它們能被分別地設(shè)置。數(shù)據(jù)I/O電路3033和3043裝備有根據(jù)脈沖串長(zhǎng)度實(shí)施輸出/輸出數(shù)據(jù)的并行到串行變換和串行到并行變換的機(jī)構(gòu)。
      刷新電路3050包括刷新定時(shí)器3051和刷新指令發(fā)生器3052。刷新定時(shí)器3051在預(yù)定間隔上產(chǎn)生刷新開(kāi)始信號(hào),和刷新指令發(fā)生器3052對(duì)應(yīng)地產(chǎn)生刷新指令。
      分別將加到A端口和B端口的指令存儲(chǔ)在指令寄存器A 28A和指令寄存器B 28B中。分別將地址存儲(chǔ)在地址寄存器A 19A和地址寄存器B 19B中,分別將寫(xiě)入的數(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ù)寄存器(在寫(xiě)操作情形)。在DRAM芯3011中,控制電路3014響應(yīng)提供的指令,控制譯碼器3013,寫(xiě)放大器(WriteAmp)3015,和讀出緩沖器3016,從而對(duì)于存儲(chǔ)器陣列3012實(shí)施存取操作。在寫(xiě)操作的情形中,譯碼器3013為了進(jìn)行寫(xiě)操作對(duì)存取的地址進(jìn)行譯碼,以便激活在存儲(chǔ)器陣列3012中的字線和列信號(hào)線,導(dǎo)致將存儲(chǔ)在Write數(shù)據(jù)寄存器A和B中的寫(xiě)數(shù)據(jù)通過(guò)WriteAmp 3015寫(xiě)入存儲(chǔ)器陣列3012。在讀操作的情形中,以類(lèi)似的方式存取存儲(chǔ)器陣列3012,導(dǎo)致分別通過(guò)標(biāo)記為3024A和3024B的傳輸門(mén)A和B,將讀數(shù)據(jù)從讀出緩沖器3016傳輸?shù)礁鞫丝诘臄?shù)據(jù)輸出電路。根據(jù)DRAM芯3011的操作周期,控制傳輸門(mén)的傳輸定時(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-1)時(shí)鐘延遲電路3038,B端口的指令輸入裝置3045包括輸入緩沖器3046,指令譯碼器3047和(m-1)時(shí)鐘延遲電路3048。這里,n和m是脈沖串長(zhǎng)度。而且,如圖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和RB1,而在Write指令情形分別產(chǎn)生WA1和WB1。分別將信號(hào)RA1和RB1傳輸給Read指令寄存器AR和BR,不需要任何定時(shí)操作,而信號(hào)WA1和WB1被(n-1)時(shí)鐘延遲電路3038和(m-1)時(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è)出來(lái)如該圖所示。每個(gè)比較器3053比較兩個(gè)指令寄存器的定時(shí),并首先輸入“H”時(shí)將它的輸出改變成“H”。AND門(mén)3054通過(guò)檢測(cè)相關(guān)比較器3053的所有相關(guān)輸出是否是“H”來(lái)確定一個(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)還沒(méi)有產(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)N1產(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”脈沖未端N1變成“H”時(shí),將下一個(gè)在線的指令傳輸給指令寄存器3025。此后重復(fù)上述的操作。
      圖82和圖83是表示指令寄存器3025的配置的圖。將指令寄存器3025分成兩半并表示在兩個(gè)圖中。
      指令寄存器3025主要包括移位寄存器3092,移位寄存器3092在其中存儲(chǔ)指令,將這些指令連續(xù)地輸出到DRAM芯3011,并包括將從判優(yōu)器3026接收的指令傳輸?shù)揭莆患拇嫫?092的開(kāi)關(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。在沒(méi)有指令存儲(chǔ)在寄存器3085-3087的狀態(tài)中,標(biāo)志3088-3090都處于低的狀態(tài)(FL1-FL3=“L”),使得開(kāi)關(guān)3082(SW1)接上。通過(guò)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),則門(mén)3097打開(kāi)將寄存器3085的指令傳輸給鎖存器3098,然后將指令發(fā)送給DRAM芯3011的控制電路3014。同時(shí),將對(duì)應(yīng)于該指令的地址等傳輸給DRAM芯3011。DRAM芯3011當(dāng)根據(jù)接到的指令開(kāi)始操作時(shí)取消準(zhǔn)備好接收指令的信號(hào)。于是門(mén)3097關(guān)閉。寄存器控制電路3096產(chǎn)生促使寄存器3086的數(shù)據(jù)移到寄存器3085和寄存器3087的數(shù)據(jù)移到寄存器3086的移位信號(hào)。如果在移位信號(hào)產(chǎn)生前寄存器3086中沒(méi)有存儲(chǔ)指令,則移位操作導(dǎo)致使寄存器3085復(fù)位和使FL1變成“L”。寄存器控制電路3096在產(chǎn)生移位信號(hào)同時(shí)產(chǎn)生禁止傳輸信號(hào)以便斷開(kāi)SW1-SW3,從而當(dāng)移位操作時(shí)禁止將數(shù)據(jù)傳送到移位寄存器3092。當(dāng)通過(guò)SW1將第1指令(指令1)加到寄存器3085時(shí),如果DRAM芯3011正在執(zhí)行前一個(gè)指令則將指令存儲(chǔ)在寄存器3085中。FL1變成“H”,它斷開(kāi)SW1,并進(jìn)一步在一個(gè)預(yù)定延遲后斷開(kāi)SW2。這里,預(yù)定延遲與從產(chǎn)生指令接收確認(rèn)到使判優(yōu)器輸出復(fù)位的時(shí)間周期對(duì)應(yīng)。如果在DRAM芯3011準(zhǔn)備好接收指令前加上來(lái)自判優(yōu)器3026的下一個(gè)指令(指令2),則通過(guò)SW2將指令存儲(chǔ)在寄存器3086中。FL2變成“H”,它產(chǎn)生指令接收確認(rèn)并斷開(kāi)SW2,接著在一個(gè)預(yù)定延遲時(shí)間后進(jìn)一步斷開(kāi)SW3。當(dāng)DRAM芯處在能接收指令的狀態(tài)時(shí),產(chǎn)生準(zhǔn)備接收指令信號(hào),打開(kāi)門(mén)3097,使得將寄存器3085的指令1傳輸給鎖存器3098,然后傳輸給DRAM芯3011。DRAM芯3011當(dāng)根據(jù)指令1開(kāi)始操作時(shí)取消準(zhǔn)備接收指令信號(hào)。相應(yīng)地,門(mén)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”,F(xiàn)L2和FL3為“L”,所以接上SW2而斷開(kāi)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)行說(shuō)明。圖中所示的SW1到SW3的數(shù)目指出連接的SW,并說(shuō)明了連接SW的持續(xù)時(shí)間。進(jìn)一步,電阻1到3分別對(duì)應(yīng)于寄存器3085到3087。
      圖87是表示根據(jù)第1實(shí)施例與地址處理有關(guān)的部分的配置的圖。下文中,在它的信號(hào)名稱(chēng)的未端具有字母“P”的信號(hào)代表具有從對(duì)應(yīng)的信號(hào)名稱(chēng)的信號(hào)的前沿產(chǎn)生的脈沖的信號(hào)。如圖所示,地址輸入電路3034和3044分別包括輸入緩沖器3057A和3057B,傳輸門(mén)3058A和3058B。進(jìn)一步,地址寄存器3019A和地址寄存器3019B分別包括地址鎖存器A1到A4和B1到B4,傳輸門(mén)3059A到3063A和3059B到3063B。通過(guò)地址總線3017將從傳輸門(mén)3062A,3062B,3063A,3063B提供的地址傳輸?shù)紻RAM芯3011。進(jìn)一步,通過(guò)傳輸門(mén)3064和地址總線3017將從刷新地址計(jì)數(shù)器/寄存器3018提供的刷新地址傳輸?shù)紻RAM芯3011。
      當(dāng)從器件外部輸入Read指令或Write指令時(shí),分別通過(guò)傳輸門(mén)3058A或3058B將加到輸入緩沖器3057A或3057B的地址和輸入指令同時(shí)傳輸給地址鎖存器A1或B1。在Read指令的情形中,通過(guò)傳輸門(mén)3061A和3063A或3061B和3063B和地址鎖存器A4或B4與到DRAM芯的指令傳輸同步地將地址傳送給DRAM芯3011。在Write指令的情形中,進(jìn)一步在上次數(shù)據(jù)采集的定時(shí)將地址傳輸給地址鎖存器A2或B2,然后,與到DRAM芯的指令傳輸同步地通過(guò)傳輸門(mén)3062A或3062B傳輸給DRAM芯3011。進(jìn)一步,刷新地址計(jì)數(shù)器/寄存器3018產(chǎn)生并在其中保存刷新地址,然后與刷新指令到DRAM芯的傳輸同步地通過(guò)傳輸門(mén)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。如圖所示,將通過(guò)讀出緩沖器3016從存儲(chǔ)器陣列3012讀出的數(shù)據(jù)通過(guò)數(shù)據(jù)總線3021和傳輸門(mén)3024A或3024B分別傳輸給為了輸出數(shù)據(jù)的電路3065A或3065B。
      為了輸出數(shù)據(jù)的電路3065A和3065B分別包括數(shù)據(jù)鎖存器A1或B1,傳輸信號(hào)發(fā)生電路3067A和3067B,傳輸門(mén)3068A或3068B,數(shù)據(jù)鎖存器A2或B2,并行到串行變換器3070A和3070B,以及輸出緩沖器3071A和3071B。
      傳輸門(mén)3024A和3024B由DRAM芯3011的控制電路3014根據(jù)內(nèi)部操作進(jìn)行控制。如果執(zhí)行的指令是Read-A(即,對(duì)于A端口的讀操作),則傳輸門(mén)3024A將打開(kāi)。如果執(zhí)行的指令是Read-B,則傳輸門(mén)3024B將打開(kāi)。數(shù)據(jù)鎖存器A1或B1在其中存儲(chǔ)數(shù)據(jù),然后在通過(guò)傳輸門(mén)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,通過(guò)傳輸門(mén)3068A和3068B傳輸讀數(shù)據(jù),所以讀數(shù)據(jù)從讀操作的定時(shí)開(kāi)始被延遲與等待時(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。分別通過(guò)第1個(gè)Write數(shù)據(jù)寄存器3078A和3078B,數(shù)據(jù)傳輸門(mén)3079A和3079B,第2個(gè)Write數(shù)據(jù)寄存器3080A和3080B,數(shù)據(jù)傳輸門(mén)3081A和3081B,以及數(shù)據(jù)總線3021將來(lái)自數(shù)據(jù)傳輸裝置3077A和3077B的Write數(shù)據(jù)WDA和WDB傳送給WriteAmp 3015,然后被寫(xiě)入存儲(chǔ)器陣列3012。
      根據(jù)脈沖串長(zhǎng)度將串行輸入數(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是為了便于說(shuō)明起見(jiàn)將單個(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)同步地取得指令,地址和寫(xiě)數(shù)據(jù),并與時(shí)鐘信號(hào)同步地輸出檢索的數(shù)據(jù)。在這個(gè)例子中,A端口操作在最大時(shí)鐘頻率,而B(niǎo)端口操作在稍低的時(shí)鐘頻率。對(duì)于A端口,Read指令周期=4(CLKA),數(shù)據(jù)等待時(shí)間=6(CLKA),和脈沖串長(zhǎng)度=4。對(duì)于B端口,Read指令周期=2(CLKB),數(shù)據(jù)等待時(shí)間=3(CLKB),和脈沖串長(zhǎng)度=2。在各端口的模寄存器3031和3041中分別設(shè)置數(shù)據(jù)等待時(shí)間和脈沖串長(zhǎng)度。對(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-B1和Read-A2之間存在額外時(shí)間,并直到這個(gè)點(diǎn)都實(shí)施正常的和例行程序操作。當(dāng)發(fā)生刷新時(shí),在Read-A2后立即實(shí)施刷新而在其間沒(méi)有任何時(shí)間間隙。此后,相繼實(shí)施Read-B2,Read-A3等而沒(méi)有任何時(shí)間間隙直到執(zhí)行Read-A5。與正常的和例行程序操作相反,直到這個(gè)點(diǎn)都執(zhí)行快速操作。
      由于刷新指令的執(zhí)行,內(nèi)部操作相對(duì)于來(lái)自器件外部的指令輸入顯示出一些延遲??焖俨僮餮a(bǔ)償該延遲,在執(zhí)行指令Read-A5前趕上。在Read-A5和Read-B5之間再次存在額外時(shí)間,指出回到正常的和例行程序操作。將通過(guò)讀出緩沖器3016從DRAM芯3011讀出的數(shù)據(jù)通過(guò)傳輸門(mén)傳輸給接收對(duì)應(yīng)的Read指令的端口的數(shù)據(jù)鎖存器(數(shù)據(jù)鎖存器A1或B1)。數(shù)據(jù)鎖存器A1或B1為數(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í),從外部看來(lái)數(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,和脈沖串長(zhǎng)度=4。如從圖可見(jiàn)的那樣,在這個(gè)情形中也可以適當(dāng)?shù)貙?shí)施操作。
      圖98和圖99是表示當(dāng)兩個(gè)端口都操作在最高頻率,并用內(nèi)部產(chǎn)生的刷新指令經(jīng)受從Write寫(xiě)指令到Read讀指令的改變時(shí)實(shí)施的操作的時(shí)間圖。這是指令最擁擠的情形。
      如所說(shuō)明的那樣,DRAM芯3011以Ref→Write-A1→Write-B1→Read-A2→Read-B2的次序進(jìn)行操作,在它們之間沒(méi)有任何間隙。在這個(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-B1后4個(gè)時(shí)鐘脈沖輸入Read-B2,則響應(yīng)Read-B2的數(shù)據(jù)輸出定時(shí)太接近DRAM芯操作的開(kāi)始時(shí)間,使得不能適當(dāng)?shù)貓?zhí)行Read-B2。因?yàn)檫@個(gè)原因,需要將Write→Read變遷的指令間隔設(shè)置得相當(dāng)長(zhǎng)如本例中的6個(gè)時(shí)鐘脈沖。
      關(guān)于Read→Write的指令間隔,因?yàn)槌峭瓿闪薘ead數(shù)據(jù)的輸出,不能將Write數(shù)據(jù)輸入DQ端子中,所以指令間隔不可避免地變得很長(zhǎng)。
      圖100A和100B是表示DRAM芯3011操作的定時(shí)圖。圖100A表示Read操作,圖100B表示W(wǎng)rite操作。如這些圖所示,響應(yīng)單個(gè)指令以字線選擇→數(shù)據(jù)放大→寫(xiě)回→預(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方面。
      多端口存儲(chǔ)器,它們是裝備有多個(gè)端口的半導(dǎo)體存儲(chǔ)器,可以分成不同的類(lèi)型。當(dāng)下文中使用術(shù)語(yǔ)“多端口存儲(chǔ)器”時(shí),它指的是具有多端口的存儲(chǔ)器,該存儲(chǔ)器允許從任何一個(gè)端口獨(dú)立地存取公共存儲(chǔ)器陣列。這樣一個(gè)存儲(chǔ)器可以具有A端口和B端口,并允許對(duì)于公共存儲(chǔ)器陣列從與A端口鏈接的CPU和從與B端口鏈接的CPU獨(dú)立地進(jìn)行讀/寫(xiě)操作。
      一個(gè)多端口存儲(chǔ)器裝備有稱(chēng)為判優(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)來(lái)自給定端口的存取要求使一條字線保持在選擇狀態(tài),和如一般在DRAM中使用的列存取操作中那樣連續(xù)地動(dòng)移各列地址以便讀出連續(xù)的數(shù)據(jù),則當(dāng)該操作期間來(lái)自另一個(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í)施讀/寫(xiě)操作,另一個(gè)端口用另一組字線和位線對(duì)實(shí)施讀/寫(xiě)操作。在這種方式中,能夠從兩個(gè)不同的端口獨(dú)立地實(shí)施讀/寫(xiě)操作。然而,因?yàn)楫?dāng)兩個(gè)端口企圖在同一時(shí)間將數(shù)據(jù)寫(xiě)入同一存儲(chǔ)單元時(shí)不可能同時(shí)進(jìn)行兩個(gè)寫(xiě)操作,所以給予一個(gè)端口進(jìn)行寫(xiě)操作的優(yōu)先權(quán),而給予另一個(gè)端口BUSY(忙碌)信號(hào)。這稱(chēng)為BUSY狀態(tài)。
      當(dāng)開(kāi)發(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ǔ)單元提出寫(xiě)要求時(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)的問(wè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)來(lái)自器件外部的指令執(zhí)行刷新操作的操作模式,和響應(yīng)來(lái)自?xún)?nèi)部刷新電路的指令執(zhí)行刷新操作的操作模式。這使在這樣一種方式,即將預(yù)定外部端口指定作為一個(gè)用于在恒定的間隔接收刷新指令進(jìn)行刷新管理的端口中用多端口存儲(chǔ)器成為可能,或者使在這樣一種方式,即當(dāng)所有的外部環(huán)部端口都處于去激活狀態(tài)時(shí)內(nèi)部刷新電路開(kā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)I/O裝置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ú)立地建立到外部總線的存取和來(lái)自外部總線的存取。模寄存器4031和4041能夠在其中存儲(chǔ)對(duì)于各端口的模式設(shè)定如數(shù)據(jù)等待時(shí)間和脈沖串長(zhǎng)度。在這個(gè)實(shí)施例中,A端口4011和B端口4012兩者都具有各自的模寄存器,使每個(gè)端口都能進(jìn)行模式設(shè)定。然而,可以將模寄存器只安排在一個(gè)端口中,例如,使得對(duì)于2個(gè)端口的設(shè)置可以由對(duì)這一個(gè)端口的設(shè)置來(lái)實(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開(kāi)始它的操作。
      存儲(chǔ)塊4014-1到4014-n每個(gè)都與內(nèi)部總線A 4020-1和內(nèi)部總線B 4020-2連接。存在多個(gè)外部端口(即,A端口和B端口),其中A端口4011通過(guò)總線A 4020-1與存儲(chǔ)塊4014-1到4014-n中每一個(gè)接口,和B端口4012通過(guò)總線A 4020-2與存儲(chǔ)塊4014-1到4014-n中每一個(gè)接口。
      如果在同一個(gè)時(shí)間輸入來(lái)自A端口4011的存取要求和來(lái)自B端口4012的存取要求,則假定這些存取要求是指向不同的存儲(chǔ)塊的,存取存儲(chǔ)塊就對(duì)應(yīng)于這些存取要求獨(dú)立地實(shí)施它們的操作。
      如果來(lái)自A端口4011的存取要求和來(lái)自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ì)的說(shuō),地址比較器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ū)懼噶钏龅哪菢?,則判優(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指令(寫(xiě)入指令),則地址改變電路4017將從外部輸入到A端口4011的地址傳輸給總線A 4020-1。如果輸入到A端口4011的指令是刷新指令,則將由刷新地址計(jì)數(shù)器4016產(chǎn)生的地址傳輸給總線A 4020-1。
      如果輸入到B端口4012的指令是Read指令(讀出指令)或Write指令(寫(xiě)入指令),則地址改變電路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í)施例中,通過(guò)總線A 4020-1將自刷新指令和刷新地址傳輸給存儲(chǔ)塊4014-1到4014-n。因?yàn)樽运⑿虏慌cA端口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+1)的Read指令。首先將Read-0輸入到A端口4011,然后將Read-3輸入到B端口4012。在這個(gè)情形中,存取的存儲(chǔ)塊是不同的,使得存儲(chǔ)塊4014-1和存儲(chǔ)塊4014-4并行地操作。
      此后,將Read-1輸入到A端口4011,接著將Read-1輸入到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-1。
      圖103是表示根據(jù)本發(fā)明的多端口存儲(chǔ)器4010操作的另一個(gè)例子的定時(shí)圖。
      圖103所示的操作直到將第2個(gè)指令Read-1輸入A端口4011和B端口4012,產(chǎn)生BUSY-B為止都與圖102的相同。在這個(gè)例子中,在響應(yīng)輸入到B端口4012的Read-1發(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ù)是脈沖串型的。即,通過(guò)從多個(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ù)寫(xiě)入相關(guān)存儲(chǔ)塊的多個(gè)列地址中。使用這種脈沖串操作能夠增加數(shù)據(jù)傳輸速率。在這個(gè)例子中,脈沖串長(zhǎng)度為4,使連續(xù)地輸出/輸入4個(gè)數(shù)據(jù)項(xiàng)。
      在Write操作的情形,除非輸入所有的4個(gè)數(shù)據(jù)項(xiàng),否則不能開(kāi)始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í)在其它的指令輸入前面,但是在寫(xiě)數(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-1)時(shí)鐘延遲電路4063。指令譯碼器寄存器4044包括輸入緩沖器4071,指令譯碼器4072和(n-1)時(shí)鐘延遲電路4073。
      如果輸入到輸入緩沖器4061或4071的指令是Read指令(RA1,RB1)或刷新指令(REFA,REFB),通過(guò)指令譯碼器4062或4072將輸入指令傳輸給判優(yōu)器4015而不需要任何定時(shí)操作。在Write指令(WA1,WB1)的情形,輸入指令被(n-1)時(shí)鐘延遲電路4063或4073延遲(n-1)個(gè)時(shí)鐘周期,在給出一系列脈沖串寫(xiě)輸入的最后的第n個(gè)數(shù)據(jù)項(xiàng)的定時(shí)傳輸給判優(yōu)器4015。
      圖106是根據(jù)本發(fā)明的實(shí)施例的判優(yōu)器4015的方框圖。
      判優(yōu)器4015包括寄存器4081,延遲電路4082,傳輸門(mén)4083,寄存器4084,寄存器4085,延遲電路4086,傳輸門(mén)4087,寄存器4088,NOR電路4091和4092,NAND電路4093到4096,倒相器4097到4101,與NOR電路4102和4103。
      將從指令譯碼寄存器4034或4044傳輸過(guò)來(lái)的指令分別存儲(chǔ)在寄存器4081或4085中。當(dāng)將指令輸入給予A端口4011時(shí),在是倒相器4097的輸出端的節(jié)點(diǎn)N1產(chǎn)生HIGH信號(hào)。當(dāng)將指令輸入給予B端口4012時(shí),在是倒相器4100的輸出端的節(jié)點(diǎn)N2產(chǎn)生HIGH信號(hào)。將N1的信號(hào)或N2的信號(hào)中較早的一個(gè)鎖存在節(jié)點(diǎn)N3或N4中。
      如果在A端口4011和B端口4012之間塊選擇地址不匹配,則地址比較器4019產(chǎn)生為L(zhǎng)OW的匹配信號(hào)。所以,在這個(gè)情形中,將N5和N6設(shè)置在HIGH。響應(yīng)這些HIGH信號(hào),傳輸門(mén)A 4083和傳輸門(mén)B 4087兩者都打開(kāi),無(wú)例外地將寄存器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),傳輸門(mén)A 4083打開(kāi),將A端口4011的指令傳輸給寄存器4084。進(jìn)一步,N6的LOW狀態(tài)關(guān)閉傳輸門(mé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組合起來(lái)。在這個(gè)方式中對(duì)于A端口4011產(chǎn)生的刷新指令信號(hào)REFA2與B端口4012的刷新指令信號(hào)REFB2組合起來(lái)以便產(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指令RB1早的情形。在與上述相同的方式中,節(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)N1和N2的信號(hào)電平,并從判優(yōu)器4015傳輸出Read指令RA2。取消B端口4012的Read指令而不輸出,并產(chǎn)生BUSY1-B信號(hào)。
      圖108是地址緩沖器/寄存器和地址改變電路的方框圖。
      在圖108中,具有在信號(hào)名稱(chēng)(例如RA1)的未端加上字母“P”的信號(hào)名稱(chēng)(例如RA1P)的信號(hào)是通過(guò)在具有后一個(gè)信號(hào)名稱(chēng)(例如RA1)的信號(hào)的前沿定時(shí)產(chǎn)生脈沖而產(chǎn)生的。
      A端口4011的地址緩沖器/寄存器4035包括輸入緩沖器4035-1,傳輸門(mén)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輸出的寫(xiě)指令信號(hào)WA1,將前沿轉(zhuǎn)變?yōu)槊}沖,產(chǎn)生脈沖信號(hào)WA1P,然后將它加到OR電路4035-3的另一個(gè)輸入端。將OR電路4035-3的輸出加到傳輸門(mén)4035-2作為發(fā)出進(jìn)行數(shù)據(jù)傳輸?shù)闹噶畹膫鬏敹ㄏ蛐盘?hào)。
      B端口4012的地址緩沖器/寄存器4045包括輸入緩沖器4045-1,傳輸門(mén)4045-2和OR電路4045-3。對(duì)于B端口4012的地址緩沖器/寄存器4045的配置與對(duì)于A端口4011的地址緩沖器/寄存器4035的配置相同。
      地址改變電路4017包括地址鎖存器4017-1,傳輸門(mén)4017-2和4017-3,地址鎖存器4017-4,與OR電路4017-5和4017-6。OR電路4017-5接收信號(hào)RA1P和WAD1P,并將它的輸出加到傳輸門(mén)4017-2作為傳輸指示信號(hào)。OR電路4017-6接收信號(hào)REFAP和SR-AP,并將它的輸出加到傳輸門(mén)4017-3作為傳輸指示信號(hào)。
      地址改變電路4018包括地址鎖存器4018-1,傳輸門(mén)4018-2和4018-3,地址鎖存器4018-4,與OR電路4018-5。OR電路4018-5接收信號(hào)RB1P和WBD1P,并將它的輸出加到傳輸門(mén)4018-3作為傳輸指示信號(hào)。又將信號(hào)REFBP加到傳輸門(mén)4018-2作為傳輸指示信號(hào)。
      當(dāng)從器件外部輸入Read指令或Write指令時(shí),將與指令一起輸入的地址傳輸給地址改變電路4017或4018。在Read指令的情形中,將指令傳輸給地址鎖存器4017-4或4018-4而不需要任何定時(shí)操作。在Write指令的情形中,在取得一系列寫(xiě)數(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和寫(xiě)放大器4116。存儲(chǔ)器陣列4111包括DRAM存儲(chǔ)單元,存儲(chǔ)單元門(mén)晶體管,字線,位線,讀出放大器,列線,列門(mén)等,并存儲(chǔ)用于讀操作和寫(xiě)操作的數(shù)據(jù)??刂齐娐?112控制存儲(chǔ)塊4014-1的操作。寫(xiě)放大器4116放大寫(xiě)入存儲(chǔ)器陣列4111的數(shù)據(jù)。讀出緩沖器4115放大從存儲(chǔ)器陣列4111讀出的數(shù)據(jù)。
      控制電路4112與總線A 4020-1和總線B 4020-2連接,并響應(yīng)與它自己的存儲(chǔ)塊對(duì)應(yīng)的相關(guān)的存儲(chǔ)塊選擇地址被選出來(lái)。當(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ù)線連接起來(lái)。如果取得了總線B 4020-2指令,則控制總線選擇器4113使它向存儲(chǔ)器陣列4111發(fā)送總線B 4020-2的地址信號(hào)。進(jìn)一步,控制總線選擇器4114使它將讀出緩沖器4115或?qū)懛糯笃?116與總線B 4020-2的數(shù)據(jù)線連接起來(lái)。如果控制電路4112取得的指令是刷新指令,則總線選擇器4114不需要操作。
      如上所述選擇一條總線,然后,作為一系列的連續(xù)操作,連續(xù)地實(shí)施字線選擇,存儲(chǔ)單元數(shù)據(jù)放大,或者Read,Write或者Refresh(刷新),和預(yù)充電操作。
      圖110A和110B是表示存儲(chǔ)塊操作的定時(shí)圖。
      圖110A表示讀操作的情形,圖110B表示寫(xiě)操作的情形。在圖110A和110B所示操作定時(shí),響應(yīng)單個(gè)指令實(shí)施字線選擇,數(shù)據(jù)放大,或者讀操作或者寫(xiě)操作,寫(xiě)回(數(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)來(lái)自器件外部的指令實(shí)施刷新操作的操作模式,和用于響應(yīng)來(lái)自?xún)?nèi)部刷新電路的指令實(shí)施刷新操作的操作模式。這使得在這樣一種方式,即將預(yù)定外部端口指定作為用于在恒定的間隔接收刷新指令進(jìn)行刷新管理的端口中用多端口存儲(chǔ)器成為可能,或者使得在這樣一種方式,即當(dāng)所有的外部環(huán)部端口都處于去激活狀態(tài)時(shí)內(nèi)部刷新電路開(kāi)始刷新操作中用多端口存儲(chǔ)器成為可能。因此,本發(fā)明為遵從系統(tǒng)要求的靈活的刷新管理提供了基礎(chǔ)。
      下面我們描述本發(fā)明的第5方面。
      多端口存儲(chǔ)器具有兩組或多組輸入/輸出端子(即,多個(gè)輸入/輸出端口),并實(shí)施與接到的信號(hào)相應(yīng)的存儲(chǔ)操作。與普通的存儲(chǔ)器不同,可以同時(shí)執(zhí)行讀操作和寫(xiě)操作。例如,如果系統(tǒng)中存在多條總線,如果多個(gè)控制器(CPU等)需要用各條總線,則通過(guò)將多端口存儲(chǔ)器的輸入/輸出端口與各條總線連接起來(lái)能夠制成該系統(tǒng)。這就消除了用特殊設(shè)計(jì)的控制邏輯電路(FIFO邏輯電路等)的需要。
      而且,我們也將多個(gè)端口存儲(chǔ)器開(kāi)發(fā)成圖象存儲(chǔ)器(一般為雙端口報(bào)告存儲(chǔ)器)。圖象存儲(chǔ)器具有隨機(jī)存取端口,通過(guò)這些端口能夠?qū)崿F(xiàn)到任何存儲(chǔ)單元的存取,和與顯示裝置交換數(shù)據(jù)的串行存取端口。
      這類(lèi)多個(gè)端口存儲(chǔ)器在存儲(chǔ)單元區(qū)域中采用SRAM存儲(chǔ)芯或DRAM存儲(chǔ)芯。
      然而,我們還必須開(kāi)發(fā)這樣的多端口存儲(chǔ)器,它們接收在各輸入/輸出端口的不同時(shí)鐘信號(hào)并與時(shí)鐘信號(hào)同步地隨機(jī)地存取一個(gè)存儲(chǔ)單元區(qū)域。即,我們還不知道如何制成電路的詳細(xì)情況和如何控制這種時(shí)鐘同步的多端口存儲(chǔ)器。
      而且,常規(guī)的多端口存儲(chǔ)器(具體地雙端口存儲(chǔ)器)具有分別對(duì)于各組輸入/輸出端口的位線和讀出放大器。因?yàn)檫@個(gè)原因,存在存儲(chǔ)器芯的布局尺寸變大,從而不希望地增大多端口存儲(chǔ)器的芯片尺寸的問(wèn)題。
      因此,本發(fā)明的目的是提供允許能夠進(jìn)行隨機(jī)存取的時(shí)鐘同步的多端口存儲(chǔ)器。
      本發(fā)明的目的是進(jìn)一步提供在各組輸入/輸出端口接收相互不同的時(shí)鐘信號(hào),并以可靠的方式進(jìn)行操作的多端口存儲(chǔ)器。
      而且本發(fā)明的目的是提供能夠通過(guò)與其它的輸入/輸出端口的狀態(tài)無(wú)關(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ǔ)單元。通過(guò)與首先接到的地址信號(hào)上部分對(duì)應(yīng)的輸入/輸出端口輸入或輸出到與首先接到的地址信號(hào)上部分對(duì)應(yīng)的輸入/輸出端口,將由地址信號(hào)的下部分選擇的存儲(chǔ)單元的數(shù)據(jù)信號(hào)輸入到器件外部或從器件外部輸出。
      因?yàn)樗龅娜渴虑榫褪潜容^地址信號(hào),所以能夠?qū)⒖刂齐娐分瞥珊?jiǎn)單的電路。這使芯片尺寸減少。
      因?yàn)槊總€(gè)輸入/輸出端口都具有時(shí)鐘端子,所以對(duì)于每個(gè)輸入/輸出端口能夠分別地控制時(shí)鐘信號(hào)的頻率。即,能夠使具有不同操作頻率的多個(gè)控制器與多端口存儲(chǔ)器連接起來(lái)。
      在本發(fā)明的多端口存儲(chǔ)器中,在用于取得地址信號(hào)的時(shí)鐘信號(hào)的特定邊沿前的預(yù)定設(shè)置時(shí)間安排地址信號(hào)??刂齐娐酚迷跁r(shí)鐘信號(hào)的這個(gè)特定邊沿前安排的地址信號(hào)確定地址信號(hào)到達(dá)的次序。因此,能夠用首先接收的時(shí)鐘信號(hào)的邊沿確定地址信號(hào)到達(dá)的次序。這使在存儲(chǔ)芯開(kāi)始操作前可以識(shí)別具有優(yōu)先權(quán)的輸入/輸出端口,從而實(shí)現(xiàn)高速存儲(chǔ)操作。因?yàn)樵陬A(yù)定定時(shí)(即時(shí)鐘信號(hào)的邊沿)比較地址信號(hào),所以能夠防止與存儲(chǔ)操作無(wú)關(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ǔ)單元。通過(guò)與各地址信號(hào)對(duì)應(yīng)的輸入/輸出端口,連續(xù)地從器件外部輸入由地址信號(hào)下部分選擇的存儲(chǔ)單元的數(shù)據(jù)信號(hào)或?qū)⒂傻刂沸盘?hào)下部分選擇的存儲(chǔ)單元的數(shù)據(jù)信號(hào)輸出到器件外部。因此,對(duì)于所有的接收存儲(chǔ)操作要求的輸入/輸出端口沒(méi)有例外地實(shí)施存儲(chǔ)操作。
      即,在所有時(shí)間中多端口存儲(chǔ)器都處于備用狀態(tài)。與多端口存儲(chǔ)器連接的控制器不一定要檢測(cè)多端口存儲(chǔ)器的忙碌狀態(tài)。這通過(guò)硬件和軟件簡(jiǎn)化了控制器的操作。因?yàn)樗龅娜渴虑榫褪潜容^地址信號(hào),所以能夠?qū)⒖刂齐娐分瞥珊?jiǎn)單的電路。這使芯片尺寸減少。
      因?yàn)槊總€(gè)輸入/輸出端口都具有時(shí)鐘端子,所以對(duì)于每個(gè)輸入/輸出端口能夠分別地控制時(shí)鐘信號(hào)的頻率。即,能夠使具有不同操作頻率的多個(gè)控制器與多端口存儲(chǔ)器連接起來(lái)。
      在本發(fā)明的多端口存儲(chǔ)器中,每個(gè)輸入/輸出端口都具有指令端子,用于與控制存儲(chǔ)芯操作的時(shí)鐘信號(hào)同步地接收指令信號(hào)。在每個(gè)輸入/輸出端口中,在至少是讀操作和寫(xiě)操作需要的存儲(chǔ)芯的操作周期兩倍長(zhǎng)的間隔上,提供用于激活存儲(chǔ)芯的指令信號(hào)。如果多端口存儲(chǔ)器具有2個(gè)輸入/輸出端口或4個(gè)輸入/輸出端口,則可以分別將指令信號(hào)的間隔設(shè)置在操作周期的2倍或操作周期的4倍上。有了這些設(shè)置,多端口存儲(chǔ)器處于響應(yīng)外部控制器的備用狀態(tài)。
      如果在比預(yù)定間隔短的間隔上提供指令信號(hào),則指令信號(hào)在防止故障方面是無(wú)效的。如果將指令信號(hào)提供給不同的輸入/輸出端口,則即便間隔不比預(yù)定間隔短也接收這些指令信號(hào)。
      根據(jù)本發(fā)明,進(jìn)一步,從存儲(chǔ)單元讀出或?qū)懭氪鎯?chǔ)單元的數(shù)據(jù)通過(guò)緩沖器在數(shù)據(jù)輸入/輸出端口和存儲(chǔ)單元之間傳輸。緩沖器在其中存儲(chǔ)具有預(yù)定在數(shù)量上等于兩個(gè)或多個(gè)存儲(chǔ)單元的位數(shù)的數(shù)據(jù)。
      在開(kāi)始讀操作和寫(xiě)操作時(shí),例如,將具有預(yù)先確定數(shù)目的數(shù)據(jù)從存儲(chǔ)單元傳輸?shù)骄彌_器。在讀操作中,從緩沖器讀出與各地址信號(hào)對(duì)應(yīng)的數(shù)據(jù),并從數(shù)據(jù)輸入/輸出端口輸出到外部裝置。在寫(xiě)操作中,將與各地址信號(hào)對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)在緩沖器中,并在寫(xiě)操作結(jié)束時(shí)立即將緩沖器的數(shù)據(jù)寫(xiě)入存儲(chǔ)單元。
      在這種方式中,容易實(shí)施頁(yè)面操作。一般,當(dāng)頁(yè)面操作時(shí)存儲(chǔ)芯(讀出放大器等)必須保持在激活狀態(tài)。如果不提供本發(fā)明的緩沖器,則當(dāng)對(duì)于輸入/輸出端口實(shí)施的頁(yè)面操作時(shí)不可能對(duì)于另一個(gè)輸入/輸出端口實(shí)施存儲(chǔ)操作。在本發(fā)明中,在開(kāi)始操作時(shí)將存儲(chǔ)單元的數(shù)據(jù)傳輸給緩沖器,使得在這以后能夠立即使存儲(chǔ)芯去激活。結(jié)果,甚至當(dāng)頁(yè)面操作時(shí)與多端口存儲(chǔ)器連接的控制器也不一定要檢測(cè)多端口存儲(chǔ)器的忙碌狀態(tài)。
      下面我們參照所附各圖描述本發(fā)明(第5方面)的實(shí)施例。
      圖111表示根據(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)一步包括圖中未畫(huà)出的控制電路,譯碼器等。每個(gè)存儲(chǔ)單元包括存儲(chǔ)與數(shù)據(jù)信號(hào)值相應(yīng)的電荷的電容器。根據(jù)通過(guò)端口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ū)懭雽?xiě)數(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分別通過(guò)時(shí)鐘端子,地址端子,指令端子,數(shù)據(jù)輸入/輸出端子和忙碌端子進(jìn)行傳輸。提供激活指令A(yù)CT和操作指令(例如讀指令RD,寫(xiě)指令WR)等作為用于控制存儲(chǔ)芯操作的指令信號(hào)CMDA和CMDB。
      提供每個(gè)地址信號(hào)ADDA和ADDB作為相互分開(kāi)的行地址信號(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分別接收專(zhuān)門(mén)在輸入/輸出端口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是公用的。存儲(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)。
      類(lèi)似地,在激活啟動(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,和寫(xiě)啟動(dòng)信號(hào)WE,并將產(chǎn)生的信號(hào)加到存儲(chǔ)芯5040上。而且,控制信號(hào)鎖存器5036向判優(yōu)電路5034提供指示讀操作和寫(xiě)操作中的一個(gè)的讀/寫(xiě)指令信號(hào)RWCMD。
      列地址計(jì)數(shù)器5038根據(jù)關(guān)于從模寄存器5012a和5012b提供的脈沖串長(zhǎng)度的信息以及地址信號(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)來(lái)自EOR電路5042c的低電平信號(hào)切斷nMOS晶體管5042d,響應(yīng)來(lái)自EOR電路5042c的高電平信號(hào)接通nMOS晶體管5042d。即,從地址匹配電路5042a輸出的匹配信號(hào)/COIN1和/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的上端和下端如圖111所示(即,安排得接近輸入/輸出電路5010)。地址匹配電路5042a接近輸入/輸出電路5010的安排可以縮短地址信號(hào)ADDA和ADDB到地址匹配電路5042a的整個(gè)路經(jīng)上的傳播延遲。因此,可以在較早的定時(shí)比較地址信號(hào)ADDA和ADDB,從而得到高速操作。
      比較器5042b接收匹配信號(hào)/COIN1和/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)/COIN1和/COIN2并輸入到分別輸出脈沖PLSA和PLSB的各倒相器。將在比較器5042b中產(chǎn)生各脈沖信號(hào)的NAND門(mén)制成小尺寸的電路元件,使得當(dāng)從NAND門(mén)輸出的信號(hào)具有與匹配信號(hào)/COIN1和/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)/COIN1和/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í)使每個(gè)匹配信號(hào)/COIN1和/COIN2降到低電平(圖116-(a))。對(duì)應(yīng)地,圖114所示的脈沖發(fā)生器5042e迫使脈沖信號(hào)PLSA和PLSB降到低電平而與時(shí)鐘信號(hào)CLKA和CLKB無(wú)關(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說(shuō)明加到輸入/輸出端口PORT-A和PORT-B的信號(hào),虛線表示的行地址信號(hào)RA說(shuō)明由圖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)/COIN1和/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)??刂齐娐?044a接收復(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ū)懖僮鲿r(shí),在各預(yù)定周期中使復(fù)位信號(hào)RESETA和RESETB激活。延遲時(shí)鐘信號(hào)DCLKA和DCLKB是分別通過(guò)使時(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同步地提供有效指令A(yù)CT。
      控制電路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的相位。通過(guò)各模寄存器5012a和5012b將輸入/輸出端口PORT-A和PORT-B的脈沖串長(zhǎng)度兩者都設(shè)置得等于4。這里,脈沖串長(zhǎng)度是當(dāng)寫(xiě)或讀操作時(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í)說(shuō)明)設(shè)置它們的信號(hào)電平。
      因?yàn)榧拥蕉丝赑ORT-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è)方式中,通過(guò)用當(dāng)設(shè)置時(shí)間ts時(shí)提供的行地址信號(hào)RA和通過(guò)利用具有較早相位的時(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是無(wú)效的。
      輸入/輸出端口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í)說(shuō)明)的下一個(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。在輸出與脈沖串長(zhǎng)度(=4)一樣多的數(shù)據(jù)信號(hào)DQA后,存儲(chǔ)芯5040實(shí)施預(yù)充電操作(圖120-(i)),從而完成一個(gè)存儲(chǔ)周期。響應(yīng)讀操作的完成使啟動(dòng)信號(hào)ENA去激活(圖120-(j))。這里,預(yù)充電操作使用于將數(shù)據(jù)傳輸?shù)酱鎯?chǔ)單元和從存儲(chǔ)單元傳輸出來(lái)的位線充電到預(yù)定電位,使與行地址操作有關(guān)的電路去激活。在每個(gè)存儲(chǔ)操作中自動(dòng)地實(shí)施預(yù)充電操作。根據(jù)存儲(chǔ)在對(duì)應(yīng)的模寄存器中的輸入/輸出端口PORT-A的脈沖串長(zhǎng)度或輸入/輸出端口PORT-B的脈沖串長(zhǎng)度中較長(zhǎng)的一個(gè)確定預(yù)充電操作的定時(shí)。在這個(gè)實(shí)施例中,如果脈沖串長(zhǎng)度為4,則存儲(chǔ)周期(即單個(gè)讀或?qū)懖僮餍枰臅r(shí)間周期)被固定在4個(gè)時(shí)鐘周期。即,總是在接收到有效指令后的預(yù)定時(shí)間完成讀操作和寫(xiě)操作。
      與用于輸出數(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-(l))。將首先到達(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))。
      雖然在圖中未畫(huà)出,但是響應(yīng)與時(shí)鐘信號(hào)的前沿同步地提供的行地址信號(hào)RA和刷新指令實(shí)施恢復(fù)在存儲(chǔ)單元的電容器中電荷的刷新操作,其中行地址信號(hào)RA確定存儲(chǔ)芯5040要被刷新?;蛘咄ㄟ^(guò)輸入/輸出端口PORT-A或者通過(guò)輸入/輸出端口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)),還沒(méi)有將指令信號(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是無(wú)效的。以后的操作與上述圖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的相位。通過(guò)模寄存器5012對(duì)于輸入/輸出端口PORT-A和端口PORT-B兩者都將脈沖串長(zhǎng)度設(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-(a)和(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通過(guò)比較行地址信號(hào)RA滿(mǎn)足對(duì)它預(yù)期的所有要求,于是能夠通過(guò)簡(jiǎn)單的配置制成。因此,能夠使多端口存儲(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開(kāi)始它的操作前能夠識(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ǔ)操作無(wú)關(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é)合起來(lái)進(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中,分別通過(guò)時(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)一步包括圖中未畫(huà)出的控制電路,譯碼器等。存儲(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í)說(shuō)明)。如果在同一個(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和寫(xiě)指令WR。存儲(chǔ)芯5040隨著它的操作被自動(dòng)地充電。在這個(gè)實(shí)施例中,例如,將時(shí)鐘信號(hào)CLKA和CLKB的周期tCLK設(shè)置在10ns,將脈沖串長(zhǎng)度BL設(shè)置在4,將數(shù)據(jù)等待時(shí)間DL設(shè)置在4。數(shù)據(jù)等待時(shí)間DL定義從輸入讀指令RD到輸出數(shù)據(jù)的時(shí)鐘周期的數(shù)目。在模寄存器5012a和5012b中設(shè)置脈沖串長(zhǎng)度BL和數(shù)據(jù)等待時(shí)間DL。
      圖125表示判優(yōu)控制電路5048的詳細(xì)情況。
      通過(guò)將控制電路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)/ENA0和忙碌信號(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)/ENB0和忙碌信號(hào)/BSYA,并輸出啟動(dòng)信號(hào)/ENB。在與第1實(shí)施例的啟動(dòng)信號(hào)/ENA和/ENB相同的定時(shí)產(chǎn)生啟動(dòng)信號(hào)/ENA0和/ENB0圖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連接的控制器要求寫(xiě)操作,與輸入/輸出端口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))??刂齐娐?048b響應(yīng)忙碌信號(hào)/BSYA的激活和反向信號(hào)RVS的低電平,使啟動(dòng)信號(hào)/ENB去激活(圖126-(d))。
      與時(shí)鐘信號(hào)CLKA和CLKB的下一個(gè)定時(shí)同步地,分別提供寫(xiě)指令WR和讀指令RD(圖126-(e))。響應(yīng)寫(xiě)指令WR和讀指令RD,產(chǎn)生反向信號(hào)RVS的控制電路(圖中未畫(huà)出)激活反向信號(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))??刂齐娐?048a和5048b響應(yīng)反向信號(hào)RVS的去激活,使啟動(dòng)信號(hào)/ENA和/ENB的電平回復(fù)到它們各自原來(lái)的電平(圖126-(j))。然后,響應(yīng)啟動(dòng)信號(hào)/ENA的激活實(shí)施對(duì)于輸入/輸出端口PORT-A的讀操作(圖126-(k))。
      在完成讀操作后,激活復(fù)位信號(hào)RESETA(圖126-(l)),并使忙碌信號(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á)的指令要求寫(xiě)操作,接著第2個(gè)到達(dá)的指令要求讀操作時(shí),如此控制存儲(chǔ)芯5040使它首先實(shí)施讀操作。在存儲(chǔ)器LSI,如具有多端口存儲(chǔ)器的DRAM中,通過(guò)在接收要寫(xiě)的數(shù)據(jù)后驅(qū)動(dòng)存儲(chǔ)芯執(zhí)行寫(xiě)操作,和通過(guò)首先驅(qū)動(dòng)存儲(chǔ)芯然后輸出數(shù)據(jù)實(shí)施讀操作。因此,當(dāng)在寫(xiě)操作后實(shí)施讀操作時(shí),全部操作周期通常變成等待時(shí)間。在這個(gè)實(shí)施例中,當(dāng)寫(xiě)操作和讀相互競(jìng)爭(zhēng)時(shí)首先執(zhí)行讀操作,從而縮短全部操作周期和改善傳輸數(shù)據(jù)信號(hào)的數(shù)據(jù)總線的使用效率。
      下面,我們描述根據(jù)第3實(shí)施例的多端口存儲(chǔ)器M的操作。
      圖127表示當(dāng)輸入/輸出端口PORT-A和PORT-B接收有效指令A(yù)CT和相同的行地址信號(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))。將通過(guò)讀操作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ù)Q1-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ù)而沒(méi)有任何間隙(即,無(wú)間隙讀)。而且通過(guò)在每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。將通過(guò)讀操作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接收有效指令A(yù)CT和相同的行地址信號(hào)RA時(shí)實(shí)施寫(xiě)操作的方法。
      在輸入/輸出端口PORT-A和PORT-B中,與跟隨用于接收有效指令A(yù)CT的前沿的下面的各時(shí)鐘信號(hào)CLKA和CLKB的前沿同步地提供寫(xiě)指令WR,列地址信號(hào)CA和第1寫(xiě)數(shù)據(jù)Q0和Q0(圖129-(a)和(b))。此后,與各時(shí)鐘信號(hào)CLKA和CLKB同步地提供寫(xiě)數(shù)據(jù)Q1-Q3和Q0-Q3(圖129-(c)和(d))。將寫(xiě)數(shù)據(jù)Q0-Q3和Q0-Q3分別存儲(chǔ)在各數(shù)據(jù)寄存器5046a和5046b中(圖129-(e)和(f))。對(duì)于首先接收有效指令A(yù)CT和行地址信號(hào)RA的輸入/輸出端口PORT-A,與取得寫(xiě)數(shù)據(jù)Q3的時(shí)鐘信號(hào)CLKA的特定的定時(shí)同步地實(shí)施寫(xiě)操作WRITEA(圖129-(g))。在完成寫(xiě)操作WRITEA后實(shí)施與輸入/輸出端口PORT-B對(duì)應(yīng)的寫(xiě)操作WRITEB(圖129-(h))。通過(guò)寫(xiě)操作WRITEA和WRITEB,將存儲(chǔ)在各數(shù)據(jù)寄存器5046a和5046b中的寫(xiě)數(shù)據(jù)Q0-Q3和Q0-Q3寫(xiě)入與列地址信號(hào)CA對(duì)應(yīng)的存儲(chǔ)單元,從而完成寫(xiě)操作。
      在寫(xiě)操作中,在每4個(gè)時(shí)鐘周期中提供一組寫(xiě)數(shù)據(jù)一次,使得寫(xiě)數(shù)據(jù)能夠連續(xù)地進(jìn)入而沒(méi)有任何間隙(即,無(wú)間隙寫(xiě))。
      圖130表示對(duì)于輸入/輸出端口PORT-A連續(xù)地實(shí)施寫(xiě)操作和讀操作,和對(duì)于輸入/輸出端口PORT-B相繼地實(shí)施指向與輸入/輸出端口PORT-A的寫(xiě)操作的行地址信號(hào)RA相同的行地址信號(hào)RA的寫(xiě)操作,和指向與輸入/輸出端口PORT-A的讀操作的行地址信號(hào)RA相同的行地址信號(hào)RA的寫(xiě)操作的情形。第1寫(xiě)操作的定時(shí)與圖127相同,并省略對(duì)它的說(shuō)明。
      在輸入/輸出端口PORT-B,在與圖127相同的定時(shí)提供與第2寫(xiě)操作對(duì)應(yīng)的有效指令A(yù)CT(圖130-(a))。因?yàn)椴粚⒅噶钚盘?hào)加到輸入/輸出端口PORT-A,所以在取得寫(xiě)數(shù)據(jù)Q0-Q3后立即實(shí)施寫(xiě)操作WRITEB(圖130-(b))。
      在輸入/輸出端口PORT-A,與圖所示的第7個(gè)時(shí)鐘信號(hào)CLKA同步地提供下一個(gè)有效指令A(yù)CT(圖130-(c))。雖然在圖中未畫(huà)出,但是在這個(gè)特定的瞬間激活對(duì)于輸入/輸出端口PORT-B的啟動(dòng)信號(hào)/ENB。結(jié)果,在完成寫(xiě)操作WRITEB后實(shí)施讀操作READA(圖130-(d))。因?yàn)槎喽丝诖鎯?chǔ)器M以接收各指令的次序執(zhí)行寫(xiě)操作WRITEB和讀操作READA,所以在完成寫(xiě)操作前被讀的存儲(chǔ)單元的數(shù)據(jù)不變。
      此外,因?yàn)檩斎?輸出端口PORT-A能夠輸出存儲(chǔ)在與輸入/輸出端口PORT-B對(duì)應(yīng)的數(shù)據(jù)寄存器5046b中數(shù)據(jù)作為檢索數(shù)據(jù),所以可以在輸入/輸出端口PORT-B的寫(xiě)操作WRITEB前實(shí)施輸入/輸出端口PORT-A的讀操作READA。
      圖131表示對(duì)于輸入/輸出端口PORT-A連續(xù)地實(shí)施寫(xiě)操作和讀操作,和對(duì)于輸入/輸出端口PORT-B相繼地實(shí)施指向與輸入/輸出端口PORT-A的寫(xiě)操作的行地址信號(hào)RA相同的行地址信號(hào)RA的讀操作和指向與輸入/輸出端口PORT-A的讀操作的行地址信號(hào)RA相同的行地址信號(hào)RA的寫(xiě)操作的情形。對(duì)于輸入/輸出端口PORT-A的第1寫(xiě)操作的定時(shí)和對(duì)于輸入/輸出端口PORT-B的第1讀操作的定時(shí)分別與圖129的寫(xiě)操作和圖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和寫(xiě)指令WR(圖131-(c))。在接收數(shù)據(jù)Q0-Q3后,實(shí)施對(duì)于輸入/輸出端口PORT-B的寫(xiě)操作(圖中未畫(huà)出)。
      圖132表示在時(shí)鐘信號(hào)CLKA和CLKB具有不同的時(shí)鐘周期的情形中當(dāng)加到輸入/輸出端口PORT-A和PORT-B的行地址信號(hào)相互匹配時(shí)實(shí)施的操作。在這個(gè)例子中,時(shí)鐘信號(hào)CLKB的周期長(zhǎng)度等于時(shí)鐘信號(hào)CLKA的周期長(zhǎng)度的兩倍。
      在輸入/輸出端口PORT-A,當(dāng)在每4個(gè)時(shí)鐘周期中加上一組有效指令A(yù)CT和讀指令RD一次,以與圖127相同的方式實(shí)施讀操作。在輸入/輸出端口PORT-B,也當(dāng)在每4個(gè)時(shí)鐘周期中加上一組有效指令A(yù)CT和讀指令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í)說(shuō)明)。因此,甚至當(dāng)加到輸入/輸出端口PORT-A和PORT-B的行地址信號(hào)RA相同,也肯定能夠?qū)τ诿總€(gè)端口實(shí)施讀操作和寫(xiě)操作。因此,控制多端口存儲(chǔ)器M的控制器不需要檢測(cè)多端口存儲(chǔ)器M的忙碌狀態(tài)。這樣就簡(jiǎn)化了控制器的控制(藉助硬件和軟件)。
      圖133表示多端口存儲(chǔ)器的第4實(shí)施例和根據(jù)本發(fā)明(第5方面)控制多端口存儲(chǔ)器的方法。用相同的數(shù)字標(biāo)記與第1和第3實(shí)施例相同的部件,并省略對(duì)它們的詳細(xì)描述。
      在這個(gè)實(shí)施例中,提供頁(yè)面緩沖器5050a和5050b代替上述第3實(shí)施例的數(shù)據(jù)寄存器5046a和5046b。頁(yè)面緩沖器5050a和5050b與輸入/輸出端口PORT-A和PORT-B中的至少一個(gè)結(jié)合起來(lái)進(jìn)行操作。其它配置幾乎與第3實(shí)施例完全相同。
      每個(gè)頁(yè)面緩沖器5050a和5050b都包括鎖存器,其中存儲(chǔ)在存儲(chǔ)芯5040中的所有存儲(chǔ)單元的數(shù)據(jù)。在開(kāi)始讀操作和寫(xiě)操作時(shí),將存儲(chǔ)在選出的存儲(chǔ)芯5040的存儲(chǔ)單元中的數(shù)據(jù)讀出到頁(yè)面緩沖器5050a(或5050b)。在讀操作中,響應(yīng)列地址信號(hào)CA輸出鎖存在頁(yè)面緩沖器5050a中的數(shù)據(jù)作為數(shù)據(jù)信號(hào)。在寫(xiě)操作中,首先根據(jù)列地址信號(hào)CA將數(shù)據(jù)信號(hào)寫(xiě)入頁(yè)面緩沖器5050a。此后,在完成寫(xiě)操作時(shí)將頁(yè)面緩沖器5050a的數(shù)據(jù)寫(xiě)入存儲(chǔ)單元。
      下面,我們描述第4實(shí)施例多端口存儲(chǔ)器M的操作。
      圖134表示當(dāng)輸入/輸出端口PORT-A和PORT-B接收有效指令A(yù)CT和相同的行地址信號(hào)RA時(shí)實(shí)施讀操作的方法。時(shí)鐘信號(hào)CLKA的相位稍微超前時(shí)鐘信號(hào)CLKB的相位。即,輸入到輸入/輸出PORT-A的有效指令A(yù)CT比輸入到輸入/輸出PORT-B的有效指令A(yù)CT稍微早一些。
      在輸入/輸出端口PORT-A,響應(yīng)有效指令A(yù)CT實(shí)施讀操作READA(圖134-(a))。從由讀操作READA選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù)據(jù),并將檢索數(shù)據(jù)存儲(chǔ)在頁(yè)面緩沖器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ǔ)在頁(yè)面緩沖器5050a中的數(shù)據(jù)作為輸出數(shù)據(jù)Q0-Q7(圖134-(e))。即,實(shí)施頁(yè)面讀操作。
      由于同樣的原因,在輸入/輸出端口PORT-B,與如圖所示的第1和第5時(shí)鐘信號(hào)CLKB同步地加上讀指令RD(圖134-(f)和(g))。在接收各讀指令RD后與第5到第12時(shí)鐘信號(hào)CLKB同步地連續(xù)輸出存儲(chǔ)在頁(yè)面緩沖器5050a中的數(shù)據(jù)作為輸出數(shù)據(jù)Q0-Q7(圖134-(h))。在這個(gè)方式中,如果行地址信號(hào)RA是相同的,則輸入/輸出端口PORT-A和PORT-B共用一個(gè)頁(yè)面緩沖器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。通過(guò)在每4個(gè)時(shí)鐘周期中加上讀指令RD一次能夠連續(xù)地輸出讀數(shù)據(jù)而沒(méi)有任何間隙(即,無(wú)間隙讀)。
      圖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ǔ)在頁(yè)面緩沖器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ǔ)在頁(yè)面緩沖器5050b中(圖135-(d))。此后,以與結(jié)合圖134描述的相同方式實(shí)施讀操作。在這個(gè)方式中,當(dāng)行地址信號(hào)RA相互不同時(shí),獨(dú)立的實(shí)施讀操作READA和讀操作READB,分別將檢索數(shù)據(jù)存儲(chǔ)在各頁(yè)面緩沖器5050a和5050b中。
      圖136表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/輸出端口PORT-A和PORT-B,并實(shí)施寫(xiě)操作,接著加上有效指令A(yù)CT和不同的行地址信號(hào)RA,導(dǎo)致實(shí)施寫(xiě)操作的情形。
      在輸入/輸出端口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ù)巾?yè)面緩沖器5050a(或5050b)。
      從由讀操作READA選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù)據(jù),并存儲(chǔ)在頁(yè)面緩沖器5050a(或5050b)中(圖136-(b))。另一方面,在輸入/輸出端口PORT-B,因?yàn)樾械刂沸盘?hào)RA與加到輸入/輸出端口PORT-A的相同,所以響應(yīng)有效指令A(yù)CT不實(shí)施讀操作。
      此后,在輸入/輸出端口PORT-A,與如圖所示的第1和第5時(shí)鐘信號(hào)CLKA同步地加上寫(xiě)指令WD和列地址信號(hào)CA(圖136-(c)和(d))。將與鐘信號(hào)CLKA同步地連續(xù)加上的寫(xiě)數(shù)據(jù)Q0-Q7寫(xiě)入頁(yè)面緩沖器5050a中(圖134-(e))。即,實(shí)施頁(yè)面寫(xiě)操作。
      在輸入/輸出端口PORT-B,與如圖所示的第1和第5時(shí)鐘信號(hào)CLKB同步地加上寫(xiě)指令WR和列地址信號(hào)CA(圖136-(f)和(g))。將與時(shí)鐘信號(hào)CLKB同步地一個(gè)接一個(gè)地加上的寫(xiě)數(shù)據(jù)Q0-Q7寫(xiě)入共用的列頁(yè)面緩沖器5050a中(圖134-(h))。在這個(gè)方式中,如果行地址信號(hào)RA相同,則在寫(xiě)操作中輸入/輸出端口PORT-A和PORT-B共用同一個(gè)頁(yè)面緩沖器5050a(或5050b)。
      在首先接收有效指令A(yù)CT的輸入/輸出端口PORT-A,與取得寫(xiě)數(shù)據(jù)Q7的時(shí)鐘信號(hào)CLKA的特定定時(shí)同步地實(shí)施寫(xiě)操作WRITEA(圖136-(i))。在完成寫(xiě)操作WRITEA后實(shí)施與輸入/輸出端口PORT-B對(duì)應(yīng)的寫(xiě)操作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)和(l))。
      從由讀操作READA選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù)據(jù),并存儲(chǔ)在頁(yè)面緩沖器5050a(或5050b)中(圖136-(m))。進(jìn)一步,從由讀操作READB選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù)據(jù),并存儲(chǔ)在另一個(gè)頁(yè)面緩沖器5050b(或5050a)中(圖136-(n))。
      在輸入/輸出端口PORT-A,與如圖所示的第13和第17時(shí)鐘信號(hào)CLKA同步地加上讀指令RD和列地址信號(hào)CA(圖136-(o)和(p))。將與鐘信號(hào)CLKA同步地一個(gè)接著一個(gè)加上的寫(xiě)數(shù)據(jù)Q0-Q7存儲(chǔ)在頁(yè)面緩沖器5050a中(圖136-(q))。
      類(lèi)似地,在輸入/輸出端口PORT-B,與如圖所示的第13和第17時(shí)鐘信號(hào)CLKB同步地加上寫(xiě)指令WR和列地址信號(hào)CA(圖136-(r)和(s))。將與鐘信號(hào)CLKB同步地一個(gè)接著一個(gè)加上的寫(xiě)數(shù)據(jù)Q0-Q7寫(xiě)入頁(yè)面緩沖器5050b中(圖136-(t))。在這個(gè)方式中,當(dāng)行地址信號(hào)RA不同時(shí)用頁(yè)面緩沖器5050a和5050b。
      在首先接收有效指令A(yù)CT和行地址信號(hào)RA的輸入/輸出端口PORT-A,與取得寫(xiě)數(shù)據(jù)Q7的時(shí)鐘信號(hào)CLKA的特定定時(shí)同步地實(shí)施寫(xiě)操作WRITEA(圖136-(u))。在完成寫(xiě)操作WRITEA后實(shí)施與輸入/輸出端口PORT-B對(duì)應(yīng)的寫(xiě)操作WRITEB(圖136-(v))。通過(guò)寫(xiě)操作WRITEA和WRITEB,分別將存儲(chǔ)器在頁(yè)面緩沖器5050a和5050b中的寫(xiě)數(shù)據(jù)Q0-Q7寫(xiě)入與列地址信號(hào)CA對(duì)應(yīng)的存儲(chǔ)單元,從而完成寫(xiě)操作。
      圖137表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/輸出端口PORT-A和PORT-B,實(shí)施寫(xiě)操作,接著加上有效指令A(yù)CT和相同的行地址信號(hào)RA,導(dǎo)致在輸入/輸出端口PORT-A實(shí)施讀操作和在輸入/輸出端口PORT-B實(shí)施寫(xiě)操作的情形。第1寫(xiě)操作的定時(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ǔ)在頁(yè)面緩沖器5050a(或5050b)中(圖137-(d))。在輸入/輸出端口PORT-B,因?yàn)樾械刂沸盘?hào)RA與加到輸入/輸出端口PORT-A的信號(hào)相同,所以不實(shí)施與有效指令A(yù)CT對(duì)應(yīng)的寫(xiě)操作。
      此后,在輸入/輸出端口PORT-A,與如圖所示的第13和第17時(shí)鐘信號(hào)CLKA同步地加上讀指令RD(圖137-(e)和(f))。在接收各讀指令RD后與如圖所示的第17到第24時(shí)鐘信號(hào)CLKA同步地連續(xù)輸出存儲(chǔ)在頁(yè)面緩沖器5050a中的數(shù)據(jù)(圖137-(g))。
      在輸入/輸出端口PORT-B,與如圖所示的第13和第17時(shí)鐘信號(hào)CLKB同步地加上寫(xiě)指令WR(圖137-(h)和(i))。將與鐘信號(hào)CLKB同步地連續(xù)加上的寫(xiě)數(shù)據(jù)Q0-Q7存儲(chǔ)在共用的頁(yè)面緩沖器5050a中(圖137-(j))。
      此后,在輸入/輸出端口PORT-B,與取得寫(xiě)數(shù)據(jù)Q7的時(shí)鐘信號(hào)CLKB的特定定時(shí)同步地實(shí)施寫(xiě)操作WRITEB(圖137-(k))。
      圖138表示將有效指令A(yù)CT和相同的行地址信號(hào)RA加到輸入/輸出端口PORT-A和PORT-B,實(shí)施寫(xiě)操作和讀操作,接著加上有效指令A(yù)CT和不同的行地址信號(hào)RA,導(dǎo)致實(shí)施寫(xiě)操作和讀操作的情形。
      在輸入/輸出端口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ǔ)在頁(yè)面緩沖器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同步地加上寫(xiě)指令WR(圖138-(e)和(f))。將與時(shí)鐘信號(hào)CLKA同步地連續(xù)加上的寫(xiě)數(shù)據(jù)Q0-Q7存儲(chǔ)在頁(yè)面緩沖器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ǔ)在頁(yè)面緩沖器5050a中的數(shù)據(jù)作為輸出數(shù)據(jù)Q0-Q7(圖138-(j))。在輸入/輸出端口PORT-A,與取得寫(xiě)數(shù)據(jù)Q7的時(shí)鐘信號(hào)CLKA的特定定時(shí)同步地實(shí)施寫(xiě)操作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ǔ)在頁(yè)面緩沖器5050a(或5050b)中的一個(gè)(圖138-(p))。進(jìn)一步,從由讀操作READB選出的存儲(chǔ)芯5040的所有存儲(chǔ)單元讀出數(shù)據(jù),并將讀出的數(shù)據(jù)存儲(chǔ)在頁(yè)面緩沖器5050b(或5050a)中的另一個(gè)(圖138-(q))。
      在輸入/輸出端口PORT-A,與時(shí)鐘信號(hào)CLKA的第13和第17定時(shí)同步地加上寫(xiě)指令WR(圖138-(r)和(s))。將與時(shí)鐘信號(hào)CLKA同步地一個(gè)接著一個(gè)加上的寫(xiě)數(shù)據(jù)Q0-Q7寫(xiě)入頁(yè)面緩沖器5050a中(圖138-(t))。
      類(lèi)似地,在輸入/輸出端口PORT-B,與時(shí)鐘信號(hào)CLKA的第13和第17定時(shí)同步地加上寫(xiě)指令WR(圖138-(u)和(v))。將與時(shí)鐘信號(hào)CLKB同步地一個(gè)接著一個(gè)加上的寫(xiě)數(shù)據(jù)Q0-Q7寫(xiě)入頁(yè)面緩沖器5050b中(圖138-(w))。
      本實(shí)施例能夠提供與上述的第3實(shí)施例相同的優(yōu)點(diǎn)。進(jìn)一步,在本實(shí)施例中,用作對(duì)于存儲(chǔ)芯5040的所有存儲(chǔ)單元的暫時(shí)數(shù)據(jù)存儲(chǔ)的頁(yè)面緩沖器5050a和5050b位于數(shù)據(jù)鎖存器5028和存儲(chǔ)芯5040之間。這使多端口存儲(chǔ)器M能夠?qū)嵤╉?yè)面讀操作和頁(yè)面寫(xiě)操作。
      當(dāng)將相同的行地址信號(hào)RA加到輸入/輸出端口PORT-A和PORT-B時(shí),共用同一個(gè)頁(yè)面緩沖器5050a。這防止寫(xiě)入存儲(chǔ)單元的數(shù)據(jù)通過(guò)覆蓋操作被破壞。
      當(dāng)將相同的行地址信號(hào)RA加到輸入/輸出端口PORT-A和PORT-B時(shí),響應(yīng)一個(gè)端口只實(shí)施讀操作。因此,與對(duì)于兩個(gè)端口實(shí)施的各讀操作的情形比較能夠減少操作時(shí)的功率消耗。使用頁(yè)面緩沖器5050a和5050b甚至當(dāng)實(shí)施頁(yè)面操作時(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和寫(xiě)指令WR兩者與用于頁(yè)面操作的讀指令PRD和寫(xiě)指令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í)施頁(yè)面讀操作(圖139-(e))。頁(yè)面讀操作的定時(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í)施讀操作READA和READB(圖139-(j)和(k))。即完成通常的讀操作(即脈沖串讀操作)。
      這個(gè)本實(shí)施例能夠提供與上述的第4實(shí)施例相同的優(yōu)點(diǎn)。因?yàn)檫@個(gè)實(shí)施例準(zhǔn)備了用于頁(yè)面操作的讀指令PRD和PWR以及用于通常操作的讀指令RD和WR,所以多端口存儲(chǔ)器M響應(yīng)所加的指令信號(hào)不僅能夠?qū)嵤╉?yè)面操作而且能夠?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í)說(shuō)明)設(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í)施寫(xiě)操作的動(dòng)作指令,并且可以連續(xù)地加上這些指令。由于同樣的原因,也可以在時(shí)分基礎(chǔ)上一個(gè)接著一個(gè)地加上地址信號(hào)。通過(guò)在加上有效指令后的預(yù)定時(shí)鐘周期上加上動(dòng)作指令將讀操作周期和寫(xiě)操作周期固定在恒定的周期上。
      如果存儲(chǔ)塊的存儲(chǔ)單元由DRAM單元構(gòu)成則需要刷新操作。對(duì)于由加在任何一個(gè)輸入/輸出端口上的地址信號(hào)指示的刷新地址實(shí)施刷新操作。這個(gè)配置能夠使在多端口存儲(chǔ)器中的控制電路的尺寸減到最小,從而能夠減小芯片尺寸。
      在讀操作和寫(xiě)操作后自動(dòng)地實(shí)施將與存儲(chǔ)單元連接的位線復(fù)位到預(yù)定電位的預(yù)充電操作。這使從開(kāi)始各操作的預(yù)定時(shí)間周期內(nèi)完成讀操作和寫(xiě)操作成為可能。即,能夠?qū)⒆x周期時(shí)間和寫(xiě)周期時(shí)間固定為恒定的。
      而且,可以為每個(gè)輸入/輸出端口提供忙碌端子以便輸出忙碌信號(hào)。當(dāng)加到一個(gè)輸入/輸出端口的地址信號(hào)與加到另一個(gè)輸入/輸出端口的地址信號(hào)相同時(shí)和當(dāng)對(duì)于后一個(gè)輸入/輸出端口執(zhí)行存儲(chǔ)操作時(shí),輸出忙碌信號(hào)。用這種配置,與多端口存儲(chǔ)器連接的控制器很容易知道還沒(méi)有實(shí)施所要求的操作。
      進(jìn)一步,本發(fā)明不限于這些實(shí)施例,而且可以作出不同的變化和修改而沒(méi)有偏離本發(fā)明的范圍。
      例如,已經(jīng)參考為了同步只用一個(gè)前沿或一個(gè)后沿的配置描述了本發(fā)明的第1到第5方面。然而對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)顯然能夠容易地改變上述任何一個(gè)配置,使它與為了同步用前沿和后沿兩者的DDR(雙數(shù)據(jù)速率)操作匹配。我們有意使這樣一個(gè)明顯的改變處在本發(fā)明的范圍內(nèi)。
      本申請(qǐng)基于向日本專(zhuān)利局提出的日本優(yōu)先權(quán)專(zhuā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-399052,這里我們將這些專(zhuān)利申請(qǐng)的全部?jī)?nèi)容作為參考。
      權(quán)利要求
      1.一種半導(dǎo)體存儲(chǔ)器件,包括數(shù)量為N的多個(gè)外部端口,每個(gè)外部端口都接收指令,內(nèi)部電路,它在輸入到一個(gè)外部端口的各指令的最小時(shí)間間隔期間至少執(zhí)行N次存取操作,判優(yōu)電路,它確定指令執(zhí)行次序,所述內(nèi)部電路以該次序執(zhí)行輸入到N個(gè)相應(yīng)外部端口中的多個(gè)指令;地址比較電路,它確定在輸入到N個(gè)相應(yīng)外部端口中的多個(gè)指令中是否存在兩個(gè)或多個(gè)存取同一地址的指令;和信號(hào)輸出電路,它響應(yīng)于存在兩個(gè)或多個(gè)存取同一地址的指令的情況將預(yù)定信號(hào)輸出到器件外部。
      2.如權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)器件,進(jìn)一步包括信號(hào)輸入電路,它從器件外部接收預(yù)定信號(hào);和一個(gè)模寄存器,它指示主操作模式和從操作模式中的任何一種模式,其中響應(yīng)于由所述模寄存器指示的主操作模式激活所述信號(hào)輸出電路,并響應(yīng)于由所述模寄存器指示的從操作模式激活所述信號(hào)輸入電路。
      3.如權(quán)利要求2所述的半導(dǎo)體存儲(chǔ)器件,其中所述判優(yōu)電路響應(yīng)于當(dāng)所述模寄存器指示從操作模式時(shí)所述信號(hào)輸入電路接收來(lái)自器件外部的預(yù)定信號(hào)的情況改變指令執(zhí)行次序。
      4.如權(quán)利要求3所述的半導(dǎo)體存儲(chǔ)器件,其中提供正常操作模式和連續(xù)操作模式,正常操作模式實(shí)施行選擇的操作、與單個(gè)指令對(duì)應(yīng)的操作和在單個(gè)內(nèi)部操作周期內(nèi)的預(yù)充電操作,連續(xù)操作模式實(shí)施行選擇的操作、與多個(gè)指令對(duì)應(yīng)的連續(xù)操作和在單個(gè)內(nèi)部操作周期內(nèi)的預(yù)充電操作,其中響應(yīng)于由地址比較電路作出的確定結(jié)果切換正常操作模式和連續(xù)操作模式。
      5.如權(quán)利要求4所述的半導(dǎo)體存儲(chǔ)器件,其中如果在連續(xù)操作模式中執(zhí)行的多個(gè)指令是寫(xiě)指令,則選擇和執(zhí)行寫(xiě)指令中的一個(gè)而不執(zhí)行余下的寫(xiě)指令。
      6.如權(quán)利要求4所述的半導(dǎo)體存儲(chǔ)器件,其中在連續(xù)操作模式中在行選擇操作和與多個(gè)指令對(duì)應(yīng)的連續(xù)操作之間提供的時(shí)段中實(shí)施將預(yù)定信號(hào)傳送到器件外部或從器件外部接收預(yù)定信號(hào)的操作。
      7.如權(quán)利要求6所述的半導(dǎo)體存儲(chǔ)器件,其中所述時(shí)段具有可變的長(zhǎng)度。
      8.如權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)器件,進(jìn)一步包括接收來(lái)自與預(yù)定信號(hào)對(duì)應(yīng)的外部控制器的中斷信號(hào)的電路,其中所述判優(yōu)電路響應(yīng)于中斷信號(hào)的接收改變指令執(zhí)行次序。
      9.如權(quán)利要求4所述的半導(dǎo)體存儲(chǔ)器件,其中提供正常操作模式和連續(xù)操作模式,正常操作模式實(shí)施行選擇操作、與單個(gè)指令對(duì)應(yīng)的操作和在單個(gè)內(nèi)部操作周期內(nèi)的預(yù)充電操作,連續(xù)操作模式實(shí)施行選擇操作、與多個(gè)指令對(duì)應(yīng)的連續(xù)操作和在單個(gè)內(nèi)部操作周期內(nèi)的預(yù)充電操作,其中響應(yīng)于由地址比較電路作出的確定結(jié)果切換正常操作模式和連續(xù)操作模式,并且在連續(xù)操作模式中在行選擇操作和與多個(gè)指令對(duì)應(yīng)的連續(xù)操作之間提供的時(shí)段中實(shí)施接收中斷信號(hào)的操作。
      10.如權(quán)利要求2所述的半導(dǎo)體存儲(chǔ)器件,其中N個(gè)外部端口中的每一個(gè)都包括一個(gè)用于接收來(lái)自器件外部的時(shí)鐘信號(hào)的時(shí)鐘端子,并與時(shí)鐘信號(hào)同步地進(jìn)行操作,并且其中所述信號(hào)輸入電路和所述信號(hào)輸出電路與時(shí)鐘信號(hào)異步地進(jìn)行操作。
      全文摘要
      半導(dǎo)體存儲(chǔ)器件包括數(shù)量為N的多個(gè)外部端口,每個(gè)外部端口都接收指令,和一個(gè)內(nèi)部電路,它在輸入到一個(gè)外部端口的指令的最小時(shí)間間隔中至少實(shí)施N次存取操作。
      文檔編號(hào)G11C8/16GK1828766SQ200610054990
      公開(kāi)日2006年9月6日 申請(qǐng)日期2001年11月26日 優(yōu)先權(quán)日2000年12月20日
      發(fā)明者松崎康郎, 鈴木孝章, 山崎雅文, 川崎健一, 鎌田心之介 申請(qǐng)人:富士通株式會(huì)社
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1