欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

減少在兩個相互異步總線之間數(shù)據(jù)的同步傳送中的累積時間延遲的制作方法

文檔序號:6411118閱讀:198來源:國知局
專利名稱:減少在兩個相互異步總線之間數(shù)據(jù)的同步傳送中的累積時間延遲的制作方法
背景技術(shù)
發(fā)明的領(lǐng)域本發(fā)明總的來說涉及計算機(jī)系統(tǒng),更具體來說涉及數(shù)字子系統(tǒng),其控制數(shù)據(jù)從一個同步數(shù)據(jù)總線到另一個同步數(shù)據(jù)總線的傳送,其中兩個數(shù)據(jù)總線是相互異步的。
有關(guān)技術(shù)的說明多數(shù)現(xiàn)代計算機(jī)有許多以不同數(shù)據(jù)速率工作的不同的數(shù)據(jù)總線。在有些系統(tǒng)中可能不同的數(shù)據(jù)速率與一個公共時鐘有關(guān),因而不同的數(shù)據(jù)總線相互同步工作。然而,在許多系統(tǒng)中,不同的數(shù)據(jù)總線相互異步工作。這就是說,總線由不同的時鐘控制,其中不同的時鐘之頻率和相位不存在固定的關(guān)系。因此,在源總線上的數(shù)據(jù)可能相對于數(shù)據(jù)被傳送到達(dá)的目標(biāo)總線上的控制信號以隨機(jī)變化。由于必須滿足數(shù)字設(shè)備如寄存器或其他存儲設(shè)備的最小建立和保持時間,數(shù)據(jù)在兩個總線之間的傳送必須同步。這通過同步電路來實(shí)現(xiàn)。例如,源總線可以產(chǎn)生一個數(shù)據(jù)選通信號來說明在源總線上的數(shù)據(jù)準(zhǔn)備好被傳送。數(shù)據(jù)選通信號通常不能用于直接控制目標(biāo)總線。相反,通過將數(shù)據(jù)選通信號用控制目標(biāo)總線的時鐘信號定時,數(shù)據(jù)選通信號首先被寄存到一個與目標(biāo)總線有關(guān)的控制電路內(nèi)。被寄存的數(shù)據(jù)選通信號然后被用于控制目標(biāo)總線上的數(shù)據(jù)存儲設(shè)備(例如寄存器或鎖存器)。通過將數(shù)據(jù)選通信號(或其它控制信號)與目標(biāo)總線同步,可以確保源總線的數(shù)據(jù)相對于目標(biāo)總線是穩(wěn)定的,并且因而可以被傳送。
雖然數(shù)據(jù)選通信號的同步確保在兩個相互異步的總線之間的數(shù)據(jù)傳送不會發(fā)生數(shù)據(jù)丟失,但需要與同步有關(guān)的額外時間。具體地說,達(dá)到同步可能要花費(fèi)目標(biāo)總線的兩個時鐘周期那么多的時間。對于不定期的數(shù)據(jù)傳送,同步的額外消耗時間可以很容易忍受;然而,當(dāng)大量數(shù)據(jù)用多路傳送(例如脈沖串傳送)被傳送時,累積的額外消耗時間可能會大大地降低計算機(jī)系統(tǒng)的總性能。因此,提出了減小兩個相互異步的總線之間成組數(shù)據(jù)傳送時間同步額外消耗時間的要求。
發(fā)明概述本發(fā)明的一個方面是相互異步工作的第一總線和第二總線之間的一個接口電路。第一總線以與第一總線時鐘同步的方式將數(shù)據(jù)提供給接口電路,第二總線以與第二總線時鐘同步的方式接收來自接口電路的數(shù)據(jù)。該裝置包括一輸入/輸出緩沖器,其包括至少第一和第二緩沖單元,來自第一總線的數(shù)據(jù)以與第一總線時鐘同步的方式存儲到第一和第二緩沖單元。至少第一和第二數(shù)據(jù)有效指示器分別與第一和第二緩沖單元有關(guān)。當(dāng)數(shù)據(jù)被存儲在第一緩沖單元時,第一數(shù)據(jù)有效指示器與第一總線時鐘同步地被置位。當(dāng)數(shù)據(jù)被存儲在第二緩沖單元時,第二數(shù)據(jù)有效指示器與第一總線時鐘同步地被置位。一個數(shù)據(jù)有效指示器選擇器選擇第一和第二數(shù)據(jù)有效指示器中的一個作為輸出數(shù)據(jù)有效指示器。一個總線狀態(tài)機(jī)器與第二總線時鐘同步工作,把輸入/輸出緩沖器來的數(shù)據(jù)傳送到第二總線??偩€狀態(tài)機(jī)器選擇第一和第二緩沖單元中的一個作為被傳送到第二總線的數(shù)據(jù)的源。總線狀態(tài)機(jī)器控制數(shù)據(jù)有效指示器選擇器,以選擇第一和第二數(shù)據(jù)有效指示器中相應(yīng)的一個作為輸出數(shù)據(jù)有效指示器??偩€狀態(tài)機(jī)器監(jiān)測輸出數(shù)據(jù)有效指示器,以確定來自第一總線的數(shù)據(jù)何時已被存儲到所選擇的第一或第二緩沖單元。第一同步電路接收第一數(shù)據(jù)有效指示器并把它與第二總線時鐘同步,以提供第一被同步的數(shù)據(jù)有效指示器作為至數(shù)據(jù)有效指示器選擇器的一個輸入端。第二同步電路接收第二數(shù)據(jù)有效指示器并把它與第二總線時鐘同步,以提供第二被同步的數(shù)據(jù)有效指示器作為至數(shù)據(jù)有效指示器選擇器的一個輸入端。
本發(fā)明的另一個方面是在相互異步工作的第一和第二總線之間傳送數(shù)據(jù)的裝置。該裝置包括一個數(shù)據(jù)存儲設(shè)備,其包括存儲數(shù)據(jù)的許多存儲單元。第一總線接口狀態(tài)機(jī)器被連接到第一數(shù)據(jù)總線。第一總線接口狀態(tài)機(jī)器將數(shù)據(jù)從第一數(shù)據(jù)總線傳送到多個數(shù)據(jù)存儲單元中所選擇的一個單元。第二總線接口狀態(tài)機(jī)器被連接到第二數(shù)據(jù)總線。第二總線接口狀態(tài)機(jī)器將數(shù)據(jù)從多個數(shù)據(jù)存儲單元中所選擇的一個單元傳送到第二數(shù)據(jù)總線。還包括一個數(shù)據(jù)存在緩沖器,其對多個存儲單元中的每個單元有一相應(yīng)的指示。指示器中的一個在響應(yīng)將數(shù)據(jù)傳送到多個數(shù)據(jù)存儲單元中所選擇的一個單元的第一總線狀態(tài)機(jī)器時被置位,并在響應(yīng)將數(shù)據(jù)從多個數(shù)據(jù)存儲單元中所選擇的一個單元傳送到第二數(shù)據(jù)總線的第二總線狀態(tài)機(jī)器時被清除。第二總線接口狀態(tài)機(jī)器僅當(dāng)所選擇的指示器被置位時才傳送來自多個數(shù)據(jù)存儲單元中所選擇的一個單元的數(shù)據(jù)。一組相應(yīng)的延遲電路被連接在數(shù)據(jù)存在緩沖器和第二總線接口狀態(tài)機(jī)器之間,以延遲該指示器因而第二總線接口狀態(tài)機(jī)器在第一總線接口機(jī)器已把數(shù)據(jù)傳送到所選擇的數(shù)據(jù)存儲單元之后至少經(jīng)過一預(yù)定時間之后才能傳送來自許多數(shù)據(jù)存儲單元中的一個單元的數(shù)據(jù)。
本發(fā)明的另一個方面是在第一數(shù)據(jù)總線和第二數(shù)據(jù)總線之間傳送數(shù)據(jù)的裝置。第一和第二數(shù)據(jù)總線相互異步地工作。該裝置包括一個緩沖器,其包括存儲數(shù)據(jù)的第一和第二數(shù)據(jù)存儲單元。第一總線接口狀態(tài)機(jī)器被連接到第一數(shù)據(jù)總線和緩沖器,以便按照第一總線時鐘信號控制從第一數(shù)據(jù)總線傳送到第一和第二數(shù)據(jù)存儲單元中所選擇的一個單元的數(shù)據(jù)的傳送。第二總線接口狀態(tài)機(jī)器被連接到第二數(shù)據(jù)總線和緩沖器,以便按照與第一總線時鐘信號異步工作的第二總線時鐘信號控制從緩沖器到第二數(shù)據(jù)總線的數(shù)據(jù)的傳送。第一和第二標(biāo)志緩沖器具有連接到第一和第二總線接口狀態(tài)機(jī)器的相應(yīng)的第一和第二標(biāo)志輸出。第一標(biāo)志緩沖器的輸出當(dāng)數(shù)據(jù)被從第一數(shù)據(jù)總線傳送到第一數(shù)據(jù)存儲單元時被相對于第一總線時鐘信號同步地置位,并當(dāng)數(shù)據(jù)被從第一數(shù)據(jù)存儲單元傳送到第二數(shù)據(jù)總線時被與第二總線時鐘信號同步地清除。第二標(biāo)志緩沖器輸出當(dāng)數(shù)據(jù)被從第一數(shù)據(jù)總線傳送到第二數(shù)據(jù)存儲單元時被相對于第一總線時鐘信號同步地置位,并當(dāng)數(shù)據(jù)被從第二數(shù)據(jù)存儲單元傳送到第二數(shù)據(jù)總線時被相對于第二總線時鐘信號同步地清除。第一同步器被連接在第二標(biāo)志緩沖器和第二總線接口狀態(tài)機(jī)器之間。第二同步器被連接在第二標(biāo)志緩沖器和第二總線接口狀態(tài)機(jī)器之間。第一同步器把第一標(biāo)志輸出同步到第二總線時鐘信號因而第一標(biāo)志輸出在其改變后能被第二總線接口狀態(tài)機(jī)器接收之前被延遲至少一個預(yù)定時間。第二同步器把第二標(biāo)志輸出同步到第二總線時鐘信號因而第二標(biāo)志輸出在其改變后能被第二總線接口狀態(tài)機(jī)器接收之前被延遲至少一個預(yù)定時間。
附圖簡介本發(fā)明下面將結(jié)合所附帶的附圖來說明,其中包括


