セリーヌ tシャツ パロディセリーヌ tシャツ コピーセリーヌ tシャツ コーデ 忍者ブログ

仕事で役立つ人気ビジネスアプリおすすめ!

ビジネスマン必見!おすすめのビジネス管理ツールアプリを、独自のランキングと口コミでピックアップ!縦横無尽に使いこなせば、仕事の効率アップ間違いなし!
[5858]  [5857]  [5856]  [5855]  [5854]  [5853]  [5852]  [5851]  [5850]  [5849]  [5848

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コンピュータアーキテクチャの話 (77) アダーの実装に関して

コンピュータアーキテクチャの話 (77) アダーの実装に関して 

 また、以上の説明では、プリフィックス計算ボックスなどの論理はANDやORなどを用いて記述して来たが、実際にCMOSで作るとなると、インバータとNANDやNORを用いることになる。CMOSを用いて、プリフィックスボックスの論理に忠実に作ると、次の図の左側のような回路となる。

 Prefix演算ボックスの実現方法。左側は、NANDやAND-OR-INVゲートにインバータを接続してP、Gを生成、右側は、1段目からは*P、*Gを出力し、2段目はDeMorganの定理で相補的な論理を作りP、Gを生成

 一方、右側の回路では、1段目は*P、*Gと反転した信号を出力し、2段目は当コラムの46回目で説明したDeMorganの定理を利用して*P、*G入力からP、Gを出力する論理を作ると、図のようにANDとORを入れ替えた論理回路図になる。右側の実装の方が通過ゲート段数は少ないが、どちらが速いかは1段目の出力のファンナウトと1段目と2段目の間の配線負荷の大きさに依存し、一般論として、負荷が小さいなら右側、負荷が大きい場合は左側の方が高速である。そして、更に負荷が大きい場合には、論理は右側の構成として、インバータ2段を直列に接続したバッファでドライブパワーを稼ぐ方が高速というケースもあり、アダーを高速にするには、最適な論理とゲートやバッファのサイズの最適化などのチューニングも重要である。

 アダーの実現に必要な回路量であるが、入力側にPi、Gi、Ai(+)Biを作る回路、出力側にAi(+)Bi にCi-1を加算するXOR回路が必要であり、それに加えてプリフィックスの計算回路が必要となる。これまで見てきたように、プリフィックスを計算する回路の作り方は色々な方式があるが、例えばNビット幅のKogge-Stoneアダーの場合は、ボックスの段数がlog2(N)、幅がNビット分であるが、空きがN-1個であるので、N*(log2N-1)+1個のプリフィックス計算ボックスが必要となる。XORゲートは2入力NAND 4個分、ボックスやP,G計算回路も2入力NAND 4個分程度である。従ってアダー全体のゲート数は、2入力NAND換算で、

(4+4)*N + 4*(Log2(N)-1)*N +4 + 4*N = (8+log2N)*N+4

 程度のゲートが必要となる。これにNの値を代入すると、32ビットアダーの場合は420ゲート、64ビットアダーの場合は900ゲートとなる。但し、これにはバッファなどに必要なゲート数は含んでいないので、前記のような高速化のチューニングを行う場合は20%程度の物量増加を見込む必要がある。

 以上で、加算器の話は終わりである。なお、減算は当コラムの第52回で述べたように、2の補数表現を用いると、入力とキャリーインを否定して加算することで実現できるので、別個の演算器として取り上げることはせず、次は乗算器の設計を考えてみよう。

PR
Submit Comment
name
title
color
mail
URL
comment
password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
Xilinx、不揮発性FPGA「Spartan-3AN」のスタータキットを発売 HOME 韓国にロボット展示販売スペース「ROBOT & ROBOT」がオープン (1) 韓国のロボット事情
HN:
上原健二
性別:
非公開
RSS
P R
忍者ブログ [PR]
Template by repe