- 締切済み
ASICの動作
L3スイッチ、L2スイッチはルータやブリッジと比較した場合、ASICというLSIで処理しているので処理速度が速いと書籍に書かれていました。 ASICの概要は調べたのですが、そのASICが実装されてどのようなハードウェアベースでの動作をして処理速度が向上するのかが、わかりません。 どなたか教えていただけませんか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- onosuke
- ベストアンサー率67% (310/456)
ASICそのものの速さ(動作周波数)は、ピンキリなので、 一概に「ASICを利用する」=「早い」となるわけではありません。 ご質問にあるように、 早くパケット処理できるような実装をしているから、パケット処理速度が向上している というのが実態です。 さて、ここで一般的なコンピュータの処理速度に関する話をしましょう。 コンピュータの処理速度を向上させる方法は、大きく分けで2つの手法があります。 1.スケールアップ 2.スケールアウト ITの世界だと、サーバ単位のスケールアップやスケールアウトの話が多いですが、 LSI(プロセッサ)単位でも同様の考え方ができます。 1.LSIのスケールアップ ⇒動作周波数を向上させる ⇒周波数が向上すると、単位時間あたりに反復処理できる回数が増える。 2.LSIのスケールアウト ⇒回路規模を拡大させる ⇒回路規模を拡大すると、処理演算機を増量できる ⇒処理演算機を増量すると、処理並列度が向上し、同時処理できるパケット数が増える。 このうちASICのような専用ハードウェアでよく取られる戦略は、 「2.LSIのスケールアウト」手法です。 ASICのような専用ハードウェアでは、 大量の演算機(窓口)を並列設置して、パケット(お客様)を大量に処理するような 実装がよく行われます。現実世界にたとえると、銀行の窓口のようなイメージですね。 汎用CPUだと、この窓口の数はコア数,スレッド数などと呼ばれています。 intel Core i3/5/7を例に挙げると、窓口は1~4つしかありませんね。 L2/L3スイッチ向け専用ASICの場合、 パケット処理専用の窓口を数十以上設けているので、 汎用CPUに比べると非常に大量のパケットを処理できるわけです。 【まとめ】 ASICのような専用ハードウェアの場合、 LSIの速さを示す動作周波数はそれほど高くなくても、 処理窓口が沢山あるので、パケット処理性能を高くできる。
- irija_bari
- ベストアンサー率73% (70/95)
>素人な解釈なのですが、ASICを必要な処理プログラムどうりの処理をするように設計して、機器に実装しハードウェアレベルでの処理を実現しているということでしょうか? 基本的にはその考え方で正しいと思います。 ただ、ASIC(=専用回路、ここで言うところのL3スイッチ、L2スイッチ)とプロセッサ (=汎用回路、ここで言うところのルータ、ブリッジ)というのはあくまでも相対的な見方で、 プロセッサに比べてASICの方が回路で処理する比率が高く、プログラムで処理する比率が低い というだけです。 ASICだからと言って、必ずしもすべての処理をハードウェアで行っているわけではありません。 むしろLSIと呼ばれる規模の回路であれば、何らかのプログラム処理を行っていると考える方が 自然だと思います。 さて、本題の「そのASICが実装されてどのようなハードウェアベースでの動作をして」いるかですが、 たぶん調べても具体的な話しは出てこないと思います。 ルータはネットワーク処理をプログラムで行っていますが、実際のルータに積まれている プログラムは公開されていませんよね? ネットワークの仕様は決まっているので、その仕様からどのようなプログラムか推測するしかありません。 同様に、スイッチで用いられているハードウェアもネットワークの仕様から推測するしか ないのでは?と思います。
- precog
- ベストアンサー率22% (966/4314)
処理自体はプログラムと同じです。プログラムのように1ステップずつ実行しないので速いだけです。
補足
回答ありがとうございます。 素人な解釈なのですが、ASICを必要な処理プログラムどうりの処理をするように設計して、機器に実装しハードウェアレベルでの処理を実現しているということでしょうか? もし、ぜんぜん違っていたらすいません。