システムアーキテクチャ設計者の育成

  • By Sundari Mitra
  • 24th 3 2016

私は、MSEE(電気工学理学修士号)を取得したイリノイ州大学アーバナ・シャンペーン校で、若い学生を指導しています。話を聞いてみると、彼らはICチップのアーキテクチャに関わる仕事に応募するのだという答えが返ってきます。ですが、情報工学の学位を取っていざ卒業すると、彼らは皆、検証の仕事に就くのです。アーキテクチャの仕事ではなく、検証の仕事に就くのはなぜでしょうか?それは、彼らが完全なアーキテクチャについて理解していないからです。彼らはコンピュータアーキテクチャの授業を取ったので、その仕事をする資格があると思っているのです。ですが、彼らが使用しているアーキテクチャの教科書は、私が20年前に持っていたものと同じなのです。ですから、この情報は更新する必要があります。

半導体業界は、変化の途上にあると思います。現在私たちは、機能ブロックではなく、ICチップ上にシステムを構築しています。マイクロプロセッサを構築する時代は終わりました。今では、PCB上にあったさまざまなICチップを1つのソケットに統合することが主な作業になっています。そのソケットが、システムオンチップです。

優れたシステム設計者は、エンドアプリケーションをアーキテクチャの視点から見ることのできる人です。意図したエンドアプリケーションを理解できなければ、その特定の用途に適したものをどのように設計したらいいのかわかりません。誤ったトレードオフを行ってしまいます。

優れたアーキテクチャ設計者は、コンピュータアーキテクチャ、コンパイラ、そしてデータ構造についてよく理解しています。彼らは、これらすべてがどのように機能し、どのようなワークロードがあるかを理解しているのです。サーバクラスのマシン向けSoCを設計したことのある人と話をすれば、彼らがデータパスとメモリ管理ユニットのことだけを考えているのではないことがわかります。彼らははるかに高いレベルに着目しているのです。つまり、対応する必要のあるベンチマークが何であるかや、各ベンチマークがシステムにどのような負荷を与えるかについて考えているのです。

ほとんどの企業、特に大企業は、幅広く、深い知識を持つ経験豊富なアーキテクチャ設計者を採用することを望んでいます。これらの企業は、複雑なサブシステムを統合するにあたってこれらを十分に理解している、システムレベルの観点を持ったアーキテクチャ設計者を求めています。アーキテクチャ設計者に、非常に深い知識は必ずしも必要ありません。必要に応じて専門家の支援を求めれば済むことだからです。ただし、設計に関して正しい決定を行うための十分な知識を持っている必要があります。ハードウェアに関して誤った決定を行った場合、その誤ったハードウェアの決定をサポートするためにソフトウェアに及ぶ影響は多大なものになります。それによって性能が大きく低下してしまいます。

大学は若いエンジニアが必要とする基礎知識を提供しますが、システムアーキテクチャに関しては経験に代わるものはないと私は考えています。教育機関にはカリキュラムの見直しをして欲しいと思います。たとえば、学生に浮動小数点ユニットを実装させる代わりに、一部のソフトウェアをFPGAに代行させるのです。これにより、EDAを中心とした視野ではなく、システムを中心とした視野を持つことができるようになります。ただし、当面は、現在の人材に投資し、優れたアーキテクチャ設計者になるためのツールと経験を提供する必要があります。

Request A Demo

ajaxloader

Crafted @ Lollypop.biz