ムーアの法則の恩恵を一番享受したデバイス
図3上側はPALの基本的な概念図(実際には4入力・4出力のデバイスは存在しなかったはず)であるが、縦の配線は入力信号、横の配線がANDの配線となる。入力信号はそのままとNOTを介したものの両方が用意される形だ。
水色の部分が回路を入力するところである。その回路の詳細が図3の下側である。縦配線と横配線をつなぐ形でヒューズが入っているのがわかるかと思う。このヒューズをOn/Offすることで、どの信号をどのANDに入力するかを選択できるというわけだ。
このANDユニットの後にはORユニットが用意されており、ANDとORを組み合わせる(さらに信号はそのままと、NOT付きが用意される)ので、これを組み合わせて図1や図2の表にあたるものを実装しようというわけだ。
ちなみに図3の構造は、PAL風に言うならば8R4(8入力、4出力)に相当するが、実際には16R8や22R10など、もっと入出力が多い構成が一般的である。
下の画像はPAL16R8の内部回路である。フリップフロップが付いて後段でラッチできるなどの違いはあるが、基本的には図3の回路そのままなのがおわかりいただけよう。
画像の出典は、AMDが1996年2月にリリースしたPAL16R8 Familyのデータシートより
このPALのアイディアはあっというまに広がり、PLA(ANDだけでなくOR側もプログラム可能)、GAL(AND/ORのプログラムが可能なほか、OR出力をAND入力にできる)など機能が増えた。
また当初はロジックのプログラミングは文字通りのヒューズ式で、一度書き込むと二度と上書きができないものだったが、EPROMと同じ方法で紫外線によるプログラム消去と電気的な再プログラミングを可能にしたものや、EEPROM同様に電気式消去/再プログラミングが可能なもの(GALがこれに相当する)など、さまざまな製品が出てきた。
画像の出典は、“アルテラの設立当初を振り返る”
やがて、このPALやGALを複数搭載して大規模な回路を作れるCPLD(Complex Programmable Logic Device)も登場している。
ではFPGAとはなにか? というと、また表に話が戻る。配線の組み合わせを駆使して表を実現しようとするから話が難しいのであって、表を表のまま保持してそれを見て出力を決めれば話は簡単になる。
例えば図1/2の表であれば、入力が4bit、出力が3bitだから1行あたり7bitになる。なのでこれを16行分、容量にして112bitのテーブル(これをLUT:Look Up Tableと称する)をSRAMの形で保持しておく。
入力はそのままテーブルのアドレスとみなせるので、入力値にあわせたアドレスのテーブルに格納された出力の3bit分をそのままアウトプットとして出力すれば処理が終わる。
このFPGAは、基本SRAMだけで構成できるため、プロセスの微細化の恩恵を受けやすい。つまりプロセスを微細化すればそれだけ多くのSRAMを利用可能で、より大規模な回路が構成できることになる。
また90nmあたりからは多少スピードダウンしてきたが、それまでは微細化すればそのまま動作周波数があがり、消費電力が減るというムーアの法則の恩恵を一番享受したデバイスかもしれない。
もちろん単純なLUTだけですべてを構成させるのは無駄が多いため、専用回路もどんどん増えてきた。例えばバッファ用メモリー(※)や、DSPユニット、高速なI/Fなどで、やや前からはARMのプロセッサーを搭載しているモデルも出てきた。
※:これもSRAMだが、LUTベースでSRAMセルを再構築するのはバカバカしいので、メモリー専用のSRAMも用意されるようになった。
Xilinxが昨年末に出荷を開始したZynq UltraScale+MPSoCというシリーズ(製造プロセスはTSMCの16FF+)の場合、ハイエンドだとCortex-A53(1.5GHz)×4にCortex-R5(600MHz)×2という6つのCPUコアと、ARM Mali-400MP2(667MHz)のGPUコア、さらに周辺回路(DDR3/DDR4/LPDDR4 I/F、PCIe、USB、SATA、DP、GbEなど)を搭載し、それとは別に最大50万4000個のLC(Logic Cell:LUTに相当するもの)と38MbitのオンチップSRAM、1728個のDSPなどを搭載するに至っている。
またアナログ回路を搭載したFPGAもあり(旧Actel、現MicrosemiのSmartFusion 2シリーズがこの代表例)、さまざまな用途に利用できるようになっている。
※お詫びと訂正:図3とそれに伴う本文の一部に誤りがありました。正しい表記に訂正し、お詫びいたします。(2016年6月6日)
この連載の記事
-
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU -
第789回
PC
切り捨てられた部門が再始動して作り上げたAmpereOne Hot Chips 2024で注目を浴びたオモシロCPU -
第788回
PC
Meteor Lakeを凌駕する性能のQualcomm「Oryon」 Hot Chips 2024で注目を浴びたオモシロCPU -
第787回
PC
いまだに解決しないRaptor Lake故障問題の現状 インテル CPUロードマップ - この連載の一覧へ