專利名稱:可編程存儲(chǔ)器存取接口類型的集成電路微處理器及方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及數(shù)據(jù)處理器,更具體地涉及帶有集成接口邏輯的數(shù)據(jù)處理器。
在很多情況下,集成電路微處理器必須與其它集成電路裝置相連以完成一定功能。這類外部裝置的例子有存儲(chǔ)器、串聯(lián)接口適配器、模數(shù)轉(zhuǎn)換器和其它很多裝置。在大部分例子中,每個(gè)這類外部設(shè)備需要外部控制信號(hào)以便在微處理器訪問(wèn)該設(shè)備時(shí)適當(dāng)?shù)貙⑺せ?。例如,一個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)集成電路需要允許芯片操作、允許輸出、和允許寫(xiě)控制信號(hào)以控制讀寫(xiě)存取。這些信號(hào)的時(shí)序要求與市場(chǎng)上現(xiàn)成裝置有所不同。例如,某些SRAM相對(duì)于允許輸出信號(hào)異步地提供輸出數(shù)據(jù),而其它SRAM都與時(shí)鐘信號(hào)同步地采樣允許輸出信號(hào)并提供輸出數(shù)據(jù)。
一般情況下,一個(gè)設(shè)計(jì)帶有微處理器和其它集成電路系統(tǒng)的設(shè)計(jì)者使用“膠合邏輯”,以便從由微處理器本身所產(chǎn)生的地址和總線控制信號(hào)中產(chǎn)生所需芯片選擇信號(hào)。這個(gè)外加邏輯顯著地增加了正在設(shè)計(jì)的系統(tǒng)的費(fèi)用并可能使性能變壞,因而是極不受歡迎的。
可從California的Santa Clara的Intel Corporation得到的80186(亦稱為iAPX186)是一個(gè)具有用于產(chǎn)生芯片選擇信號(hào)的內(nèi)部邏輯的集成電路微處理器。該芯片選擇邏輯在完成下列功能時(shí)能力有限為其7個(gè)可能活動(dòng)的芯片選擇的地址范圍編程及為其每個(gè)活動(dòng)的芯片選擇的總線周期可編程地插入等待狀態(tài)。此外,某些芯片選擇可編程為只在存儲(chǔ)器內(nèi)或微處理器的I/O地址空間內(nèi)是活動(dòng)的。
具有板上芯片選擇邏輯的集成電路微處理器的另一個(gè)例子是1992年9月29日授權(quán)的在美國(guó)專利5,151,986中由John A.Langan和James M.Sibigtroth所公開(kāi)的。所公開(kāi)的芯片選擇邏輯包括一個(gè)控制寄存器,依靠它可為數(shù)個(gè)芯片選擇輸出量中的每一個(gè)將時(shí)序、極性和等待狀態(tài)數(shù)量單獨(dú)地進(jìn)行編程。
將芯片選擇邏輯合并入微處理器集成電路所帶來(lái)的主要問(wèn)題牽涉到向用戶提供足夠的靈活性。膠合邏輯的使用十分靈活,因?yàn)橄到y(tǒng)設(shè)計(jì)者有很大自由在微處理器內(nèi)存映射區(qū)中安排每個(gè)外部設(shè)備及安排時(shí)序和芯片選擇信號(hào)本身的其它特性。這種靈活性很有用,因?yàn)榭赡茉O(shè)計(jì)的系統(tǒng)和特定外部設(shè)備的芯片選擇要求互相間的差別是很大的。要在集成電路選擇單元內(nèi)提供足夠靈活性而又將該單元尺寸約束在合理限度內(nèi)是很困難的。
一種靈活性是能夠支持具有脈沖串模式能力的CPU。脈沖串模式是一種模式,其中CPU在連續(xù)的時(shí)鐘周期內(nèi)訪問(wèn)一連串內(nèi)存地址。例如,作為傳送指令的一部分,CPU可在連續(xù)時(shí)鐘周期內(nèi)讀字,從而自內(nèi)存讀取幾個(gè)數(shù)據(jù)字。市場(chǎng)上現(xiàn)成的高過(guò)SRAM通過(guò)稱為頁(yè)模式、半字節(jié)模式、靜列或類似模式的特征支持脈沖串模式。然而這些SRAM需要短存取時(shí)間的芯片,以便在一個(gè)時(shí)鐘周期內(nèi)提供數(shù)據(jù),因此通常是昂貴的。
相應(yīng)地提供一種形式的具有可編程接口類型的數(shù)據(jù)處理器,包括一個(gè)中央處理單元(CPU),一個(gè)可選寄存器,一個(gè)譯碼器,和一個(gè)存取控制器。CPU執(zhí)行指令和存取內(nèi)存??蛇x寄存器連至CPU并和一個(gè)內(nèi)存區(qū)相關(guān)連。該可選寄存器存放一個(gè)編碼值。譯碼器連至可選寄存器,并將編碼值進(jìn)行譯碼,以便對(duì)存取該內(nèi)存區(qū)的CPU作出響應(yīng),提供譯碼信號(hào)。該譯碼信號(hào)采取眾多狀態(tài)之一,包括合法狀態(tài)和備用狀態(tài)。存取控制器連至CPU和譯碼器或其中之一,如譯碼信號(hào)處于合法狀態(tài),則存取控制器將具有由對(duì)應(yīng)于該譯碼信號(hào)的可編程接口類型所定義的時(shí)序特性的眾多外部控制信號(hào)加以激活,或如該譯碼信號(hào)處于備用狀態(tài),則存取控制器保持眾多外部控制信號(hào)不活動(dòng)。因此該數(shù)據(jù)處理器防止軟件誤差造成未定義的內(nèi)存存取。
下面結(jié)合附圖所作的詳細(xì)描述將使這些和其它特征和優(yōu)點(diǎn)更為明顯。
圖1以框圖形式闡述根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)。
圖2-10闡述圖1芯片選擇電路的不同方面,以便于了解本發(fā)明。
圖2以框圖形式闡述圖1數(shù)據(jù)處理系統(tǒng)的內(nèi)存映象一部分。
圖3以框圖形式闡述圖1芯片選擇電路的多級(jí)保護(hù)電路。
圖4以框圖形式闡述圖1芯片選擇電路的可編程存取類型電路。
圖5描述圖1芯片選擇電路所完成的第一內(nèi)存存取類型的時(shí)序圖。
圖6描述圖1芯片選擇電路所完成的第二內(nèi)存存取類型的時(shí)序圖。
圖7描述圖1芯片選擇電路所完成的第三內(nèi)存存取類型的時(shí)序圖。
圖8以框圖形式闡述圖1芯片選擇電路的一個(gè)模塊化芯片選擇控制電路。
圖9以部分框圖和部分邏輯圖形式闡述圖1芯片選擇電路的一個(gè)管腳配備邏輯電路。
圖10以框圖形式闡述圖8模塊化芯片選擇控制電路的時(shí)序控制級(jí)。
圖11以框圖形式闡述圖1芯片選擇電路特定實(shí)施例的功能框圖。
圖12a和12b,以塊形式闡述圖1芯片選擇電路的寄存器地址映象。
圖13以框圖形式闡述圖11芯片選擇發(fā)生單元。
圖14-19闡述圖13控制單元所提供的不同接口類型的時(shí)序圖。
圖1以框圖形式闡述根據(jù)本發(fā)明的一個(gè)數(shù)據(jù)處理系統(tǒng)20。數(shù)據(jù)處理系統(tǒng)20一般包括一個(gè)外部總線21、一個(gè)電可編程只讀存儲(chǔ)器(EPROM)22、一個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)23、一個(gè)輸入輸出(I/O)芯片24、一個(gè)I/O芯片25、和一個(gè)數(shù)據(jù)處理器30。數(shù)據(jù)處理器30是一個(gè)用作數(shù)據(jù)處理系統(tǒng)20的中央處理單元(CPU)的單塊集成電路,并一般包括一塊CPU芯片31、一個(gè)芯片選擇電路32、一個(gè)外部總線接口33和內(nèi)部總線34。
CPU芯片31可用任何已知CPU結(jié)構(gòu)實(shí)施如復(fù)雜指令集計(jì)算機(jī)(CISC)、精簡(jiǎn)指令集計(jì)算機(jī)(RISC)、數(shù)字信號(hào)處理器(DSP)或任何其它已知結(jié)構(gòu)。此外,數(shù)據(jù)處理器30可看作為一個(gè)高度集成的微處理器或微控制器(嵌入控制器、微計(jì)算機(jī)、等等)。在微控制器的例中,數(shù)據(jù)處理器30包括數(shù)據(jù)處理系統(tǒng)的其它常規(guī)元件,如存儲(chǔ)器和外設(shè),它們位于芯片上并連至內(nèi)部總線34。然而在數(shù)據(jù)處理系統(tǒng)20中,這類裝置也可裝在芯片之外,而數(shù)據(jù)處理器30則使用外部總線接口33通過(guò)外部總線21連至這些裝置。
外部總線接口33通過(guò)內(nèi)部總線34連至CPU芯片31。并向外部總線21提供信號(hào)外部總線接口33用于將內(nèi)部總線34適配至單個(gè)外部總線21。例如,如CPU芯片31實(shí)施Harvard結(jié)構(gòu),使用單獨(dú)的指令和數(shù)據(jù)通路,則外部總線接口33將按來(lái)自這些單獨(dú)的指令和數(shù)據(jù)通路的存取按順序安排至外部總線21上。
為減少集成電路數(shù)量,數(shù)據(jù)處理器30包括芯片選擇電路32,用于產(chǎn)生直接送至EPROM22、SRAM23和I/O芯片24和25的時(shí)序和控制信號(hào)。例如,在所描述的實(shí)施例中,芯片選擇電路32向EPROM22提供兩個(gè)低活動(dòng)芯片選擇信號(hào),即被稱為允許芯片CE和允許輸出OE,用于從外部總線21提取指令。為存取讀寫(xiě)裝置,芯片選擇電路32也向SRAM 23和I/O芯片24和25提供允許寫(xiě)(WE)信號(hào),例如允許寫(xiě)信號(hào)。芯片選擇電路32具有一個(gè)通向外部總線接口33的雙向連接,用于接收與對(duì)外部總線21的存取相關(guān)連的地址、屬性和控制信號(hào)。在芯片上除集成板級(jí)邏輯外,芯片選擇電路32還提供一個(gè)改善的外部接口,其特點(diǎn)一般在圖2-9中描述。
圖2以框圖形式闡述圖1數(shù)據(jù)處理系統(tǒng)20的內(nèi)存映象的一部分40。部分40通常以降序形式表示一連串地址,將大地址表示于小地址之上。部分40包括一個(gè)主塊41,由“主塊高地址”和“主塊低地址”定界。圖1芯片選擇電路32具備能力,可編程一個(gè)子塊42,使之或與主塊41重疊,或位于主塊41邊界之內(nèi)。此重疊控制是有用的,因當(dāng)內(nèi)存密度增加后,具有多個(gè)與單個(gè)內(nèi)存集成電路相關(guān)連的區(qū)域是有用的,其中每個(gè)區(qū)域具有不同可編程屬性。為此目的,子塊42可如圖2所示完全位于主塊41之內(nèi)而由“子塊高地址”和“子塊低地址”定界。
芯片選擇電路32如圖3所描述,實(shí)施此重疊內(nèi)存映象,圖3以框圖形式闡述圖1芯片選擇電路32的多級(jí)保護(hù)電路50。多級(jí)保護(hù)電路50一般包括用于任意數(shù)量塊的譯碼器,它們中某些塊可能是重疊的。例如,如圖3所闡述,多級(jí)保護(hù)電路50包括一個(gè)主塊譯碼器51和一個(gè)子塊譯碼器54,用于分別實(shí)施圖2的主塊41和子塊42。注意此處所用詞“塊”和“區(qū)”是同義的,而“子塊”代表位于一塊更大的塊或區(qū)的邊界內(nèi)的塊或區(qū)。
主塊譯碼器51包括一個(gè)對(duì)應(yīng)于主塊低地址的基址寄存器52和一個(gè)可選寄存器53??蛇x寄存器53包括一個(gè)塊長(zhǎng)度域,當(dāng)將它加到存放于基址寄存器52內(nèi)的基址上時(shí),即可確定主塊高地址。此外,可選寄存器53存放著用于保護(hù)與主塊41相關(guān)連的區(qū)域的屬性。類似地,子塊譯碼器54包括一個(gè)決定子塊低地址的基址寄存器55和一個(gè)可選寄存器56,后者包括一個(gè)決定子塊高地址的塊長(zhǎng)度域。此外,可選寄存器56包括用于與子塊42相關(guān)連的可編程屬性的域。
主塊譯碼器51和子塊譯碼器54兩者都在圖1的CPU芯片31的總線周期內(nèi)接收一個(gè)標(biāo)號(hào)為“地址”的輸入地址,以及此外還接收標(biāo)號(hào)為“保護(hù)屬性”的代表當(dāng)前周期保護(hù)屬性的控制信號(hào)。這類保護(hù)屬性的例子是寫(xiě)信號(hào)標(biāo)志。例如,如主塊41或子塊42被寫(xiě)保護(hù),則寫(xiě)信號(hào)將標(biāo)明該未決周期為寫(xiě)周期,因而本周期與所編程的保護(hù)不匹配。主塊譯碼器51和子塊譯碼器54的每一個(gè)都將地址信號(hào)與由相應(yīng)可選寄存器中基址寄存器和區(qū)長(zhǎng)度域所定義的區(qū)域進(jìn)行比較。如該地址位于該區(qū)域內(nèi),則相應(yīng)的塊譯碼器激活一個(gè)標(biāo)號(hào)為“地址匹配”的地址匹配信號(hào)。此外,如輸入的保護(hù)屬性與相應(yīng)的可選寄存器內(nèi)的編程值相匹配,則該塊譯碼器激活一個(gè)標(biāo)號(hào)為“屬性匹配”的相應(yīng)的屬性匹配信號(hào)。
接著優(yōu)先級(jí)強(qiáng)制電路58從每個(gè)塊接收地址匹配和屬性匹配信號(hào),并根據(jù)優(yōu)先級(jí)機(jī)理決定是否激活一個(gè)外部控制信號(hào),如標(biāo)號(hào)為“CE”的信號(hào)。如只有主塊譯碼器51和子塊譯碼器54中的一個(gè)激活其地址匹配信號(hào),則優(yōu)先級(jí)強(qiáng)制電路58只當(dāng)相應(yīng)的屬性匹配信號(hào)也已激活時(shí)才將信號(hào)CE激活?,F(xiàn)同時(shí)參照?qǐng)D2和3,假定地址處于主塊低地址和子塊低地址之間。這種情況下,主塊譯碼器51將檢測(cè)到地址匹配情況并激活地址匹配信號(hào)。此外,假定保護(hù)屬性與可選寄存器53中所編程的保護(hù)屬性相匹配。這種情況下,主塊譯碼器51也將激活屬性匹配信號(hào)。然而,由于地址不處于子塊42之內(nèi),所以子塊譯碼器54將不激活其地址匹配信號(hào)。因此優(yōu)先級(jí)強(qiáng)制電路58根據(jù)主塊41內(nèi)的地址和屬性匹配情況激活信號(hào)CE。
現(xiàn)看地址落在子塊42內(nèi)的情況。這種情況下,主塊譯碼器51和子塊譯碼器54兩者都激活它們相應(yīng)的地址匹配信號(hào)?,F(xiàn)也假定保護(hù)屬性與可選寄存器53中所定義諸項(xiàng)相匹配,因而主塊解碼器51激活其屬性匹配信號(hào)。然而與此同時(shí),由于保護(hù)屬性與可選寄存器56中所編程的屬性不匹配,所以子塊譯碼器54不激活其屬性匹配信號(hào)。這種情況下,優(yōu)先級(jí)強(qiáng)制電路58將信號(hào)CE保持為不活動(dòng),承認(rèn)子塊譯碼器54的優(yōu)先級(jí)高于主塊譯碼器51。因此子塊42能以更高的保護(hù)優(yōu)先級(jí)嵌套于主塊41內(nèi)。這種塊之間的嵌套和優(yōu)先級(jí)分配可擴(kuò)大應(yīng)用至任意數(shù)的嵌套。
圖4以框圖形式闡述圖1芯片選擇電路32的可編程存取類型電路60??删幊檀嫒☆愋碗娐?0一般包括一個(gè)可選寄存器61,后者具有一個(gè)接口類型域62、一個(gè)接口類型譯碼器63和一個(gè)存取控制器64??蛇x寄存器61是一個(gè)如上面圖3所闡述的可編程區(qū)相關(guān)連的寄存器,它包括一個(gè)接口類型(ITYPE)域62。ITYPE域包括一個(gè)編碼接口類型值,提供給接口類型譯碼器63輸入端。接口類型譯碼器63接著將ITYPE域62解碼并將解碼信號(hào)提供給存取控制器64。接著存取控制器64根據(jù)輸入的標(biāo)號(hào)為“時(shí)鐘”的時(shí)鐘信號(hào)為CE、OE和WE產(chǎn)生時(shí)序信息。
在已知的芯片選擇電路中,可選寄存器為預(yù)譯碼域中個(gè)別信號(hào)定義時(shí)序和接口特性。因此,當(dāng)軟件誤差的存在使這些位中一位或更多位受到破壞時(shí),將會(huì)產(chǎn)生非法時(shí)序組合,結(jié)果產(chǎn)生硬件錯(cuò)誤或軟件崩潰。然而可編程存取類型電路60能阻止這類出錯(cuò)組合,因此數(shù)據(jù)處理器30對(duì)軟件錯(cuò)誤有更大抗擾性及允許更快更不易出錯(cuò)的軟件開(kāi)發(fā)??删幊檀嫒☆愋碗娐?0利用編碼的ITYPE域能防止這些軟件錯(cuò)誤造成未經(jīng)定義的內(nèi)存存取。在開(kāi)發(fā)軟件時(shí),軟件錯(cuò)誤會(huì)導(dǎo)致ITYPE域62不正確地編碼,致使ITYPE域62的一位或更多位的數(shù)值不對(duì)。接口類型譯碼器63將來(lái)自ITYPE域62的編碼信號(hào)加以譯碼,從而提供一個(gè)可采取合法狀態(tài)或備用狀態(tài)的譯碼信號(hào)。如ITYPE域62編碼得合法狀態(tài),則接口類型譯碼器63向存取控制器64提供輸出量,以便根據(jù)所選合法接口類型提供時(shí)序信息。然而,如ITYPE域62編碼得備用狀態(tài),則接口類型譯碼器63將不會(huì)激活其送給存取控制器64的輸出量。因此存取控制器64將不完成外部總線周期。
圖5描述由圖1芯片選擇電路32完成的第一內(nèi)存存取類型的時(shí)序圖。圖5顯示有助于理解這個(gè)第一內(nèi)存存取類型的幾個(gè)信號(hào),包括時(shí)鐘、地址、WE、CE、OE和數(shù)據(jù)。這種內(nèi)存存取類型稱為“帶有早期同步允許輸出信號(hào)的同步接口”類型。圖5所示第一條線是時(shí)鐘信號(hào),圖5所示其它所有信號(hào)都與它同步。三個(gè)標(biāo)號(hào)為“t1”、“t2”和“t3”并對(duì)應(yīng)于時(shí)鐘信號(hào)的連續(xù)由低到高轉(zhuǎn)變的時(shí)間點(diǎn)有助于理解本內(nèi)存存取類型。
注意圖5假定在時(shí)間t1之前所有以前的存取操作都已結(jié)束。還注意圖5所描述的信號(hào)波形假定芯片選擇電路32向外部總線接口33提供信號(hào),以確認(rèn)存取周期的地址段和數(shù)據(jù)段。然而如使用外部確認(rèn)信號(hào),則存取的地址段和數(shù)據(jù)段的持續(xù)時(shí)間決定于何時(shí)接收到這些確認(rèn)信號(hào)。例如,一個(gè)標(biāo)為“AACK”的稱為地址確認(rèn)的信號(hào)對(duì)存取周期的地址段加以確認(rèn)。芯片選擇電路32保持信號(hào)CE活動(dòng),直至它檢測(cè)到在時(shí)鐘由低到高轉(zhuǎn)變之前對(duì)信號(hào)AACK的激活。一個(gè)標(biāo)為“TA”的稱為傳送確認(rèn)的信號(hào)對(duì)存取周期的數(shù)據(jù)段的結(jié)束加以確認(rèn)。芯片選擇電路32保持信號(hào)OE(在讀周期內(nèi))或WE(在寫(xiě)周期內(nèi))活動(dòng),直至它檢測(cè)到在時(shí)鐘由低到高轉(zhuǎn)變時(shí)對(duì)信號(hào)TA的激活時(shí)為止。
一個(gè)標(biāo)號(hào)為“A1”對(duì)應(yīng)于第一內(nèi)存存取的地址在時(shí)鐘信號(hào)由低到高轉(zhuǎn)變的時(shí)間點(diǎn)t1處建立起來(lái)。為標(biāo)明該存取是讀存取,芯片選擇電路32使信號(hào)WE不活動(dòng)。此外,芯片選擇電路32將信號(hào)CE激活,以使被存取存儲(chǔ)裝置將地址A1鎖存并使存取周期的起始時(shí)間的t1早一個(gè)建立時(shí)間。接著,在比時(shí)鐘信號(hào)由低到高轉(zhuǎn)變的t2時(shí)間點(diǎn)更早一個(gè)建立時(shí)間的時(shí)刻,芯片選擇電路32將信號(hào)OE激活。信號(hào)OE的激活使存儲(chǔ)裝置開(kāi)始輸出其數(shù)據(jù)。由于是隨著時(shí)鐘信號(hào)的由低到高轉(zhuǎn)變而建立起來(lái)的,因此信號(hào)OE是同步的而對(duì)此類型存取周期作出響應(yīng)的存儲(chǔ)裝置能于時(shí)鐘信號(hào)由低到高轉(zhuǎn)變時(shí)檢測(cè)到信號(hào)OE。在存儲(chǔ)裝置檢測(cè)到信號(hào)OE的激活后,它即開(kāi)始提供其輸出數(shù)據(jù)以完成讀存取周期。如圖5所示,由芯片選擇電路32中所編程的對(duì)此存取類型作出響應(yīng)的存儲(chǔ)裝置具有一個(gè)等待狀態(tài)。因此芯片選擇電路32在比t2早一個(gè)建立時(shí)間的時(shí)刻將信號(hào)OE激活,使存儲(chǔ)裝置在比時(shí)鐘信號(hào)由低到高轉(zhuǎn)變的t3時(shí)間點(diǎn)更早一個(gè)建立時(shí)間的時(shí)刻提供標(biāo)號(hào)為“D1”的被存取數(shù)據(jù)單元。
這個(gè)存取周期類型的優(yōu)點(diǎn)在于具有相對(duì)地慢的存儲(chǔ)器芯片的存儲(chǔ)裝置可以順序地和有效地進(jìn)行存取操作。由于信號(hào)OE在t2之前建立起來(lái)而在t2時(shí)刻由所存取存儲(chǔ)裝置所檢測(cè)到,芯片選擇電路32可以在第一個(gè)存取的數(shù)據(jù)段完成之前就較早地完成第二個(gè)存取的地址段。芯片選擇電路32在至少比t3早一個(gè)建立時(shí)間的時(shí)刻提供一個(gè)標(biāo)號(hào)為“A2”的第二個(gè)重疊地址,再次保持信號(hào)WE不活動(dòng)和再次在比t3早一個(gè)建立時(shí)間的時(shí)刻激活信號(hào)CE。
圖6闡述另一種接口類型及圖1芯片選擇電路32所完成第二內(nèi)存存取類型的時(shí)序圖。如圖5中一樣,圖6顯示了與總線周期相關(guān)的信號(hào),包括時(shí)鐘、地址、CE、OE和數(shù)據(jù)。此外,圖6描述了一個(gè)標(biāo)號(hào)為“BDIP”的信號(hào),后者標(biāo)明目前進(jìn)行的是一個(gè)脈沖串?dāng)?shù)據(jù)周期。圖6闡述一種稱為“帶有同步OE的同步脈沖串讀取”類型的內(nèi)存存取類型。圖6顯示附加的標(biāo)號(hào)為“t4”、“t5”、“t6”、“t7”、“t8”、“t9”和“t10”的時(shí)鐘信號(hào)的由低到高轉(zhuǎn)變。
這種存取類型相似于圖5所闡述的存取,但和圖5所闡述的存取不同的是,被存取的存儲(chǔ)裝置在時(shí)間點(diǎn)t6、t7、t8和t9處提供4個(gè)順序的數(shù)據(jù)單元,從而完成一個(gè)脈沖串存取。這4個(gè)數(shù)據(jù)單元分別標(biāo)以“D10”、“D11”、“D12”和“D13”。如芯片選擇電路32中所編程那樣,對(duì)這種存取類型作出響應(yīng)的存儲(chǔ)裝置具有一個(gè)等待狀態(tài)。因此在時(shí)間t5檢測(cè)到信號(hào)OE的激活之后,該存儲(chǔ)裝置在比時(shí)鐘信號(hào)由低到高轉(zhuǎn)變的t6時(shí)間點(diǎn)更早一個(gè)建立時(shí)間的時(shí)刻提供所存取的數(shù)據(jù)單元D10。作為脈沖串一部分的隨后的數(shù)據(jù)單元是在時(shí)鐘信號(hào)隨后的由低到高轉(zhuǎn)變時(shí)對(duì)信號(hào)BDIP的激活作出響應(yīng)時(shí)提供的。這種存取周期類型的優(yōu)點(diǎn)在于具有相對(duì)地慢的存儲(chǔ)器芯片的存儲(chǔ)裝置可以順序地和有效地進(jìn)行存取。
還有一個(gè)接口類型闡述于圖7中,圖7闡述圖1芯片選擇電路32所完成的第三內(nèi)存存取類型的時(shí)序圖。如圖5中一樣,圖7顯示了與總線周期相關(guān)的信號(hào),包括時(shí)鐘、地址、WE、CE、OE和數(shù)據(jù)。圖7闡述的內(nèi)存存取類型稱為“帶有同步OE和早期重疊的同步接口”類型。圖7顯示附加的標(biāo)號(hào)為“t11”、“t12”、“t13”和“t14”的時(shí)鐘信號(hào)的由低到高轉(zhuǎn)變。
在t11附近,標(biāo)號(hào)為A1的第一總線周期的地址在時(shí)鐘信號(hào)于t11時(shí)刻由低到高轉(zhuǎn)變時(shí)建立起來(lái)。此外,信號(hào)WE不活動(dòng)而CE活動(dòng)(標(biāo)以“CE1”),標(biāo)明在時(shí)間地址A1處的讀周期是合法的。隨后,由于芯片選擇電路32在比t12早一個(gè)建立時(shí)間的時(shí)刻激活信號(hào)OE(標(biāo)以“OE1”),因此出現(xiàn)對(duì)應(yīng)于此第一存取的數(shù)據(jù)段。隨后,如圖5以前所標(biāo)明的,被存取的存儲(chǔ)裝置在比t13早一個(gè)建立時(shí)間的時(shí)刻提供數(shù)據(jù)單元D1。
然而,根據(jù)本接口類型,芯片選擇電路32在第一存取數(shù)據(jù)段的至少一部分時(shí)間內(nèi)完成地址段,因而開(kāi)始第二存取。芯片選擇電路32在比時(shí)鐘信號(hào)于時(shí)間點(diǎn)t12由低到高轉(zhuǎn)變時(shí)更早一個(gè)建立時(shí)間的時(shí)刻提供一個(gè)標(biāo)號(hào)為A2的第二地址,從而完成此接口。與前面一樣,芯片選擇電路32保持信號(hào)WE不活動(dòng),以標(biāo)明一個(gè)讀周期,并激活信號(hào)CE(標(biāo)以“CE2”)以向被存取存儲(chǔ)裝置標(biāo)明地址A2是合法的。在被存取存儲(chǔ)裝置在比t13早一個(gè)建立時(shí)間的時(shí)刻提供數(shù)據(jù)單元D1從而完成第一存取的數(shù)據(jù)段之后,芯片選擇電路32可在比t13早一個(gè)建立時(shí)間的時(shí)刻激活信號(hào)OE(標(biāo)以“OE2”),從而開(kāi)始第二存取的數(shù)據(jù)段。隨后,被存取存儲(chǔ)裝置在比t14早一個(gè)建立時(shí)間的時(shí)刻提供標(biāo)號(hào)為“D2”的數(shù)據(jù)單元。由于在第一存取的數(shù)據(jù)段結(jié)束之前就開(kāi)始第二存取的地址段,芯片選擇電路32允許重疊存取,這改善了總線的利用和允許在給定時(shí)間內(nèi)進(jìn)行更多的內(nèi)存存取。
芯片選擇電路32也可以模塊化,以便如圖8所闡述那樣,為不同應(yīng)用目的重新配備,圖8以框圖形式闡述圖1芯片選擇電路32的模塊化芯片選擇控制電路80。模塊化芯片選擇控制電路80一般包括兩條用于互連信號(hào)的總線標(biāo)號(hào)為“譯碼總線”81的第一總線和標(biāo)號(hào)為“時(shí)序總線”82的第二總線。模塊化芯片選擇控制電路80還包括一個(gè)地址譯碼級(jí)90、一個(gè)時(shí)序控制級(jí)100和一個(gè)管腳配備級(jí)110。模塊化芯片選擇控制電路80包括一個(gè)第一任意數(shù)的地址譯碼器和地址譯碼級(jí)90,一個(gè)時(shí)序控制級(jí)100中的第二任意數(shù)的控制單元,和第三任意數(shù)的管腳配備邏輯電路和管腳配備級(jí)110,因而是模塊化和可重新配備的。
如圖8所闡述,地址譯碼級(jí)包括代表性的地址譯碼器91、94和97。地址譯碼器91包括一個(gè)基址寄存器92和一個(gè)可選寄存器93?;芳拇嫫?2為與地址譯碼器91相關(guān)連的可編程區(qū)域定義一個(gè)基址??蛇x寄存器93包括一個(gè)與地址譯碼器91及其它和區(qū)域特性有關(guān)的可編程或相關(guān)連的區(qū)域的長(zhǎng)度。地址譯碼器91通過(guò)內(nèi)部總線34接收來(lái)自圖1CPU芯片31的地址,并進(jìn)行比較以檢查該地址是否位于基址寄存器在可選寄存器93的長(zhǎng)度域中所定義的區(qū)域內(nèi)。對(duì)地址匹配作出響應(yīng)時(shí),地址譯碼器91向譯碼總線81提供控制信號(hào)。類似地,地址譯碼器94和97也檢測(cè)地址是否位于它們對(duì)應(yīng)的可編程區(qū)域內(nèi)并相應(yīng)地向譯碼總線81提供控制信號(hào)。地址譯碼級(jí)90中的地址譯碼器的數(shù)量是任意的,以便滿足不同系統(tǒng)需求,并可在靈活性和芯片尺寸間取得折衷。例如,在某些應(yīng)用場(chǎng)合中需要增加可用可編程區(qū)域的數(shù)量,以容納更靈活的軟件或系統(tǒng)結(jié)構(gòu)。而在其它應(yīng)用場(chǎng)合中則可能減少地址譯碼器的數(shù)量以使集成電路費(fèi)用減至最小。
時(shí)序控制級(jí)100包括第二任意數(shù)的控制單元。在時(shí)序控制級(jí)100中闡述兩個(gè)控制單元101和102。時(shí)序控制級(jí)100用作一個(gè)存取狀態(tài)機(jī)以便將芯片選擇信號(hào)提供給外部總線21,同時(shí)每個(gè)控制單元101和102都有一個(gè)輸入端連至譯碼總線81,用于接收譯碼信號(hào),以便標(biāo)明一個(gè)正在進(jìn)行中的總線周期是否與一個(gè)或更多個(gè)可編程區(qū)域相匹配。作為響應(yīng),時(shí)序控制級(jí)100的控制單元中的所選的一個(gè)單元向時(shí)序總線82提供順序時(shí)序信息,以反映用于所給定可編程接口類型的恰當(dāng)時(shí)序。時(shí)序控制級(jí)100中所選控制單元的數(shù)量決定了正在進(jìn)行中的未決重疊內(nèi)存存取的數(shù)量。這個(gè)未決內(nèi)存存取的數(shù)量亦稱為流水線深度。
例如,地址譯碼級(jí)90中的地址譯碼器91檢測(cè)到一個(gè)和它對(duì)應(yīng)的可編程區(qū)域的存取并作為響應(yīng)向譯碼總線81提供控制信號(hào)。在時(shí)序控制級(jí)100中,一個(gè)例如控制單元101那樣的控制單元與此總線周期互相關(guān)連,并在此存取的未決期間為此存取向時(shí)序總線82提供時(shí)序信號(hào)。在第一次存取期間可能發(fā)生第二次存取,地址譯碼級(jí)90中的一個(gè)地址譯碼器可能檢測(cè)到一個(gè)對(duì)其相應(yīng)可編程區(qū)域的存取、具有與在其可選寄存器所編程的屬性相匹配的屬性、并向譯碼總線81提供控制信號(hào)。如該接口類型所決定的,一個(gè)例如控制單元102那樣的第二控制單元接著可能開(kāi)始向時(shí)序總線82提供時(shí)序信號(hào)以便為此存取將一個(gè)或更多個(gè)芯片選擇控制信號(hào)加以重疊。
管腳配備級(jí)110包括第三任意數(shù)的管腳配備邏輯電路。每個(gè)管腳配備邏輯電路對(duì)應(yīng)于并專門(mén)用于一個(gè)集成電路管腳。然而集成電路管腳可由此芯片選擇信號(hào)與其它信號(hào)所共享,其功能可通過(guò)編程加以設(shè)置。
此第三任意數(shù)在不同應(yīng)用例中是不同的,以便在靈活性和系統(tǒng)費(fèi)用間取得折衷。例如,在費(fèi)用并不是最重要因素的應(yīng)用場(chǎng)合中,可能采用更多數(shù)量的管腳配備邏輯電路,以提供更大靈活性和向更多數(shù)量的存儲(chǔ)裝置提供芯片選擇信號(hào)的能力。在其它更看重費(fèi)用的應(yīng)用場(chǎng)合中,可能采用較少數(shù)量的管腳配備邏輯電路。
在管腳配備級(jí)110中,顯示了代表性的管腳配備邏輯電路111、112和113,它們分別提供標(biāo)號(hào)為“PINO”、“PIN1”和“PINN”的輸出信號(hào)。每個(gè)管腳配備邏輯電路具有一個(gè)連至譯碼總線81用于接收控制信號(hào)的輸入端和一個(gè)連至?xí)r序總線82用于接收時(shí)序信息的第二輸入端。因?yàn)槊總€(gè)管腳配備邏輯電路接收所有可能的時(shí)序信息,所以每個(gè)管腳配備邏輯電路可以配備為一組芯片選擇功能中的任何一個(gè)。例如,管腳配備邏輯電路111可以配備為CE、WE或OE信號(hào)中的任何一個(gè),這由管腳配備邏輯電路111的編程所決定。因此,由于在地址譯碼級(jí)90中包括第一任意數(shù)的地址譯碼器,在時(shí)序控制級(jí)100中包括第二任意數(shù)的控制單元,和在管腳配備級(jí)110中包括第三任意數(shù)的管腳配備邏輯電路,模塊化的芯片選擇控制電路80就能定義任意數(shù)的內(nèi)存區(qū)域、任意數(shù)的存取流水線深度和任意數(shù)的芯片選擇信號(hào),從而最大程度地提供靈活性。不同實(shí)施例中的這些任意數(shù)可以是不同的,以取得最好的可用的折衷。
圖9以部分框圖和部分邏輯圖的形式闡述圖1芯片選擇電路32的管腳配備邏輯電路120。管腳配備邏輯電路120一般包括一個(gè)管腳功能寄存器130,一個(gè)服從邏輯部分140,和一個(gè)管腳功能輸出部分150。管腳功能寄存器130存放用于定義如CE、OE和WE那樣的供選擇的管腳功能的位,并提供代表所選功能的譯碼輸出信號(hào)。服從邏輯部分140包括任意數(shù)的服從電路,例如闡述性的服從電路141和145。服從電路141一般包括一個(gè)服從邏輯電路142、一個(gè)或門(mén)143和一個(gè)D型觸發(fā)器144。服從電路141與標(biāo)以“C1”的第一周期相關(guān)連。服從電路141具有一個(gè)用于接收標(biāo)號(hào)為“C1開(kāi)始”的信號(hào)的第一輸入端,一個(gè)用于接收標(biāo)號(hào)為“C1區(qū)域選擇”的信號(hào)的第二輸入端,一個(gè)連至管腳功能寄存器130的第三輸入端和一個(gè)輸出端。或門(mén)143具有一個(gè)用于接收標(biāo)號(hào)為“C1結(jié)束”的信號(hào)的第一輸入端,一個(gè)用于接收標(biāo)號(hào)為“復(fù)位”的信號(hào)的第二輸入端和一個(gè)輸出端。D型觸發(fā)器144有一個(gè)標(biāo)號(hào)為“D”連至服從邏輯電路142輸出端的數(shù)據(jù)輸入端,一個(gè)標(biāo)號(hào)為“清零”連至或門(mén)143輸出端的清零輸入端,和一個(gè)標(biāo)號(hào)為“Q”用于提供標(biāo)號(hào)為“服從1”的輸出信號(hào)的輸出端。
類似地,服從電路145與標(biāo)號(hào)為“CN”的第N個(gè)周期相關(guān)連,及一般包括一個(gè)服從邏輯電路146和或門(mén)147和D型觸發(fā)器148。服從邏輯電路146具有一個(gè)用于接收標(biāo)號(hào)為“CN開(kāi)始”的信號(hào)的第一輸入端,一個(gè)用于接收標(biāo)號(hào)為“CN區(qū)域選擇”的信號(hào)的第二輸入端,一個(gè)連至管腳功能寄存器130的輸出端的第三輸入端和一個(gè)輸出端?;蜷T(mén)147具有一個(gè)用于接收標(biāo)號(hào)為“CN結(jié)束”的信號(hào)的第一輸入端,一個(gè)用于接收復(fù)位信號(hào)的第二輸入端和一個(gè)輸出端。D型觸發(fā)器148具有一個(gè)連至服從邏輯電路146輸出端的D輸入端,一個(gè)連至或門(mén)147輸出端的清零輸入端和一個(gè)用于提供標(biāo)號(hào)為“服從N”的信號(hào)的Q輸出端。
服從電路141和145確定與管腳配備邏輯電路120相關(guān)連的管腳應(yīng)服從哪個(gè)周期。在第一周期內(nèi),圖8的時(shí)序控制級(jí)100中的控制單元激活一個(gè)相應(yīng)的周期開(kāi)始信號(hào)。例如,假定控制單元101激活C1開(kāi)始信號(hào)。此外假定地址譯碼級(jí)90中的一個(gè)地址譯碼器激活C1區(qū)域選擇。如管腳功能寄存器130的輸出量與C1區(qū)域選擇相匹配,則服從邏輯電路142對(duì)C1開(kāi)始信號(hào)的激活作出響應(yīng),將其輸出量激活。此信號(hào)即作為D輸入量送至D型觸發(fā)器144,后者接著在下一個(gè)時(shí)鐘信號(hào)(圖9未示出)時(shí)刻于Q輸出端處激活服從1信號(hào)。于是服從1信號(hào)保持活動(dòng)直至所選控制單元激活用于將D型觸發(fā)器144清零的C1結(jié)束信號(hào),或直至由于復(fù)位信號(hào)激活而將管腳配備邏輯電路120復(fù)位。服從邏輯部分140中的每個(gè)服從電路都類似地對(duì)相應(yīng)的周期開(kāi)始和結(jié)束信號(hào)的激活和相應(yīng)的區(qū)域選擇信號(hào)的激活作出響應(yīng)。
管腳功能輸出部分150一般包括任意數(shù)的對(duì)應(yīng)于每個(gè)可能的管腳功能的功能邏輯塊。圖9闡述一個(gè)標(biāo)號(hào)為“功能1邏輯”的第一功能邏輯塊151和一個(gè)標(biāo)號(hào)為“功能M邏輯”的第二功能邏輯塊152。每個(gè)功能邏輯塊具有用于接收諸如服從1和服從N信號(hào)那樣的每個(gè)服從信號(hào)的一些輸入端,用于接收標(biāo)號(hào)為“CiFj時(shí)序”的時(shí)序信號(hào)(它們代表每個(gè)周期和每個(gè)功能的時(shí)序信號(hào))和相應(yīng)的標(biāo)號(hào)為CiFj選擇的選擇信號(hào)的一些輸入端,以及連至管腳功能寄存器130的相應(yīng)輸出端的另一個(gè)輸入端。在此例中,下標(biāo)i等于1至N,而j為1至M,其中N和M為任意數(shù)。例如,功能1邏輯塊151接收管腳功能寄存器130的輸出量,這標(biāo)明PINO具有功能F1。類似地,功能M邏輯塊152從管腳功能寄存器130接收一個(gè)輸入量,這標(biāo)明PINO的功能為FM功能。如管腳功能寄存器130的輸出量標(biāo)明該管腳對(duì)于相應(yīng)的功能作出響應(yīng),則每個(gè)功能邏輯電路對(duì)與一個(gè)活動(dòng)周期相關(guān)連的時(shí)序信號(hào)作出響應(yīng)。例如,如管腳功能寄存器130選擇PINO使之具有功能F1,則功能1邏輯塊151是活動(dòng)的。在第一周期內(nèi)服從1信號(hào)是活動(dòng)的,功能1邏輯塊151接著提供一個(gè)它的與恰當(dāng)?shù)臅r(shí)序信號(hào)相對(duì)應(yīng)的輸出量。這個(gè)恰當(dāng)?shù)臅r(shí)序信號(hào)是CiFj時(shí)序。此例中,所有其它功能邏輯塊都保持它們的輸出量為不活動(dòng),處于邏輯低狀態(tài),以使提供PINO信號(hào)的或門(mén)153的輸出量只對(duì)使用該恰當(dāng)?shù)臅r(shí)序信號(hào)的活動(dòng)的功能邏輯塊作出響應(yīng)。因此,提供給PINO的芯片選擇信號(hào)只服從活動(dòng)的時(shí)序周期,并允許任意數(shù)的流水線深度。PINO不服從其它的與雖不活動(dòng)但在流水線中卻是未決的周期相關(guān)連的時(shí)序信號(hào),直至活動(dòng)周期結(jié)束。
圖10以框圖形式闡述圖8的模塊化芯片選擇控制電路80的時(shí)序控制級(jí)100的一部分160。部分160一般包括一個(gè)第一控制單元170、一個(gè)第二控制單元180和一個(gè)早期流水線控制電路186??刂茊卧?70一般包括一個(gè)允許地址鎖存器171、一個(gè)可選鎖存器172和一個(gè)時(shí)序狀態(tài)機(jī)173。允許地址鎖存器171具有一個(gè)標(biāo)號(hào)為“允許地址總線”的輸入端連至內(nèi)部總線34的允許地址部分。CPU芯片31提供一個(gè)連至允許地址總線的允許地址信號(hào),以標(biāo)明一個(gè)存取的地址段正在進(jìn)行中。作為響應(yīng),部分160必須將此允許地址信號(hào)譯為恰當(dāng)?shù)男酒x擇信號(hào)以便直接驅(qū)動(dòng)存儲(chǔ)裝置。允許地址鎖存器171具有一個(gè)連至?xí)r序狀態(tài)機(jī)173輸入端的和連至早期流水線控制電路186輸入端的輸出端??蛇x鎖存器172具有一個(gè)標(biāo)號(hào)為“可選總線”的連至內(nèi)部總線34的可選總線部分的輸入端及一個(gè)連至?xí)r序狀態(tài)機(jī)173輸入端和連至早期流水線控制電路186輸入端的輸出端。時(shí)序狀態(tài)機(jī)173具有連至允許地址鎖存器171輸出端的、連至可選鎖存器172輸出端的和連至早期流水線控制電路186第一輸出端的三個(gè)輸入端,及提供三個(gè)標(biāo)號(hào)為“CE1時(shí)序”、“WE1時(shí)序”和“OE1時(shí)序”的時(shí)序信號(hào)的輸出端。
類似地,控制單元180包括一個(gè)允許地址鎖存器181、一個(gè)可選鎖存器182和一個(gè)時(shí)序狀態(tài)機(jī)183。允許地址鎖存器181具有一個(gè)連至允許地址總線的輸入端,用于接收允許地址信號(hào)。允許地址鎖存器181具有一個(gè)連至?xí)r序狀態(tài)和183輸入端和早期流水線控制電路186輸入端的輸出端??蛇x鎖存器182具有一個(gè)連至內(nèi)部總線34的可選總線部分的輸入端和一個(gè)連至?xí)r序狀態(tài)機(jī)183輸入端和連至早期流水線控制電路186輸入端的輸出端。時(shí)序狀態(tài)機(jī)183具有連至允許地址鎖存器181輸出端、連至可選鎖存器182輸出端和連至早期流水線控制電路186的第二輸出端的三個(gè)輸入端,及提供三個(gè)標(biāo)號(hào)為“CE2時(shí)序”、“WE2時(shí)序”和“OE2時(shí)序”的時(shí)序信號(hào)的輸出端。
早期流水線電路186具有一個(gè)連至允許地址總線用于接收允許地址信號(hào)的第一輸入端,一個(gè)連至可選總線的第二輸入端,及連至允許地址鎖存器171和181輸出端的輸入端及連至可選鎖存器172和182的輸入端。早期流水線控制電路186向時(shí)序狀態(tài)機(jī)173和183提供輸出量,以確定當(dāng)兩個(gè)周期重疊時(shí)哪一個(gè)周期是活動(dòng)的,因而避免不恰當(dāng)?shù)男酒x擇信號(hào)時(shí)序。
時(shí)序控制級(jí)100通過(guò)協(xié)調(diào)控制單元170和180的時(shí)序來(lái)實(shí)現(xiàn)存取的有效流水線操作。有兩個(gè)流水線檢測(cè)和控制機(jī)構(gòu)。第一,早期流水線控制電路186向兩個(gè)時(shí)序狀態(tài)機(jī)173和183提供附加控制信號(hào)以防止非法定時(shí)順序,從而將具有例如圖5或圖7中所闡述的類型的存取那樣的重疊存取加以協(xié)調(diào)。具體說(shuō),早期流水線控制電路186檢測(cè)確定重疊存取是對(duì)同一區(qū)域還是不同區(qū)域,重疊存取周期是讀周期還是寫(xiě)周期,并作為響應(yīng),提供恰當(dāng)控制信號(hào)。第二,控制單元170和180檢查兩個(gè)所存取區(qū)域的特性以提供恰當(dāng)?shù)男酒x擇信號(hào)時(shí)序,一個(gè)特性是由來(lái)自可選總線的ITYPE域所決定的接口類型。另一特性是由來(lái)自可選總線的相關(guān)域所標(biāo)明的該周期是由外部確認(rèn)信號(hào)所結(jié)束,還是在預(yù)定數(shù)的等待狀態(tài)后從內(nèi)部來(lái)結(jié)束。
圖2-10所闡述的電路參照?qǐng)D11-19所闡述具體實(shí)施例將能更好地理解。如這里所用的“激活(動(dòng)詞)”或“激活(動(dòng)作名詞)”是指一個(gè)采取其邏輯真狀態(tài)的信號(hào)。一個(gè)“高活動(dòng)”信號(hào)是在邏輯高電平上活動(dòng)或真實(shí)的。一個(gè)“低活動(dòng)”信號(hào)是在邏輯低電平上活動(dòng)或真實(shí)的,而低活動(dòng)信號(hào)用上劃線來(lái)表示。信號(hào)“$”表明它后面的數(shù)字以16進(jìn)制(以16為基數(shù))表示。
注意有幾個(gè)名詞可能以不同方式引用。例如,名詞“區(qū)”和“塊”可交換使用。還有,除非特別注明,名詞“內(nèi)存”(存儲(chǔ)器)包括易失性和非易失性內(nèi)存兩者,還包括內(nèi)存映象的外設(shè)。還有,類似名詞采用類似標(biāo)號(hào)或不同圖之間采用類似參考數(shù)值。
表1參照?qǐng)D1的單元定義了附加名詞,有助于理解下面描述的具體實(shí)施例表1
圖11以框圖形式闡述圖1芯片選擇電路32的具體實(shí)施例的一個(gè)功能框圖。芯片選擇電路32一般具有3個(gè)信號(hào)接口。首先,芯片選擇電路32接收一個(gè)標(biāo)號(hào)為“復(fù)位”的對(duì)數(shù)據(jù)處理器30是全局量的復(fù)位信號(hào),一套標(biāo)號(hào)為“時(shí)鐘”的既包括內(nèi)部操作時(shí)鐘信號(hào)又包括外部總線時(shí)鐘信號(hào)時(shí)鐘在內(nèi)的時(shí)鐘信號(hào),及一套標(biāo)號(hào)為“初值”的信號(hào)。在復(fù)位時(shí)(復(fù)位信號(hào)為活動(dòng)),數(shù)據(jù)處理器30將外部數(shù)據(jù)總線管腳加以采樣以便獲得初值,于是芯片選擇電路32使用該初值將它的某些寄存器設(shè)值。在復(fù)位時(shí),其它寄存器采取省缺值,這在下面將進(jìn)一步描述。
其次,芯片選擇電路32有一接口連至外部總線接口33。CPU芯片31對(duì)相應(yīng)的內(nèi)存映象地址完成讀和寫(xiě)周期,從而對(duì)芯片選擇電路32內(nèi)部的寄存器進(jìn)行存取。在檢測(cè)到這類存取后,外部總線接口33通過(guò)一個(gè)特殊用途總線控制對(duì)芯片選擇電路32的存取,該特殊用途總線包括一個(gè)標(biāo)號(hào)為“子總線地址”的地址總線輸入端和一個(gè)標(biāo)號(hào)為“子總線數(shù)據(jù)”的雙向數(shù)據(jù)通路。其它用于存取芯片選擇電路32的寄存器的控制信號(hào)通過(guò)一套標(biāo)號(hào)為“握手”的信號(hào)傳送至外部總線接口33或從后者傳送過(guò)來(lái)。用于存取內(nèi)存映象外設(shè)寄存器的控制信號(hào)的產(chǎn)生是眾所周知的,所以不再描述。然而與外部總線傳送有關(guān)的不同握手信號(hào)是在外部總線接口33和芯片選擇電路32間傳送的。這些傳送握手信號(hào)在下面表2中加以描述。
表2
>這些信號(hào)中的有關(guān)部分將在下面更詳細(xì)地加以描述。
芯片選擇電路32還有一個(gè)用于接收由外部總線接口33向外部總線21提供的32位地址,標(biāo)號(hào)為“地址”的輸入端,和另一個(gè)用于接收代表正在進(jìn)行中的存取的屬性的信號(hào)、標(biāo)號(hào)為“屬性”的輸入端。表3列舉了芯片選擇電路32所用具體屬性表3<
第三,芯片選擇電路32包括一個(gè)連向外部設(shè)備的包括13個(gè)標(biāo)號(hào)為“CSBOOT”和“CS(0)-CS(11)”的信號(hào)的接口。這些信號(hào)將結(jié)合下面圖13作更詳盡描述。
如圖11中所闡述的,芯片選擇電路32一般包括兩部分一個(gè)寄存器存取電路190和一個(gè)芯片選擇生成單元200。寄存器存取電路190包括一個(gè)寄存器存取控制器192和一個(gè)寄存器地址譯碼器194。寄存器存取控制器192是一個(gè)狀態(tài)機(jī),用于為對(duì)芯片選擇電路32的寄存器的存取提供控制信號(hào)。寄存器地址譯碼器194檢測(cè)芯片選擇電路32的哪個(gè)寄存器正被存取。寄存器存取電路190連至芯片選擇生成單元200,用于對(duì)進(jìn)入芯片選擇寄存器195進(jìn)行存取。
芯片選擇寄存器195是如圖12a和12b所闡述的內(nèi)存映像寄存器,這些圖以框圖形式闡述芯片選擇寄存器195的地址映象。雖然這些寄存器在內(nèi)存中的位置可任意定,但它們最好如此安排以便將來(lái)擴(kuò)展。例如,芯片選擇電路32支持6個(gè)區(qū)域加一個(gè)專用子區(qū)域,并一共具有13個(gè)芯片選擇信號(hào)。對(duì)應(yīng)于獨(dú)特區(qū)域的每一個(gè)芯片選擇信號(hào)既有基址寄存器又有可選寄存器;其它7個(gè)芯片選擇信號(hào)中每一個(gè)只具有可選寄存器。內(nèi)存映象中與這些6個(gè)可選寄存器相鄰的位置空著備用,允許導(dǎo)出集成電路通過(guò)增加基址寄存器來(lái)支持附加功能。下面將結(jié)合圖13詳細(xì)描述芯片選擇電路32中寄存器的功能。
圖13以框圖形式闡述圖11的芯片選擇生成單元200。芯片選擇生成單元200一般包括兩個(gè)用于互連信號(hào)的總線,即譯碼總線201和時(shí)序總線202。芯片選擇生成單元200還包括一個(gè)地址譯碼級(jí)210、一個(gè)時(shí)序控制級(jí)230和一個(gè)管腳配備級(jí)240。芯片選擇生成單元200只是圖8模塊化芯片選擇控制電路80的一個(gè)可能的實(shí)施例,它利用它的模塊化特性和可重新配備特性實(shí)施一個(gè)適用于高性能微控制器的芯片選擇電路。芯片選擇生成單元200定義6個(gè)使用6個(gè)地址譯碼器的區(qū)域加上一個(gè)專用子區(qū),并具有7個(gè)附加可選寄存器,用以定義用于對(duì)6個(gè)區(qū)域進(jìn)行存取的芯片選擇信號(hào)。芯片選擇生成單元200還包括兩個(gè)用以實(shí)施一個(gè)雙深度流水線的控制單元,及具有13個(gè)可編程芯片選擇管腳。6個(gè)區(qū)域中的一個(gè)是一個(gè)特定的引導(dǎo)區(qū)域,它在復(fù)位時(shí)活動(dòng),以允許對(duì)存放引導(dǎo)子程序的非易失性內(nèi)存進(jìn)行存取。接著一部分引導(dǎo)子程序可對(duì)其余區(qū)域編程。
芯片選擇生成單元200將區(qū)域配對(duì)以提供二級(jí)和三級(jí)區(qū)域嵌套,從而實(shí)施多級(jí)保護(hù)機(jī)構(gòu)。為實(shí)施該特征,芯片選擇生成單元200將引導(dǎo)區(qū)域(也稱為CSBOOT區(qū)域或區(qū)域0)定義為主區(qū)域,與區(qū)域1配對(duì)。與區(qū)域0配對(duì)后,區(qū)域1可用作位于區(qū)域0內(nèi)具有較高優(yōu)先級(jí)的子塊。區(qū)域2和4也是主塊,分別與區(qū)域3和5配對(duì),后者能夠用作位于區(qū)域2和4內(nèi)具有較高優(yōu)先級(jí)的子塊。
此外,芯片選擇生成單元200具有一個(gè)附加的譯碼器,用于定義一塊與區(qū)域0配對(duì)的專用子塊(“引導(dǎo)子塊”)。該專用子塊譯碼器允許多至三級(jí)的嵌套。用于實(shí)施三級(jí)嵌套的優(yōu)先級(jí)方案如下區(qū)域1的優(yōu)先級(jí)比引導(dǎo)子塊高,而后備的優(yōu)先級(jí)又比區(qū)域0高。
芯片選擇生成單元200中每個(gè)區(qū)域具有一個(gè)相關(guān)連的內(nèi)存存取接口類型(“ITYPE”),后者是在相應(yīng)的可選寄存器中的編碼域內(nèi)所定義的。芯片選擇生成單元200支持8個(gè)不同接口類型。如被存取區(qū)域的可選寄存器中的ITYPE域?qū)⑦@8個(gè)合法存取類型中的一個(gè)加以編碼,則時(shí)序控制級(jí)230提供一套由存取類型所定義的相關(guān)連的時(shí)序信號(hào)。然而,ITYPE域也可編碼為處于備用狀態(tài)中。如ITYPE域?yàn)樘幱趥溆脿顟B(tài)中,例如由軟件錯(cuò)誤所造成者,則相關(guān)連區(qū)域的譯碼邏輯塊不允許存取發(fā)生。因此,芯片選擇生成單元200阻止這些錯(cuò)誤不讓它們?cè)斐慑e(cuò)誤的內(nèi)存存取。
一種接口類型允許對(duì)一個(gè)區(qū)域進(jìn)行同步讀取并提供一個(gè)早期同步OE信號(hào)。這種存取類型稱為“具有允許早期同步輸出的同步接口”。這種接口類型適用于需要至少一個(gè)等待狀態(tài)的同步內(nèi)存或內(nèi)存映象外設(shè)。在使用這種存取類型的存取時(shí),時(shí)序控制級(jí)230的一個(gè)控制單元在一個(gè)時(shí)鐘周期內(nèi)激活信號(hào)OE,及外部總線接口33在隨后的時(shí)鐘周期內(nèi)將數(shù)據(jù)鎖存。在對(duì)具有至少一個(gè)等待狀態(tài)的存儲(chǔ)裝置進(jìn)行存取時(shí),該存取類型允許芯片選擇生成單元200在第一周期的數(shù)據(jù)段完成之前完成第二周期的地址段。當(dāng)對(duì)脈沖串式裝置進(jìn)行存取時(shí),時(shí)序控制級(jí)230支持一種相似的稱為“具有允許同步輸出的同步脈沖串式讀取”的存取類型。
另一種接口類型提供區(qū)域存取的早期重疊特征。這種存取類型稱為“具有允許同步輸出及早其重疊的同步接口”的類型。對(duì)這種接口類型,時(shí)序控制級(jí)230在它為第二個(gè)存取提供OE信號(hào)的時(shí)鐘周期內(nèi)完成隨后的存取的地址段,從而提前一個(gè)時(shí)鐘周期開(kāi)始進(jìn)行隨后的存取。
時(shí)序控制級(jí)230還通過(guò)強(qiáng)制一套流水線規(guī)則來(lái)支持雙深度的流水線深度。這些規(guī)則保證數(shù)據(jù)完整性和恰當(dāng)?shù)闹芷诮Y(jié)尾。這些規(guī)則檢查以下因素例如,該存取是讀存取還是寫(xiě)存取,該存取是否為對(duì)由芯片選擇生成單元200確定的區(qū)域的存取,該存取為對(duì)具有同步接口類型還是具有異步接口類型的區(qū)域的存取,及被存取裝置是否為脈沖串式裝置、能否掛起其數(shù)據(jù)和能否提供它自己的傳送確認(rèn)信號(hào)。
管腳配備級(jí)240支持時(shí)序控制級(jí)230中兩個(gè)控制單元,允許實(shí)現(xiàn)雙深度流水線。管腳配備級(jí)240中13個(gè)管腳配備邏輯電路中的每一個(gè)電路標(biāo)出是第一還是第二周期“據(jù)有”相關(guān)連的管腳。如周期屬性,例如像對(duì)在管腳功能寄存器中所編程的區(qū)域的存取的屬性那樣,得到滿足,則每個(gè)管腳配備邏輯電路使用與其所選管腳功能相關(guān)連的時(shí)序,以便在第一周期內(nèi)提供芯片選擇信號(hào)。在第二周期內(nèi),如該周期屬性也得到滿足,則每個(gè)管腳配備邏輯電路進(jìn)一步服從與所選管腳功能相關(guān)連的時(shí)序。
下面將順序考慮每一級(jí),從而將芯片選擇生成單元200的這些和附加特征更全面地進(jìn)行描述。
地址譯碼級(jí)210定義多至7個(gè)不同可編程區(qū)域。這些7個(gè)區(qū)域的第一個(gè)標(biāo)為引導(dǎo)區(qū)域,或另一稱呼,為區(qū)域0。有兩個(gè)與引導(dǎo)區(qū)域相關(guān)連的寄存器211和212,及一個(gè)譯碼邏輯塊224。標(biāo)號(hào)為“CSBOOT基址寄存器”的寄存器211用作引導(dǎo)區(qū)域的基址寄存器。寄存器211使用32個(gè)可能使用的位中的20位。位0-19標(biāo)志引導(dǎo)區(qū)域的基址,其中寄存器211的位0對(duì)應(yīng)于地址的位0,寄存器211的位1對(duì)應(yīng)于地址的位1,并以此類推。在此將位排序方案中,地址的位O代表最高有效位,而位31代表最低有效位。
在復(fù)位時(shí),如一個(gè)稱為中斷前綴位(IP)的初值位等于零,則此域取省缺值為$00000,如(IP=1)則此域取值為$FC000,并且在復(fù)位后是軟件上可編程的。注意,由省缺基址和省缺塊長(zhǎng)度決定的省缺CSBOOT區(qū)域必須包括CPU芯片31的復(fù)位向量地址(初始程序計(jì)數(shù)器的內(nèi)存地址)。雖然該區(qū)域的基址可編程成為地址映象中的任何地址,但它不應(yīng)與數(shù)據(jù)處理器30中其它塊或模塊重疊。通電時(shí),引導(dǎo)裝置的地址可能與一個(gè)內(nèi)部模塊的地址匹配,例如數(shù)據(jù)處理器30中用于存放指令的一個(gè)內(nèi)部EPROM。如出現(xiàn)此種情況,則數(shù)據(jù)處理器30所包括的附加電路(未示出)使內(nèi)部存取取代外部存取。該內(nèi)部存取用于提供引導(dǎo)指令,而芯片選擇發(fā)生單元200不完成外部存取。CSBOOT基址寄存器的位20-31留作備用。
標(biāo)號(hào)為“CSBOOT可選寄存器”的寄存器212是用于引導(dǎo)區(qū)域的可選寄存器。它是一個(gè)32位寄存器,其各位的定義標(biāo)于下表4中表4
如表4所標(biāo)出的,表4-1至4-8將進(jìn)一步闡述一些位域。在復(fù)位時(shí)BSIZE域?qū)SBOOT可選寄存器取省缺值為$F。然而在另一實(shí)施例中,只要CPU芯片31的復(fù)位向量仍位于省缺的CSBOOT區(qū)域內(nèi),BSIZE域可為其它值,例如1兆字節(jié)(1M)。表4-1闡述BSIZE域的編碼值表4-1
位4即SBLOCK位標(biāo)明該區(qū)域是否為位于一塊較大主塊內(nèi)的子塊。如下面表4-2所示,不同塊在一起配對(duì)表4-2
<
除以上配對(duì)外,如前面所指出的,引導(dǎo)區(qū)域具有一塊附加的未用子塊。如寄存器212中設(shè)置了SBLOCK位,則CS0塊為主塊而CS1塊為子塊。復(fù)位時(shí),該位采取省缺值0。
CSBOOT可選寄存器的SUPER位在復(fù)位時(shí)采取省缺值為1,因?yàn)樵诠軕B(tài)中復(fù)位后,CPU芯片31將開(kāi)始執(zhí)行存取指令。復(fù)位時(shí)DSPACE位省缺值為0。CSBOOT可選寄存器的WP位在復(fù)位時(shí)的省缺值為1,因?yàn)橐话闱闆r下引導(dǎo)指令是非易失性只讀存儲(chǔ)器中讀取的。復(fù)位時(shí)C1位清零,因?yàn)閺囊龑?dǎo)子程序來(lái)的指令一般可存入高速緩存。
復(fù)位時(shí)ACK-EN位設(shè)為1,而相應(yīng)的初值位則提供初始TA-DLY域值。表4-3闡述TA-DLY域的編碼值表4-3<
>初始PS域也是一個(gè)初值,其編碼值闡述于下面表4-4中
表4-4
為CSBOOT區(qū)域復(fù)位時(shí)PCON域清零,其編碼值示于下面表4-5中表4-5
注意此處PCON域用作管腳功能寄存器130。在其它實(shí)施例中,可能使用單獨(dú)的管腳功能寄存器。
復(fù)位時(shí)字節(jié)域清零,其編碼值示于下面圖4-6表4-6
2、構(gòu)詞規(guī)則只可選用下面一種方法書(shū)寫(xiě)①依次寫(xiě)完每個(gè)字的聲、韻、調(diào)代碼和表示結(jié)構(gòu)區(qū)別的字母。
②依次寫(xiě)完每個(gè)字的聲韻代碼和表示結(jié)構(gòu)區(qū)別的字母。
③用表音文字速碼關(guān)于詞組的編碼方法書(shū)寫(xiě)。
3、行文方法①字與字、詞組與詞組、字與詞組之間必須留下一個(gè)字母大小的空格。
②每段起頭的第一個(gè)字母必須用大寫(xiě)。
③對(duì)所有的詞組也都可以按一個(gè)一個(gè)的單字來(lái)書(shū)寫(xiě)④對(duì)漢字中的數(shù)字符號(hào)不作改動(dòng)。如一、二、三、四……和阿拉伯?dāng)?shù)字1、2、3、4……都依照原樣書(shū)寫(xiě)。但大寫(xiě)的中文數(shù)字須用表音文字書(shū)寫(xiě),如壹、寫(xiě)為yis⑤對(duì)漢語(yǔ)中的標(biāo)點(diǎn)符號(hào)不作改動(dòng)。
第二個(gè)區(qū)域標(biāo)以CS1區(qū)域或稱為區(qū)域1。有兩個(gè)寄存器216和217與區(qū)域1相關(guān)連,并有一個(gè)譯碼邏輯塊225。標(biāo)號(hào)為“CS1基址寄存器”的寄存器216用作區(qū)域1的基址寄存器。寄存器216是一個(gè)32位寄存器。和寄存器211一樣,位0-19標(biāo)明區(qū)域1的基址,其中位0相應(yīng)于地址的位0,位1相應(yīng)于地址的位1,以此類推,而位20-31則備用。復(fù)位時(shí),此域省缺值為$00000。雖然該區(qū)域的基址可以編程為地址映象中任何地址,但它不應(yīng)與數(shù)據(jù)處理器30中其它塊或模塊重疊。標(biāo)號(hào)為“CS1可選寄存器”的寄存器217是區(qū)域1所用可選寄存器。它是一個(gè)32位寄存器,其編碼值與上面表4所定義的寄存器212的值相同。復(fù)位時(shí),除PCON域外其它位省缺值都為0;如數(shù)據(jù)處理器30處于芯片選擇模式中,則PCON域取省缺值為$0,否則它取值為$3。
地址譯碼級(jí)210包括相對(duì)應(yīng)于其它5個(gè)區(qū)域的5個(gè)其它可選寄存器。圖13闡述分別標(biāo)號(hào)為“CS1可選寄存器”和“CS5可選寄存器”、分別與區(qū)域1和區(qū)域5相關(guān)連的代表性的可選寄存器217和219。這些可選寄存器中的每一個(gè)都具有與寄存器212相同的位域定義。然而在復(fù)位時(shí)全部位和位域都清零。
標(biāo)號(hào)為“CS0可選寄存器”的寄存器215是一個(gè)相對(duì)應(yīng)于管腳配備級(jí)240中的一個(gè)管腳的可選寄存器,并只包括上面所定義的PCON、字節(jié)和區(qū)域域。如此管腳處于芯片選擇模式中,則復(fù)位時(shí)PCON域取省缺值2,否則它取值為3;字節(jié)域和區(qū)域取省缺值為0。包括標(biāo)號(hào)為“CS6可選寄存器”和“CS11可選寄存器”的代表性寄存器220和221在內(nèi)的未與任何具體區(qū)域關(guān)連的可選寄存器具有與寄存器215相同的位域定義。然而復(fù)位時(shí),如相應(yīng)的管腳處于芯片選擇模式中時(shí),則PCON域清零,否則該域設(shè)為3。與寄存器215相似,這些附加可選寄存器中的字節(jié)和區(qū)域域在復(fù)位時(shí)都清零。
與引導(dǎo)區(qū)域相關(guān)連的是一個(gè)譯碼邏輯塊224。寄存器211、212、213和214中的每一個(gè)將它們的位作為輸出量送至譯碼邏輯塊224。此外,為使專用塊1成為塊0的配對(duì)子塊(在專用引導(dǎo)子塊之外),與塊1相關(guān)連的譯碼邏輯塊225向譯碼邏輯塊224的輸入端提供輸出信號(hào)。這些輸出信號(hào)是圖3中所闡述的多級(jí)保護(hù)機(jī)構(gòu)所需地址匹配和屬性匹配信號(hào)。注意到主塊含有優(yōu)先級(jí)強(qiáng)制電路58的功能。譯碼邏輯塊224通過(guò)總線接口33自CPU芯片31接收輸入量地址和屬性。譯碼邏輯塊224首先檢查地址是否位于引導(dǎo)區(qū)域內(nèi)或?qū)S靡龑?dǎo)子塊內(nèi)。譯碼邏輯塊224的做法是確定地址是否位于相應(yīng)寄存器的基址域的BSIZE之內(nèi)。其次,譯碼邏輯塊224將輸入量屬性與相應(yīng)可選寄存器中所編程的屬性相比較。
在所闡述的實(shí)施例中,地址是一個(gè)32位地址。譯碼邏輯塊224將地址的一些最高有效位(其位數(shù)由BSIZE域決定)與基址寄存器中所屬值及可選寄存器中的BSIZE域進(jìn)行比較。如所有最高有效地址位都匹配,則譯碼邏輯塊224檢測(cè)到一個(gè)地址匹配。
譯碼邏輯塊224將不同屬性譯碼并如下所述將它們與寄存器212的相應(yīng)位進(jìn)行檢驗(yàn)。譯碼邏輯塊224將RD/WR屬性位于WP位進(jìn)行比較;或者如RD/WR處于邏輯高位,或者如RD/WR處于邏輯低位而同時(shí)WP清零,則譯碼邏輯塊224為此位檢測(cè)到一個(gè)屬性匹配。譯碼邏輯塊224將SUPER屬性位與SUPER位進(jìn)行比較,或者如果SUPER屬性處于邏輯高位,或者如果SUPER屬性處于邏輯低位而同時(shí)SUPER位清零,則譯碼邏輯塊224為此位檢測(cè)到一個(gè)屬性匹配。譯碼邏輯塊224將INSTR/DATA屬性位與DSPACE位比較,并且或者如果INSTR/DATA處于邏輯低位,或者如果INSTR/DATA處于邏輯高位而同時(shí)DSPACE位清零,則譯碼邏輯塊224為此位檢測(cè)到一個(gè)屬性匹配。如所有編程的屬性與相應(yīng)的屬性信號(hào)以此種方法相匹配,則譯碼邏輯塊224檢測(cè)到一個(gè)屬性匹配。
如譯碼邏輯塊224在一個(gè)區(qū)域內(nèi)將地址匹配和屬性匹配兩者都檢測(cè)到,則它檢查是否有一塊更高優(yōu)先級(jí)的子塊將取代此匹配。例如,如譯碼邏輯塊224檢測(cè)到一個(gè)對(duì)區(qū)域0和未用引導(dǎo)子塊兩者內(nèi)地址的存取,則在寄存器214中定義的那些屬性將決定是否進(jìn)行存取。即使在區(qū)域0既有地址匹配又有屬性匹配,但如在未用引導(dǎo)子塊內(nèi)沒(méi)有屬性匹配,則譯碼邏輯塊224仍將阻止周期出現(xiàn)。
時(shí)序控制級(jí)230包括兩個(gè)控制單元231和232,及一個(gè)連在控制單元231和232之間的早期流水線控制單元233。時(shí)序控制級(jí)230用作一個(gè)向外部總線21提供芯片選擇信號(hào)的存取狀態(tài)機(jī),而每個(gè)控制單元231和232都有一個(gè)輸入端連至譯碼總線201,用于從地址譯碼級(jí)210中的譯碼邏輯塊中接收譯碼信號(hào),以標(biāo)明正在進(jìn)行中的總線周期是否與6個(gè)可用區(qū)域中的一個(gè)或未用引導(dǎo)子塊的地址及屬性相匹配。如其中一個(gè)區(qū)域檢測(cè)到匹配,時(shí)序控制級(jí)230的控制單元中的一個(gè)單元向時(shí)序總線202提供順序時(shí)序信息,以反映用于給定編程的接口類型的恰當(dāng)時(shí)序。
控制單元231向時(shí)序總線202提供三個(gè)時(shí)序控制信號(hào),即CE1時(shí)序、OE1時(shí)序和WE1時(shí)序。相類似,控制單元232向時(shí)序總線202提供三個(gè)時(shí)序控制信號(hào),即CE2時(shí)序、OE2時(shí)序和WE2時(shí)序。
例如,地址譯碼級(jí)210中的譯碼邏輯塊224檢測(cè)到一個(gè)對(duì)區(qū)域0的存取,并作為響應(yīng)向譯碼總線201提供控制信號(hào)。在時(shí)序控制級(jí)230中,例如控制單元231那樣的控制單元與該總線周期關(guān)連起來(lái),并為在此存取未決期間的存取向時(shí)序總線202提供時(shí)序信號(hào)。在第一存取期間可能進(jìn)行第二存取,地址譯碼級(jí)210中的一個(gè)地址譯碼器可能檢測(cè)到一個(gè)對(duì)相應(yīng)的可編程區(qū)域的存取而該存取具有與其可選寄存器中所編程的屬性相匹配的屬性,以及該地址譯碼器向譯碼總線201提供控制信號(hào)。由接口類型所決定,控制單元232接著可能開(kāi)始向時(shí)序總線202提供時(shí)序信號(hào),以便為此存取將一個(gè)或多個(gè)芯片選擇控制信號(hào)加以重疊。
決定于擁有該周期的區(qū)域的可選寄存器的ITYPE域,每個(gè)時(shí)序控制單元為每個(gè)芯片選擇功能提供時(shí)序信號(hào)。用于芯片選擇電路32所實(shí)施的接口類型的信號(hào)定時(shí)可結(jié)合圖14-19更好地理解。在這些時(shí)序圖的每一個(gè)圖中,連續(xù)的由低到高時(shí)鐘轉(zhuǎn)變標(biāo)以t1、t2、t3等等。地址、數(shù)據(jù)和控制信號(hào)的活動(dòng)時(shí)間或合法時(shí)間標(biāo)以數(shù)字以識(shí)別存取。注意這些時(shí)序圖代表典型信號(hào)定時(shí)。由于集成電路生產(chǎn)過(guò)程條件不同,實(shí)際信號(hào)定時(shí)波形將不同。有些信號(hào)由外部總線接口33所提供,但也加以闡述以利于更好理解接口。在圖14-19中,箭頭代表信號(hào)依賴關(guān)系或因果關(guān)系。
圖14闡述接口類型$0的時(shí)序圖,這種普通異步接口用于對(duì)零等待狀態(tài)、不用時(shí)鐘定時(shí)的裝置(即其輸出緩存關(guān)斷時(shí)間小于或等于一個(gè)時(shí)鐘周期的裝置)的存取。在整個(gè)存取期間,該異步接口要求地址和芯片選擇信號(hào)(CE及OE、WE兩者之一)一直保持合法。因此在前一存取完成之前,不可能對(duì)同一裝置進(jìn)行連續(xù)的存取,因此不允許重疊存取。圖14闡述了一個(gè)讀周期后跟隨一個(gè)寫(xiě)周期。在讀周期和寫(xiě)周期兩者的期間,被存取裝置在信號(hào)CE激活之后例如CE1的下降沿之后的一個(gè)延遲時(shí)間內(nèi)使用一個(gè)例如A1的地址。在讀周期內(nèi),被存取裝置在信號(hào)OE激活之后例如OE1下降沿之后的一個(gè)延遲時(shí)間內(nèi)將數(shù)據(jù)作為輸出量送出(也作為送至外部總線接口33的輸入量)。在寫(xiě)周期內(nèi),被存取裝置在信號(hào)WE不激活之后例如WE2的上升沿之后的一個(gè)延遲時(shí)間內(nèi)將諸如D2(它是外部總線接口33的一個(gè)輸出量)那樣的數(shù)據(jù)單元加以鎖存。異步存儲(chǔ)裝置的一個(gè)例子是由Motorola,Inc.所提供的MCM62995A內(nèi)存芯片,它除具有一個(gè)允許鎖存地址(ALE)信號(hào)外還能工作于異步模式。
接口類型$1與類型$0類似,但所應(yīng)用的普通異步接口用于對(duì)其輸出緩存關(guān)斷時(shí)間等于兩個(gè)時(shí)鐘周期的裝置進(jìn)行存取。因此適用于此類存取的信號(hào)定時(shí)類似于圖14所闡述內(nèi)容但不全同。在讀周期內(nèi),在允許隨后的裝置將數(shù)據(jù)送至外部總線21上之前,芯片選擇電路32在它使信號(hào)OE不激活之后將等待一個(gè)時(shí)鐘周期。在隨后的寫(xiě)周期內(nèi),在使先前的OE不激活之后一個(gè)時(shí)鐘周期以前,芯片選擇電路32將禁止外部總線接口33送出數(shù)據(jù)。
圖15闡述接口類型$2的時(shí)序圖,這是具有異步OE的同步接口。具有此種同步接口的存儲(chǔ)裝置具有一個(gè)用于接收時(shí)鐘信號(hào)的輸入端,并在由低到高的時(shí)鐘轉(zhuǎn)變時(shí)將地址和數(shù)據(jù)鎖存。在讀存取期間,存儲(chǔ)裝置對(duì)信號(hào)OE作出響應(yīng),異步地提供數(shù)據(jù)。圖15闡述一個(gè)讀周期后跟隨一個(gè)寫(xiě)周期。除芯片選擇信號(hào)外,具有這種接口存取類型的裝置檢測(cè)到一個(gè)標(biāo)號(hào)為“WR”的由外部總線接口33提供的寫(xiě)信號(hào)。用于在地址段確定該存取是讀存取還是寫(xiě)存取。因此在t2時(shí)被存取裝置檢測(cè)到該存取是讀存取并將A1鎖存。芯片選擇電路32將信號(hào)OE激活,而OE1的下降沿使被存取裝置提供數(shù)據(jù),后者輸入至外部總線接口33。
使用這類接口的存儲(chǔ)裝置具有將輸入量地址鎖存的能力,以便使對(duì)同一個(gè)裝置的下一個(gè)存取可與前一個(gè)存取相重疊,這樣的裝置可在讀存取時(shí)將其內(nèi)部數(shù)據(jù)掛起,直至信號(hào)OE激活時(shí)止。因此連續(xù)寫(xiě)周期的地址段可與讀周期的數(shù)據(jù)段的末尾相重疊。芯片選擇電路32在t3之前激活信號(hào)CE,以使被存取裝置將地址A2鎖存。由于信號(hào)WR在t3時(shí)活動(dòng),被存取裝置檢測(cè)到一個(gè)寫(xiě)存取。在讀存取的數(shù)據(jù)較完成后,芯片選擇電路32激活信號(hào)WE,以使被存取裝置將數(shù)據(jù)鎖存,從而在t5時(shí)完成寫(xiě)周期的數(shù)據(jù)段。
圖15所闡述的時(shí)序只是孤立地表現(xiàn)了芯片選擇電路32的將兩個(gè)連續(xù)的接口類型$2存取重疊起來(lái)的能力。然而數(shù)據(jù)處理器30并不允許這種重疊,以便提高額外保護(hù)防止可能的總線競(jìng)爭(zhēng),在數(shù)據(jù)處理器30中,外部總線接口33并不足夠早地向芯片選擇電路32提供恰當(dāng)?shù)哪苁剐酒x擇電路32將第二個(gè)存取的地址段重疊的握手信號(hào)。因此實(shí)際上外部總線接口33并不提供A2,及芯片選擇電路32在t4前的一個(gè)建立時(shí)間之前并不激活CE和WR信號(hào)。
稱為“具有早期同步OE的同步接口”的接口類型$3先前在圖5中曾闡述過(guò)。注意對(duì)于接口類型$3講,芯片選擇電路32以與接口類型$2相同的方式完成寫(xiě)周期,這已在圖15中闡述過(guò)。
稱為“具有固定脈沖串的脈沖串式區(qū)域”的接口類型$5具有一個(gè)“類型I”的脈沖串式接口并使用一個(gè)異步OE信號(hào)。芯片選擇電路32實(shí)施一個(gè)4周期的固定脈沖串長(zhǎng)度。類型I脈沖串式接口分別使用OE和WE信號(hào)使被存取裝置送出數(shù)據(jù)或?qū)?shù)據(jù)鎖存進(jìn)來(lái)。該接口還需要一個(gè)BDIP信號(hào)以控制被存取裝置輸出下一個(gè)脈沖串拍的時(shí)間。類型I脈沖串式接口裝置具有一個(gè)地址鎖存器,因此對(duì)該裝置的下一個(gè)存取的地址可與前一存取地址重疊;也即,在時(shí)鐘由低到高轉(zhuǎn)變時(shí)刻將地址鎖存之后,存取的地址不必再保持為合法。
圖16闡述一個(gè)使用接口類型$5的讀周期的時(shí)序圖例子。在圖16所示例子中,該區(qū)域的相應(yīng)的可選寄存器中的ACK-EN位配備為允許外部確認(rèn)信號(hào)清零。在時(shí)間點(diǎn)t2,被存取裝置同步地將地址鎖存并在由信號(hào)AACK的激活而定的t2時(shí)刻完成地址段。然而在t2時(shí)被存取裝置保持信號(hào)TA不活動(dòng),因此芯片選擇電路32必須插入一個(gè)等待狀態(tài)。隨后,在t3時(shí)被存取裝置激活信號(hào)TA以標(biāo)明它準(zhǔn)備完成數(shù)據(jù)段,并提供第一數(shù)據(jù)單元D10。外部總線接口33激活信號(hào)BDIP以標(biāo)明它在等待隨后時(shí)鐘由低到高轉(zhuǎn)變時(shí)的脈沖串下一拍。外部總線接口33分別在轉(zhuǎn)變時(shí)刻t4、t5和t6將連續(xù)的數(shù)據(jù)單元D11、D12和D13鎖存。外部總線接口33在t6之前使信號(hào)BDIP不激活,標(biāo)明數(shù)據(jù)單元D13是脈沖串的最后一拍。被存取裝置保持?jǐn)?shù)據(jù)單元D13合法,直至使信號(hào)OE不激活之后一個(gè)延遲時(shí)間止。
當(dāng)同一裝置在連續(xù)兩個(gè)周期內(nèi)被存取時(shí),該接口允許隨后的存取的地址段與先前的存取的數(shù)據(jù)段重疊。被存取裝置在先前脈沖串的最后一拍中檢測(cè)到第二個(gè)存取。因此,如圖16所闡述的,外部總線接口33提供一個(gè)隨后地址A2及芯片選擇電路32在t3前一個(gè)建立時(shí)間內(nèi)激活信號(hào)CE,然后被存取裝置在t6前一個(gè)建立時(shí)間內(nèi)提供信號(hào)AACK,從而完成第二個(gè)存取的地址段。
圖17闡述使用類型I脈沖串式接口(例如接口類型$5)的寫(xiě)周期的時(shí)序圖。與圖16一樣,相應(yīng)的可選寄存器中區(qū)域的ACK-EN位配備為允許外部確認(rèn)信號(hào)清零。在t2時(shí),被存取裝置將地址同步地加以鎖存并在由信號(hào)AACK的激活而定的t2時(shí)刻完成地址段。在t2時(shí)被存取裝置激活信號(hào)TA以標(biāo)明它準(zhǔn)備完成數(shù)據(jù)段,并將第一個(gè)數(shù)據(jù)單元D10鎖存。接著激活信號(hào)BDIP以標(biāo)明外部總線接口33將在隨后的時(shí)鐘由低到高轉(zhuǎn)變時(shí)刻提供脈沖串的下一拍。數(shù)據(jù)處理器30分別在轉(zhuǎn)變時(shí)刻t3、t4和t5送出連續(xù)的數(shù)據(jù)單元D11、D12和D13。t5時(shí)信號(hào)BDIP不活動(dòng),標(biāo)明數(shù)據(jù)單元D13是脈沖串最后一拍。如圖16一樣,圖17闡述重疊存取的地址段,該第二存取的地址段在t5時(shí)脈沖串的最后一拍期間結(jié)束。
稱為“具有可進(jìn)行流水線操作的OE的固定脈沖串”的接口類型$7支持先前圖6中所闡述過(guò)的讀存取。該接口類型能掛起其內(nèi)部數(shù)據(jù),直至信號(hào)OE激活時(shí)止。該接口可用作一個(gè)異步接口,但只在由TA-DLY域所定義的數(shù)量的等待狀態(tài)后和在信號(hào)OE激活后才提供數(shù)據(jù)。接口類型$7是一個(gè)類型I接口,其寫(xiě)周期時(shí)序闡述于圖17中。
接口類型$8具有一個(gè)“類型II”脈沖串式接口,后者并不需要一個(gè)OE信號(hào),作為替代,它使用LAST信號(hào)。當(dāng)在時(shí)鐘由低到高轉(zhuǎn)變之前一個(gè)建立時(shí)間內(nèi)將信號(hào)LAST激活時(shí),一個(gè)類型II裝置隨著時(shí)鐘的轉(zhuǎn)變將其數(shù)據(jù)輸出緩存置于高阻抗?fàn)顟B(tài)。在裝置的存取等待時(shí)間或等待狀態(tài)期間,CE信號(hào)必須保持活動(dòng)。這類裝置也需要一個(gè)TS信號(hào)。
圖18闡述一個(gè)使用存取類型$8的讀接口的時(shí)序圖。在所闡述的例子中,被存取裝置具有兩個(gè)等待狀態(tài),并返回它自己的確認(rèn)信號(hào)。直至當(dāng)被存取裝置激活信號(hào)AACK的t3時(shí),地址段才結(jié)束。在類型II脈沖串式接口下,在裝置的等待時(shí)間的期間內(nèi)信號(hào)CE一直保持活動(dòng),直至數(shù)據(jù)段開(kāi)始時(shí)的t3以后時(shí)止。這種接口存取類型沒(méi)有OE信號(hào)。從t4開(kāi)始,當(dāng)時(shí)鐘連續(xù)由低到高轉(zhuǎn)變時(shí),被存取裝置將信號(hào)TA激活。在t7時(shí)外部總線接口33激活信號(hào)LAST,從而結(jié)束4拍脈沖串式傳送。
該接口允許隨后的存取的地址段與先前的存取的數(shù)據(jù)段重疊。因此如圖18所闡述的,芯片選擇電路32提供隨后地址A2并在t4前一個(gè)建立時(shí)間內(nèi)激活信號(hào)CE。被存取裝置檢測(cè)到隨后的存取的地址段,并在由信號(hào)AACK的激活所定的t7時(shí)刻將A2鎖存。然而信號(hào)CE必須在CE2期間保持活動(dòng),直至發(fā)生第二存取的數(shù)據(jù)段(t7的隨后時(shí)間)時(shí)止。這種類型的被存取裝置具有一個(gè)地址鎖存器,所以它可以早在t7就鎖存A2,從而完成下一個(gè)地址段。
圖19闡述使用存取類型$8的寫(xiě)接口的時(shí)序圖。再者,被存取裝置具有兩個(gè)等待狀態(tài),并在t3時(shí)刻返回包括AACK在內(nèi)的它自己的確認(rèn)信號(hào),以完成傳送的地址段。如在類型II脈沖串式讀周期內(nèi)一樣,在裝置等待時(shí)間的期間信號(hào)CE保持活動(dòng),因此CE一直保持活動(dòng),直至數(shù)據(jù)段開(kāi)始的t3之后。從t4開(kāi)始,外部總線接口33在連續(xù)的時(shí)鐘周期內(nèi)提供數(shù)據(jù)單元D10、D11、D12和D13,同時(shí)被存取裝置將這些數(shù)據(jù)單元鎖存。自t4開(kāi)始,被存取裝置在連續(xù)的時(shí)鐘周期內(nèi)激活信號(hào)TA,從而標(biāo)明脈沖串每一拍數(shù)據(jù)段的結(jié)束。猶如類型II脈沖串式讀周期中一樣,在t7時(shí)外部總線接口33激活信號(hào)LAST,從而完成此4拍脈沖串式傳送。隨后周期的地址可用圖18所闡述的同樣方式加以重疊。
稱為“具有同步OE和早期重疊的同步接口”接口類型的接口類型$9如前面圖7所闡述那樣完成讀存取。此類型相似于接口類型$3,不同之外是它將第2個(gè)存取的地址段與先前存取的早期同步OE重疊起來(lái)。一個(gè)接口存取類型$9寫(xiě)存取與前面圖15所闡述的普通同步寫(xiě)存取相同。
接口類型$4、$6和$A-$F保留不用。如時(shí)序控制級(jí)230中的活動(dòng)控制單元檢測(cè)到一個(gè)對(duì)具有這些保留類型中的一個(gè)的接口進(jìn)行存取,它禁止產(chǎn)生任何芯片選擇時(shí)序控制信號(hào),因此芯片選擇生成單元200不完成任何相應(yīng)的內(nèi)存存取。因此由于軟件錯(cuò)誤造成的此域中不正確編碼將不會(huì)引起非法存取。
由于芯片選擇電路32支持一系列接口,因此它非常靈活。然而芯片選擇電路32所支持的一套接口在不同實(shí)施例中可能不同,以滿足不同應(yīng)用要求。此外,芯片選擇電路32支持高度流水線操作的接口,從而提高數(shù)據(jù)處理器30的性能。具體說(shuō),接口存取類型$3、$7和$9比已知接口很大地改善了性能。使用常規(guī)順序的(用時(shí)鐘定時(shí)的)電路設(shè)計(jì)技術(shù),將現(xiàn)有存儲(chǔ)裝置改造使之遵照此處所闡述的時(shí)序,即可做出與接口存取類型$3、$7和$9一起使用的存儲(chǔ)裝置。
為處理重疊存取,早期流水線控制單元233檢測(cè)兩種主要情況。第一種情況是對(duì)同一區(qū)域或芯片進(jìn)行存取的情況,這些存取最多被允許將下一個(gè)地址段與第一個(gè)存取的數(shù)據(jù)段重疊(如果第一個(gè)存取的等待時(shí)間可以確定,即ACK-EN=1)。例如,如第一個(gè)存取是對(duì)一個(gè)流水線操作裝置進(jìn)行的,則對(duì)同一裝置的第二個(gè)存取將等待,直至第一個(gè)存取準(zhǔn)備完成其數(shù)據(jù)段時(shí)止。然而第二個(gè)存取的地址(或CE)能與第一個(gè)存取的數(shù)據(jù)重疊。
第二種情況是對(duì)兩個(gè)不同區(qū)域或芯片的兩個(gè)存取。第二種情況中,為將對(duì)兩種不同區(qū)域或芯片的存取重疊起來(lái),時(shí)序控制級(jí)230強(qiáng)制一套流水線操作規(guī)則,以保證數(shù)據(jù)完整性和恰當(dāng)?shù)闹芷诮Y(jié)束。下面表5更詳細(xì)地描述這些規(guī)則。
表5
<p>規(guī)則1涉及對(duì)一個(gè)區(qū)域的讀存取,后跟隨一個(gè)對(duì)另一區(qū)域的另一個(gè)讀存取的情況。此情況中,芯片選擇電路32將第二讀取與第一讀取進(jìn)行流水線操作。
規(guī)則2涉及一個(gè)寫(xiě)存取后跟隨一個(gè)讀存取的情況。此情況中,芯片選擇電路32將第二讀取與第一讀取進(jìn)行流水線操作。
規(guī)則3涉及單拍寫(xiě)存取后跟隨另一個(gè)寫(xiě)存取的情況。此情況中,有些裝置要求在地址或CE成為合法后的一個(gè)時(shí)鐘周期內(nèi)可以使用寫(xiě)周期的數(shù)據(jù)。如不行,則裝置使寫(xiě)周期作廢。如兩個(gè)存取都由芯片選擇電路32加以結(jié)束(即兩個(gè)區(qū)域的可選寄存器中都設(shè)置ACK-EN位),則芯片選擇電路32在第一寫(xiě)周期的最后一個(gè)數(shù)據(jù)段時(shí)即激活第二寫(xiě)周期的CE,從而將存取重疊。如情況為一個(gè)脈沖串式寫(xiě)后跟隨另一個(gè)寫(xiě),則芯片選擇電路32在第一寫(xiě)周期標(biāo)明已激活最后數(shù)據(jù)拍(BDIP或LAST)之后為第二寫(xiě)周期內(nèi)激活CE。
規(guī)則4涉及讀周期后跟隨一個(gè)寫(xiě)周期的情況。芯片選擇電路32在讀周期結(jié)束之前將寫(xiě)周期的CE激活,從而將存取重疊。然而在所闡述的實(shí)施例中,外部總線接口33并不向芯片選擇電路32提供允許重疊所用的恰當(dāng)握手信號(hào)。在為寫(xiě)周期激活CE之前外部總線接口33并不提供寫(xiě)周期的地址信號(hào)。
規(guī)則5涉及兩個(gè)連續(xù)的存取,其中有一個(gè)存取的等待時(shí)間(即等待狀態(tài)的數(shù)量)是未知數(shù)(即其ACK-EN被清零)。此情況中,只當(dāng)?shù)诙嫒〉膮^(qū)域具有的接口類型能在總線可用之前掛起數(shù)據(jù)時(shí),芯片選擇電路32才將兩個(gè)存取進(jìn)行流水線操作。例如,第一存取是對(duì)其ACK-EN清零的區(qū)域的存取,及第二存取是對(duì)其ACK-EN設(shè)置并具有接口存取類型$8的區(qū)域的存取。此情況中,因第二區(qū)域不可以在沒(méi)有OE時(shí)掛起其數(shù)據(jù),因此在第一存取完成前芯片選擇電路32必須將第二存取掛起。注意如果第一存取是對(duì)其等待時(shí)間為未知數(shù)的區(qū)域的存取及第二存取是對(duì)同一區(qū)域,則芯片選擇電路32等待一個(gè)外部AACK,后者允許芯片選擇電路32將對(duì)于同一區(qū)域的隨后的CE激活。
規(guī)則6涉及的情況是第一存取的區(qū)域未被芯片選擇電路32定義,例如一個(gè)專用動(dòng)態(tài)RAM(DRAM)控制器,及第二存取是對(duì)由芯片選擇電路32所定義的另一區(qū)域。此情況中,第一區(qū)域提供它自己的芯片選擇信號(hào),所以芯片選擇電路32不知道接口存取類型和等待時(shí)間。因此芯片選擇電路32不將第二存取和第一存取進(jìn)行流水線操作。
規(guī)則7涉及一個(gè)對(duì)脈沖串式區(qū)域的固定4拍脈沖串式讀存取,后面跟隨一個(gè)對(duì)其它區(qū)域的讀取。此情況中,如第二存取的區(qū)域可進(jìn)行流水線操作并能掛起其數(shù)據(jù),則芯片選擇電路32將第二存取進(jìn)行流水線操作。注意如果第二存取具有接口存取類型$8,則它不能掛起其數(shù)據(jù)及芯片選擇電路32將不使第二存取進(jìn)行流水線操作。
規(guī)則8涉及對(duì)同步區(qū)域的第一存取,跟隨一個(gè)對(duì)異步區(qū)域的第二存取。此情況中,由于第二存取不能進(jìn)行流水線操作,因此芯片選擇電路32不使第二區(qū)域進(jìn)行流水線操作。
規(guī)則9涉及對(duì)異步區(qū)域的第一存取,此情況中,由于在第一存取完成前外部地址和數(shù)據(jù)總線兩者必須可供第一存取使用,因此芯片選擇電路32不使第二存取與第一個(gè)流水線操作。
注意芯片選擇電路32與外部總線接口33一起用于實(shí)施這些流水線操作規(guī)則。在某些情況下,外部總線接口33進(jìn)行控制。對(duì)規(guī)則4講,結(jié)合上面圖15所描述的,芯片選擇電路32支持流水線操作但外部總線接口33不支持。對(duì)于規(guī)則9講,外部總線接口33也并不足夠早地提供用于流水線操作的AACK或TA握手。在其它情況下,芯片選擇電路和32檢測(cè)到不兼容的存取。
管腳配備級(jí)240包括13個(gè)管腳配備邏輯電路,包括代表性的管腳配備邏輯電路和241、242、243和248。每個(gè)管腳配備邏輯電路具有一個(gè)連至譯碼總線201的第一輸入端,一個(gè)連至?xí)r序總線202的第二輸入端和一個(gè)用于提供未用芯片選擇信號(hào)的輸出端。管腳配備邏輯電路241提供一個(gè)標(biāo)為“CSBOOT”的輸出信號(hào)。管腳配備邏輯電路242提供一個(gè)標(biāo)為“CS0”或另一標(biāo)號(hào)“CSBOOT OE”的輸出信號(hào)。管腳配備邏輯電路243提供一個(gè)標(biāo)為“CS1”的輸出信號(hào)。管腳配備邏輯電路248提供一個(gè)標(biāo)號(hào)為“CS11”的輸出信號(hào)。
芯片選擇電路32可編程地通過(guò)13個(gè)集成電路管腳提供芯片選擇信號(hào)。然而,正如高集成度數(shù)據(jù)處理器或微控制器中常規(guī)做法一樣,這些管腳與其它管腳功能或數(shù)據(jù)處理器30的端口共享以及能可編程地選擇以便將輸出信號(hào)加以配備,用于不同終端用戶的應(yīng)用。
雖然本發(fā)明是在最佳實(shí)施例的范圍內(nèi)描述的,熟悉技術(shù)的人清楚地知道本發(fā)明可用不同方式修改并在上面具體描述的范圍之外組成許多實(shí)施例。相應(yīng)地,所附權(quán)利要求書(shū)用于包括不背離本發(fā)明實(shí)質(zhì)和范圍的對(duì)本發(fā)明的所有修改。
權(quán)利要求
1.一種具有可編程內(nèi)存存取接口類型的集成電路微處理器(30),包括一個(gè)中央處理單元(CPU)(31),用于執(zhí)行指令和存取內(nèi)存;一個(gè)連至所述CPU(31)并與一個(gè)內(nèi)存區(qū)域相關(guān)連的可選寄存器(61),所述可選寄存器(61)存放一個(gè)編碼值(62);一個(gè)連至所述可選寄存器(61)的譯碼器(63),用于將所述編碼值(62)加以譯碼,以對(duì)存取所述內(nèi)存區(qū)域的所述CPU(31)作出響應(yīng),提供一個(gè)譯碼信號(hào),所述譯碼信號(hào)采取眾多狀態(tài)中的一個(gè),其中包括合法狀態(tài)和備用狀態(tài);以及一個(gè)連至所述CPU(31)和連至所述譯碼器(63)的存取控制器(64),或者當(dāng)所述譯碼信號(hào)處于合法狀態(tài)時(shí)所述存取控制器(64)用于激活眾多外部控制信號(hào),所述外部控制信號(hào)具有由相對(duì)應(yīng)于所述譯碼信號(hào)的可編程接口類型所決定的時(shí)序特性,或者當(dāng)所述譯碼信號(hào)處于備用狀態(tài)時(shí)所述存取控制器(64)用于保持所述眾多外部控制信號(hào)不活動(dòng),此處集成電路微處理器(30)防止軟件錯(cuò)誤造成未經(jīng)定義的內(nèi)存存取。
2.權(quán)利要求1的集成電路微處理器(30),其中所述眾多外部控制信號(hào)包括一個(gè)允許芯片操作信號(hào),一個(gè)允許輸出信號(hào)和一個(gè)允許寫(xiě)信號(hào)。
3.權(quán)利要求1的集成電路微處理器(30),還包括一個(gè)連至所述CPU(31)和與第二內(nèi)存區(qū)域相關(guān)連的第二可選寄存器,所述第二可選寄存器存放一個(gè)第二編碼值;所述譯碼器(63)進(jìn)一步連至所述第二可選寄存器,用于將所述第二編碼值加以譯碼以便對(duì)存取所述第二內(nèi)存區(qū)域的所述CPU(31)作出響應(yīng),提供一個(gè)第二譯碼信號(hào),所述第二譯碼信號(hào)采取眾多狀態(tài)中的一個(gè),包括合法狀態(tài)和備用狀態(tài);以及所述存取控制器(64)對(duì)存取所述第二內(nèi)存區(qū)域的所述CPU(31)做出響應(yīng),或者當(dāng)所述第二譯碼信號(hào)處于合法狀態(tài)時(shí)用于激活眾多外部控制信號(hào),所述外部控制信號(hào)具有由相對(duì)應(yīng)于所述第二譯碼信號(hào)的可編程接口類型所決定的時(shí)序特性,或者當(dāng)所述第二譯碼信號(hào)處于備用狀態(tài)時(shí)所述存取控制器(64)用于保持所述眾多外部控制信號(hào)不活動(dòng)。
4.一種用于同步地存取內(nèi)存的方法,包括以下步驟在第一時(shí)鐘周期內(nèi)為第一內(nèi)存存取提供第一地址;激活一個(gè)第一控制信號(hào),以標(biāo)明在所述第一時(shí)鐘周期后預(yù)定數(shù)量的等待狀態(tài)后的第二時(shí)鐘周期內(nèi)的所述第一內(nèi)存存取的一個(gè)數(shù)據(jù)段;以及在緊接所述第二時(shí)鐘周期后的第三時(shí)鐘周期內(nèi)接收由所述第一地址所存取的第一數(shù)據(jù)單元。
5.權(quán)利要求4的方法,其中所述激活所述第一控制信號(hào)的步驟包括激活一個(gè)允許輸出控制信號(hào)的步驟。
6.權(quán)利要求4的方法,還包括激活一個(gè)用于標(biāo)明所述第一內(nèi)存存取的地址段的第二控制信號(hào)的步驟。
7.權(quán)利要求6的方法,其中所述激活所述第二控制信號(hào)的步驟包括激活一個(gè)允許芯片操作信號(hào)的步驟。
8.權(quán)利要求6的方法,還包括以下步驟在所述第三時(shí)鐘周期內(nèi)為第二內(nèi)存存取提供第二地址;以及激活所述第二控制信號(hào),以標(biāo)明在所述第三時(shí)鐘周期內(nèi)所述第二內(nèi)存存取的一個(gè)地址段。
9.權(quán)利要求4的方法還包括以下步驟激活一個(gè)第二控制信號(hào),以標(biāo)明在所述第三時(shí)鐘周期內(nèi)正在進(jìn)行中的一個(gè)脈沖串?dāng)?shù)據(jù)周期;以及在所述第三時(shí)鐘周期隨后的第四時(shí)鐘周期內(nèi)接收一個(gè)第二數(shù)據(jù)單元。
10.權(quán)利要求4的方法還包括以下步驟激活一個(gè)第二控制信號(hào),以標(biāo)明在包括所述第三時(shí)鐘周期在內(nèi)的第一眾多時(shí)鐘周期內(nèi)正在進(jìn)行中的一個(gè)脈沖串?dāng)?shù)據(jù)周期;以及在隨所述第三時(shí)鐘周期之后并與所述第一眾多時(shí)鐘周期相對(duì)應(yīng)的第二眾多時(shí)鐘周期內(nèi)接收眾多脈沖串?dāng)?shù)據(jù)單元。
全文摘要
一種集成電路微處理器(30)使用內(nèi)部產(chǎn)生的具有可編程存儲(chǔ)器存取接口類型的控制信號(hào)對(duì)外部存儲(chǔ)器進(jìn)行存取。一個(gè)與內(nèi)存區(qū)域相關(guān)連的寄存器(61)存放一個(gè)編碼值。在對(duì)該內(nèi)存區(qū)域進(jìn)行存取時(shí),一個(gè)譯碼器(63)將編碼值加以譯碼以提供譯碼信號(hào)。如譯碼信號(hào)處于合法狀態(tài),則一個(gè)存取控制器(64)將具有對(duì)應(yīng)于合法狀態(tài)的時(shí)序的外部控制信號(hào)加以激活。如譯碼信號(hào)處于備用狀態(tài),則存取控制器(64)將外部控制信號(hào)保持為不活動(dòng),不讓存取發(fā)生。
文檔編號(hào)G06F15/76GK1139238SQ9511667
公開(kāi)日1997年1月1日 申請(qǐng)日期1995年8月30日 優(yōu)先權(quán)日1994年8月31日
發(fā)明者秦煌烈, 邁克爾·E·格萊登, 小杰拉爾德·E·沃克 申請(qǐng)人:摩托羅拉公司