計算機システム

「ざっくり」計算でコンピュータ回路の負担軽減!

多和田雅師先生 早稲田大学 基幹理工学部 情報通信学科

高性能計算機、いわゆるコンピュータを動かすための大規模集積回路(LSI)の基本原理や設計を学ぶ計算機システム分野。その中でも多和田先生は、新しい数学的な方法を使って、コンピュータに負担をかけることなくサクサク動かすことができる回路の設計を研究しています。

コンピュータが正確に動く。これに越したことはありません。しかし、そのために、精密な計算処理をすればするほど困ってしまうこともあります。それはなぜか?計算量が多くなって時間がかかり、消費電力が大きくなってしまうからです。そこで、計算結果の正確さを犠牲にすることで、計算時間を短くしたり消費電力を向上させたりするという設計技術があります。私はコンピュータに「ざっくりと」計算させる設計方法を研究し、特に「ストキャスティック・コンピューティング」(Stochastic Computing)という方法に注目しています。「ストキャスティック」とは、「確率的」という意味です。

 

コンピュータの回路はすべて「二進法」、つまり0と1の二つの数の組み合わせで表現される命令に従って動いています。例えば、0011という数値があったとします。私たちが使っている一般的なコンピュータでは、この4桁の中に1がいくつ、そしてどこにあるのかを厳密に分けて考えます。1の意味は右から2の0乗、2の1乗、2の2乗、2の3乗です。0011だったら2の0乗と1乗のところに1があるので、足して3という計算です。つまり一桁目の1と二桁目の1は意味がちがうのです。

 

しかし、私のすすめる確率的な計算の方法では、1の数は重要ですが、場所は関係がありません。4桁の数字の中に1がいくつあるのか、という考え方です。つまり0011と0110は共に1が二つあるので、この二つは両方とも4分の2となります。こうすることで、例えば00101101と11101011という2つの数を掛け算回路で計算するとき、普通のコンピュータだったらもっと複雑な計算が必要になりますが、単純に1の数を数えて8分の4×8分の6=8分の3という計算ができるようになります。

 

 

こうすることで、例えば00101101と11101011という2つの数を掛け算回路で計算するとき、普通のコンピュータだったらもっと複雑な計算が必要になりますが、単純に1の数を数えて8分の4×8分の6=8分の3という計算ができるようになります。

 

これを白黒画像の処理に置き換えて考えてみましょう。一般的な白黒画像処理では、「真っ白」と「真っ黒」の間に256段階もの数値で表される色が存在します。しかし、確率的な計算の方法では、厳密に色を分けず、真っ白か真っ黒の二種類にしか分けません。これらを何枚か合わせて判断すれば、画像は多少粗くなりますが、何の画像なのかわからないということはありません。正確さ(=厳密さ)を欠く分、回路は単純化され、画像処理にかかる時間は短縮できて消費電力も少なく済むのです。

 

 

おおざっぱだけれど、全体としては問題は起こらない、そんな数学的方法を用いた独自の方法で研究をしています。