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

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

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

      執(zhí)行順序數(shù)據(jù)壓縮算法的方法與裝置的制作方法

      文檔序號(hào):6407867閱讀:217來源:國知局
      專利名稱:執(zhí)行順序數(shù)據(jù)壓縮算法的方法與裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及對(duì)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的數(shù)據(jù)進(jìn)行壓縮和脫壓縮的設(shè)備與方法,更具體地說涉及成塊并行執(zhí)行一個(gè)順序數(shù)據(jù)壓縮算法的設(shè)備和方法,這種算法特別適用于低速終端數(shù)據(jù)存儲(chǔ)系統(tǒng)。
      眾所周知,數(shù)據(jù)壓縮與脫壓縮的效率主要取決于所用緩存區(qū)的大小及編碼實(shí)現(xiàn)。利用軟件執(zhí)行壓縮/脫壓縮算法速度慢。,因而不適于高速或?qū)崟r(shí)應(yīng)用。用硬件執(zhí)行算法所需的硬件所需的硬件量隨著所利用的實(shí)現(xiàn)技術(shù)的并行程度而變化。如果需要太大量的硬件,則可能難于把數(shù)據(jù)壓縮算法集成于一個(gè)控制器中。
      Lempel和Ziv在題為“一種順序數(shù)據(jù)壓縮的普適算法”(發(fā)表于IEEE信息論學(xué)報(bào)1977年5月號(hào),第337-343頁)一文中描述了一種有效地壓縮數(shù)據(jù)的方法。這種Lempel-Ziv1(LZ1)算法是一種順序算法,它把可變長度二進(jìn)制數(shù)據(jù)串壓縮成固定長度的壓縮二進(jìn)制格式。它是利用一個(gè)“歷史緩沖器”來實(shí)現(xiàn)的,在該緩沖器中包含按正確順序存放的一個(gè)文件的若干最近字節(jié)或字。在方法上,通過重復(fù)執(zhí)行一個(gè)基本的例行程度,只要輸入的字節(jié)序列與歷史緩沖器中的一個(gè)序列匹配,新字節(jié)便被讀取,因此產(chǎn)生一個(gè)順序的數(shù)據(jù)流。由于每個(gè)輸入字節(jié)要順序地與歷史緩沖器內(nèi)的每個(gè)字節(jié)進(jìn)行比較,所以需要大量的計(jì)算時(shí)間,使得這種技術(shù)不適于實(shí)時(shí)的應(yīng)用。
      共同轉(zhuǎn)讓的美國順序號(hào)07/807,007(1991年12月31日提交),(DocketAT991-030))描述了LZ1算法的一種典型實(shí)現(xiàn)并引述了許多專利(不認(rèn)為是本發(fā)明的材料),這些專利復(fù)蓋了改善LZ1算法執(zhí)行速度或?qū)崿F(xiàn)壓縮程度的多種技術(shù)。
      這一被引用的共同轉(zhuǎn)讓申請(qǐng)描述了在硬件中實(shí)現(xiàn)LZ1算法的完全并行的體系結(jié)構(gòu)。利用一個(gè)按內(nèi)容尋址存儲(chǔ)器(CAM)作為歷史緩沖器,每個(gè)輸入字節(jié)同時(shí)與歷史緩沖器中的所有字節(jié)進(jìn)行比較。這種完全并行硬件技術(shù)理想地提供了LZ1算法的最快執(zhí)行手段。然而,它要求為每個(gè)獨(dú)立緩沖位置(即,CAM地址)準(zhǔn)備單獨(dú)的比較器,而且只有當(dāng)歷史緩沖器滿時(shí)才能達(dá)到最高效率(速度/硬件性能),也就是說,是在對(duì)數(shù)據(jù)存儲(chǔ)介質(zhì)的每個(gè)扇區(qū)或輸入數(shù)據(jù)段的初始加載階段之后才能達(dá)到最高效率。所以,如果該扇區(qū)與歷史緩沖區(qū)有近似相同的大小時(shí),全并行方法將要求許多冗余的操作。
      因?yàn)橐粋€(gè)設(shè)備控制器芯片的大小實(shí)質(zhì)上與實(shí)現(xiàn)純并行壓縮所需芯片的大小相同,所以一個(gè)并行壓縮芯片不能有效地用于完成歷史緩沖器中的壓縮。這種全并行方法主要是用于主機(jī)數(shù)據(jù)壓縮,這時(shí)壓縮芯片位于主機(jī)控制器中。
      需要有一種使用模塊結(jié)構(gòu)實(shí)現(xiàn)LZ1算法的數(shù)據(jù)壓縮/脫壓縮裝置與方法,它1、把歷史緩沖器分成多個(gè)塊,在一個(gè)塊中并行比較所有字節(jié),而對(duì)各塊順序掃描;
      2、使設(shè)計(jì)者能夠通過選擇所希望的并行程度來選擇從緩慢的LZ1算法順序執(zhí)行到上述最佳并行實(shí)現(xiàn)這一范圍內(nèi)的任何速度,以使硬件費(fèi)用限定在具體應(yīng)用的實(shí)際需要上;
      3、特別適合于在設(shè)備控制器中完成數(shù)據(jù)壓縮的各種應(yīng)用,這里所要求的執(zhí)行速度近似于比在主機(jī)控制器中完成的壓縮所要求的速度低一個(gè)數(shù)量級(jí);以及4、當(dāng)輸入數(shù)據(jù)扇區(qū)和歷史緩沖器包含近似相同數(shù)量的字節(jié)時(shí)顯得特別具有優(yōu)越性。
      本發(fā)明描述了一種執(zhí)行順序數(shù)據(jù)壓縮算法的裝置和方法,它特別適合于在設(shè)備(以與主機(jī)相區(qū)別)控制器中要求的數(shù)據(jù)壓縮。一個(gè)歷史緩沖器壓縮由i個(gè)完全相同的水平片單元組成的一個(gè)陣列。每個(gè)片單元存儲(chǔ)j個(gè)符號(hào)來定義j個(gè)單獨(dú)的塊,在這些塊中,每個(gè)片單元的符號(hào)正好被i個(gè)符號(hào)分隔開。i個(gè)輸入符號(hào)組成的串中的符號(hào)由i個(gè)比較器與片單元中先前存儲(chǔ)的符號(hào)進(jìn)行并行比較,以識(shí)別出匹配的符號(hào)序列。一個(gè)控制單元控制順序算法的執(zhí)行,以支配各比較器并行掃描各符號(hào),但在每個(gè)塊中則是順序掃描,并使符號(hào)匹配序列和不匹配序列存儲(chǔ)于該陣列中。根據(jù)算法執(zhí)行速度和硬件費(fèi)用之間的權(quán)衡來選擇參數(shù)i和j,以限定執(zhí)行該算法時(shí)為實(shí)現(xiàn)希望的有效程度所要求的比較器個(gè)數(shù)。
      一個(gè)優(yōu)先編碼器根據(jù)片單元輸出信號(hào)計(jì)算每個(gè)識(shí)別出的匹配序列的j,i地址,但它只輸出這些地址中的一個(gè)(例如最小地址)。到來符號(hào)被串行寫入緩沖區(qū)中的連續(xù)符號(hào)位置,直至所有緩沖區(qū)位置被充滿為止。然后,緩沖區(qū)中的最老符號(hào)串被到來的符號(hào)所取代。


      圖1是實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)壓縮系統(tǒng)的框圖。
      圖2是實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)壓縮/脫壓縮裝置的示意圖,該裝置中包括由完全相同的水平片單元組成的一個(gè)陣列和一個(gè)優(yōu)先編碼器。
      圖3的示意圖詳細(xì)給出圖2所示每一個(gè)水平片單元的配置。
      圖4給出圖2所示優(yōu)先編碼器的一種簡化形式的電路邏輯圖。
      如圖1所示,實(shí)現(xiàn)本發(fā)明的一個(gè)數(shù)據(jù)壓縮系統(tǒng)包含一個(gè)主計(jì)算機(jī)10,它向包括壓縮/脫壓縮裝置14的設(shè)備控制器12傳送數(shù)據(jù)和從該控制器12接收數(shù)據(jù)。裝置14包括一個(gè)壓縮機(jī)15和一個(gè)脫壓縮機(jī)16,它們能被分別啟動(dòng)以壓縮機(jī)和脫壓縮數(shù)據(jù)。壓縮機(jī)15向輸入/輸出(I/O)設(shè)備18(例如包含一組盤的盤驅(qū)動(dòng)器)提供被壓縮數(shù)據(jù)輸出。設(shè)備18向設(shè)備控制器12的脫壓縮機(jī)16提供被壓縮數(shù)據(jù)輸入。
      如圖2所示,數(shù)據(jù)壓縮/脫壓縮裝置14包括一個(gè)控制單元20、一個(gè)歷史緩沖器22和一個(gè)優(yōu)先編碼器24。輸入/輸出(I/O)總線11對(duì)控制單元20取、送數(shù)據(jù)。數(shù)據(jù)是采取“符號(hào)”的形式的,“符號(hào)”是在權(quán)利要求中使用的術(shù)語,統(tǒng)指字節(jié)、半字、字、或任何其他預(yù)先選定個(gè)數(shù)的二進(jìn)制位。然而,為便于理解,這里假定數(shù)據(jù)是字節(jié)形式的。
      如圖所示,歷史緩沖器22包含一個(gè)由128個(gè)相同水平片單元HSO至HS127組成的陣列,每個(gè)片單元存儲(chǔ)4個(gè)字節(jié),從而將緩沖器分成4個(gè)各存儲(chǔ)128字節(jié)的塊。這種模塊結(jié)構(gòu)造成的歷史緩沖器22能存儲(chǔ)接續(xù)的512(128×4)個(gè)字節(jié),其中每個(gè)HS(水平片)單元中的字節(jié)正好按128字節(jié)(即1塊的大小)分隔開,而且每個(gè)HS單元存儲(chǔ)4個(gè)字節(jié),一個(gè)字節(jié)來自一個(gè)塊。
      緩沖器22中的每個(gè)字節(jié)b有一個(gè)由其塊索引B和HS索引標(biāo)識(shí)的唯一地址。這樣,對(duì)于字節(jié)0-127,其塊索引B為O;對(duì)于字節(jié)128-255,塊索引B為1;對(duì)于字節(jié)256-383,塊索引B為2;而對(duì)字節(jié)384-511,其塊索引B為3。HS索引是字節(jié)地址除以塊大小的余數(shù)。
      這樣,字節(jié)356的地址即為[2,100]。由來自每個(gè)塊中同一HS地址O…127的一個(gè)字節(jié)所組成的4個(gè)字節(jié)b構(gòu)成了一個(gè)字W,在這種情況下該字W的地址便是(1,L;2,L;3,L;4,L),這里L(fēng)是一個(gè)特定的HS地址。對(duì)于圖中所示4×128一個(gè)字節(jié)緩沖器,如果用二進(jìn)制格式表示一個(gè)字節(jié)的地址,可以用二個(gè)高位表示塊索引,而用7個(gè)低位表示HS單元索引。
      現(xiàn)在參考圖3,每個(gè)HS單元包括一個(gè)存儲(chǔ)器寄存器或元件ME,一個(gè)地址選擇元件SE,一個(gè)比較器元件CO,一個(gè)多路轉(zhuǎn)換器MU和鎖存器S1、S2、S3??刂破?0向每個(gè)HS單元傳送一個(gè)輸入符號(hào)串的相同的8位字節(jié)和控制該HS單元的多路轉(zhuǎn)換器MU的4個(gè)信號(hào)C1-C4??刂破?0還向每個(gè)HS單元并行提供信號(hào)r1和r2用于分別復(fù)位鎖存器S1和S2;分別進(jìn)行塊地址選擇的信號(hào)ad1和ad2;同步所有HS單元的操作的時(shí)鐘信號(hào)CK;以及允許寫入信號(hào)W。
      每個(gè)HS單元有輸出S1o、S2o、S3o,它們代表各鎖存器S1、S2、S3的當(dāng)前狀態(tài)。這些輸出以循環(huán)方式構(gòu)成下一個(gè)緊接著的HS單元的輸入S1i、S2i、S3i(見圖2),而HS127的輸出S1o、S3o作為HSo的輸入S1i、S3i。多路轉(zhuǎn)換器MU使用控制信號(hào)C1-C4并產(chǎn)生輸出m。
      在操作過程中,假定緩沖器22的內(nèi)容(即1L,2L,3L,4L,S1,S2,S3)是未定義的。每當(dāng)一個(gè)新扇區(qū)被壓縮寫時(shí)便發(fā)生這種情況。初始時(shí),控制單元20并行地向所有HS單元的與(AND)門42發(fā)送信號(hào)r1,以便所有HS單元中的鎖存器S1復(fù)位。只有在下列條件下才能將一個(gè)字節(jié)寫入一個(gè)給定HS單元的存儲(chǔ)單元中1、來自控制單元20的允許寫入信號(hào)W必須為“1”。
      2、該HS單元的鎖存器S1必須為“0”(即處于復(fù)位狀態(tài))。
      3、對(duì)該HS單元的輸入S1i必須為“1”。
      以圖3所示與門(AND)50來滿足這些條件。當(dāng)一個(gè)塊滿時(shí),除最后一個(gè)(這里是HS127)以外的所有HS單元的鎖存器S1被置位(即為“1”)。S1=“0”的HS單元是緩沖器22中由新的輸入字節(jié)代替老字節(jié)的位置所在。然而,由于初始時(shí)所有HS單元的S1鎖存器有值“0”,故控制單元20通過線44和或門(OR)46(如2)提供一個(gè)“1”信號(hào)。這個(gè)“1”信號(hào)一直保持到除最后一個(gè)(這里HS127)外的所有HS單元的S1鎖存器為“1”時(shí)為止。這一過程重復(fù)進(jìn)行(即對(duì)所有HS單元中的S1鎖存器復(fù)位和在線44上保持初始化“1”信號(hào))直至所有塊被充滿為止;此時(shí),線44上的控制信號(hào)被控制單元20切換成“0”。
      每個(gè)HS單元的鎖存器S1也提供該單元的輸出S10。因此,所有HS單元的S1鎖存器起到128-位移位寄存器的作用。這個(gè)移位寄存器被控制單元20并行傳送給所有HS單元的允許寫入信號(hào)W更新。
      允許寫入信號(hào)W還使來自線48的到來字節(jié)被寫入該HS單元的存儲(chǔ)單元ME。其存儲(chǔ)位置由鎖存器S1和輸入S1i確定為由選擇器單元SE確定的位置1L,2L,3L或4L之一。鎖存器S1的優(yōu)點(diǎn)之一在于在一個(gè)新扇區(qū)的開始不需要對(duì)存儲(chǔ)單元復(fù)位,從而減小了功耗。這一特點(diǎn)對(duì)于因蓄電池電源限制而使功耗問題成為關(guān)鍵的設(shè)備控制器實(shí)現(xiàn)而言具有實(shí)際重要性。
      為起動(dòng)與一個(gè)新塊的串比較操作,控制單元20通過與門40向所有HS單元并行發(fā)出信號(hào)r2以使鎖存器S2復(fù)位。S2的輸出控制每個(gè)HS單元中的選擇元件SE??刂茊卧?0還向所有HS單元的SE元件發(fā)出兩個(gè)信號(hào)ad1和ad2。這些2-位信號(hào)ad1和ad2代表相鄰的塊地址(例如B1和B2)。根據(jù)每個(gè)HS單元中鎖存器S2的狀態(tài),ad1和ad2中的一個(gè)成為該HS單元的確定塊地址ad0。初始時(shí)因?yàn)樗蠸2鎖存器被復(fù)位,故對(duì)所有HS單元都有ad0等于ad1。一個(gè)HS單元的S2鎖存器S2的輸出變成輸出S2o,然后變成下一個(gè)HS單元的輸入S2i。
      這樣,所有鎖存器S2構(gòu)成一個(gè)128位移位寄存器,它的輸入(來自HSo的S2i)總是“1”。隨著輸入字節(jié)串與緩沖器22內(nèi)容匹配過程的繼續(xù)進(jìn)行,這個(gè)移位寄存器從底部起填充“1”,這樣使越來越多的HS單元選擇ad2而不選ad1。這構(gòu)成了在匹配過程中塊邊界的虛擬移動(dòng)。例如,假定在緩沖器22中已匹配到字節(jié)255(即達(dá)到字節(jié)地址[1,127])。然后,下一個(gè)到來的字節(jié)要與緩沖器中的字節(jié)256進(jìn)行比較,該字節(jié)256有一個(gè)不同的塊地址,即[2,0]。
      到來的字節(jié)還經(jīng)由線48的分支傳送到每個(gè)HS單元的相應(yīng)的比較器元件Co。在全部128個(gè)HS單元中的比較器單元Co將到來的字節(jié)同時(shí)與選擇器元件SE選出的四塊中的一個(gè)特定塊中的128個(gè)字節(jié)進(jìn)行比較。如果存儲(chǔ)單元ME之一的輸出字節(jié)與線48中到來的字節(jié)匹配,則比較器Co將向多路轉(zhuǎn)換器單元MU提供一個(gè)“1”輸出信號(hào)。
      多路轉(zhuǎn)換器單元MU被控制單元20限定在由信號(hào)C1-C4確定的4個(gè)模式或狀態(tài)之一。這些信號(hào)實(shí)現(xiàn)的功能如下信號(hào)C1表示到來的字節(jié)是一個(gè)新的匹配串的第一字節(jié),還表示當(dāng)前工作塊(即,它的地址由ad0給出)是滿的。在這種情況下鎖存器S1的狀態(tài)可被忽略。
      信號(hào)C2表示到來的字節(jié)也是一個(gè)新的匹配串的第一字節(jié),但當(dāng)前工作塊還沒有滿(即在該塊中某些存儲(chǔ)單元的內(nèi)容未被確定),所以只能當(dāng)鎖存器S1為“1”時(shí)才發(fā)生匹配。
      信號(hào)C3表示到來的字節(jié)不是一個(gè)匹配串的第一字節(jié),而且鎖存器S1的狀態(tài)不能被忽略。只有當(dāng)整個(gè)緩沖器是滿的,而且一個(gè)塊的移位區(qū)與該匹配串要寫入的另一塊重迭時(shí),才會(huì)發(fā)生這種狀況。
      信號(hào)C4表示到來的字節(jié)不是一個(gè)匹配串的第一字節(jié),但鎖存器S1的狀態(tài)能被忽略。
      如果一個(gè)到來的字節(jié)不是一個(gè)匹配串的第一字節(jié),那么接下來的匹配便要求前一個(gè)字節(jié)也必須是已經(jīng)匹配的,這是由來自前一個(gè)HS單元的輸入信號(hào)S3i表示的一種狀態(tài)。
      這樣,當(dāng)多路轉(zhuǎn)換器MU由信號(hào)C1或C2支配時(shí),信號(hào)S3i能被忽略,因?yàn)镾3i表示一個(gè)串的初始字節(jié)的匹配。比較器元件Co的m信號(hào)有選擇地與52處的信號(hào)C1、54處的信號(hào)C2和S1o、56處的信號(hào)C3和S1o和S3i、以及58處的信號(hào)C4和S3i進(jìn)行“與”(AND)操作。各個(gè)“與”門52、54、56和58的輸出在60處進(jìn)行“或”(OR)操作,產(chǎn)生輸出信號(hào)m。如果輸出信號(hào)m為“1”,它表示緩沖器22中的一個(gè)匹配串已經(jīng)延伸到包括最近到來的字節(jié)。所有HS單元的m輸出在門62處進(jìn)行“或”(OR)操作,以通過控制單元20當(dāng)前輸入序列已在當(dāng)前的工作塊中找到了一個(gè)有效的匹配。一個(gè)HS單元的這個(gè)輸出信號(hào)m還輸入到鎖存器S3。所以,如果一個(gè)HS單元的鎖存器S3的輸出S3o為“1”,它意味著由該單元和地址ad0確定的緩沖器單元是迄今為止與最近輸入序列匹配的先前存儲(chǔ)序列的最末字節(jié)。每個(gè)HS單元的S3o輸出與優(yōu)先編碼器24相連。
      應(yīng)該指出,緩沖器22的更新獨(dú)立于串比較操作并能與串比較操作同時(shí)完成。
      優(yōu)先編碼器24使用來自128個(gè)HS單元的S3o輸出,計(jì)算和編碼與到來的待壓縮數(shù)據(jù)中最近序列匹配的歷史緩沖器22中的一個(gè)序列的結(jié)尾地址。在一個(gè)并行實(shí)現(xiàn)中,例如這里所描述的情況,可能在歷史緩沖器22中有不止一個(gè)序列與來到的序列匹配。在這種情況下,根據(jù)本發(fā)明的一個(gè)特點(diǎn),編碼器24將對(duì)一個(gè)匹配序列只提供單個(gè)結(jié)尾地址。
      將參考圖4所示簡化的優(yōu)先編碼器24′來說明選擇單個(gè)結(jié)尾地址的方式。這個(gè)編碼器編碼512字節(jié),但為了簡化圖示和描述,假定只有8個(gè)HS單元,每個(gè)單元存儲(chǔ)64字節(jié),每個(gè)字節(jié)來自64塊中的一塊,只編碼成3位(而不是象圖3所示對(duì)該類128個(gè)HS單元的地址進(jìn)行變換時(shí)所需的7位)。
      如圖4所示,簡化的優(yōu)先編碼器24′接收來自全部(現(xiàn)在是8個(gè))HS單元的8個(gè)S3o信號(hào)輸入。然后從S3o為“1”的各HS單元當(dāng)中確定8個(gè)索引號(hào)中最低的一個(gè)。這由圖4所示邏輯實(shí)現(xiàn)的,它只保留最小HS地址的S3o信號(hào)而忽略所有其他S3o信號(hào)。這樣,它確定了匹配的序列的唯一結(jié)尾地址。這一地址被送到控制單元20。
      由于脫壓縮算法需要一個(gè)匹配序列的起始地址,必須從優(yōu)先編碼器24提供的結(jié)尾地址計(jì)算出這一起始地址。因?yàn)橐阎撈ヅ湫蛄衅鹗加诋?dāng)前工作塊(所有S2鎖存器在初始時(shí)都曾被復(fù)位),所以只需要計(jì)算該地址的末7位。這只要減去匹配序列的長度就可做到,即從結(jié)尾地址中減去該序列的字節(jié)數(shù),并取其結(jié)果除以HS單元個(gè)數(shù)(圖3所示實(shí)施例中為128)的余數(shù)。匹配序列的長度是壓縮的數(shù)據(jù)的一部分,所以在控制單元20中是可以得到的。在控制單元20中利用一個(gè)增量計(jì)數(shù)器便可容易地得到這個(gè)序列長度。
      用于對(duì)已由申請(qǐng)人的修正的LZ1壓縮算法所壓縮的數(shù)據(jù)進(jìn)行脫壓縮的算法原本是順序性的,所以它不依賴于在壓縮機(jī)15中使用的并行程度。然而,為了有效地使用硬件,使用了壓縮機(jī)15的歷史緩沖器22。被壓縮的到來數(shù)據(jù)包含一個(gè)起始緩沖器地址、一個(gè)串長度數(shù)值、以及一個(gè)字符,該字符是被壓縮串中的最后一個(gè)符號(hào)。控制單元20在起始地址處抽取緩沖器內(nèi)容,并以按壓縮機(jī)15中同樣的方式抽取的符號(hào)來更新緩沖器22。對(duì)被壓縮串的整個(gè)長度重復(fù)這一步驟。在這一處理過程中,以一種循環(huán)方式對(duì)緩沖器地址不斷地增量。最后,這最后一個(gè)符號(hào)也被送到主機(jī)10,于是控制單元20再次準(zhǔn)備好接收下一個(gè)被壓縮串的數(shù)據(jù)。
      盡管已經(jīng)參考其最佳實(shí)施例具體顯示和描述了本發(fā)明,精通本門技術(shù)的人們將會(huì)理解,可以在形式和細(xì)節(jié)上進(jìn)行各種改變而不偏離本發(fā)明的精神和范圍。因此,認(rèn)為本發(fā)明除了由權(quán)利要求書所要求的內(nèi)容之外沒有其他限制。
      權(quán)利要求
      1.一種執(zhí)行順序數(shù)據(jù)壓縮算法的裝置,其特點(diǎn)在于包括i個(gè)相同的水平片單元構(gòu)成的一個(gè)陣列,每個(gè)片單元存儲(chǔ)j個(gè)符號(hào),以定義j個(gè)獨(dú)立的塊,塊中每個(gè)片單元的符號(hào)剛好被i個(gè)符號(hào)分隔開;i個(gè)比較器用于將i個(gè)到來的符號(hào)組成的串并行地與先前存儲(chǔ)在所述片單元中的符號(hào)進(jìn)行比較,以識(shí)別出匹配的符號(hào)序列;以及包括控制器裝置的裝置,用于(1)執(zhí)行順序算法,支配比較器并行掃描符號(hào)但在每個(gè)所述塊中順序掃描;(2)使匹配的和不匹配的符號(hào)序列存儲(chǔ)于所述陣列中。
      2.根據(jù)權(quán)利要求1的裝置,其特點(diǎn)在于根據(jù)算法執(zhí)行速度和硬件費(fèi)用之間的權(quán)衡來選擇參數(shù)i和j,以限定在執(zhí)行該算法時(shí)達(dá)到希望的有效程度所需要的所述比較器的數(shù)目。
      3.權(quán)利要求1的裝置,其特點(diǎn)在于如果識(shí)別出一個(gè)匹配序列則每個(gè)片單元提供一個(gè)具有一種狀態(tài)的輸出信號(hào),該裝置的特點(diǎn)還在于包括一個(gè)優(yōu)先編碼器用于從所述輸出信號(hào)計(jì)算出每個(gè)從中識(shí)別出匹配序列的j、i地址,但只輸出所述地址中的一個(gè)地址。
      4.權(quán)利要求3的裝置,其特點(diǎn)在于每個(gè)輸出信號(hào)當(dāng)處于所述一種狀態(tài)時(shí)標(biāo)識(shí)出與到來的符號(hào)串中最近序列迄今為止相匹配的先前存儲(chǔ)序列的最后一個(gè)字節(jié)。
      5.權(quán)利要求1的裝置,其特點(diǎn)在于包括禁止將該算法應(yīng)用于不包含符號(hào)的任何塊的裝置。
      6.權(quán)利要求1的裝置,其特點(diǎn)在于包括在每個(gè)單獨(dú)的片單元中有一單個(gè)鎖存器,這些鎖存器彼此串聯(lián),組合起來構(gòu)成一個(gè)移位寄存器;以及在每次將符號(hào)存儲(chǔ)于所述陣列中不同單元之前復(fù)位所述各鎖存器并因此復(fù)位所述移位寄存器的裝置。
      7.一種數(shù)據(jù)壓縮裝置,其特點(diǎn)在于它的組成是分成j塊的一個(gè)歷史緩沖器,每個(gè)塊能存儲(chǔ)i個(gè)接續(xù)的符號(hào),從而使相鄰塊中的相應(yīng)符號(hào)位置的符號(hào)相隔i個(gè)符號(hào);i個(gè)比較器;一個(gè)控制器,用于將i個(gè)到來符號(hào)組成的串中的每個(gè)符號(hào)并行播發(fā)到所述i個(gè)比較器中;以及i個(gè)選擇器裝置,用于使到來的符號(hào)串行寫入該緩沖器中的接續(xù)的符號(hào)位置,直至全部緩沖器位置被充滿為止,然后使緩沖器中的最老的符號(hào)串被到來的符號(hào)所替換。
      8.執(zhí)行一種順序數(shù)據(jù)壓縮算法的一種方法,其特點(diǎn)在于由下列步驟組成提供一個(gè)由i個(gè)相同的水平片單元組成的一個(gè)陣列,每個(gè)單元用于存儲(chǔ)j個(gè)符號(hào),以定義j個(gè)獨(dú)立的塊,在塊中處于每個(gè)片單元的符號(hào)剛好被i個(gè)符號(hào)分隔開;使用i個(gè)比較器,將i個(gè)到來的符號(hào)組成的串中各符號(hào)并行地與先前存儲(chǔ)在所述各片單元中的符號(hào)進(jìn)行比較,以識(shí)別出匹配的符號(hào)序列;以及通過(1)并行掃描符號(hào)但序列掃描所述每個(gè)塊中符號(hào),以及(2)將匹配的符號(hào)序列和不匹配的符號(hào)序列存儲(chǔ)與一個(gè)輸入/輸出設(shè)備,來執(zhí)行該順序算法。
      9.權(quán)利要求8的方法,其特點(diǎn)在于包括下述步驟根據(jù)算法執(zhí)行速度和硬件費(fèi)用之間的權(quán)衡來選擇參數(shù)i和j,以限定為達(dá)到希望的有效程度所需要的所述比較器的數(shù)目。
      10.權(quán)利要求9的方法,其特點(diǎn)在于包括下述步驟計(jì)算出在其中識(shí)別出一個(gè)匹配序列的每個(gè)j、i地址;以及輸出所述地址中只是最小的一個(gè)的地址。
      11.權(quán)利要求10的方法,其特點(diǎn)在于包括下述步驟識(shí)別出與到來的符號(hào)串中的最近序列迄今為止相匹配的一個(gè)先前存儲(chǔ)序列的最后一個(gè)字節(jié)。
      12.權(quán)利要求8的方法,其特點(diǎn)在于包括下述步驟禁止將該算法應(yīng)用于不包含有效符號(hào)的任何塊。
      13.一種數(shù)據(jù)壓縮方法,包括下述步驟提供一個(gè)分成j個(gè)塊的歷史緩沖器,各塊能存儲(chǔ)i個(gè)相繼的符號(hào),使得相鄰的塊中對(duì)應(yīng)的符號(hào)位置上的符號(hào)相距i個(gè)符號(hào);提供i個(gè)比較器;并行地將由j個(gè)輸入符號(hào)組成的一個(gè)串中的各個(gè)符號(hào)播送到所述i個(gè)比較器;將輸入符號(hào)串行寫入緩沖器中相繼的符號(hào)位置中,直到充滿所有的緩沖器位置為止;以及然后用輸入符號(hào)來替換緩沖器中最老的符號(hào)串。
      全文摘要
      一種執(zhí)行順序數(shù)據(jù)壓縮算法的裝置和方法,它用于一個(gè)設(shè)備控制器中需要的數(shù)據(jù)壓縮。一個(gè)歷史緩沖器壓縮由i個(gè)相同水平片單元組成的一個(gè)陣列。每個(gè)片單元存儲(chǔ)j個(gè)符號(hào)以定義j個(gè)獨(dú)立的塊,在塊中處在每個(gè)片單元的符號(hào)剛好由i個(gè)符號(hào)分隔開。在由i個(gè)到達(dá)的符號(hào)組成的串中的符號(hào),由i個(gè)比較器并行地與片單元中先前存儲(chǔ)的符號(hào)進(jìn)行比較,以識(shí)別出匹配的符號(hào)序列。一個(gè)控制單元控制順序算法的執(zhí)行,以限定比較器并行掃描符號(hào)但在每個(gè)塊中為順序掃描,并使匹配的符號(hào)序列和不匹配的符號(hào)序列存儲(chǔ)于該陣列中。
      文檔編號(hào)G06F5/00GK1106595SQ9410653
      公開日1995年8月9日 申請(qǐng)日期1994年6月7日 優(yōu)先權(quán)日1993年7月8日
      發(fā)明者M·A·哈斯納, E·D·卡寧, U·施韋格索恩, 田村哲也 申請(qǐng)人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1