亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

加速壓縮方法以及使用此方法的裝置與流程

文檔序號:11198962閱讀:1057來源:國知局
加速壓縮方法以及使用此方法的裝置與流程

本發(fā)明關(guān)于一種微處理器技術(shù),特別是一種加速壓縮方法以及使用此方法的裝置。



背景技術(shù):

字符串匹配方法通??蓺w類為:基于內(nèi)容可尋址內(nèi)存(cam-,contentaddressablememory-based);和基于散列(hash-based);兩種。以上所述的字符串匹配都需要優(yōu)化的最長字串匹配方法,而優(yōu)化傳統(tǒng)上以軟件實(shí)現(xiàn)。然而,軟件的執(zhí)行效能往往劣于專屬硬件的執(zhí)行效能。因此,需要一種使用專屬硬件的加速壓縮方法以及使用此方法的裝置,用以克服上述缺陷。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的實(shí)施例提出一種加速壓縮方法,實(shí)施于壓縮加速器中,至少包含以下步驟:提供第一字符串和第二字符串;以及,反復(fù)執(zhí)行循環(huán),用以決定于第一字符串及第二字符串間的匹配長度。在循環(huán)的每一迭代中,從第一字符串中取得n個連續(xù)字符作為源字符串;將源字符串中的每個字符單獨(dú)地與第二字符串中的所有字符比較以生成n個第一匹配結(jié)果;根據(jù)n個第一匹配結(jié)果生成第二匹配結(jié)果;根據(jù)第二匹配結(jié)果判斷是否存在n個連續(xù)字符的匹配;當(dāng)不存在上述n個連續(xù)字符的匹配時,更新并輸出匹配長度,并且結(jié)束循環(huán);以及當(dāng)存在上述n個連續(xù)字符的匹配時,將匹配長度加上n及繼續(xù)循環(huán)的下一迭代。

本發(fā)明的實(shí)施例提出一種加速壓縮裝置,至少包含滑動窗口緩存器、預(yù)取緩存器、掩碼寄存器、n個字符串比較器、位移比較器、結(jié)果檢查器及控制器,其中n大于1。預(yù)取緩存器鎖存第一字符串中的n個連續(xù)字符作為源字符串,滑動窗口緩存器鎖存第二字符串,以及掩碼寄存器鎖存掩碼。n個字符串比較器將源字符串中的每個字符單獨(dú)地與第二字符串中的所有字符比較,用以生成n個第一匹配結(jié)果。位移比較器根據(jù)n個第一匹配結(jié)果生成第二匹配結(jié)果。結(jié)果檢查器根據(jù)第二匹配結(jié)果判斷是否存在n個連續(xù)字符的匹配。當(dāng)不存在上述n個連續(xù)字符的匹配時,控制器更新并輸出匹配長度。當(dāng)存在上述n個連續(xù)字符的匹配時,控制器將匹配長度加上n及控制預(yù)取緩存器以鎖存第一字符串中的后續(xù)n個連續(xù)字符作為新源字符串。

附圖說明

圖1是根據(jù)本發(fā)明實(shí)施例的微處理器的系統(tǒng)架構(gòu)圖。

圖2是根據(jù)本發(fā)明實(shí)施例的壓縮加速器的方塊圖。

圖3是根據(jù)本發(fā)明實(shí)施例的字符串比較器的方塊圖。

圖4是根據(jù)本發(fā)明實(shí)施例的位移比較器的方塊圖。

圖5是根據(jù)本發(fā)明實(shí)施例的結(jié)果檢查器的方塊圖。

圖6是根據(jù)本發(fā)明實(shí)施例的加速壓縮的方法流程圖。

圖7a及圖7b是根據(jù)本發(fā)明實(shí)施例的最大匹配長度計算示意圖。

圖8a及圖8b是根據(jù)本發(fā)明實(shí)施例的最長字符串匹配器的方塊圖。

圖9a是根據(jù)本發(fā)明實(shí)施例的第1級位移比較器的方塊圖。

圖9b是根據(jù)本發(fā)明實(shí)施例的第2級位移比較器的方塊圖。

圖9c是根據(jù)本發(fā)明實(shí)施例的第3級位移比較器的方塊圖。

圖9d是根據(jù)本發(fā)明實(shí)施例的第4級位移比較器的方塊圖。

圖10是根據(jù)本發(fā)明實(shí)施例的結(jié)果檢查器的方塊圖。

圖11a及圖11b是根據(jù)本發(fā)明實(shí)施例的加速壓縮的方法流程圖。

圖12是根據(jù)本發(fā)明實(shí)施例的最大匹配長度計算示意圖。

圖13是根據(jù)本發(fā)明實(shí)施例的加速壓縮的方法流程圖。

具體實(shí)施方式

以下說明是為完成發(fā)明的較佳實(shí)現(xiàn)方式,其目的在于描述本發(fā)明的基本精神,但并不用以限定本發(fā)明。實(shí)際的發(fā)明內(nèi)容必須參考之后的權(quán)利要求范圍。

必須了解的是,使用于本說明書中的“包含”、“包括”等詞,是用以表示存在特定的技術(shù)特征、數(shù)值、方法步驟、作業(yè)處理、元件以及/或組件,但并不排除可加上更多的技術(shù)特征、數(shù)值、方法步驟、作業(yè)處理、元件、組件,或以上的任意組合。

在權(quán)利要求中使用如“第一”、“第二”、“第三”等詞是用來修飾權(quán)利要求中的元件,并非用來表示之間具有優(yōu)先權(quán)順序,先行關(guān)系,或者是一個元件先于另一個元件,或者是執(zhí)行方法步驟時的時間先后順序,僅用來區(qū)別具有相同名字的元件。

