Chapter2 後半 - 東京理科大学 情報科学科 滝本

Chapter2 後半
6311607 石川航大
2.2
再プログラム可能性、ハードウェア記述言語、
FPGAの台頭
1980年代中期から後期に起こった劇的な変化


プログラム可能論理の適用方法
ソフトウェア計算のハードウェアアクセラレーション

ハードウェアアクセラレーション

ある機能を通常のCPU上で実行するよりも高速で行うためにCPUに付加的
なハードウェアを使用すること
この変化は3つの要素によって起こされた

①
②
③
2
再プログラム可能性
柔軟なアーキテクチャの相互連結
標準的なハードウェア記述言語による電気回路の結合
再プログラム可能とは







論理回路を新しいプログラムのデータで上書きできる
プログラム可能論理装置の中で重要な進歩
複雑なシステムを作るハードウェア設計者に関わりがある
システムを迅速に開発でき、原型の試験ができる
ソフトウェアとPROMベースのファームウェアの
フィールドアップグレードを提供
PROM(Programmable ROM)
通常時はデータを書き込めないが特定の手順で
書き込み可能なROMの一種
フィールドアップグレードにより




3
設計者によるバグ修正
標準仕様変更への対応
機器のアップグレードやサービス追加
FPGA表されたより柔軟なアーキテクチャ



Xilinx
Altera Corporation
以前に存在したものより高い論理容量と汎用的な機能


ハードウェアで直接複雑な計算を実行できる
開発者に抽象度の高いレベルでの作業を可能にした



強力な論理合成ソフトウェアツールの出現と発展
VHDLとVerilogと言うハードウェア記述言語の標準化
低レベルの論理ゲート等のアルゴリズムの実際の実装の詳
細は設計ツールから離れた

4

VHDLやVerilogのコードはプログラム言語のように抽象的

ハードウェアの実際の編集の為に意図されている場合





5
プログラマはハードウェアの基本的な知識を持っていてほしい
特に論理クロックが低レベルレジスタで実行されているか
設計者がクロック境界について理解し、
アプリケーションのクロックの振る舞いの定義を書く必要がある
クロック
CPUなど一定の波長を持って動作する回路が処理の歩調を合わせるた
めの信号。論理クロックは内部で一貫性が取れている。
1990年代の始め


プログラム可能論理装置が高性能なソフトウェアアルゴリズムと
完全なアプリケーションをハードウェアに直接実装できる
1990年代の研究


ムーアの法則とロックステップ式を利用した装置を使うとアルゴ
リズムの促進の大きな可能性がある

ムーアの法則
集積回路上のトランジスタ数は18ヶ月ごとに倍になる
ロックステップ式
2つのプロセッサで同じ処理を実行しその差を検出する

6
CISCやRISCは低いシリコン効率に苦しみ続けている

トランジスタが任意の時点で有用な仕事が出来る割合

世紀の変わり目でもFPGAの主な用途は従来のハードウェア機能に
あった

コントローラやインタフェイス
周辺機器との統合性


2つの進歩が組み合わさった

①
②
すべての機能が組み込まれたFPGAプロセッサコアの有効性
ソフトウェアからハードウェアへのコンパイラツールの有効性
FPGAに基づくコンピュータの利用を実用的にするため
FPGAプロセッサコア






7
FPGA内に組み込まれたCPU
XilinxのMicroBlazeとPowerPCのコア
AlteraのNios NiosⅡプロセッサコア
他のサードパーティ製のもの
2.3 System on a Programmable Chip
組み込みIPコアが一般的になってきた

複雑性が低いマイクロプロセッサとマイクロコントローラが
サードパーティから供給
 特許使用料がいらないオープンソースのコア

IPコア
集積回路を構成するための部分的な回路情報で、
特に機能単位でまとめられているもの
他の周辺装置と関連付けられたコア


8,16ビットコントローラ、UART、IO装置
等を組み合わせてシステムを構築できる
8
組み込みシステムの設計者は従来の専用の
コントローラの使用を控える



Zilog Z-80 , Intel 8051 , PIC
代わりにプログラム可能ハードウェアの中で
直接プロセッサが実行する

アセンブリ言語の使用の著作権の権利が無いから
オリジナルプロセッサの開発者や供給者の収益に影響が出た
FPGAの売り手はFPGAを最適化する32ビットのプロセ
ッサコアの所有権を作った