圖1示出兩個異步總線之間的示例接口;圖2示出在圖1接口使用的一個數(shù)據(jù)有效標(biāo)志緩沖器的優(yōu)選實(shí)施例;圖3示出圖1的兩個異步總線之間的示例接口,其中接口包括本發(fā)明的改進(jìn)了的同步電路;圖4示出圖1的總線2接口狀態(tài)機(jī)器的相應(yīng)部分的示例狀態(tài)圖;圖5示出圖3的總線2接口狀態(tài)機(jī)器的相應(yīng)部分的示例狀態(tài)圖。
優(yōu)選實(shí)施例詳述圖1示出根據(jù)已知的系統(tǒng)在兩個相互異步總線之間的一個示例接口100。如圖1所示,該接口被連接到第一總線(BUS1)110。在這里所述的實(shí)施例中,第一總線110最好是PCI(外圍部件互連)總線,其按照為用于基于微處理機(jī)的計算機(jī),例如基于INTEL系列微處理機(jī)的計算機(jī)(如INTEL 80486,INTEL奔騰,INTEL P6等等)的PCI總線所建立的標(biāo)準(zhǔn)工作。第一總線110本質(zhì)上是一32位數(shù)據(jù)總線,它具有傳送第一總線110上的數(shù)據(jù)的許多數(shù)據(jù)線(如BUSI DATA112所示)、為第一總線110上所傳送的數(shù)據(jù)提供源或目標(biāo)地址的許多地址線、以及傳遞控制第一總線110上數(shù)據(jù)傳送的控制信號的許多控制線(如CONTROL 114所示)。第一總線110也包括第一總線時鐘線(BUS1CLK)116,在其上具有一個同步第一總線110上的地址、數(shù)據(jù)和控制信號的時鐘信號。例如,BUS1 CLK線116上的時鐘信號益于工作在33MHz。第一總線110的工作對本專業(yè)人員是熟悉的,這里不再詳述。第一總線110也連接到計算機(jī)系統(tǒng)中的其它部件(未示出),例如舉例來說一個外圍控制器,它可以是一至第一總線110的數(shù)據(jù)源。
該接口也被連接到第二總線120,在這里所述的實(shí)施例中,它最好是一高速處理器總線,例如舉例來說是P6總線。在優(yōu)選實(shí)施例中,第二總線120是規(guī)定與INTEL P6微處理機(jī)通信的64位總線,并與第一總線110異步工作。舉例來說,第二總線120可以按照連接到第二總線120的P6微處理機(jī)的時鐘頻率益于工作在50MHz、60MHz或一些其它頻率上。這里按照第二總線120來描述,但是與第一總線110異步工作的其它處理器總線也可以被使用。第二總線120的特定特性除了第二總線120上的數(shù)據(jù)傳送相對于第一總線110上的數(shù)據(jù)傳送異步發(fā)生外,與本發(fā)明無關(guān)。第二總線120也包括許多數(shù)據(jù)線122、許多地址線(未示出)、許多控制線124以及BUS2 CLK線126。
由于第一總線110和第二總線120之間的異步關(guān)系,接口100還包括一數(shù)據(jù)緩沖器130,其在線114上的第一總線控制信號和BUS1 CLK線116上的時鐘信號的控制下,經(jīng)由數(shù)據(jù)線112接收來自第一總線110的數(shù)據(jù)。數(shù)據(jù)緩沖器130緩沖數(shù)據(jù),并在第二總線120的控制線124上的控制信號的控制下,以與BUS2 CLK線126上的時鐘信號同步的方式向第二總線120提供所緩沖的數(shù)據(jù)。
數(shù)據(jù)緩沖器130包括許多存儲單元132。在圖1的實(shí)施例中,僅示出四個存儲單元132,記為DATABUF0、DATABUF1、DATABUF2和DATABUF3。從下面的描述可以明白,可以包括附加的存儲單元,以提供兩個總線之間數(shù)據(jù)的附加存儲。例如,在一個特定的優(yōu)選實(shí)施例中,包括8個存儲單元。根據(jù)所示的4個存儲單元可以不難理解本發(fā)明。存儲單元132的每一個存儲64個數(shù)據(jù)信號。存儲單元132的輸入端被共同連接到BUS1 DATA或112。存儲單元132的輸出端被提供作為64位寬4∶1多路轉(zhuǎn)換器(MUX)134的輸入端。另外,當(dāng)提供附加存儲單元(如8個)存儲單元時,多路轉(zhuǎn)換器被擴(kuò)充,以適當(dāng)?shù)靥峁└郊拥妮斎攵私M(例如在這樣的實(shí)施例中多路轉(zhuǎn)換器134應(yīng)為8∶1多路轉(zhuǎn)換器)。多路轉(zhuǎn)換器134由總線2接口狀態(tài)機(jī)器140經(jīng)由一對選擇線142來控制。具體說,總線2接口狀態(tài)機(jī)器保持一輸出指針,其指向位于傳送到第二總線120的上一個數(shù)據(jù)所在的存儲單元后面的下一個較大編號的存儲單元。可以理解,輸出指針是模4輸出指針,其計數(shù)0、1、2、3、0,因而輸出指針指向跟在DATABUF3存儲單元后面的DATABUF0存儲單元。
在響應(yīng)選擇線142上輸出指針值時,在如上面將要討論的那樣假設(shè)所選擇的存儲單元中的數(shù)據(jù)是有效的,多路轉(zhuǎn)換器134從四個存儲單元132中的一個內(nèi)選擇數(shù)據(jù)作為傳遞到第二總線120的輸出數(shù)據(jù)的源。所選擇的數(shù)據(jù)被存儲在64位寬寄存器150內(nèi),該寄存器用線126上的BUS2CLK信號定時,因而數(shù)據(jù)與第二總線120同步。寄存器150還受允許線152上的允許輸入信號所控制。當(dāng)允許線152無效時,不管存儲在寄存器150內(nèi)的數(shù)據(jù)如何,寄存器150的數(shù)據(jù)輸出是無效的。當(dāng)允許線152有效時,寄存器150經(jīng)由多個BUS2 DATA線122將所寄存的數(shù)據(jù)輸出到第二總線120上。允許線152受總線2接口狀態(tài)機(jī)器140控制,以使寄存器150僅當(dāng)接口100被選擇將數(shù)據(jù)傳送到第二總線120時才允許輸出。
來自第一總線110的數(shù)據(jù)在總線1接口狀態(tài)機(jī)器160控制下被存儲在數(shù)據(jù)緩沖器130內(nèi)??偩€1接口狀態(tài)機(jī)器160經(jīng)由控制線114和BUS1CL線116從第一總線110接收控制信號和BUS1 CLK信號??偩€1接口狀態(tài)機(jī)器160由控制線114傳遞來的數(shù)據(jù)準(zhǔn)備好控制信號響應(yīng),以產(chǎn)生一個所選擇的數(shù)據(jù)選通,經(jīng)由8個數(shù)據(jù)選通線164中的一個加到數(shù)據(jù)存儲單元132。(在優(yōu)選實(shí)施例中每個數(shù)據(jù)存儲單元132有兩個數(shù)據(jù)選通線,以便從第一總線110中選通數(shù)據(jù)的32位進(jìn)入到每個數(shù)據(jù)存儲單元132的相應(yīng)的高區(qū)和低區(qū))。數(shù)據(jù)選通線164用作數(shù)據(jù)存儲單元132的時鐘信號,因而BUS1 DATA線112上的數(shù)據(jù)被存儲在與數(shù)據(jù)選通線164中有效的一根線相應(yīng)的數(shù)據(jù)存儲單元132中所選擇的一個單元內(nèi)??偩€1接口狀態(tài)機(jī)器160以通常方式工作,以控制數(shù)據(jù)緩沖器130作為一個循環(huán)FIFO(先進(jìn)先出)緩沖器,這就是說,總線1接口狀態(tài)機(jī)器160保持一個指向輸入單元132的當(dāng)前一個單元的輸入指針,該當(dāng)前單元是數(shù)據(jù)緩沖器130中下一個可用的空存儲單元。當(dāng)數(shù)據(jù)被寫入到所選擇的存儲單元132時,輸入指針增加到下一個較高的數(shù)字。輸入指針是一這樣的模4指針(在所述的實(shí)施例中有四個存儲單元),當(dāng)輸入指針從值3被增加時,它變?yōu)?。因此,數(shù)據(jù)緩沖器130可以被當(dāng)作DATABUF0與DATA BUF3相鄰的“循環(huán)”緩沖器。
總線1接口狀態(tài)機(jī)器160在一組線166上輸出多個標(biāo)志組信號,其被提供作為標(biāo)志緩沖器170的相應(yīng)組輸入(S)的輸入,標(biāo)志緩沖器170包括多個(如四個)數(shù)據(jù)有效標(biāo)志緩沖單元。如下面參照圖2的更詳細(xì)描述那樣,標(biāo)志組信號與信號線116上的BUS1 CLK信號同步,而信號線上的BUS1 CLK信號被提供作為至標(biāo)志緩沖器170中每個標(biāo)志存儲單元的相應(yīng)的第一時鐘輸入。標(biāo)志緩沖器170在相應(yīng)于數(shù)據(jù)緩沖器130中每個緩沖單元(DATABUF0…DATABUF3)132的一個有效數(shù)據(jù)標(biāo)志情況下存儲四個有效數(shù)據(jù)標(biāo)志(FLAG0,F(xiàn)LAG1,F(xiàn)LAG2和FLAG3)。一個無效的數(shù)據(jù)有效標(biāo)志表示相應(yīng)的緩沖單元132是空的,數(shù)據(jù)可以被存儲在那個緩沖單元132內(nèi)。一個有效的數(shù)據(jù)有效標(biāo)志表示相應(yīng)的緩沖單元具有存儲在其中的有效數(shù)據(jù),數(shù)據(jù)還不能被存儲在那個緩沖單元內(nèi)。一個有效的數(shù)據(jù)有效標(biāo)志也表示對BUS2接口狀態(tài)機(jī)器(下面討論)來說,在相應(yīng)的緩沖單元中的數(shù)據(jù)準(zhǔn)備好被傳送到第二總線120。當(dāng)數(shù)據(jù)被存儲在相應(yīng)的數(shù)據(jù)緩沖單元內(nèi)時,數(shù)據(jù)有效標(biāo)志被置位。當(dāng)數(shù)據(jù)被從相應(yīng)的數(shù)據(jù)緩沖單元傳送到第二總線120時,數(shù)據(jù)有效標(biāo)志被清除。
在標(biāo)志緩沖器170中的有效數(shù)據(jù)標(biāo)志經(jīng)由一組有效數(shù)據(jù)標(biāo)志線172被提供作為至第一4∶1標(biāo)志多路轉(zhuǎn)換器(MUX)180的輸入。第一標(biāo)志多路轉(zhuǎn)換器180由來自總線1接口狀態(tài)機(jī)器160的一對總線1選擇線控制??偩€1接口狀態(tài)機(jī)器160控制編碼輸入指針的當(dāng)前值那對總線1選擇線182。因此,第一標(biāo)志多路轉(zhuǎn)換器180選擇與輸入指針目前正指向的數(shù)據(jù)存儲單元相應(yīng)的數(shù)據(jù)有效標(biāo)志,因而多路轉(zhuǎn)換器180的輸出是表示在當(dāng)前輸入單元中的數(shù)據(jù)是否已經(jīng)有效的數(shù)據(jù)有效標(biāo)志。也就是說,所選擇的數(shù)據(jù)有效標(biāo)志表示上次存儲在所選擇的數(shù)據(jù)緩沖單元內(nèi)的數(shù)據(jù)是否已經(jīng)被傳送到第二總線120(數(shù)據(jù)有效標(biāo)志將為“無效”)或上次存儲在所選擇的數(shù)據(jù)緩沖單元內(nèi)的數(shù)據(jù)是否是還沒有被傳送到第二總線120(數(shù)據(jù)有效標(biāo)志仍為“有效”)。
在標(biāo)志緩沖器170中的數(shù)據(jù)有效標(biāo)志可經(jīng)由線174上的SYSTEMRESET重置到一已知的狀態(tài)(例如,所有數(shù)據(jù)有效標(biāo)志無效)。SYSTEM RESET信號是當(dāng)計算機(jī)系統(tǒng)接通電源時,當(dāng)計算機(jī)系統(tǒng)由用戶復(fù)位時或類似情況下產(chǎn)生的一個通常的復(fù)位信號。
第一標(biāo)志多路轉(zhuǎn)換器180的輸出被提供作為至總線1有效數(shù)據(jù)同步器190的數(shù)據(jù)輸入,總線1有效數(shù)據(jù)同步器190包括第一總線1同步器觸發(fā)器192。第一總線1同步器觸發(fā)器192的數(shù)據(jù)輸出被提供作為至第二總線1同步器觸發(fā)器194的數(shù)據(jù)輸入。兩個總線1同步器觸發(fā)器192、194由時鐘線116上的BUS1 CLK信號定時。第二總線1同步器觸發(fā)器194的數(shù)據(jù)輸出經(jīng)由DATA VALID數(shù)據(jù)線196被提供作為至總線1接口狀態(tài)機(jī)器160的輸入。因此,所選擇的有效標(biāo)志被提供作為反饋加至總線1接口狀態(tài)機(jī)器。以表示當(dāng)前被狀態(tài)機(jī)器中的輸入指針?biāo)x擇的數(shù)據(jù)存儲單元是否可用于存儲新數(shù)據(jù)或新數(shù)據(jù)是否是無法被接受。應(yīng)當(dāng)明白,也可以使用其它類型的數(shù)據(jù)同步器。
在標(biāo)志緩沖器170中的有效數(shù)據(jù)標(biāo)志經(jīng)由一組有效數(shù)據(jù)標(biāo)志線172被提供作為至第二4∶1標(biāo)志多路轉(zhuǎn)換器(MUX)200的輸入。第二標(biāo)志多路轉(zhuǎn)換器200由來自總線2接口狀態(tài)機(jī)器140的一對總線2選擇線202控制??偩€2選擇線202被控制以便與輸出指針線142相應(yīng),輸出指針線142選擇數(shù)據(jù)緩沖器130中的數(shù)據(jù)存儲單元132作為被輸出至第二總線120的數(shù)據(jù)的源。因此,第二標(biāo)志多路轉(zhuǎn)換器200的輸出表示當(dāng)前所選擇的數(shù)據(jù)存儲單元是否具有有效數(shù)據(jù)或在那個單元中的數(shù)據(jù)是否已經(jīng)被傳送以及不再有效。
第二標(biāo)志多路轉(zhuǎn)換器200的輸出被提供作為至總線2有效數(shù)據(jù)同步器210的數(shù)據(jù)輸入,總線2有效數(shù)據(jù)同步器210包括一個第一總線2同步器觸發(fā)器212。第一總線2同步器觸發(fā)器212的數(shù)據(jù)輸出被提供作為至第二總線2同步器觸發(fā)器214的數(shù)據(jù)輸入。兩個總線2同步器觸發(fā)器212、214用時鐘線126上的BUS2 CLK信號定時。第二總線2同步器觸發(fā)器214的輸出經(jīng)由DATA VALID2數(shù)據(jù)線216被提供作為至總線2接口狀態(tài)機(jī)器140的輸入。因此,總線2接口狀態(tài)機(jī)器140被供給關(guān)于輸出指針當(dāng)前所指向的數(shù)據(jù)存儲單元內(nèi)數(shù)據(jù)有效性的反饋。
在標(biāo)志緩沖器170中的數(shù)據(jù)有效緩沖單元(即FLAG0、FLAG1、FLAG2和FLAG3)由四根標(biāo)志清除線220有選擇地被清除,標(biāo)志清除線220由總線2接口狀態(tài)機(jī)器140產(chǎn)生。標(biāo)志清除線220的每一根以與信號線126上的BUS2 CLK同步的方式被提供作為至數(shù)據(jù)有效緩沖單元中的一個單元的相應(yīng)的標(biāo)志清除輸入(C)。當(dāng)來自數(shù)據(jù)緩沖器130中相應(yīng)的存儲單元的數(shù)據(jù)被傳送到第二總線120時,相應(yīng)的標(biāo)志清除線被激勵。例如,當(dāng)總線2接口狀態(tài)機(jī)器140選擇數(shù)據(jù)緩沖器130中DATABUF2存儲單元內(nèi)的數(shù)據(jù)作為至第二總線120的輸出數(shù)據(jù)時,總線2接口狀態(tài)機(jī)器140激勵標(biāo)志清除線220中相應(yīng)的一根,提供作為至FLAG2數(shù)據(jù)有效緩沖單元的清除(C)輸入。FLAG2數(shù)據(jù)有效緩沖單元以與信號線126上的BUS2 CLK同步的方式被清除。
圖2示出圖1中數(shù)據(jù)有效存儲單元170中的一個單元的優(yōu)選實(shí)施例。具體說,圖2示出FLAG0數(shù)據(jù)有效存儲單元170A。其它三個數(shù)據(jù)有效存儲單元FLAG1、FLAG2和FLAG3最好與FLAG0數(shù)據(jù)有效存儲單元相同。如圖所示,數(shù)據(jù)有效存儲單元170包括第一反轉(zhuǎn)觸發(fā)器300和第二反轉(zhuǎn)觸發(fā)器302。
第一反轉(zhuǎn)觸發(fā)器300有一個時鐘輸入端310,它接收信號線116上的BUS1 CLK信號。第一反轉(zhuǎn)觸發(fā)器300有一個反轉(zhuǎn)允許(TE)輸入端312,它接收第一個二輸入端與門314的輸出。第一與門314有一個第一(高態(tài)有效)輸入端,它接收來自總線1接口狀態(tài)機(jī)器160的信號線166A(圖1中一組有效數(shù)據(jù)標(biāo)志線166中的一根)上的SET_VALID_O信號。第一與門314有一個第二(低態(tài)有效)輸入端,它接收信號線172A(圖1中信號線172中的一根)上作為反饋的FLAG0數(shù)據(jù)有效標(biāo)志。第一反轉(zhuǎn)觸發(fā)器300有一個Q輸出端316,在優(yōu)選實(shí)施例中BUS1 CLK信號由低至高轉(zhuǎn)換時它改變狀態(tài)(即從低邏輯電平變?yōu)楦哌壿嬰娖交驈母哌壿嬰娖綇?fù)為低邏輯電平)。第一反轉(zhuǎn)觸發(fā)器300的Q輸出信號僅當(dāng)信號線166A上的SET_VALID_O信號為有效而同時FLAG0數(shù)據(jù)有效標(biāo)志為無效時才改變。當(dāng)SET_VALID_O信號為有效而FLAG0數(shù)據(jù)有效標(biāo)志為無效時,與門314的輸出為有效,第一反轉(zhuǎn)觸發(fā)器300的Q輸出將從它的高狀態(tài)變?yōu)樗牡蜖顟B(tài)或從它的低狀態(tài)變?yōu)樗母郀顟B(tài),對BUS1 CLK信號的每個由低至高轉(zhuǎn)換時改變一次。如果SET_VALID_O信號為無效或FLAG0數(shù)據(jù)有效標(biāo)志為有效,則第一反轉(zhuǎn)觸發(fā)器300的Q輸出將不管BUS1 CLK信號的變化而保持不變。
第二反轉(zhuǎn)觸發(fā)器302有一個時鐘輸入端330,它接收信號線126上的BUS2 CLK信號。第二反轉(zhuǎn)觸發(fā)器302有一個反轉(zhuǎn)允許(TE)輸入端332,它接收第二個二輸入與門334的輸出。第二與門334有一個第一(高態(tài)有效)輸入端,它接收來自總線2接口狀態(tài)機(jī)器140的信號線220A(圖1中清除有效數(shù)據(jù)標(biāo)志線220中的一根)上的CLR_VALID_O信號。第二與門334有一個第二(高態(tài)有效)輸入端,它接收信號線172A上作為反饋的FLAG0數(shù)據(jù)有效標(biāo)志。第二反轉(zhuǎn)觸發(fā)器302有一個Q輸出端336,它在優(yōu)選實(shí)施例中BUS2 CLK信號由低至高轉(zhuǎn)換時改變狀態(tài)(即從低邏輯電平變?yōu)楦哌壿嬰娖交驈母哌壿嬰娖阶優(yōu)榈瓦壿嬰娖?。第二反轉(zhuǎn)觸發(fā)器302的Q輸出信號僅當(dāng)信號線220A上的CLR_VALID_O信號為有效同時FLAG0數(shù)據(jù)有效標(biāo)志為有效時才改變。當(dāng)CLR_VALID_O信號為有效以及FLAG0數(shù)據(jù)有效標(biāo)志為有效時,與門334的輸出為有效,第二反轉(zhuǎn)觸發(fā)器302的Q輸出將從它的高狀態(tài)變?yōu)樗牡蜖顟B(tài)或從它的低狀態(tài)變?yōu)樗母郀顟B(tài),BUS2 CLK信號的每個由低至高轉(zhuǎn)換時改變一次。如果CLR_VALID_O信號為無效或者FLAG0數(shù)據(jù)有效標(biāo)志為無效,則第二反轉(zhuǎn)觸發(fā)器302的Q輸出將不管BUS2 CLK信號的變化而保持不變。
第一反轉(zhuǎn)觸發(fā)器300有一個復(fù)位(RST)輸入端340,第二反轉(zhuǎn)觸發(fā)器302有一個復(fù)位(RST)輸入端342。RST輸入端340、342接收信號線174上的SYSTEM RESET信號。當(dāng)SYSTEM RESET信號為有效時,兩個反轉(zhuǎn)觸發(fā)器300、302被復(fù)位,因而相應(yīng)的Q輸出被清除到它們的低態(tài)無效狀態(tài)。
第一和第二反轉(zhuǎn)觸發(fā)器300、302的Q輸出被提供作為至一個異或門350的分別的第一和第二輸入。異或門350的輸出提供線172A上的FLAG0數(shù)據(jù)有效標(biāo)志,它因而是FLAG0數(shù)據(jù)有效存儲單元的輸出。線172A上的FLAG0數(shù)據(jù)有效標(biāo)志也經(jīng)由各自的與門314、334被如上所述提供作為到兩個反轉(zhuǎn)觸發(fā)器300、302的反饋。異或門350根據(jù)兩個輸入工作,當(dāng)兩個Q輸出端相互不同(即一個Q輸出為高態(tài)有效,另一個Q輸出為低態(tài)有效)時在線172A上提供一個有效FLAG0數(shù)據(jù)有效標(biāo)志,以及當(dāng)兩個Q輸出端具有相同的邏輯電平(即兩個Q輸出都為高態(tài)有效或兩個Q輸出都為低態(tài)有效)時在線172A上提供一個無效FLAG0數(shù)據(jù)有效標(biāo)志。如上所述,當(dāng)異或門350的輸出是高態(tài)有效時表示第二反轉(zhuǎn)觸發(fā)器302的Q輸出與第一反轉(zhuǎn)觸發(fā)器300的Q輸出不同,僅僅第二與門334有可能被允許,因而如果CLR_VALID_O信號線220A是有效的話,那么第二反轉(zhuǎn)觸發(fā)器302被允許。第二反轉(zhuǎn)觸發(fā)器在信號線126上的BUS2 CLK線下一次由低變高轉(zhuǎn)換時反轉(zhuǎn)。這確保第二反轉(zhuǎn)觸發(fā)器302的Q輸出變得與第一反轉(zhuǎn)觸發(fā)器300的Q輸出相同,因此異或門350的輸出變?yōu)闊o效。異或門350的輸出的無效狀態(tài)表示FLAG0數(shù)據(jù)有效標(biāo)志被清除(即數(shù)據(jù)無效)。此外,如果SET_VALID_O信號線166A被總線1接口狀態(tài)機(jī)器160激勵,那么第二反轉(zhuǎn)觸發(fā)器302禁止反轉(zhuǎn),而第一反轉(zhuǎn)觸發(fā)器300允許反轉(zhuǎn)。因而可以看出,F(xiàn)LAG0有效數(shù)據(jù)標(biāo)志與BUS1 CLK信號同步置位,并與BUS2CLK信號同步清除。
關(guān)于上面所述的基于反轉(zhuǎn)觸發(fā)器的數(shù)據(jù)存儲單元的附加信息可以例如在專利NO.5083049中找到,該專利已交給本中請的代理人并在這里引用為參考資料。本專業(yè)人員會知道,在本發(fā)明中也可以使用別的數(shù)據(jù)有效存儲單元。
再參見圖1,可以看出,總線1有效數(shù)據(jù)同步器190和總線2有效數(shù)據(jù)同步器210的用途是確保有效數(shù)據(jù)標(biāo)志的變化以與控制兩個狀態(tài)機(jī)器的相應(yīng)的時鐘同步的方式被提供至總線1接口狀態(tài)機(jī)器160和總線2接口狀態(tài)機(jī)器140。具體說,如上所述,有效數(shù)據(jù)標(biāo)志與BUS1 CLK信號同步地置位,并與BUS2 CLK同步地清除。因此,有效數(shù)據(jù)標(biāo)志將以與BUS1 CLK信號同步的方式從它的無效狀態(tài)變?yōu)樗挠行顟B(tài),并以與BUS2 CLK同步的方式從它的有效狀態(tài)變?yōu)樗臒o效狀態(tài)。由于BUS1 CLK信號與BUS2 CLK信號異步,所以總線1接口狀態(tài)機(jī)器160接收數(shù)據(jù)有效標(biāo)志的由有效變?yōu)闊o效的轉(zhuǎn)換與它的內(nèi)部狀態(tài)轉(zhuǎn)換不同步。因此,有可能在總線1接口狀態(tài)機(jī)器要求有效數(shù)據(jù)標(biāo)志的狀態(tài)穩(wěn)定不變時會發(fā)生轉(zhuǎn)換??偩€1同步器190將有效數(shù)據(jù)標(biāo)志的由高變低的轉(zhuǎn)換同步到BUS1 CLK上,因而同步到總線1接口狀態(tài)機(jī)器160的內(nèi)部狀態(tài)轉(zhuǎn)換上。同樣地,總線2同步器210將有效數(shù)據(jù)標(biāo)志的由低變高的轉(zhuǎn)換同步到BUS2 CLK上,因而同步到總線2接口狀態(tài)機(jī)器140的內(nèi)部狀態(tài)轉(zhuǎn)換上。有效數(shù)據(jù)標(biāo)志的由低變高的轉(zhuǎn)換與BUS2 CLK同步是十分重要的,這因?yàn)楫?dāng)數(shù)據(jù)正在被寫入到當(dāng)前所選擇的輸入單元時相應(yīng)的有效數(shù)據(jù)標(biāo)志被置位。如果當(dāng)前所選擇的輸入單元也是當(dāng)前選擇為輸出單元(即總線2接口狀態(tài)機(jī)器140已使所有以前存儲數(shù)據(jù)輸出),那么總線2接口狀態(tài)機(jī)器140將立即檢測到有效數(shù)據(jù)標(biāo)志已變?yōu)橛行Р?shù)據(jù)輸出到第二總線120。然而,這可能引起總線2接口狀態(tài)機(jī)器140內(nèi)的亞穩(wěn)定性以及競態(tài)條件,特別是如果在數(shù)據(jù)已被存儲在相應(yīng)的數(shù)據(jù)存儲單元和已通過多路轉(zhuǎn)換器134和通過寄存器150被傳輸之前有效數(shù)據(jù)標(biāo)志從它的無效狀態(tài)轉(zhuǎn)換為它的有效狀態(tài)。總線2同步器確保在總線2接口狀態(tài)機(jī)器140將數(shù)據(jù)輸出到第二總線120之前數(shù)據(jù)是穩(wěn)定的。
圖1中的總線1至總線2接口100對其所希望的目的工作很好;然而,接口100包括由總線1同步器190和總線2同步器210引起的同步延遲,它減小接口100的總的數(shù)據(jù)速率,特別是當(dāng)數(shù)據(jù)以成組方式傳送到或傳送出接口100。通過考慮當(dāng)數(shù)據(jù)緩沖器130中所有四個數(shù)據(jù)緩沖單元(DATABUF0…DATABUF3)都是滿的且相應(yīng)的有效數(shù)據(jù)標(biāo)志(FLAG0…FLAG3)被置位時總線2接口狀態(tài)機(jī)器140的工作可以理解這個問題。在總線2接口狀態(tài)機(jī)器140傳送來自第一數(shù)據(jù)緩沖單元(例如DATABUF0)的數(shù)據(jù)之后,總線2接口狀態(tài)機(jī)器140經(jīng)由多路轉(zhuǎn)換器134選擇下一個緩沖單元(例如DATABUF1)并且也經(jīng)由至第二標(biāo)志多路轉(zhuǎn)換器200的選擇線202選擇下一個有效數(shù)據(jù)標(biāo)志(例如FLAG1)。雖然在第二緩沖單元(DATABUF1)中的數(shù)據(jù)對大量時鐘周期來說可能是穩(wěn)定的,但是總線2接口狀態(tài)機(jī)器140在它能將數(shù)據(jù)輸出到第二總線120前仍必須等待由總線2同步器210同步的有效數(shù)據(jù)標(biāo)志。因此,插入兩個多余BUS2 CLK信號周期以同步有效數(shù)據(jù)標(biāo)志。
當(dāng)總線1接口狀態(tài)機(jī)器增加輸入指針至下一個單元時,插入一個類似的不必要的延遲。雖然下一個數(shù)據(jù)存儲單元在大量時鐘周期時間內(nèi)可能是空的,但是當(dāng)總線1接口狀態(tài)機(jī)器改變至第一標(biāo)志多路轉(zhuǎn)換器180的選擇線182時,總線1接口狀態(tài)機(jī)器在它能夠確定有效數(shù)據(jù)標(biāo)志被清除以及數(shù)據(jù)存儲單元可以使用之前必須等待兩個時鐘周期經(jīng)由總線1同步器180同步所選擇的標(biāo)志。
申請人已發(fā)現(xiàn),多余的延遲可以通過在把有效數(shù)據(jù)標(biāo)志加至總線2標(biāo)志多路轉(zhuǎn)換器200之前同步有效數(shù)據(jù)標(biāo)志來避免。一個改進(jìn)的接口400示于圖3,其中同樣的數(shù)字表示如上面結(jié)合圖1所述的同樣部件??偩€2接口。狀態(tài)機(jī)器140被更改并示為圖3中的總線2接口狀態(tài)機(jī)器404。同樣地,總線1接口狀態(tài)機(jī)器160被更改并示為圖3中的總線1接口狀態(tài)機(jī)器406。
如圖3所示,在圖1的第一標(biāo)志多路轉(zhuǎn)換器180的輸出端上的單一總線1同步器190已被四個總線1同步器410、412、414和416所替代。每個總線1同步器410、412、414、416有它相應(yīng)的輸入端,其連接至四個數(shù)據(jù)有效標(biāo)志緩沖單元170中相應(yīng)的一個的輸出端上,有它相應(yīng)的輸出端,其連接至第一標(biāo)志多路轉(zhuǎn)換器180的四個輸入端中的一個上。對第一總線1同步器410還示出,每個同步器包括一對觸發(fā)器420、422,其串聯(lián)連接并且由信號線116上的BUS1 CLK信號定時。
同樣地,單一的總線2同步器210已被四個總線2同步器430、432、434和436所替代。每個總線2同步器430、432、434、436有它相應(yīng)的輸入端,其連接至四個數(shù)據(jù)有效標(biāo)志緩沖單元170中相應(yīng)的一個的輸出端上,有它相應(yīng)的輸出端,其連接至第二標(biāo)志多路轉(zhuǎn)換器200的四個輸入端中的一個上。如對第一總線2同步器430還示出的,每個同步器包括一對觸發(fā)器440、442,其串聯(lián)連接并由信號線126上的BUS2 CLK信號定時。
可以看出,改進(jìn)的接口400通過確保數(shù)據(jù)有效標(biāo)志與總線1接口狀態(tài)機(jī)器406和與總線2接口狀態(tài)機(jī)器404適當(dāng)同步實(shí)現(xiàn)了圖1中的接口100的目標(biāo)。例如,如果總線2接口狀態(tài)機(jī)器404已將所有在數(shù)據(jù)緩沖器130中的數(shù)據(jù)輸出并正在等待下一個數(shù)據(jù)被存儲在存儲單元132中,那么輸入指針和輸出指針將指向相同的存儲單元132。當(dāng)總線1接口狀態(tài)機(jī)器置位有效數(shù)據(jù)標(biāo)志(例如FLAG0)時,F(xiàn)LAG0標(biāo)志緩沖器170A(圖2)的輸出在被作為有效輸入加至總線2接口狀態(tài)機(jī)器404之前將轉(zhuǎn)換為它的有效狀態(tài)并通過第一總線2同步器430被傳輸且變?yōu)榕c總線2接口狀態(tài)機(jī)器404同步。因此,F(xiàn)LAG0標(biāo)志緩沖器170A的有效輸出將一定被同步到總線2時鐘并因此被同步到總線2接口狀態(tài)機(jī)器404。FLAG0標(biāo)志緩沖器170A的有效輸出將被延遲,以提供使剛存儲在DATABUF0數(shù)據(jù)存儲單元132中的數(shù)據(jù)能穩(wěn)定下來所必需的時間。另一方面,如果總線2接口狀態(tài)機(jī)器還在輸出一串來自數(shù)據(jù)緩沖器130的數(shù)據(jù),所選擇的下一個緩沖單元132已存在在許多時鐘周期內(nèi)所存儲在這里的數(shù)據(jù),那么數(shù)據(jù)有效標(biāo)志(例如FLAG1)將已經(jīng)通過相應(yīng)的總線2同步器(例如第二總線2同步器432)被傳輸并且在第二標(biāo)志多路轉(zhuǎn)換器200的輸入端上將為有效。因此,當(dāng)總線2接口狀態(tài)機(jī)器改變選擇線202以選擇FLAG1數(shù)據(jù)有效標(biāo)志緩沖器的輸出時,標(biāo)志的有效狀態(tài)將被立即提供至總線2接口狀態(tài)機(jī)器404,沒有任何進(jìn)一步的延遲。
為了有助于進(jìn)一步理解圖3改進(jìn)接口的優(yōu)點(diǎn),圖4示出圖1的總線2接口狀態(tài)機(jī)器140的相應(yīng)部分的示例狀態(tài)圖500,圖5示出圖3的總線2接口狀態(tài)機(jī)器404的相應(yīng)部分的示例狀態(tài)圖510。每個狀態(tài)機(jī)器140、404包括圖4和5中未示出的不與本發(fā)明有關(guān)并且不在這里討論的附加功能。在圖4和5中,狀態(tài)機(jī)器的相應(yīng)內(nèi)部狀態(tài)以通常的方式用具有狀態(tài)名稱的圓圈表示。圓圈的連線表示從一個狀態(tài)到另一個狀態(tài)的狀態(tài)轉(zhuǎn)換,或從一狀態(tài)返回到它自身的狀態(tài)轉(zhuǎn)換,后者在與圖1和2的BUS2 CLK信號126同步時發(fā)生。
狀態(tài)轉(zhuǎn)換的先決條件用位于每個狀態(tài)轉(zhuǎn)換旁邊的帶&符號的參數(shù)來表示,&符號代表“與”要求,含義是用&連接的所有條件必須被滿足才能使得該狀態(tài)轉(zhuǎn)換發(fā)生。條件上面的線表示該條件必須為無效。狀態(tài)轉(zhuǎn)換旁邊的“1”表示在BUS2 CLK信號的下一個周期到來時,從一個狀態(tài)到下一個狀態(tài)的轉(zhuǎn)換將無條件地發(fā)生。狀態(tài)轉(zhuǎn)換旁邊的“ELSE”表示該狀態(tài)轉(zhuǎn)換是默認(rèn)轉(zhuǎn)換,如果來自一已知狀態(tài)的其它轉(zhuǎn)換的條件不被滿足,那么默認(rèn)轉(zhuǎn)換就發(fā)生。如果在一特定轉(zhuǎn)換出現(xiàn)時總線2接口狀態(tài)機(jī)器140執(zhí)行一相應(yīng)的操作,那么每個操作在參數(shù)末尾用斜杠(/)后跟操作的名字表示。
如圖4所示,狀態(tài)圖500包括IDLE狀態(tài)520,MASK1狀態(tài)522,MASK2狀態(tài)524和DATA_XFR_IN_PROG(數(shù)據(jù)傳送在進(jìn)行中)狀態(tài)526。狀態(tài)圖500說明多個數(shù)據(jù)從數(shù)據(jù)緩沖器132至第二總線120的傳送進(jìn)程。IDLE狀態(tài)520是總線2接口狀態(tài)機(jī)器140的“正?!睜顟B(tài),如由RESET狀態(tài)轉(zhuǎn)換530所示那樣,當(dāng)計算機(jī)系統(tǒng)被復(fù)位時進(jìn)入該狀態(tài)。如下面將要討論的那樣,當(dāng)數(shù)據(jù)傳送完成時總線2接口狀態(tài)機(jī)器140返回到IDLE狀態(tài)520。
總線2接口狀態(tài)機(jī)器140保持在IDLE狀態(tài)520,只要新的讀數(shù)周期沒有被總線2接口狀態(tài)機(jī)器140的其它部分啟動的話,總線2接口狀態(tài)機(jī)器140的其它部分監(jiān)視第二總線120上的控制信號和其它條件以確定何時新的讀數(shù)周期已被啟動。保持在IDLE狀態(tài)直到新的讀數(shù)周期被啟動為止時的總線2接口狀態(tài)機(jī)器140的運(yùn)轉(zhuǎn)由ELSE狀態(tài)轉(zhuǎn)換532表示,其中總線2狀態(tài)機(jī)器140的這一部分監(jiān)視總線2接口狀態(tài)機(jī)器140的其它部分并確定何時新的讀數(shù)周期已被啟動。實(shí)際上,在內(nèi)部NEW_RD信號為無效時,總線2接口狀態(tài)機(jī)器140保持在IDLE狀態(tài)520。
當(dāng)新的讀數(shù)周期已被總線2接口狀態(tài)機(jī)器140啟動(NEW_RD為有效)并且總線2接口狀態(tài)機(jī)器140已確定第二總線120已被分配到總線接口100上(記作BUS_RE_TIME的信號為有效)時,則總線2接口狀態(tài)機(jī)器140使?fàn)顟B(tài)轉(zhuǎn)換540為MASK1狀態(tài)522。如由狀態(tài)轉(zhuǎn)換參數(shù)的“/LOAD_QW_CNT”部分進(jìn)一步說明的那樣,當(dāng)狀態(tài)轉(zhuǎn)換540正在發(fā)生時總線2接口狀態(tài)機(jī)器將把四倍長字個數(shù)裝載到內(nèi)部四倍長字計數(shù)器(未示出)內(nèi)。四倍長字個數(shù)表示為了從第一總線110向第二總線120傳送給定的一串?dāng)?shù)據(jù)必須發(fā)生的傳遞的數(shù)目。
MASK1狀態(tài)522和MASK2狀態(tài)524是延遲狀態(tài),以確保所選擇的數(shù)據(jù)有效標(biāo)志在總線2接口狀態(tài)機(jī)器140檢驗(yàn)所選擇的數(shù)據(jù)有效標(biāo)志的狀態(tài)之前有足夠的時間從總線2標(biāo)志多路轉(zhuǎn)換器200通過總線2同步器210傳輸。因此,從MASK1狀態(tài)522至MASK2狀態(tài)524的轉(zhuǎn)換被示出為無條件發(fā)生的(用旁邊的“1”參數(shù)表示)。同樣地,從MASK2狀態(tài)524至DATA_XFR_IN_PROG狀態(tài)526的轉(zhuǎn)換也是無條件地發(fā)生的。
在DATA_XFR_IN_PROG狀態(tài)526中,總線2接口狀態(tài)機(jī)器140檢驗(yàn)DATA_VALID_2標(biāo)志的狀態(tài),如果它不是有效,則如由ELSE轉(zhuǎn)換550所示,總線2接口狀態(tài)機(jī)器保持在DATA_XFR_IN_PROG狀態(tài)526。否則,如果DATA_VALID_2標(biāo)志為有效且BUS_RD_TIME為有效,則總線2接口狀態(tài)機(jī)器140分別經(jīng)由轉(zhuǎn)換552或轉(zhuǎn)換554轉(zhuǎn)換到IDLE狀態(tài)520或MASK1狀態(tài)522,以及將把在緩沖單元132的當(dāng)前所選擇的一個單元中的數(shù)據(jù)輸出。這由兩個轉(zhuǎn)換552和554上的/OUT_DATA參數(shù)說明。可以理解,除了輸出數(shù)據(jù)外,總線2接口狀態(tài)機(jī)器將激勵至標(biāo)志緩沖器170的相應(yīng)的一個的CLR_VALID信號。
轉(zhuǎn)換552或轉(zhuǎn)換554的選擇取決于DONE參數(shù)的條件。DONE參數(shù)代表四倍長字計數(shù)器的QW_CNT輸出的條件。如果QW_CNT為零,則DONE將為有效。如果QW_CNT有一個非零值,則DONE將為無效(即DONE為有效)。如果DONE為有效,則總線2接口狀態(tài)機(jī)器140將使轉(zhuǎn)換552回到IDLE狀態(tài)520,并將對當(dāng)前輸出緩沖單元的指針增加到如參數(shù)/INC、BUF、NUM所示,指向作為下一個輸出緩沖器的下一個緩沖單元132。否則如果DONE為無效(即DONE為有效),則總線2接口狀態(tài)機(jī)器140將進(jìn)行至MASK1狀態(tài)522的轉(zhuǎn)換,將使對當(dāng)前輸出的緩沖單元的指針增加,并將減小四倍長字計數(shù)器,如由/DEC_QW_CNT參數(shù)所示。正如上面參照圖1所討論的那樣,必須通過MASK1狀態(tài)522和MASK2狀態(tài)524循環(huán)返回以便為以前所選擇的數(shù)據(jù)有效標(biāo)志傳輸出總線2同步器,并在DATA_VALID_2信號被總線2接口狀態(tài)機(jī)器140評價之前用總線2接口狀態(tài)機(jī)器140的輸入端上的DATA_VALID_2信號線216前面的新選擇的數(shù)據(jù)有效標(biāo)志來替代提供時間。不管在所選擇的輸出緩沖單元上的數(shù)據(jù)在所選擇的數(shù)據(jù)緩沖單元132中已存儲了多長時間以及相應(yīng)的數(shù)據(jù)有效標(biāo)志已變?yōu)橛行Ф嗑?,都將插入這個延遲。
與圖4的狀態(tài)圖500相對照,圖5的狀態(tài)圖510要求較少的狀態(tài)且工作更有效,這因?yàn)槿鐖D3所示在標(biāo)志緩沖器170的輸出端和總線2標(biāo)志多路轉(zhuǎn)換器200之間有多個總線2同步器430、432、434和436,而不是如圖1所示只是在多路轉(zhuǎn)換器200后面有一個單一的總線2同步器210。具體說,圖5的狀態(tài)圖510僅包括IDLE狀態(tài)600和DATA_XFR_IN_PROG狀態(tài)610。如上所述,IDLE狀態(tài)由RESET轉(zhuǎn)換620加入。如ELSE轉(zhuǎn)換622所說明的那樣,圖3的總線2接口狀態(tài)機(jī)器404將保持在IDLE狀態(tài),除非如在DATA_XFR_IN_PROG狀態(tài)610的轉(zhuǎn)換624旁邊的參數(shù)所說明的那樣滿足一定條件。具體說,總線2接口狀態(tài)機(jī)器404將保持在IDLE狀態(tài),直到NEW_RD被啟動和BUS_RD_TIME條件為有效為止,在那個時候它將由狀態(tài)轉(zhuǎn)換624轉(zhuǎn)換到DATA_XFR_IN_PROG狀態(tài)610,并將用所傳送的四倍長字的數(shù)目裝載四倍長字計數(shù)器,如由/LOAD_QW_CNT參數(shù)所表示的那樣。
在DATA_XFR_IN_PROG狀態(tài)610中,總線2接口狀態(tài)機(jī)器404監(jiān)視DATA_VALID_2信號的條件。如果DATA_VALID_2信號為有效且BUS_RD_TIME保持為有效,則總線2接口狀態(tài)機(jī)器404根據(jù)DONE條件將執(zhí)行兩個狀態(tài)轉(zhuǎn)換630和632中的一個。如果DONE條件為無效,則總線2接口狀態(tài)機(jī)器404如由狀態(tài)轉(zhuǎn)換630所說明的那樣將保持在DATA_XFR_IN_PROG狀態(tài)610,并且如由/OUT_DATA參數(shù)所說明的那樣將輸出數(shù)據(jù)緩沖單元132中當(dāng)前所選擇的一個單元的內(nèi)容??偩€2接口狀態(tài)機(jī)器404將當(dāng)前緩沖器數(shù)目增加1(/INC_BUF_NUM)并將四倍長字計數(shù)器減1(/DEC_QW_CNT)。如果DONE條件為有效,則總線2接口狀態(tài)機(jī)器404將經(jīng)由狀態(tài)轉(zhuǎn)換632轉(zhuǎn)換回到IDLE狀態(tài)600,同時輸出最末的四倍長字(/OUT_DATA)并將緩沖器數(shù)目加1(/INC_BUT_NUM)。如果DATA_VALID_2信號不是有效或如果BUS_RD_TIME條件沒有被滿足(例如,第二總線120當(dāng)前不能獲得),則總線2接口狀態(tài)機(jī)器404如由ELSE轉(zhuǎn)換634所說明的那樣保持在DATA_XFR_IN_PROG狀態(tài)610。
如狀態(tài)圖510所示,按照圖3和5的總線2接口狀態(tài)機(jī)器404沒有在圖1和4的總線2接口狀態(tài)機(jī)器140中固有的時間延遲。實(shí)際上,可以看出,一旦總線2接口狀態(tài)機(jī)器404將狀態(tài)轉(zhuǎn)換630上的緩沖器數(shù)目加1,它就停留在DATA_XFR_IN_PROG狀態(tài)610并立即檢驗(yàn)DATA_VALID_2信號,以確定數(shù)據(jù)是否能從所選擇的緩沖單元132輸出。這可以發(fā)生,因?yàn)橄鄳?yīng)的數(shù)據(jù)有效標(biāo)志(FLAG0、FLAG1、FLAG2或FLAG3)將通過各自的總線2同步器430、432、434或436傳輸并一旦標(biāo)志多路轉(zhuǎn)換器200的下一個輸入端被選擇就將在至標(biāo)志多路轉(zhuǎn)換器200的輸入端上獲得。因此,假設(shè)第二總線120仍然被分配到總線2接口狀態(tài)機(jī)器404,并假設(shè)第一總線110已填充了數(shù)據(jù)緩沖單元132,則數(shù)據(jù)可以在每個接連的時鐘周期上從緩沖單元132輸出,而不必在每個輸出之間插入兩個時鐘周期。
雖然上面是結(jié)合本發(fā)明的特定實(shí)施例來描述的,但可以明白,實(shí)施例的描述是本發(fā)明的例證而不是企圖施加限制。只要不偏離本發(fā)明在后面權(quán)利要求中所規(guī)定的真正精髓和范圍,本專業(yè)人員可以加以不同的變通和應(yīng)用。
權(quán)利要求
1.相互異步工作的第一和第二總線之間的接口電路,這里所說的第一總線以與第一總線時鐘同步的方式把數(shù)據(jù)提供給所說的接口電路,而這里所說的第二總線以與第二總線時鐘同步的方式接收來自所說的接口電路的數(shù)據(jù),所說的裝置包括一個輸入/輸出緩沖器,包括至少第一和第二緩沖單元,其中以與第一總線時鐘同步的方式存儲有來自所說的第一總線的數(shù)據(jù);分別與所說的第一和第二緩沖單元有關(guān)的至少第一和第二數(shù)據(jù)有效指示器,當(dāng)數(shù)據(jù)被存儲在所說的第一緩沖單元時,所說的數(shù)據(jù)有效指示器與所說的第一總線時鐘同步地被置位,當(dāng)數(shù)據(jù)被存儲在所說的第二緩沖單元時,所說的第二數(shù)據(jù)有效指示器與所說的第一總線時鐘同步地被置位;一個數(shù)據(jù)有效指示器選擇器,其選擇所說的第一和第二數(shù)據(jù)有效指示器中的一個作為輸出數(shù)據(jù)有效指示器;一個與所說的第二總線時鐘同步工作的總線狀態(tài)機(jī)器,其把數(shù)據(jù)從所說的輸入/輸出緩沖器傳送到所說的第二總線,所說的總線狀態(tài)機(jī)器選擇所說的第一和第二緩沖單元中的一個作為傳送到所說的第二總線的數(shù)據(jù)的源,所說的總線狀態(tài)機(jī)器控制所說的數(shù)據(jù)有效指示器選擇器以選擇所說的第一和第二數(shù)據(jù)有效指示器中相應(yīng)的一個作為所說的輸出數(shù)據(jù)有效指示器,所說的總線狀態(tài)機(jī)器監(jiān)視所說的輸出數(shù)據(jù)有效指示器以確定從所說的第一總線來的數(shù)據(jù)何時已被存儲到所說的第一和第二緩沖單元中所說的一個內(nèi);一個第一同步電路,其接收所說的第一數(shù)據(jù)有效指示器并把它與所說的第二總線時鐘同步以提供第一被同步的數(shù)據(jù)有效指示器作為至所說的數(shù)據(jù)有效指示器選擇器的輸入端;以及一個第二同步電路,其接收所說的第二數(shù)據(jù)有效指示器并把它與所說的第二總線時鐘同步以提供第二被同步的數(shù)據(jù)有效指示器作為至所說的數(shù)據(jù)有效指示器選擇器的輸入端。
2.在相互異步工作的第一和第二總線之間傳送數(shù)據(jù)的裝置,所說的裝置包括一個數(shù)據(jù)存儲設(shè)備,包括存儲數(shù)據(jù)的多個存儲單元;連接到所說的第一數(shù)據(jù)總線的第一總線接口狀態(tài)機(jī)器,所說的第一總線接口狀態(tài)機(jī)器把數(shù)據(jù)從所說的第一數(shù)據(jù)總線傳送到所說的多個數(shù)據(jù)存儲單元中所選擇的一個;連接到所說的第二數(shù)據(jù)總線的第二總線接口狀態(tài)機(jī)器,所說的第二總線接口狀態(tài)機(jī)器把數(shù)據(jù)從所說的多個數(shù)據(jù)存儲單元中所選擇的一個傳送到所說的第二數(shù)據(jù)總線;對每個所說的多個數(shù)據(jù)存儲單元具有各自的指示器的數(shù)據(jù)存在緩沖器,所說的指示器中的一個在響應(yīng)把數(shù)據(jù)傳送到所說的多個據(jù)存儲單元中所說的一個的所說的第一總線狀態(tài)機(jī)器時置位,并在響應(yīng)把數(shù)據(jù)從所說的多個據(jù)單元中所說的一個傳送到所說的第二數(shù)據(jù)總線的所說的第二總線狀態(tài)機(jī)器時清除,所說的第二總線接口狀態(tài)機(jī)器僅當(dāng)所說的指示器中所說的一個被置位時才傳送從所說的多據(jù)存儲單元中所說的一個來的數(shù)據(jù);以及連接在所說的數(shù)據(jù)存在緩沖器與所說的第二總線接口狀態(tài)機(jī)器之間的一組各自的延遲電路以延遲所說的指示器因而所說的第二總線接口狀態(tài)機(jī)器在所說的第一總線接口機(jī)器已把數(shù)據(jù)傳送到所說的多個據(jù)存儲單元中所說的一個內(nèi)之后經(jīng)過了一預(yù)定時間之后才能傳送從所說的多個據(jù)存儲單元中所說的一個來的數(shù)據(jù)。
3.權(quán)利要求2中所規(guī)定的裝置,其中所說的數(shù)據(jù)存儲設(shè)備是緩沖器。
4.權(quán)利要求2中所規(guī)定的裝置,其中所說的第二數(shù)據(jù)總線有一時鐘信號,其同步傳送到所說的第二數(shù)據(jù)總線上的數(shù)據(jù),其中所說的各自的延遲電路是同步器,其與所說的時鐘信號同步。
5.權(quán)利要求2中所規(guī)定的裝置,其中所說的一組延遲電路是第一組延遲電路,其中所說的預(yù)定時間是第一預(yù)定時間,其中所說的裝置還包括連接在所說的數(shù)據(jù)存在緩沖器和所說的第一接口狀態(tài)機(jī)器之間的第二組延遲電路以延遲所說的指示器到所說的第一總線接口狀態(tài)機(jī)器,因此所說的第一總線接口狀態(tài)機(jī)器在所說的第二總線接口狀態(tài)機(jī)器已把數(shù)據(jù)從所說的多個數(shù)據(jù)存儲單元中所說的一個傳送到所說的第二數(shù)據(jù)總線之間的第二預(yù)定時間已過去之前不能把數(shù)據(jù)傳送到所說的許多數(shù)據(jù)存儲單元中任何一個內(nèi)。
6.在第一數(shù)據(jù)總線和第二數(shù)據(jù)總線之間傳送數(shù)據(jù)的裝置,所說的第一和第二數(shù)據(jù)總線相互異步工作,所說的裝置包括一個緩沖器,包括存儲數(shù)據(jù)的第一和第二數(shù)據(jù)存儲單元;連接到所說的第一數(shù)據(jù)總線和所說的緩沖器的第一總線接口狀態(tài)機(jī)器以便根據(jù)第一總線時鐘信號控制從所說的第一數(shù)據(jù)總線至所說的第一和第二數(shù)據(jù)存儲單元的所選擇的一個的數(shù)據(jù)的傳送;連接到所說的第二數(shù)據(jù)總線和所說的緩沖器的第二總線接口狀態(tài)機(jī)器以便根據(jù)與所說的第一總線時鐘信號異步工作的第二總線時鐘信號控制從所說的緩沖器至所說的第二數(shù)據(jù)總線的數(shù)據(jù)的傳送;第一和第二標(biāo)志緩沖器,其具有連接至兩個所說的第一和第二總線接口狀態(tài)機(jī)器的各自的第一和第二標(biāo)志輸出,所說的第一標(biāo)志緩沖器的所說的輸出當(dāng)數(shù)據(jù)被從所說的第一數(shù)據(jù)總線傳送到所說的第一數(shù)據(jù)存儲單元時與所說的第一總線時鐘信號同步地被置位,當(dāng)數(shù)據(jù)從所說的第一數(shù)據(jù)存儲單元被傳送到所說的第二數(shù)據(jù)總線時與所說的第二總線時鐘信號同步地被清除,所說的第二標(biāo)志緩沖器輸出當(dāng)數(shù)據(jù)從所說的第一數(shù)據(jù)總線被傳送到所說的第二數(shù)據(jù)存儲單元時與所說的第一總線時鐘信號同步地被置位,并當(dāng)數(shù)據(jù)從所說的第二數(shù)據(jù)存儲單元被傳送到所說的第二數(shù)據(jù)總線時與所說的第二總線時鐘信號同步地被清除;連接在所說的第一標(biāo)志緩沖器和所說的第二總線接口狀態(tài)機(jī)器之間的第一同步器和連接在所說的第二標(biāo)志緩沖器和所說的第二總線接口狀態(tài)機(jī)器之間的第二同步器,所說的第一同步器將所說的第一標(biāo)志輸出與所說的第二總線時鐘信號同步,因而所說的第一標(biāo)志輸出在所說的第一標(biāo)志輸出被改變之后所說的第一標(biāo)志輸出能被所說的第二總線接口狀態(tài)機(jī)器接收之前被延遲至少一預(yù)定時間,所說的第二同步器將所說的第二標(biāo)志輸出與所說的第二總線時鐘信號同步,因而所說的第二標(biāo)志輸出在所說的第二標(biāo)志輸出被改變之后所說的第二標(biāo)志輸出可以被所說的第二總線接口狀態(tài)機(jī)器接收之前被延遲至少所說的預(yù)定時間。
全文摘要
第一和第二數(shù)據(jù)總線(110和120)之間的接口包括第一總線狀態(tài)機(jī)器(406),其控制從第一數(shù)據(jù)總線(110)至數(shù)據(jù)緩沖器(132)的數(shù)據(jù)傳送。該接口包括第二總線狀態(tài)機(jī)器(404),其控制從數(shù)據(jù)緩沖器(132)至第二數(shù)據(jù)總線(120)的數(shù)據(jù)傳送。數(shù)據(jù)緩沖器(132)包括按先進(jìn)先出存取的多個存儲單元。當(dāng)數(shù)據(jù)從第一數(shù)據(jù)總線(110)被存儲在存儲單元(132)時,每個存儲單元的各自的有效數(shù)據(jù)標(biāo)志(170)被第一總線狀態(tài)機(jī)器置位,并當(dāng)數(shù)據(jù)被從存儲單元(132)傳送到第二數(shù)據(jù)總線(120)時被第二總線狀態(tài)機(jī)器(404)清除。數(shù)據(jù)有效標(biāo)志(170)與第一和第二總線時鐘同步,第一和第二總線時鐘分別與第一和第二總線狀態(tài)機(jī)器(406和404)相聯(lián)系,以確保數(shù)據(jù)有效標(biāo)志(170)與每個狀態(tài)機(jī)器同步地改變。為了減小從數(shù)據(jù)緩存器(132)中多個數(shù)據(jù)單元順序輸出數(shù)據(jù)所要求的時間,每個數(shù)據(jù)有效標(biāo)志(170)被單獨(dú)同步。
文檔編號G06F13/40GK1192282SQ96195861
公開日1998年9月2日 申請日期1996年6月6日 優(yōu)先權(quán)日1995年6月7日
發(fā)明者小·L·R·莫特 申請人:Ast研究公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
福清市| 昭苏县| 潢川县| 邯郸市| 香港| 托克逊县| 诸城市| 酉阳| 博白县| 泸定县| 翼城县| 民权县| 青海省| 桐梓县| 白水县| 林周县| 滨州市| 奉节县| 白玉县| 始兴县| 华亭县| 巴南区| 玉屏| 武宣县| 乳源| 张家界市| 安国市| 嘉鱼县| 辛集市| 新余市| 内黄县| 秭归县| 汨罗市| 姚安县| 富阳市| 甘南县| 玉山县| 新源县| 吴旗县| 银川市| 宿松县|