圖1是根據(jù)本發(fā)明實(shí)施例的微處理器的系統(tǒng)架構(gòu)圖。微處理器10可包含多個處理器核心170_1至170_j及多個加速器(accelerator)150_1至150_i,i、j為整數(shù),隨著不同設(shè)計需求而有不同。加速器150_1至150_i舉例而言可以是加速功能單元(afu,acceleratorfunctionalunits)。處理器核心170_1至170_j中的任一個包含的組件都涉及電腦指令的執(zhí)行,包括算術(shù)邏輯單元(alu,arithmeticlogicunit)、浮點(diǎn)運(yùn)算單元(fpu,floatingpointunit)、一級緩存(l1cache)和二級緩存(l2cache)。每一處理器核心采用指令周期(有時也稱提取-解碼-執(zhí)行周期),作為基本操作流程。此流程用以讓處理器核心從記憶體取得程式指令,判定此指令指示進(jìn)行何種操作,并且執(zhí)行這些操作。加速器150_1至150_i可執(zhí)行不同功能,并透過加速器接口(acceleratorinterface)130連接至末級緩存(last-levelcache)110,用以與處理器核心170_1至170_j通過虛擬位址(virtualaddress)進(jìn)行數(shù)據(jù)交換。加速器150_1至150_i中的任一個可協(xié)助處理器核心170_1至170_j以更有效率地方式執(zhí)行特定功能,上述特定功能包括例如壓縮,加解密或正則匹配等運(yùn)算量較大的功能,從而減輕處理器核心170_1至170_j的工作負(fù)擔(dān)。加速器150_1至150_i中的一個可為壓縮加速器(compressionaccelerator),用以完成字符串壓縮功能。

圖2是根據(jù)本發(fā)明實(shí)施例的壓縮加速器的方塊圖。壓縮加速器20包含滑動窗口緩存器(slidingwindowbuffer)310、預(yù)取緩存器(lookaheadbuffer)320、掩碼寄存器(maskregister)370及匹配長度寄存器393。壓縮加速器20包含控制器391,初始時,其控制預(yù)取緩存器320以鎖存n個字符320_1至320_n,n可為4。雖然本發(fā)明實(shí)施例為每個批次比對4(n=4)個字符的設(shè)計,本領(lǐng)域技術(shù)人員可根據(jù)系統(tǒng)需求在每個批次比對更多或更少的字符,例如,3、5或6個,本發(fā)明并不因此局限。在一些實(shí)施例中,滑動窗口緩存器310可為2048比特的向量寄存器(vectorregister),用以鎖存原始字符串中的256個字符,每個字符以8比特表示,例如,“a”、“b”、“c”、“d”、“e”、“f”、“a”、“b”、“c”、“d”、“e”、“f”等等,值得注意的是,在原始字符串的順序上,滑動窗口緩存器310中的原始字符位于預(yù)取緩存器320中的待壓縮的原始字符串之前。在一些實(shí)施例中,預(yù)取緩存器320可為32比特的向量寄存器,用以鎖存原始字符串中的4個字符,每個字符以8比特表示,例如,字符320_1至320_4分別為“a”、“b”、“c”及“d”。在一些實(shí)施例中,掩碼寄存器(maskregister)370可為256比特的寄存器,初始時所有比特均為第一值,例如“2’b1”。在一些實(shí)施例中,匹配長度寄存器393可為8比特的寄存器,初始時鎖存“0”。壓縮加速器20包含字符串比較器330_1至330_4,每一字符串比較器的輸入端連接預(yù)取緩存器320及滑動窗口緩存器310,其輸出端連接至匹配寄存器340_1至340_4中的指定一個。匹配寄存器340_1至340_4中的每一個可包含256個寄存器,其中的第i個寄存器鎖存預(yù)取緩存器320的輸入字符是否與滑動窗口緩存器310中的第i個字符的信息相符,i代表0~255間的任意整數(shù)。每一字符串比較器比較預(yù)取緩存器320的對應(yīng)一個輸入字符與滑動窗口緩存器310中的每一字符,并且將比對結(jié)果儲存至匹配寄存器340_1至340_4中的指定一個。當(dāng)預(yù)取緩存器320的輸入字符與滑動窗口緩存器310中的第i個字符相符時,該比特設(shè)為第一值(例如“2’b1”);不相符則設(shè)為第二值(如“2’b0”)。假設(shè)字符320_1為“a”且滑動窗口緩存器310的第0至9個字符為“a”、“b”、“c”、“d”、“e”、“f”、“a”、“b”、“c”、“d”、“e”、“f”:字符串比較器330_1將比較結(jié)果“2’b1000010000”儲存至匹配寄存器340_1的第0至9比特。圖3是根據(jù)本發(fā)明實(shí)施例的字符串比較器的方塊圖。字符串比較器330_1包含256個8比特數(shù)字比較器(8-bitdigitalcomparator)400_0至400_255。其中8比特數(shù)字比較器400_i比較字符320_1及滑動窗口緩存器310中的第i個字符,i為0至255間的任意整數(shù)。當(dāng)二者相符時,8比特數(shù)字比較器400_i輸出“2’b1”至匹配寄存器340_1中的寄存器340_1_i,用以鎖存“2’b1”。當(dāng)二者不相符時,8比特數(shù)字比較器400_i輸出“2’b0”至匹配寄存器340_1中的寄存器340_1_i,用以鎖存“2’b0”。本領(lǐng)域技術(shù)人員可修改圖3的字符串比較器330_1以完成字符串比較器330_2至330_4,不再贅述以求簡潔。