9
開発コストを数千ドルにした

XilinxとAlteraは汎用プログラム可能なFPGAの
ハイブリッドプロセッサを作った



標準的な32ビットプロセッサと繋がっている(PowerPC ARM)
FPGA構造が増えるに従って実装できる
システムの種類が際限なくなることが明らかになった
オンチップのインタフェイスが標準的
FPGAベースのシステムオンチップの一般的な支持が制限

複数の売り手からの組合せコアの挑戦




Avalonの使用促進
SOPCのソフトウェアツールを簡単な選択方法と関係付ける
Alteraとサードパーティのコアの数の増加を結びつける
Xilinxも同じような能力を提供した


10
Xilinxのプラットフォームスタジオソフトウェア
OPB(On-chip Peripheral Bus)

高性能な組み込みアプリケーションを可能にする





組み込みシステムの設計者にとって




複数のカスタマイズされた組み込みプロセッサ
他のサードパーティのIPコア
汎用プログラム可能論理資源
プログラム可能ハードウェアの素早いアセンブル能力
欠落している新しいハードウェア機能を作成する方法
IPコアでそれらを統合する方法
ハードウェアの設計技術が要求されない
コンパイラツールが役割を果たし始めている
11
より高速で高性能な試作品に向かって

FPGAが与える事

任意のハードウェア構造を作る
スイッチドファブリックを使った構造を繋げられる

スイッチドファブリック

複数のネットワークスイッチを介して相互に接続されたネットワーク
構成

プラットフォームの柔軟性はアルゴリズムの性能を増やす
特に並列処理を使用できるアルゴリズム
12

コンパイラが試作品を作る環境を良くする


C言語コンパイラを既存の設計フローに導入



アプリケーションがFPGAに直接コンパイルすることを許す
同じ設計のデバッグと検証が早くなる
別の設計方針による動く試作品を作ることが可能に
C言語からハードウェアへのツールが発達する
ハードウェア記述言語レベルの大きなアプリケーションの実用性
 And/or回路を不規則型に使用されることが少なくなる
 入力言語がCや他の並列プログラムに適切な言語であっても
13
2.4 並列コンピューティングのためのFPGA

高性能なコンピュータの利用の研究



FPGAで作られた大量の並列カスタムコンピューティングエンジ
ンは
ハードウェアや組み込みシステム設計の分野外の未来の
アプリケーションにおいて重要な役割になる
スーパーコンピュータクラスの性能は汎用のスーパーコンピュー
タの
ハードウェアの費用の一部で多くの重要なタスクを手に入れる
研究の共通要素は比較的小さな配列について


14
独立同期したプロセスの要素はデータストリームやメッセージン
グ指向コミュニケーションによってつながった
独立同期の考えを使うと半自動プロセス要素は大きな柔軟性の
FPGAに基づいた再構成可能なコンピューティング手法によく適
合する
再構成可能なコンピュータの利用とFPGA

再構成可能なコンピュータの利用




GeraldEstrinの発表した論文



高い柔軟性を利用して高性能な計算を行う
データパスを作ることと制御フローを変更できるようにする
1960年代から研究されている
コンピュータアーキテクチャを再構成可能なハードウェアの要素
の配列に統合された標準のプロセッサで構成する
再構成可能なハードウェアのシステムでは専用のハードウェアの
特定のタスクを実行するために動的に再構成する
これらのアイディアは実用的な実装につながらなかった

15
ハードウェアの動的生成のための機能が存在しなかった


FPGAが紹介された1980年代から動的に再構成可能な
コンピュータを低コストで作成する研究が行われている
再構成可能なコンピュータの利用はFPGAに限られない



これらのアーキテクチャでは汎用のマイクロプロセッサの
代わりにはならない


FPGAや標準的なプロセッサの間の何処かにある新しい装置
これらのプログラム可能装置はFPGAの柔軟性とプロセッサの
ソフトウェアのプログラム可能性の両方の見込みがある
高並列でハードウェアベースの統一的なプログラミング方法論は
まだない
このような方法論は新技術が広く普及できるように
することが重要
16
2.5 Summary

このチャプターの内容




17
プログラム可能ハードウェアの歴史
1960年代後半から今日のFPGAの時代まで
設計ツールの進歩
プログラム可能ハードウェアの広範囲での使用
FPGAが並列プログラミングツールや方法の開発と並行
して進化していく事は明らか