長い語長を持つ剰余演算アルゴリズムおよび剰余演算システムについて、Sined-Digit(SD)数を用いた演算の高速化、演算回数の最小化および演算回路の並列化を研究目的とした。 SD数表現の符号化などを検討し、回路コストと遅延時間に最適な剰余加算回路構成を考察した。2進SD数の3値を2値符号の2ビットで表現することについて、すべての符号化可能な組み合わせの回路設計と性能評価を実施した。長い語長の剰余乗算について、新しい符号化を使用した直列型剰余乗算回路を工夫した。具体的に、以前提案した剰余SD数加算をさらに高速化するため、両方の演算数が最小SD数表現となるCSD数表現、または、片方の演算数がCSD数表現を用いた場合、演算回路の実現方法を検討した。最小SD数表現を用いることにより、ハードウェア規模と動作周波数との両方においても性能が最大50%に改善可能となる。さらに、これらの演算アルゴリズムおよび演算回路を、長い語長の剰余べき乗演算のRSA暗号化処理回路に適用した。2024ビットの語長でも、1つのVLSIチップ上で回路実装ができ、CSD数表現を用いた場合、一層高速の処理が得られる。 SD数表現から最小SD数を求めるアルゴリズムを提案した。本研究で、SD数表現を最小SD数表現へ変換するアルゴリズムおよび演算回路の設計を行い、剰余数系に使われた場合でも、得られたSD数が最小SD数表現となることを証明した。 長い語長を有する算術演算を語長の短い剰余演算により実現するため、剰余数系の数表現と重み数表現との相互変換アルゴリズムを提案した。また、CSD数表現を用いた剰余乗算や剰余平方演算の高速アルゴリズムの提案と回路実装を行った。高信頼算術演算システムのエラー検出回路を提案した。現在、長い語長の剰余乗算逆数を求めるため、CSD数表現を用いた高速剰余加算による実現方法を検討している。
|