壓縮加速器20包含位移比較器350。圖4是根據(jù)本發(fā)明實(shí)施例的位移比較器的方塊圖。位移比較器350將“2’b0”鎖存至中介寄存器360中的寄存器360_0至360_3,將匹配寄存器340_1、340_2、340_3及340_4的值分別右移4個、3個、2個及1個比特,將位移后的結(jié)果進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果至中介寄存器360中的寄存器360_4至360_255。右移4個、3個、2個及1個比特是指由最低有效位(lsb,leastsignificantbit)向最高有效位(msb,mostsignificantbit)分別移動4個、3個、2個及1個比特,并且分別將最低的4個、3個、2個及1個比特補(bǔ)“2’b0”。當(dāng)中介寄存器360中的寄存器360_j為“2’b1”時,代表滑動窗口緩存器310的第“j-4”至“j-1”個字符與預(yù)取緩存器320中的全部四個字符相符,其中j為4至255間的任意整數(shù)。舉例來說,位移比較器350可包含756個與門(andgates)540_0_0至540_0_251、540_1_0至540_1_251及540_2_0至540_2_251。與門540_0_i將匹配寄存器340_1中的寄存器340_1_i的值和匹配寄存器340_2中的寄存器340_2_(i+1)的值進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至與門540_2_i,與門540_1_i將匹配寄存器340_3中的寄存器340_3_(i+2)的值和匹配寄存器340_4中的寄存器340_4_(i+3)的值進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至與門540_2_i,并且與門540_2_i將與門540_0_i的輸出結(jié)果與門540_1_i的輸出結(jié)果進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至中介寄存器360中的寄存器360_(i+4),其中,i為0至251間的任意整數(shù)。當(dāng)然本發(fā)明的位移比較器350還可采用其它邏輯電路實(shí)現(xiàn)將匹配寄存器340_1的第i個比特(寄存器340_1_i的值)、匹配寄存器340_2的第(i+1)個比特(寄存器340_2_(i+1)的值)、匹配寄存器340_3的第(i+2)個比特(寄存器340_3_(i+2)的值)、匹配寄存器340_4的第(i+3)個比特(寄存器340_4_(i+3)的值)進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至中介寄存器360的第(i+4)個比特(寄存器340_2_(i+4)的值),并不限于圖4所示的756個與門(andgates)540_0_0至540_0_251、540_1_0至540_1_251及540_2_0至540_2_251的實(shí)施方式。

壓縮加速器20包含結(jié)果檢查器381及控制器391。當(dāng)匹配長度寄存器393的值大于或等于4時,控制器391將掩碼寄存器370的值右移4個比特。結(jié)果檢查器381將(位移后)掩碼及中介寄存器360的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,將運(yùn)算結(jié)果更新回掩碼寄存器370,并且檢查運(yùn)算結(jié)果中是否包含任何為“2’b1”的比特。圖5是根據(jù)本發(fā)明實(shí)施例的結(jié)果檢查器的方塊圖。結(jié)果檢查器381可包含256個邏輯與門610_0至610_255及多輸入單輸出或門630。與門610_i將中介寄存器360中的寄存器360_i的值和掩碼寄存器370中的寄存器370_i的值進(jìn)行邏輯及運(yùn)算,輸出結(jié)果至寄存器370_i以鎖存運(yùn)算結(jié)果,及輸出結(jié)果至多輸入單輸出或門630,其中,i為0至255間的任意整數(shù)。多輸入單輸出或門630可包含樹狀組織的或門,將與門610_0至與門610_255的輸出結(jié)果進(jìn)行邏輯或運(yùn)算,并輸出運(yùn)算結(jié)果至結(jié)果寄存器383。當(dāng)至少一個輸入端為“2’b1”時,多輸入單輸出或門630輸出“2’b1”。當(dāng)所有輸入端均為“2’b0”時,多輸入單輸出或門630輸出“2’b0”。當(dāng)結(jié)果寄存器383鎖存的值為“2’b0”時,控制器391將匹配長度寄存器393的值輸出作為匹配長度。當(dāng)結(jié)果寄存器383鎖存的值為“2’b1”時,控制器391將匹配長度寄存器393的值加4,并且控制預(yù)取緩存器320以鎖存原始字符串中接續(xù)本輪比較的緩存于預(yù)取緩存器320中的源字符串的后的四個字符。

圖6是根據(jù)本發(fā)明實(shí)施例的加速壓縮的方法流程圖。此方法使用圖2所示的壓縮加速器20執(zhí)行,用以獲得二個字符串間(亦即是第一字符串及第二字符串間)的最大匹配長度。將掩碼中的m個比特的每一個初始化為第一值(如“2’b1”)及將匹配長度初始化為0,m可為256(步驟s711),以及將第一字符串中的前n個字符當(dāng)作源字符串(步驟s713)。初始掩碼可鎖存于掩碼寄存器370,初始匹配長度可鎖存于匹配長度寄存器393,而初始源字符串可鎖存于預(yù)取緩存器320。接著,反復(fù)執(zhí)行一個循環(huán),以獲得第一字符串及第二字符串間的最大匹配長度(步驟s713至s771)。在每一迭代中,檢測第一字符串及第二字符串間是否存在連續(xù)n個匹配。若是,則繼續(xù)執(zhí)行下一迭代的處理;否則,輸出匹配長度。在每一迭代中,詳細(xì)來說,將源字符串中的每個字符單獨(dú)與第二字符串中的所有字符比較以生成n個第一匹配結(jié)果(步驟s731),在一實(shí)施例中,生成n個第一匹配結(jié)果的比較在硬件實(shí)現(xiàn)上是并行進(jìn)行的,然后根據(jù)第一匹配結(jié)果生成第二匹配結(jié)果,用以儲存源字符串的全部是否被包含于第二字符串的信息(步驟s733),將掩碼右移n個比特,用以指示此迭代連續(xù)匹配預(yù)期出現(xiàn)的結(jié)束位置的后一位置的信息(步驟s735),值得注意的是,上一迭代的比較如存在連續(xù)n個字符的匹配,則匹配結(jié)束位置的后一比特的值為“2’b1”,將掩碼右移n個比特的目的是將上一迭代匹配的連續(xù)n個字符的后一比特的“2’b1”右移至本迭代如果再存在連續(xù)n個字符的匹配的最后位置的后一比特,以便進(jìn)行運(yùn)算,接下來,根據(jù)應(yīng)用位移后的掩碼的第二匹配結(jié)果以判斷是否存在連續(xù)n個字符的匹配(步驟s737)。第二字符串可鎖存于滑動窗口緩存器310。步驟s731可使用如上所述的字符串比較器330_1至330_4完成,而第一匹配結(jié)果可鎖存于匹配寄存器340_1至340_4。步驟s733可使用如上所述的位移比較器350完成,而第二匹配結(jié)果可鎖存于中介寄存器360。步驟s737可使用如上所述的結(jié)果檢查器381完成,而判斷結(jié)果可鎖存于結(jié)果寄存器383。在步驟s737中,更將鎖存于掩碼寄存器370的掩碼更新為應(yīng)用的結(jié)果。當(dāng)不存在連續(xù)n個字符的匹配時(步驟s737中“否”的路徑),輸出匹配長度(步驟s771)。當(dāng)存在連續(xù)n個字符的匹配時(步驟s737中“是”的路徑),將匹配長度加n(步驟s751),以及將第一字符串中之后的n個字符當(dāng)作源字符串(步驟s755)。步驟s751及s755可使用如上所述的控制器391完成。新的源字符串鎖存于預(yù)取緩存器320。

