TWI229998B - Calculating apparatus having a plurality of stages - Google Patents

Calculating apparatus having a plurality of stages Download PDF

Info

Publication number
TWI229998B
TWI229998B TW91109550A TW91109550A TWI229998B TW I229998 B TWI229998 B TW I229998B TW 91109550 A TW91109550 A TW 91109550A TW 91109550 A TW91109550 A TW 91109550A TW I229998 B TWI229998 B TW I229998B
Authority
TW
Taiwan
Prior art keywords
processing
processing unit
scope
unit
patent application
Prior art date
Application number
TW91109550A
Other languages
English (en)
Inventor
Terence N Thomas
Stephen J Davis
Original Assignee
Mosaid Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Priority to TW91109550A priority Critical patent/TWI229998B/zh
Application granted granted Critical
Publication of TWI229998B publication Critical patent/TWI229998B/zh

Links

Landscapes

  • Multi Processors (AREA)
  • Advance Control (AREA)

Description

1229998 五、發明說明(1)
本發明係關於一種多級計數裝置及复方半,士 ^ ^ ^ 丹乃沄,尤指一箱 ,通吊所私的流水線裝置中,與多級設備一, 〈發明之應用範圍〉 分配電路。 、彳文用的日可鐘 〈先前技藝概述〉 在處理業務 如通過分散式資 進行的交換,變 在於其缺乏安全 行、股票經紀、 隱私和安全方面 料傳送之向前行 裝有一個力α密單 可與i少一個用 路進行電通信。 到接收者時,該 存的私人密鑰進 密處理均使用同 在所·述至少一個 組有限的私人加 當然’由加 學演算法,其巾 是唯一的可變數 時,各 訊網路 得越來 的通訊 以及信 的保證 加密處 元,例 於存儲 當需要 資訊首 行加密 —私人 與加密 密密鑰 密處理 的輪入 °因此 用戶之間電 ’如全球互 越普遍。因 通道。而為 用卡公司等 。解決上述 理。在現有 如一個加密 一個以上私 保密的資訊 先被傳送到 處理。典型 密鑰。相應 處理器有電 中選擇出來 器所執行的 數值,例如 有可能對加 子存儲 聯的因 特網的 了確保 能使用 問題的 技術中 處理器 人加密 由主機 所述加 的情況 地,加 通信的 文件的 特網( 一個普 醫院、 因特網 一種方 ,主機 ,該加 密鑰的 通過互 毯、處理 是每一 密密鑰 存儲電 交換,例 萬維網) 遍的問題 政府、銀 ,必須有 案是在資 系統一般 密處理器 記憶體電 聯網傳送 杰用所保 次資料加 是從存儲 路中之一 資料加密處理是—種 $子文件的混編版本 密處理器進行最佳化
1229998 五、發明說明(2) 使其可用最少 在現有技術的 統的微處理器 到最佳化的效 目前有好 保密和強認證 資料通過公開 訊内容保密性 者用加密密鑰 其進行解密來 和解密密錄是 加密演算 法。秘密密餘 法中的其中一 的秘密密鑰密 位元的資料作 料。加密處理 5 6 - 1 2 8位之間 不知道密錄、 除分組密 鑰為基礎的演 錄,其中一個 在授權給Pogu 中所公開的Ri 秘密密鑰演算 的=資來執行所需的加密功能。另外, 口雄早兀,佳化後的加密處理器盥主機έ :間-般是分離的,因為採用這種以: 幾個在因特網上通過加密/冑密處王里 用=加密/解密處理是基於可讓 二"法二Ϊ 行傳送’❿同時能維持資 行。這一過程是通過由發送 完成的。在對稱密錄的解进密鑰對 相同的。 在碼術中,加密密鑰 法一般分為公開密鑰演算法和 演ί法!的密鑰是隱秘的,❿公開密鑰;寅: 個密鑰是公眾所知的。分組密螞是目前; 碼系統t的一種代表,它一般以-組32^28 為輸入資料,並生出同樣位元數的輸 和解密處理的執行採用的是典型長度在貝 的密鑰。加密演算法的設計就是要^ 則對資訊的解密會非常困難。 于口呆 碼之外,互聯網安全協定還依賴於以公 算法。公開密鑰密碼系統中一般使用兩:; 是隱秘/私人的,另一個公共可用的,例如 e及Rivest的專利號為5, 1 44, 667的美國專°利 vest, Shamir’ Adelman (RSA)的密碼體制
1229998 五、發明說明(3) ' 即為此例。一旦有人公佈一個公開密鑰,則任何人均可向 其發送用該公開密鑰進行加密處理後的保密資訊,然而, 如要對該資訊進行解碼則只有使用私人密鑰才可以完成。 公開雄、鑰加雄處理的優點在於私人密鍮沒有在交流前預先 分配給所有用戶。反之,當使用對稱加密處理時,將為生 多値秘密密鑰,其中一個分配給要接收資訊的各用戶,並 且每一個秘密密鑰都是私下傳送的。如果想用安全的模式 分配秘密密鑰’就會存在與資訊傳送中只用一個秘密密鑰 進行加密處理時所面對的相同的問題,也就是通常所講的 密錄分配問題。 密鑰交換是公開密鑰技術的另一種應用方式。在密鑰 交換協定中,兩用戶可協定共用一個密鑰,即使他們的會 話被第三方中途截取。在專利號為4, 200, 770的美國專利 中所公開的Di f f ie-Hel lman指數密鑰交換方法就是此協定 的一個例證。 大多數公開密鑰演算法,比如RSA及Di f f ie-Hel lman 密鑰交換’都疋基於模數求冪,也就是計算式ax mod p, 該算式表示n a的又次方的結果,再除以p後所得餘數”。要 執行這一計算的運算消耗是非常大的,因為執行這一運算 需要重復多次乘法運算及多次除法運算。刊登在《計算數 學》1985年4月第170期44冊裏的蒙哥馬利方法,即 丨,Modular Multiplication Without Trial Division (不 需試除的模數乘法)”中所公開的一種技術可減少所需除 法運算的次數,但仍不能完全克服運算消耗大的問題。另
第7頁 1229998 五、發明說明(4) =承,?的密碼系統中所使用資料非常大(一般為1 024位 ^ 夕曰’因此不能直接採用普通CPU中的乘法及除法命 々二採用特殊的演算法將這些大型的乘法運算及除法 ί异t解ϊ ί個足夠小的運算,以便能在所用的cpu運 =。le些/貝异法所需的運行時間通常與機器語言中所含位 兀組Ϊ的平方成比例增長。這些因素使得大數位乘法運算 的運算,度很低。例如,—個奔騰處理器可在i Q個時鐘周 期内執行一次32x32位乘法運算。而一個2048位元的數位 可由64個32位數來表示,則2〇48χ2〇48位元的乘法運算需 要64x64次32x32位乘法運算,也就需要佔用奔騰處理器 40 9 60個時鐘周期。如果按上述方式,則一個2〇48位元指 數的求冪運算需要4096次乘法運算,也就需要約167, 〇〇〇, 0 00個時鐘周期。如果奔騰處理器以166 MHz的速度運算, 則整個過程大約需要一秒鐘才能完成。當然,其中的除法 運算還會增加整個運算的時間。可見,一個普通的CPlJ, 例如上述的奔騰處理器,是不能以極高的速度來完成密餘 生成及交換動作的。 流水線處理器含有多個按串接陣列排列的處理單元, 其中的多數處理單元是現有的公知技術,並特別適合於執 行資料加密演算法。目前所知有兩種流水線處理器:其中 一種是一端進另一端出的類型,只有一個處理方向;另一 種是同一端進出型的雙向處理器,包含一個向前處理路徑 及一個返回處理路徑。以一個特定的雙向流水線處理器為 例,第一資料塊從存儲緩衝器中讀取到所述串接陣列的第
第8頁 1229998 五、發明說明
一處理單元 到第二處理 所述存储、緩 同樣的第一 列的向前處 個處理單元 的數學處理 按返回處理 元,其結果 集合中。這 方法,對於 是非常有效 水線處理器 描述的資料 現有雙 列中的每*~ 步。為了控 個處理早元 時從一個處 之間的時間 塊沿者流水 中’執行第 單元’執行 衝器中讀取 級處理。依 理路徑一步 。每一步包 的處理級。 路徑提供給 是將加密處 種使用大量 執行前面所 的。當然, 的用途,並 加密演算法 问流水線處 個處理單元 制資料塊在 時的定時門 理單元到前 同步是必須 線的向前方 一級處理; 第二級處理 第二資料塊 次順序,每 一步地從一 括一個對輸 同時,每一 所述串接陣 理器所反饋 的處理單元 述計算量較 用於執行計 不是嚴格限 〇 理器技術的 必須與其他 向前方向時 控、以及處 一處理單元 的。一般採 向和返回方 然後將該第 ,同時第一 ,並對第二 一個資料塊 個處理單元 入的各資料 個處理單元 列中的前一 的處理資料 組成資料處 大的資料加 算量較大處 於上面的詳 一個缺點是 各個處理單 從一個處理 理後的資料 的定時門控 用一個時鐘 向的進程。 一資料塊送 處理單元從 資料塊執行 沿著串接陣 傳送到下一 塊執行相同 的計算結果 個處理單 包含在一個 理流水線的 密演算法, 理操作的流 細例子中所 同一串接陣 元時間同 單元到下一 在返回方向 ,處理單元 來控制資料 然而,當時 鐘# 5虎沿者流水線則進時,如果沒有較好的時鐘分配設 計,在各級之間將會出現遞增的延遲,例如由於時鐘電路 内的電阻和電容而為生的延遲。在早期相對較慢的流水線
1229998 ---—-—- 處理3|由 不利,這種延遲並不重要,對整體的運行或計算也無 來,=s 。隨著處理速度的加快,這種延遲變得明顯起 而需要更準確和精密的時鐘分配方法。 處理ΐΐ,為了從存儲缓衝器中讀取資料,例如供流水線 緩衡^处理的資料,串接陣列之中第一處理級必須與存儲 配的^時間同步。因而進一步要求流水線處理器内時鐘分 J 步性。 統和ί好能提供一種在流水線處理器中用於資料處理的系 οσ 法’可以不需要將提供給流水線處理器中各個處理 :π的時鐘值同步。這種系統可用相對簡單的電路設計來 只現’其中大型的處理單元是由一系列次級小處理單元所 構成的。 〈本發明之概述〉 本發明的目的在於,提供一種不需要將各處理單元 時鐘信號同步的流水線處理器。 的 〈發明概要〉 本發明的整體概念在於,提供一種具有擴展流水線 列的多級計算裝置,包括邊靠邊串接排列的多個子陣 以及一個沿所述陣列彎曲設置並與每一級連接的時鐘 所述陣列玎以是多個段組成,其中每一段有輸入 輸出端,而整個陣列或所有的段都能處理資料。該裝: 的甸前及返回絡徑可女排得讓一級中最短的計算在返回路
第10頁 1229998 五、發明說明(7) 徑中進行。 根據本發 包括: 以串接陣 理單元先於第 元;以及, 與所述串 單元電通信的 電路傳播的時 的延遲到達每 其中,從 讀出的時間等 以從該處理單 延遲則上述時 鐘周期準確個 元。 根據本發 元,包括·· 明的另一實施例 列排列的多個獨 二處理單元,第 提供一種資料處理较置, 立處理單元,其中 二處理單元先於楚 第一處 、第η處理單 接陣列 時鐘分 鐘信號 一個處 資料寫 於時鐘 元為生 間就足 數k後 中的多個 配電路, 以相對於 理單元, 入處理單 周期準確 出準確的 以為生出 ’待處理 獨立處理單元中每-個處理 使得在使用中,沪拉二處理 時鐘信號到達前一處 元到該資料被後一處理單元 個數k,這襄k大於〇,不足 輸出資料,但如果有額外的 準確的輸出資料,在所述時 的新寅料被讀入同一處理單 明的另一實施例,提供-種可切換處理單 用於接收第一時鐘信號的第一埠· 用於接收第二其他時鐘信號的 可在選擇第一時鐘信號一旱, 的兩_槿彳> pq 第一其他時鐘信號中的一個 的兩種杈式之間進行切換的開關; 八中 k所述第一時鐘信號和第-置#日车f γ Φ % 選出之-被提供給所述處理單元。其他⑷5唬中所 1229998 (8) 五、發明說明 根據本發明的另一方面,還提供一種資料處理方法, 包括以下步驟·· * (a)提供一個流水線處理器,所述流水線處理器包括 按串接陣列排列的多個獨立的處理單元,以使第一處理 兀f於第二處理單元處理,第二處理單元先於第n處理單早 (b )為所述按串接陣列排列的多個獨立處理單元中 每一個處理單元提供一個時鐘信號,使得到達第一處理 70之外的每個獨立處理單元的時鐘信號,相對於到達复 先處理單元的時鐘信號要延遲; 八甘 (C)提供資料給所述第一處理單元進行處理; (d)將所述資料傳播到至少下一個處理單元以進行 一步處理; 其中,提供給所述多個獨立處理單元中的某一單元的 時鐘信號,相對於提供給該多個獨立處理單元中另一個單 元的時鐘信號,有以時鐘周期為基準的相當量的延遲。 發明的另一實施例,還提供一種在流水線處理 器中資料處理方法,包括以下步驟·· (a) 為有η個處理單元的流水線處理器提供一個沿第一 部分第一方向的時鐘信號,使得到達所述第一部分中第一 處理單元之外的每個獨立處理單元的時鐘信號,比起到達 同在第一部分的其在先處理單元的時鐘信號要延遲; (b) 為同樣有η個處理單元的流水線處理器提供一個沿 第二其他部分的第二相反方向的時鐘信號,使得到達所述 1229998 五、發明說明(9) 第二其他部分中第一處理單元之外的每一個獨立處理單元 的時鐘信號,比起到達同在第二其他部分的其在先處理單 元的時鐘信號要延遲; (C )提供資料給流水線處理器第一部分的第一處理單 元以進行處理; 其中,到第一部分最後 的最後處理早元的延遲大致 中心所述兩個相鄰處理單元 根據本發明的另一方面 的佈置中使用的巨(宏)指 串接排列並有一個時鐘 的多個獨立處理單元,與所 導體增加了從時鐘輪入導體 一個後繼卓元的長度,同時 導體到所述多個獨立處理單 其中,所述時鐘輪入導 佈局内相鄰放置的巨(宏) 一個巨集的輸入時鐘導&與 合時,有與旦(宏)指令i 置時同一巨(宏)指令内的 長度大致相同的導體路彳查長 處理單元的延遲與到第二部分 相同,使得在流水線處理器的 是同步的。 ,還提供一種在資料處理設備 令,包括: 輸入導體和一個時鐘輸出導體 述時鐘輸入導體電通信的時鐘 到所述多個獨立處理單元中每 該時鐘導體減小了從時鐘輸入 元中每一個後繼單元的長度; 體和輸出導體被排列得使一個 指令形成空間足夠的組,並使 相鄰巨集的輸出時鐘導體在麵 設置在一個預定的空間足夠位 兩個相鄰單元之間的導體路徑 度0 〈較佳實施例之祥細說明〉 本發明是關於如^ , 何減小級間的時間延遲。該結果是通
第13頁 1229998 五、發明說明(10) 過在不同級的附近設置一個時鐘導體,並使其沿各級蛇行 來實現的。這樣一來相近單元之間的時鐘遲延會變得充分 地小’從而不再需要適當的級間同步。除了直接相鄰之可 能外,如能給相互聯絡的級間相鄰單元之間提供一個一致 的時間延遲,則可以實現更進一步的優勢。 如果想取得更進一步的優勢,除了現有用於大型計算 的各級整個陣列外,可以將陣列進行劃分,例如分對半分 或分成四份,以便在同一時間進行一個以上的計算。 請參見第1圖,示出了本發明的第一實施例中通過硬 體連接2與即時時鐘1連接的流水線處理器7的結構簡圖; 其中流水線處理器7包含多個處理單元陣列4a,41)和5 (處 理單元未在圖中晝出),陣列4a與每個4b各有256個處理 單元’陣列5有5 1 2個處理單元。輸入/輸出琿9分別與陣列 4a : 4b和5中的第一處理單元連接,用於接收供流水線處 理器7處理的資料,例如從一個與埠9連接的客戶機(未在 圖中晝出)輸入的資料。還有一個通過硬體連接2:與即時 時鐘源1連接的時鐘導體3,該時鐘導體在每個陣列“,扑 和5旁以%鐘分配電路的形式婉蜒分佈。該時鐘導體3還單 獨與每一陣列4a,4b和5中的每一個處理單元電通信。 請參見第2圖,示出了由處理器單元81、&、83、 和8的ja成的串接陣列的結構簡圖;其中的獨立處理器單 708包含在圖1所示流水線處理器7的陣列4a的集合中。每 個處理器單元8分別通過連接1〇與時鐘導體3電通信。時鐘 導體3又經硬體連接2與時鐘發生器電路、即時鐘源連接。
1229998 五、發明說明(11) 其中與陣列4 a的第一處理器單元連接的輸入/輸出埠9用於 接收客戶站(未在圖中畫出)送來的資料,該客戶站也與 輸入/輸出埠9連接,以輸入供陣列4 a處理的資料。
在操作時,資料是由客戶站經埠9處提供的,例如, 包含在一個完整文件中的多個資料塊形成的資料流程。陣 列4a中的第一處理器單元8經埠9接收第一資料塊,並執 行預定的第一級處理。當然,第一處理器單元8與埠9的 存儲緩衝器(未在圖中畫出)應是時間同步的,這樣才能使 資料流程同步進入處理器單元8 L例如,時鐘導體3從即 時時鐘1提供一個時間信號,該時間信號在與存儲缓衝器 的時鐘信號相關的預定時間内,到達第一處理器單元8 L 在第一處理周期結束時,第一處理器單元8蛵埠9收到第 二個資料塊。同時,第一處理器單元8根據第一資料塊得 到一個輸出、沿著向前處理途徑傳送到第二處理器單元 8 2。另外,第一處理器單元8還沿返回處理路徑向埠9的緩 衝器提供一個第二計算結果。
在第二個處理周期内,第一處理器單元8對第二資料 塊同樣執行一次與第一處理操作、而第二處理器單元8對 所述的第一個資料塊執行一次第二處理操作。在第二個處 理周期結束時,對所述第一資料塊進行處理的結果會沿著 向前處理路徑分別在第二和第三處理器單元8和8之間傳 播。同樣的,對所述第二資料塊進行處理的結果會沿著向 前處理路徑分別在第一和第二處理器單元8和8乏間傳 播。此外,第二處理器單元8铅著返回處理路徑將其計算
第15頁 1229998 五、發明說明(12) 結果傳輸到第-處理器單元81。當然,沿 和返回處理路徑在相鄰處理器單引恳理路徑 一個同步時序。沿兩種處理方向—的二;'傳輪需要有 在資料向任一方向傳送之前完:所執灯的處理操作都必須 請參見第3圖,$出了現有流水線處 理器單元的門控資訊時序圖。 中的夕個處 理器單元1,2,3,4 ,和5對庫的^出了为別與前五個處 周期由一對字母表示,例如AB、CD、EF '中母一時鐘 便,假設所述門控資訊在時鐘周 。為了描述方 處理器單元的輸入及輸出。例如,W力選通母一個 理器單元1在ΑΒ的上升沿輸入第_次’°者β刖處理路徑,處 内對該第一資料塊進行處理。同祥貝/ ^鬼,並在一個周期 上升沿從處理器單元1輸入所述第’一’次处理器單元2在CD的 期内對該第一資料塊進行處理。另貝,料l塊並在一個周 徑,處理器單元1在EF的上升沿從 ,沿著返回處理路 處理的第一資料塊。 一處理器單元輸入已
§然,現有糸統的時鐘周期比 I 回之一的處理方向上每一級中所兩沾/'應與沿向前和返 長。如資料流程沿著串接陣列以二、、=、長處理時間一樣 必須在資料再次被傳播前完成。=進式傳播,每一步處理 徑的處理與沿向前處理路徑的處^此’如果沿返回處理路 則在每一級反向處理路徑中需^里相比需要較短的時間, 理路徑上的處理能順利完成。入個延遲,以便向前處 另外,從圖3中可以看出 母處理器單元必須與同
第16頁 1229998 五、發明說明(13) —陣列中的其他處理器單元同步。也就要圖1中的時鐘必 須沿陣列的每一段分配。這是一個典型的代價高而且難以 解決的問題。其解決需要複雜的硬體設計以及積體電路拓 撲設計和分析。 在解決這種時鐘分配問題的一個方法中,第一處理器 為第一處理器提供時鐘信號、第二處理器又為第三處理^ k供時鐘信號’依此類推。這種方法中,相鄰單元之間存 在同步,但對於距離較遠的單元,則不能保證同步。然而 這種消除時間同步的方法是在沒有全局時鐘的情況下執行 的,從而使時鐘在每兩個需要資料通信的單元之間傳遞, 运樣就導致了不同時鐘分配的問題。 請參見第4圖,其中示出了本發明中流水線處理器中 用於多個處理器單元的門控資訊的時序圖。該圖例中示出 了包含前十個處理器單元、也即第1、2、3、4、5、e、 7、8、9及1 0個處理器單元的串接陣列子集的獨立時序 圖。每一時鐘周期用_對字母表示,例如Ab、cd、等 專。為了时論方便’假設所述門控資訊在時鐘周期的π上 升沿’’選通每一個處理器的輸入及輸出。例如,沿著向前 處理路徑,處理器單元!在“的上升沿輸入第料塊别 並在一個周期内對該第一資料塊進行處理。同樣,處理器 單元2在CD的上升沿從處理器單元!輸入所述第—資料塊, 並在一個周期内對該第一資料塊進行處理。另外,、沿著返 回處理路徑,處理器單元i在以的上升沿從第二處理器單 元輸入已處理的第一資料塊。為了討論方便,還假設在任
第17頁 1229998 五、發明說明(14) 一處理器需要最多時間來完成的處理操作是沿著向前處理 路徑方向的。當然’如圖4中所示,對於不同的處理單 元,該上升沿發生在不同的時間。 請再參見第4圖,每一時序圖與其前一處理器單元的 時序圖相比有一個微小的偏移5,其中該6等於到達該處 理器的時鐘信號的增量延遲。因為時鐘導體中所含電路 電容及電阻特性,所述有限的一段時間5等於時間作號 達第一處理器單元與時間信號到達第二處理器單元^ =隙。而設備與不同處理器單元之間的時鐘信號有— 遲’因此,處理器單元i與處理器單元2之 -個偏移量<5。同樣,每一對相鄰處理器單元之間 步也有一個偏移量,例如5。也就是說,偏移量 雖然不同,但仍在可知範圍内。 時圖’對於同—處理操作,本發明的單個 、:’里J j比圖3所不現有技術時序圖中的時鐘 。 =處理器單元在輸入新的資料之前沒有足夠的 1間沿向前處理路徑完成其處理操作。例如,在:的 樣長。而在本實施例中,到U以處;里'作的時間- 理器單元的時鐘信號有-個之外/Λ個處 這種延遲為處理的完成提供了;=遲。在效果上’ 資料塊輸入由處理器單元2進了入更人的時間,例如,在下-s -- 9 , ^ . 進入處理器单元3之前,處理哭 點:於,Λ時間沿向前處理路徑完成其操作。其有利 在於,早個時鐘周期的最小長度可被減小到等於一個時
第18頁 1229998 五、發明說明(15) ^ 間長度,該時間長度等於完成 並小於需要較長處理時間的路徑、:^操作所需的時間, 元之間的時間延遲。因此,名二乂 处為向前路徑上的單 理器單元輸入-資料塊到下路徑上,從某-處 已處理的該資料塊之間,有一 =早7^從該單元中輸入 時間間隙。另外,在返回路彳ζΤ<上,^個完整時鐘周期的 一資料塊到下一處理器單元(按向j f 一處理器單元輸入 從該單元中輪入已處理的該資料塊^間前一單元) 完整時鐘周期的時間間隙。本發明在 有一個小於一個 個所謂的”趕回"動作,從 < 回路徑上提供了一 處理方向的時間!至;時嶋 請參見第5圖,示出向處理時間的平均值。 3,4和5的時序圖。第中二個相鄰處理器單元 4,並由處理琴覃开4, 鬼在1〇〇時刻輸入處理器單元 理器單丄周期%内進行處理。其中,處 理器單元4、同時\疋第輸入到處理器單元3中的。處 的,其中處理Ί:料塊對於處理器單元5是可獲取 端,使該第一資:::第一貝料巧提供到其-個輸出 m , ^=- ^ 1 m /鬼在時刻1 04被讀取到處理器單元5。甚貞 圖向前處理路徑的-部分。從 理的兮% Z 1 處理器單元從該單元中輸入已Θ
St料塊結果之間’有-個大於-個完整時二= 第19頁 1229998 五、發明說明(16) 同樣’步驟102、1〇〇和1〇3包含相反處理路徑的—立 分’其中含有由某一處理器單元所處理的資 一 塊被提供給該陣列中的前一處理器單元。從圖5中貝料 看出,在返回路徑上,從某一處理器單元輸入一/楚 資料塊到下一處理器單元從該單元中輸入已進一牛二理 該資料塊之間,有一個小於一個完整時鐘周期的$ =的 ,。可見,在向前處理路徑上積累的處理延遲可在返^ 役上被”趕回"來。這就是一般所說的"雙向平均”現象。 外’因為本發明中減小了時鐘周期的長度,其總的優 於增中了現有雙向流水線處理器的處理速度。 ‘·_ 本發明的一個優點在於每一個處理器單元只需要盥 鄰的兩個單元之間通信,這時總能確定一個準確的延遲 將其維持在預定範圍内。本發明的另一優點在於可將電路 設計成η個相鄰的處理器單元,此時整個流水線處理器是 =二系列的η單元"巨集”所構成。當然,每當需要將一個 巨集塊與另一巨集塊連接時,還需要一個電路來解決不同 f集的處理器單元之間的額外延遲。巨(宏)指令的設計 :易於相互聯絡,這樣才能使其首端和尾端能與另一相鄰 的巨(宏)指令相容、以繼續執行同樣的操作。在圖9示 出了本發明中兩個巨(宏)指令塊9丨和92的示意圖。這兩 固巨(左)指令塊可按任一種串接方式排列,並在處理單 元之間提供基本一致的路徑延遲。 ,參見第6圖,示出了本發明的第二實施例中流水線 处理裔1 2的結構簡圖。流水線處理器丨2包括多個處理器單
第20頁 1229998
元陣列4a,4b和5(處理器單元未在圖中畫出),其中 列4a和4b各有256個處理單元,陣列5有512個處理單元。 圖中的虛線6a和6b分別代表可選擇的電連接,用於在 4a的第256個處理單元與陣列4b的第256個處理單元之 以及在陣列4b的第1個處理單元與陣列5的第!個處理曰 之間提供電通信。時鐘分配電路3分別與陣列虹,仙和5 的各個處理器單元電通信。圖6中還有一個經硬體連接2盘 流水線處理器1 2電通信的即時時鐘源j。圖中還有一個八"、 別與陣列4a,4b和5的第一處理單元連接的輸入/輸出璋'
9,用於接收客戶站(未在圖中畫出)送來的資料,該客 戶站也與輸入/輸出埠9連接,以輸入供陣列4a,“和^中 指定的一個串接排列進行處理的資料。
請參見第7圖’示出了本發明的第三實施例中流水線 處理器1 3的結構簡圖。流水線處理器丨3包括多個處理器單 元陣列4a,4b和5 (處理器單元未在圖中晝出),其中陣 列4 a和4 b各有2 5 6個處理單元’陣列5有5 1 2個處理單元。 陣列4a的第256個處理單元與陣列4b的第256個處理單元之 間通過硬體連接11 a電通信,陣列4 b的第1個處理單元與陣 列5的第1個處理單元之間也通過硬體連接丨丨b電通信。時 鐘分配電路3分別與陣列4a,4b和5中的各個處理器單元電 通信。圖7中還有一個經硬體連接2與流水線處理器丨3電通 信的即時時鐘1。圖中還有一個分別與陣列4 a,4 b和5的第 一處理單元連接的輸入/輸出埠9,用於接收客戶站(未在 圖中晝出)送來的資料,該客戶站也與輸入/輸出埠9連
第21頁 1229998 五、發明說明(18) 接’以輸入供陣列4 a,4 b和5的串接排列進行處理的資 料。另外,還可選擇單獨設置一個至少向陣列4a的第一處 理器單元之外的處理器單元直接輸入資料的輸入埠。 睛參見第6圖和第7圖,其中所示的流水線處理器1 2和 1 3可按分別以下模式操作,其中輸入陣列4 a的第2 5 6個處 理器單元的資料可被陣列4b的第25 6個處理器單元得到。 當某一特殊操作需要多於256個處理器單元時,可通過將 所述處理操作轉到第二個不同陣列執行、以增加處理器陣 列!! ί效長度。當然,當某一特殊操作需要多於512個處 理器單元時,可通過將所述處理操作轉到第三個不同陣列 執订、以增加處理器陣列的有效長度。對於圖6和圖7中所 示的任一 Ϊ水線處理器:當需要執行256位元加密處理 夺採用單個陣列,當需要執行5 1 2位元加密處理時,採 用兩個=同陣列,而當需要執行丨〇 2 4位元加密處理時,採 用全部三個陣列。當然,可將陣列4a的第25 6個處理器單 元與陣列4b的第一處理器單元連接起來,但此時需保證陣 列4a的第256個處理器單元和陣列“的第一處理器單元能 步:與緩衝器同步。這種同步需求由於需要嚴格統 -白、$配時鐘,會增加電路設計的複雜性。同日夺,大多數 器的1布都要求每-單元必須在每-周期内完 二采 而日可鐘同步通常會增加一個等待狀態,使得 L :欠的第257個單元將比其前面的單元晚-個時鐘周期 處理資料。 不官知用圖6中的可選擇形式還是圖7中的固定形式,
第22頁 1229998 五、發明說明(19) 當陣列4a的第256個處理3|罩;& 土 單元連接時,將喪失前二广+與陣列4b的第256個處理器 優點在於能平…。然而其 含相同數目的處理器單元,ρ早=15列、其中母一陣列包 時的時鐘信號沿每;一個陣尾連接的方式。此 次趕回。 iu丨早歹j遞增延遲’但又能在其間再 當然’因為時鐘分配並不转 延遲有較好的支援,時鐘信:而且時鐘分配的 輸入每-處理單元。按:圖;V7所二個時鐘源中選擇-個 ,可,連接lla與第二處理器陣列連接。如此一】 :以趕回"的優點,並實現相鄰陣列之間的同步。’ 更長:rm種不同長度的陣列可彼此連接以組成 $長:陣歹,而不需要在其間保持時鐘同步。這 成 ,列中的每一處王 里單元需要兩個時鐘,二 理:元提供、另-個由第二其他方向mi 兀棱t、。由於時鐘在處理單元之間日延遲,所以切= 的作=是將所需延遲的—部分或全部提供給時鐘信號。 路的第8圖鱼/匕為本實施例中—個具有時鐘切換電 路的處理早几。埠81提供第一時鐘信號。埠82提供士 因在使用時時鐘只沿其中—個方向傳播 8 1和8 2都可以是雙向埠。备—瑝分則访 ^ 洁姑= 母旱刀別與時鐘驅動器84和83 連接。运兩個埠還與一個開關85連接,以選擇豆中一個 =並沿時鐘導體86提供到處理單元87。該時鐘同供 給兩個驅動器’其中只有一個工作。此時, 兩 第23頁 1229998 五、發明說明(20) 個可選擇的傳播方向中撰媒 傳播。 °中、擇-個傳播方向的時鐘信號進行 因為可以知道處S器將在何時完成其處理 指定該>處理器f理另—處理器的順流資料成為付 如,假6又處理态4a的處理單元可處理256位元操作,, 理二個256位操作,再假設4b是一個類似的處理器: 备處理早兀4a開始一個處理之後並在其結束之前,。 個512位的處理請求,由於知道在㈣料㈣到處理 4a的最後早兀時,該單元將已經完成其對現有處理的 作,所以512位操作可在處理陣列4b中進行◊通過減小處 理器在等待其他處理器能支援鏈結陣列處理所需的待機時 間,可以大大提高整個系統的性能。 〈以蒙哥馬利為基礎的加密資料流水線處理〉 採用蒙哥馬利演算法,模數求冪的成本可降低為一系 列長整數的加法運异。在乘法和加法結構中,目前有好幾 種避免傳播的方法。這些方法中都採用蒙哥馬利演算法與 冗餘基數系統、或餘數系統結合。 μ 在 IEEE 電腦會刊(42 (6 ) :693 - 699,1993 年7 月 ),由S.E· Eldridge and C.D· Walter所寫的”Hardware implementation of Moritgomery,s modular multiplication algorithm (蒙哥馬利模數乘法演算法 的硬體實現)中’蒙哥馬利模數乘法演算法被改編得適於 硬體貫現。因為採用了簡早的結合邏輯,可從較高的時鐘 第24頁 1229998
頻率取得速度的增加。與先前以Brickell演算法為基礎的 技術相比,報告了兩個取得高速度的因素。 數位設備公司(DEC )研究實驗室在IEEE VLSL系統 會刊(4 (1 ) :56-69 ’1996年3月)中,報告了由j· ε·
Vuillemin, P. Bertin, D. R〇ncin, M. Shand, Η. H. Touati,以及P· Boucard所寫的npr〇grammabie actiVe memories: Reconfigurable systems come of agen (可 編程有源記憶體:可重構系統時代的到來),並在IEEE電 腦演算法會議紀(第252-259頁,1 993 )的第11期論文集 中’報告了由M.Shand 和 J.vuiiiemin 所寫的"Fast implementations of RSA cryptography” (RSA 密碼系統 的快速實現),由16 XILINX 3090 FPGA組成的陣列採用 了包括中國餘數定理在内的好幾種快速方法,非同步加法 器,以及一個視窗求冪方法來實現模數求冪。其中以 185kb/s (每一次970位解密處理需5e2ms)的速度執行一 個970位元RSA解密運算,並以超過3〇〇 kb/s (每一次512 解密處理需1· 7ms)速度執行51 2位元RSA解密運算。本方案 的缺點在於其模件的二進位表示是以硬佈線方式置入到邏 輯表示中的,所以對於每一個新的模件需要一次結構調 整。 ° 在蒙哥馬利模數乘法演算法中採用高基數的一個問題 在於品要更複雜決定的商。這一行動在直接方式之外還需 要一個流水線處理執行。在電腦演算法會議紀要(第 1 93- 1 99頁,1 995年)的第12期論文簽訂中,報告了由In
1229998 五、發明說明(22) H.Orup 所寫的"Simplifying quotient determination in high - radix modular multiplication (高基數模數乘法 中的簡單商決定法)”,其中採用演算法重寫以避免在商 決定過程中的任何操作。每一給定商只執行所需的一次預 先計算。 在IEEE國際電路與系統會議紀要(第2〇4〇一3頁,1995 年)論文集第3卷中,報告了由p· a· Wang所寫的,f New VLSI architectures of RSA public key crypto systems” ,其中建議在蒙哥馬利模數乘法演算法中採用一 種新的V L SI結構。決定時鐘速度的關鍵路徑是流水線型 的,這可通過演算法的每一反復交叉處理來實現。與前面 所述建議相比,報告了兩個提高時間區域的乘積因素。 J.Bajard,L.Didier 和 P.Kornerup 在其發表於 IEEE 電腦彙刊(47(7): 766- 76, 1998年7月)上的文章” An RNS Montgomery modular multiplication algorithm (一種RNS蒙哥馬利模數乘法演算法)"中描述了一種使用 餘數糸統(R N S )的新方法。在η個適度簡單的處理器上, 用η個模件實現了該演算法。其結果處理時間為〇(η)。 當然’以上引用的大部分文件與處理器的硬體實現是 相關的,而處理器幾乎沒有或有很小靈活性。 對模數 >貝异法’已有若干個關於g y S t 〇 1丨c陣列結構的 建議。它們有不同的複雜度和靈活性。 在E· F· Brickell於1990 年,在Springer-Verlag舉
行的CRYPTO ’1989年度的密碼學進展的年會上發表的"A
1
五、發明說明(23) survey of hardware implementations of RSA (RSA硬 體實現概觀)"中,E.F. Brickell總結了9〇年代可 進行RSA加密的晶片。 、 在1991年舉行的關於電腦體系結構的第^次“ Ϊ會論f集的第35 一 42頁中,N. Takagi提出了對代模"數 有體效寅率A基4 ϋ乘法的硬體演算法,作者建議採用 ,的傳遞。報告中說與以前的 避免了二加 兩了大約6倍。 u處理逑度提 VLSI系統的彙刊(5(2). 、的方法。在IEEE關於 ^ ^ LlRSA * ίΤΐ: Jl97^6 ^ ^ ^ ^ 利演算法相比較,這種方’、系二構。與蒙哥馬 :決定減去模件的哪一倍 :二:中最重要的位 乘法。 間’要麼需要很多時鐘周期來完成模: τ模數求冪最通 鑰加密系統通常是基模數’长是平方&乘法運算。公開密 都是…和乘法演算法。兩種運算 1 方zl.i . §十鼻 Z = χΕ mod M,其中 Γ = Σ::Άί€ί〇4} 1229998
2·FOR i = η - 2 down to 〇 do
3.Z = Z2 mod M 4. IF ei = 1 THEN Z = Z . x m〇d
5. END FOR 方法1.1在最壞情況下要進行2(n〜 可採用以下 次數為1.5(n-U❶為了平行計算平方和乘運异,而千均 方式計算平方及乘法: 方法1 · 2 ·計异 P = XE mod Μ,其中e{〇5l}
l.P〇 = 1, Z〇 = X
2·FOR i = 0 to η - 1 DO
3. Z1+1 = ZA2 mod M
4. IF = 1 THEN Pi+1 = P, · Zf mod M ELSEPi+1 = Pi
5. END FOR 方法1.2在最壞情況下要進行2n次運算,而平均次數 為1 · 5 η。可利用一元方法貫現速度加快,例如採用由ρ Ε· Kruith 在其’’The Art of Computer pr0gramming (程式 設計技術)”第2卷:半數字演算法(Addison —Wesley,工 Reading, Massachusetts,1981 年,第2 版)中公開的_ 種由方法1.1廣義化的方法。該一元方法一次處理1個指 數位。其缺點是必須預先計算並存儲X的(2ι — 2)倍。 有可能減小到21-1次預計算。結果是形成複雜性大致為
1229998
η / 1次乘法運算和η次平方運算。 如上所示,用蒙哥馬利方法可將模數求冪簡化為一連 串模數乘法操作和平方步驟。以下所述模數乘法方法是由 P. L.蒙哥馬利在"Modular muitipUcatioii without trial division (無須試除的模數乘法)"中提出的該 論文發表於1985年4月出版的《計算數學》雜咕 ( 44( 1 70 ): 51 9-21 )上。這是一種用於將兩個整數以^莫 件進行乘法運算的方法,同時避免了除以M。該想法是用m 餘數對整數進行轉換並用這些m餘數計算乘法。最後,將 該表示轉換為其正常表示。該方法只有在計算轉換域内一 連串乘法運算時才是有益的(例如,模數求冪)。' 為計算蒙哥馬利乘法,基數R〉M,選擇gcd(M,R) =1 。如能被R除則最經濟,如果M = ,這樣理想 的選擇疋R - 2 。X的!!!餘數是xr ffl〇d %。也°可'計算『 =M-1 mod R 。其中提供了一個函數MRED(T)來計算 TR-1 mod Μ :假設T是一個m餘數,則該函數計算丁的標準 表示。 方法1.3 MRED(T):計算蒙哥馬利τ的減少 T < RM,R = 2'
1·U = TM’ mod R 2. t = (T + UM) / R 3· IF t RETURN t -M
1229998 五、發明說明(26) ELSE RETURN t MRED(T)的結果是 t = TR-1 mod Μ. 在轉換域中’將兩個整數a和b相乘,其中,它們分 別表示(aR mod M)和(bR mod M),兩者的乘積提供給 MRED(T): MRED((aR mod Μ) · (bR mod M)) = abR2R^ = abR mod M 對模數求幂,按照方法i ·丨或i · 2重復該步驟若干 遍以得到最後結果ZR m〇d Μ或PnR mod M。這些數值中 的一個提供給MRED(T),以得到結果z m〇d M 〇或Pn m〇d
、初始轉換步驟仍然需要昂貴的模件約簡。為避免涉及 除法用除法5十异mQd M。對給定的密碼系統,該步驟 只需要進行一次。為在轉換域中得到a和b,執行 MRED(a R mod M)和 MRED(b .R2 mociM)以得到aR mod Μ 和bR mod M。顯然,以這種方式中可轉換任何變數。 一對方法1.3的硬體實現,使用m χ m位元的乘法和& 位το的加^法以計算步驟2。中間結果可多達化位。替代一 ί 异/計算1"基表示的一個數位。選擇基數r,使得優
= gcd(M,r) = i。被1«的除法最好也是廉價的,這樣,理 4的選擇是r = 2k。全部變數可用r基表示。另一改進是 在該演算法中包括乘法A χ b 。 方法I 4 中: 用於計算A . B m〇d Μ的蒙哥馬利模數乘法, 其
1229998 五、發明說明(27) ^ = Σ:〇(2λ)^,. 5 = ; Λ 5 < Μ; Μ < Λ = 2 Mp= -AT*1 mod2fc; gcd(2* yM) = 1 1. S〇 = 0
2. FOR i = 0 to m - 1 DO 3·屮=(((Si + aj) mod 2k)M,)mod 2k 4.Si+1 = (Si + 0 + afB)/2k
5. END FOR
6. IF Sm RETURN Sm - M ELSE RETURN Sm 應用方法1 · 4的結果是Sm = ABR·1 mod M。對基2k, 至多需要兩次k x k位元乘法運算和一次k位元加法來 计真步驟3。對步驟4,需要兩次k X m位元乘法運算和兩 次m + k位加法運算。與方法丨.3的2m位相比,將S的最 大位長度減到m + k + 2。
方法1 · 5是基r = 2時對方法1 · 4的簡化。對基r = 2,方法1 · 4的步驟3的運算是以2為模完成的。由於條件 gcd(M,2k) = 1,模件μ是偶數。下面立即有μ二1 m〇d 2。這樣,M’ = -M-1 mod 2也退化為Μ,= 1。而且,在步 驟3,與M’ mod 2的乘法可隨意忽略。 方法1 · 5蒙哥馬利模數乘法(基r = 2)計算
第31頁 1229998 五、發明說明(28) 用於計算A · β mod M的蒙哥馬利模數乘法,其中 ; 5=2=(2¾A e ㈣· Α^Σ^(2 ) ^ ^ = 2^(2^)==1 1 · S0 = Ο
2· FOR i = Ο to πι - 1 DO 3· =(Si + Β) mod 2 4. Si+1 = (Si + q.M + a.B)/2 5. END FOR 1 6. if sm^M return sm - m else return sffl 方法1 · 5的步驟6的最後的比較和減法實現成 _ 由於m位的比較非常慢,資源使用上报昂責。、言本向, 該演算法不可能流水線執行。如果A,Β < M ,足會使得 明Si+1 < 2M始終成立。但是,Sm不能再用為下1 易證 法的輸入A或B。如果am+1 = 〇以及輸入A,β 极數乘 圈執行2次多,就滿足不等SSm+2 < 2M 。這樣,/M’將迴 用作下一次模數乘法的輸入B。 ^2 c可 個位 丹荈禾疋Si L» mwvx ^ - u , ~ 及可避备 在刷新Si+1 (Si + QiM + aiB)/2時尤步 (Si + qiM)/2 + aj代替。這種簡化的代價是要多^ \可用 次^+2 = 0的迴圈。以下方法包括了這些優化。夕執行一 為進一步減低方法1 · 5的複雜性,將B上移 置,即乘以2。其結果是ai · B mod 2 驟3中的加法 1229998 五、發明說明(29) 方法1 · 6用於計算A · B mod Μ的蒙哥馬利模數乘法(基 r = 2),其中: Μ = e M ; S = W,. e 5〇Μ ; 2 = Σί=ο(2*)1 〜’A. e ㈣;' AyB< 2M;M < /? = 2m+2;gcd(2yM) = 1 1. S〇 = 0 2·FOR i = 0 to m + 2 DO 3. qi = (S^ mod 2
4*Si+1 = (Sj + QjM)/2 + ajB
5.END FOR 以上演算法計算Sm+3 = (2七⑵AB) mod M。為得到正 的結果,以22(ra+2) mod M執行額外的蒙哥馬利模數乘法。 但是,如果在求冪運算中需要進一步的乘法操作,最 全部輸入預乘因數2心+2) mod μ。這樣,每個中間社 , 有一個因數2^2 。用"1"與將該結果進行蒙哥馬利^命 可消除該因數。 最後的蒙哥馬利乘法帶有"丨"’可保證最後結果小於Μ。 高基數的蒙哥馬利演算法 通過避免步驟6中昂貴的比較和減法操 改為4Μ < 2^和Α,Β < 2Μ ’在用硬體實現方子 生:些優化。其代價是將迴圈多執行2次。最終方法^產 下··
第33頁 1229998
五、發明說明(30) 方法1.7 用於計算Α ·Β mod Μ的蒙哥 Μ=e {°^-2k - ι} 馬模數乘法, 其中 M = = e ί〇Α...2λ ^ 5 = Σ2·*〇(2”,έ^ e {〇4···2* -1j ; Α = Σ^ι(2λν c Α9Β< 2Μ;4Μ < 2^;Μ9= -Μ-1 mod2* 1 . S〇 = 0
2. F0Ri = 0tom - IDO 3. (I, = (Si + aiB) mod 2k
4· SM^(Si+qiM^aiB)/2k 5.END FOR 因為atB mod 2k = 0,步驟3簡化為 所以可以通過用B · 2k代替B來降低商屮=Si m〇d 2k, 性。為補償B中的額外的因數2k ,可^的確定複雜
X迴圈的額夕Κ AA 代價來避免步驟3的加法。以下示出τ杜2 韻外代的 實現的優化。 了象哥馬利方法硬體 方法1.8用於計算A . B mod Μ的蒙哥馬利模數乘法,其 Μ = Σ^3^2*)1 e W-..2* -l} Μ = (Mfmod2k)M9M = ΣΖ〇(2^^^ ^ {^2k -l}
1229998 五、發明說明(31) 5 = Z^V)I^Ae{〇^--l}; 如 ΣΓ=ο(2,、,〜也…2*-1“- = 0 ;
AyB< 2Μ\ΑΜ < 2^\Μ9= -M~l mod2* 1 · s〇 = Ο
2. FOR i = 0 to m - 1 DO 3. q{ = Sj mod 2k
4 · s;.+1 = (5;. + A.M)/2* + AS
5.END FOR 然後將最後的結果與1進行蒙哥馬利相乘以消除以上 討論的因素。 在由Thom as Blum於1999年4月8曰提交給Worcester工 學院、題目?’’Modular Exponentiation on Reconfigurable Hardware (在可重構硬體上模數求冪)π 的論文在此結合作為參考,Thomas Blum提出兩種不同的 流水線體系結構,以便用模數乘法和蒙哥馬利空間執行加 密函數:基於方法1 · 6的區域效率的體系結構以及快速高 效體系結構。作為目標裝置,使用了Xilinx XC4〇〇〇系列 的裝置。 通用的基2 Systolic陣列使用m X m個處理單元,其 中m疋模件的位元數,每個單元只處理一個位。可同時 進行2 m個模數乘法運算,其特點是,每個時鐘周期一次模 數乘法的呑吐量以及2m的等待時間。這種方法對在現代公
1229998 五、發明說明(32) 開达、地方案中所要求的典型位長度產生不切實際大的CLB 計數,只實現了處理單元中的一列。用此方法,可同時對 兩,模數乘法運算進行處理,並且效能降低為每2m個周期 進行兩次模數乘法運算的吞吐量以及等待時間保持為2m 一〇=個考慮是基的選擇Γ = 2 k。增加k可減少方法1. 門:在個數。但這種方法需要更多的資源。主要的 丄AM中=k,的計算。它們或者被預先計算並存儲 使用Λι·為無須對Μ或Β的倍數進行計算或預計算。 小所需要:CLB數量可=2匕中的等式。為進-步減 位處理大於i個位,單個力有二==下措施:每個單 常處理期間進行其他加法運算,平、預计曾异B + M,以及在正 算。該方法從結構上可劃分十^平方和乘法運 處理单元 模數乘法 模數求冪 合 於計算模數乘法。 數求冪按照方法12進行結 什算U位模數乘法。 一個處理單元陣列用 將模數乘法運算與模 處理單元 示出了處理單元的實現。 在處理單元中有以下寄存器:
1229998
• M-Reg (u位)··存儲模件 • B_Reg (u位)··存儲B乘數 •B + M-Reg (U位)··存儲中間結果B + Μ S R e g (u + 1位):存儲中間結果(包括陣列) •S_Reg-2 (u _ i位):存儲中間結果 Control-Reg (3位):控制乘法器和時鐘使能 a! ’ Qi (2 位):乘數 a ^ •Kesult-Reg (u位):存儲乘法結束時的結果
"總Ϊ需要(6U + 5)/2個⑽,加法器需要u/2 2 , fT S ’二法器需要4 . u/2個CLBs ,解碼器需要 個CLBs。,,且δ邏輯的複用寄存器有可能允許節省一些 s。用B-Reg 和 Result —Reg 的CLBs 實現MuxB 和 uxRes,用部分M —Reg 和 β + Μ —Reg 的 clBs 實現 ⑽ d UX2。結果的代價近似為每個位元的處理單元為+ 4 LBs 。即,每個位元3 —Mg]CLBs ,這取決於單元大小u。
在一個單元計算模數乘法之前,必須載入系統參數。 f Μ存儲到該單元的.“^。在開始模數乘法時,按照多工 —Mux#的選擇線,從B-in或S-Reg載入運算元Β。下一步 疋再計算一次M + B並將結果存儲到B + M-Reg。該操作需要 2個時鐘周期,先將計算結果被送入S-Reg。MuXl和Mux2 的選擇線分別由&ι或控制字控制。 、 在以下2 (m + 2)周期内,按照方法1 · 6計算模數乘 去。多工器MuXi按照二進位變數…和屮的數值,選擇其 輪入〇,M,B,B + Μ中的一個,送到加法器中。Mux2將前
1229998 五、發明說明(34) -- 面結果S-Regg的u - 1最大位元加上下一單元(除以2/右 移)最低結果位,送到該加法器的第二輸入端。在一個周 期内將該結果存儲在S-Reg中。該最低位元進到該單元到° 右側(除以2/右移),該單元的進位元到左側。在該周期 内,在加法器中,用S-Regp ai和的刷新數值計算第 二模數乘法。除了不同的運算數A ,第二乘法使用相^的 在模數乘法結束時,在一個周期内,Sm+3在加法器輸 、出端是有效的。該數值被存儲在Result —Reg,並通過31巧 送到B-Reg。第二乘法的結果在一個周期後缉到 Resu1t-Reg 〇 圖11示出處理單元如何連接成一個陣列,以計算㈤位 模數乘法。以每個Unit處理11位,對111位執行該方法, 用m/U + 1個Unit。其中Unit0只有u — j個B輸入,作 B0—的輸入,加到移位的數值Si + _上。按照蒙哥馬利,,、、 理,結果位元S_Reg°始終為〇 °Unit_處理B的最 尚位和中間結果Si+1的臨時溢出,沒有M輸入到該此丨七。 ,單位(Unit)的輸入和輸出按以下方式彼此連接。 =p ^ #吸從右到左通過該單位,果從左抽 及到右。進位元出信號送到右邊的進位入。輸 始終連接到該單位的輸入S一O — In到右側。一 —Ut 2除。 4石惻义表不公式中被 首先,將模件Μ送到單位。為有足夠時 到全部“,Μ在兩個時鐘周期内是有效的
1229998
匯流排,將M-偶數—匯流排連接到所有所有偶數編號的 单位、’將奇數—匯流排連接到所有奇數編號的單位,這 種方法可在每個時鐘周期内將u位元送到該單位。這樣, 裝載全部模件Μ需要花費111/11個周期。 η 同樣方式裝載運算數Β。這些信號在2個時鐘周期内也 是有效的。在裝載運算數Β後,方法1 · 6步驟開始作用。 ^最右單位開始,控制字ai,和Qi送到其寄存 。按照a!和qi ,加法器在一個讀時鐘周期内計算 、^加8,%,或^ + M。結果的最低位在下次計算中作 ,q i+1讀回。結果的進位元、控制字〜芽口屮被抽吸到該 早位左’在下一個時鐘周期進行同樣計算。 用這種中心收縮方式,可將控制字七,屮和進位從右 道^吸通過全部單位進位元。方法16中的被2除,也可 =出右,細作。單位加法的最低位元(s。)始終送到單位 在70成模數乘法後,將結果從右抽吸到左通過該 立’連續存儲在RAM中作進一步處理。 早处理單元計算U位元的si+1 = (Si + Qi . M)/2 i ·Β。士在時鐘周期i,單位。計算Si的〇. . . u _】位。 ^ + 1 4間周期’單位1使用產生的進位並計算Si的11 .. 1°在1 + 2時間周期,單位◦使用A (SG)右移 i,乂的位U計算S…的〇 . . . u - 1位。時鐘周期“ 過平等待單元1結果而無操作。按照方法U,通 千仃计^平方和乘法運算可避免該低效率。 取決於Zi。這樣,中間結果Ζι存儲在B寄存器中+1,將p/+1 在
第39頁 1229998 五、發明說明(36) 送到單元的\輸入以進行平方和乘法運算。 中心,=:ΐ如何使料位陣列進行模數求幂。該結構的 疋個有17個狀態的有限狀態機(FSM)。在空閒狀、 J,4個狀態用於載入系統參數,3χ4個狀 ,數狀 ί後中四執個Λ狀態”預計算厂、"預計算2”、"計算十 對送到M’和計算乘法。按照狀態 為時於二%的控制字進行編碼。該FSM以1/2的時鐘速率 此。1對裝載和讀人RAM*DP RAM單元也同樣如 '廷種措施可保證最大傳播時間處在這些單位内。這 位中ϊ ί!幂ί最小時鐘周期時間和產生結果的速度與單 、有效计异時間關聯,而與計算的開銷無關。 在模數求冪之前,裝載系統參數。在該^ Μ的2u位從1/〇讀到M_Reg。 棋仟 低Pb = It ^位到高階位開始’時間交替地將從M-ReS讀出 一白丄同階位的u位元到奇數-匯流排和M-偶數-匯流 i信號在兩個時間周期内是有效的。指數E是從I/O 存儲在Exp — RAM中的16位元。來自1/〇的第一個16位 a杏子用各個位規定了指數的長度。多達64的以下的字包 3貫際的指數。該時刻從1/〇讀出2u位的預計算因數22⑻2) mod Μ。它被存儲到prec — RAM。 在預计异狀態,每個周期u位元,我們從丨/〇讀出X數 ® t存儲在DP RAM z。同時,從Prec RAM讀出預計算 u要以m+ ) mod Μ,每個時鐘周期u位元,通過M—奇數一匯
1229998
流排和Μ-偶數匯流排交替地將其送到單位的b寄存器中。 在以下的兩個時鐘周期内,在單位中計#β + Μ。 方法1.2的初始數值是存在的。並行地將兩個數值乘 以2 ’兩個乘法運算使用公共的運算元m〇d μ,該 ,算數已經存儲在Β中。時分多工(TDM)單位從Dp RAM z 讀出X,將之乘以X和1。在2(m + 3)時鐘周期後,結果的低 階位出現在Result-Out,將之存儲在Dp RAM z。一個周期 後,下一個結果的低階位出現在Result —〇ut,將之存儲在 DP RAM P。該過程重復2m個周期,直到兩個結果中所有數 位存儲在DP RAM Z和DP RAM P中。結果的χ · 2m+2 m〇d M 也存儲在單位的B寄存器中。 在,計算2狀態下,啟動方法12的實際步驟。對2和 P1的計算,將Z0用作運算元。該數值存儲在B寄存器中。 分別從DP RAM Z和DP RAM P讀出第二運算元z〇或卩 通過TDM”抽吸"ai到各單位。在另外的2(m + 3)個時鐘周 =’在ReSult-0ut出現ΖΜσΡ1結果的低階 儲 在DP RAM中。只有在指數eG的第—位等於"丨"時,存储 Ρ1。根據eO,可將Ρ1存儲在Dp RAM ρ中或丟棄。 在計算狀態,將方法1 · 2的迴圈執行n — W 期後,刷新DP RAM Z中的Ζι,並作一,, 母個周 DP RAM P中的Ρι只有在指數ei相關位等於1個時早 =新。用這種方法,始終可將最後存儲_抽吸回各個單 在處理en_i以後,FSM進入後計算狀態 1229998 五、發明說明(38) 因數2m + 2 ’計算最後的與1的M〇ntg〇mery乘法。將第一向 畺〇’ 〇,· · · 〇,1通過M-奇數-匯流排和M-偶數匯流排 交,送到單位的B寄存器。從DP RAM P抽吸Pn作為ai送到各 個單位。在執行後計算狀態後,在丨/〇埠,U位的結果匕 =XE mod Μ是有效的。每兩個時鐘周期,在1/()出現另^卜 的u位。可立即重新進入預計算狀態,以計算另一個X數 值。 在2(π + 2)(m + 4)個時鐘周期内計算完全的模數求 冪。這有一個延遲,從將X的前u位元插入該裝置開始, 直到在輸出出現前u個結果位。在此觀點看,另一個X數值 可輸入到該裝置。利用m/u時鐘周期的附加的潛伏性,在 輪出匯流排出現最後的U位元。 下文解釋圖1 2中的功能模數。圖丨3示出Dp RAM z的社 構。m/u χ u位元的DP RAM處於該單元。 ^ 寫(A)和讀(DPRA)地址輸入。計數到 上;離的 計算J地址(A)。料的前"立元出現在資料入十(二 ^ )時,寫计數益啟動子狀態B_1〇ad的計數(時鐘使能 KM W’DP RM的使能信號是有效的,將資料存儲在好 AM。s達到m/u時,端子計數重定卯RAM的計數使能和 J能。在計算子狀態中’使能該讀出計數器。纟讀數 器達到其上限m + 2,端子-計數觸發FSM躍遷到B_i〇ad =態。讀出計數器數值(q。…則心仏)個最高位選址 DP RAM的DPRA。每11個周期,讀出Dp RAM中存儲的另一 值。當Qm〇g2(U)個最低位達到◦,將該數值裝載到移位
1229998 五、發明說明(39) "~"一" 寄存器中。在下u個周期,該u位將逐位出現在移位寄存 ^的串行輸出上。將Zi的最後數值存儲在一個u位元寄存 器中。這種女排使彳于我們能夠選擇Wu X ^位的DP RAM來代 替 2m/ux u-位的 DP RAM (Π1 = 2x,X = 8,9,10)。 DP RAM P幾乎以同樣方式工作。它有一個額外的輸 入ei,在6丨=1時,可以啟動dp RAM的寫使能 (wr i te-enab 1 e )信號工作。 圖17示出Exp RAM的結構。在裝載指數狀態的第一個 周期内,從I/O讀出第一個字,將之存儲在1〇位元寄存器 中。該數值規定了以位表示的指數的長度。在以後的周 期,讀出16位元的指數,並存儲在RAM中。由一個6位元寫 计數器計算存儲位址。在每個計算狀態的開始,該丨〇位讀 出計數器被使能。它6個最高位元計算該存儲位址。這 樣。每1 6次啟動,從RAM中讀出新的數值。在讀出計數器4 個最低位等於0的同時,將該數值存儲在丨6位元的移位寄 存器中。當讀出計數器達到1〇位寄存器中規定的數值時, 端子信號觸發FSM進入後計算狀態。 圖 15 示出 Prec RAM 的結構。在;[oad 一 pre-fact〇r 狀 態,從I/O讀出2u位的預計算因數並存儲在RAM中。計數 達到m/2u的計數器選址該ram。當讀出全部m/2u個數值, 端子計數信號觸發FSM離開l0ad —pre —fact〇:r狀態。 在狀態預計算1中,從RAM中讀出預計算因數並送到帶 單元的β寄存器。每個時鐘周期該計數器遞增,將2 u位裝 入2u位寄存器。在每個時鐘的正向邊沿,從中將u位送到
第43頁 1229998 五、發明說明(40)
將U 位元送到B-奇數. B-偶數-匯流排上。在負時鐘邊沿 匯流排。 一種快速咼效的體系結構 >1 ΐΐίϊ可優化其資源的使用。使用基數r = 2k k 1,可用因數k.減少方法ι6的步驟數。 2,k 行m 次(i = 0 t0 m + 2)。 方法的計算執 很容易將—種快速高效的體系結 處理單元:計算模數乘法的4位 按級“刀為三層。 模數乘法:一個處理單元陣列計算模數乘法 模數求冪··將模數乘法運算與模數求 合 常饮“、、万去1 2進行結 圖16示出處理單元的實現。 配置了以下單元: B-Reg (4位):存儲b乘數 B-Adder-Reg (5位):存儲β被乘數 S-Reg (4位):存儲中間結果s Contro卜Reg (3位):控制乘法器和 ai-Reg (4 位):乘數 a qi-Reg (4 位):商 q
Result-Reg (4位):存儲乘法結束時的結 ^jdder (4位):將B加到以前計算出的b的倍 B + M〜-Adder (4 位)·將μ M σ ,,R,M 士本„ ^ 將M〜的倍數加到B的倍數上 ;to S + B + M〜-加法益(5位):加中間結果 第44頁 1229998 五、發明說明(41) 倍 •B-RAM (16x4 位):存儲_16 • Μ〜-RAM (16x4位):存儲恥的^
Blum, T的論文 進行全部大小的 該單元的運算很容易從前面# 和附圖的闡述中導出。 到陣列 圖1 7示出處理單元如何連接 模數乘法。 圖18示出如何使用單元陣列進行模數求冪。 圖19示出DP RAM Z的杜槿/ ^ 、扪、,。構。m X 4位元的Dp RAM處於 該早疋的中心。它有分離的寫(A)和讀(DpRA)地址輸 入❶兩個計數器遞增計數到m + 2,計算這些地址。當資料入 出現A的第一個數位時,寫計數器啟動子狀態B_負載中的 計數(時鐘使能)。同時,啟動DP RAM的使能信號,將資 料存儲在DP RAM中。當達到!!! + 2時,寫計數器的端子計 數信號重定兩個使能信號。在子狀態計算時,使能該讀計 數器。DP RAM的賓料被讀計數器輸出的q選通,並立即出 現於DPO。當讀計數器達到m + 2,端子-計數觸發FSM變換 到子狀態B負載。將Zi最後兩個數值存儲在各個4位元的寄 存器中。 該方法允許我們選擇100%利用的m X 4位的DP RAM,來代替只有50%利用的2m X 4位的DP RAM。該DP RAM P以幾乎相同的方式工作。它有一個附加的輸入ei,, 在ei = π 1 · ·'時,啟動DP RAM的寫使能信號工作。 由於上述流水線處理器結構中體現了許多流水線處理 單元,因此將每一單元同步到同一積體電路中的時鐘源常
第45頁 1229998 五、發明說明(42) 常困難而費用高昂,所以,本發明通過克服時鐘分配問題 來減少總的資源需求。同樣,既然在一個方向需要加法, 在其他方向需要乘法,顯然沿一條路徑需要花費比其他路 徑更多的時間,所以,按照本發明的實施例,有可能使路 徑時間平均化。 當然,還會有許多不偏離本發明精神或範疇的其他實 施例。
第46頁 1229998
圖式簡單說明 〈圖示之簡單說明〉 藉由以下與附圖結合的多個優選實施例,可増加 發明的理解,其中: 圖1是本發明的第一實施例中流水線處理器的結構簡 圖; 圖2本發明中與時鐘分配電通信的處理單元陣列 構簡圖; ° 圖3現有技術的流水線處理器中用於多個處理 門控資訊時序圖; 、 圖4是本發明的流水線處理器中用於多個處 門控資訊時序圖; 早7°的 0圖5是本發明中分別用於同一處理器内的三個相鄰處 理單元的時序圖; 圖6是本發明的第二實施例中流水線處理器的結構簡 圖, 圖7疋本發明的第三實施例中流水線處理器的結構簡 圖; 圖8 a疋本發明中含有一個時鐘切換電路並按第一模式 連仃的一個處理器單元的結構簡圖; 圖8b是本發明中含有一個時鐘切換電路並按第二模式 建仃的一個處理器單元的結構簡圖; ,^是被安排用於在單元與單元之間提供蛇形時鐘信 號的處理單元巨集塊的結構簡圖; 圖1 〇是用於在流水線處理器中執行加密處理功能的一
第47頁 1229998 圖式簡單說明 ' 個資源足夠的處理單元的設計結構圖; 圖11是用於模數乘法的一個Systolic陣列的結構圖; 圖12是一個示出其輸入路徑的單個單元的結構圖; 圖13是一個DP RAM Z單元的結構圖; 圖14是一個Exp RAM單元的結構圖; 圖15是一個pree ram單元的結構圖; 圖1 6是用於在流水線處理器中執行加密處理功能的一 個速度足夠的處理單元的結構圖; 圖Π是用於模數乘法的一個Systolic陣列的結構圖; 圖18是一個示出其輸入路徑的單個單元的結構圖; 圖19是一個DP RAM Z單元的結構圖。 <圖號說明> 1 即時時鐘源 11a 硬體連接 lib 硬體連接 12 流水線處理器 13 流水線處理器 2 硬體連接 3 時鐘導體 4a 處理單元陣列 4b 處理單元陣列 5 處理單元陣列 6a 7 可選擇的電連接 流水線處理器 6b 可選擇的電連接 8 處理器單元 81 埠 82 埠 83 時鐘驅動器 84 時鐘驅動器
1229998 圖式簡單說明 85 開關 86 時鐘導體 87 9 91 處理單元 輸入/輸出崞 宏塊 92 宏塊 10 連接 # 第49頁

Claims (1)

  1. 六 申請專利範圍 聲 以串接陣列種::'數裝置,其資料處理設備包括: 元先處理單元,其中,第-處该 以及, 处早70第—處理單元先於第η處理單元; 元電i S st :多個獨立處理單元中每-個處癦單 路傳播的時鐘路’使得在使用,,沿時鐘分一 延遲到達每1個處b理‘=於日守鐘信號到達前一處理單元的 讀出二:門ί # #寫入處理,元到1亥資料,皮後-處理草元 以從兮产於時鐘周期準確個數k,這裏k大於0,不足 延遲則:述:ί產生出準確的輸出資#,但如果有額外的 鐘Θ $二/間就足以產生出準確的輸出資料,在所述時 :周期準確…後,待處理的新資料被讀入同一處= 接瞌中請專利範圍第1項所述之多級計數裝置,該· ΪΠΓ:沿第一方向的第一路徑以及-個沿第二其Ϊ 路^,㈣二路徑在每—級的處理時間比第〜 路仏在母一級的處理時間要短。 該時 住何 該時 立丄3、如申請專利範圍第2項所述之多級計數裝置 逢里化號是獨立地分配到各處理單元的。 4、如申請專利範圍第3項所述之多級計數裝置 兩個相鄰處理單元之間的延遲大致相同。 么5、如申請專利範圍第4項所述之多級計數袭置 1里化號的傳播方向是可切換的。 1229998
    ‘如申請專利範圍第4項所述之夕級計數裝置,該 準確個數k是一個時鐘周期。户 ‘如申請專利範圍第2項所述之多級計數裝置,該時 是從在前的處理單元選通到下一個處理單元的二 、如申請專利範圍第7項所述之多級計數裝置,該 的傳播方向是可切換的。 、如申請專利範圍第2項所述之多級計數裝置,該串 中至少有一個處理單元與〆個外部電路時間同步。 、如申請專利範圍第9項所述之多級計數裝置,該 路包括一個存儲緩衝器。 鐘周期 7 鐘信號 8 鐘信號 9 接陣列 10 外部電 n、如申請專利範圍第項10所述之多級計數裝置,該 外部電路包括一個用於接收外部資料、並提供所述資料給 存儲緩衝器的輸入/輸出埠。 1 2、如申請專利範圍第11項所述之多級計數裝置,其 中該串接陣列包括: 具有第一預定個數η個處理單元的第一流水線陣列; 以及, 具有第二預定個數m個處理單元的第二流水線陣列。 1 3、如申請專利範圍第丨2項所述之多級計數裝置,該 第一流水線陣列中至少有一個處理單元通過硬體連接與存 储緩衝器電通信,該第一流水線陣列中的該至少一個處理 單元與存儲緩衝器時間同步以進行資料檢索。 卜1 4、如申請專利範圍第丨3項所述之多級計數裝置,該 第一流水線陣列的該至少一個處理單元是該第一流水線陣
    1229998 六、申請專利範圍 列中的第一處理單元。 1 5、如申請專利範圍第丨3項所述之多級計數裝置,該 第一流水線陣列的第η單元與第二流水線陣列的第m單元通 過硬體連接進行電通信,使得輸入第一流水線陣列的第一 處理單元並傳送到該陣列的第η處理單元的資料,可進一 步傳送到第二流水線陣列的第m處理單元,以作進一步處 理〇
    1 6、如申請專利範圍第丨5項所述之多級計數裝置,該 第一預定個數處理單元的個數^,以及第二預定個數處理 f的個數m,是一個相同的預定個數,以便在使用中,到 第η單疋和到第m單元的延遲基本相同,使得第一流水線陣 歹β的第η單元與第二流水線陣列的第m單元的尾—頭資料傳 送基本上是時間同步的。 —1 7、如申請專利範圍第1 3項所述之多級計數裝置,該 二流水線陣列中至少有一個處理單元通過硬體連接盥存 ΐ緩衝器電通信,該第二流水線陣列的所述至少一個i理 早7L與存儲緩衝器時間同步以進行資料檢索。 1 8、如申請專利範圍第丨7項所述之多級計數裝置,該
    =流水線陣列的該至少一個處理單元是該第二流 列中的第一處理單元。 民平 第—1 9、如申請專利範圍第1 7項所述之多級計數裝置,該 過:ϊ ΐ ί陣列的第n單元與第二流水線陣列的第m單元通 處理單元並傳送到該陣列的第„處理單元的資料%的進第一
    第52頁 1229998 六、申請專利範圍 步傳送到第二流水線陣列的第處理單元,以作進一步處 理。 2 0、如申請專利範圍第〗7項所述之多級計數裝置,還 包括一個第三流水線陣列,它具有第三預定個數的Q個處 理單元。 2 1、如申請專利範圍第2 〇項所述之多級計數裝置,該 第三流水線陣列中至少有一個處理單元通過硬體連接與存 儲緩衝器電通信,該第二流水線陣列的所述至少一個處理 單元與存儲緩衝器時間同步以進行資料檢索。 2 2、如申請專利範圍第2 1項所述之多級計數裝置,該 第三流水線陣列的所述至少一個處理單元是該第三流水線 陣列在流水線陣列中的第一處理單元。 2 3、如申請專利範圍第2 1項所述之多級計數裝置,該 第一流水線陣列的第n單元與第二流水線陣列的第m單元通 過第一硬體連接進行電通信,同時第二流水線陣列的第一 單元與第三流水線陣列的第一單元通過第二硬體連接進行 電通信,使得在第一流水線陣列的第η個單元與第二流水 線陣列的第m單元之間的尾—頭資料傳送基本上是時間同步 的,同時在第二流水線陣列的第一單元與第三流水線陣列 的第一單元之間的頭-尾數據傳送也基本上是時間同步 的。 2 4、如申請專利範圍第1 2項所述之多級計數裝置,還 包括一個第三流水線陣列,它具有第三預定個數的q個處 理單元。
    第53頁 1229998 六、申請專利範圍 25、如申請專利範圍第24項所述之多級計數裝置,該 第一流水線陣列的第η單元與第二流水線陣列的第m單元通 過第一硬體連接進行電通信,同時第二流水線陣列的第一 單元與第三流水線陣列的第一單元通過第二硬體連接進杆 電通信。 2 6、一種多級計數裝置,其可切換處理單元包括: 用於接收第一時鐘信號的第一埠; 用於接收第二其他時鐘信號的第二埠; 可在選擇第一時鐘信號和第二其他時鐘信號中的一 的兩種模式之間進行切換的開關; 出 其中,從該第一時鐘信號和第二其他時鐘信 之一被提供給該處理單元 °〜 斤 27、一種多級計數方法,包括以下步驟: U)提供一個流水線處理器,所述流水線 按串接陣列排列的多個獨立的處理單元,以 益包括 兀先於第二處理單元處理,第二處理單元 處理單 元處理; %於第η處理單 (b)為所述按串接陣列排列的多個獨立 每一個處理單元提供一個時鐘信號,使得 早7C中的 元之外的每個獨立處理單元的時鐘信號,建第一處理單 先處理單元的時鐘信號要延遲; & 目對於到達其在 (C )提供資料給所述第一處理單元進^ (d)將所述資料傳播到至少下一個H =理; 一步處理; 早元以 進行進
    1229998 六、申請專利範圍 其中’扼供給該多個獨立處理單元中的某一單元的時 鐘信號,相對於提供給該多個獨立處理單元中另一個單元 的時鐘信號’相對於該時鐘周期有一大量的延遲。 2 8、如申請專利範圍第項2 7所述之多級計數方法,從 資料寫入處理早元到該資料傳送給至少下一個處理單元的 時間等於時鐘周期準確個數η,這裏n大於0,不足以從該 處理單元?生出準確的輸出資料,但如果有額外的延遲則 上述時間就足以產生出準確的輸出資料,在所述時鐘周期 準確個數η後,待處理的新資料被讀入同一處理單元。 2 9、如申請專利範圍第2 7項所述之多級計數方法,該 至少下一個處理單元按離開第一處理單元的第二其他處理 方向傳送需要進一步處理的資料。 〇 如申凊專利範圍第2 9項所述之多級计數方法,按 Μ下步驟提供資料·· 、 於從外邦次 Τ〜兴一徊外邵,电时n / w q。丨…电峪 W二為源接收供該第一處理單元處理的資料;以及 5違外部電路讀取供該第一處理單元處理的資料。 外部雷、申請專利範圍第30項所述之多級計數方法, 理^次路是一個存儲緩衝器,用於接收供第一處理單元 J負料。 第一 2、如申請專利範圍第29項所述之多級計數方法, 處理時^〜方向上其中一個相對於其中另一個需要較短 33、如申請專利範圍第32項所述之多級計數方法,該
    1229998 六、申請專利範圍 時鐘信號是獨立地分配到各處理單元的。 34、如申請專利範圍第33項所述之多級計數方法,該 時鐘周期準確個數k是一個時鐘周期。 3 5、如申請專利範圍第3 3項所述之多級計數方法,任 何兩個相鄰處理單元之間的延遲大致相同。 36、如申請專利範圍第33項所述之多級計數方法,該 延遲加上準確個數的時鐘周期之後所得的一段時間,比延 遲方向上的處理時間要長。 、37、如申請專利範圍第36項所述之多級計數方法,該 準確個數的時鐘周期減去所述延遲後所得的一段時間,比 "亥延遲方向以外其他方向的處理時間要較長,但比該延遲 方向的處理時間要短。 在3 8 如申凊專利範圍第3 7項所述之多級計數方法,該 時鉍周期至少是每個方向處理時間的平均數。 士立: t申請專利範圍第32項所述之多級計數方法,該 ϊϊί:ί從在前的處理單元選通到下一個處理單元的,〆 ^路Γ早疋有一個用於在該時鐘信號中產生已知延遲的 -斜接ΪΙ請專利範圍第32項所述之多級計數方法,該 科 k仏β該流水線處理器進行加密處理。 料二法,其在流水線處理器中處理資 部分Ϊ)-為的流水線 的時鉍彳§唬,使得到達所述第一部分中第一 第56頁 1229998 ______ 六、申請專利範圍 --------- 處理單元之外的個獨立 口口 同在第-部分的並較先處;二早元的時鐘信號,比起到達 第二其他部分中u向的時鐘信號,使得到達所述 从《主m 疋之外的每一個獨立處理單元 比起到達同在第二其他部分的其較先處理單 兀的時*里化號要延遲; (Γ)/提未供身料給流水線處理器第一部分的第一處理單 元以進打處理; =其I,!?第一部分最後處理單元的延遲與到第二部分 的最後处理单元的延遲大致相同,使得在流水線處理器的 中心所述兩個相鄰處理單元是同步的。 42、 如申請專利範圍第41項所述多級計數方法,該資 料被提供給該流水線處理器進行加密處理。 43、 一種多級計數裝置,其在資料處理設備的 使用一巨(宏)指令,包括: 置 串接排列並有一個時鐘輸入導體和一個時鐘輪 的多個獨立處理單元,與該時鐘輸入導體電通信的 體增加了從時鐘輸入導體到該多個獨立處理單元中々二 後繼單元的長度,同時該時鐘導體減小了從時鐘輪=: 到所述多個獨立處理單元中每一個後繼單元的長度. 其中,所述時鐘輸入導體和輪出導體被排列;J使一 佈局内相鄰放置的巨(宏)指令形成空間足夠的舨, —個巨集的輸入時鐘導體與相鄰巨集的輸出時鐘導體在麵
    第57頁 1229998
    第58頁
TW91109550A 2002-05-08 2002-05-08 Calculating apparatus having a plurality of stages TWI229998B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW91109550A TWI229998B (en) 2002-05-08 2002-05-08 Calculating apparatus having a plurality of stages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW91109550A TWI229998B (en) 2002-05-08 2002-05-08 Calculating apparatus having a plurality of stages

Publications (1)

Publication Number Publication Date
TWI229998B true TWI229998B (en) 2005-03-21

Family

ID=36083262

Family Applications (1)

Application Number Title Priority Date Filing Date
TW91109550A TWI229998B (en) 2002-05-08 2002-05-08 Calculating apparatus having a plurality of stages

Country Status (1)

Country Link
TW (1) TWI229998B (zh)

Similar Documents

Publication Publication Date Title
US7694045B2 (en) Methods and apparatus for pipeline processing of encryption data
US8386802B2 (en) Method and apparatus for processing arbitrary key bit length encryption operations with similar efficiencies
Leong et al. A bit-serial implementation of the international data encryption algorithm IDEA
US8078661B2 (en) Multiple-word multiplication-accumulation circuit and montgomery modular multiplication-accumulation circuit
Xie et al. Hardware-efficient realization of prime-length DCT based on distributed arithmetic
Broscius et al. Exploiting parallelism in hardware implementation of the DES
CN109271137B (zh) 一种基于公钥加密算法的模乘装置及协处理器
KR100508092B1 (ko) 저전력 모듈로 곱셈을 수행하는 연산장치
TWI229998B (en) Calculating apparatus having a plurality of stages
EP1480119A1 (en) Montgomery modular multiplier and method thereof
Posch et al. Approaching encryption at ISDN speed using partial parallel modulus multiplication
Zhao et al. Exploring the speed limit of SM2
Jeon et al. Low-power exponent architecture in finite fields
CN113625994B (zh) 一种数据处理方法和处理核
Poomagal et al. Modular multiplication algorithm in cryptographic processor: A review and future directions
Pinckney et al. Public key cryptography
Adiono et al. A Low Latency and Resource Efficient Scalable RSA Cryptoprocessor Architecture
JP2003029630A (ja) べき乗剰余演算装置
JP2008102681A (ja) Ipコア及び複合ipコア
Broscius Exploiting Parallelism in Hardware Implementation of the DES Albert G. Broscius Distributed Systems Lab Dept. of CIS
KR20020082540A (ko) 디이에스 암호화 장치

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees