(Translated by https://www.hiragana.jp/)
Nios II - Wikipedia コンテンツにスキップ

Nios II

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

Nios IIはアルテラFPGAファミリーのために設計せっけいされた32ビット用途ようとのプロセッサアーキテクチャである。Nios IIは、DSPからシステム制御せいぎょまでの幅広はばひろみコンピュータ用途ようとによりてきすように、もとのNiosアーキテクチャをおおきく拡張かくちょうしている。

Nios IIは、ザイリンクスのFPGAようのソフトコアCPUであるMicroBlaze競合きょうごうしている。MicroBlazeとはことなり、Nios IIはサードパーティー知的ちてき所有しょゆうけんプロバイダであるシノプシスのDesignwareをとおしてライセンスをられる。Designwareライセンスにより、設計せっけいしゃはNiosをベースとした設計せっけいをFPGAプラットフォームから、大量たいりょう生産せいさんされるASICデバイスに移行いこうさせることができる。

主要しゅよう機能きのう

[編集へんしゅう]

もとのNiosと同様どうように、Nios IIアーキテクチャは、アルテラのFPGAの構成こうせい可能かのう論理ろんりブロックとメモリブロックで全面ぜんめんてき実装じっそうされたRISCソフトコアである。Nios IIアーキテクチャのソフトコアの特徴とくちょうは、システムの設計せっけいしゃ要求ようきゅうおうじたNios IIコアを指定してい生成せいせいし、特定とくてい用途ようともとめられる仕様しよう適合てきごうさせることができることである。システムの設計せっけいしゃは、Nios IIの基本きほんてき機能きのう拡張かくちょうすることができる。また、あらかじめ定義ていぎされたメモリ管理かんりユニットを追加ついかしたり、カスタム命令めいれいやカスタム周辺しゅうへん機器きき定義ていぎすることもできる。

カスタム命令めいれい

[編集へんしゅう]

Nios II本来ほんらい命令めいれいおなじように、ユーザの定義ていぎした命令めいれいも2までの32ビットのもとレジスタからむことができる。オプションとして32ビットのさきレジスタに結果けっかもどすこともできる。カスタム命令めいれい使つかうことにより、システムの設計せっけいしゃもとめるパフォーマンスに合致がっちするようにシステムのハードウェアをこまかく調整ちょうせいすることができ、設計せっけいしゃ簡単かんたん命令めいれいC言語げんごまたはC++言語げんごによるマクロとしてあつかうことができる。

カスタム周辺しゅうへん機器きき

[編集へんしゅう]

ほとんどのCPUサイクルが特定とくてい部分ぶぶんのコードを実行じっこうしているようなパフォーマンスが致命ちめいてきとなるシステムでは、ユーザの定義ていぎした周辺しゅうへん機器ききは、ソフトウェアによるアルゴリズムをユーザの定義ていぎしたハードウェアによるロジックにうつし、消費しょうひ電力でんりょくとスループットを効率こうりつさせられる可能かのうせいがある。

メモリ管理かんりユニット

[編集へんしゅう]

Quartus 8.0で導入どうにゅうされたMMUオプションにより、Nios IIでハードウェアによるページングとメモリの保護ほご必要ひつようとするLinuxカーネルのようなオペレーティングシステムを実行じっこうさせるようにできる。MMUがない場合ばあい、Niosは単純たんじゅんされた保護ほご仮想かそう記憶きおくモデルを使つかったオペレーティングシステム(たとえばμみゅーClinuxベースのオペレーティングシステムやFreeRTOSしか実行じっこうさせることができない。

メモリ保護ほごユニット

[編集へんしゅう]

Quartus 8.0で導入どうにゅうされたMPU英語えいごばんオプションにより、MMUによって提供ていきょうされる機能きのうているが、より簡素かんそされたモデルをち、MMUによるパフォーマンスが悪化あっかしない、メモリ保護ほご提供ていきょうされる。

Nios II CPUファミリ

[編集へんしゅう]

Nios IIには3しゅことなった設定せっていがある。Nios II/f (高速こうそく)、Nios II/s (標準ひょうじゅん)、Nios II/e (エコノミー) である。

Nios II/fコアはコアサイズがおおきいが最大さいだいパフォーマンスを実現じつげんするように設計せっけいされている。 Nios II/fの機能きのうは、以下いかのようである。

  • 分離ぶんりされた命令めいれいようとデータようのキャッシュ (512Bから64KB)
  • オプションのMMUまたはMPU英語えいごばん
  • 最大さいだい2GBまでの外部がいぶアドレス空間くうかん
  • オプションの命令めいれいとデータのための緊密きんみつ結合けつごうしたメモリ
  • 最大さいだいDMIPS/MHz達成たっせいするための6段階だんかいパイプライン
  • シングルサイクルで実行じっこうできるハードウェアによる乗算じょうざんバレルシフタ
  • オプションのハードウェアによる除算じょざん
  • 動的どうてき分岐ぶんき予測よそく
  • 最大さいだい256のカスタム命令めいれい無制限むせいげんのハードウェアアクセラレータ
  • JTAGデバッグモジュール
  • オプションのハードウェアブレークポイント、データトリガー。リアルタイムトレースをふくんだJTAGデバッグモジュールの拡張かくちょう

Nios II/sコアはパフォーマンスとコストのバランスをたもつように設計せっけいされている。 Nios II/sの機能きのうは、以下いかのようである。

  • 命令めいれいキャッシュ
  • 最大さいだい2GBまでの外部がいぶアドレス空間くうかん
  • オプションの命令めいれいとデータのための緊密きんみつ結合けつごうしたメモリ
  • 6段階だんかいパイプライン
  • 静的せいてき分岐ぶんき予測よそく
  • ハードウェアによる乗算じょうざん除算じょざんバレルシフタ
  • 最大さいだい256のカスタム命令めいれい
  • JTAGデバッグモジュール
  • オプションのハードウェアブレークポイント、データトリガー。リアルタイムトレースをふくんだJTAGデバッグモジュールの拡張かくちょう

Nios II/eコアはFPGAのロジックを可能かのうかぎ最小限さいしょうげん使用しようするように設計せっけいされている。これは、ていコストなCyclone II FPGAを使用しようする場合ばあいとく効率こうりつくなる。Nios II/eの機能きのうは、以下いかのようである。

  • 最大さいだい2GBまでの外部がいぶアドレス空間くうかん
  • JTAGデバッグモジュール
  • 700よりすくない論理ろんり素子そしかず
  • オプションのデバッグよう拡張かくちょう
  • 最大さいだい256のカスタム命令めいれい

Avalon スイッチ・ファブリック・インターフェース

[編集へんしゅう]

Nios IIはAvalonスイッチ・ファブリックをまれた周辺しゅうへん機器ききとのインターフェースとして使用しようしている。唯一ゆいいつのバスマスターが一度いちどバスにアクセスするプロセッサベースシステムにおける従来じゅうらいがたのバスにくらべ、Avalonスイッチ・ファブリックは、スレーブがわ調停ちょうていスキームを使用しようし、複数ふくすうのマスターが同時どうじ操作そうさできるようにしている。

開発かいはつプロセス

[編集へんしゅう]

Nios IIの開発かいはつは、2つの別々べつべつ段階だんかいからなっている。ハードウェアの生成せいせいとソフトウェアの作成さくせいである。

アルテラのEmbedded Developer Suite (EDS)とばれるアプリケーションないにホストされる。EDSは完全かんぜん統合とうごう開発かいはつ環境かんきょうで、ハードウェアとソフトウェアの両方りょうほうを、2つの段階だんかいのいずれでも管理かんりすることができる。

ハードウェアの生成せいせいプロセス

[編集へんしゅう]

Nios IIハードウェアは、SOPC (System-on-a-Programmable-Chip) Builderを使つかって設計せっけいされる。Quartus-IIパッケージのコンポーネントを使つかいNiosシステムの設定せってい生成せいせいをする。設定せっていのためのグラフィカルユーザインタフェース (GUI) によりユーザはNios IIの機能きのうセットを選択せんたくすることができ、周辺しゅうへん機器ききとI/O ブロック (タイマやメモリコントローラ、シリアルインターフェースなど) をむことができる。ハードウェアの使用しようえると、Quartus-IIは合成ごうせい、ターゲットのFPGAシステム全体ぜんたい配置はいち接続せつぞく実装じっそうをする。Quartus-II Web Edition 3.0 パッケージに統合とうごうされている SOPC Builder 3.0は、32ビットのNios IIがまだNiosとばれているころ存在そんざいした[1]

ソフトウェア作成さくせいプロセス

[編集へんしゅう]

Embedded Design Suiteとばれるソフトウェアパッケージが、ソフトウェアの開発かいはつ管理かんりする。Eclipse IDEをベースとしており、EDSはC/C++コンパイラ (GNUツールチェーンをベースとしている)、デバッガ、命令めいれいセットシミュレータかをふくまれている。EDSでは、プログラマはアプリケーションをシミュレーションでテストすることができるし、実際じっさいのFPGAホストにコンパイルみのアプリケーションをダウンロードして実行じっこうすることもできる。

C/C++開発かいはつ環境かんきょうがGCCをベースにしているため、非常ひじょう多数たすうLinuxようオープンソースソフトウェアを、最低限さいていげん修正しゅうせいをするか、修正しゅうせいすることなしにコンパイルすることができる。サードパーティーのオペレーティングシステムもNios IIへ移植いしょくされている。これらにはRTOSであるMicrium uC-OS II、eCosμみゅーClinuxベースのオペレーティングシステム、FreeRTOSがある。

現在げんざい提供ていきょうされていないもとNios英語えいごばんアルテラ最初さいしょFPGA製品せいひんけの構成こうせい可能かのうがた16ビットみプロセッサであった。新規しんき設計せっけいしゃたいして、アルテラは32ビットのNios IIを推奨すいしょうしている。

脚注きゃくちゅう出典しゅってん

[編集へんしゅう]
  1. ^ DesignWave 2003, p. 88.

参考さんこう文献ぶんけん

[編集へんしゅう]
  • 『Design Wave』CQ出版しゅっぱんしゃ、2003ねん10がつ1にち 

参照さんしょう

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]