以下舉出實(shí)例說明圖2的最長字符串匹配器及圖6的加速壓縮方法。圖7a及圖7b是根據(jù)本發(fā)明實(shí)施例的最大匹配長度計算示意圖。假設(shè)第一字符串包含“a”、“b”、“c”、“d”、“e”、“f”、“a”和“c”的字符,而第二字符串包含“a”、“b”、“c”、“d”、“e”、“f”、“a”、“b”、“c”、“d”、“e”、“f”等等的字符:將掩碼中的m個比特的每一個初始化為“2’b1”及將匹配長度初始化為0(步驟s711),以及將第一字符串中的字符“a”、“b”、“c”和“d”當(dāng)作源字符串,并分別鎖存于寄存器320_1至320_4(步驟s713)。掩碼儲存連續(xù)匹配的期望結(jié)束位置的后一位置的信息。參考圖7a。在第一迭代中,使用字符串比較器330_1至330_4將源字符“a”、“b”、“c”和“d”分別單獨(dú)地比較第二字符串中的所有字符以生成4個第一匹配結(jié)果(步驟s731)。詳細(xì)來說,字符串比較器330_1比較源字符“a”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b100000100000…”至匹配寄存器340_1。字符串比較器330_2比較源字符“b”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b010000010000…”至匹配寄存器340_2。字符串比較器330_3比較源字符“c”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b001000001000…”至匹配寄存器340_3。字符串比較器330_4比較源字符“d”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b000100000100…”至匹配寄存器340_4。接著,位移比較器350根據(jù)4個第一匹配結(jié)果生成第二匹配結(jié)果(步驟s733)。詳細(xì)來說,位移比較器350根據(jù)匹配寄存器340_1、340_2、340_3及340_4中位移后的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果“2’b000010000010…”至中介寄存器360中的寄存器360_0至360_(m-1),作為第二匹配結(jié)果。接著,將掩碼右移4個比特成為“2’b000011111111…”,用以指示此迭代連續(xù)匹配預(yù)期出現(xiàn)的結(jié)束位置的后一位置為第5個的信息(步驟s735),應(yīng)用掩碼至第二匹配結(jié)果并鎖存應(yīng)用后的結(jié)果“2’b000010000010…”至掩碼寄存器370,以及根據(jù)應(yīng)用后的結(jié)果判斷是否包含任何為“2’b1”的比特(亦即是,是否存在連續(xù)4個字符的匹配)(步驟s737)。由于應(yīng)用后的結(jié)果“2’b000010000010…”包含至少一個“2’b1”的比特(步驟s737中“是”的路徑),控制器391更新匹配長度寄存器393的值為0+4=4(步驟s751),以及控制預(yù)取緩存器320以鎖存“e”、“f”、“a”和“c”至寄存器320_1至320_4(步驟s755)。參考圖7b。在第二迭代中,使用字符串比較器330_1至330_4將源字符“e”、“f”、“a”及“c”分別單獨(dú)地與第二字符串中的所有字符比較以生成4個第一匹配結(jié)果(步驟s731)。詳細(xì)來說,字符串比較器330_1比較源字符“e”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b000010000010…”至匹配寄存器340_1。字符串比較器330_2比較源字符“f”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b000001000001…”至匹配寄存器340_2。字符串比較器330_3比較源字符“a”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b100000100000…”至匹配寄存器340_3。字符串比較器330_4比較源字符“c”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b001000001000…”至匹配寄存器340_4。接著,位移比較器350根據(jù)4個第一匹配結(jié)果生成第二匹配結(jié)果(步驟s733)。詳細(xì)來說,位移比較器350根據(jù)匹配寄存器340_1、340_2、340_3及340_4中位移后的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果“2’b000000000000…”至中介寄存器360中的寄存器360_0至360_(m-1),作為第二匹配結(jié)果。接著,將掩碼右移4個比特成為“2’b000000001000…”,用以指示此迭代連續(xù)匹配預(yù)期出現(xiàn)的結(jié)束位置的后一位置為第9個的信息(步驟s735),應(yīng)用掩碼至第二匹配結(jié)果并鎖存應(yīng)用后的結(jié)果“2’b000000000000…”至掩碼寄存器370,以及根據(jù)應(yīng)用后的結(jié)果判斷是否包含任何為“2’b1”的比特(步驟s737)。由于應(yīng)用后的結(jié)果“2’b000000000000…”沒有包含任何“2’b1”的比特(步驟s737中“否”的路徑),控制器391輸出匹配長度寄存器393的值(步驟s771)。于此可了解的是,應(yīng)用圖2的最長字符串匹配器及圖6的加速壓縮方法只能輸出n的倍數(shù)的匹配長度。

為了解決如上所述的缺陷,本發(fā)明實(shí)施例還另提供一種最長字符串匹配器及加速壓縮方法。圖8a及圖8b是根據(jù)本發(fā)明實(shí)施例的最長字符串匹配器的方塊圖。本發(fā)明實(shí)施例可另包含多輸入單輸出或門960,每一個輸入端連接至中介寄存器930_1~930_4其中之一,即連接至選擇器971的輸出端,并且可包含樹狀組織的或門。當(dāng)由選擇器971選出的中介寄存器930_1~930_4其中之一存在至少一個“2’b1”時,多輸入單輸出或門960輸出“2’b1”。當(dāng)由選擇器971選出的中介寄存器930_1~930_4其中之一的所有位置均為“2’b0”時,多輸入單輸出或門960輸出“2’b0”。初始時,透過多輸入單輸出或門960檢查中介寄存器930_1~930_4其中之一的所有位置均鎖存“2’b0”。如果是,控制器950輸出匹配長度寄存器393中的值;否則,控制器950控制預(yù)取緩存器320以鎖存n個字符320_1至320_n,n可為4。

