TW505839B - Simple algorithmic cryptography engine - Google Patents
Simple algorithmic cryptography engine Download PDFInfo
- Publication number
- TW505839B TW505839B TW089128319A TW89128319A TW505839B TW 505839 B TW505839 B TW 505839B TW 089128319 A TW089128319 A TW 089128319A TW 89128319 A TW89128319 A TW 89128319A TW 505839 B TW505839 B TW 505839B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- instruction
- operand
- register
- processing system
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
五 Μ 員 工 消 費 例 、發明說明( 發明背景 ι發明範疇 本發明與處理系統範嘴有關,特 處理器有關。 ”在碼系統中使用的 2·相關技藝之描述 基於對電子化内容資料加密編碼之應用與㈣辦 在叙樂範嘻,數位音訊與視訊記錄加密以保護資^ =受權:複製”戈如在通訊範,,文件加密以防止資料被 未經授權的檢閲,而加密的認證用來驗證文件之眞實性。 一些標準已採用或提議來加密擁有版權的内容資料; 或者,當每次擁有版權的内容資料從一種設備傳到另一 備時,與存取資料相關的安全項目,譬如標鐵,也會採 吳些標準。例如,當一台"符合標準.•之光碟燒錄器, ^一片内含防拷資料之拷貝的光碟片時,記錄會被加密休 濩而/、有符合標準(compliant)”之光碟播放器才可播放 及貝料。"符合標準”之裝置乃執行沿用標準的裝置。假 如孩原始防拷内容資料之複製限制爲"一次拷貝 once ),則该"符合標準”之光碟燒錄器會把此原版拷貝標 上”永不拷貝(copy-never)"的記號。,,符合標準"之光碟燒 錄器會辨認此”永不拷貝”的記號,而不會再複製此 貝假如1^亥^料由非付合標準(non-compliant) π之燒錄 複製,則此資料將不會含有適當的加密項目,而"符合 準之燒錄器或播放器也無法燒錄或播放此複製資料。 標準亦沿用在傳輸性内容資料之加密、簽名及鑑別, 4- 本紙張尺度過用中國國家標準(CNS)A4規格⑵0 X 297公髮— 又 設 製 保 拷 器 標
訂---------MMT. (請先閱讀背面之注意事項再填寫本頁)
I A7 — -— 卩 7 五、發明說明(2 ) tit郵件及其附件。吾人可加密内容資料,又或把已加 t全項目附加至内容資料以識別其來源。安全項目的 (請先閱讀背面之注意事項再填寫本頁) r或”連結―)"方式,乃根據識別原始内容資料在 個傳运過程中有否遭到修改的解密程式。 上逑例子説明加密與解密技術,特別是加密的簽名、驗 f與存取«之使用越形增加,故需要在多種電子設備中 2含加密與解密裝置。每一"符合標準"的音訊或視訊設 A ’包括HI定式和可攜式,必需内含處理或交換鑰或其他 ,全項目的使用工具,而且通常必需包含加密的簽名或驗 a裝置’或涵蓋二者。每_電子郵件之傳送或接收設備, 包括多功能設備如蜂襄式電話,將會預期包含簽名或驗證 裝置’或涵蓋二者。因此,協助加密的簽名、驗證與密碼 鑰處理之裝置,在多種系統中是有需求的。 經濟部智慧財產局員工消費合作社印製 傳統電路設計,雖然是執行數位簽名、驗證與其他鑑別 工作之汉備最省錢的具體實施例,但其成形之加密法卻帶 來具體化演算法過時的風險。至於通用型可程式處理器, 雖可隨密碼學技術轉變而調整其具體化演算法,卻不一定 符合各種需要加密相容性之設備的經濟原則。再者,低成 本通用型可程式處理器則無法達成即時鑑別處理所期許的 效能目的,例如,其可能需要輔助裝置或更高速的處理器 來達成該等目的,這樣便會增加成本。其實,即便低價處 理器加上輔助裝置能符合目的成本,受限於裝載系統的物 理性質’如蜂巢式電話,也會把這些輔助裝置剔除。 -5 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 505839 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(3 ) 發明概述 本發明的目的是提供一種用以協助密碼驗證的可程式化 處理系統。本發明進一步目的是提供一種能夠最有效執行 一般加密與解密公用程式功能的密碼處理系統。本發明更 進一步目的是提供低成本密碼處理系統。 本發明藉由提供一種特別適用於密碼處理的處理器架構 與指令集,達成前述及其他目的。有許多技術可用來降低 設計複雜度至最低程度,以及裝置間互相連接的複雜度至 最低程度,藉此減少所需表面面積及關聯的成本。還有許 多技術可用來簡化密碼處理型處理器程式設計的工作,以 及使此類密碼處理程式設計中預期常用之指令的效率最佳 化。在一較佳低成本具體實施例中,利用一單一連接埠隨 機存取記憶體(random-access memory,RAM)來儲存運算 元、於資料路徑中運用少量的資料匯流排與暫存器,以及 使指令内的指令集最佳化以適用於平行運算。因爲密碼處 理的特徵在於處理多種資料項目的運算,所以特別強調對 夕子元運算之有效處理,包括使用與指令字元等同寬度之 常數。本發明揭示一種簡化算述單元,以最小費用 (overhead),有效支援密碼操作通常需要的功能。在一較 佳具體實施例中利用一種微碼映射指令集,用以協助每個 指令週期中的多重平行運算,並且提供最小費用的直接處 理控制。 圖式之簡單説明 本發月藉由具體範例進一步詳細説明,並以附圖作爲參 -6 - 本紙張尺度適用中®^^I^NS)A4規格⑵Q x 297公髮) (請先閱讀背面之注音?事項再填寫本頁) ----------------線. 五、發明說明(4 ) 考,其中: ㈤爲根據本發明鬧釋密碼處 範例方塊圖。 糸、,死 < 貝科路徑架構的 圖2爲根據本發明闡 6 格式。 睪贫碼處理系統的一對範例指令集
圖3爲根據本發明M 範例方塊圖。 閣釋贫碼處理系統之控制路徑架構的 圖4爲根據本發明關猶 的範例方塊圖。 4碼處理系統之微指令映射處理 ::有圖示中,自同之參考數値代表 或功能。而在後續的所 ^双的秤徵 代表圖!所介紹的項目二:,1〇°至199之參考數値 介紹的項目;300至3 9 9、參考數錢表圖2所 至3 9 9又參考數値代表圖3所介紹的項 目;400至499之參考數値代表圖4所介紹的項目。、 發明之詳細説明 基於觀察到密碼系、統之運算,如數位簽名與驗證、公鑰 一私,之交換處理等,通常都包含大量資料變數,但卻是 相對簡單的算述運算;本發明乃得以產生。常見的密碼系 、·充 算法爲數位簽名 ά 算法(Digitai |gignature Aig〇rithm) DSA。另一種使用在數位簽名與驗證、且已提出成爲標準 (ANSI X9·62)的常見演算法爲橢圓曲線數位簽名演算法 (Elliptic Curve Digital Signature Algorithm) ECDSA。此種 /威算法與數位傳輸内容保護(Digital Transmission Content Protection) DTCP系統的結合體,一直爲配備IEEE-1394連 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 505839 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(5 ) 接裝置之數位音訊與視訊產品所採用。ECDSA特別適用 於低成本具體實施例,因其使用之橢圓曲線法僅包含加 法、減法、乘法與反轉的簡單數學運算。 數位簽名與驗證所使用的資料變數均很大,通常寬度爲 1 6 0或3 2 0個位元。在一較佳具體實施例中,將使用大小 爲3 2個位元寬的資料字元來平均分割資料項目成五或十 個丰元。該選取的資料字元大小乃設計上之妥協:因爲大 字元需要更多的配線與路由,而小字元則在處理資料項目 時需要額外的字元運算。該認清的事實是,大資料字元會 招致配線與路由巨大的額外負擔,而根據本發明之資料流 與控制架構,則較傳統處理系統受到更多限制。 在一較佳具體實施例中,可選擇單一的唯讀記憶體 (ROM)供指令與常數使用,以及選擇單一的隨機存取記 憶體(RAM)供變數使用,用以降低線路複雜度與路由。 因爲資料常數與資料字元以大小相同爲佳,而且最好與指 令儲存於同一唯讀記憶體内;所以在一較佳具體實施例 中,指令字元與資料字元採用同樣大小。 前逮資料項目的簡單數學運算期許引用最少數量之指 令’然而’適用於寬資料項目,與資料字元同樣大小的指 令罕兀’卻需要運用大量不同指令。體認到處理器速度之 重要性’遂根據本發明來建立有效的3 2位元供每一指令 使用,俾使多重平行運算可實行於每一指令内。 圖1A根據本發明闡釋處理系統之資料流架構1 0 0的範 例方塊圖。如此方塊圖所顯示的簡單性,與傳統3 2位元 本紙張尺度過用干國國豕铋準(CNS)A4規袼(21〇 X 297公釐) --------------------訂---------線 (請先閱讀背面之注意事項再填寫本頁)
、發明說明(6 處理系統比較,已實行最佳化把路由複雜程度降低。最重 要的意義是,算述單元() Au 11 〇只不過由 加法器1 1 2及兩個前置運算(pre_〇p )裝置i i 4、1 i 6所組 成。這種簡單性協助平行運算作業以提供一致性。同樣重 要的是’ €憶體1 2 0爲一單一連接埠隨機存取記憶體,只 有最少的輸出扇出(fanout)。這種最少的扇出亦協助平行 運算作業以提供一致性,同時還減少了資料的路由路徑。 以同樣方式,暫存器組130、14〇配置成以AlJ 11〇之輸出 1 11作爲其單一輸入,且同時限制本身輸出。例如,有別 於一般傳統處理器的設計,位址暫存器組13〇的内容僅爲 記憶體120提供定址服務,而不會爲八1; 11〇或其他任何處 理裝置提供輸入。而暫存器組14〇本身不會提供輸出,但 用來提供控制重複運算的條件位元,例如乘法,下面將會 作進:步討論。限制暫存器組13〇、14〇的用途可減少^ 暫存器互相連結的路由需求,且能依服務 组⑴、“。之大小最佳化。例如,位址暫存器== 需能跨越記憶體120位址範圍的寬度,而掃描暫存器組 1 4 0的寬度則只要能存放相關控制旗標即可。 架構_之效率與有效性可依圖2作出最好的説明,圖2 爲根據本發明闌釋一對範例指令格式2〇1、2〇2。如圖所 示,指令格式201、202皆冬古4«旦、…. 含有大量通用指令欄位。因爲 密碼處理需要相對較少的指令類型,所以,由各U扩元 指令組成、包括運用到每—指令内之多重欄位的指令二, 在-較佳具體實施例中就用來執行每一指令内的;行運 (請先閱讀背面之注意事項再填寫本頁) -ώΜ 訂------丨!線· 經濟部智慧財產局員工消費合作社印製 ~ 9 ~ 川5839 經濟部智慧財產局員工消費合作社印制衣 A7 五、發明說明(7 ) 算。多重欄位將討論如後。此等多重欄位不會使用在傳統 乍+元指令集之實施例,因其配置只支援相對較少的指令 類型;此等多重攔位也不會包含於寬字元指令集之實施例 中,因其配置只支援大量的指令類型。 扣令格式攔位2 1 0識別指令所使用的特別格式,並辨別 前述格式201、202及其他格式之間的差異。在一較佳具 體實施例中,將提供三個位元以支援達八種不同格式。根 據本發明,該八種不同格式展現出指令位元與簡化指令攔 位解碼程序的有力關係。吾人可透過選用每一不同格式的 通用欄位來執行通用平行運算,而不需理會格式的類型。 例如,在一較佳具體實施例中,欄位2 3 〇及2 4 〇爲每一格 式類型之通用欄位,因此,欄位2 3 〇及2 4 〇之數値所暗示 的運算、存取記憶體的控制與選擇,均可在每一指令週期 中實行,而與正在執行的特殊指令無關。其他通用搁位, 如攔位212及214,亦包含於每一指令格式。再者,參考 圖4作進-步討論如下,預設給相對一致及可預期之狀能 的約定格式内料使用之難,可提供與格式無關的指令 更多功能的相似性。 ”k跟随(k follows)"攔位212用來傳訊给含有常數、 資料項目k的後續"指令"。欄位212的用途至少提供兩項 優點:容許包含於下-指令内的常触佔用整個指令字元 大小(在一較佳具體實施例中爲32位元);容許此包本於 下-指令内的値k在下一指令週期載入暫存器r〇。在:傳 統的、指令大小已固定的處理系統,—個位元料 10- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公着· I ----—--------^—-------IAW. (請先閱讀背面之注意事項再填寫本頁) 505839 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(8 足於指令字元與常數字元内以辨別二者,是故限定常數字 凡大小較完整指令少一個位元。因此無需説明的,指令内 含有”常數”攔位之替代格式將被提出來使用;在這些格 式中,常數k將少於32個位元,與正常η位元常數値釔相 關的、未指定之較高階位元則被填入零(zer〇_filled)或當 成延伸記號(sign-extended),依不同之特殊格式而定。這 些縮短數値k,通常作爲計算記憶體位址相對於基本位址 之偏♦値’或相對於分支指令之距離値。此距離値標明由 目前指令位置至下一指定指令間的距離。 更新旗標(update flags) ··攔位2 1 4用來識別與處理系統 結合之條件旗標,在執行指令時是否需要修改。美國專利 申請待決案”條件與位址已解耦之分支指令,,,序號 09/466.404,申凊曰期17.12.1 999,以提及的方式併入本 又,揭7F出分支指令與其他條件指令的解耦機制,包括條 件指令内條件旗標存作後續使用之快速識別法。當欄位 214内含確定値時,圖1之傳統系統旗標118的値,例如 進位、零値、偶數及其他條件旗標,討論如下,將會儲存 但不會更新,直至執行另一於攔位2 i 4内含確定値的指 〇 況隐粗存取控制(mem〇ry狀⑶“ c〇ntr〇l )"欄位2 3 〇判別 記憶體120是否有被存取;如是,則不管其存取是來自讀 取運算或寫入運算。如上述所論,記憶體120是單一連接 埠1己憶體,其扇出爲有所限制⑽,藉此容許相對簡單的記 憶體存取控制。再如上述,攔位2 3 〇通用於所有指令,因 11 - ----------—--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 505839 第089128319號專利申請案 中文說明書修正頁(91年8月) 五、發明説明(9 ) π位址選擇(address select) ”攔位2 4 0判別選擇器1 8 0的 輸入何者是記憶體1 2 0定址所需。該選擇位址可能是間接 裝 位址位置(indirect address location) IDA 185、AU 110 的輸 出 1 1 1、外部位址(external address ) extA 1 88,或位址暫 存器組1 3 0組其中之一。如上述,在所有指令中加入襴位 2 4 0 ’將使記憶體選擇運算平行於其他任何指令。同樣重 要的是,有別於一般傳統處理器的設計,記憶體12〇*au 110間並無任何暫存器元件,因此可容許Au 11〇不需透過 一中繼的”載入暫存器(l〇ad register)”指令,而直接存取 記憶體項目。”位址暫存器變更(addressed代心如 change)”攔位242與位址選擇攔位24〇結合運作,容許在 同扣令週期中,該已定址暫存器進行增量定址或減量定 址,而增量位址或減量位址的記憶體内容則提供給au ιι〇 使用。美國專利申請待決案”循環位址暫存器,,,序號 ~A^6,404,申請曰期1IJX1999,,以提及的方式併入本 文,揭示出循環位址暫存器可容許,,循環增量,,及t,循環減 量·’指令自動調整暫存器的指向器,以提供循環定址功 月匕。、在本發明一較佳具體實施例中,位址選擇搁位2 〇決 定位止暫存器組1 3 〇中每一個暫存器的循環增量及循環減 量功,而位址暫存器變更欄位242則包含這些功能的實 :挎:此技蟄的一種普通技巧般明顯,對位址進行循 :曰:c -供AU 11〇循環增量位址、對内容執行算述運 异、把結果儲存到目的暫存器(討論如下),以及對 -12- ^297¾) ^紙張尺度適财目 A7 B7 五、發明說明(1〇 里=進行循ί衣增量(討論如下),這些程序均在單一指令週 "執行故特別適用於密碼處理及其他應用,包括多字 凡資料項目。 ^外要注意的是,外部位址(external address) extA 188 可谷^外4處理器存取記憶體1 2 〇,而且實際上獨立於處 ^ 0之外。即是説,在本發明一較佳具體實施例 中,例如,王系統可藉由給位址選擇攔位設定一適用値來 存取記憶,,此適用値選取extA 188的輸入來定址記憶體 120。於是主系統可把資料經由輸入以仍1187,直接載入 Z隐體1 2 0中extA 188所定址的位置。該輸入資料可以 =,例如,與電腦文件或標籤結合的散列値,以及用來加 密此散列値以產生與該電腦文件或標籤結合之數位簽名的 密碼鑰。在載入散列値及密碼鑰後,處理系統1〇〇可重新 存取記憶體120,並執行適當的加密功能以提供相關的數 位簽名,该數位簽名將置於記憶體J 2 〇中。然後,主系統 又可經由extA 188重新直接存取記憶體〗2 〇,於是,主系 統經由資料輸出埠extD〇 186,從extA 188所定址的每一 位置躓取記憶體1 2 0内的數位簽名。因此,根據本發明在 廷一方面的特性,藉由外部定址存取記憶體丨2 〇,處理系 統1 0 0將不需直接支援記憶傳輸功能。 . 下四個欄位·· ··右運算元前置運算(right operand pre_op),, 250、左運算元削置運算(left operand pre-op),,252、π 加 法器功能(adder function)" 260 及"nd選擇(nd select)" 262 ’將控制AU 110及其結合元件暫存器r〇 15〇與選擇器 -13- 本紙張尺度適用中國國家標準(CNS)A4規袼(210 X 297公釐) ------------—------訂 —----線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 第089128319號專利申請案 色>v体 中文說明書修正頁(91年g {广月 五、發明説明(Ή ) —〜 1 6 0的運作。左運算元前置運算攔位2 5 2判別記憶體1 2 〇 内疋址項目是否可直接使用;如否,對AU丨丨〇輸入左運算 元為零。以相同方式,11(1選擇欄位262判別AU 11〇的輸出 111或常數k 165兩者中何者該為暫存器⑼15〇的輸入。右 運异元前置運算攔位2 5 0判別暫存器r〇 i 5 〇的内容是否該 為AU 110右運算元的輸入。右運算元前置運算攔位25〇直 接傳运暫存器r 〇丨5 〇的内容至加法器^ 2 (一個 S ’刖置運算)’暫存器Γ〇 15 〇的内容可以是左移位及右 移位,暫存器r〇 150的内容也可以是反轉;此傳送可視為 指令執行時的一種平行運算。如攔位名稱所暗示,此平行 運算將在指令指定的算術運算前執行。右運算元前置運算 攔位2 5 0亦可谷弄加法器1 1 2的右輸入值為零,並因此協 助記憶體1 2 0傳送一值至記憶體丨2 〇的另一 至暫存器13〇、14。'15。其中之…加法器功= 2 6 0判別A U的左輸入與右輸入相加時是否包含進位值、 或反轉進位,或常數!。因此,前置運算功能114與116 , 以及加法器功能112的組合,提供一元的及二元的加法, 還有減法、乘法與二的除法的功能。如此技藝的一種普通 技巧般明顯,在單一指令週期内,由襴位2 5 〇、2 5 2及 260所提供的,將早先結果移位、以及將其與其他附有進 位位元的運算元相加的功能,根據本發明,特別適用於密 碼處理範疇内常用的乘法處理,以及其他應用,包括多字 元資料項目的乘法處理。 ”目的地暫存器(destination register) ”欄位2 7 0識別Αϋ __ -14- 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) 505839 第089128319號專利申請案 中文說明書修正頁(91年8月) 五 、發明説明(12 1 1 0的運其結果1 1 1之路由目的地。如前所逑,在一丰、、佳 具體實施例中,為了降低路由複雜程度,輸出丨i丨的^ 只限於暫存器组130、140 ,以及作為.Au 11〇結^之 暫存器rO 150的輸入。 口 < ’’更新暫存器(update register·)”攔位280結合”更新暫存 器變更(update register change)"襴位2 8 2,用來定義产人 處理過程中其他尚未執行的平行運算。更新暫存器;‘二 位2 82與位址暫存器變更攔位242相似,其可以對更新暫 存器欄位2 8 0所識別的更新暫存器施以增量或減量運算, 包括猶環指標器的增量或減量運算。 裝 如上所論,指令格式20〗會協助乘法運算的平行執行, 即使另一單一指令正利用其執行其他基本功能,例如^術 運算。當協助平行運算時,指令格式襴位2丨〇會提供其識 別的其他替代指令格式給其他基本功能使用。 、V9 产圖2的指令格式202闡釋一使用在一較佳具體實施例的 範例格式,其運用於分支或呼叫運算並平行於其他輔助運 算。如上述,在一較佳具體實施中,襴位212、214、 2 3 0及240通用於所有指令;且如圖2的說明,攔位25〇、 252、260及262通用於格式201及202。因此,結合欄位 2 12、2 14、23〇、240、25〇、252、26〇及 262 的前述 參考運算與分支或呼叫運算將同時執行。如此技藝的一種 普通技巧般明顯,定址、載入,對運算元進行算術運算, 以準備該運算元供另一分支常式或呼叫常式使用,此等功 能對通用於密碼學及其他應用的重複處理程序,提 -15 本紙張尺度適用中國國豕標準(CMS) A4規格(210X297公釐) 505839 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(13 供高效能及效率的技術。 "條件(condition)"欄位22〇結合"反轉條件(_如 ,οη)欄位222,用來決定下一指令所要使用的兩個 後續位置。即是説’假如條件22〇在第―狀態,程式從第 -位址開始執行,其他的從第二位址開始;至於反轉條件 欄位2 2 2則決定前述第—狀態的値爲"眞(“狀)"或"假 \ )如圖2的説明,在一較佳具體實施中,條件攔 位2 2 0使用,、個位i,即可供測試的不同條件達6 4組。特 別注意的是,根據本發明,攔位220其中一個條件包含,, > ^•頁目等於f #條件,而另—條件則對應爲"資料項 目等於壹"的條件。當多字元資料項目對應的每―資料字 ^均爲零時,"資料項目等於零"的條件設爲冑;而當多 字疋資料項目對應的每一資料字元均爲零、但最不重要資 料字元爲壹時,則"資料項目等於壹"的條件設爲眞。至 於其他包含掃描暫存器組140的特殊位元狀態的條件項 目,,如掃描暫存器组140儲存的每—字元之最不重要位 兀與最重要位it,能協助多字&乘數的乘法運算。還有其 他包含選擇位址暫存器组! 30的位址指標器狀態的條件項 目,則用來協助識別多字元處理運算的開始與結束。如此 技藝的一種普通技巧般明顯,在分支或呼叫指令中使用達 64组不同條件,可提供複雜之重複運算—個有效率及有 效的控制及最佳化方法,例如密碼運算中常執行的 乘法運算。 "下—指令(next instruction)"欄位2 9 〇藉由控制處理系 I ----------------線· (請先閱讀背面之注意事項再填寫本頁) -16- 505839
五、發明說明(14 ) 統每一個下一指令的位址來控制程式流程。圖3爲根據本 發明闡釋控制路徑架構3 〇 〇的範例方塊圖。處理系統之每 才ετ々3 3 1均由纪憶體提供,如圖3所示,即μ 〇。 指令位址3 7 1的序列決定提供給處理系統個別指令3 3工的 順序。指令3 3 1已格式化,如之前圖2所論。程式計數器 310包含指令位址371,而選擇器340、350與370,以 及加法器3 6 0,則依據下一指令攔位29〇的狀態來決定下 一指令的位址,討論如下。 根據本發明一較佳具體實施例,下一指令欄位2 9 〇提供 下列步驟來決定下一指令: pc<=pc+ 1.
If (cond) I hen pc <= k Else pc <= pc + 1.
If (cond) Then pc <= r0 Else pc <= pc + 1 ·
If (cond) Then pc <= k; push(pc+l) Else pc <= If (cond) 1 lien pc <= pop Else pc <= pc + 1 ·
If (cond) Then pc <= pc + k Else pc <= pc + 1 ·
If (cond) Then pc <= k Else pc <= pop.
If (cond) Then pc <= pc + k Else pc <= pop· 如此技藝的一種普通技巧般明顯,第一下一指令決定步 驟(nextinstruction_determination) i 爲下一指令的後續步 驟,而程式計數器pc的値前進加一。第二第三決定步驟u 及iii各爲一傳統條件分支。假如條件爲眞(或假如條件爲 假且”反轉條件”攔位222爲確定),則程式計數器pc設爲 指定位址k,或設爲預定位址rO (包含於圖1的暫存器⑼ -17- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) II —----------------^ AW (請先閱讀背面之注意事項再填寫本頁) (sequence) (branch to k if) (branch to rO if Pc+l· (call if) (return if) (r. branch if) (branch if else return) (r. branch if else relurr Η) ϋ〇 Ιν) v) vi) vii) vlii) 經濟部智慧財產局員工消費合作社印製 505839 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(15 ) 150);除此之外,則前進加一。第四決定步驟卜爲一傳 統條件呼叫,其中,假如條件爲眞,把下一後續指令位址 pc+1推入堆疊3 2 0,程式計數器p c設爲指定位址k。第五 決定步驟v爲一傳統條件轉回,其中,假如條件爲眞,在 堆疊3 2 0爆出呼叫後,把前一步驟的値推入下一後續位 址,並置於程式計數器内。第六決定步驟“爲一傳統相關 分支指令,其中,一常數(正値或負値)與目前程式計數器 p c相加以決定下一指令的位址。注意單一加法器3 6 〇掌控 程式計數器的增量運算,還有相關分支位址的計算這二 者。 特別重要的是決定步驟v i i及viii此二者。根據本發明在 這一方面的特性,此指令集包含"Branch If,Else Return „ I曰令’其中,假如條件爲眞,程式分支至指定或相關位 址;但假如條件爲假,則堆疊爆出轉回位址以呼叫一副程 式,而程式由該副程式轉回。一條件説明内的,,Else Return"結構指令,此指令對副程式執行重複運算時特別 有效及效率;其中,該相同指令用來分支至一位址以執行 下一迭代,或當所有迭代已完成時轉回。其他決定下一後 續指令的技術變化,在審視這些公佈後就如同此技藝的一 種普通技巧般明顯。 圖4闡釋處理器4 〇 〇的範例方塊圖。處理器4 〇 〇代表一 種符合上述討論特點與性能、有效及有效率的架構。圖4 的範例中,處理線路4 5 0依據微碼指令4 5 5運作,而微碼 指令4 5 5由控制每一開關的控制位元455b,以及處理線路 -18- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------------^---------^ (請先閱讀背面之注音?事項再填寫本頁) 505839 A7
經濟部智慧財產局員工消費合作社印製 五、發明說明(16 ) 45 0内的狀態裝置所組成。即是説,例如,處理線路45〇 通常由一狀悲機器與微碼指令4 5 5組成,微碼指令4 5 5提 供輸入刺激給狀悲機器’而狀態機器則控制下一狀態的變 遷以及其本身輸出之產生。微碼指令4 5 5,例如,包含一 控制位元,用來決定:是圖1的選擇器16〇已設定提供 的、同時也存在於微碼指令455中的常數k455a ;或是算 述單元AU 110的輸出結果m,何者需要提供至暫存器r〇 1 5 0。微碼指令4 5 5也包含一組控制位元用以決定選擇器 1 8 0所選取的位址輸入,何者需用來定址記憶體〗2 〇 ;此 外,另有一組控制位元決定前置運算裝置1 1 6該執行的運 算;最後,還有一組控制位元決定前置運算裝置i i 4該執 行的運算等等。可認知的,前述指令格式2 〇1、2 〇 2内的 攔位與這些微碼控制位元4 5 5 b是非常一致的。即是說, 根據本發明在這一方面的特性,指令格式2 〇 i、2 〇 2内的 攔位提供微碼指令4 5 5的元件具體而一致的選擇,從而以 最小費用協助處理線路4 5 0的直接控制。 如圖4的説明,指令3 3 1之控制欄位4 1 0與格式欄位2 1 〇 以外的欄位’提供作爲格式映射器的輸入,而預設裝置 4 4 0映射指令3 3 1的每一控制攔位4 1 〇至微碼4 5 5相對應 的控制元件。注意:常數k 4 5 5 a與控制位元4 5 5 b兩者會 影響處理線路4 5 0的運算與結果,且兩者也包含於微碼 4 5 5的控制元件之定義中。 映射/預設裝置440由複數個選擇器441-449組成,而 選擇器441·449會依據指令331指定的格式210,路由控 -19- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) --------------------訂---------線 (請先閱讀背面之注杳?事項再填寫本頁) 505839 A7 B7 五、發明說明(17 (請先閱讀背面之注意事項再填寫本頁) 制攔位4 1 0的每一位元至相對應控制位元4 5 5 b。即是 説’例如圖2中’不同指令格式201和202包含不同搁位 (242、280、282)與(290、220)於指令的位元位置23_ 31。而映射/預設裝置44〇會依據指令331指定的格式 2 1 0,路由不同欄位自指令的相同位元位置至微碼指令的 不同控制元件。 根據本發明在這一方面的特性,即使映射/預設裝置 440缺少指令331的映射攔,藉由每一控制元件455的預 設控制値,仍可適當地控制微碼指令4 5 5的控制元件。即 是説’例如’範例指令格式20 1、202並未包含設定微碼 指令455内常數k 455a的値之常數攔位。在一較佳具體實 施例中,指令3 3 1缺少指定常數攔位的預設解釋爲空運算 (null operation)。即是説,在缺少指定常數値的狀況下, 値k 455a保留如前。或者,假如該指令包含確定的n k跟隨 攔位2 1 2,由ROM 33〇讀取的下一指令Mi,將完全映 射至微碼指令4 5 5的常數k 455a。(爲了更容易了解,類型 映射器4 3 0被解釋爲接收指令3 3 1的格式2 1 〇之控制輸入 而已。爲了支援"k跟隨"的特性,配置類型映射/預設裝 置4 4 0爲:無論何時,當前一指令包含確定的"k跟隨,,攔 經濟部智慧財產局員工消費合作社印製 位2 1 2,即路由完整的指令3 3 i至微碼指令4 5 5的常數k 分段455a)。 在一較佳具體實施例中,結合控制元件4 5 5的多工器/ 選擇器之輸出相依於格式欄位21〇的内容,其輸入則相依 於有效的預設選項。例如,如上所論,較佳具體實施例的 -20- 本紙張尺度適用中國國家標準(CNS)A4 公釐) 505839 A7 B7 ----^ 五、發明說明(18 ) -種或更多的格式類型(無解説)包含—少於指令字元全 的常數欄位。當接收這些格式類型時,相對應 2 …49配置爲:選擇零値或記號延伸値,置入常數 k 455a内每一未指足的較高階位 /、A人、b ^ ^,扣令的常數欄 位包含7T個位元,32位元常數k 4 帀数K 心取上面26個位元 將設爲預設値零,或設爲—等於該六個位元中最重要位元 的預設値(記號延伸値),依不同之特殊格式而定。控制位 凡455b同樣被提供預設値,且大部份情形爲零運算。微碼 指令4 5 5之每一控制元件的預設値選擇或條件選擇,可爲 任何値或任何條件;但在一較佳具體實施例中,該預設値 或條件,將設定爲那些符合此技藝内一種普通技巧之一致 性的假定値。即是説,例如,當提供的是縮短的資料常數 時,則較咼階位元歸零;當提供的是位址偏移時,則把較 高階位元當作記號延伸;此二種均爲依此技藝内一種普通 技巧所假定的適當預設値。以相似的方式,控制位元組的 預設條件相對應於格式2 0 2的下一指令攔位2 9 0,被一指 令假定爲與程式計數器的昇級一致的。即是説,當一指令 接收不含下一指令欄位2 9 0的格式2 0 1時,預設解釋模組 4 4 0將設定對應於缺少攔位2 9 0之微碼指令4 5 5適當的控 制元件,進而對選擇器340、350及370設定適當的輸入 以執行程式計數器3 1 0的增量程序,因此對缺少外顯指令 攔位之指令提供一致的、可預期的,以及邏輯的效能。 前述至少説明了本發明的原理。有鑑於此,善於此技藝 的將可設計多種配置,此等配置雖未明述或明示於此,卻 -21 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) I --------訂--------線齡 {請先閱讀背面之注咅?事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製
發明說明(19 經濟部智慧財產局員工消費合作社印製 /、紙表達了本發明的原理,且合於本發明的精神與範疇。 例如’藉由多字元資料項目所定下之條件,可定義條件元 件來識別資料項目中至爲重要的非零字元,以協助多字元 運算之控制,如乘法和加法。其他用以降低該已説明的設 計之複雜度的技術,亦同樣可行。例如,圖1的間接位址 指標器IDA 185可設爲一預定位址,如RAM 12〇的位址〇 ; 從而減少間接位址的定址線路及時間。以相似之方式,可 約束位址暫存器組i 3 〇所定址的資料項目於記憶體i 2 〇指 定的範圍内,如此,暫存器組12〇的寬度便能減少至跨越 此指定範圍内之位址即可,而不需跨越整個記憶體丨2 〇之 位址的寬度,使用範例如偏移基本位址。同樣的,本發明 的原理雖然特別適用於密碼學的應用,但揭示於此的技術 與架構也可應用在其他處理系統,特別是那些處理多資料 項目及/或使用相對簡單但重複運算的系統。再者,雖然 在本範例具體實施例中,採用最小要求之格式以達成低生 產成本的目的,但是仍然可以類似之方式,加入額外的裝 置以改善性能表現或簡化程式設計的工作。此外,本發明 的圖式範例僅供説明用途,例如,圖1説明的單一連接埠 RAM 120,用來提供最少路由&RAM 12〇最小互連面積。 至於一多連接埠RAM,例如二連接埠或三連接埠RAM, 加上一可調解多重定址性能之聯合的格式,藉由應用本發 明的原理,可提供相同指令周期内多重記憶體的存取、存 取記憶體前預設記憶體位址等等功能。其他如此技藝的一 種普通技巧般明顯的系統配置、應用,以及最佳化技術, 有鑑於本發明,均在以下申請專利的精神與範疇内。 ----------—--------^---------^ (請先閱讀背面之注意事項再填寫本頁) -22-
Claims (1)
- 第089128319號專利申請案 中文申請專利範圍修正本(91年8月) 六、申請專利範圍 1· 一種處理系統’包含: 一處理器(100,3 00,400),配置來執行記憶體 (3 3 0 )内之程式指令組(3 3 1 ), 該處理器(100,3 0 0,400)包含: 一程式計數器(3 10),配置來儲存下一指令位址組 (3 7 1 ),以及 一堆疊(320),配置來儲存至少一轉回位址,該轉回 位址對應於副程式呼叫指令之執行, 吾亥私式指令組(3 3 1)包含: 一 "branch-else-return "指令使處理器(1 〇 〇,3 G 0, 400)執行: 如有關分支條件為第一狀態,置入一分支位址至程式 計數器(310)作為該下一指令位址(371),以及 如有關分支條件為第二狀態,置入該至少一轉回位址 至程式計數器(3 1 〇 )作為該下一指令位址(3 7 1 )。 2· —種處理系統,包含: 一處理器(1 0 0,3 0 0,4 0 0 ),配置來執行程式指令組 (3 3 1 )’該程式指令組(3 3 1 )與佔用記憶體(1 2 0 )的多重 字元之資料項目有關·,該處理器(丨〇 〇,3 0 0,4 0 0 )包 含: 一狀態暫存器(11 8 ),包含狀態旗標, 該狀態旗標包含至少一旗標,該至少一旗標相依於對 應選取資料項目的多重字元。 3·如申請專利範圍第2項之處理系統,其中 該至少一旗標至少包含下列其中一項: 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐裝 訂505839 A8 B8 C8 D8 六、申請專利範圍一資料為零旗標,指示出:由該多重字元中每一字元 組成的選取資料項目内,其中每一字元含一零值, 一資料為壹旗標,指示出··除了由該多重字元中一最 不重要字元組成的目前資料項目外,其餘由該多重字元 中每一字元組成的選取資料項目内,其中每一字元含一 零值;且該最不重要字元内含一壹值,以及一資料為最高旗標,多重字元中最重要且非零字元組 成該選取資料項目。 4· 一種處理系統,包含: 一處理器(1G0,3 0 0,400),配置來執行指令暫存器 (410)之目前指令(331),以及 一運算元暫存器(150),配置來提供一運算元予相依 於目細指令(331)之處理器(1〇〇,300,400)處理;以 訂 及 其中 該目前指令(331)包含一常數跟隨旗標(212),且處 理器(100,300,400)配置為: 當目前指令(331)之常數跟隨旗標(212)包含一第一 值時,載入一後續字元至運算元暫存器(150)内,以及 當目前指令(331)之常數跟隨旗標(212)包含一第二 值時,載入該後續字元至下一指令週期之指令暫存器 (410)内。 5· —種處理系統,包含: 一處理器(1 0 0,3 0 0,4 0 0 ),配置來執行程式指令組 -2- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X297公釐) ⑽839(331), 一記憶體(120)配置來儲存運算元,每一運算元含有 一對應運算元位址於記憶體(1 2 〇 )内,以及 至少一位址暫存器(130),配置來儲存運算元位址, 以及 其中 該至少一位址暫存器(130)中每一暫存器,配置為: 由該處理器(100,300, 4 0 0 )接收運算元位.址,以及 提供運算元位址作為記憶體(丨2 〇 )唯一之定址輸入。 6·如申請專利範圍第5項之處理系統,其中 該運算元位址置於運算元位址範圍内,以及 Μ至少一位址暫存器(130)中每一暫存器之大小裁截 至能容納運算元位址範圍跨距的最小尺寸。 7·如申請專利範圍第5項之處理系統,其中 當執行至少一指令時,程式指令組(3 3丨)中至少一指 令執行至少兩位址暫存器之修改作業。 8·如申請專利範圍第5項之處理系統,其中 該處理器(1〇〇 ’ 3 00 ’ 400) ’進—步配置來提供一位 址為零旗標,該位址為零旗標在運算元位址為零時得以 判定, 該運算元位址對應一計數指數,以及 該至少一位址暫存器(130),進—步配置為··回應該 處理器(100,3 00,400)之減量指令來進行運算元位 址減量,從而可依據該計數指數進行計數運算。 -3- 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) ^058399·如申請專利範圍第5項之處理系統,其中 該運算元位址置於運算元位址範圍内,且内含較低位 址與較南位址,以及 、 該程式指令組(3 3 1 )至少包含下列其中一項: 一循環增量指令,其中 於該至少一位址暫存器(130)内進行運算元位址增 量,以及 二在該至少一位址暫存器(130)内之運算元位址大於較 南位址時,於該至少一位址暫存器(130)内重設運算元 位址以相符於較低位址, 一循環減量指令,其中 於孩至少一位址暫存器(1 3 0)内進行運算元位址減 量,以及 在該至少一位址暫存器(130)内之運算元位址小於較 低位址時,於該至少一位址暫存器(1 3 0 )内重設運算元 位址以相符於較高位址, 從而約束該至少一位址暫存器(13〇)内運算元位址於 運算元位址範圍内。 10.如申請專利範圍第9項之處理系統,進一步包含 至少一條件旗標(1 1 8 ),且該條件旗標至少結合下列 其中一項: 藏運算元位址等於較低位址,以及 該運算元位址等於較高位址。 11· 一種處理系統,包含: -4 - 本紙張尺度適财目目家#^iT^ii(210X297公iy 505839ABCD 六、申請專利範圍 一處理器(100,300,400),配置來執行程式指令 (331), 一記憶體(120)配置來儲存運算元,每一運算元含有 一對應運算元位址於記憶體(1 2 0 )内, 其中 該處理器(100,300,400)包含一算術單元(112), 以及 該算術單元(112)為 與記憶體(1 2 0 )耦合,因此該算術單元(1 1 2 )僅由記 憶體(1 2 0 )接收第一運算元, 進一步配置為:僅由後述其中一項接收第二運算元 (161):該算術單元(112)之一輸出,以及一常數,以及 進一步配置為:依據第一運算元及第二運算元(161彡 二者中至少其中一者產生輸出。 12·如申請專利範圍第1 1項之處理系統,其中 該算術單元(1 i 2 )僅包含: 一加法器,内含一第一輸入及一第二輸入,依第一輸 入及一第二輸入之算術和作為算術單元(112)的輸出; 一第一運算元選擇器,配置來產生第一輸入作為第一 運算元,以及 一零值; ' 一第二運算元選擇器,配置來產生第二輸入作為下列 其中一項: 該第二運算元(161), 一第二運算元(161)之反轉, -5· 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) - 505839一第二運算元(161)之移位,以及 一零值。 13· —種處理系統,包含·· 一處理器(1 〇 〇,3 0 0,4 0 0 ),配置來執行程式指令組 (331), 程式指令組(3 3 1 )的每一指令依複數個格式類型 (201,202)之一格式類型來格式化, 其中 複數個格式類型(201,202)之每一格式類型包含複 數個欄位(210-290),其中每一欄位協助運算之執行平行 於每一程式指令之執行。 14·如申請專利範圍第i 3項之處理系統,其中 至少一格式類型(201)之複數個欄位(210-290)的大多 數襴位(212,214,230,240,250,252,260), 通用於至少另一格式類型(2 02)之複數個攔位(210-290) 的大多數搁位(212,214,230,240,250,252 , 260)〇 15·如申請專利範圍第! 3項之處理系統,其中 每一格式類型之複數個欄位(210-290 )的大多數欄位對 應於微指令(4 5 5 )之控制元件,該等控制元件控制處理 器(100,300,400)内之開關(160,170,180)與狀 態裝置(150,310,320)的運算。 16·如申請專利範圍第1 3項之處理系統,其中 該處理器(100,300,400)包含: -6- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)六、申請專利範圍 〜 -- 一狀態機器(4 5 0),依每—指令對應之微指令(4 5 5 ) 來執行每一指令, —一格式映射器(4 3 0),依指令之格式類型(21〇),使 每一指令的每一控制攔位(41〇)與微指令(4 5 5 )内一相 關之控制元件結合,以及 一預設解釋模组(440),提供一預設條件予微指令 (4 5 5 )内、與每一指令無關的其他控制元件。 17·如申請專利範圍第1 6項之處理系統,其中 該預設條件至少與下列其中一項相依: 該指令之格式類型(210),以及 该指令之至少一控制搁位。 18. 如申請專利範圍第1 6項之處理系統,其中 該預設條件至少包含下列其中一項: 一載入為零條件,配置來設定至少一其他控制元件之 值為零, 一空條件,配置來脫離至少一不受影響的其他控制元 件, 一載入位元條件,配置來設定至少一其他控制元件之 值等於指令内含之值,以及 一增量條件,配置為使與至少一其他控制元件相關之 值進行增量。 19. 如申請專利範圍第1 3項之處理系統,進一步包含: 一記憶體(1 2 0)含有一資料進入連接埠(丨8 7)與一資 料脫離連接埠(1 8 6 ),此二連接埠配置來協助資料項目 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505839 --—_ _m ffr DB__ 六、申請專利範圍"~~---- 儲存至該記憶體(i 2 〇 )及自該記憶體(1 2 0 )檢索,以及 其中 複數個襴位(210-290)中,至少一欄位包含一位址選擇 搁位(2 4 0 ), 該選擇欄位(2 4 0 )協助一外部位址連接埠(1 8 8 )進行 選擇作業;該外部位址連接埠(丨8 8 )配置來提供另一處 理器直接存取記憶體(丨2 〇 )内、由該外部位址連接埠 (1 8 8 )定址的位置;且該另一處理器可經由資.料進入連 接埠(187)與資料脫離連接埠(186)儲存及檢索資料項 目。 20·如申請專利範圍第1 3項之處理系統,進一步包含·· 複數個儲存元件(120,130,140),以及 其中 複數個欄位(2K3-290 )中,至少兩攔位(27〇,28〇)盥 複數個儲存元件(120,130,14〇)中至少兩儲存元件 相結合,以及 當執行至少一指令時,程式指令組(331)中至少一指 令協助至少兩儲存元件之修改作業。 9 ** 8 -
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/466,392 US7032100B1 (en) | 1999-12-17 | 1999-12-17 | Simple algorithmic cryptography engine |
Publications (1)
Publication Number | Publication Date |
---|---|
TW505839B true TW505839B (en) | 2002-10-11 |
Family
ID=23851583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW089128319A TW505839B (en) | 1999-12-17 | 2000-12-29 | Simple algorithmic cryptography engine |
Country Status (7)
Country | Link |
---|---|
US (1) | US7032100B1 (zh) |
EP (1) | EP1236077B1 (zh) |
JP (1) | JP2003517671A (zh) |
KR (1) | KR100760371B1 (zh) |
DE (1) | DE60033961T2 (zh) |
TW (1) | TW505839B (zh) |
WO (1) | WO2001044900A2 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2354470A1 (en) | 2001-07-30 | 2003-01-30 | Cloakware Corporation | Active content for secure digital media |
US8010405B1 (en) | 2002-07-26 | 2011-08-30 | Visa Usa Inc. | Multi-application smart card device software solution for smart cardholder reward selection and redemption |
US9852437B2 (en) | 2002-09-13 | 2017-12-26 | Visa U.S.A. Inc. | Opt-in/opt-out in loyalty system |
US8015060B2 (en) | 2002-09-13 | 2011-09-06 | Visa Usa, Inc. | Method and system for managing limited use coupon and coupon prioritization |
US8626577B2 (en) | 2002-09-13 | 2014-01-07 | Visa U.S.A | Network centric loyalty system |
US8060755B2 (en) | 2003-04-18 | 2011-11-15 | Via Technologies, Inc | Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine |
US7539876B2 (en) | 2003-04-18 | 2009-05-26 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor |
US7536560B2 (en) | 2003-04-18 | 2009-05-19 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size |
US7321910B2 (en) | 2003-04-18 | 2008-01-22 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7519833B2 (en) | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US7532722B2 (en) | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
US7502943B2 (en) | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
US7529367B2 (en) | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions |
US7392400B2 (en) | 2003-04-18 | 2008-06-24 | Via Technologies, Inc. | Microprocessor apparatus and method for optimizing block cipher cryptographic functions |
US7542566B2 (en) | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
US7900055B2 (en) | 2003-04-18 | 2011-03-01 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7844053B2 (en) | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7925891B2 (en) | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7827077B2 (en) | 2003-05-02 | 2010-11-02 | Visa U.S.A. Inc. | Method and apparatus for management of electronic receipts on portable devices |
JP2005043637A (ja) * | 2003-07-22 | 2005-02-17 | Sony Corp | 暗号処理装置、および暗号処理演算方法、並びにコンピュータ・プログラム |
US8554610B1 (en) | 2003-08-29 | 2013-10-08 | Visa U.S.A. Inc. | Method and system for providing reward status |
US7051923B2 (en) | 2003-09-12 | 2006-05-30 | Visa U.S.A., Inc. | Method and system for providing interactive cardholder rewards image replacement |
US8005763B2 (en) | 2003-09-30 | 2011-08-23 | Visa U.S.A. Inc. | Method and system for providing a distributed adaptive rules based dynamic pricing system |
US8407083B2 (en) | 2003-09-30 | 2013-03-26 | Visa U.S.A., Inc. | Method and system for managing reward reversal after posting |
US7653602B2 (en) | 2003-11-06 | 2010-01-26 | Visa U.S.A. Inc. | Centralized electronic commerce card transactions |
JP2005141160A (ja) * | 2003-11-10 | 2005-06-02 | Japan Science & Technology Agency | セキュア・プロセッサ |
US9860055B2 (en) * | 2006-03-22 | 2018-01-02 | Synopsys, Inc. | Flexible architecture for processing of large numbers and method therefor |
US20110145082A1 (en) | 2009-12-16 | 2011-06-16 | Ayman Hammad | Merchant alerts incorporating receipt data |
US8429048B2 (en) | 2009-12-28 | 2013-04-23 | Visa International Service Association | System and method for processing payment transaction receipts |
CN104424128B (zh) * | 2013-08-19 | 2019-12-13 | 上海芯豪微电子有限公司 | 变长指令字处理器系统和方法 |
US9940129B2 (en) * | 2015-04-24 | 2018-04-10 | Optimum Semiconductor Technologies, Inc. | Computer processor with register direct branches and employing an instruction preload structure |
KR102484262B1 (ko) * | 2016-03-14 | 2023-01-04 | 삼성전자주식회사 | 컴퓨팅 시스템, 이의 구동 방법 및 컴파일 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5311547A (en) | 1976-07-20 | 1978-02-02 | Oki Electric Ind Co Ltd | Program call order system |
US4399507A (en) | 1981-06-30 | 1983-08-16 | Ibm Corporation | Instruction address stack in the data memory of an instruction-pipelined processor |
US5053952A (en) | 1987-06-05 | 1991-10-01 | Wisc Technologies, Inc. | Stack-memory-based writable instruction set computer having a single data bus |
US5117498A (en) | 1988-08-19 | 1992-05-26 | Motorola, Inc. | Processer with flexible return from subroutine |
CA1311063C (en) | 1988-12-16 | 1992-12-01 | Tokumichi Murakami | Digital signal processor |
US4987595A (en) | 1989-09-11 | 1991-01-22 | Motorola, Inc. | Secure cryptographic processor arrangement |
US5778423A (en) * | 1990-06-29 | 1998-07-07 | Digital Equipment Corporation | Prefetch instruction for improving performance in reduced instruction set processor |
US5623621A (en) * | 1990-11-02 | 1997-04-22 | Analog Devices, Inc. | Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer |
JP2773471B2 (ja) * | 1991-07-24 | 1998-07-09 | 日本電気株式会社 | 情報処理装置 |
US5463749A (en) * | 1993-01-13 | 1995-10-31 | Dsp Semiconductors Ltd | Simplified cyclical buffer |
US5365591A (en) | 1993-10-29 | 1994-11-15 | Motorola, Inc. | Secure cryptographic logic arrangement |
US5539888A (en) * | 1993-12-23 | 1996-07-23 | Unisys Corporation | System and method for processing external conditional branch instructions |
JP3789583B2 (ja) * | 1997-02-19 | 2006-06-28 | 株式会社ルネサステクノロジ | データ処理装置 |
US6167488A (en) * | 1997-03-31 | 2000-12-26 | Sun Microsystems, Inc. | Stack caching circuit with overflow/underflow unit |
US6189092B1 (en) * | 1997-06-30 | 2001-02-13 | Matsushita Electric Industrial Co., Ltd. | Pipeline processor capable of reducing branch hazards with small-scale circuit |
US6553426B2 (en) | 1997-10-06 | 2003-04-22 | Sun Microsystems, Inc. | Method apparatus for implementing multiple return sites |
US6167506A (en) * | 1997-11-17 | 2000-12-26 | Advanced Micro Devices, Inc. | Replacing displacement in control transfer instruction with encoding indicative of target address, including offset and target cache line location |
-
1999
- 1999-12-17 US US09/466,392 patent/US7032100B1/en not_active Expired - Lifetime
-
2000
- 2000-12-07 DE DE60033961T patent/DE60033961T2/de not_active Expired - Lifetime
- 2000-12-07 KR KR1020017010425A patent/KR100760371B1/ko not_active IP Right Cessation
- 2000-12-07 EP EP00983265A patent/EP1236077B1/en not_active Expired - Lifetime
- 2000-12-07 JP JP2001545927A patent/JP2003517671A/ja not_active Withdrawn
- 2000-12-07 WO PCT/EP2000/012441 patent/WO2001044900A2/en active IP Right Grant
- 2000-12-29 TW TW089128319A patent/TW505839B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP2003517671A (ja) | 2003-05-27 |
WO2001044900A3 (en) | 2002-07-11 |
DE60033961T2 (de) | 2007-12-06 |
DE60033961D1 (de) | 2007-04-26 |
WO2001044900A2 (en) | 2001-06-21 |
KR20010102201A (ko) | 2001-11-15 |
EP1236077A2 (en) | 2002-09-04 |
KR100760371B1 (ko) | 2007-09-20 |
US7032100B1 (en) | 2006-04-18 |
EP1236077B1 (en) | 2007-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW505839B (en) | Simple algorithmic cryptography engine | |
US7720220B2 (en) | Cipher message assist instruction | |
CN110659244A (zh) | 内联编码能力 | |
US7770024B2 (en) | Security message authentication instruction | |
TWI808869B (zh) | 硬體處理器及處理器 | |
EP1623316B1 (en) | Processing message digest instructions | |
CN109479003B (zh) | 用于安全椭圆曲线密码指令的处理器、系统、方法和设备 | |
CN113051626A (zh) | 基于动态密钥推导的多密钥全存储器加密的方法和装置 | |
US11222127B2 (en) | Processor hardware and instructions for SHA3 cryptographic operations | |
CN113050989A (zh) | 用于以密码方式与数据联系的使用限制的指令的装置、方法和系统 | |
EP4202655A1 (en) | Circuitry and methods for implementing capability-based compartment switches with descriptors | |
WO2022212243A1 (en) | Hardware accelerator using direct memory access to execute a modular arithmetic operation | |
CN116266121A (zh) | 用于实现使用窄寄存器的能力的电路和方法 | |
CN116302104A (zh) | 用于实现通过有界能力寻址的非冗余元数据存储装置的电路和方法 | |
EP1684167A2 (en) | Method of processing signed displacement computer instruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |