經濟部智慧財產局員工消費合作社印製 550457 8 10 3 twf. do c/0 0 9 五、發明說明(/ ) 發明領域 本發明是有關於一種記憶體定址,且特別是有關於一 種用於如數位訊處理器的數位系統之循環區域的定址。 習知技術敘述 循環定址(Circular Addressing),也稱爲模(modulo)定 址,普遍使用在數位訊號處理及其他的資料處理應用上。 在使用循環定址之區域(Buffer)中,需先設定其位址分佈 範圍。在產生用於循環區域的位址中,目標位址乃經由目 前位址加上偏移値而產生。如果目前位址及偏移値的和所 指到的位址超出所指定的位址範圍時,則目標位址會繞折 到循環區域之相反的一邊。 已有若干用於產生循環區域定址的方法,已用在習 知技術上。一^種達成循環定址的普遍方法就是定義出兩個| 淸楚的參數來設定循環區域之上下邊界。在此方法中,# 用者可以任意地於可用記憶體中定義循環區域的位置。g 而,此種方法需要兩個暫存器來儲存上下邊界,並且 較複雜的邏輯來計算下個位址,因而位址產生邏輯 爲整個設計的速度瓶頸。所以需要有其他的方法,將 化。 產生用於循環區域之定址的另一種方法已經敘 Roesgen所發明的美國專利案第4800524號中。在 專利的方法中,循環區域係藉由單一區域長度參數, 用於循環區域的目前資料存取位址而定義得出,而 域的下邊界隱含於目前位址及區域長度內。其下邊界 5 (請先閱讀背面之注意事項再填寫本頁) --------訂--------- 本紙張尺度適用中0國家標準(CNS)Al規格(21〇χ 297公坌) 經濟部智慧財產局員工消費合作社印製 550457 Λ/ 8103twf.doc/009 B7 五、發明說明(>) 目前位址之低階N個位元均以〇取代而得’若區域長度以 二進位表示時,其中的N爲領先(最左側)1的位元位置。 下邊界既已得出,則上邊界可由下邊界加上區域長度而 得。此種方法比需要淸楚設定出上下邊界的方法更簡單。 然而,因爲可用邊界的限制設定,使記憶體的使用沒有效 率。 產生循環位址之習知技術的其它方法敘述在Lane所 發明的美國專利案第4202035號;Taber所發明的美國專 利案第4809156號;Catherwood,et al.所發明的美國專利 案第5249148號;以及Shddhai*,et al·所發明的美國專利案 第5381360號中。 因爲依賴的循環定址的數位訊號處理應用之複雜度已 增加’所以對於如此的應用,增加彈性與減化位址產生器 的需要也愈重要。 靈服摘要 本發明提出一種用於記憶體中之循環區域(Circular Buffer)的位址產生裝置,其中循環區域的上邊界隱含於目 前資料存取位址內。此種方法可單獨應用,或者結合以隱 藏式下邊界爲基準之循環區域,進而改善記憶體的使用效 率’以及增加積體電路之循環區域設計上的彈性。 根據本發明之實施例的位址產生器包括數個輸入及 邏輯。其中,這些個輸入係用以接收目前位址A、位址偏 移Μ、區域長度値L及一控制訊號。而所組成的邏輯係回 應於A、Μ、以及L,而用以計算出用於記憶體中的位置 ---- 6 本我浓過用中阀0家標準(CNS)A!規格(2丨〇χ 297公g (請先閱讀背面之注意事項再填寫本頁) — —— — — —— ^ « — — — — — — I— · 550457 8103twf.doc/009 Λ7 H7 經濟部智慧財產局員工消費合作社印製 五、發明說明(i ) 之第一個記憶體位址及第二個記憶體位址。以及回應於控 制訊號,用以選擇第一個記憶體位址或第二個記憶體位址 爲輸出。其中用於具有位址邊界X與包括從位址X到位 址(Χ+L)之第一循環區域的第一記憶體位址係等於目前位 址A加上位址偏移Μ。以及用於具有位址邊界Y與包括 從位址Υ到位址(Y-L)之第二循環區域的第二記憶體位址 係等於目前位址Α加上位址偏移Μ。 當區域長度L的値以二進位表示時,在位元位置Ν, 具有一領先(leading)l。若以隱藏式下邊界爲基底,則其下 / 邊界X係由目前位址A並令其低階N個位元均爲0所得 出。若以隱藏式上邊界爲基底,則其上邊界Y係由目前位 址A並令其低階N個位元均爲1所得出。 在不同實施例中,這些輸入A、Μ與L可以來自儲存 它們的暫存器。控制訊號也可來自儲存區的暫存器中。 在本實施例中,位址產生器所使用的邏輯包括第一加 法器、第二加法器、以及選擇邏輯。其中,第一加法器係 用以產生第一輸出,其値等於Α+Μ,同時具有進位輸出。 第二加法器係用以產生第二輸出,當Μ的符號爲正時, 苐一輸出等於第一^繞折位址(A+M)-(L+1),同時具有進位 輸出。或當Μ的符號爲負時,第二輸出等於第二繞折位 址(A+M)+(L+1),同時具有進位輸出。而選擇邏輯係回應 於來自第一加法器的進位輸出訊號及第二加法器的進位輸 出訊號,而用以選擇第一輸出或第二輸出。在一較佳實施 例中’第一加法器與第二加法器可以被同時具有隱藏式卞 -- 7 (請先閱讀背面之注意事項再填寫本頁) -
I I I I I 1 I ^ ---I I ! > - ---------I 本紙張尺/艾過用中(¾阀家揉準(CNS)A1規格G10 297公坌) 550457 8103twf.doc/009 Λ7 H7 經濟部智慧財產局員工消費合作社印製 五、發明說明(久) 位址邊界的循環區域及隱藏式上位址邊界的循環區域的位 址產生器所共用。 在另外的實施例中,其中L在位元位置N,具有一 適先1 °右以隱藏式下邊界爲基底,其下邊界X係將目前 位址A之低階N個位元均爲〇取代而得。若以隱藏式上 邊界爲基底,其上邊界Y係將目前位址A之低階N個位 元均爲1取代而得。第一加法器與第二加法器會於每個位 元權產生進位輸出,而優先選擇器係回應於L,並提供邏 輯,使來自加法器中之第N個位置位元的進位爲輸出。因 此,在此實施例中,另一選擇邏輯的運作係回應於來自第 一加法器與第二加法器之來自第N個位元位置的進位輸出 訊號,而用以選擇第一輸出或第二輸出。 對同時使用隱藏式下位址邊界與隱藏式上位址邊界 的循環區域之實施例而言,所組成的選擇邏輯爲: 選擇到第一加法器的輸出的情況有: 當控制訊號係設定用於第一記憶體位址、位址偏 移爲正、以及來自第一加法器與第二加法器之進位輸出均 非爲1,或 s控制訊號係設定用於第一 §己憶體位址、位址偏 移爲負、以及來自第一加法器之進位輸出爲1,或 當控制訊號係設定用於第二記憶體位址、位址偏 移爲正、以及來自第一加法器之進位輸出爲爲0,或 當控制訊號係設定用於第二記憶體位址、位址偏 移爲負、以及來自第一加法器與第二加法器之進位輸出都 8 (請先閱讀背面之注意事項再填寫本頁)
P ϋ 1 ϋ ϋ ϋ I ·1^PJ· 1 ϋ 線· 本紙張尺/1適用中闷國家標準(CNS)Al規格(2Κ)χ 297公坌) 經濟部智慧財產局員工消費合作社印製 550457 Λ/
Rl〇3twf.doc/ 009____ By 五、發明說明) 爲1 ; 選擇到第二加法器的輸出的情況有, 當控制訊號係設定用於第一記憶體位址、位址偏 移爲正、以及來自第一加法器或第二加法器之進位輸出至 少一個爲1,或 當控制訊號係設定用於第一記憶體位址、位址偏 移爲負、以及來自桌一加法器之進位輸出爲〇,或 當控制訊號係設定用於第二記憶體位址、位址偏 移爲正、以及來自第一加法器之進位輸出爲1,或 當控制訊號係設定用於第二記憶體位址、位址偏 移爲負、以及來自第一加法器或第二加法器之進位輸出至 少一個爲〇。 對單獨使用隱藏式上位址邊界之實施例而言,所組 成的選擇邏輯: 選擇到第一加法器的輸出的情況有, 當位址偏移爲正,以及來自第一加法器之進位 輸出爲〇,或 當位址偏移爲負,以及來自第一加法器與第二 加法器之進位輸出都爲1;以及 選擇到第二加法器的輸出的情況有, 當位址偏移爲正,以及來自第一加法器之進位 輸出爲1,或 當位址偏移爲負,以及來自第一加法器或第二 加法器之進位輸出至少一個爲〇。 衣紙張复确用中阀國家標準(CNS)Al规格(210 x 297公坌) (請先閱讀背面之注意事項再填寫本頁)
-·1111111 ·11111111 — — — — — —— — — — — - — II - — II 經濟部智慧財產局員工消費合作社印製 550457 Λ7 8103twf.doc/009 β7 五、發明說明) 本發明也可藉由積體電路來實施,此積體電路包括 處理器核心、數個暫存儲存器、記憶體、以及用於記憶體 的位址產生器。其中,這些暫存儲存器係用以儲存目前位 址A、偏移値Μ與區域長度L。如上所述,根據本發明的 實施例中,所組成的位址產生器可以單獨使用隱藏式上位 址邊界,或者是使用隱藏式上位址邊界與隱藏式下位址邊 界的結合。 本發明之其他目的和優點,將配合所附圖示,做說明 如下: 圖式簡單說明: 第1圖繪示的是本發明之具有隱藏式上/下邊界循環 位址產生器的積體電路處理器之簡化方塊圖; 第2a、2b、以及2c圖分別繪示的是用於習知技術之 隱藏式下位址邊界的循環區域的位址分佈示意圖、用於本 發明之一隱藏式上位址邊界的循環區域的實施例之位址分 佈示意圖、以及用於本發明之一結合隱藏式上位址邊界與 隱藏式下位址邊界的循環區域的實施例之位址分佈示意 圖; 第3圖繪示的是根據習知技術之以隱藏式下位址邊界 爲基底的循環位址產生器的簡化邏輯圖; 第4圖繪示的是根據本發明之一以隱藏式上位址邊界 爲基底的循環位址產生器之實施例的簡化邏輯圖; 第5圖繪不的是根據本發明之一*結合B藏式上位址邊 界與隱藏式下位址邊界的循環位址產生器之實施例的邏輯 10 (請先閱讀背面之注意事項再填寫本頁) · ϋ ϋ I ϋ ϋ I 1^0, * ββ n ϋ ϋ ^1 ϋ I ϋ ^1 n ϋ ^1 ϋ ^1 ^1 n n ϋ n ϋ n I— n 本紙張尺度適用中國國家標準(CNSM1規恪(210^297公坌) 550457 Λ7 8103twf.doc/009 H7 經濟部智慧財產局員工消費合作社印製 五、發明說明( 圖;以及 第6圖繪示的是根據本發明之一隱藏式上位址邊界的 循環位址產生器之實施例的邏輯圖,圖中顯示藉由優先權 選擇器,會選擇到在位置N的進位輸出。 重要元件標號: 10 :積體電路裝置 程式記憶體 處理器核心 暫存器集合 資料記憶體 循環位址產生器 • 202、301、302、401、402、501、502 :力□法器 > 303、403、503 : Exclusive NOR 閘 ,430 : OR 閘 ,429 :反相器 • 207 、 208 、 209 、 210 、 211 • 310 、 311 、 312 、 415 、 416 314 :多工器 NAND 閘 11 : 12 ·· 13 : 14 : 15 : 201 203 204 205 206 309 213 305 404 407 408 409 410 214 405 406 (請先閱讀背面之注意事項再填寫本頁) 212 、 306 、 307 、 308 、 515 、 516 :線 313 505 423、426、504、506 :多工器 507 :目前位址A 508 :偏移値Μ 509 :區域長度L 510 ··偏移値Μ之符號位兀 11 — — — — — — — — — — — — — — — — I — — — — — — Ι1ΙΙΙΙΙΙΙΙΙΙ — — — — — 本紙張&/复適用中网國家標準(CNSM1規格(21〇χ 297公坌) 550457 8103twf.doc/009 Λ7 H7 經濟部智慧財產局員工消費合作社印製 五、發明說明(2) 411、 511 : Exclusive NOR 閘之輸出 412、 512 :絕對位址 413、 513 :繞折位址 414、 514 :目標位址 417、418、424、425、427、428、431、518 :接線 419、420、519、520 :進位輸出 421、422、521、522 :優先權選擇器 431 :上/下邊界基底控制訊號 517 : NAND閘的輸出 較佳實施例: 本發明所提出的實施例將配合第1-6圖做詳細描述。 在第1圖中,積體電路處理器之簡化圖包括用於本 發明的位址產生器。積體電路裝置10包括程式記憶體11、 資料記憶體14、以及處理器核心12。如此的處理器核心12 包括用於資料記憶體存取的循環位址產生器15、含有定義 循環區域之參數的暫存器集合(Register file)13、以及如指 令解碼器,算數邏輯單元(ALU)等的其他邏輯。根據本發 明之循環位址產生器15可用以管理資料記憶體14中的區 域(Buffer),其具有長度(L+1)及可選擇的邊界基底,其可 以以隱藏式上邊界爲基準,或者可以以隱藏式上邊界及隱 藏式下邊界的結合爲基準。 例如,處理器核心12執行來自程式記憶體11的指 令。指令包括直接位址指令與間接位址指令。間接位址指 令則依賴循環位址產生器輔助完成。用於循環位址產生器 12 — II ί — — — — — — — — ·1111111 « — — — — —— I— (請先閲讀背面之注意事項再填寫本頁) 本纸張尺度適用中(¾國家標準(CNS)A丨規格(210 X 297公呈) 550457 8103twf.doc/009 Λ7 H7 五、發明說明(气) 之參數則儲存於暫存器集合13中。在本實施例中,有四 組可程式循環區域暫存器,每組包括用以儲存目前位址A 的第一暫存器、用以儲存偏移値Μ的第二暫存器、以及 用以儲存區域長度値L的第三暫存器。對同時支援上位址 邊界與下位址邊界的實施例而言,所提供的上下選擇訊號 係表示每次存取是使用到上位址邊界爲基底的區域或下位 址邊界爲基底的區域。此上下選擇訊號可由指令本身提 供,或者當偏移値僅用到暫存器部分的位元’可利用儲存 偏移値Μ之暫存器中的一個高位元來標示上下選擇訊號。 例如,一個指令「Id xl,ar2,m2」係藉由處理器核 心12解譯之後,以讀取記憶體資料,並將其儲存器於暫 存器xl中。所讀取的記憶體資料位址係來自暫存器ar2 的內容,它也是循環位址產生器的目前位址A。當資料被 讀取之後,目前位址A會隨之增減,其增減値爲暫存器m2 所儲存的偏移値Μ。暫存器12中所儲存乃區域長度値L。 在本實施例中,如果將16位元位址的區域長度値L設定 爲十六進位的ffff,則其循環區域爲整個記憶體空間,也 可以說明是一線性定址(Linear Addressing)。 第2a-2c圖繪示的是使用隱藏式下位址邊界、隱藏式 上位址邊界、以及結合下及上位址邊界之循環位址的例 子。在第2a圖中,所顯示的習知技術之隱藏式下位址邊 界的方法具有循環區域1與循環區域2。在此例中,循環 區域1具有等於10的長度(L+1),以及其配置係介於〇a〇〇(16 進位)與0a09(16進位)之間。假設使用者想要定義循環區 _13
(請先閱讀背面之注意事項再填寫本頁) ·丨-丨丨丨丨丨訂·丨丨—丨丨丨丨-線- 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A1規格(210 x 297公餐 550457 8103twf.doc/009 ΚΙ Η7 經濟部智慧財產局員工消費合作社印製 五、發明說明(V〇 ) 域2具有等於6的長度(L+1)。雖然介於0a0a(16進位)與 0a0f(16進位)之間的位址長度等於6,但是此位址設定不 能用作循環區域2,因爲其不符合使隱藏式下位址邊界中 之低階的3個位元爲0的條件。所以將循環區域2配置於 0al0(16進位)至0al5(16進位)之區間,這也留下0a0a(16 進位)至0a0f(16進位)之間沒用到的空間。 第2b圖繪示的是本發明之隱藏式上位址邊界的方法。 循環區域1與循環區域2顯示於圖中。此例中,隱含了上 位址邊界。此循環區域1具有等於10的長度(L+1),以及 其位址介於0a0f(16進位)與0a06(16進位)之間。此例中, 使用者定義循環區域2具有等於6的長度(L+1)。對區域1 的最簡潔及最近的配置,以隱藏式上邊界爲基底而言,就 是將區域2配置於0al7(16進位)與0al2(16進位)之間。 這仍留下了區域1與區域2之間沒用到的空間。 第2c圖繪示的是具有隱藏式下位址邊界的循環區域 1,以及具有隱藏式上位址邊界的循環區域2,其組成表示 在它們之間沒有未使用到的空間。此例中,循環區域1具 有相等於10的長度(L+1)。對介於0a00(16進位)與0a09(16 進位)之間的目前位址而言,循環位址產生器會產生在 0a00(16進位)到0a09(16進位)範圍內的下個位址。此例中, 長度(L+1)等於6之循環區域2,其具有隱藏式上位址邊界 0a0f(16進位)。使用介於〇a〇f(16進位)與0a0a(16進位)之 間的目前位址對循環區域2做存取,循環位址產生器會產 生在0a0f(16進位)到0a0a(16進位)範圍內的下個位址。由 14 本紙張尺度適用中0國家標準(CNS)A!规格(21〇χ 297公g ) (請先閱讀背面之注意事項再填寫本頁) 1111111 訂·! - *5^ · 550457 8103twf.doc/009 Λ7 H7 五、發明說明u\) 此可知’可組成兩個循環區域,使得在它們之間沒有未使 用的空間。 具有藏式下位址邊界區域及具有隱藏式上位址邊 界區域之位址產生邏輯將配合第3與4圖,在以下做描述。 如果選擇的區域具有隱藏式下邊界,則隱藏式下邊 界係由目前位址並令其低階N個位元均爲〇所決定出來, 其中N的値係爲區域長度參數L之第一個領先1的位元位 置。N的値也可由2A(N-1)<=L<2AN的方程式來表示。根 據此技術,下邊界可位於2ΛΝ之任意倍的位置上。此區域 的下邊界係由位於Α之左側的高階W-N個位元與使右側 的低階N個位元均爲0的連接所指定,其中W係用於記 憶體中之位址的位元數。一旦決定出下邊界,上邊界係由 下邊界加上L而得。也就是,上邊界係由位於A之左側的 高階W-N個位元與位於L之右側之低階N個位元之連接 所指定。 例如,考慮 W=16、L 爲 0000 0000 0010 1011(二進 位表示的16位元)、以及區域的目前存取位址爲0011 1001 _ 个 0101 1Π0的例子。L中的領先1係在位元位置6爲,所 以N=6。而下邊界爲0011 1〇〇1 〇1〇〇 〇〇〇〇,以及上邊界爲 0011 1001 01 10 1011 〇 爲簡化敘述,我們將高於W-N的位元自A與上邊界、 下邊界去除,以及使用1來表示A之低階N個位元、使用 0來表示下邊界、以及使用1來表示上邊界。…爲介於目 前位址I與下個目標位址1之間的偏移。M可爲正數或負 15 (請先閱讀背面之注意事項再填寫本頁) -
ϋ ϋ n «I — ϋ ϋ-^OJ· ϋ n ϋ 1 ϋ n i-i I 經濟部智慧財產局員工消費合作社印製 中円网家標準(CNS)A!規格(210x297公坌) 經濟部智慧財產局員工消費合作社印製 550457 Λ7 8103twf.doc/009 β7 五、發明說明(\> ) 數。 如果Μ爲正數,對考慮到產生目標位址的邏輯而言, 有三種情況:(1)Ι+Μ>=2ΛΝ、(2) I+M>=L+1、以及 (3)I+M<L+卜 在情況1中,Μ爲正,且Ι+Μ>=2ΛΝ。如此,絕對位 址(Ι+Μ)會超出上邊界L,下個位址需繞折至循環區域的低 位址區域。下個目標位址I可由來自絕對位址(Ι+Μ)減去 區域長度(L+1)而計算得出。方程式爲(I+MHL+1),以2 的補數系統可表示爲(I+M)+fEV)。 在情況2中,Μ爲正,且I+M>=L+1。如此,絕對位 址(1+M)也超出上邊界L,下個位址需繞折至循環區域的低 位址區域。下個目標位址I可由來自絕對位址減去區域長 度而計算得出。方程式與情況1中的相同,爲(I+MHL+1), 其2的補數系統等於(Ι+Μ)+(ΤΓ)。 情況3,Μ爲正,且I+M<L+1。如此,絕對位址(Ι+Μ) 未超出上邊界L。所以下個目標位址等於Ι+Μ。 在硬體實現中,情況1(Ι+Μ>=2ΛΝ)可由有來自Ι+Μ 所產生的進位輸出(carry out)判別。情況2(I+M>=L+1)可 由有來自I+M+(L\)所產生的進位輸出判別。情況3可由沒 有來自I+M所產生的進位輸出判別。 如果Μ爲負數,對考慮到產生目標位址的邏輯而言, 有兩種情況··(1)I+M<0,(2) Ι+Μ>=0。 在情況1中,Μ爲負,Ι+Μ<0。因爲絕對位址(Ι+Μ) 爲負數,並低於循環區域的下邊界0。下個位址需繞折至 ____ 16 本紙張尺度適用中阈國家標準(CNSM1規恪(210x297公餐) (請先閱讀背面之注意事項再填寫本頁) ·# -----II 訂---------線- 550457 81〇3twf.doc/009 Λ7 H7 五、發明說明(I、) 循環區域的高位址區域。下個目標位址I可由來自絕對位 址(I+M)加上區域長度L+1而計算得出,方程式爲: Ι+Μ+L+l 〇 情況2,Μ爲負,且Ι+Μ>=0。因爲絕對位址(I+M)位 在下邊界〇之上,所以下個目標位址I與I+M相等。 在硬體實現中,情況1,(Ι+Μ<0)可由沒有來自I+M 所產生的進位輸出訊號判別。情況2,(Ι+Μ>=0)可由有來 自I+M所產生的進位輸出訊號判別。 經濟部智慧財產局員工消費合作社印製 -----------1 I · I I (請先閱讀背面之注意事項再填寫本頁) i線.
因此,隱藏式下位址邊界循環區域的硬體完成係如 第3圖中所實施的邏輯。第3圖中的邏輯包括第一加法器 2〇1與第二加法器202。第一加法器201的輸入包括I値 與Μ値。第一加法器201的輸出(係絕對位址)係由線207 所提供,其與Ι+Μ相等。來自第一加法器201的進位輸 出訊號係由線206所供給。第二加法器202的輸入包括 Exclusive NOR閘203的輸出與位於第一加法器201的輸 出207。Exclusive NOR閘203的輸入包括長度値L與位 址偏移Μ的符號位元(sign bit)。第二加法器202之進位 輸入(carry in)係接收如線211所傳入之Μ的符號位元。第 二加法器202的輸出(係繞折位址)係由線209所供給。多 工器213係接收線207上的絕對位址,以及以線209上的 繞折k址當做輸入,並且供給線210做爲目標位址輸出。 施加至多工器213的選擇訊號212係表示會將計算得出的 絕對位址與繞折位址中的一個當做輸出。訊號線212係由 多工器214的輸出所提供,多工器214之作用爲回應於M ___ 17 表紙張&度適用中(¾國家標準蜆格丨〇x 297公發) 經濟部智慧財產局員工消費合作社印製 550457 Λ7 8103twf. do c/ 0 0 9 R7 五、發明說明(A) 的符號位元211,用以選擇Μ的符號位元爲1(M爲負)的 邏輯,以及Μ的符號位元爲0(M爲正)的邏輯。 在Μ的符號位元爲1的情況中,反向器205的輸出 係當做線212上的控制訊號。反向器205的輸入係來自第 一加法器201之進位輸出訊號206。因此,如果Μ的符號 位元爲1,當第一加法器201的進位輸出訊號爲0時,會 選擇到繞折位址,以及當第一加法器201的進位輸出訊號 爲1時,會選擇到絕對位址。 在Μ的符號位元爲0的情況,或閘204的輸出係當 做線212上的控制訊號。或閘204的輸入包括來自第二加 法器202之進位輸出訊號208,以及來自第一加法器201 之進位輸出訊號206。因此,如果Μ的符號位元爲0,當 線206與線208上的進位輸出訊號中有至少一個爲1時, 會選擇到繞折位址。如果Μ的符號位元爲0,當線206與 線208上的進位輸出訊號都爲0時,會選擇到絕對位址。 如果所選擇的區域具有隱藏式上邊界,則隱藏式上邊 界係將目前位址Α之低階Ν個位元均由1取代而得,其 中N爲區域長度參數L之第一個領先「1」的位元位置。 N也可由2A(N-1)<=L<2AN的方程式來決定。換句話說, 上邊界可位於(2ΛΝ之任意倍)+(2ΛΝ-1)的位置上。目前位 址Α可用來定位出區域的上下邊界。假設Α含有W個位 元,此區域的上邊界係由位於A之左側的高於W-N的位 元與使右側的低階N個位元均爲1的連接所產生。一旦上 邊界決定出來,下邊界係藉由上邊界減去L而得。因此, ____18 本紙張义度適用中(¾國家標準(CNSM1说格(210 x 297公g ) ------------#--------訂---------線· (請先閱讀背面之注意事項再填寫本頁) 550457 8l03twf.doc/009 Λ7 H7 經濟部智慧財產局員工消費合作社印製 五、發明說明(d ) 下邊界係藉由位於A之左側的高於W-N的位元與位於(L\) 右側之低階N個位元之連接所產生。這裡的(L\)爲L之1 的補數。 例如,考慮 W=16、L 爲 0000 0000 0010 1〇11(二進 位表示的16位元)、以及區域的目前位址爲0011 1001 0101 1110的例子。然後可得到N=6、以及隱藏式上邊界爲0011 1001 0111 1111、以及隱藏式下邊界爲001 1 1001 0101 0100。 爲簡化如上的敘述,我們將高於W-N的位元自A與 上邊界及下邊界去除,以及使用I來表示A之低階N個位 元、使用F來表示上邊界、以及使用(L\)來表示下邊界。 Μ爲介於目前位址I與目標位址I之間的偏移。Μ可爲正 或負。 如果Μ爲正數,對考慮到連接於產生目標位址的邏 輯而言,有兩種情況:(1)I+M>=F+1與(2) I+M<F+1。 在情況1中,Μ爲正,且(I+M>=F+1)。因爲絕對位 址(I+M)超出上邊界(F,都爲1),所以下個位址需繞折至 循環區域的低位址區域。目標(繞折)位址I可藉由絕對位 址(I+M)減去區域長度(L+1)而計算得出。其算式爲(I+M)-(L+1) ’若以2的補數系統表示,等於(l+M)+(L\)。 在情況2中’ Μ爲正’且(I+M<F +1)。因絕對位址(Ι+Μ) 未超出上邊界F。在此種情況中,目標位址I即等於I+M。 對硬體實現而言,情況1(I+M>=F+1)可由有來自i+m 所產生的進位輸出判別。情況2(I+M<F+1)可由沒有來自 _ 19 本紙也遇用中國國家標準(CNS)Al規格(21〇χ 297公餐) (請先閱讀背面之注意事項再填寫本頁) ·# 訂---------線! 55〇457 Λ7 "^〇3twf . doc/009 五、發明說明(\> ) I+M所產生的進位輸出判別。 如果Μ爲負數,對考慮到連接於產生目標位址的邏 輯而言,有三種情況:(1)I+M<0、(2) I+M<(L\)與(3) I+M>=(L\) 〇 在情況1中,Μ爲負,且Ι+Μ<0。因絕對位址(ι+Μ) 爲負數且位於循環區域的下邊界(L\)之下方。因此,下個 目標位址需繞折至循環區域的高位址區域。下個目標(繞 折)位址I可由區域長度與絕對位址的相加所計算得出,其 算式爲:Ι+Μ+L+l。 在情況2中,Μ爲負,且I+M<(L\)。因絕對位址也 位於循環區域的下邊界(L\)之下方。所以下個目標(繞折) 位址I將爲Ι+Μ+L+l。 在情況3中,Μ爲負,且I+M>=(L\)。因絕對位址(I+M) 未超出下邊界(L\)。因此,下個目標位址I等於I+M。 對硬體實現而言,情況1,(Ι+Μ<0)可由沒有來自I+M 所產生的進位輸出判別。情況2,I+M<(L\)可由沒有來自 Ι+Μ+L+l所產生的進位輸出判別。 因此,隱藏式上位址邊界循環區域的硬體完成係如 第4圖所示之實施的邏輯。第4圖中的邏輯包括第一加法 器301與桌一加法器302。第一加法器301的輸入包括 I値與Μ値。第一加法器301的輸出(係絕對位址)係由線 307所供給。弟一加法器302的輸入包括Exclusive NOR 閘303的輸出與第一加法器301的輸出3〇pExclusive NOR閘303的輸入包括長度値L與位址偏移μ的符號位 20 (請先閱讀背面之注意事項再填寫本頁) .^ — — — — — — — 訂·! I!-線· 經濟部智慧財產局員工消費合作社印製 本紙度適闹屮円國家標皁(CNS)A 1規格(210 χ 297公餐) 550457 H7 8103twf.doc/〇〇9 五、發明說明(\^) (請先閱讀背面之注意事項再填寫本頁) 兀。第一加法器302之進位輸入(carry in)係接收如在線311 上所傳入之Μ的符號位元。第二加法器302的輸出(係繞 折位址)係由線309所供給。多工器313係接收線307上 的絕對位址、以及以線309上的繞折位址當做輸入、以及 供給線310做爲目標位址。施加至線312上之多工器313 的控制訊號係用以表示以選擇絕對位址或繞折位址中的一 個當做輸出。線312上的訊號係藉由多工器314的輸出提 供,其作用爲回應於線311上之Μ的符號位元,用以選 擇Μ的符號位元爲l(M爲負)的邏輯,或Μ的符號位元爲 〇(Μ爲正)的邏輯。 在Μ的符號位元爲1的情況中,NAND閘305的輸 出係當做線312上的控制訊雜。NAND閘305的輸入包括 來自第一加法器301之線306上的進位輸出訊號與來自第 二加法器302之線308上的進位輸出訊號。因此,如果Μ 的符號位元爲1,當第一加法器301與第二加法器302之 至少一個的進位輸出訊號爲0時,會選擇到繞折位址,或 當第一加怯器301與第二加法器302的進位輸出訊號都爲 1時,會選擇到絕對位址。 經濟部智慧財產局員工消費合作社印裂 在Μ的符號位元爲0的情況中,第一加法器301之 線306上的進位輸出係當做線312上的控制訊號。因此, 如果Μ的符號位元爲〇,當線306上的進位輸出訊號爲1 時,會選擇到繞折位址。如果Μ的符號位元爲0,當線306 上的進位輸出訊號爲0時,會選擇到絕對位址。 第5圖顯示一可能的實施例之方塊圖,其中的兩個加 _______ 21 本紙张义度適用中囤國家標準(CNS)Al規格(21〇x 297公餐) 經濟部智慧財產局員工消費合作社印製 550457 Λ7 R 1 03tw£ . doc/ 00 9_H7 五、發明說明(θ) 法器401,402係由下邊界結構與上邊界結構所共用。此 裝置具有四個輸入與一個輸出。 輸入爲: 1. 區域長度L 409,其爲可程式化的値(真實的區域長度爲 L+1) 〇
2. 目前存取位址A 407,循環區域的邊界係隱藏於Α及L 中。 3. 介於目前位址A 407與目標位址414之間的偏移Μ 408。 Μ具有正負號的數値,而且Μ的絕對値不可大於L。 4. 線431上之可程式的控制訊號,其用來選擇是否使用以 隱藏式下邊界或隱藏式上邊界爲基準的區域。 輸出爲: 1.目標位址414,它將成爲下一次位址計算之目前位址 407 〇 加法器401係執行A 407與Μ 408的加法運算,以 及產生和412(絕對位址),以及產生來自每個位元權(bit weight)的進位輸出419。如果Μ 408的符號位元410等於 0,則Exclusive NOR聞403用來將L 409做反相。如果 Μ 408的符號位元410等於1,則Exclusive NOR聞403 的輸出等於L 409。加法器402執行絕對位址412與 Exclusive NOR閘403之輸出411的加法運算,並加上一 進位輸入於最小有效位元,其値等於Μ 408的符號位元 41〇,以及產生和413(繞折位址)與來自每個位元權的進位 輸出420。目標位址414係選自絕對位址412或繞折位址 _ 22 (請先閱讀背面之注意事項再填寫本頁) .¾ --------訂---------線· Λ7 55〇457 twf . do c / 0 0 9_ H7 五、發明說明(\f\) 413,其經由多工器404及其控制訊號418。優先權選擇器 421藉由偵測L 409中的領先「1」的位置來選擇來自加法 器401之進位輸出419的第N個位元進位輸出當做輸出 415。優先權選擇器422回應於L 409而選擇來自加法器402 之進位輸出420的第N個位元進位輸出當做輸出416。接 線(wire)431用以選擇多工器423之兩個輸入中的一個。如 果接線431等於0,則控制訊號418來自於接線425。這 也意謂所定義的循環區域係以下邊界爲基底。否則會選擇 到接線424,循環區域係以上邊界爲基底。 如果接線431爲0,則循環區域係以下邊界爲基底。 當Μ爲正數,接線428會被選擇爲控制訊號418,並經由 多工器426、接線425與多工器423。如果經由優先權選 擇器421之來自加法器401所產生的進位輸出415或經由 優先權選擇器422之來自加法器402所產生的進位輸出 416,其中至少一個爲1,則加法器402的和413(繞折位 址)經由多工器404被選擇爲目標位址414。此OR功能係 藉由OR閘430來執行。接線428爲OR閘430的輸出, 同時也爲多工器426的輸入。當Μ爲負數,接線427被 選擇爲控制訊號418,並經由多工器426、接線425與多 工器423。如果經由優先權選擇器421之來自加法器401 所產生的進位輸出415爲0,則加法器402的和413(繞折 位址)經由多工器404被選擇爲目標位址414。反相器429 係用來確認接線415的淸除(Clear)狀態。接線427爲反相 器429的輸出。 ______23 (請先閲讀背面之注意事項再填寫本頁) - 丨 I !丨— 訂·!1 L· 經濟部智慧財產局員工消費合作社印製 尺度適用中國國家標準(CNS)Al規格(210x297公坌)_ 550457 Λ7 8103twf.doc/009 __H7__ 五、發明說明(>〇 ) (請先閱讀背面之注意事項再填寫本頁) 如果接線431設爲1,則循環區域係以上邊界爲基底。 當Μ爲正數,接線415被選擇爲控制訊號418,並經由多 工器406、接線424與多工器423。如果經由優先權選擇 器421之來自加法器401所產生的進位輸出415爲1,貝[J 加法器402的和413(繞折位址)經由多工器404被選擇爲 目標位址414,否則來自加法器402所產生的絕對位址, 將被選擇爲目標位址414。當Μ爲負數,接線417被選擇 爲控制訊號418,並經由多工器406、接線424與多工器 423。如果經由優先權選擇器421之來自加法器401所產 生的進位輸出415或經由優先權選擇器422之來自加法器 402所產生的進位輸出416,其中至少一個爲〇,則加法器 402的和413(繞折位址)經由多工器404被選擇爲目標位址 414,否則絕對位址412將被選擇爲目標位址414。功 能係藉由NAND閘405來執行。接線417爲NAND閘405 的輸出及多工器406的輸入。 H· 在本發明的一些實施例中,隱藏式上邊界的結構可 單獨使用,如第6圖所示。 經濟部智慧財產局員工消費合作社印製 在第6圖中,加法器501執行A 507與M 5〇8的相 加及產生絕對位址512。如果Μ 508爲正數(μ的符號位元 510等於〇),則Exclusive NOR閘503會將L 519做反相。 如果1^ 508爲負數(1^的符號位元510等於1),則]^11^_ NOR閘503的輸出511與L 519相等。加法器5〇2執行 絕對位址5〗2與Exclusive 0R閘5〇3之輸出川的加法運 算’並加上一進彳ΛΙ輸入於最小有效位元,其値等於M的 24 550457 Λ7 H7 8 10 3 twf. do c/0 0 9 五、發明說明(2^\) 符號位元510。加法器5〇2的輸出爲繞折位址513。當絕 對位址超出區域的邊界時,繞折位址會被選擇爲輸出514。 目標位址514係選自絕對位址512或繞折位址513,經由 多工器504及其控制訊號518。 如果Μ爲正,訊號515係藉由多工器506而被選爲 控制訊號518。優先權選擇器521藉由偵測L 509中的領 先「1」的位置來選擇來自加法器501之進位輸出519的 第Ν個位元進位輸出當做輸出515。優先權選擇器521的 輸出515係表示加法器501之第Ν個位元進位輸出的狀 態。來自加法器501之第Ν個位元進位輸出爲「1」係表 示絕對位址(Α+Μ)超出區域的上邊界,所以繞折位址513 將被選爲輸出514。否則絕對位址512被選爲輸出514。 如果Μ爲負,來自於多工器506之訊號517會被選 爲控制訊號518。在此種情況,會使用到二個具有第Ν個 進位輸出的進位輸出訊號515及516。線5 15與516係NAND 閘505之輸入,訊號517爲其輸出。訊號515的「0」値 表示沒有藉由Α+Μ所產生的進位輸出,其意謂絕對位址 512爲負値且超出區域的下邊界。因此繞折位址513會被 選爲目標位址輸出514。優先權選擇器522藉由偵測L 509 中的領先「1」的位置來選擇來自加法器502之進位輸出520 的第Ν個位元進位輸出當做輸出516。訊號516的「〇」 値表示沒有藉由加法器502所產生的進位輸出,其意謂 A+M<(L\),且絕對位址超出區域的下邊界。在此種情況’ 繞折位址5 1 3也會被選爲目標位址輸出514。如果上述這 __25 本紙張&度適用中阀國家標準(CNS)Al規格(21〇χ 297公g ) —丨丨丨_丨丨丨—_丨·丨丨丨丨丨丨丨訂—丨丨丨丨-線i^w. (請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 550457 Λ7 8103twf . doc/ 00 9 五、發明說明(w) 兩種繞折的情況沒發生,則絕對位址512會被選爲目標位 址輸出514。 綜上所述,係提出一種位址產生器,用以存取線性記 憶體空間中的循環區域。此區域具有可程式化的長度 (L+1),此區域的基底係定義爲具有隱藏式下邊界或隱藏 式上邊界。如果使用隱藏式下邊界來定義出循環區域,則 其下邊界位址將具有低階N個位元都爲0的特性,其中N 爲L之第1個領先1的位元位置。如果使用隱藏式上邊界 來定義出循環區域,則其上邊界位址將具有低階N個位元 都爲1的特性。絕對位址係由偏移Μ與目前位址A相加 而計算得出,其中Μ爲具有正負號的數値,而且Μ的絕 對値不大於L。如果絕對位址超出區域的邊界,其將藉由 加上或減去區域長度(L+1)而繞折至邊界的另一側。以此 種方法’下個目標位址總是位於區域內。如此的位址產生 @可用於數位訊號處理的應用,也可用在資料處理的其它 應用上。 雖然本發明已以較佳實施例揭露於上,然其並非用以 1¾¾本發明,任何熟習此技藝者,在不脫離本發明之精神 和I範圍內,當可作各種之更動與潤飾,因此本發明之保護 15®當視後附之申請專利範圍所介定者爲準。 26 .h艾、用中_家標準(cns)ai^⑵〇χ297 --------------------訂---------線 (請先閱讀背面之注意事項再填寫本頁)