除了如圖2中所示的滑動窗口緩存器310、預(yù)取緩存器320、字符串比較器330_1至330_4、匹配寄存器340_1至340_4、掩碼寄存器370及匹配長度寄存器393之外,本發(fā)明實(shí)施例可將位移比較器350置換為四級位移比較器910_1至910_4,并且配置四個中介寄存器930_1至930_4分別連接至位移比較器910_1至910_4。圖9a是根據(jù)本發(fā)明實(shí)施例的第1級位移比較器的方塊圖。第1級位移比較器910_1將“2’b0”鎖存至中介寄存器930_1中的寄存器930_1_0,以及將匹配寄存器340_1的值右移1個比特并依序鎖存至中介寄存器930_1中的寄存器930_1_1至930_1_255。當(dāng)中介寄存器930_1中的寄存器930_1_j為“2’b1”時,代表滑動窗口緩存器310的第“j-1”個字符與預(yù)取緩存器320中的第一個字符相符,其中j為1至255間的任意整數(shù)。具體來說,第1級位移比較器910_1包含255個邏輯與門1010_0至1010_254。與門1010_i將匹配寄存器340_1中的寄存器340_1_i的值和自己進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至中介寄存器930_1中的寄存器930_1_(i+1),其中i為0至254間的任意整數(shù)。

圖9b是根據(jù)本發(fā)明實(shí)施例的第2級位移比較器的方塊圖。第2級位移比較器910_2將“2’b0”鎖存至中介寄存器930_2中的寄存器930_2_0及930_2_1,將匹配寄存器340_1及340_2的值分別右移2個及1個比特,將位移后的結(jié)果進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果至中介寄存器930_2中的寄存器930_2_2至930_2_255。當(dāng)中介寄存器930_2中的寄存器930_2_j為“2’b1”時,代表滑動窗口緩存器310的第“j-2”及“j-1”個字符與預(yù)取緩存器320中的前二個字符相符,其中j為2至255間的任意整數(shù)。具體來說,第2級位移比較器930_2可包含254個邏輯與門1020_0至1020_253。與門1020_i將匹配寄存器340_1中的寄存器340_1_i的值和匹配寄存器340_2中的寄存器340_2_(i+1)的值進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至中介寄存器930_2中的寄存器930_2_(i+2),其中i為0至253間的任意整數(shù)。

圖9c是根據(jù)本發(fā)明實(shí)施例的第3級位移比較器的方塊圖。第3級位移比較器910_3將“2’b0”鎖存至中介寄存器930_3中的寄存器930_3_0至930_3_2,將匹配寄存器340_1、340_2及340_3的值分別右移3個、2個及1個比特,將位移后的結(jié)果進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果至中介寄存器930_3中的寄存器930_3_3至930_3_255。當(dāng)中介寄存器930_3中的寄存器930_3_j為“2’b1”時,代表滑動窗口緩存器310的第“j-3”至“j-1”個字符與預(yù)取緩存器320中的前三個字符相符,其中j為3至255間的任意整數(shù)。具體來說,第3級位移比較器910_3可包含506個與門1030_0_0至1030_0_252及1030_1_0至1030_1_252。與門1030_0_i將匹配寄存器340_1中的寄存器340_1_i的值和匹配寄存器340_2中的寄存器340_2_(i+1)的值進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至與門1030_1_i,并且與門1030_1_i將匹配寄存器340_3中的寄存器340_3_(i+2)的值和與門1030_0_i的輸出結(jié)果進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至中介寄存器930_3中的寄存器930_3_(i+3),其中i為0至252間的任意整數(shù)。

圖9d是根據(jù)本發(fā)明實(shí)施例的第4級位移比較器的方塊圖。第4級位移比較器910_4將“2’b0”鎖存至中介寄存器930_4中的寄存器930_4_0至930_4_3,將匹配寄存器340_1、340_2、340_3及340_4的值分別右移4個、3個、2個及1個比特,將位移后的結(jié)果進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果至中介寄存器930_4中的寄存器930_4_4至930_4_255。當(dāng)中介寄存器930_4中的寄存器930_4_j為“2’b1”時,代表滑動窗口緩存器310的第“j-4”至“j-1”個字符與預(yù)取緩存器320中的全部四個字符相符,其中j為4至255間的任意整數(shù)。具體來說,第4級位移比較器910_4可包含756個與門1040_0_0至1040_0_251、1040_1_0至1040_1_251及1040_2_0至1040_2_251。與門1040_0_i將匹配寄存器340_1中的寄存器340_1_i的值和匹配寄存器340_2中的寄存器340_2_(i+1)的值進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至與門1040_2_i,與門1040_1_i將匹配寄存器340_3中的寄存器340_3_(i+2)的值和匹配寄存器340_4中的寄存器340_4_(i+3)的值進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至與門1040_2_i,并且與門1040_2_i將與門1040_0_i的輸出結(jié)果與門1040_1_i的輸出結(jié)果進(jìn)行邏輯及運(yùn)算,并輸出結(jié)果至中介寄存器930_4中的寄存器930_4_(i+4),其中i為0至251間的任意整數(shù)。

本發(fā)明實(shí)施例可將圖2的結(jié)果檢查器381置換為結(jié)果檢查器973。本發(fā)明實(shí)施例可另包含選擇器971,用以根據(jù)控制器950的控制訊號將中介寄存器930_1至930_4中的一個連接至多輸入單輸出或門960及結(jié)果檢查器973中的一個。控制器950控制選擇器971將中介寄存器930_4連接至多輸入單輸出或門960,接著透過多輸入單輸出或門960檢查中介寄存器930_4中是否包含至少一個“2’b1”。當(dāng)中介寄存器930_4中包含至少一個“2’b1”時,控制器950將掩碼寄存器370的值右移4個比特,并且控制選擇器971將中介寄存器930_4連接至結(jié)果檢查器973。結(jié)果檢查器973將位移后的掩碼寄存器370的值及中介寄存器930_4的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,將運(yùn)算結(jié)果更新回掩碼寄存器370,并且檢查運(yùn)算結(jié)果中是否包含任何為“2’b1”的比特。當(dāng)結(jié)果寄存器383鎖存的值為“2’b1”時,控制器950將匹配長度寄存器393的值加4,并且控制預(yù)取緩存器320以鎖存下四個字符。

