JP2002117011A - 集積回路およびその制御方法 - Google Patents

集積回路およびその制御方法

Info

Publication number
JP2002117011A
JP2002117011A JP2000308512A JP2000308512A JP2002117011A JP 2002117011 A JP2002117011 A JP 2002117011A JP 2000308512 A JP2000308512 A JP 2000308512A JP 2000308512 A JP2000308512 A JP 2000308512A JP 2002117011 A JP2002117011 A JP 2002117011A
Authority
JP
Japan
Prior art keywords
modules
message
bus
integrated circuit
output
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2000308512A
Other languages
English (en)
Other versions
JP4328905B2 (ja
Inventor
Hiroshi Kasahara
宏 笠原
Tsugio Nakamura
次男 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Denki University
Original Assignee
Tokyo Denki University
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 Tokyo Denki University filed Critical Tokyo Denki University
Priority to JP2000308512A priority Critical patent/JP4328905B2/ja
Publication of JP2002117011A publication Critical patent/JP2002117011A/ja
Application granted granted Critical
Publication of JP4328905B2 publication Critical patent/JP4328905B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 オブジェクト指向技術を適用することによ
り、コアの再利用や機能拡張を容易に行うことができ
る、集積回路およびその制御方法を提供することを課題
とする。 【解決手段】 本発明にかかる集積回路は、コアは複数
のユニットUx-1〜Ux+1を備えると共に、各ユニットU
x-1〜Ux+1は複数のモジュールM1〜Mnを備え、これ
らユニットUx-1〜Ux+1およびモジュールM1〜Mn
は、それぞれカスケード接続されている。各ユニットU
x-1〜Ux+1は、送られたメッセージが自己宛てのメッセ
ージであるか否かを判断し、自己宛てであると判断した
場合には、演算データを取り込んだモジュールM1〜M
nの数が演算精度に対応する迄、モジュールM1〜Mn
にて演算データを取り込むことにより、モジュールM1
〜Mnの数を決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、1以上のコアを
1チップ上に備える集積回路およびその制御方法に関
し、特に、オブジェクト指向技術を適用した集積回路お
よびその制御方法に関するものである。
【0002】
【従来の技術】近年、集積回路技術が飛躍的に向上して
いることに伴い、より多数の回路ブロックをシングルチ
ップ上に実現できるようになってきた。このような流れ
を受け、メモリ等のサブシステムをプリント基板上に配
置してシステムを構築するシステムボードから、サブシ
ステムを一つのチップ上に内蔵してシステムを構築する
システムオンチップ(System On Chip:SOC)への移
行が加速されている。このようなSOCの応用範囲は、
コンピュータ、ファックス、携帯電話、および、多目的
機器等と広範囲に及んでおり、その重要性が益々高まっ
ている。
【0003】ここで、一つのチップ上に内蔵する多数の
機能ブロックの各々を、最初から設計することは極めて
困難である。このため、大規模マクロセル(コア、メガ
セル)の標準化を図ることにより、開発元の異なるそれ
ぞれのコアを自由に選択して一つのチップ上に集積でき
るようにする、コアの新しい流通形態が注目されてい
る。
【0004】
【発明が解決しようとする課題】しかしながら、SOC
の現状には次のような課題が指摘されている。まず、S
OCが益々高集積化する一方で、SOCの開発期間は益
々短期化することが求められている。また、複数のVC
(Virtual Component)を接続したSOCを設計するた
めには、全てのVCの使用法を理解している必要があ
る。しかしながら、これらVCは複数の異なった開発元
から提供されたものであるため、ASIC(Application
Specified IC)の提供側は、多様なVCに関する専門知
識を通常持っていない。さらに、開発元の異なるVCの
再利用法は、未だ定まっていない。
【0005】このような課題を解決するためには、過去
に開発されたVCのインタフェースを標準化し、このV
Cを再利用可能にすることが考えられるが、多様な環境
下で開発されたVCのインタフェースを標準化すること
は、その知的財産権(Intellectual Property::IP)
の保持を行なう必要性があることもあり、容易ではな
い。また、特に、VSI(Virtual Socket Interface)
のように用途が特定されないVCについては、その標準
化が困難である。
【0006】本発明は上記問題に鑑みてなされたもの
で、ソフトウェア分野において用いられているオブジェ
クト指向技術をハードウェアである集積回路に適用する
ことにより、コアの再利用や機能拡張を容易に行なうこ
とができる、集積回路およびその制御方法を提供するこ
とを目的としている。
【0007】
【課題を解決するための手段】このような目的を達成す
るため、請求項1に記載の集積回路は、1以上のコアを
1チップ上に備え、所定機能を起動するメッセージと、
この機能に必要となる演算データと演算精度とを含むパ
ラメータとを受けて上記機能を行なう集積回路であっ
て、上記コアは複数のユニットを備えると共に、各ユニ
ットは上記機能を実行する複数のモジュールを備え、上
記複数のユニットおよび上記複数のモジュールは、それ
ぞれカスケード接続され、上記各ユニットは、上記メッ
セージが自己宛てのメッセージであるか否かを判断し、
上記メッセージが自己宛てであると判断した際、上記演
算データを取り込んだ上記モジュールの数が上記演算精
度に対応する迄、上記複数のモジュールにて所定順序で
上記演算データを取り込むことにより、上記機能に必要
となるモジュールの数を決定することを特徴とする。
【0008】この集積回路によれば、送られたメッセー
ジが自己宛てのメッセージであるか否かを判断し、自己
宛てのメッセージである場合には、機能に必要となるモ
ジュールの数を自動的に決定する。このことにより、各
コアは、演算に必要となる制御を自律的に行なうことが
できる。したがって、コア(VC)の使用者は抽象的に
部品化されたVCの内部を知る必要がなく、またVCが
他のVCの動作によって破壊(変更)される危険性がな
い。したがって、コアの再利用や拡張を容易に行なうこ
とができる。
【0009】また、請求項2に記載の集積回路は、請求
項1に記載の集積回路において、上記各ユニットは、演
算データラッチ機構を備え、上記演算データラッチ機構
は、上記演算データを取り込んだ上記モジュールの数が
上記演算精度に対応する迄、上記複数のモジュールに対
して所定順序でデータラッチ操作を行ない、上記モジュ
ールの数が不足する場合には、他のユニットの演算デー
タラッチ機構に対して、ラッチ操作のメッセージを伝送
することを特徴とする。
【0010】これは、モジュール数を決定するための構
成を一層具体的に示すものである。この集積回路は、演
算データを取り込んだモジュールの数が演算精度に対応
する迄、データラッチ操作を行い、モジュールの数が不
足する場合には、他のユニットにおいて、同様にデータ
ラッチ操作を行なう。このようにデータラッチを動的に
順次行なうことにより、演算精度に応じたモジュール数
を決定することができる。
【0011】また、請求項3に記載の集積回路は、請求
項1または2に記載の集積回路において、上記各ユニッ
トは、上記機能が減算または除算である場合、演算結果
0を出力する上記モジュールの数を上位のモジュールか
ら下位のモジュールに至り計数することにより、演算結
果の精度範囲を算定することを特徴とする。
【0012】これは、減算または除算を行なう際に演算
結果の精度範囲を決定するための構成を一層具体的に示
すものである。この集積回路は、演算結果0を出力する
モジュールの数を計数することにより、演算結果の精度
範囲を算定する。このように特定の演算結果を出力する
モジュールの数を計数することにより、演算結果の精度
範囲を算定することができる。
【0013】また、請求項4に記載の集積回路は、複数
のコアを1チップ上に備えた集積回路であって、上記複
数のコアに対して共通に接続されたバスと、上記複数の
コアを巡回的に接続する、上記バスの使用権通知線と、
上記各コアの出力を当該コアの上流のコアに入力する、
上記バスの使用終了通知線とを備え、上記各コアは、自
己の上流のコアから上記使用権通知線を介して行なわれ
た出力がHighまたはLowの所定の一方の状態であ
る場合には、上記バスの使用が可能であると判断し、自
己の上記バスの使用が終了した際には、自己の上記使用
権通知線を介して行なう出力を上記一方の状態とし、上
記使用終了通知線を介して上記一方の状態の出力が入力
された場合には、自己の上記使用権通知線を介して行な
う出力をHighまたはLowの所定の他方の状態とす
ることを特徴とする。
【0014】これは複数のコアでバスを共有する際のバ
スの調停機構を示すものである。この機構によれば、バ
スの使用権は使用権通知線を介して受け渡され、また、
バスの使用終了通知は終了通知線を介して受け渡され
る。したがって、トークンリング方式のように使用権情
報をバス自体を用いて受け渡す方式とは異なり、バスを
用いることなく使用権情報を受け渡すことができるの
で、バスの使用効率を高めることができる。すなわち、
複数コア間のバス調停機構をバスの使用権通知線とバス
の使用終了通知線で構成することにより、トークンリン
グ方式のようなバスの使用権情報をバスを介さずに行え
るので、バスの使用効率を高めることができる。
【0015】また、本発明は集積回路の制御方法に関す
るものであり、請求項5に記載の集積回路の制御方法
は、1以上のコアを1チップ上に備え、上記コアは複数
のユニットを備えると共に、各ユニットは上記機能を実
行する複数のモジュールを備え、上記複数のユニットお
よび上記複数のモジュールは、それぞれカスケード接続
されて構成され、所定機能を起動するメッセージと、こ
の機能に必要となる演算データと演算精度とを含むパラ
メータとを受けて上記機能を行なう集積回路、に対する
制御方法であって、上記各ユニットにおいて、上記送ら
れたメッセージが自己宛てのメッセージであるか否かを
判断するメッセージ判断工程と、上記メッセージ判断工
程において自己宛てであると判断した際、上記演算デー
タを取り込んだ上記モジュールの数が上記演算精度に対
応する迄、上記複数のモジュールにて所定順序で上記演
算データを取り込むことにより、上記機能に必要となる
モジュールの数を決定するモジュール数決定工程とを備
えることを特徴とする。
【0016】この制御方法によれば、送られたメッセー
ジが自己宛てのメッセージであるか否かが判断され、自
己宛てのメッセージである場合には、機能に必要となる
モジュールの数が自動的に決定される。このことによ
り、コアでは演算に必要となる制御を自律的に行なうこ
とができる。したがって、コア(VC)の使用者は抽象
的に部品化されたVCの内部を知る必要がなく、またV
Cが他のVCの動作によって破壊(変更)される危険性
がない。したがって、コアの再利用や拡張を容易に行な
うことができる。
【0017】また、請求項6に記載の集積回路の制御方
法は、請求項5に記載の集積回路の制御方法において、
上記モジュール数決定工程において、上記演算データを
取り込んだ上記モジュールの数が上記演算精度に対応す
る迄、上記複数のモジュールに対して所定順序でデータ
ラッチ操作を行なうデータラッチ操作工程と、上記モジ
ュールの数が不足する場合には、他のユニットの演算デ
ータラッチ機構に対して、ラッチ操作のメッセージを伝
送するラッチメッセージ伝送工程とを備えることを特徴
とする。
【0018】これは、モジュール数を決定するための構
成を一層具体的に示すものである。この制御方法によれ
ば、演算データを取り込んだモジュールの数が演算精度
に対応する迄、データラッチ操作が行なわれ、モジュー
ルの数が不足する場合には、他のユニットにおいて、同
様にデータラッチ操作が行なわれる。このようにデータ
ラッチを動的に順次行なうことにより、演算精度に応じ
たモジュール数を決定することができる。
【0019】また、請求項7に記載の集積回路の制御方
法は、請求項5または6に記載の集積回路の制御方法に
おいて、上記モジュール数決定工程において、上記機能
が減算または除算である場合、演算結果0を出力する上
記モジュールの数を上位のモジュールから下位のモジュ
ールに至り計数することにより、演算結果の精度範囲を
決定する精度範囲決定工程を備えることを特徴とする。
【0020】これは、減算または除算を行なう際に演算
結果の精度範囲を決定するための構成を一層具体的に示
すものである。この制御方法によれば、演算結果0を出
力するモジュールの数を計数することにより、演算結果
の精度範囲が算定される。このように特定の演算結果を
出力するモジュールの数を計数することにより、演算結
果の精度範囲を算定することができる。
【0021】また、請求項8に記載の集積回路の制御方
法は、複数のコアを1チップ上に備え、上記複数のコア
に対して共通に接続されたバスと、上記複数のコアを巡
回的に接続する、上記バスの使用権通知線と、上記各コ
アの出力を当該コアの上流のコアに入力する、上記バス
の使用終了通知線とを備えて構成された集積回路、に対
する制御方法であって、上記各コアにおいて、自己の上
流のコアから上記使用権通知線を介して行なわれた出力
がHighまたはLowの所定の一方の状態である場合
には、上記バスの使用が可能であると判断する工程と、
自己の上記バスの使用が終了した際には、自己の上記使
用権通知線を介して行なう出力を上記一方の状態とする
工程と、上記使用終了通知線を介して上記一方の状態の
出力が入力された場合には、自己の上記使用権通知線を
介して行なう出力をHighまたはLowの所定の他方
の状態とする工程とを備えることを特徴とする。
【0022】これは複数のコアでバスを共有する際のバ
スの調停機構を示すものである。この機構によれば、バ
スの使用権は使用権通知線を介して受け渡され、また、
バスの使用終了通知は終了通知線を介して受け渡され
る。したがって、トークンリング方式のように使用権情
報をバス自体を用いて受け渡す方式とは異なり、バスを
用いることなく使用権情報を受け渡すことができるの
で、バスの使用効率を高めることができる。すなわち、
複数コア間のバス調停機構をバスの使用権通知線とバス
の使用終了通知線で構成することにより、トークンリン
グ方式のようなバスの使用権情報をバスを介さずに行え
るので、バスの使用効率を高めることができる。
【0023】
【発明の実施の形態】以下に、本発明にかかる集積回路
およびその制御方法の実施の形態を図面に基づいて詳細
に説明する。なお、この実施の形態によりこの発明が限
定されるものではない。以下では、まず、実施の形態1
において、本発明の概要と、本発明を算術演算機構に適
用した例と、さらに算術演算機構のうちの加算/減算機
構に適用した例を示す。また、実施の形態2において、
本発明を除算器に適用した例を示す。そして、最後に、
実施の形態3において、本発明をRSA暗号に組み込む乗
除算機構に適用した例を示す。
【0024】(実施の形態1) (概要)まず、実施の形態1について説明する。最初
に、本実施の形態1における集積回路およびモジュール
の制御方法の概要について説明する。本集積回路および
モジュールの制御方法は、概略的に、ソフトウェアにお
いて用いられているオブジェクト指向技術の考え方をハ
ードウェアであるVCに適用し、あたかもオブジェクト
指向技術でのオブジェクト内のデータ処理装置のように
働かせられる機能を持ったVCを提供するものである。
【0025】このオブジェクト指向技術は、機能毎の部
品化を図り、内部を隠蔽してカプセル化するものであ
り、再利用性や拡張性などのメリットから普及してきて
いる。これをVCに適用することにより、VCの使用者
は抽象的に部品化されたVCの内部(後述するユニット
や演算モジュールの数、演算精度、クロック数等)を知
る必要がなく、またVCが他のVCの動作によって破壊
(変更)される危険性がない。したがって、コアの再利
用や拡張を容易に行なうことができる。また、オブジェ
クト化することにより、処理データの規模に左右されな
いソフトウェアのような柔軟性を持ったコアが実現でき
る。この結果、メッセージとパラメータに関することが
主な標準化となり、様々な制約からなる項目から解放さ
れ、標準化がし易くなる。
【0026】(概要−オブジェクト指向技術の適用の基
本的概念)このような利点を有するオブジェクト指向技
術は、概略的に、下記のように集積回路に適用すること
ができる。図1は、オブジェクト指向技術を適用した複
数のVCから構成されるSOCを示すブロック図であ
る。この図1において、SOC1は、複数のVC2を備
えて構成されており、これら各VC2はバス3を介して
相互に接続されている。これら各VC2は、相互に同一
または異なる各種の演算機能や制御機能を実現するコン
ポーネントである。
【0027】ここで、使用者は、複数のVC2の全てに
対して、必要なメッセージ(必要とするVC2の機能を
特定するための情報であり、例えば、加減乗除算のいず
れかを指示する情報)と、パラメータ(VC2が処理を
行なう対象となるデータおよびその際に必要となるデー
タ)とをバス3を介して送る。このメッセージは、例え
ば、各VC2の実装時にアドレスコードのようなビット
パターンを割り振り、コード変換表を介する等して、そ
のビットパターンを除算や暗号といったメッセージとし
て送ることができる。そして、各VC2には、このメッ
セージを判断するための回路を付加しておき、この回路
の判断結果に応じて、コアの起動を制御する。すなわ
ち、各VC2は、メッセージを自己宛てのメッセージか
否か判断し、自己宛てのメッセージであると判断した場
合にはパラメータを取り込み、処理した結果をバス3を
介して返す。これが、本集積回路におけるオブジェクト
指向技術の基本概念である。
【0028】次に、この基本概念を、より具体的に説明
する。特に、図1に示した概念では各VC2がバス3を
介してメッセージの通信を行なっているが、各VC2の
機能によっては、各VC2が相互にメッセージを通信す
る必要が生じ、バス3の調停機構が必要になるため、こ
のような場合を考慮した基本概念について説明する。図
2は、オブジェクト指向技術を適用した複数のVCから
構成されるSOCを示すブロック図である。この図2に
おいて、SOC1は、相互にメッセージの通信を行なう
必要がない複数のVC2aと、相互にメッセージの通信
を行なう必要がある複数のVC2b(VC2b1〜VC
2b4)とを備えて構成されている。ここで、VC2a
については、図1と同様に、バス3aを介してメッセー
ジの通信を行なうことができる。
【0029】一方、VC2bに関しては、やはりバス3
aを介してメッセージの通信を行なうが、VC2bの相
互間で通信を行なうためにバス3aの調停を行なう必要
が生じる。このような調停機構としては公知のものを適
用することもできるが、図2においては、新規な調停機
構を用いている。この調停機構は、バス3aの使用権通
知線3bと、バス3aの使用終了通知線3cとを備えて
構成されている。バス3aの使用権通知線3bは、複数
のVC2bを、VC2b1、VC2b2...VC2d
4の如く、順次的に巡回接続する。また、バス3aの使
用終了通知線3cは、各VC2bの出力を当該VC2b
の上流のVC2bに入力するものであり、例えば、VC
2b2の出力はVC2b1、VC2b3の出力はVC2
b2に入力される。
【0030】このような構成において各VC2bは、自
己の上流のVC2bから上記使用権通知線3bを介して
行なわれた出力がLowである場合には、バス3aの使
用が可能であると判断し、自己のバス3aの使用が終了
した際には、自己の使用権通知線3bを介して行なう出
力をLowとし、使用終了通知線3cを介してLowの
出力が入力された場合には、自己の使用権通知線3bを
介して行なう出力をHighとする(なお、LowとH
ighを逆転させてもよい)。
【0031】例えば、図2の状態において、VC2b2
は、自己の上流のVC2b1から上記使用権通知線3b
を介して行なわれた出力がLowであるため、バス3a
の使用が可能であると判断し、このバス3aを介してメ
ッセージを受け渡す。そして、この受け渡しが終了する
ことにより、バス3aの使用が終了した場合、VC2b
2は、自己の出力をLowとする。すると、このLow
出力を使用終了通知線3cを介して受けたVC2b1
は、自己の使用権通知線3bを介して行なう出力をHi
ghとするので、これによってVC2b2のバス3aの
使用権が失われる。また、同時に、VC2b2の出力が
Lowになることにより、その下流のVC2b3にバス
3aの使用権が与えられ、バス3aの使用が可能とな
る。以降、この制御を同様に繰り返すことにより、VC
2b1〜VC2d4がバス3aを順次使用することがで
きる。この制御では、使用権に関する情報が使用権通知
線3bと使用終了通知線3cを用いて受け渡されてお
り、バス3aを用いる必要がない。
【0032】(概要−適用上の課題)このようなオブジ
ェクト指向技術を集積回路に具体的に適用するために
は、新たな技術的課題が生ずる。すなわち、VC2内で
の処理に必要となる後述するユニット数やモジュール数
(演算器やメモリ等の数)、演算精度、あるいは、クロ
ック数を、このVC2自身で判断させる必要がある。
【0033】(概要−課題解決のための手段)このよう
に任意精度に対応する必要があるという問題に対して
は、VC2をチップスライス化することが有効である。
このチップスライス化とは、乗算回路や除算回路等の演
算部(モジュール)を1または複数単位でユニット化
し、各ユニットを複数個設けて相互にカスケード接続す
ることによって、各ユニットをチップ単位とする演算処
理を行なうものである。この時、各ユニット内の制御回
路により、演算精度に合わせて必要なモジュールおよび
ユニットが用いられて演算データが分散処理される。
【0034】しかし、チップスライス化する場合におい
ても、近年の高精度化傾向を考慮すると、必要なユニッ
ト数やモジュール数の選定等が問題となる。すなわち、
予め必要と思われるチップ(ユニット)数をシステム内
部に用意しておくが、それでも不足する場合はシステム
外部に設置されたモジュールまでも制御する必要が生じ
る。このような場合、一つの制御部から全モジュールを
制御する中央制御形では制御信号の追増加および信頼性
に関して問題がある。そこで、本願においては、各ユニ
ット内に、演算に必要なモジュール数とクロック数の制
御機能を持たせることによって、上記の問題を解決して
いる。これにより、新たに回路を用意したり変更するこ
となく、必要とされるユニット数、モジュール数、およ
び、全クロック数を演算機構が判断し、結果を返すこと
が可能になる。
【0035】(算術演算機構への適用例)次に、上述の
ような課題解決手段の内容について一層具体的に説明す
る。ここでは、この課題解決手段を、各種の処理に不可
欠な算術演算機構に適用した場合を例に挙げて説明す
る。チップスライス化された演算機構の概要を図3に示
す。この図3において、システム内部4と、システム外
部5には、それぞれ複数のユニットU1〜Unが設けら
れている。
【0036】各ユニットU1〜Unは、オブジェクト指
向技術を取り入れてチップスライス化したもので、その
内部には、それぞれ1または複数のモジュールM1〜M
nがカスケード接続されている。また、ユニットU1〜
Unはカスケード接続されており、さらに、各々のユニ
ットU1〜Unはバス3に接続された状態で演算機構を
構成している。ここで、各ユニットU1〜Unおよび各
モジュールM1〜Mnは、そのカスケード接続の順序に
対応して、最下位〜最上位まで処理順序が決定されてい
る。図3においては、ユニットU1が最下位ユニット、
ユニットUnが最上位ユニット、各ユニット内において
はモジュールM1が最下位モジュール、モジュールMn
が最上位モジュールである。
【0037】(算術演算機構への適用例−メッセージの
判断)このような演算機構に対して、使用者は、演算を
指示するメッセージ(ここでは、加減乗除算のいずれか
を指示する情報)と、パラメータ(演算精度および演算
データ)とをバス3を介して順次送る。すると、各ユニ
ットU1〜Unの各モジュールM1〜Mnは、まず、メ
ッセージを自己宛てのメッセージか否か判断し、自己宛
てのメッセージである場合には、パラメータを取り込ん
でその演算精度を記憶する。そして、最下位ユニットU
1の最下位モジュールM1から、その場合に必要となる
最も上位のユニットU2〜Unの最も上位のモジュール
M1〜Mnに至るまで、順次、演算データを取り込む。
【0038】(算術演算機構への適用例−モジュール数
の判断)このように演算データを取り込む際、各モジュ
ールM1〜Mnは、演算に必要となるモジュール数を判
断する。以下、このモジュール数の判断機構について説
明する。図4はモジュール数の判断と演算データのラッ
チ機構を示す図である。この図4において、ユニットU
xと、このユニットに対する下位ユニットUx-1および
上位ユニットUx+1とが示されており、各ユニットUx-1
〜Ux+1には、それぞれ、演算データラッチ機構Rと、
複数の演算モジュールM1〜Mnとが設けられている。
そして、各ユニットUx-1〜Ux+1の演算データラッチ機
構Rがカスケード接続され、各ユニットUx-1〜Ux+1の
演算モジュールM1〜Mnがカスケード接続され、演算
データラッチ機構Rと各演算モジュールM1〜Mnとが
接続されている。
【0039】このような構成において、まず最初に、ユ
ニットUxは、下位のユニットUx-1の演算データラッ
チ機構Rからラッチ操作のメッセージを受けて、演算精
度と比較しながら、自己のユニットUxの内部の演算モ
ジュールM1〜Mnについてデータラッチ操作を繰り返
す。そして、演算精度に対して演算モジュールM1〜M
nの数が不足する場合、演算データラッチ機構Rは、自
己の直近上位のユニットUx+1の演算データラッチ機構
Rにラッチ操作のメッセージを伝える。
【0040】このようなラッチ操作を、図3の最下位ユ
ニットU1から始めて、演算精度と演算モジュールの数
とが対応する迄、順次、直近上位のユニットUにデータ
ラッチ操作のメッセージを伝える。このようなラッチ操
作を行なうことにより、任意の精度に対応した演算モジ
ュール数を動的に決めることができる。また、このラッ
チ操作と同時に、最下位モジュールから順に演算データ
を取り込む。そして、必要な演算データが全て取り込ま
れると、演算機構内では演算精度にあったクロックを用
いて演算が実行され、演算結果がバスを介して返送され
る。
【0041】(算術演算機構への適用例−モジュール数
の判断−減算と除算機構の場合)上記のように、演算モ
ジュール数の判断は、各ユニットUに記憶された演算精
度によって判断される。しかしながら、算術演算機構が
減算機構である場合には、その演算結果である「差」の
精度範囲が、「0」〜「減数データのビット数」と不定
になる。あるいは、算術演算機構が除算機構である場合
には、その演算結果である「商と剰余」の精度範囲が、
やはり「0」〜「除数データのビット数」と不定にな
る。この場合におけるモジュール数の判断は、上記判断
とは逆に、最上位モジュールから下位モジュールに向か
って、「0」がどのモジュールまで続いているかを知ら
せる同様な情報伝搬機構によって実現できる。
【0042】(加算/減算機構への適用例)次に、この
ようなオブジェクト技術指向について、さらに具体的に
説明する。ここでは、算術演算機構のうち、加算/減算
機構に適用した場合を例に挙げて説明する。まず、ここ
で想定している加算/減算機構について説明する。この
加算/減算機構は、ある演算精度の加算/減算器(モジ
ュール)を複数備えて構成されている。そして、各モジ
ュールはカスケード接続されており、使用するモジュー
ル数を変更することで、1モジュールの演算精度の整数
倍に演算精度を拡張することが可能である。また、各モ
ジュールは、自己に送られた演算精度に基づいて、必要
なモジュール数とクロック数およびクロック周波数等を
判断し、演算結果を返す。この判断機構は中央制御形と
ならないよう、各モジュール間のメッセージ通信の伝搬
により行なう自己判断機構とする。また、パラメータに
演算精度を付加することにより、演算精度の制限を受け
ず、任意精度に対応可能となる。
【0043】このような加算/減算機構におけるモジュ
ールのブロック図を図5に示す。また、この際の各モジ
ュールの処理のフローチャートを図6に示す。この図5
においてモジュールMは、nビット加/減算器10、分
周器11、演算精度の記憶部12、および、演算の種類
の記憶部13を備えて構成されており、これら各部は図
示のようにバス14にて接続されている。
【0044】(加算/減算機構への適用例−メッセージ
判断の詳細)このような構成においてモジュールMは、
加減乗除演算を指示するメッセージをバス14を介して
受け取る。このメッセージは、例えば、その上位2ビッ
トが、加算であれば「00」、減算であれば「01」の
ように所定方法に従って構成されており、モジュールM
は、このようなメッセージを記憶部13の記憶内容と比
較することにより、メッセージが自己宛てか否かを判断
する(ステップS−1)。そして、モジュールMは、メ
ッセージが自己宛てである場合には、その内容に応じ
て、nビット加/減算器10を加算器あるいは減算器に
切り替える(ステップS−2)。
【0045】その後、モジュールMは、メッセージに続
けて送られてきたパラメータに含まれる演算精度を、記
憶部12に記憶する(ステップS−3)。そして、この
記憶部12に記憶した演算精度を用いて、演算に最適な
クロック周波数を分周器11を通して選定する(ステッ
プS−4)。次いで、モジュールMは、演算に必要な演
算モジュール数の決定と、パラメータに含まれる演算デ
ータの取り込みとを、上述の図3と図4で示したよう
に、記憶部12に記憶した演算精度と比較しながら行な
う(ステップS−5)。また、このため、上位モジュー
ルと下位モジュール伝搬用メッセージとして、図示のよ
うにデータラッチ信号を設ける。また、nビット加/減
算器10の接続は、図示のように桁上げ/桁借りデータ
を下位桁から入力して、上位桁へ出力することにより、
容易に実現できる。そして、全ての演算データを取り込
んだ後で演算を実行し(ステップS−6)、この演算結
果をバス14を介して返送して(ステップS−7)、演
算処理を終了する。
【0046】(加算/減算機構への適用例−クロック数
の判断の詳細)ここで、ステップS−4におけるクロッ
ク数の判断について、一層詳細に説明する。この判断
は、記憶部12に記憶してある演算精度と比較しなが
ら、分周器11の出力のクロック数をカウントし、必要
なクロック数を制御する。例えば、演算精度がnビット
×nビットである場合、分周器11の出力の必要なクロ
ック数はnとなる。
【0047】ここで、多精度演算時は、多くのモジュー
ルのカスケード接続になる。従来の一系統クロックに同
期した演算では多精度時のクロックスキューが問題にな
るが、本機構では各モジュールM分のクロック用として
考えればよく、精度増に対するクロックスキューは問題
とならない。一つ前の演算結果を半クロック間ラッチし
ておくことにより、各モジュールM間のクロックの位相
差は半クロック以内であればよく、演算結果の更新(ラ
ッチ)はその半クロック後であることによる。
【0048】(加算/減算機構への適用例−減算時の演
算結果の精度の判断の詳細)次に、メッセージの内容が
減算である場合の演算結果の精度判断について詳細に説
明する。なお、除算の場合も同様である。減算結果(あ
るいは除算結果)のビット数は最大、「減数(あるいは
除数)のビット数」〜「0」と不定になる。そこで演算
結果が上位モジュールからどのモジュールまで「0」が
続いているかを伝えるデージーチェーンを構成すること
により、演算結果の精度を判断することができる。その
ための信号が、図5に示す、演算結果の精度判断信号
(ARIとARO)である。
【0049】図7に演算結果の精度判断機構を示す。こ
の図7においては、複数のモジュール間の精度判断信号
の接続関係と出力状態とを示す。この図7において、デ
ージーチェーン用の精度判断信号ARIとAROの関係は、AR
IがLowでかつ自モジュールの演算結果が「0」のときAR
OをLow出力する。すなわち、
【数1】 である。したがって、図7のように、最上位モジュール
MnのARIはプルダウンし、ARIがLowでAROをHigh出力し
ているモジュールMn-2以降の結果を有効桁数と判断す
ることができる。
【0050】(実施の形態2)次に、実施の形態2につ
いて説明する。この実施の形態2は、概略的に、オブジ
ェクト指向技術を除算器に適用した例を示すものであ
る。実施の形態1で示した内容は、チップスライス化が
実現できることを前提にしている。したがって、除算器
のように、チップスライス化が最も困難とされてきたも
のについても、このチップスライス化を行なった上で、
オブジェクト指向技術を適用することが必要となる。以
下、除算器のチップスライス化について説明した後、オ
ブジェクト指向技術を適用した除算器について説明す
る。
【0051】本願出願人は、これまでに、特に演算に多
くの時間を要する乗除算に関し、演算精度に応じて演算
機構を構成することによって効率的な演算を実行する分
散処理アーキテクチャの開発を行ってきた(1−中村次
男、笠原宏:「任意精度の演算が可能な並列除算器のア
ーキテクチャ」、信学論(C-II)、Vol.J75-C-II、No.
5、pp.185-192(1992-5)、2−中村次男、笠原宏:
「任意の精度に被除数を拡張できる並列除算器の提
案」、電学論(C)、Vol.111-C、No.7、pp.273-278(19
91-7)、3−中村次男、笠原宏:「任意の精度に拡張容
易な除算器の提案」、電学論(C)、Vol.111-C、No.3、
pp.123-128(1991-3)、4−中村次男、笠原宏:「拡張
容易な乗算器モジュールとそのワンチップ化の提案」、
電学論(C)、Vol.110-C、No.2、pp.95−100(1990-
2))。
【0052】特に、除算器はこれまで演算桁数を越えた
使用が不可能であったが、本願出願人は、数モジュール
の除算器に除算データを振り分けて除算を分散処理する
チップスライス化の実現に成功した。その結果、演算精
度に対し、ダイナミックに除算モジュールの結合が行わ
れ、要求された任意の精度で除算実行を容易に行なうこ
とが可能となった。本方式は完全なハードウェア化で実
現でき、ソフトウェアのような柔軟性と開発効率の問題
が解決され、しかもチップスライス化により低コストで
の実現が期待できる。
【0053】ここで、並列形はクロックや制御回路を必
要とせず高速演算向きであるが、多精度演算においては
集積度とファンイン/ファンアウト増の問題が伴う。一
方、順序回路形はクロックを用いる分、並列形よりは演
算速度が低下するが構成ゲート数が少なく、多精度演算
向きであるといえる。
【0054】次に、本願出願人が開発した順序回路形チ
ップスライス機構について述べる。本除算器のアルゴリ
ズムは減算シフト方式に基づいたものである。本除算モ
ジュ−ルを図8に示す。自モジュール内nビットの除数
Yn-1〜Y0と被除数との減算は、被除数が1ビットシフ
トされるごとに行われ、n回(ステップ)繰り返されて1
除算モジュ−ル分の除算が終了する。このシフトされる
被除数、減算結果および部分剰余の伝搬入出力をそれぞ
れ以下のような各記号で定義する。 データ伝搬の入出力 QI:被除数のシフト入力 QO:被除数のシフト出力 BI:減算結果の桁借り入力 BO:減算結果の桁借り出力 RI:部分剰余のシフト入力 RO:部分剰余のシフト出力
【0055】ここで、あるステップ時の被除数をXn-1
〜X0、その1ステップ前の部分剰余をDkn-1〜Dk0お
よび減算抑止信号をPとしたとき、減算結果の差Dn-1〜
D0は各減算時の桁借り出力をBn-1〜B0とすると、
以下の論理式で示される。
【0056】
【数2】
【数3】
【0057】以下、同様に、
【数4】
【0058】
【数5】 以上のDn-1〜D0が新部分剰余Dkn-1〜Dk0になる。
また、各減算結果の桁借り出力は以下の論理式で示され
る。
【0059】
【数6】
【0060】
【数7】
【0061】以下、同様に、
【数8】
【0062】
【数9】
【0063】上式は、初段の入力RIには被除数のMS
Bが1ビットシフトした状態での演算操作開始を意味し
ている。つまり、最上位モジュールの被除数はMSBか
ら最下位モジュールのRIに伝搬し、1除算操作終了時
にはRIにX0が与えられる。Dkn-1と最終段の減算結
果のDn-1は減算抑止信号Pによって選択され、出力RO
から上位モジュールの入力RIに自モジュールの部分剰
余として伝搬する。
【0064】
【数10】 また、モジュール内最上位桁借りBn-1は、出力BOか
ら上位モジュールの入力BIに桁借り出力として伝搬す
る。
【0065】最上位モジュールのBn-1が減算抑止信号P
として、全モジュールにフィードバックされる(全モジ
ュールを連結して減算した結果、負のときPは「1」)
と同時に商としてQIに伝搬する。例えば、4ビット除
算器の場合、除算データの被除数と除数および除算結果
の商と剰余はそれぞれ4ビットで、以下のように各記号
を定義する。 被除数 X3、X2、X1、X0 除数 Y3、Y2、Y1、Y0 商 Q3、Q2、Q1、Q0 剰余 R3、R2、R1、R0
【0066】1モジュールの各ステップを図9に示す。
図9において、各ステップではBIも含めて除数Y3〜
Y0との減算を行い、その結果の桁借り出力がBOにな
る。除算のオーバーフローを避け、すべての演算を可能
とするため、被除数の上位4ビットX7〜X4は初期設
定ですべて「0」にイニシャライズされる。従って、1
モジュールの被除数は8ビットであるが、実際の演算は
4ビット÷4ビットである。
【0067】図9から、kステップにおけるi桁目の部
分剰余Riは次式で示される。
【数11】 各ステップにおいて最終桁借り出力が正(「0」も含
む)で商は「1」(負で「0」)になり、Q3から順に
Q0へと商が求まる。
【0068】上述のチップスライス化理論によって、今
まで不可能視されていた除算の分散処理が可能になり、
nビット除算にはnクロックで効率的に除算を実行する分
散処理アーキテクチャが実現できる。図10は、8ビッ
トの精度のm個の除算器(モジュール)M1〜Mmを設
け、8〜8mビット精度の除算機構を示したものであ
る。これらM1〜Mmは、その間に設けたSW1、SW2、SW
3……によって、必要に応じて接続される。例えば、8
ビット精度ではすべてのスイッチはオフ、16ビット精
度ではSW1だけがオン、そして8mビット精度ではすべ
てのスイッチがオン状態になる。当然、被除数と除数は
図10の下位8ビットから8ビット単位に、左側の除算
器M1から順次それぞれの除算器M2〜Mmに与えられ
る。実際に8ビット除算器Mをワンチップ化し、ボード
上に4チップ実装し、8〜32ビット除算の実験を行っ
た。
【0069】次に、図10の除算機構を内蔵した任意精
度除算ユニットの試作について報告する。先に開発した
除算器Mのチップスライス化とボード上での試作は、予
め用意しておいたシステム内部で処理できる程度の演算
精度を想定し、従来のような中央制御形によるものであ
った。しかし、前述したような超高精度化対応やVSIのV
Cを考慮し、これまでの中央制御形ではなく、各演算チ
ップがオブジェクト指向手法を取り入れ、演算精度に合
わせて複数の同一演算チップだけの動的な接続で任意の
精度に対応可能な機構を本願出願人は新たに開発し、試
作実験を行った。
【0070】基本的には、上述のように、カスケード接
続した数モジュールをメッセージとパラメータに応じて
制御する処理機構組込形のユニット構成になる(図1
1)。1ユニットの処理能力を超えたパラメータに対し
ては、更にカスケード接続したユニット間のメッセージ
通信により必要なユニット数が用いられて、処理結果を
返す。
【0071】(除算オブジェクトへの適用)次に、本願
出願人が提案するオブジェクト指向ハードウェア設計法
について、試作を通してその動作確認を行ったので、こ
の内容について以下説明する。本除算オブジェクトは計
算機(ホスト)の高速で任意精度対応補助除算機構とし
てのものである。ただ大きな障害としてはシステムへの
実装の問題が挙げられる。優れた機能をPLDやFPGAなど
でチップ化しても、例えば、計算機内に組み込んだり、
システムバスに接続するにはハードウェアの知識は不可
欠であり、だれにでも容易に行えるものではない。
【0072】そのため、PCIバス接続用のインタフェー
ス基板などが市販されているが、どの機種の計算機にも
簡単に接続できる実装の容易性を考慮し、先ず演算速度
よりもシステムの動作確認を目的に、RS−232C端
子に直接接続するタイプの除算ユニットを試作した。1
ユニットは順序回路形8ビット除算器4個構成とした。
従って、本除算ユニットはひとつで8から32ビットの
可変精度除算を効率よく行い、更に同除算ユニットをカ
スケード接続することにより、任意の精度に対応可能で
ある。
【0073】必要な可変長除算データをホスト側から入
力し、精度に比例したクロック数で除算を実行後、結果
をホスト側に返送する。本除算ユニットの構成図を図1
2に示す(遊佐敦史、笠原宏、中村次男:「RS−23
2Cで接続可能な任意精度補助除算ユニットの試作」、
信学総全大、A-51(1995-3))。
【0074】ここでは、RS−232C機能も含めた本
除算ユ二ニットのワンチップ化を想定し、RS−232
Cインタフェースは必要最小限の機能に限定した。図1
2に示すように、本除算ユニット20のRS−232C
コネクタ21を、ホストコンピュータ30のRS−23
2Cコネクタ31に直接差し込むことで、両者を接続す
る。なお、試作では動作確認を目的にRS−232Cイ
ンタフェースとしたが、SOCやシステム内部に実装する
場合はバスインタフェースが適している。
【0075】図12の可変精度除算機構22は、8〜3
2ビットの除算を、演算精度に比例したクロック数を用
いて実行する。また、バッファ機構23には、ホストコ
ンピュータ30からの演算精度を付加した、8〜32ビ
ットの除算データを格納する。このバッファ機構23
は、8除算データまで格納できるバッファとして試作し
たが、ホストコンピュータ30からの送信要求がなくな
った場合か、バッファが満杯になった場合には、可変精
度除算機構22で演算精度に合わせて順次除算を実行
し、この除算結果をバッファに蓄えた後、演算精度を付
加して全除算結果をホストコンピュータ30に返送す
る。
【0076】ここで、可変精度除算機構22は任意精度
対応可能であるため、この除算ユニット20を更にカス
ケード接続することによって、1ユニットの整数倍に精
度を拡張することが可能である。このため、本願出願人
は、1ユニットをFPGA(Xilinx社製、XC5210、84ピンPLC
C)にワンチップ化し、それを4チップカスケード接続
して、8から128ビットの可変精度除算を実験により
検証した(大石博朗、杉山寿男、鈴木領、笠原宏、中村
次男:「精度にあわせて効率的な除算を行なう補助ユニ
ットの開発」、信学総全大、C-12-42(1997))。
【0077】(実施の形態3)最後に、本発明を、情報
セキュリティ技術として公開鍵暗号システムの標準とな
っているRSA暗号に組み込む乗除算機構に適用した例を
示す。本願出願人は、オブジェクト指向手法を取り入れ
た乗除算機構組み込んでワンチップ化し、試作実験を行
った。ここで、RSA暗号では、暗号化と復号において Am ≡ R mod n の剰余演算を行なう。この鍵のnの精度は、容易に解読
できないよう、現在では1、024ビットが必要とさ
れ、コンピュータの性能向上により更なる高精度化が進
むと考えられている。
【0078】このような超高精度演算においては多くの
演算時間を要するため、RSA暗号は主に秘密鍵の配送や
ディジタル署名といった短いデータ用に使われている。
そこで、効率的なアルゴリズムあるいは専用ハードウェ
アでの高速化が重要課題となっており、実際にワンチッ
プ化した例も報告されている(1−森田光:「暗号技術
と高速算法」、情報処理、Vol.34、No.3、pp.336-342
(1993-3) 、2−Brickel、E.F.:“A Survey of Hardwar
e Implementations of RSA”、 Advances in Cryptolog
y-CRYPTO'89、 Lecture Notes in Computer Science 43
5、 pp.368-370、 Springer-Verlag(1990)、3−石井晋
司、大山勝一、山中喜義:「高速公開鍵暗号プロセッ
サ」、信学論、D-I、Vol.J80-D-I、No.8、pp.725- 735
(1997-8)、4−日本IBM(株)「1024ビットRSA暗号アク
セラレータ」、NIKKEI BYTE (1999-2))。
【0079】しかし、複雑な演算機構の分散処理化を実
現するのは容易ではないため、チップスライス化を考慮
したものはなく、更なる精度増には再開発が必要とな
り、またワンチップに実装するには極めて高集積なもの
となる。本願出願人が試作したRSA公開鍵暗号システム
(中村次男、大石博朗、笠原宏:「RSA公開鍵暗号シス
テム実装におけるビットスライス化の一方式」、電学論
(C)、Vol.118-C、No.7/8、pp.1073−1081(1998-7/
8))の1チップは16ビットと32ビット乗除算器をそ
れぞれ4モジュール内蔵(乗算16〜64ビット、除算
32〜128ビットの可変精度)で、制御回路も含めて
ゲート規模は約1万6千ゲート(CMOSゲートアレイ、10
0ピンQFP)である。このRSA公開鍵暗号システムを適用
したチップの概要を図13に示す。
【0080】試作したチップをボード上に4個実装し、
16〜256ビット長の鍵に対する暗号化/復号の実験
を行いチップスライス化が正常に動作することを確認し
た。図14に示すように、実験用ボードはPCIバスイ
ンタフェースボード(GPIO-100MN)を介してホストコン
ピュータ(MMX Pentium、 233MHz)に接続される。例え
ば、暗号化ではホストコンピュータから、平文Aそして
公開鍵n、mのデータが順に実験用ボードに送られる。実
験用ボードでは精度に合わせたべき乗剰余演算が実行さ
れ、結果の暗号文Rがホストコンピュータに返送され
る。1、024ビットのべき乗剰余演算時は16チップ
のカスケード接続になるが、これらの制御は完全ハード
ウェア化によって実行される。電子機器の性能向上によ
り、要求される演算精度数も更に高くなるといわれてい
るが、オブジェクト指向手法を取り入れることによりカ
スケード数の追加だけで容易に対応可能である。
【0081】さて、これまで本発明の実施の形態につい
て説明したが、本発明は、上述した実施の形態以外に
も、上記特許請求の範囲に記載した技術的思想の範囲内
において種々の異なる実施の形態にて実施されてよいも
のである。例えば、上記実施の形態においては、本発明
を主として加減乗除機構に適用した例を示したが、任意
の演算を行なうための集積回路において同様に適用する
ことができる。
【0082】
【発明の効果】以上に説明したように、請求項1または
5に記載の本発明によれば、送られたメッセージが自己
宛てのメッセージであるか否かを判断し、自己宛てのメ
ッセージである場合には、機能に必要となるモジュール
の数が自動的に決定される。このことにより、コアでは
演算に必要となる制御を自律的に行なうことができる。
したがって、コア(VC)の使用者は抽象的に部品化さ
れたVCの内部を知る必要がなく、またVCが他のVC
の動作によって破壊(変更)される危険性がない。した
がって、コアの再利用や拡張を容易に行なうことができ
る。
【0083】また、請求項2または6に記載の本発明に
よれば、演算データを取り込んだモジュールの数が演算
精度に対応する迄、データラッチ操作が行なわれ、モジ
ュールの数が不足する場合には、他のユニットにおい
て、同様にデータラッチ操作が行なわれる。このように
データラッチを動的に順次行なうことにより、演算精度
に応じたモジュール数を決定することができる。
【0084】また、請求項3または7に記載の本発明に
よれば、演算結果0を出力するモジュールの数を計数す
ることにより、演算結果の精度範囲が算定される。この
ように特定の演算結果を出力するモジュールの数を計数
することにより、演算結果の精度範囲を算定することが
できる。
【0085】また、請求項4または8に記載の本発明に
よれば、バスの使用権は使用権通知線を介して受け渡さ
れ、また、バスの使用終了通知は終了通知線を介して受
け渡される。したがって、トークンリング方式のように
使用権情報をバス自体を用いて受け渡す方式とは異な
り、バスを用いることなく使用権情報を受け渡すことが
できるので、バスの使用効率を高めることができる。す
なわち、複数コア間のバス調停機構をバスの使用権通知
線とバスの使用終了通知線で構成することにより、トー
クンリング方式のようなバスの使用権情報をバスを介さ
ずに行えるので、バスの使用効率を高めることができ
る。
【図面の簡単な説明】
【図1】本発明の実施の形態における、オブジェクト指
向技術を適用した複数のVCから構成されるSOCを示
すブロック図である。
【図2】オブジェクト指向技術を適用した複数のVCか
ら構成されるSOCを示すブロック図である。
【図3】チップスライス化された演算機構の概要を示す
図である。
【図4】モジュール数の判断と演算データのラッチ機構
を示す図である。
【図5】加算/減算機構におけるモジュールのブロック
図である。
【図6】各モジュールの処理のフローチャートである。
【図7】演算結果の精度判断機構を示す図である。
【図8】本除算モジュ−ルを示す図である。
【図9】1モジュールの各ステップを示す図である。
【図10】除算機構を示す図である。
【図11】処理機構組込形のユニット構成を示す図であ
る。
【図12】除算ユニットの構成図である。
【図13】RSA公開鍵暗号システムを適用したチップの
概要を示す図である。
【図14】実験用ボードの構成を示す図である。
【符号の説明】
1 SOC 2 VC(コア) 3、14 バス 10 nビット加/減算器 11 分周器 12 演算精度の記憶部 13 演算の種類の記憶部 U1〜Un、Ux-1〜Ux+1 ユニット M1〜Mn、M1〜Mm モジュール R 演算データラッチ機構
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 EE07 GG01 GG02 KK08 5B046 AA08 5F064 DD04 DD13 DD31 HH03 HH06 HH10 HH12 HH13 HH14

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 1以上のコアを1チップ上に備え、所定
    機能を起動するメッセージと、この機能に必要となる演
    算データと演算精度とを含むパラメータとを受けて上記
    機能を行なう集積回路であって、 上記コアは複数のユニットを備えると共に、各ユニット
    は上記機能を実行する複数のモジュールを備え、 上記複数のユニットおよび上記複数のモジュールは、そ
    れぞれカスケード接続され、 上記各ユニットは、 上記メッセージが自己宛てのメッセージであるか否かを
    判断し、 上記メッセージが自己宛てであると判断した際、上記演
    算データを取り込んだ上記モジュールの数が上記演算精
    度に対応する迄、上記複数のモジュールにて所定順序で
    上記演算データを取り込むことにより、上記機能に必要
    となるモジュールの数を決定すること、 を特徴とする集積回路。
  2. 【請求項2】 上記各ユニットは、演算データラッチ機
    構を備え、 上記演算データラッチ機構は、 上記演算データを取り込んだ上記モジュールの数が上記
    演算精度に対応する迄、上記複数のモジュールに対して
    所定順序でデータラッチ操作を行ない、 上記モジュールの数が不足する場合には、他のユニット
    の演算データラッチ機構に対して、ラッチ操作のメッセ
    ージを伝送すること、 を特徴とする請求項1に記載の集積回路。
  3. 【請求項3】 上記各ユニットは、上記機能が減算また
    は除算である場合、演算結果0を出力する上記モジュー
    ルの数を上位のモジュールから下位のモジュールに至り
    計数することにより、演算結果の精度範囲を算定するこ
    と、 を特徴とする請求項1または2に記載の集積回路。
  4. 【請求項4】 複数のコアを1チップ上に備えた集積回
    路であって、 上記複数のコアに対して共通に接続されたバスと、 上記複数のコアを巡回的に接続する、上記バスの使用権
    通知線と、 上記各コアの出力を当該コアの上流のコアに入力する、
    上記バスの使用終了通知線とを備え、 上記各コアは、 自己の上流のコアから上記使用権通知線を介して行なわ
    れた出力がHighまたはLowの所定の一方の状態で
    ある場合には、上記バスの使用が可能であると判断し、 自己の上記バスの使用が終了した際には、自己の上記使
    用権通知線を介して行なう出力を上記一方の状態とし、 上記使用終了通知線を介して上記一方の状態の出力が入
    力された場合には、自己の上記使用権通知線を介して行
    なう出力をHighまたはLowの所定の他方の状態と
    すること、 を特徴とする集積回路。
  5. 【請求項5】 1以上のコアを1チップ上に備え、上記
    コアは複数のユニットを備えると共に、各ユニットは上
    記機能を実行する複数のモジュールを備え、上記複数の
    ユニットおよび上記複数のモジュールは、それぞれカス
    ケード接続されて構成され、所定機能を起動するメッセ
    ージと、この機能に必要となる演算データと演算精度と
    を含むパラメータとを受けて上記機能を行なう集積回
    路、に対する制御方法であって、 上記各ユニットにおいて、上記送られたメッセージが自
    己宛てのメッセージであるか否かを判断するメッセージ
    判断工程と、 上記メッセージ判断工程において自己宛てであると判断
    した際、上記演算データを取り込んだ上記モジュールの
    数が上記演算精度に対応する迄、上記複数のモジュール
    にて所定順序で上記演算データを取り込むことにより、
    上記機能に必要となるモジュールの数を決定するモジュ
    ール数決定工程と、 を備えることを特徴とする集積回路の制御方法。
  6. 【請求項6】 上記モジュール数決定工程において、 上記演算データを取り込んだ上記モジュールの数が上記
    演算精度に対応する迄、上記複数のモジュールに対して
    所定順序でデータラッチ操作を行なうデータラッチ操作
    工程と、 上記モジュールの数が不足する場合には、他のユニット
    の演算データラッチ機構に対して、ラッチ操作のメッセ
    ージを伝送するラッチメッセージ伝送工程と、 を備えることを特徴とする請求項5に記載の集積回路の
    制御方法。
  7. 【請求項7】 上記モジュール数決定工程において、上
    記機能が減算または除算である場合、演算結果0を出力
    する上記モジュールの数を上位のモジュールから下位の
    モジュールに至り計数することにより、演算結果の精度
    範囲を決定する精度範囲決定工程、 を備えることを特徴とする請求項5または6に記載の集
    積回路の制御方法。
  8. 【請求項8】 複数のコアを1チップ上に備え、上記複
    数のコアに対して共通に接続されたバスと、上記複数の
    コアを巡回的に接続する、上記バスの使用権通知線と、
    上記各コアの出力を当該コアの上流のコアに入力する、
    上記バスの使用終了通知線とを備えて構成された集積回
    路、に対する制御方法であって、 上記各コアにおいて、自己の上流のコアから上記使用権
    通知線を介して行なわれた出力がHighまたはLow
    の所定の一方の状態である場合には、上記バスの使用が
    可能であると判断する工程と、 自己の上記バスの使用が終了した際には、自己の上記使
    用権通知線を介して行なう出力を上記一方の状態とする
    工程と、 上記使用終了通知線を介して上記一方の状態の出力が入
    力された場合には、自己の上記使用権通知線を介して行
    なう出力をHighまたはLowの所定の他方の状態と
    する工程と、 を備えることを特徴とする集積回路の制御方法。
JP2000308512A 2000-10-06 2000-10-06 集積回路およびその制御方法 Expired - Fee Related JP4328905B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000308512A JP4328905B2 (ja) 2000-10-06 2000-10-06 集積回路およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000308512A JP4328905B2 (ja) 2000-10-06 2000-10-06 集積回路およびその制御方法

Publications (2)

Publication Number Publication Date
JP2002117011A true JP2002117011A (ja) 2002-04-19
JP4328905B2 JP4328905B2 (ja) 2009-09-09

Family

ID=18788807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000308512A Expired - Fee Related JP4328905B2 (ja) 2000-10-06 2000-10-06 集積回路およびその制御方法

Country Status (1)

Country Link
JP (1) JP4328905B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233976A (ja) * 2006-03-03 2007-09-13 Tokyo Denki Univ Ipコア間の通信方法及びそれを使用する集積回路
JP2008102681A (ja) * 2006-10-18 2008-05-01 Tokyo Denki Univ Ipコア及び複合ipコア
JP2010507973A (ja) * 2006-10-24 2010-03-11 ソニー株式会社 オブジェクト指向ハードウエアのためのシステム及び方法
JP2012053507A (ja) * 2010-08-31 2012-03-15 Univ Of Tokyo アクセラレータ及びデータ処理方法
US8516491B2 (en) 2005-09-29 2013-08-20 Fujitsu Limited Multi-core processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516491B2 (en) 2005-09-29 2013-08-20 Fujitsu Limited Multi-core processor
JP2007233976A (ja) * 2006-03-03 2007-09-13 Tokyo Denki Univ Ipコア間の通信方法及びそれを使用する集積回路
JP2008102681A (ja) * 2006-10-18 2008-05-01 Tokyo Denki Univ Ipコア及び複合ipコア
JP2010507973A (ja) * 2006-10-24 2010-03-11 ソニー株式会社 オブジェクト指向ハードウエアのためのシステム及び方法
JP2012053507A (ja) * 2010-08-31 2012-03-15 Univ Of Tokyo アクセラレータ及びデータ処理方法

Also Published As

Publication number Publication date
JP4328905B2 (ja) 2009-09-09

Similar Documents

Publication Publication Date Title
US5742530A (en) Compact microelectronic device for performing modular multiplication and exponentiation over large numbers
US7895460B2 (en) Serially connected processing elements having forward and reverse processing time intervals
EP0917047B1 (en) Apparatus for modular inversion for information security
US8386802B2 (en) Method and apparatus for processing arbitrary key bit length encryption operations with similar efficiencies
JP2002521720A (ja) モジューロ乗算のための回路および方法
Broscius et al. Exploiting parallelism in hardware implementation of the DES
US7046800B1 (en) Scalable methods and apparatus for Montgomery multiplication
Hossain et al. Efficient fpga implementation of modular arithmetic for elliptic curve cryptography
CN101304312B (zh) 一种适用于精简指令集处理器的加密单元
JP2002117011A (ja) 集積回路およびその制御方法
US6377969B1 (en) Method for multiplication in Galois fields using programmable circuits
US6662201B1 (en) Modular arithmetic apparatus and method having high-speed base conversion function
JPH05324277A (ja) 暗号通信方法
US20040091105A1 (en) Apparatus for hyperelliptic-curve cryptography processing
Zimmermann et al. High-performance integer factoring with reconfigurable devices
CN115270155A (zh) 一种获取大数拓展最大公约数的方法及硬件架构
CN114594925A (zh) 适用于sm2加密运算的高效模乘电路及其运算方法
JP2002358010A (ja) べき乗剰余演算器
JP2006139566A (ja) 任意精度演算器、任意精度演算方法、および電子機器
Wang et al. FPGA based unified architecture for public key and private key cryptosystems
EP1504338A1 (en) "emod" a fast modulus calculation for computer systems
JP2008102681A (ja) Ipコア及び複合ipコア
Sandoval et al. Novel algorithms and hardware architectures for montgomery multiplication over gf (p)
Bellemou et al. FPGA implementation of scalar multiplication over Fp for elliptic curve cryptosystem
Agnihotri et al. A NOVEL APPROACH OF TRUE RANDOM NUMBER GENERATION USING VEDIC MULTIPLIER

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050511

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090526

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090601

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees