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