接著,當(dāng)中介寄存器930_4中全部為“2’b0”時,控制器950控制選擇器971將中介寄存器930_3連接至多輸入單輸出或門960,接著透過多輸入單輸出或門960檢查中介寄存器930_3中是否包含至少一個“2’b1”。當(dāng)中介寄存器930_3中包含至少一個“2’b1”時,控制器950將掩碼寄存器370的值右移3個比特,并且控制選擇器971將中介寄存器930_3連接至結(jié)果檢查器973。結(jié)果檢查器973將位移后的掩碼寄存器370的值及中介寄存器930_3的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,將運(yùn)算結(jié)果更新回掩碼寄存器370,并且檢查運(yùn)算結(jié)果中是否包含任何為“2’b1”的比特。當(dāng)結(jié)果寄存器383鎖存的值為“2’b1”時,控制器950將匹配長度寄存器393的值加3,并將匹配長度寄存器393的值輸出作為匹配長度。

接著,當(dāng)中介寄存器930_3中全部為“2’b0”時,控制器950控制選擇器971將中介寄存器930_2連接至多輸入單輸出或門960,接著透過多輸入單輸出或門960檢查中介寄存器930_2中是否包含至少一個“2’b1”。當(dāng)中介寄存器930_2中包含至少一個“2’b1”時,控制器950將掩碼寄存器370的值右移2個比特,并且控制選擇器971將中介寄存器930_2連接至結(jié)果檢查器973。結(jié)果檢查器973將位移后的值及中介寄存器930_2的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,將運(yùn)算結(jié)果更新回掩碼寄存器370,并且檢查運(yùn)算結(jié)果中是否包含任何為“2’b1”的比特。當(dāng)結(jié)果寄存器383鎖存的值為“2’b1”時,控制器950將匹配長度寄存器393的值加2,并將匹配長度寄存器393的值輸出作為匹配長度。

接著,當(dāng)中介寄存器930_2中全部為“2’b0”時,控制器950控制選擇器971將中介寄存器930_1連接至多輸入單輸出或門960,接著透過多輸入單輸出或門960檢查中介寄存器930_1中是否包含至少一個“2’b1”。當(dāng)中介寄存器930_2中包含至少一個“2’b1”時,控制器950將掩碼寄存器370的值右移1個比特,并且控制選擇器971將中介寄存器930_1連接至結(jié)果檢查器973。結(jié)果檢查器973將位移后的值及中介寄存器930_1的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,將運(yùn)算結(jié)果更新回掩碼寄存器370,并且檢查運(yùn)算結(jié)果中是否包含任何為“2’b1”的比特。當(dāng)結(jié)果寄存器383鎖存的值為“2’b1”時,控制器950將匹配長度寄存器393的值加1,并將匹配長度寄存器393的值輸出作為匹配長度。當(dāng)結(jié)果寄存器383鎖存的值為“2’b0”時,控制器950直接將將匹配長度寄存器393的值輸出作為匹配長度。

圖10是根據(jù)本發(fā)明實(shí)施例的結(jié)果檢查器的方塊圖。結(jié)果檢查器973可包含256個邏輯與門1110_0至1110_255及多輸入單輸出或門1130。與門1110_i將中介寄存器930_j中的寄存器930_j_i的值和掩碼寄存器370中的寄存器370_i的值進(jìn)行邏輯及運(yùn)算,輸出結(jié)果至寄存器370_i以鎖存運(yùn)算結(jié)果,及輸出結(jié)果至多輸入單輸出或門1130,其中,i為0至255間的任意整數(shù),j為1至4間的任意整數(shù)。多輸入單輸出或門1130可包含樹狀組織的或門,將與門1110_0至與門1110_255的輸出結(jié)果進(jìn)行邏輯或運(yùn)算,并輸出運(yùn)算結(jié)果至結(jié)果寄存器383。當(dāng)至少一個輸入端為“2’b1”時,多輸入單輸出或門1130輸出“2’b1”。當(dāng)所有輸入端均為“2’b0”時,多輸入單輸出或門1130輸出“2’b0”。

