專利名稱:供雙緩存tdm交換機(jī)使用的數(shù)據(jù)存儲(chǔ)器擴(kuò)展的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)交換領(lǐng)域,特別是雙緩存TDM(時(shí)分多路復(fù)用)交換機(jī)。
背景技術(shù):
TDM交換機(jī)的雙緩存數(shù)據(jù)存儲(chǔ)的基本工作原理是,把數(shù)據(jù)的整幀存儲(chǔ)在一個(gè)緩存器中,同時(shí)從其它緩存器播放數(shù)據(jù)的整幀,其中所述TDM交換機(jī)支持具有可編程少量延遲的多速率輸入和輸出,該輸入和輸出都是以每個(gè)流為基礎(chǔ)而編程的。在幀邊界處,使用地址上的硬件復(fù)用器邏輯地交換緩存器,使數(shù)據(jù)和控制信號(hào)送入存儲(chǔ)器,然后整個(gè)周期重復(fù)用于后續(xù)幀。名為“速率變換的數(shù)字交換機(jī)”的美國專利US6,507,579公開了以這種方式工作的交換機(jī),該專利的內(nèi)容作為參考引用。該交換機(jī)被命名為PASIC,并將在其后的說明中沿用。名為“利用兩個(gè)存儲(chǔ)體間數(shù)據(jù)互換的快速數(shù)字信號(hào)處理器”的美國專利US5,649,148也公開了使用較小存儲(chǔ)器的雙緩存技術(shù),該專利的內(nèi)容作為參考引用。
在大多數(shù)理想情況下,任何特定幀期間接收的任何數(shù)據(jù)都可以被交換,并出現(xiàn)在跟隨幀期間的輸出上。然而,由于以下兩個(gè)原因,使某些被交換數(shù)據(jù)不能在第二跟隨幀期間之前出現(xiàn)在輸出端1、到達(dá)幀尾的數(shù)據(jù)不能從輸入移位寄存器中讀出,并被加載到輸入存儲(chǔ)緩存器中直至跟隨幀開始之后。
2、在一個(gè)幀開始之前,在該幀開始時(shí)被交換到時(shí)隙中的數(shù)據(jù)通常必需被加載到它們的相應(yīng)輸出移位寄存器中。由于這些原因,某些被交換的數(shù)據(jù)被延遲了兩幀。
支持常量延遲特征的TDM交換機(jī)將包含某類存儲(chǔ)緩存器,用來存儲(chǔ)將出現(xiàn)在一幀輸出的任何數(shù)據(jù),并延遲該數(shù)據(jù)一幀。這樣,任何特定幀上接收的所有數(shù)據(jù)將出現(xiàn)在緊跟接收數(shù)據(jù)的第二幀上。實(shí)現(xiàn)常量延遲特征的其它方式是可能的。支持該常量延遲特征的商用TDM的實(shí)例是Mitel裝置MT8985和MT8986裝置,這些裝置在1997年11出版的“Mitel半導(dǎo)體數(shù)字交換和連網(wǎng)部件”中公開。
在現(xiàn)有技術(shù)中,如果存在多速率流和少量延遲,則這些特征可以以每個(gè)流為基礎(chǔ)來控制,然后將根據(jù)數(shù)據(jù)速率和少量延遲設(shè)置改變信道時(shí)間的持續(xù)時(shí)間,因此,數(shù)據(jù)可出現(xiàn)到數(shù)據(jù)存儲(chǔ)器的時(shí)間點(diǎn)也變化。由于數(shù)據(jù)流可以由不同速率或少量被編程的延遲,因此沒有可以邏輯地交換存儲(chǔ)緩存器并保證包含一個(gè)完整數(shù)據(jù)幀的時(shí)間單點(diǎn)。
在可變延遲吞吐量TDM交換機(jī)中,有多少幀數(shù)據(jù)延遲無關(guān)緊要,這里沒有問題。然而,大多數(shù)現(xiàn)代TDM交換機(jī)包括常量延遲特征,該常量延遲特征需要任何特定幀期間接收的任何數(shù)據(jù)將可用于在一幀隨后有固定數(shù)量幀期間的輸出,而不考慮程控連接路徑或者任何其它程控特征。該數(shù)量最好是兩幀。
克服該問題的最有效的傳統(tǒng)技術(shù)是使用一個(gè)第二數(shù)據(jù)存儲(chǔ)器。數(shù)據(jù)存儲(chǔ)緩存器在時(shí)間單點(diǎn)交換,但是該時(shí)間單點(diǎn)通常不一定在接收D1數(shù)據(jù)之后(參見
圖1)。下一幀數(shù)據(jù)被存儲(chǔ)在第二不同的數(shù)據(jù)存儲(chǔ)緩存器中。每個(gè)存儲(chǔ)緩存器可精確地含有或者不含有一個(gè)完整的數(shù)據(jù)幀,這取決于每個(gè)流的程控?cái)?shù)據(jù)速率。
然后,一個(gè)硬件單元被用來根據(jù)連接路徑適當(dāng)?shù)貜膬蓚€(gè)數(shù)據(jù)存儲(chǔ)器之一個(gè)選擇數(shù)據(jù)。該技術(shù)的顯著缺點(diǎn)是附加存儲(chǔ)器的尺寸。此外,該技術(shù)經(jīng)常引發(fā)輸出的附加幀延遲。
許多較低帶寬TDM交換機(jī)不使用所述的雙緩存的數(shù)據(jù)存儲(chǔ)器,而是使用多數(shù)據(jù)存儲(chǔ)器(通常是2個(gè)或3個(gè)),以及一個(gè)具有存儲(chǔ)輸入數(shù)據(jù)的充足時(shí)間和性能的硬件交換單元,并讀出預(yù)期連接數(shù)據(jù)將其順序地加載到輸出串行移位寄存器中。
盡管從硬件觀點(diǎn)看,該技術(shù)可能是有利的,但是在非常大的交換機(jī)(例如具有32,768個(gè)信道)中該特定的交換技術(shù)不能使用,因?yàn)闆]有足夠時(shí)間執(zhí)行順序存入數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)存儲(chǔ),以及可用時(shí)間的數(shù)據(jù)恢復(fù)和交換。PASIC中使用的雙緩存技術(shù),通過邏輯地將交換機(jī)的數(shù)據(jù)存儲(chǔ)部分與數(shù)據(jù)重呼部分分離,明顯改善了吞吐量能力。
第三技術(shù)是提供許更小的多雙緩存數(shù)據(jù)存儲(chǔ)段,其每一存儲(chǔ)段用于每一輸入流,然后在這些存儲(chǔ)段精確收集一個(gè)數(shù)據(jù)幀的時(shí)間點(diǎn)適當(dāng)交換每個(gè)存儲(chǔ)段。該技術(shù)工作良好,但是會(huì)出現(xiàn)具有許多小存儲(chǔ)元件的缺點(diǎn)。大多數(shù)SRAM較少有效地以小尺寸實(shí)施。
發(fā)明內(nèi)容
本發(fā)明提供了一種小數(shù)據(jù)存儲(chǔ)器擴(kuò)展,該擴(kuò)展正好大得足以保持,因較低程控輸入速率和輸入比特延遲而可能發(fā)生的過運(yùn)行的最大數(shù)據(jù)量。
根據(jù)本發(fā)明,提供了一種支持多速率輸入和輸出串行數(shù)據(jù)流的時(shí)分多路復(fù)用交換機(jī),包括多個(gè)輸入寄存器,用于接收多個(gè)串行輸入數(shù)據(jù)流;多個(gè)輸出寄存器,用于輸出多個(gè)串行輸出數(shù)據(jù)流;一個(gè)數(shù)據(jù)存儲(chǔ)器,用于臨時(shí)存儲(chǔ)將在所述輸入數(shù)據(jù)流與輸出數(shù)據(jù)流之間交換的數(shù)據(jù),所述數(shù)據(jù)存儲(chǔ)器具有用于存儲(chǔ)連續(xù)數(shù)據(jù)幀的第一和第二主緩存器部分;一個(gè)連接存儲(chǔ)器,用于存儲(chǔ)所述已交換數(shù)據(jù)的連接路徑;一個(gè)控制器,用于在所述數(shù)據(jù)存儲(chǔ)器的所述第一和第二主緩存器部分之間進(jìn)行交換;和分別與所述第一和第二緩存器部分關(guān)聯(lián)的第一和第二緩存器擴(kuò)展,用于存儲(chǔ)剩余數(shù)據(jù),所述控制器在相對(duì)于所述第一和第二主緩存器部分的交換的一個(gè)延遲之后,程控交換所述第一和第二緩存器擴(kuò)展。
該技術(shù)允許在以下TDM交換機(jī)中使用雙緩存數(shù)據(jù)存儲(chǔ)器支持具有可編程少量延遲的多速率輸入和輸出的TDM交換機(jī),其中可編程輸入和輸出延遲以每個(gè)流為基礎(chǔ)編程;支持常量延遲吞吐量特征的TDM交換機(jī)。然而,本發(fā)明還可應(yīng)用于提供可變延遲的需要數(shù)據(jù)幀相容處理的系統(tǒng)。
數(shù)據(jù)存儲(chǔ)器最好是雙端口存儲(chǔ)器,盡管單端口存儲(chǔ)器也可以被利用。緩存器擴(kuò)展是小的適宜的SRAM,例如512字節(jié)的SRAM。
本發(fā)明還提供了一種控制支持多速率輸入和輸出串行數(shù)據(jù)流的時(shí)分多路復(fù)用交換機(jī)的方法,包括以下步驟接收多個(gè)串行輸入數(shù)據(jù)流;提供一個(gè)數(shù)據(jù)存儲(chǔ)器,以臨時(shí)存儲(chǔ)將在所述輸入數(shù)據(jù)流與所述輸出數(shù)據(jù)流之間交換的數(shù)據(jù),所述數(shù)據(jù)存儲(chǔ)器具有用于存儲(chǔ)連續(xù)數(shù)據(jù)幀的第一和第二主緩存器部分,每個(gè)所述第一和第二主緩存器部分分別與存儲(chǔ)剩余數(shù)據(jù)的第一和第二緩存器擴(kuò)展相關(guān)聯(lián);在所述數(shù)據(jù)存儲(chǔ)器的所述第一和第二主緩存器部分之間進(jìn)行交換;在相對(duì)于所述第一和第二主緩存器部分之間的交換的一個(gè)延遲之后,在所述第一和第二緩存器擴(kuò)展之間進(jìn)行交換。
附圖簡要說明下面將參照附圖,僅通過實(shí)例詳細(xì)說明本發(fā)明。
圖1是顯示可用于可變比特速率的數(shù)據(jù)的時(shí)序圖;圖2是基本TDM交換機(jī)配置的功能方框圖;圖3是數(shù)據(jù)存儲(chǔ)器擴(kuò)展的方框圖;圖4是存儲(chǔ)器擴(kuò)展的時(shí)序圖;圖5是顯示輸出移位寄存器負(fù)荷定時(shí)的時(shí)序圖。
優(yōu)選實(shí)施例的詳細(xì)說明參見圖1,對(duì)TDM交換機(jī)的串行輸入數(shù)據(jù)由圖示為輸入數(shù)據(jù)流D1、D2、D3和D4。在該實(shí)例中,D1以65MB/s移動(dòng),D2以32MB/s移動(dòng),D3以16MB/s移動(dòng),D4以8MB/s移動(dòng)。這些數(shù)據(jù)的相應(yīng)可用性由圖示在所示的保持寄存器中。圖示的串行數(shù)據(jù)以ST-BUS格式,但是該技術(shù)不僅僅限于ST-BUS。
如圖1所示,存在相關(guān)保持寄存器內(nèi)容的四個(gè)時(shí)間點(diǎn),其中為了使數(shù)據(jù)存儲(chǔ)器精確地包含一個(gè)數(shù)據(jù)幀,幀尾將必需出現(xiàn)。如果在D1之后交換數(shù)據(jù)存儲(chǔ)體,則必需把D2、D3、D4存儲(chǔ)到后續(xù)數(shù)據(jù)存儲(chǔ)體中,在下一幀的相同時(shí)間之前,它們不可用于輸出。它可以顯示為,如果D2、D3、D4正在被交換到時(shí)隙0,則在自接收它們起的第三幀前,它們將不能適用于輸出,這破壞了兩幀延遲的常量延遲策略。
按照相似方式,如果數(shù)據(jù)存儲(chǔ)體在D4之后被交換,D1、D2、D3和D4則被存儲(chǔ)在當(dāng)前數(shù)據(jù)存儲(chǔ)體中;然而,從新幀開始還同時(shí)存儲(chǔ)其它65Mb/s數(shù)據(jù)。它可以顯示為,該數(shù)據(jù)隨后變成在相同幀或者跟隨幀上可適用于輸出,再次破壞了兩幀延遲的常量延遲策略。
根據(jù)本發(fā)明的原理,交換機(jī)利用了具有小擴(kuò)展的主數(shù)據(jù)存儲(chǔ)器。當(dāng)主存儲(chǔ)器成為可適用于積存器時(shí),主存儲(chǔ)器存儲(chǔ)所有幀數(shù)據(jù)。當(dāng)主數(shù)據(jù)存儲(chǔ)緩存器交換后,擴(kuò)展存儲(chǔ)器正好保持成為可適用的相同幀數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)器擴(kuò)展大得足以存儲(chǔ)從保持寄存器接收的包含D2至D4的所有數(shù)據(jù)。
主雙緩存數(shù)據(jù)存儲(chǔ)器只是在存儲(chǔ)D1之后,接通對(duì)應(yīng)于最小設(shè)置的幀邊界,然后把作為較慢程控速率或者輸入比特延遲的結(jié)果而隨后接收的相同幀的任何數(shù)據(jù),D2至D4存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器擴(kuò)展中。
主雙緩存數(shù)據(jù)存儲(chǔ)器擴(kuò)展不在主數(shù)據(jù)存儲(chǔ)器的相同時(shí)間交換,而是在因任何程控特征而可從相同幀接收任何數(shù)據(jù)的最大時(shí)間量后的時(shí)間交換。在圖1中,數(shù)據(jù)存儲(chǔ)器擴(kuò)展緩存器在已經(jīng)存儲(chǔ)D4之后交換。
在優(yōu)選實(shí)施例中,數(shù)據(jù)存儲(chǔ)器擴(kuò)展是一個(gè)小512字節(jié)存儲(chǔ)器,正好存儲(chǔ)從D2到D4的數(shù)據(jù)。事實(shí)上,實(shí)際只需要480字節(jié);然而,為解決正好480字節(jié)存儲(chǔ)器而增加的復(fù)雜度對(duì)于節(jié)省32字節(jié)來說不值。
盡管主數(shù)據(jù)存儲(chǔ)器正好在D1時(shí)隙之后被交換,但是在D4時(shí)隙結(jié)束之前不交換存儲(chǔ)器擴(kuò)展。從D2到D4接收的所有數(shù)據(jù)存儲(chǔ)于主數(shù)據(jù)存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器擴(kuò)展中。
當(dāng)通過交換硬件從數(shù)據(jù)存儲(chǔ)器讀出數(shù)據(jù)時(shí),根據(jù)連接路徑做出邏輯判決,是使用來自主數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)還是使用來自數(shù)據(jù)存儲(chǔ)器擴(kuò)展的數(shù)據(jù),以便保證所有可能的連接路徑的兩幀延遲。
圖2是顯示TDM交換機(jī)的主要部件的方框圖。通常包含二進(jìn)制計(jì)數(shù)器的定時(shí)單元1使用主時(shí)鐘輸入和幀脈沖輸入建立二進(jìn)制信號(hào),該二進(jìn)制信號(hào)精確地對(duì)應(yīng)當(dāng)前幀的有關(guān)位置。
多個(gè)輸入傳并移位寄存器2,它們每一個(gè)抽取對(duì)應(yīng)的輸入串行數(shù)據(jù),并把該數(shù)據(jù)變換成8比特并行信號(hào),數(shù)據(jù)選擇單元3基本上是一個(gè)大多路復(fù)用器,將來自所有串行移位寄存器2的所有并行數(shù)據(jù)和來自定時(shí)單元1的二進(jìn)制定時(shí)信號(hào)作為輸入。該多路復(fù)用器使用來自定時(shí)單元的信號(hào)順序選擇來自輸入移位寄存器的8比特并行信號(hào)之每一個(gè),將其順序施加到帶有擴(kuò)展4的雙緩存數(shù)據(jù)存儲(chǔ)器進(jìn)行存儲(chǔ)。
雙緩存數(shù)據(jù)存儲(chǔ)器執(zhí)行兩個(gè)主要功能把來自數(shù)據(jù)選擇單元的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器中;并且通過交換狀態(tài)機(jī)5直接從數(shù)據(jù)存儲(chǔ)器讀回選擇的數(shù)據(jù)。
交換狀態(tài)機(jī)5提供順序地讀取連接地址的連接存儲(chǔ)器6的必要信號(hào),把該連接地址施加到數(shù)據(jù)存儲(chǔ)塊4,依據(jù)連接地址從數(shù)據(jù)存儲(chǔ)器4讀取數(shù)據(jù)字節(jié),以及把該數(shù)據(jù)字節(jié)存儲(chǔ)到輸出移位寄存器7的并行輸入。該操作在每個(gè)時(shí)隙期間予以重復(fù)執(zhí)行,對(duì)于每個(gè)串行輸出流,直至所有輸出的所有時(shí)隙已經(jīng)被裝載了數(shù)據(jù)。
如果TDM交換機(jī)具有常量延遲特征,那么當(dāng)已經(jīng)讀取在前幀存儲(chǔ)的數(shù)據(jù)之后,交換硬件可以把數(shù)據(jù)存儲(chǔ)到幀延遲存儲(chǔ)器8中。這樣做的目的是,在數(shù)據(jù)較早出現(xiàn)輸出一幀情況下,通過一幀延遲數(shù)據(jù)。
交換狀態(tài)機(jī)5讀出連接存儲(chǔ)器6的位置以確定連接地址,并經(jīng)常讀出用于特定連接路徑的任何其它連接特征。這里總是存在一個(gè)把數(shù)據(jù)存入連接存儲(chǔ)器的機(jī)構(gòu)。圖2未示出該機(jī)構(gòu)。最典型地,該機(jī)構(gòu)通常是一個(gè)微處理器接口端口,諸如是上述的商用MT8985和MT8986裝置,盡管其它類型的接口也是可能的。本領(lǐng)域熟練技術(shù)人員將知道如何構(gòu)建裝載連接存儲(chǔ)器的合適接口。
在輸出并行到串行移位寄存器7中,每個(gè)塊取交換狀態(tài)機(jī)5供應(yīng)的8比特并行數(shù)據(jù),并將其裝載到串行移位寄存器中。然后將裝載的數(shù)據(jù)順序地移位到串行輸出上。
在與特定串行輸出流的特定時(shí)隙一對(duì)一對(duì)應(yīng)的位置,把交換狀態(tài)機(jī)接收和交換的所有數(shù)據(jù)存儲(chǔ)到幀延遲緩存存儲(chǔ)器8中。在該實(shí)例中,該存儲(chǔ)器含有32,768個(gè)字節(jié)。讀和寫操作被定時(shí),使讀操作將恢復(fù)在前幀上存儲(chǔ)的數(shù)據(jù),以及使寫操作將改寫在前幀上存儲(chǔ)的數(shù)據(jù)??梢钥吹剑摷夹g(shù)可以用來把任何特定輸出流的任何特定時(shí)隙的輸出數(shù)據(jù)延遲一幀。
除了根據(jù)本發(fā)明原理的帶有擴(kuò)展的數(shù)據(jù)存儲(chǔ)器之外,圖2所示的方框圖示出了一般TDM數(shù)字交換機(jī)。本領(lǐng)域熟練技術(shù)人員可以開發(fā)此類型的硬件,并且除了數(shù)據(jù)存儲(chǔ)器擴(kuò)展的使用之外,它類似于用來在PASIC中執(zhí)行數(shù)字交換的技術(shù)。
利用幀延遲緩存存儲(chǔ)器提供常量延遲功能的方法不一定只是實(shí)施常量延遲特征的唯一方法。類似MT8985和MT8986的裝置使用了與圖2所示技術(shù)非常相似的交換技術(shù),但是這些裝置具有實(shí)現(xiàn)常量延遲特征的不同方法。
數(shù)據(jù)存儲(chǔ)器擴(kuò)展部件完整地包含在帶有擴(kuò)展塊的雙緩存數(shù)據(jù)存儲(chǔ)器中,并且相應(yīng)的數(shù)據(jù)選擇硬件包含在交換狀態(tài)機(jī)5中。
圖3示出了數(shù)據(jù)存儲(chǔ)器擴(kuò)展硬件的方框圖。所示的存儲(chǔ)器容量相當(dāng)于優(yōu)選實(shí)施例的存儲(chǔ)器容量。此外,該圖未顯示任何時(shí)鐘信號(hào)。大多數(shù)同步存儲(chǔ)器電路需要時(shí)鐘信號(hào),假定該時(shí)鐘信號(hào)存在并正確地連接到存儲(chǔ)器電路。所有輸入和輸出與該時(shí)鐘信號(hào)同步。為了更清楚地進(jìn)行說明,圖3中省略該時(shí)鐘信號(hào)。
在圖3中,地址變換器12從圖2的裝置定時(shí)塊1接收二進(jìn)制信號(hào),將其變換成讀地址信號(hào)read_address,寫地址信號(hào)write_address,緩存器選擇信號(hào)BUF_SEL,以及擴(kuò)展緩存選擇ESEL。主數(shù)據(jù)存儲(chǔ)器9是普通的SRAM單元,具有數(shù)據(jù)輸入D,數(shù)據(jù)輸出Q,地址輸入A,低態(tài)有效寫使能輸入WE(低態(tài)有效是一個(gè)完全可以理解的概念,是指當(dāng)對(duì)應(yīng)的低態(tài)有效信號(hào)被設(shè)置到邏輯0時(shí)激活所述的功能),低態(tài)有效裝置使能CE。在目前的實(shí)施例中,該存儲(chǔ)器容量是32,768字節(jié)。
數(shù)據(jù)存儲(chǔ)器擴(kuò)展10是普通的SRAM單元,具有數(shù)據(jù)輸入D,數(shù)據(jù)輸出Q,地址輸入A,低態(tài)有效寫使能輸入WE,低態(tài)有效裝置使能CE。在目前的實(shí)施例中,該存儲(chǔ)器容量是512字節(jié)。地址MUX 13是一個(gè)地址多路復(fù)用器。數(shù)據(jù)MUX 11是一個(gè)數(shù)據(jù)多路復(fù)用器。復(fù)用器11和13都具有與任何普通多路復(fù)用器一致的功能。這里使用verilog2描述最容易說明Y<=SEL?B:A。參見IEEE標(biāo)準(zhǔn)1364-1995-基于Verilog硬件描述語言的IEEE標(biāo)準(zhǔn)描述語言。
存儲(chǔ)器單元9和10具有與普通同步存儲(chǔ)器一致的功能。
圖3的分析顯示,如果BUF_SEL信號(hào)為低電平,則write_address被施加到上位主數(shù)據(jù)存儲(chǔ)器9,以及該存儲(chǔ)器的寫使能WE為低態(tài)有效。在此狀態(tài)下,呈現(xiàn)在數(shù)據(jù)輸入D的8比特?cái)?shù)據(jù)將被寫入該存儲(chǔ)器。與此同時(shí),下位主數(shù)據(jù)存儲(chǔ)器9接收read_address,以及該存儲(chǔ)器的寫使能WE為高態(tài)無效。在此狀態(tài)下,該存儲(chǔ)器予以讀取,數(shù)據(jù)通過數(shù)據(jù)MUX 11呈現(xiàn)在MDAT輸出。
如果BUF_SEL信號(hào)為高電平,則write_address被施加到下位主數(shù)據(jù)存儲(chǔ)器9,以及該存儲(chǔ)器的寫使能WE為低態(tài)有效。在此狀態(tài)下,呈現(xiàn)在數(shù)據(jù)輸入D的8比特?cái)?shù)據(jù)將被寫入該存儲(chǔ)器。與此同時(shí),上位主數(shù)據(jù)存儲(chǔ)器9接收read_address,以及該存儲(chǔ)器的寫使能WE是高態(tài)無效。在此狀態(tài)下,該存儲(chǔ)器予以讀取,數(shù)據(jù)通過數(shù)據(jù)MUX 11呈現(xiàn)在MDAT輸出。
可見,BUF_SEL信號(hào)用于邏輯交換主數(shù)據(jù)存儲(chǔ)器9的位置和操作。這基本上是在PASIC中執(zhí)行數(shù)據(jù)存儲(chǔ)的技術(shù)。
在一個(gè)類似方式中,圖3的分析顯示,如果ESEL信號(hào)為低電平,則write_address被施加到上位數(shù)據(jù)存儲(chǔ)器擴(kuò)展10,以及該存儲(chǔ)器的寫使能WE為低態(tài)有效。在此狀態(tài)下,呈現(xiàn)在數(shù)據(jù)輸入D的8比特?cái)?shù)據(jù)將寫入該存儲(chǔ)器。與此同時(shí),下位數(shù)據(jù)存儲(chǔ)器擴(kuò)展10接收read_address,以及該存儲(chǔ)器的寫使能WE為高態(tài)無效。在此狀態(tài)下,該存儲(chǔ)器予以讀取,數(shù)據(jù)通過數(shù)據(jù)MUX 11呈現(xiàn)在EDAT輸出。
如果ESEL信號(hào)為高電平,則write_address被施加到下位數(shù)據(jù)存儲(chǔ)器擴(kuò)展10,以及該存儲(chǔ)器的寫使能WE為低態(tài)有效。在此狀態(tài)下,呈現(xiàn)在數(shù)據(jù)輸入D的8比特?cái)?shù)據(jù)將被寫入該存儲(chǔ)器。與此同時(shí),上位數(shù)據(jù)存儲(chǔ)器10接收read_address,以及該存儲(chǔ)器的寫使能WE為高態(tài)無效。在此狀態(tài)下,該存儲(chǔ)器被予以讀取,數(shù)據(jù)通過數(shù)據(jù)MUX 11呈現(xiàn)在MDAT輸出。
顯而,ESEL信號(hào)用于邏輯交換主數(shù)據(jù)存儲(chǔ)器擴(kuò)展10的位置和操作。
地址轉(zhuǎn)換器12建立用于整個(gè)數(shù)據(jù)存儲(chǔ)器擴(kuò)展塊的地址和控制信號(hào)。地址轉(zhuǎn)換器的最清楚說明如下列verilog所描述1、module address_translator(in,BUF_SEL,ESEL,RD_A,STA)2、input[15:0]in;3、output[14:0]ST_A,RD_A;4、output BUF_SEL,ESEL;5、wire[15:0]in;6、wire[14:0]ST_A,RD_A;7、wire BUF_SEL,ESEL;8、wire[15:0]offset;9、assign BUF_SEL=in[15],
10、ST_A=in[14:0],11、RD_A=in[14:0]+2,12、offset=in-512,13、ESEL=offset[15];14、endmodule最有效信號(hào)描述分別是那些記述BUF_SEL和ESEL、線路9和13的描述。圖4示出了這些信號(hào)的定時(shí),這些信號(hào)與圖1的那些信號(hào)存在聯(lián)系。這些信號(hào)是作為它們出現(xiàn)在優(yōu)選實(shí)施例中來圖示的。信號(hào)ESEL受正在處理的輸入和/或輸出串行流的數(shù)量影響,受各自時(shí)隙的數(shù)量和持續(xù)時(shí)間的影響,甚至經(jīng)常受其它無關(guān)要素的影響。
所述的優(yōu)選實(shí)施例的許多變化都是可能的。使用兩個(gè)端口存儲(chǔ)器而不使用單端口存儲(chǔ)器是可能的。這使經(jīng)過交換機(jī)的帶寬加倍,而又不增加時(shí)鐘速度。圖3的分析顯示,可以增加替代單端口存儲(chǔ)器的兩端口存儲(chǔ)器,附加地址和數(shù)據(jù)多路復(fù)用器11和13可以連接到第二端口,以有效加倍吞吐量而又不改變本發(fā)明的實(shí)質(zhì)。
圖2所示的交換狀態(tài)機(jī)5裝備有非常繁忙的流水線,圖3所示的地址轉(zhuǎn)換器12是繁忙的流水線式同步電路。在一個(gè)示范性實(shí)施例中,地址轉(zhuǎn)換器是按以上隱含的verilog列表組合的電路,存儲(chǔ)器編址中的某些局部變化需要verilog數(shù)值轉(zhuǎn)換的改變。圖4所示的合成波形BUF_SEL和ESEL成功地建立擴(kuò)展的數(shù)據(jù)存儲(chǔ)器操作。
在圖2所示的交換狀態(tài)機(jī)5中,進(jìn)行硬件判決,以判決字節(jié)MDAT或EDAT(涉及圖3的兩個(gè)輸出)之哪個(gè)用于輸出移位寄存器的存儲(chǔ)。MDAT是從主數(shù)據(jù)存儲(chǔ)器讀出的數(shù)據(jù),EDAT從主存儲(chǔ)器擴(kuò)展讀出。盡管該傳遞功能的細(xì)節(jié)非常復(fù)雜,它取決于許多其它無關(guān)要素,但是基本概念可相當(dāng)簡單地描述。例如,當(dāng)連接路徑正在把D2、D3或D4數(shù)據(jù)(參見圖1)連接到串行輸出數(shù)據(jù)流的第一時(shí)隙時(shí),擴(kuò)展的數(shù)據(jù)存儲(chǔ)器便實(shí)現(xiàn)了其目的。該數(shù)據(jù)傳遞的定時(shí)顯示在圖5中。
以上討論說明了這樣一種情況必需從擴(kuò)展數(shù)據(jù)存儲(chǔ)器選擇裝載到輸出移位寄存器中的數(shù)據(jù),以便保持兩幀常量延遲需求。這表現(xiàn)為力圖解釋用于概念目的的一個(gè)清楚實(shí)例,因?yàn)樯踔帘绢I(lǐng)域熟練技術(shù)人員,也難于完全理解該類型TDM交換機(jī)的從串行輸入到串行輸出的延遲特征。
用于來自主數(shù)據(jù)存儲(chǔ)器的MDAT數(shù)據(jù)或者來自擴(kuò)展數(shù)據(jù)存儲(chǔ)器的EDAT數(shù)據(jù)的選擇的數(shù)據(jù)選擇規(guī)則的最一般描述是任何特定幀期間接收的任何串行輸入數(shù)據(jù),作為某些特征或者某些程控輸入數(shù)據(jù)速率的結(jié)果,在主輸入數(shù)據(jù)存儲(chǔ)器緩存器指示字(BUF_SEL)已經(jīng)交換之后但是在擴(kuò)展數(shù)據(jù)存儲(chǔ)緩存器指示字(ESEL)已經(jīng)交換之前的一個(gè)時(shí)間點(diǎn),到達(dá)輸入移位寄存器2的并行輸出,以及,如果這些特定數(shù)據(jù)元素經(jīng)由TDM交換機(jī)連接到幀邊界起點(diǎn)或其附近的串行輸出時(shí)隙上,使數(shù)據(jù)必需在主輸入數(shù)據(jù)存儲(chǔ)緩存器指示符(BUF_SEL)已經(jīng)交換之前的時(shí)間點(diǎn)從存儲(chǔ)緩存器讀出,以用于裝載到輸出移位寄存器7的并行輸入,那么交換硬件必需從擴(kuò)展存儲(chǔ)器而不是主數(shù)據(jù)存儲(chǔ)器中選擇數(shù)據(jù),以便保持兩幀延遲需求。
傳遞功能的細(xì)節(jié)非常復(fù)雜,這取決于許多其它無關(guān)要素。在優(yōu)選實(shí)施例中,流水線技術(shù)是實(shí)施中最復(fù)雜技術(shù)之一。然而在所有情況下,上述一般規(guī)則可以始終管理這些特定數(shù)據(jù)路徑中的流,以便滿足兩幀常量延遲需求。
存在寬范圍的變化,對(duì)圖2所示的交換電路和圖3所示的擴(kuò)展數(shù)據(jù)存儲(chǔ)器配置是可能的。這些主要導(dǎo)致其它非有關(guān)要素的實(shí)現(xiàn)。盡管本發(fā)明所用的優(yōu)選實(shí)施例解決多輸入和輸出流造成的常量延遲問題,其中輸入和輸出流之每個(gè)具有獨(dú)立可編程的速率和比特延遲,但是導(dǎo)致在幀尾已不一致時(shí)間出現(xiàn)來自特定幀的數(shù)據(jù)的任何要素的特征,可以使用對(duì)主數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)器擴(kuò)展來保持該數(shù)據(jù)。
其它變化可能在地址存儲(chǔ)器連接、多路復(fù)用器大小、地址轉(zhuǎn)換器設(shè)計(jì)方面,各種各樣的寫可以導(dǎo)致輸入流和/或輸出流的變化、輸入和/或輸出數(shù)據(jù)速率的變化、每個(gè)流的時(shí)隙數(shù)量地變化、施加到每個(gè)輸入和/或輸出流的特征的變化、交換期間應(yīng)用于數(shù)據(jù)上的任何數(shù)據(jù)變換功能的變化。
所有這些可能性可能影響數(shù)據(jù)存儲(chǔ)器擴(kuò)展實(shí)施的細(xì)節(jié),盡管仍然利用保持常量延遲吞吐量的概念。
數(shù)據(jù)存儲(chǔ)器擴(kuò)展概念不局限于雙緩存數(shù)據(jù)存儲(chǔ)器。相同的技術(shù)也可以使用在單一緩存數(shù)據(jù)存儲(chǔ)器或多緩存存儲(chǔ)器。此外,實(shí)施的理由(前提)可以不限定于常量延遲需求。需要對(duì)因輸入特征變化導(dǎo)致不能一致地運(yùn)用交換點(diǎn)的數(shù)據(jù)幀進(jìn)行一致處理的任何應(yīng)用都可以使用該類型的數(shù)據(jù)存儲(chǔ)器擴(kuò)展硬件,因此這些應(yīng)用落入本發(fā)明的范圍。
權(quán)利要求
1.一種支持多速率輸入和輸出串行數(shù)據(jù)流的時(shí)分多路復(fù)用交換機(jī),包括多個(gè)輸入寄存器,用于接收多個(gè)串行輸入數(shù)據(jù)流;多個(gè)輸出寄存器,用于輸出多個(gè)串行輸出數(shù)據(jù)流;一個(gè)數(shù)據(jù)存儲(chǔ)器,用于臨時(shí)存儲(chǔ)在所述輸入數(shù)據(jù)流與輸出數(shù)據(jù)流之間交換的數(shù)據(jù),所述數(shù)據(jù)存儲(chǔ)器具有用于存儲(chǔ)連續(xù)數(shù)據(jù)幀的第一和第二主緩存器部分;一個(gè)連接存儲(chǔ)器,用于存儲(chǔ)所述交換數(shù)據(jù)的連接路徑;一個(gè)控制器,用于在所述數(shù)據(jù)存儲(chǔ)器的所述第一與第二主緩存器部分之間進(jìn)行交換;和分別與所述第一和第二緩存器部分關(guān)聯(lián)的第一和第二緩存器擴(kuò)展,用于存儲(chǔ)剩余數(shù)據(jù),所述控制器在相對(duì)于所述第一和第二主緩存器部分的交換的一個(gè)延遲之后,程控交換所述第一和第二緩存器擴(kuò)展。
2.根據(jù)權(quán)利要求1所述的時(shí)分多路復(fù)用交換機(jī),其中所述控制器予以程控,在收到關(guān)于一幀內(nèi)最快數(shù)據(jù)流的所有數(shù)據(jù)時(shí),交換所述緩存存儲(chǔ)器部分,以及在收到來自所述幀內(nèi)其它數(shù)據(jù)流的剩余數(shù)據(jù)時(shí),交換所述緩存器擴(kuò)展。
3.根據(jù)權(quán)利要求1所述的時(shí)分多路復(fù)用交換機(jī),還包括一個(gè)邏輯單元,用于確定是使用來自所述第一和第二主緩存器部分的數(shù)據(jù)還是使用來自所述緩存器擴(kuò)展的數(shù)據(jù),以確保所有可能連接路徑的特定幀延遲。
4.根據(jù)權(quán)利要求3所述的時(shí)分多路復(fù)用交換機(jī),其中所述特定幀延遲是一個(gè)固定延遲。
5.根據(jù)權(quán)利要求4所述的時(shí)分多路復(fù)用交換機(jī),其中所述固定延遲是一個(gè)兩幀延遲。
6.根據(jù)權(quán)利要求3所述的時(shí)分多路復(fù)用交換機(jī),其中所述邏輯單元包括一個(gè)交換狀態(tài)機(jī),該交換狀態(tài)機(jī)在所述連接存儲(chǔ)器所確定的地址,從所述數(shù)據(jù)存儲(chǔ)器讀出數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的時(shí)分多路復(fù)用交換機(jī),其中交換狀態(tài)機(jī)把數(shù)據(jù)從所述數(shù)據(jù)存儲(chǔ)器讀入到幀延遲存儲(chǔ)器中。
8.根據(jù)權(quán)利要求7所述的時(shí)分多路復(fù)用交換機(jī),其中所述數(shù)據(jù)在與串行輸出流的特定時(shí)隙一對(duì)一對(duì)應(yīng)的位置,存入所述幀延遲存儲(chǔ)器中。
9.根據(jù)權(quán)利要求6所述的時(shí)分多路復(fù)用交換機(jī),其中交換狀態(tài)機(jī)生成一對(duì)選擇信號(hào),用于分別選擇所述主緩存器部分之一和所述緩存器擴(kuò)展之一。
10.根據(jù)權(quán)利要求9所述的時(shí)分多路復(fù)用交換機(jī),其中所述交換狀態(tài)機(jī)予以程控以確保任何特定幀期間接收的任何串行輸入數(shù)據(jù),在主緩存器部分已經(jīng)交換之后,但是在相關(guān)聯(lián)的緩存器擴(kuò)展已經(jīng)交換之前的一個(gè)時(shí)間點(diǎn),到達(dá)輸入移位寄存器的輸出,以及,如果這些特定輸入數(shù)據(jù)連接到幀邊界起點(diǎn)或其附近的串行輸出時(shí)隙上,使得數(shù)據(jù)必需在所述主緩存器部分已經(jīng)交換之前的時(shí)間點(diǎn)從存儲(chǔ)緩存器讀出,以裝載到輸出移位寄存器的輸入,那么從關(guān)聯(lián)的緩存器擴(kuò)展而不是從所述主緩存器部分讀出數(shù)據(jù),以便保持所述特定幀延遲。
11.根據(jù)權(quán)利要求9所述的時(shí)分多路復(fù)用交換機(jī),其中所述選擇信號(hào)由地址轉(zhuǎn)換器產(chǎn)生。
12.根據(jù)權(quán)利要求11所述的時(shí)分多路復(fù)用交換機(jī),其中所述地址轉(zhuǎn)換機(jī)是一個(gè)組合電路。
13.根據(jù)權(quán)利要求1至12任一項(xiàng)所述的時(shí)分多路復(fù)用交換機(jī),其中所述數(shù)據(jù)存儲(chǔ)器是雙端口存儲(chǔ)器。
14.根據(jù)權(quán)利要求1至13任一項(xiàng)所述的時(shí)分多路復(fù)用交換機(jī),其中所述緩存器擴(kuò)展是SRAM。
15.根據(jù)權(quán)利要求14所述的時(shí)分多路復(fù)用交換機(jī),其中所述緩存器擴(kuò)展是512字節(jié)。
16.一種支持多速率輸入和輸出串行數(shù)據(jù)流的時(shí)分多路復(fù)用交換機(jī),包括多個(gè)輸入寄存器,用于接收多個(gè)串行輸入數(shù)據(jù)流;多個(gè)輸出寄存器,用于輸出多個(gè)串行輸出數(shù)據(jù)流;一個(gè)數(shù)據(jù)存儲(chǔ)器,用于臨時(shí)存儲(chǔ)在所述輸入數(shù)據(jù)流與輸出數(shù)據(jù)流之間交換的數(shù)據(jù),該數(shù)據(jù)存儲(chǔ)器具有主緩存器部分;一個(gè)連接存儲(chǔ)器,用于存儲(chǔ)所述交換數(shù)據(jù)的連接路徑;和一個(gè)與所述主緩存部分相關(guān)聯(lián)的緩存器擴(kuò)展,用于存儲(chǔ)過運(yùn)行數(shù)據(jù)。
17.一種控制支持多速率輸入和輸出串行數(shù)據(jù)流的時(shí)分多路復(fù)用交換機(jī)的方法,包括以下步驟接收多個(gè)串行輸入數(shù)據(jù)流;提供一個(gè)數(shù)據(jù)存儲(chǔ)器,用于臨時(shí)存儲(chǔ)在所述輸入數(shù)據(jù)流與所述輸出數(shù)據(jù)流之間交換的數(shù)據(jù),所述數(shù)據(jù)存儲(chǔ)器具有用于存儲(chǔ)連續(xù)數(shù)據(jù)幀的第一和第二主緩存器部分,每個(gè)所述第一和第二主緩存器部分分別與用于存儲(chǔ)剩余數(shù)據(jù)的第一和第二緩存器擴(kuò)展相關(guān)聯(lián);在所述數(shù)據(jù)存儲(chǔ)器的所述第一和第二主緩存器部分之間進(jìn)行交換;在相對(duì)于所述第一和第二主緩存器部分之間交換的一個(gè)延遲之后,在所述第一和第二緩存器擴(kuò)展之間進(jìn)行交換。
18.根據(jù)權(quán)利要求17所述的方法,其中所述主緩存存儲(chǔ)器部分之間的所述交換在收到關(guān)于一幀內(nèi)最快數(shù)據(jù)流的所有數(shù)據(jù)時(shí)發(fā)生,所述緩存器擴(kuò)展之間的所述交換在收到來自所述幀內(nèi)其它數(shù)據(jù)流的剩余數(shù)據(jù)時(shí)發(fā)生。
19.根據(jù)權(quán)利要求18所述的方法,其中,當(dāng)需要確保用于所有可能連接路徑的特定幀延遲時(shí),從所述主緩存器部分或所述緩存器擴(kuò)展讀出數(shù)據(jù)。
20.根據(jù)權(quán)利要求19所述的方法,其中所述特定幀延遲是一個(gè)固定延遲。
21.根據(jù)權(quán)利要求20所述的方法,其中所述固定延遲是一個(gè)兩幀延遲。
22.根據(jù)權(quán)利要求19或20所述的方法,其中交換以確保以下處理的方式發(fā)生任何特定幀期間接收的任何串行輸入數(shù)據(jù),在主緩存器部分已經(jīng)交換之后,但是在相關(guān)聯(lián)的緩存器擴(kuò)展已經(jīng)交換之前的一個(gè)時(shí)間點(diǎn),到達(dá)輸入移位寄存器的輸出,以及,如果這些特定輸入數(shù)據(jù)連接到幀邊界起點(diǎn)或其附近的串行輸出時(shí)隙上,使得數(shù)據(jù)必需在所述主緩存器部分已經(jīng)交換之前的時(shí)間點(diǎn)從存儲(chǔ)緩存器讀出,以裝載到輸出移位寄存器的輸入,那么從關(guān)聯(lián)的緩存器擴(kuò)展而不是從所述主緩存器部分讀出數(shù)據(jù),以便保持所述特定幀延遲。
全文摘要
本發(fā)明公開了一種支持多速率輸入和輸出串行數(shù)據(jù)流的時(shí)分多路復(fù)用交換機(jī),所述時(shí)分多路復(fù)用交換機(jī)具有分別與存儲(chǔ)器的每個(gè)部分相關(guān)聯(lián)的緩存器擴(kuò)展的雙緩存數(shù)據(jù)存儲(chǔ)器。該擴(kuò)展在雙緩存數(shù)據(jù)存儲(chǔ)器的主部分已經(jīng)交換后的延遲周期存儲(chǔ)剩余數(shù)據(jù)。
文檔編號(hào)H04L12/54GK1574752SQ20041004808
公開日2005年2月2日 申請日期2004年6月15日 優(yōu)先權(quán)日2003年6月17日
發(fā)明者保羅·格雷沙姆 申請人:卓聯(lián)半導(dǎo)體有限公司