專利名稱:半導(dǎo)體存儲器和高速緩存器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種集成了存儲器的半導(dǎo)體集成電路,進而,涉及與CPU(中央處理器)那樣的邏輯電路一起,將大容量存儲器集成到一個芯片上的半導(dǎo)體集成電路,例如,涉及應(yīng)用同CPU和第一級高速緩沖存儲器(以下簡稱高速緩存)一起,裝載于同一芯片上的混裝DRAM有效的技術(shù)。
背景技術(shù):
目前,已提供將大容量存儲器和大規(guī)模邏輯電路,集成到一個芯片上的半導(dǎo)體集成電路。這樣的半導(dǎo)體集成電路中,為了提高存儲器與邏輯電路之間的數(shù)據(jù)處理能力,增加連接存儲器與邏輯電路的總線,如128位總線,是容易的,與驅(qū)動芯片外部的輸入輸出腳的情況比較,具有抑制有關(guān)數(shù)據(jù)輸入輸出的功率消耗,進行高速數(shù)據(jù)傳輸?shù)膬?yōu)點。
作為上述大容量存儲器,可以使用多存儲體(multi-bank)的DRAM(Dynamic Random Access Memory動態(tài)隨機采取存儲器)。在多儲存體的DRAM中,在每個存儲體里都設(shè)置讀出放大器,用字線選擇動作,僅僅切換列開關(guān)就可以依次高速輸出。因而,同一頁(同一字線地址)內(nèi)的連續(xù)地址的存取就可以高速化。可是,要是對不同的頁進行存取(發(fā)生頁未命中),則因位線預(yù)充電等會使存取變慢。
進而,上述多存儲體DRAM,在一定條件下,也可能隱藏頁未命中。即,向某一存儲體發(fā)出讀出或?qū)懭胫噶钍怪畡幼鲿r,接著如果利用與其不同的其它存儲體(memory bank)的話,也可以把預(yù)激活指令送給該其它存儲體,使字線選擇動作超前進行。這樣一來,當然CPU必須以這樣的地址順序進行存取,實質(zhì)上是CPU的動作程序等不可能按全部安排進行。
并且,在半導(dǎo)體集成電路中,除上述大容量存儲器和CPU等大規(guī)模邏輯電路外,還有混裝高速緩存的大規(guī)模邏輯電路。它是采用高速緩存來緩和大容量存儲器與CPU之間動作速度不同的辦法,以CPU高速數(shù)據(jù)處理為目標的大規(guī)模邏輯電路。即,在大容量存儲器保存的數(shù)據(jù)內(nèi),把CPU將要使用的一部分數(shù)據(jù)和其近旁數(shù)據(jù)保持在高速的高速緩存中。但是,用CPU的存儲器存取,命中了高速緩存的期間雖然可行,但是一旦發(fā)生未命中,由于向大容量存儲器進行存取,因此限制了CPU的數(shù)據(jù)處理速度。
還有,有關(guān)多存儲體DRAM,作為現(xiàn)有記載文獻的例子,有特開平10-65124號公報(對應(yīng)于US專利申請No.08/813,900,提出于March 7,1997以及該申請No.08/813,900的后續(xù)申請,US專利申請No.08/188,367,提出于Nov.10,1998,這里請一并參考其全部公開內(nèi)容)。
如上述的那樣,即使是多存儲體DRAM,按照存取地址的序號也不一定限于所謂隱藏頁未命中,對于多存儲體DRAM,即使設(shè)有高速緩存,若發(fā)生高速緩存未命中,情況也是完全相同的。因此,由發(fā)明人發(fā)現(xiàn),有必要進一步改善多存儲體DRAM的存儲器存取速度。
發(fā)明內(nèi)容
本發(fā)明的第一目的在于,使具有多存儲體的存儲器的快速存取,即,使字線與其以前的存取不同的高速化讀取。
本發(fā)明的第二目的就是,對于具有多存儲體的存儲器設(shè)有高速緩存的情況下,起因于該高速緩存的高速緩存未命中,而進行高速緩存項(entry)的復(fù)位(replace)和回寫時,就要使可并行動作的多存儲體的存儲器的動作效率不致降低。也就是,要進行回寫,把高速緩存行的數(shù)據(jù)寫入具有多存儲體的存儲器中的動作時,應(yīng)寫入到與上述同樣的高速緩存行中,在從具有多存儲體的存儲器讀出新的高速緩存數(shù)值數(shù)據(jù)的動作期間,使相當于地址信號之中的變址地址的地址信息變成相同。如把變址地址的信息變換成存儲體選擇用地址信息,則由于將相互變址地址配置在同一的地址中的數(shù)據(jù),被配置在同一存儲體內(nèi),故必須對同一存儲體進行復(fù)位高速緩存行的讀出動作和回寫的寫入動作,用不同的存儲體不能有效地進行雙方的動作。
本發(fā)明的第三個目的就是,在多個混裝有多存儲體的宏存儲器的半導(dǎo)體集成電路中,可以對于宏存儲器(memory macro)不相干擾的多個存取請求,使一方的存取不閉塞另一方的存取的非閉塞的多路存取。
本發(fā)明的第四個目的在于,使對于具有以高速緩存行為字線單位的多存儲體的DRAM的數(shù)據(jù)改寫有效化。即,據(jù)發(fā)明人發(fā)現(xiàn),當高速緩存行為改寫單位時,與通常的DRAM一樣,通過字線選擇動作,等待把位線上讀出的存儲信息鎖存于讀出放大器的信息,不必進行施加寫入數(shù)據(jù)的非破壞性寫入。
本發(fā)明的上述和其它目的及新的特征,通過本說明書的記述和附圖,將變得更清楚。
本發(fā)明的實施例中的主要特征包括下列特征。
《1》下一個地址先行發(fā)生(self-prefetching自預(yù)取)使用多存儲體構(gòu)成的宏存儲器,將數(shù)據(jù)保持在各個宏存儲器內(nèi),當存取命中該保持數(shù)據(jù)時,借助于該讀出放大器輸出鎖存的數(shù)據(jù),故可使宏存儲器的快速存取高速化。即,把各個存儲體作為讀出放大器高速緩存功能。為了進一步提高這種讀出放大器高速緩存的命中率(對于讀出放大器的數(shù)據(jù)的命中率),在對存儲體進行存取后,先行發(fā)生其下一個地址(加上規(guī)定的位移地址),把先行發(fā)生地址的數(shù)據(jù)預(yù)先讀出到另一個存儲體的讀出放大器中。之所以把先行發(fā)生的對象作為下一個地址,是基于將CPU的動作程序或一組處理數(shù)據(jù)變換成線性地址作為基本的經(jīng)驗規(guī)律。
實現(xiàn)上述下一個地址先行發(fā)生的半導(dǎo)體集成電路,具有宏存儲器(5Ma~5Md)和地址控制電路(4)。上述宏存儲器是,存儲體地址具有各個被分配的多個存儲(器)體(Bank1~Bank4);各個存儲體具有,根據(jù)行地址信號(R-ADD)選擇字線(WL),從所選擇字線的存儲單元,可將讀出的存儲信息鎖存到位線(WL)上的讀出放大器(53);根據(jù)列地址信號(Ys0~Ys7)選擇位線,使所選擇的位線與宏存儲器的數(shù)據(jù)線(GBL)導(dǎo)通。上述存取控制電路具有可使每個存儲體動作的指令和地址信號的輸出裝置(44);響應(yīng)已鎖存于上述讀出放大器的數(shù)據(jù)后的存取請求,可決定在上述數(shù)據(jù)線上輸出的命中判定裝置(43);接著對來自外部的存取地址的宏存儲器的存取控制,對該來自外部的存取地址,先行發(fā)生具有規(guī)定位移的存取地址,把該先行發(fā)生的地址數(shù)據(jù),從宏存儲器的存儲單元預(yù)先讀出到讀出放大器中的地址先行發(fā)生裝置(self-prefetching unit自預(yù)取裝置)(42)。
先行發(fā)生地址必須是與其前的存取對象不同的存儲體的地址。如果是同一存儲體,則對在前的存取,就變成不能利用讀出放大器高速緩存的功能。因此,對由外部來的存取地址,具有上述規(guī)定的位移存取地址被認為是,指定與由上述外部來的存取地址指定的存儲體不同的存儲體的存取地址。若換個觀點來說,則上述輸出裝置輸出的地址信號,被變換為列地址信號(C0~C2)的高位側(cè)存儲地址信號(B0~B3),而行地址信號(R0~R7)變換為存儲地址信號的高位側(cè)行地址,當假定列地址信號的位數(shù)為i時,則上述規(guī)定的位移為,從列地址信號的最低位位數(shù)起2的i次乘方。
其中,用于上述讀出放大器高速緩存功能的命中判定裝置,可以這樣構(gòu)成具有比較裝置(432A、432B),用于檢出由外部供給的存取地址與上述讀出放大器保存的存儲信息的存取地址之間的一致,或不一致。上述指令和地址信號的輸出裝置可以這樣構(gòu)成響應(yīng)由上述比較裝置而產(chǎn)生的不一致檢出,用外部來的存取地址,指示在所指定的宏存儲器中存儲體、字線和位線的選擇動作,響應(yīng)由上述比較裝置而產(chǎn)生的一致檢出,用外部來的存取地址,抑制在所指定的宏存儲器中字線選擇動作,而指示存儲體和位線的選擇動作。
《2》第2級高速緩存的地址對準調(diào)整將CPU(1)連接到上述存取控制電路(4),把設(shè)置相關(guān)的地址變換式的第1級高速緩存(2)連接到上述CPU和存取控制電路時,可以作為該讀出放大器高速緩存功能的第2級高速緩存(6)的位置,安裝上述存取控制電路和上述宏存儲器。全部這些作為多片的數(shù)據(jù)處理系統(tǒng)構(gòu)成為宜。引起上述1級高速緩存的高速緩存未命中,隨著高速緩存未命中行的復(fù)位(replace)的同時,有必要將該高速緩沖存儲器行的回寫。這時,1級高速緩存的高速緩存未命中的高速緩存行的數(shù)據(jù),回寫到第2級高速緩存中的動作,則在把未命中的高速緩存行和應(yīng)復(fù)位的高速緩存項目數(shù)據(jù)從第2級高速緩存讀出的動作的期間,對第1級高速緩存的變址尋址變成相同。如果第2級高速緩存的存儲體地址信息和第1級高速緩存的變址尋址信息為相同,則相互變址尋址同一的地址數(shù)據(jù),變成為在第2級高速緩存中被配置到同一存儲體中,故對于同一的存儲體,不能進行用于使高速緩存行復(fù)位的讀出動作和用于回寫的寫入動作,不可能用不同的存儲體,有效地進行雙方的動作。
在這里,上述存取控制電路中,設(shè)有變更由外部供給的存取地址信號的位排列,輸出給宏存儲器的地址對準調(diào)整裝置(41)。例如地址對準調(diào)整裝置,把與分配給從上述CPU供給的地址信號之中的變址尋址的多個地址位的排列不同的排列,分配給上述存儲體的變址尋址。因此,當用第1高速緩存的高速緩存未命中的高速緩存引入線進行復(fù)位時,就可以使具有多個存儲體的存儲動作效率不會降低。
換個觀點來看,上述地址對準調(diào)整裝置就是用由上述CPU供給的地址信號之中的至少作為上述第1級高速緩存的變址尋址,變更所用的地址信息的全部或一部分的排列,分配給上述存儲體的存儲體地址。例如,上述地址對準調(diào)整裝置,使作為由上述CPU供給的地址信號之中的上述第1級高速緩存的變址尋址所用的地址信息的一部分作為特征地址所用的地址信息的一部分進行調(diào)換,分配給上述存儲體的存儲體地址。
作為上述地址對準調(diào)整裝置的地址校準的其它例子,可以把作為由上述CPU供給的地址信號之中的上述第1級高速緩存的特征地址的至少低位的2位,分配給指定上述存儲體的地址和指定給宏存儲器的地址,或者分配給其任何一方?;蛘呖梢园炎鳛橛缮鲜鯟PU供給的地址信號之中的上述第1級高速緩存的變址尋址的至少低位的2位,分配給指定上述存儲體的地址和指定給宏存儲器的地址,或者分配給其任何一方。而且,也可以把作為由上述CPU供給的地址信號之中的上述第1級高速緩存的變址尋址的至少低位的2位,分配給列地址。
作為上述地址對準調(diào)整裝置,可以包括將地址信息的排列變更作成可變的開關(guān)電路(411)和可以鎖存用于決定上述開關(guān)電路的開關(guān)狀態(tài)的控制信息的控制寄存器(410),通過上述CPU,構(gòu)成可存儲的上述控制寄存器。與上述地址校準不同,對于連續(xù)的地址,出現(xiàn)作為指定同一存儲體的頻度不同。在高速緩存行的復(fù)位中以相互接近的變址尋址選擇同一存儲體的頻度若高,則讀出放大器高速緩存功能的命中率在相互很近的地址進行存取的信息就相當?shù)?,相反,在高速緩存行的?fù)位中,以相互接近的變址尋址,選擇不同存儲體的頻度如高,則讀出放大器高速緩存功能的命中率在相互很近的地址進行存取的信息變得相當高。選擇哪一方有利,取決于數(shù)據(jù)或命令的地址變換,根據(jù)應(yīng)用系統(tǒng),就可以選擇地址對準調(diào)整裝置。
假如使結(jié)構(gòu)簡化作為首要要求,則作為地址對準調(diào)整裝置,可以采用由金屬操作固化地址校準的布線。
《3》宏DRAM(DRAM macro)構(gòu)成的第2級高速緩存的破壞性寫入通常在DRAM中,在進行數(shù)據(jù)寫入的情況下,由于一度從存儲單元,把數(shù)據(jù)讀出到讀出放大器里,故寫入此一部分。即,進行非破壞性寫入。在把宏DRAM的讀出放大器高速緩存功能用作第2級高速緩存的情況下,由于以字線單位進行數(shù)據(jù)的管理,就沒有進行非破壞性寫入的必然性。在這里,當寫入的時候,由于不進行讀出放大器的讀出動作,與字線的上升同時,或此后不久,從寫入放大器開始傳送寫入數(shù)據(jù)到位線上,高速寫入1條字線部分的數(shù)據(jù)。
實現(xiàn)上述破壞性寫入的高速緩存,有宏DRAM(5Ma~5Md)和存取控制電路(4)。上述宏DRAM就是具有各自分配存儲體地址的多個存儲體(Bank1~Bank4);各存儲體按照行地址信號(R-ADD)選擇字線(WL),并具有可從所選擇的字線上的存儲單元,把讀出的存儲信息鎖存到位線上的的讀出放大器(53);按照列地址信號(C-ADD)選擇位線(BL),使所選擇的位線與宏DRAM的數(shù)據(jù)線(GBL)導(dǎo)通。上述存取控制電路具有可使每個存儲體動作的指令和地址信號的輸出裝置(44);以及響應(yīng)隨后的存取請求,可將已經(jīng)鎖存于上述讀出放大器中的數(shù)據(jù),輸出到上述數(shù)據(jù)線上的命中判定裝置(43)。上述存儲體具有從字線選擇,在第1定時使讀出放大器激活的第1動作方式和從字線選擇,在比上述第1定時還遲來的第2定時使讀出放大器激活的第2動作方式。上述第1動作方式為破壞性寫入,上述第2動作方式為刷新方式。把上述高速緩存作為第2級高速緩存,使用與之對應(yīng)的第1級高速緩存和CPU來構(gòu)成數(shù)據(jù)處理系統(tǒng)。
《4》非競爭宏存儲器的并行存取在多個混裝有多存儲體的宏存儲器的半導(dǎo)體集成電路中,對宏存儲器非競爭的多個存取請求,可使得一方的存取不會閉塞另一方存取的非閉塞多路存取。實現(xiàn)該多路存取請求的存儲器(6)具有有第1存取口(PT1)和第2存取口(PT2)的存取控制電路(4),以及通過數(shù)據(jù)線(9DBa~9DBd)分別連接到上述存取控制電路的多個宏存儲器(5Ma~5Md)。上述宏存儲器具有各自分配存儲體地址的多個存儲體(Bank1~Bank4),各存儲體具有,根據(jù)行地址信號(R-ADD),選擇字線(WL)從所選擇的字線的存儲單元,可把讀出后的存儲信息鎖存到位線(BL)中的讀出放大器(53),按照列地址信號(C-ADD)選擇位線,使所選擇的位線與宏存儲器的上述的數(shù)據(jù)線(GBL)導(dǎo)通。上述存取控制電路具有可分別選擇通過第1存取口進行存取宏存儲器和通過第2存取口進行存取宏存儲器的選擇器(540R、541R、542R、543R);當使用通過第1存取口進行存取和通過第2存取口進行存取不同的宏存儲器時,容許來自雙方的存取口的并行存取的優(yōu)先存取判定裝置(40);可以對全部宏存儲器的每個存儲體中進行動作的指令和地址信號的輸出裝置(44);以及響應(yīng)隨后的存取請求,可把已鎖存于上述讀出放大器數(shù)據(jù)輸出到數(shù)據(jù)線上的命中判斷裝置(43)。
為了競爭宏存儲器的優(yōu)先控制,上述優(yōu)先存取判定裝置可以這樣構(gòu)成,以致當通過第1存取口的存取和通過第2存取口的存取是使用同一的宏存儲器的存取時,使預(yù)定的優(yōu)先度高的一方存取口的動作優(yōu)先。
并且,上述第1存取口和上述第2存取口之中的哪個口或其兩個口,可以具有SRAM接口功能。從地址輸入到數(shù)據(jù)輸出的等待時間隨存取狀況而變動。與此相反,與等待時間為固定的接口比較,在上述第1存取口和第2存取口中,采用可輸出從地址輸入到數(shù)據(jù)輸出期間的等待信號等的SRAM接口的方式是簡單的。
使用了上述存儲器(6)的數(shù)據(jù)處理系統(tǒng)具有該存儲器(6);連接于上述存儲器的第1存取口的第1地址總線(6AB)和第1數(shù)據(jù)總線(10DB);連接于上述存儲器的第2存取口的第2地址總線(11AB)和第2數(shù)據(jù)總線(11DB);連接于上述第1地址總線和第1數(shù)據(jù)總線的CPU(1);以及連接上述第2地址總線和第2數(shù)據(jù)總線的總線接口電路(3)。
并且,使用了上述存儲器的數(shù)據(jù)處理系統(tǒng)具有該存儲器(6);連接于上述存儲器的第1存取口的第1地址總線(6AB)和第1數(shù)據(jù)總線(10DB);連接于上述存儲器的第2存取口的第2地址總線(11AB)和第2數(shù)據(jù)總線(11DB);連接于上述第1地址總線和第1數(shù)據(jù)總線的CPU(1)和第1級高速緩存(2);以及具有連接上述第2地址總線和第2數(shù)據(jù)總線的總線主控(7),對于上述第1級高速緩存,上述存儲器成為第2級高速緩存。
圖1是作為應(yīng)用本發(fā)明的半導(dǎo)體集成電路一例的CPU/DRAM混載LSI(系統(tǒng)LSI)的框圖。
圖2示出圖1的宏DRAM一例的框圖。
圖3示出DRAM存儲體和整體位線之間的連接構(gòu)成一例的電路圖。
圖4示出存取優(yōu)化器一例的框圖。
圖5示出第1級高速緩存基本構(gòu)成一例的框圖。
圖6示出可與第1級高速緩存比較,采用多個宏DRAM的讀出放大器高速緩存功能的邏輯構(gòu)成框圖。
圖7示出地址先行發(fā)生動作一例的定時圖。
圖8示出考慮地址先行發(fā)生時的命中判斷電路一例的框圖。
圖9在地址對準調(diào)整電路不進行地址校準的狀態(tài),供給第1級高速緩存上的CPU的輸出地址信號與供給宏DRAM上的存取優(yōu)化器的輸出地址信號之間的對應(yīng)關(guān)系一例的說明圖。
圖10示出借助于地址對準調(diào)整電路的地址校準所得的CPU示出地址信號與存取優(yōu)化器的輸出地址信號之間對應(yīng)的第1例說明圖。
圖11示出借助于地址對準調(diào)整電路的地址校準所得的CPU示出地址信號與存取優(yōu)化器的輸出地址信號之間對應(yīng)的第2例說明圖。
圖12示出地址對準調(diào)整電路一例的框圖。
圖13示出未進行如圖9所示的地址對準調(diào)整時,在順序地存取CPU地址空間的情況下,進行字線選擇動作的DRAM存儲體順序的說明圖。
圖14示出進行如圖10所示的地址對準調(diào)整時,在順序地存取CPU地址空間的情況下,進行字線選擇動作的DRAM存儲體順序的說明圖。
圖15示出進行如圖11所示的地址對準調(diào)整時,在次序地存取CPU地址空間的情況下,進行字線選擇動作的DRAM存儲體次序的說明圖。
圖16示出數(shù)據(jù)緩沖電路一例的框圖。
圖17示出發(fā)生使用同一DRAM存取競爭場合的優(yōu)先存取判定和因此而產(chǎn)生的存取動作控制順序一例的定時圖。
圖18A-18D示出按照優(yōu)先存取判定結(jié)果的宏DRAM的動作定時的幾個例子的定時圖。
圖19示意性地示出從非競爭的宏DRAM的非閉塞多路存取的觀點出發(fā)的系統(tǒng)LSI的另一例框圖。
圖20示出作為破壞性寫入方式一例的直接脈沖寫入方式的動作一例的定時圖。
圖21示出刷新方式動作一例的定時圖。
圖22示出對1條字線部分的寫入,假定進行非破壞性寫入時的動作定時的比較例定時圖。
具體實施例方式
優(yōu)選實施例的詳細說明《系統(tǒng)LSI》圖1中示出了應(yīng)用本發(fā)明的半導(dǎo)體集成電路一例的CPU/DRAM混載的LSI(也稱為系統(tǒng)LSI)。同圖所示的系統(tǒng)LSI,沒有特別限于此,而是通過CMOS(Complementary Metal OxideSemiconductor互補金屬氧化物半導(dǎo)體)制造技術(shù),在如單晶硅那樣的1個芯片上,作為集成大規(guī)模邏輯電路一例的CPU 1、第1級高速緩存2、外部總線接口電路3、存取優(yōu)化器4,以及作為大容量存儲器一例的多個宏DRAM(多存儲體的DRAM)5Ma~5Md。上述宏DRAM5Ma~5Md,由各自具有共用總位線的的多個的DRAM存儲體(存儲體)的多存儲體DRAM而構(gòu)成,每一個DRAM存儲體具有把讀出放大器用作刷新的讀出放大器高速緩存功能,對已命中讀出放大器的數(shù)據(jù)的存取,可以不進行字線選擇動作而能高速輸出數(shù)據(jù)。讀出放大器高速緩存的命中判定和宏DRAM 5Ma~5Md的控制,由上述存取優(yōu)化器4進行。
對上述CPU 1雖然沒有特別限制,但是一般認為是所謂32位CPU,規(guī)定數(shù)據(jù)運算處理單位原則上為32位。而且,對CPU 1雖然沒有特別限制,但是可用32位地址信號,管理4千兆字節(jié)的地址空間。
上述CPU 1和第1級高速緩存2,分別用32位內(nèi)部數(shù)據(jù)總線6DB和內(nèi)部地址總線6AB進行連接,第1級高速緩存2和外部總線接口電路3各自用32位內(nèi)部數(shù)據(jù)總線7DB和內(nèi)部地址總線7AB進行連接。外部總線接口電路3,各自通過32位外部數(shù)據(jù)總線8DB和外部地址總線8AB,成為外部接口。各個控制信號總線省略圖示。
上述宏DRAM 5Ma~5Md被變換成CPU 1的地址空間,因而借助于讀出放大器高速緩存功能,用作第2級高速緩存。宏DRAM5Ma~5Md,各自通過128位的存儲器數(shù)據(jù)總線9DBa~9DBd,進行存取優(yōu)化器4與數(shù)據(jù)之間的輸入輸出,由存取優(yōu)化器4通過總線9ACB供給地址信號和指令等。
上述存取優(yōu)化器4,通過第1存取口PT1,成為CPU 1和第1級高速緩存2的接口。而且,存取優(yōu)化器4,通過外部總線接口電路3,具有成為系統(tǒng)LSI外部接口的第2存取口PT2。第1存取口PT1,經(jīng)由上述地址總線6AB,輸入來自CPU 1的地址信號,在與第1級高速緩存2之間,通過128位數(shù)據(jù)總線10DB,進行數(shù)據(jù)的輸入輸出。第2存取口PT2,通過32位地址總線11AB和數(shù)據(jù)總線11DB,連接到上述外部總線接口電路3上。
在系統(tǒng)LSI中,若CPU 1將地址信號輸出到地址總線6AB上進行讀存取時,則響應(yīng)該信號,第1級高速緩存2開始命中判定等的高速緩存動作。與之并行進行存取優(yōu)化器4也開始讀出放大器高速緩存的命中判定等。第1級高速緩存2是由SRAM(Static Rondom AccessMemory靜態(tài)隨機存取存儲器)構(gòu)成的小容量高速存儲器,宏DRAM5Ma~5Md與其相比,即使是大容量的,一般也變得存取速度低的存儲器。因此,高速緩存的判定,一般使第1級高速緩存2超前。若第1級高速緩存2為高速緩存命中,則抑制來自存取優(yōu)化器4的宏DRAM5Ma~5Md的讀出數(shù)據(jù)的輸出,需要的數(shù)據(jù)從第1級高速緩存2經(jīng)由數(shù)據(jù)總線6DB送給CPU 1。當高速緩存未命中時,第1級高速緩存2,使必要的數(shù)據(jù)經(jīng)由數(shù)據(jù)總線10DB,從宏DRAM 5Ma~5Md送給CPU1。這時,從宏DRAM 5Ma~5Md送給第1級高速緩存2的數(shù)據(jù)是128位,第1級高速緩存2,用地址信號的低位側(cè),取出32位,把它送給CPU 1。第1級高速緩存2與此同時,為了進行遇到未命中的高速緩存行的填充,向該高速緩存行寫入上述128位的數(shù)據(jù)。這時,當該高速緩存行保持全部回寫有效的數(shù)據(jù)時,則超前向高速緩存填充,進行將高速緩存行的數(shù)據(jù)寫入到宏DRAM 5Ma~5Md的對應(yīng)地址中。
在CPU 1的寫存取的情況下,第1級高速緩存2若為高速緩存命中,則向該高速緩存2進行寫入。若為高速緩存未命中,則向宏DRAM5Ma~5Md的對應(yīng)地址進行寫入。通過總線10DB向宏DRAM5Ma~5Md進行寫入。
在系統(tǒng)LSI中混載的宏DRAM 5Ma~5Md與LSI外部之間的數(shù)據(jù)傳送,通過外部總線接口電路3和總線11DB、11AB來進行。這時的存取控制,可以用配置于LSI外部而圖中未示出的DMAC(DirectMemory Access Controller直接存儲器存取控制器)等來進行。
在上述系統(tǒng)LSI中,采用在作為大規(guī)模邏輯電路的CPU 1與作為大容量存儲器的宏DRAM 5Ma~5Md之間配置高速緩存2,通過高速緩存2,以緩和大容量存儲器5Ma-5Md與CPU 1之間的動作速度的差別,而實現(xiàn)CPU 1的高速數(shù)據(jù)處理。而且,為了提高DRAM5Ma-5Md與第1級高速緩存2之間的數(shù)據(jù)處理能力,增加連接兩者的數(shù)據(jù)總線10DB,如128位,從而實現(xiàn)高速數(shù)據(jù)傳輸。
《宏DRAM》圖2中示出上述宏DRAM 5Ma的一個例子。在圖2中,1個的DRAM 5Ma具有,例如4個DRAM存儲體Bank1~Bank4。各個DRAM存儲體Bank1~Bank4具有存儲單元陣列50、行/列譯碼器51、列選擇電路52、讀出放大器陣列53及定時發(fā)生器54。存儲單元陣列50具有矩陣方式配置的多個動態(tài)型存儲單元,存儲單元的選擇端子連接到字線WL,存儲單元的數(shù)據(jù)輸入輸出端子連接到各局部位線BL,各個局部位線BL全部有1024位部分。與局部位線BL的各位對應(yīng),設(shè)有讀出放大器。把全部這些讀出放大器總稱為讀出放大器陣列53。列選擇電路52,根據(jù)列地址信號,從1024位的局部位線BL,選擇128位部分的局部位線BL。用列選擇電路52所選擇的128位部分的局部位線,與128位部分的總位線GBL導(dǎo)通。位線選擇信號和列選擇電路的選擇信號,由上述行、列譯碼器產(chǎn)生。128位部分的總位線通過設(shè)于各個位上的主放大器連接到上述數(shù)據(jù)總線9DBa。把這些主放大器總稱為主放大器陣列。
從存取優(yōu)化器4通過地址、指令總線9ACB,把存儲體選擇信號B-ADD、行地址信號R-ADD、列地址信號C-ADD、列指令CC、行指令信號CR、以及寫入啟動信號WE等供給到各DRAM存儲體Bank1~Bank4上。
特別不限于此的是,將上述得到的這些信號,通過共同的信號線供給各DRAM存儲體Bank1~Bank4。上述存儲體選擇信號B-ADD是2位的存儲體地址信號的譯碼信號,也是各DRAM存儲體Bank1~Bank4中固有的選擇信號。因此,對于2位的存儲體地址信號,選擇1個DRAM存儲體。DRAM存儲體Bank1~Bank4,可采用通過對應(yīng)的存儲體選擇信號來選擇存儲體的辦法使之動作。在變成可動作的DRAM存儲體中,其它輸入信號R-ADD、C-ADD、CC、CR、WE等也變成有效。
定時發(fā)生器54,采用通過存儲體選擇信號B-ADD進行選擇的辦法,變?yōu)榭山邮苄兄噶钚盘朇R或列指令CC。行指令信號CR具有與通用DRAM的RAS(行地址選通脈沖)信號同樣的功能,一旦使之啟動,就取入行地址信號R-ADD,對它進行譯碼,并進行字線選擇動作,因此將位線上所讀出的1條字線部分的存儲單元的數(shù)據(jù),鎖存到讀出放大器陣列53的讀出放大器中。上述列指令CC具有與通用DRAM的CAS(列地址列選通脈沖)信號同樣的功能,一使之啟動,就取入列地址信號C-ADD,對它進行譯碼,進行列開關(guān)陣列52的字線選擇動作,因此將所選擇的128位部分的局部位線BL與總位線GBL導(dǎo)通。定時發(fā)生器54,雖然沒有特別限于此,但與行指令CR的行地址信號的取入,一同取入寫入啟動信號WE,由此決定讀出動作和寫入動作的內(nèi)部順序。
在宏DRAM 5Ma中,當用某DRAM存儲體進行列存取動作時,可以選擇別的DRAM存儲體發(fā)出行指令,而且并行進行行存取動作。因此,在先的列存取結(jié)束后,就可以在與其并行進行的行存取的DRAM存儲體中,馬上進行列存取,表面上可以隱藏頁未命中。
其它的宏DRAM 5Mb-5Md構(gòu)成也與上述宏DRAM 5Ma同樣。
圖3中示出了DRAM存儲體與總位線之間的連接關(guān)系構(gòu)成例。有關(guān)一對互補位線BL<0,0>,BLB<0,0>,各自代表性地示出的M1,M2是列開關(guān)MOS晶體管;M3,M4是預(yù)充電MOS晶體管;M5是補償MOS晶體管。用MOS晶體管M6~M9構(gòu)成的靜態(tài)鎖存方式的電路是讀出放大器,把象電源電壓這樣的高電位側(cè)工作電源ΦP,供給p溝MOS晶體管M7和M9的共同的源極。把象電路的接地電壓這樣的低電位側(cè)工作電源φN,供給n溝MOS晶體管M6和M8的共同的源極。存儲單元是由n溝MOS晶體管M10和電容Cs之間的串聯(lián)電路構(gòu)成的單個晶體管方式。在MOS晶體管的柵極上連接有字線WL。HVC是預(yù)充電電位,例如變成電源電壓與接地電壓之間的中間電壓。ΦPC是預(yù)充電信號,采用使之成為高電平的辦法,與補償互補位線同時,把預(yù)充電電壓HVP供給互補位線。
附圖中雖然沒有示出,但是其它互補位線的結(jié)構(gòu),基本上也與有關(guān)互補位線BL<0,0>,BLB<0,0>的上述結(jié)構(gòu)同樣。雖然沒有特別限制,但是列地址信號為3位,作為其譯碼信號的列選擇信號為Ys0~Ys7的8個。在一對總位線GBL0和GBLB0中,借助于列選擇信號Ys0~Ys7,通過開關(guān)控制的8對列開關(guān)MOS晶體管M1和M2,連接8對互補位線BL<0,0>,BLB<0,0>~BL<0,7>,BLB<0,7>。這樣以來,總計有1024(128×8)條互補位線BL<0,0>,BLB<0,0>~BL<127,7>和BLB<127,7>,以8對為單位,順次連接到128對總位線GBL0、GBLB0~GBL127和GBLB127。因而,按照列地址信號C-ADD的譯碼結(jié)果,列選擇信號Ys0~Ys7內(nèi)的某一個信號,將變成選擇電平的高電平,因此使128對互補位線,與128對總位線GBL0、GBLB0~GBL127和GBLB127導(dǎo)通。
《存取優(yōu)化器》圖4示出了上述存取優(yōu)化器的一個例子。存取優(yōu)化器4具有優(yōu)先存取判定電路40、地址對準調(diào)整電路41、地址先行發(fā)生電路(addressself-prefetching unit地址自預(yù)取裝置)42、命中判定電路43、地址/指令發(fā)生電路44、數(shù)據(jù)緩沖電路45以及控制電路46。
上述數(shù)據(jù)緩沖電路45具有數(shù)據(jù)緩沖器,同時具有可以分別進行選擇而將數(shù)據(jù)總線10DB連接到數(shù)據(jù)總線9DBa~9DBd中的某一條,并且,將數(shù)據(jù)總線11DB連接到數(shù)據(jù)總線9DBa~9DBd中的某一條的選擇器等。
上述優(yōu)先存取判定電路40,當通過第1存取口PT1的存取與通過第2存取口的存取是使用不同的宏DRAM的存取時,允許從兩個存取口并行存取,而且,通過第1存取口PT1的存取與通過第2存取口的存取是使用同一的宏DRAM的存取時,則進行控制使預(yù)定優(yōu)先度高的一方存取口的動作優(yōu)先。
地址/指令發(fā)生電路44,是將可使每個DRAM存儲體動作的地址和指令信號輸出到地址指令總線9ACB上的電路。即,輸出上述存儲體選擇信號B-ADD、行地址信號R-ADD、列地址信號C-ADD、行指令信號CR、列指令CC、以及寫入啟動信號WE等。
上述地址對準調(diào)整電路41,可以是由存取優(yōu)化器4的外部進行供給,變更經(jīng)過優(yōu)先存取判定的存取地址信號的位排列,通過上述地址/指令發(fā)生電路44,而送給宏DRAM 5Ma-5Md的電路。
上述地址先行發(fā)生電路42,接著對來自外部存取地址的宏DRAM的存取控制,對來自該外部的存取地址具有規(guī)定位移的先行發(fā)生存取地址,通過上述地址/指令發(fā)生電路44,而把該先行發(fā)生的地址數(shù)據(jù),從宏DRAM的存儲單元預(yù)先讀出到讀出放大器中。
命中判定電路43,是在已經(jīng)把上述讀出放大器陣列53中鎖存好數(shù)據(jù)以后的存取請求,判定是否命中的電路。換句話說,是用于實現(xiàn)讀出放大器高速緩存的命中判定裝置,保持著當前的存取地址,判定其是否關(guān)系到與這一次的存取地址同一的字線,或者,先行發(fā)生的地址是否關(guān)系到與這一次存取地址同一的字線呢。有關(guān)同一字線的判定結(jié)果應(yīng)該是讀出放大器高速緩存的命中狀態(tài),在此情況下,抑制地址/指令發(fā)生電路44發(fā)出行指令CR,并馬上發(fā)出列指令CC,可以將已經(jīng)鎖存于讀出放大器中的數(shù)據(jù)進行讀出。上述控制電路46,承擔整個存取優(yōu)化器4的控制。
上述存取優(yōu)化器4可以實現(xiàn)(1)提高下一次地址先行發(fā)生的讀出放大器高速緩存的命中率;(2)在起因于設(shè)置相關(guān)的地址變換方式的第1級高速緩存的高速緩存未命中,進行高速緩存項的復(fù)位時,不會降低多存儲體DRAM的運行效率;(3)對來自CPU和外部的宏DRAM的存取請求為非競爭的多個存取請求時,可以變?yōu)榉情]塞多路存取,使得一方的存取不會閉塞另一方的存取。而且,DRAM存儲體Bank1~Bank4,(4)把每條字線的存儲單元群作為高速緩存行,為了高效率進行對利用讀出放大器高速緩存的宏DRAM的數(shù)據(jù)改寫,故進行破壞性寫入。有關(guān)(1)~(4)的內(nèi)容,下面將詳細說明。
《提高下一個地址先行發(fā)生的讀出放大器高速緩存的命中率》在圖5中,示出了上述第1級高速緩存2基本結(jié)構(gòu)的一個例子。第1級高速緩存2,并沒有特別限于此,但一般認為是設(shè)置相關(guān)的地址變換方式,并具有4個通道WAY0~WAY3。各通道WAY0~WAY3,并沒有特別限于此,但具有用于構(gòu)成最大256個高速緩存行的存儲單元陣列,該存儲單元陣列由地址陣列20和數(shù)據(jù)陣列21構(gòu)成。一個高速緩存行包括具有物理頁面編號等的地址特征ATAG的高速緩存特征CTAG、有效位V、圖中省略的不明位(dirty bit)以及與其對應(yīng)的16字節(jié)的數(shù)據(jù)LW0~LW3。將高速緩存特征CTAG、有效位V和不明位存儲到地址陣列20內(nèi),將數(shù)據(jù)LW0~LW3存儲到數(shù)據(jù)陣列21內(nèi)。有效位V表示在高速緩存中包含著有效數(shù)據(jù),邏輯值“1”為有效,而邏輯值“0”為無效。在回寫方式下利用高速緩存2時使用不明位,在回寫方式中寫入發(fā)生時,為邏輯值“1”。借助于該不明位,可以識別對應(yīng)的輸入數(shù)據(jù)與外部存儲器(5Ma~5Md)的數(shù)據(jù)之間的不一致。在電源接通復(fù)位中,該不明位被初始化為邏輯值“0”。
上述CPU 1輸出的地址信號(在CPU 1支持虛擬地址的情況下,地址信號是物理地址信號,在不是這樣的情況下,是邏輯地址信號)是上述的通用A0~A31的32位,一般認為是字節(jié)地址。雖然沒有特別限于此,但A21~A31都視為地址特征ATAG。到A4~A11為止的8位,視為用于由通道選擇高速緩存行的變址尋址Index。在圖5中,雖然省略地址陣列20和數(shù)據(jù)陣列21的地址譯碼器的圖標,但是在兩個譯碼器上提供變址尋址Index,并選擇與其對應(yīng)的高速緩存行。
由變址尋址Index所選擇的(變址的)各通道WAY0~WAY3的高速緩存行的高速緩存特征CTAG,借助于比較器(CMP)22~25,與在此時的存取地址中含有的地址特征ATAG進行比較。高速緩存特征CTAG與象物理頁碼編碼這樣的地址特征ATAG一致,有效位V為邏輯值“1”時,則從對應(yīng)的比較器22~25輸出的信號變成邏輯值“1”。把從比較器22~25輸出的信號,供給對應(yīng)的數(shù)據(jù)陣列21,當其為邏輯值“1”時,就用數(shù)據(jù)陣列21,選擇變址尋址的32字節(jié)的高速緩存行數(shù)據(jù)。所選擇的高速緩存行數(shù)據(jù),借助于A2、A3的2位,由選擇器26來進行選擇。從上述比較器22~25輸出信號的邏輯和信號成為高速緩存2的命中/未命中信號Hit。
在圖6中,可與第1級高速緩存2對比地,示出上述4個宏DRAM5Ma-5Md的讀出放大器高速緩存功能的邏輯結(jié)構(gòu)。從供給宏DRAM5Ma-5Md的地址信號的最低位起的4位,不具有實質(zhì)上的意義。之所以列選擇的數(shù)據(jù)是128位,是由于按字節(jié)地址,4位劃分的數(shù)據(jù)大小。C0~C2的3位作為列選擇信號C-ADD。該高位側(cè)的2位MS0和MS1,用作選擇宏DRAM 5Ma-5Md的宏地址信號。進而,該高位側(cè)4位,用作選擇DRAM存儲體的存儲體地址信號。這里,DRAM存儲體設(shè)為16個。而且,該高位側(cè)8位R0~R7,作為行地址信號R-ADD。與讀出放大器高速緩存的地址比較,不言而喻與設(shè)置相關(guān)的地址變換高速緩存不同,將來到每個DRAM存儲體中前的存取地址,被保持在上述命中判定電路43中。在圖6中,把這樣保持著的將來前的存取地址中的行地址,作為SACTAC并進行圖示。上述命中判定電路43把這次存取地址的行地址信號和將要存取地址之前的行地址SACTAC進行比較,在一致的情況下,變成命中狀態(tài),在地址/指令發(fā)生電路44中,用列地址信號選擇已經(jīng)鎖存到讀出放大器內(nèi)的數(shù)據(jù)。
希望由上述清楚利用由多存儲體構(gòu)成的宏DRAM 5Ma-5Md,將數(shù)據(jù)保持在各DRAM存儲體的讀出放大器內(nèi),當存取命中該保持數(shù)據(jù)時,就通過讀出讀出放大器鎖存的數(shù)據(jù),因而可使宏DRAM的第1次存取高速化。即,可以把各存儲體功能作為讀出放大器高速緩存。
為了進一步提高這樣的讀出放大器高速緩存的命中率(對讀出放大器的數(shù)據(jù)),在上述地址先行發(fā)生電路42中,在外部存取之后,先行發(fā)生其下一地址(加上上述位移地址),把該先行發(fā)生的地址數(shù)據(jù),先讀出到其它存儲體的讀出放大器內(nèi)。之所以將先行發(fā)生的對象作為下一個地址,是基于將CPU 1的動作程序和一群處理數(shù)據(jù),基本上變換為線性地址的經(jīng)驗規(guī)律,對于這樣的存取,是為了要讀出放大器高速緩存被容易命中。
先行發(fā)生地址必須是與該將要存取前的對象不同的存儲體的地址。如果是同一存儲體,則對于在前的存取,變成不能利用讀出放大器高速緩存的功能。因此,對上述外部來的存取地址,將具有上述規(guī)定位移的存取地址,作為指定與上述外部來的存取地址指定的存儲體不同的存儲體。
在這里,對CPU 1輸出的地址信號,向宏DRAM 5Ma-5Md供給的圖6的地址信號的位排列,至少從最低位直到MS1認為相同。而且,在CPU 1輸出的地址信號順次增量的情況下,轉(zhuǎn)換字線選擇狀態(tài)時,就要轉(zhuǎn)換宏DRAM。因此,地址先行發(fā)生電路42的上述規(guī)定位移,在設(shè)定列地址的位數(shù)為i時(=3),則從列地址信號的最低位數(shù)位起,為2的i次乘方(23=8)。
圖7中示出了地址先行發(fā)生動作定時圖的一個例子。CPU 1的存取地址設(shè)為ADD1。相對于此,進行新的字線選擇動作。例如在6次循環(huán)后,讀出與存取地址ADD1對應(yīng)的數(shù)據(jù)D1。這個期間,地址先行發(fā)生電路42,在內(nèi)部產(chǎn)生相對于地址ADD1+8的地址ADD2,向地址/指令發(fā)生電路44,指示行系動作,指示與該先行發(fā)生的地址信號對應(yīng)的宏DRAM的DRAM存儲體,進行字線選擇動作,并把所選擇的字線數(shù)據(jù)鎖存到讀出放大器中。如上述的那樣,設(shè)若存取地址信號為+8,則由于該存取地址ADD2一定移動到其它的宏DRAM上,就不會有通過存取地址ADD1而阻擋動作著的存儲體的動作。因而,若下一個存取地址是ADD2,則地址/指令發(fā)生電路44不會進行該地址ADD2的字線選擇動作,根據(jù)其保存的列地址信號,直接選擇讀出放大器的鎖存信息,向外部輸出數(shù)據(jù)D2。
圖8中示出了考慮到上述地址先行發(fā)生時的命中判斷電路43的一個例子。命中判斷電路43具有地址譯碼器430、寄存器電路431、及比較電路432A和432B。在宏DRAM 5Ma-5Md的各個存儲體內(nèi),寄存器電路431具有固有的地址儲存區(qū)。在該儲存區(qū)內(nèi),保持即將到對應(yīng)存儲體中之前的存取地址信號。上述地址譯碼器430,輸入由地址對準調(diào)整電路41供給的地址信號和由地址先行發(fā)生電路42供給的地址信號,并對各自輸入地址信號中所含有的2位宏地址信號和4位的存儲體地址信號進行譯碼。利用該譯碼信號,選擇與所存取的宏DRAM的DRAM存儲體對應(yīng)的地址儲存區(qū)。選定的地址儲存區(qū),首先,最初輸出已保持的地址信息,接著,把已保持的地址信息更新為本次的存取地址信息。如果上述已保持的地址信息被輸出,則比較電路432A,對由寄存器電路431供給的地址信號與由上述地址對準調(diào)整電路41供給的地址信號進行比較,比較電路432,對由寄存器電路431供給的地址信號與由上述地址對準調(diào)整電路41供給的地址信號與上述地址先行發(fā)生電路42供給的地址信號進行比較。比較的結(jié)果,若與比列地址信號最高位的地址信息一致,就可將讀出放大器高速緩存命中信息433A、433B作為有效送給上述地址/指令發(fā)生電路44。
上述地址/指令發(fā)生器44,根據(jù)讀出放大器高速緩存信息信號433A、433B的狀態(tài),決定對此時的存取地址,是否發(fā)出行指令CR。即,上述地址/指令發(fā)生器44,響應(yīng)信號433A、433B的不一致檢出,就對以存取地址所指定的宏DRAM,進行指示存儲體、字線和位線的選擇動作;響應(yīng)信號433A、433B的一致檢出,對以存取地址所指定的宏DRAM,就禁止字線選擇動作,指示存儲體和位線的選擇動作。
《第2級高速緩存的地址對準調(diào)整》在圖9中,示出了在地址對準調(diào)整電路41中,供給不進行地址對準調(diào)整狀態(tài)的上述第1級高速緩存2的地址信號(CPU 1的輸出地址信號)與供給宏DRAM 5Ma-5Md的地址信號(存取優(yōu)化器的輸出地址信號)之間的對應(yīng)關(guān)系。
上述存取優(yōu)化器4和上述宏DRAM 5Ma-5Md,可按照其讀出放大器高速緩存功能,作為第2級高速緩存6進行配置。
在上述第1級高速緩存2中當發(fā)生高速緩存讀未命中時,在與高速緩存行復(fù)位的同時,必需把該高速緩存行的高速緩存數(shù)據(jù),回寫到上述第1級高速緩存2中。這時的回寫前地址和要復(fù)位的高速緩存數(shù)據(jù)的讀出地址,共同與變址地址信息部分成為相等。這種情況,從設(shè)置相關(guān)的地址變換方式的高速緩存中的變址動作來看很清楚。應(yīng)該與該地址特征部分不同。
這時,從圖9的地址校準來看很清楚,變址地址Index被認為是同一的CPU地址,即A4~A11是相同的,而其中除存儲體地址信號是最高位數(shù)位B3外,依次分配給列地址C0~C2、宏地址信號MS0~MS1、存儲體選擇信號的一部分B0~B2。若回寫以前地址的地址特征信息ATAG的最高位A12與已經(jīng)復(fù)位的高速緩存數(shù)據(jù)的讀出地址的地址特征信息ATAG的最高位相互一致,則對用于回寫的宏DRAM的寫入存取和來自用于復(fù)位的宏DRAM的讀出存取,就是對同一宏DRAM的同一DRAM存儲體來進行。A12的1位相互一致的機率是比較高的。如發(fā)生這樣的狀態(tài),就不能有效地在宏DRAM 5Ma-5Md中用不同的存儲體進行雙方的動作。在一個DRAM存儲體中,必須在一次存取動作結(jié)束才能進行另一次存取動作。若要使動作的DRAM存儲體不同,則對一個DRAM存儲體進行著讀出動作時,對其它的DRAM存儲體,至少供給行指令,就可以并行進行字線選擇動作。
因而,設(shè)置了上述地址對準調(diào)整電路41。該地址對準調(diào)整電路41,可變更由外部供給的存取地址信號的位排列來供給宏DRAM5Ma-5Md。
在圖10中,示出了通過地址調(diào)整電路41的地址校準所得的CPU1的輸出地址信號與存取優(yōu)化器4的輸出信號之間對應(yīng)關(guān)系的第1例。圖10的例子中,設(shè)A12~A15為存儲體地址信號B0~B3,設(shè)A9~A11為行地址信號的一部分R0~R2。其它排列與圖9相同。在圖11中示出了地址校準的第2例。圖11的例子中,設(shè)A12~A14為存儲體地址信號的一部分B1~B3,設(shè)A10、A11為行地址信號的一部分R0、R1。其它排列與圖9相同。圖10和圖11的哪一種情況下,也把由CPU 1供給的地址信號之中,作為上述第1級高速緩存2的變址地址Index使用的地址信息的一部分與作為地址特征ATAG使用的地址信息的一部分進行轉(zhuǎn)換,分配到上述存儲體的存儲體地址內(nèi)。
因此,由于第1級高速緩存2的高速緩存未命中,當進行高速緩存項的復(fù)位和回寫時,可在相互不同的DRAM存儲體中進行雙方的存儲動作。對包括在一個宏DRAM內(nèi)的不同的DRAM存儲體,在對一個DRAM存儲體進行列系統(tǒng)動作時,可將行指令CR供給與其并行的其它的DRAM存儲體,字線選擇與讀出放大器鎖存可先行動作。而且,在一個DRAM存儲體中進行列存取動作的正在進行著為了回寫的寫入動作時,可以將行指令CR供給其它的DRAM存儲體,對復(fù)位的讀出動作中的字線選擇和讀出放大器鎖存可先行動作。所以,可以繼續(xù)用于回寫的寫入動作,并立即進行用于復(fù)位的讀出動作的列選擇和輸出動作。因此,可使第1級高速緩存2中的高速緩存未命中的補償動作高速化。
在圖12中,示出上述地址對準調(diào)整電路41的一例。地址對準調(diào)整電路41具有,能變更輸入地址信號的排列而進行輸出的開關(guān)電路411、決定上述開關(guān)電路411開關(guān)狀態(tài),可鎖存控制信息的控制寄存器410,上述寄存器410借助于上述CPU 1可以構(gòu)成存取。因此,能夠隨意選擇示于圖10和圖11的地址對準調(diào)整電路。
與上述地址校準不同,對于連續(xù)地址而出現(xiàn)作為指定相同存儲體的頻度不同。在圖13到圖15中,在順次存取CPU 1的地址空間的情況下,示出了進行字線選擇動作的DRAM存儲體的次序。4個宏DRAM5Ma-5Md各自具有16個的DRAM存儲體。在對應(yīng)于不進行地址對準調(diào)整圖9的圖13的情況下,順次轉(zhuǎn)換全部64個DRAM存儲體,順序轉(zhuǎn)換字線選擇(64組件連接盒)。在對應(yīng)于進行調(diào)整例1圖10的圖14情況下,4個DRAM存儲體邊循環(huán)地進行轉(zhuǎn)換,邊轉(zhuǎn)換字線的選擇(4組件連接盒)。在對應(yīng)于進行調(diào)整例2圖11的圖15的情況下,8個DRAM存儲體邊循環(huán)地進行轉(zhuǎn)換,邊轉(zhuǎn)換字線的選擇(8組件連接盒)。
在高速緩存行的復(fù)位中,在相互接近的變址地址中,如果選擇同一存儲體的頻度是高的,就讀出放大器高速緩存功能的命中率,在相互接近的地址中所存取的信息更加降低,相反,在高速緩存行的復(fù)位中,在相互接近的變址地址如果在相互接近的變址地址中,選擇不同存儲體的頻度高,則讀出放大器高速緩存功能的命中率,在相互直接接近的地址中存取的信息更加提高。選擇哪一方有利,取決于數(shù)據(jù)或命令的地址轉(zhuǎn)換,可根據(jù)應(yīng)用系統(tǒng)進行選擇。
作為上述地址對準調(diào)整電路41,可通過金屬操作采用固定地址校準的布線的方式。雖然不可能在制造工藝階段或設(shè)計階段選擇地址校準的方式,但可以簡化用于地址對準調(diào)整的電路結(jié)構(gòu)。
《非競爭宏DRAM的并行存取》在圖16中,示出了上述數(shù)據(jù)緩沖器電路45的一個例子。數(shù)據(jù)緩沖電路45具有,與第1口PT1的數(shù)據(jù)總線10DB連接的讀出數(shù)據(jù)緩沖器454R和寫入數(shù)據(jù)緩沖器454W;與第2口PT2的數(shù)據(jù)總線11DB連接的讀出數(shù)據(jù)緩沖器455R和寫入數(shù)據(jù)緩沖器455W;以及選擇器450R、451R、452W、453W。選擇器450R,選擇宏DRAM 5Ma-5Md中的一個與讀出數(shù)據(jù)緩沖器454R連接。選擇器451R,選擇宏DRAM5Ma-5Md中的一個與讀出數(shù)據(jù)緩沖器455R連接。選擇器452W,選擇宏DRAM 5Ma-5Md中的一個與寫入數(shù)據(jù)緩沖器454W連接。選擇器453W,選擇宏DRAM 5Ma-5Md中的一個與寫入數(shù)據(jù)緩沖器455W連接。選擇器450R、451R、452W、453WD的選擇器信號,由控制電路46輸出。
讀出數(shù)據(jù)緩沖器454R和寫入數(shù)據(jù)緩沖器454W,輸入和輸出一共為128位。另一方面,讀出數(shù)據(jù)緩沖器455R和寫入數(shù)據(jù)緩沖器455W內(nèi)裝數(shù)據(jù)調(diào)準器,總線11DB側(cè)的接口為32位,選擇器451R和453W側(cè)的接口為128位。
上述優(yōu)先存取判定電路40,當通過上述第1存取口PT1的存取和通過第2存取口PT2的存取是用不同宏DRAM的存取時,允許來自雙方的存取口的并行存取。
這樣的宏DRAM的非競爭存取,對由總線6AB供給的地址信號中含有的宏地址信號,與由總線11AB供給的地址信號中含有的宏地址信號進行比較判定。把判定結(jié)果送給控制電路46,控制電路46,根據(jù)來自雙方的宏地址信號,進行選擇器450R、451R、452W、453W的選擇控制。
并且,上述優(yōu)先存取判定電路40,當通過上述第1存取口PT1的存取和通過第2存取口PT2的存取是在同一宏DRAM的存取時,則使預(yù)先決定的優(yōu)先度高的一方存取口的動作優(yōu)先。
在圖17中,示出了發(fā)生使用同一宏DRAM的存取競爭時的優(yōu)先存取判定及其該存取控制順序的一個例子。
將存取優(yōu)先口指定給優(yōu)先存取設(shè)定寄存器。對地址輸入的那個輸入元,判定是否優(yōu)先口(S1),如果是來自優(yōu)先口的存取,則檢驗等待中的優(yōu)先存取是否存在(S2),在優(yōu)先存取結(jié)束前一直等待(S3)。然后,用命中判定電路43,進行讀出放大器高速緩存的命中判定(S4),若為高速緩存未命中,則進行行地址系動作的字線選擇和讀出放大器的行存取(S5),以后,進行列選擇動作等的列存取(S6),并輸出數(shù)據(jù)(S7)。在上述步驟S4中,若是高速緩存未命中,則跳到行存取(S5),進入列存取(S6)和數(shù)據(jù)輸入動作(S7)。在上述步驟(S1),若不是優(yōu)先存取,則進行與優(yōu)先存取之間的競爭有無的判定(S8),若有競爭,則等待該競爭的優(yōu)先存取結(jié)束(S9),由此進入上述步驟S4。
圖18A-18D舉例示出根據(jù)上述優(yōu)先存取判定結(jié)果的宏DRAM的幾個動作定時。例如,如圖18A所示,可以認為是由CPU 1通過總線6AB,供給地址信號aA0、aA1,從外部通過總線11AB,供給地址信號aB0、Ab3的狀態(tài)。
圖18B示出了存取對象宏DRAM不競爭的情況。即在不同的宏DRAM中發(fā)生存取的情況。在這種情況下,雙方的對象宏DRAM,并行獨立進行動作。圖18C示出了存取對象宏DRAM競爭的情況,是設(shè)定地址輸入aB為優(yōu)先的情況。即在一個宏DRAM中發(fā)生存取的情況。關(guān)于最先的存取要求由aA0和aB0進行競爭,從最初起由于地址aA0的存取與其它優(yōu)先存取進行競爭,直到對地址aB的動作完全結(jié)束為止,有關(guān)地址aA的存取都處于等待狀態(tài)。圖18D示出了存取對象宏DRAM進行競爭的情況,就是設(shè)定地址輸入aA為優(yōu)先的存取。即在一個宏DRAM中發(fā)生競爭的情況。這時,最初的存取aA為高速緩存未命中,在對高速緩存未命中的高速緩存項的復(fù)位或高速緩存填充期間,地址AB0、aB1的存取不會與地址aA的存取競爭,讀出在前的數(shù)據(jù)dB0、dB1。數(shù)據(jù)dA0的存取,繼之,關(guān)于高速緩存未命中的數(shù)據(jù)dA1的存取,比較有關(guān)地址aB2、Ab3的存取優(yōu)先,到其結(jié)束為止等待數(shù)據(jù)dB2、dB3的存取。
由上所述,在多個混載了宏DRAM的系統(tǒng)LSI中,對于宏DRAM沒有競爭的多個存取要求,由于一方存取沒有另一方存取時鐘,使得一方的存取不會閉塞另一方的存取。例如,借助于附圖未畫出的DMAC的控制,進行來自外部的存取時,并不停止CPU 1的動作,在來自外部的存取中,在沒有障礙的范圍內(nèi),容許由CPU 1引起的宏DRAM的存取,可有助于提高數(shù)據(jù)處理效率。
基于上述非競爭宏DRAM的非閉塞多路存取的觀點,也可以象圖19那樣構(gòu)成系統(tǒng)LSI。把DMAC7連接到第2口PT2。第1口PT1的數(shù)據(jù)輸入輸出被定為32位。第1級高速緩存2不是統(tǒng)一的高速緩存,而是分為命令高速緩存2I和數(shù)據(jù)高速緩存2D。圖19只示出專用的數(shù)據(jù)總線,而有關(guān)地址總線由圖1也很容易類推出來。
還有,也可以將圖19的結(jié)構(gòu)LSI化為各個功能塊,由多個芯片構(gòu)成而作為數(shù)據(jù)處理系統(tǒng)。并且,用這樣的存取方法,按照各自的存取狀況,從存取優(yōu)化器的地址輸入到數(shù)據(jù)輸出的等待時間,存在不可能一定的情況。在這樣的情況下,作為存取口PT1和PT2的接口,如采用SRAM接口,即使在與現(xiàn)有的系統(tǒng)組合使用的情況下,也可以簡單地進行連接。為此目的,存取優(yōu)化器4,在從地址輸入到數(shù)據(jù)輸出的期間,可以輸出WAIT(等待)信號。
《由宏DRAM構(gòu)成的第2級高速緩存的破壞性寫入》接著,說明有關(guān)在系統(tǒng)LSI中作為第2級高速緩存,特定的宏DRAM中的DRAM存儲體的破壞性寫入。一般在宏DRAM中進行數(shù)據(jù)寫入的情況下,一度從存儲單元把數(shù)據(jù)讀出到讀出放大器內(nèi),因此改寫其一部分。即,進行非破壞性寫入。在使用宏DRAM的讀出放大器高速緩存功能作為第2級高速緩存的情況下,由于以字線為單位進行數(shù)據(jù)管理,故沒有進行非破壞性寫入的必然性。因而,當寫入時,不對讀出放大器進行數(shù)據(jù)讀出動作,與字線上升同時,或其隨后,從主放大器把寫入數(shù)據(jù)傳送給位線,高速寫入字線部分的數(shù)據(jù)。
實現(xiàn)上述破壞性寫入的DRAM存儲體的定時信號發(fā)生器54具有,涉及數(shù)據(jù)寫入動作方式,在從字線選擇來的第1定時,使讀出放大器激活的第1動作方式(破壞性寫入方式)和在比從字線選擇來的上述第1定時要晚的第2定時,使讀出放大器激活的第2動作方式(刷新方式)。對上述第1動作方式,雖然沒有特別限制,但是采用確立(assert)寫入啟動信號WE和行指令信號CR,在此后不久確立列指令CC的辦法來設(shè)定,并應(yīng)該與列指令CC一起供給列地址信號。對上述第2動作方式,雖然沒有特別限制,但是采用對寫入啟動信號WE無效,和確立行指令信號CR的辦法來設(shè)定,還應(yīng)與行指令CR一起供給刷新地址(行地址)。在刷新動作中,不許進行列存取。
在圖20中,示出了作為破壞性寫入方式一例的直接脈沖寫入方式的動作定時圖的一例。如在時刻t 0選擇字線WL,則此后不久,投入讀出放大器的電源N、P,使讀出放大器激活。進而,用列選擇信號Ys0,把最初的128位寫入數(shù)據(jù)D0,從總位線GBL,通過列選擇電路52,輸入到128位部分的局部位線BL中。所輸入的128位寫入數(shù)據(jù)D0,被鎖存到128個對應(yīng)的讀出放大器中,根據(jù)鎖存的數(shù)據(jù),決定對應(yīng)的局部位線BL的電位狀態(tài)。以下,從時刻t1直到時刻t127,連續(xù)進行同樣的寫入動作,最終,將數(shù)據(jù)寫入到有關(guān)一條字線的1024位的存儲單元內(nèi)。
在圖21中,示出了刷新動作定時圖的一例。在刷新動作中,由于進行存儲信息的刷新動作,實質(zhì)上必須進行非破壞性寫入,所以在時刻t00結(jié)束預(yù)充電動作,在時刻t01進行字線選擇動作,因此由存儲單元供給局部位線BL的電荷信息而產(chǎn)生的電壓差存在一定程度增大,而在時刻t02使讀出放大器激活。在讀出放大器中,在時刻t1鎖存存儲器單元的存儲信息。因此,驅(qū)動局部字線BL,就用該電荷信息刷新存儲單元的存儲信息。該動作中,在t00-t1的期間,采用定時余量。
除以1條字線為單位的數(shù)據(jù)寫入以外,如果維持對1條字線部分的存儲單元的一部分的寫入動作的話,就應(yīng)該與刷新動作一樣需要非破壞性寫入。即使選擇字線,也不應(yīng)破壞不是寫入對象的存儲單元的數(shù)據(jù),。如果對1條字線部分的寫入也進行非破壞性寫入的話,如圖22示出的那樣,將刷新動作同樣的定時余量加到在存取時間上,與圖20相比寫入時間就延長了。
以上,根據(jù)實施例,具體地說明了由本發(fā)明人作出的發(fā)明,可是本發(fā)明不限于此,不言而喻,在不超出本宗旨的范圍內(nèi),還可能有種種變更。
例如,宏DRAM的個數(shù),備有各個宏DRAM的DRAM存儲體的個數(shù)不限于上述的例子,而是可以適當變更。并且,在系統(tǒng)LSI中安裝到代表性的半導(dǎo)體集成電路上的電路模塊或功能模塊的種類或個數(shù)也不限于上述例子。也可以或包括地址變換緩沖器,或裝上DSP。并且,在以上說明中,用作大容量存儲器,以宏DRAM或DRAM存儲體為一個例子,但是除涉及破壞性寫入的發(fā)明之外,宏DRAM或存儲體也不限定于DRAM形式,例如SRAM(Static Random AccessMemory靜態(tài)隨機存取存儲器)等也行。并且,不言而喻,涉及地址先行發(fā)生或非閉塞多路存取方面的發(fā)明,不限定于將宏存儲器以字線為單位作為數(shù)據(jù)管理的2級高速緩存特定的利用方式,也可應(yīng)用到簡單地把宏存儲器作為主存儲器使用的場合。
上述實施例所獲得的效果,簡單概括如下。
也就是,可以提高下一個地址先行發(fā)生的讀出放大器高速緩存的命中率。
起因于設(shè)置相關(guān)形式的第1級高速緩存的高速緩存未命中,而在進行高速緩存引入線的復(fù)位時,可使多存儲體DRAM的動作效率不降低。
能提高具有多存儲體的存儲器的第一次存取速度。
可對來自CPU和外部,對于宏存儲器的存取請求不競爭的多個存取請求,進行非閉塞的多路存取,使其一方的存取不會閉塞另一方的存取。
可高效地對以高速緩存行以字線為單位的多存儲體DRAM,進行數(shù)據(jù)改寫。
權(quán)利要求
1.一種半導(dǎo)體存儲器,其特征是包括存儲單元陣列,具有多個存儲單元;所述多個存儲單元分別連接字線并具有數(shù)據(jù)輸入/輸出連接局部位線;讀出放大器,對應(yīng)所述局部位線;其中,數(shù)據(jù)在字線選擇后而不等待所述讀出放大器激活就被寫入所述存儲器。
2.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲器,其特征是數(shù)據(jù)在所述字線選擇的同時被寫入所述存儲器。
3.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲器,其特征是所述多個存儲單元是動態(tài)存儲單元。
4.根據(jù)權(quán)利要求3所述的半導(dǎo)體存儲器,其特征是列選擇與所述字線選擇同時進行。
5.一種半導(dǎo)體存儲器,其特征是包括存儲單元陣列,具有多個存儲單元;所述多個存儲單元分別連接字線并具有數(shù)據(jù)輸入/輸出連接局部位線;數(shù)據(jù)輸入/輸出通過列開關(guān)連接所述位線;全局位線連接所述數(shù)據(jù)輸入/輸出線;列開關(guān)選擇所述位線,使選擇的位線連接所述全局位線;讀出放大器,在所述字線和所述位線交叉處對應(yīng)每個所述全局位線;其中,列選擇在所述字線選擇后而不等待所述讀出放大器激活就開始進行。
6.根據(jù)權(quán)利要求5所述的半導(dǎo)體存儲器,其特征是包括列譯碼器,用于向所述列開關(guān)輸出字線選擇信號和列線選擇信號。
7.根據(jù)權(quán)利要求5所述的半導(dǎo)體存儲器,其特征是所述多個存儲單元是動態(tài)存儲單元。
8.一種存儲器,其特征是具有DRAM宏結(jié)構(gòu),每個所述DRAM宏結(jié)構(gòu)包括多個存儲體,所述存儲體具有多個存儲單元;所述存儲器包括字線和位線,根據(jù)行地址信號選擇的字線、根據(jù)列地址信號選擇位線、與所述存儲器宏結(jié)構(gòu)的數(shù)據(jù)線連接;所述存儲單元連接字線并具有連接在所述字線與所述位線交點的數(shù)據(jù)輸入/輸出和用于鎖存存儲信息的讀出放大器;每個所述存儲體具有,在選擇所述字線的第1定時,使讀出放大器激活的第1動作方式。
9.根據(jù)權(quán)利要求8所述的高速緩存,其特征是每個所述存儲體具有,在選擇所述字線后在比所述第1定時晚的第2定時,激活讀出放大器動作的第2動作方式。
10.根據(jù)權(quán)利要求9所述的高速緩存,其特征是所述第1動作方式是無數(shù)據(jù)讀出的寫入方式,而所述第2動作方式是刷新方式。
11.根據(jù)權(quán)利要求9所述的高速緩存,其特征是所述多個存儲單元是動態(tài)存儲單元。
全文摘要
半導(dǎo)體存儲器和高速緩存器,為使多存儲體的存儲器的快速存取(與前存取的字線不同的讀出存取)高速化,使用多存儲體構(gòu)成的宏存儲器,并將數(shù)據(jù)保持在各存儲體的讀出放大器中,當存取命中該保持數(shù)據(jù)時,輸出鎖存的數(shù)據(jù),從而高速化。即使各存儲體有讀出放大器高速緩存功能。為進一步提高這種命中率,在存取宏存儲器后,存取控制電路先行發(fā)生下一地址(加上規(guī)定的位移地址),并把它預(yù)先讀出到其它存儲體的讀出放大器中。
文檔編號G11C11/4091GK1624802SQ20041010039
公開日2005年6月8日 申請日期1999年6月30日 優(yōu)先權(quán)日1998年7月1日
發(fā)明者鲇川一重, 三浦誓士, 佐藤潤, 渡部隆夫, 柳澤一正, 菅野雄介, 水野弘之 申請人:株式會社日立制作所