圖11a及圖11b是根據(jù)本發(fā)明實(shí)施例的加速壓縮的方法流程圖。此方法使用圖8a及圖8b所示的壓縮加速器20執(zhí)行,用以獲得二個字符串間(亦即是第一字符串及第二字符串間)的最大匹配長度。將掩碼中的m個比特的每一個初始化為第一值(如“2’b1”)及將匹配長度初始化為0,m可為256(步驟s711),以及將第一字符串中的前n個字符當(dāng)作源字符串(步驟s713)。初始掩碼可鎖存于掩碼寄存器370,初始匹配長度可鎖存于匹配長度寄存器393,而初始源字符串可鎖存于預(yù)取緩存器320。接著,反復(fù)執(zhí)行一個外循環(huán),以獲得第一字符串及第二字符串間的最大匹配長度(包含步驟s731至s771及步驟s1211至s1273)。在外循環(huán)的每一迭代中,詳細(xì)來說,將源字符串中的所有字符單獨(dú)地與第二字符串中的所有字符比較以生成n個第一匹配結(jié)果(步驟s731),在一實(shí)施例中,步驟s731的n個比較步驟是并行執(zhí)行的,然后根據(jù)第一匹配結(jié)果生成n級第二匹配結(jié)果,其中,每一級匹配結(jié)果用以儲存源字符串的一部份是否被包含于第二字符串的信息(步驟s1211),將k設(shè)為n(步驟s1213),以及執(zhí)行一個內(nèi)循環(huán)(包含步驟s771及步驟s1230至s1273)。第二字符串可鎖存于滑動窗口緩存器310。步驟s731可使用如上所述的字符串比較器330_1至330_4完成,而第一匹配結(jié)果可鎖存于匹配寄存器340_1至340_4。步驟s1211可使用如上所述的四級位移比較器910_1至910_4完成,而四級第二匹配結(jié)果可鎖存于中介寄存器930_1至930_4。在內(nèi)循環(huán)的每一迭代中,判斷k級第二匹配結(jié)果是否包含至少一個“2’b1”(步驟s1230)。當(dāng)k級第二匹配結(jié)果包含至少一個“2’b1”時(步驟s1230中“是”的路徑),將掩碼右移k個比特以指示此迭代連續(xù)匹配預(yù)期出現(xiàn)的結(jié)束位置的后一位置的信息(步驟s1240),應(yīng)用掩碼至k級第二匹配結(jié)果以判斷是否存在連續(xù)k個字符的匹配(步驟s1251)。步驟s1240可使用如上所述的控制器950完成。步驟s1251可使用如上所述的結(jié)果檢查器973完成,而判斷結(jié)果可鎖存于結(jié)果寄存器383。當(dāng)存在連續(xù)k個字符的匹配時(步驟s1251中“是”的路徑),判斷k是否等于n(步驟s1253)。當(dāng)不存在連續(xù)k個字符的匹配時(步驟s1251中“否”的路徑),即本輪匹配的k個字符與前一外循環(huán)匹配的n個字符不連續(xù),則執(zhí)行步驟s1271。當(dāng)k等于n時(步驟s1253中“是”的路徑),將匹配長度加n(步驟s751),將鎖存于掩碼寄存器370的掩碼更新為如步驟s1251中的應(yīng)用結(jié)果(步驟s753),以及將第一字符串中之后的n個字符當(dāng)作源字符串(步驟s755),k等于n則說明本次比較的n個連續(xù)的源字符全部匹配,因此流程返回步驟s731以繼續(xù)進(jìn)行下一個迭代的外循環(huán)繼續(xù)向后尋找最長匹配。步驟s751及s755可使用如上所述的控制器950完成。新的源字符串鎖存于預(yù)取緩存器320。當(dāng)k不等于n時(步驟s1253中“否”的路徑),將匹配長度加k(步驟s1255),以及輸出匹配長度(步驟s771)。當(dāng)k級第二匹配結(jié)果不包含至少一個“2’b1”時(步驟s1230中“否”的路徑),將k減1(步驟s1271),以及判斷k是否小于1(步驟s1273)。當(dāng)k小于1時(步驟s1273中“是”的路徑),輸出匹配長度(步驟s771)。當(dāng)k不小于1時(步驟s1273中“否”的路徑),執(zhí)行內(nèi)循環(huán)下一迭代的處理(回到步驟s1230)。值得注意的是,在一實(shí)施例中,內(nèi)循環(huán)的步驟s771及步驟s1230至s1273中k級第二匹配結(jié)果的檢查可以在硬件上并行執(zhí)行,即4級的第二匹配結(jié)果是否包含“2’b1”且其出現(xiàn)“2’b1”的位置是否與外循環(huán)的前一迭代確定的n個匹配字符連續(xù)可以并行執(zhí)行,然后在步驟s1255輸出最大的k值。此外,在一些實(shí)施例中也不必一定執(zhí)行步驟s1240掩碼右移k個比特的步驟,也可采用其他方式判斷本迭代匹配的k個字符的位置是否與外循環(huán)的前一迭代確定的n個匹配字符的位置連續(xù)。

以下舉出實(shí)例說明圖8a及圖8b的最長字符串匹配器及圖11a及圖11b的加速壓縮方法。圖12是根據(jù)本發(fā)明實(shí)施例的最大匹配長度計算示意圖。假設(shè)第一字符串包含“a”、“b”、“f”和“d”的字符,而第二字符串包含“a”、“b”、“c”、“d”、“e”、“f”、“a”、“b”、“c”、“d”、“e”、“f”等等的字符:將掩碼中的m個比特的每一個初始化為“2’b1”及將匹配長度初始化為0(步驟s711),以及將第一字符串中的字符“a”、“b”、“f”和“d”當(dāng)作源字符串,并分別鎖存于寄存器320_1至320_4(步驟s713)。接著,使用字符串比較器330_1至330_4將源字符“a”、“b”、“f”及“d”單獨(dú)地與第二字符串中的所有字符比較以生成4個第一匹配結(jié)果(步驟s731)。詳細(xì)來說,字符串比較器330_1比較源字符“a”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b100000100000…”至匹配寄存器340_1。字符串比較器330_2比較源字符“b”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b010000010000…”至匹配寄存器340_2。字符串比較器330_3比較源字符“f”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b000001000001…”至匹配寄存器340_3。字符串比較器330_4比較源字符“d”及第二字符串中的所有字符后,生成并鎖存第一匹配結(jié)果“2’b000100000100…”至匹配寄存器340_4。接著,位移比較器910根據(jù)第一匹配結(jié)果生成n級第二匹配結(jié)果(步驟s1211)。詳細(xì)來說,位移比較器910_1根據(jù)匹配寄存器340_1中位移后的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果“2’b010000010000…”至中介寄存器930_1中的寄存器930_1_0至930_1_(m-1),作為1級第二匹配結(jié)果。位移比較器910_2根據(jù)匹配寄存器340_1及340_2中位移后的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果“2’b001000001000…”至中介寄存器930_2中的寄存器930_2_0至930_2_(m-1),作為2級第二匹配結(jié)果。位移比較器910_3根據(jù)匹配寄存器340_1、340_2及340_3中位移后的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果“2’b000000000000…”至中介寄存器930_3中的寄存器930_3_0至930_3_(m-1),作為3級第二匹配結(jié)果。位移比較器910_4根據(jù)匹配寄存器340_1、340_2、340_3及340_4中位移后的值進(jìn)行以比特為基礎(chǔ)的邏輯及運(yùn)算,并且鎖存運(yùn)算結(jié)果“2’b000000000000…”至中介寄存器930_4中的寄存器930_4_0至930_4_(m-1),作為4級第二匹配結(jié)果。由于4級及3級第二匹配結(jié)果不包含至少一個“2’b1”而2級第二匹配結(jié)果包含至少一個“2’b1”(步驟s1230),將掩碼右移2個比特成為“2’b001111111111”,以指示此迭代連續(xù)匹配預(yù)期出現(xiàn)的結(jié)束位置的后一位置為第3個(步驟s735),應(yīng)用掩碼至2級第二匹配結(jié)果并鎖存應(yīng)用后的結(jié)果“2’b001000001000…”至掩碼寄存器370,以及根據(jù)應(yīng)用后的結(jié)果判斷是否包含任何為“2’b1”的比特(亦即是,是否存在連續(xù)2個字符的匹配)(步驟s1251)。由于應(yīng)用后的結(jié)果“2’b001000001000…”包含至少一個“2’b1”的比特(步驟s737中“是”的路徑),控制器391更新匹配長度寄存器393的值為0+2=2(步驟s1255),輸出匹配長度寄存器393的值(步驟s771)。于此可了解的是,應(yīng)用圖8a及圖8b的最長字符串匹配器及圖11a及圖11b的加速壓縮方法可輸出任意的匹配長度。

圖13是根據(jù)本發(fā)明實(shí)施例的加速壓縮的方法流程圖。此方法使用圖2或圖8a及圖8b所示的壓縮加速器20執(zhí)行。此方法初始時提供第一字符串及第二字符串(步驟s1410),以及反復(fù)執(zhí)行循環(huán),以計算第一字符串及第二字符串間的最大匹配長度(步驟s1420至s1480)。在循環(huán)的每一迭代中,從第一字符串中取得n個連續(xù)字符作為源字符串,其中,除第一迭代外,上述n個連續(xù)字符接續(xù)上一迭代取得的字符串(步驟s1420);將源字符串中的各個字符單獨(dú)地與第二字符串中的所有字符比較以生成n個第一匹配結(jié)果,此亦可稱為豎向比較(步驟s1430);根據(jù)第一匹配結(jié)果生成第二匹配結(jié)果(步驟s1440);提供掩碼(步驟s1450);以及根據(jù)上述第二匹配結(jié)果判斷是否存在上述n個連續(xù)字符的匹配(步驟s1460)。當(dāng)不存在上述n個連續(xù)字符的匹配時(步驟s1460中“否”的路徑),更新并輸出匹配長度(步驟s1470);以及當(dāng)存在上述n個連續(xù)字符的匹配時(步驟s1460中“是”的路徑),將上述匹配長度加上n(步驟s1480)及繼續(xù)上述循環(huán)的下一迭代。關(guān)于步驟s1420的技術(shù)細(xì)節(jié),可參考步驟s713及s755的說明。關(guān)于步驟s1430的技術(shù)細(xì)節(jié),可參考步驟s731的說明。于此須注意的是,以硬件實(shí)現(xiàn)的并行比較相較于軟件的程序更具效率。關(guān)于步驟s1440的技術(shù)細(xì)節(jié),可參考步驟s733或s1211的說明。關(guān)于步驟s1450的技術(shù)細(xì)節(jié),可參考步驟s735的說明。關(guān)于步驟s1460的技術(shù)細(xì)節(jié),可參考步驟s737或s1251的說明。關(guān)于步驟s1470的技術(shù)細(xì)節(jié),可參考步驟s771及s1255的說明。關(guān)于步驟s1480的技術(shù)細(xì)節(jié),可參考步驟s751的說明。

雖然圖1至圖5及圖8至圖10中包含了以上描述的元件,但不排除在不違反發(fā)明的精神下,使用更多其他的附加元件,以達(dá)成更佳的技術(shù)效果。此外,雖然圖6、11及13的方法流程圖采用特定的順序來執(zhí)行,但是在不違反發(fā)明精神的情況下,本領(lǐng)域技術(shù)人員可以在達(dá)到相同效果的前提下,修改這些步驟間的順序,所以,本發(fā)明并不局限于僅使用如上所述的順序。

雖然本發(fā)明使用以上實(shí)施例進(jìn)行說明,但需要注意的是,這些描述并非用以限縮本發(fā)明。相反地,此發(fā)明涵蓋了本領(lǐng)域技術(shù)人員顯而易見的修改與相似設(shè)置。所以,申請權(quán)利要求范圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設(shè)置。

符號說明

10微處理器;

110末級緩存;

130加速器接口;

150_1~150_i加速器;

170_1~170_j處理器核心;

20壓縮加速器;

310滑動窗口緩存器;

310_0~310_255向量寄存器;

320預(yù)取緩存器;

320_1~320_4向量寄存器;

330_1~330_4字符串比較器;

340_1~340_4匹配寄存器;

340_1_0~340_1_255寄存器;

340_2_0~340_2_255寄存器;

340_3_0~340_3_255寄存器;

340_4_0~340_4_255寄存器;

350位移比較器;

360中介寄存器;

360_0~360_255寄存器;

370掩碼寄存器;

370_0~370_255寄存器;

381結(jié)果檢查器;

383結(jié)果寄存器;

391控制器;

393匹配長度寄存器;

400_0~400_2558比特數(shù)字比較器;

540_0_0~540_0_255邏輯與門;

540_1_0~540_1_255邏輯與門;

540_2_0~540_2_255邏輯與門;

610_0~610_255邏輯與門;

630多輸入單輸出或門;

s711~s771方法步驟;

910_1~910_4位移比較器;

930_1~930_4中介寄存器;

930_1_0~930_1_255寄存器;

930_2_0~930_2_255寄存器;

930_3_0~930_3_255寄存器;

930_4_0~930_4_255寄存器;

950控制器;

960多輸入單輸出或門;

971選擇器;

973結(jié)果檢查器;

1010_0~1010_254邏輯與門;

1020_0~1020_253邏輯與門;

1030_0_0~1030_0_252、1030_1_0~1030_1_252邏輯與門;

1040_0_0~1040_0_251、1040_1_0~1040_1_251、1040_2_0~1040_2_251邏輯與門;

1110_0~1110_255邏輯與門;

1130多輸入單輸出或門;

s1211~s1273方法步驟;

s1410~s1470方法步驟。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1