SoC時代におけるマイクロプロセッサの理想的な教育

 では,教育に話を移しましょう.

 マイクロプロセッサの理想的な教育とは,マイクロプロセッサ研究開発そのものだけでなく,「設計者の顔が見えるデザイン」的な開発,すなはち「初めに応用ありき」のように「モチベーションドリブン」的な開発を可能とする,創造的開発,開発方法論,「設計における自由の獲得」,最適化などへの道案内をすることです.

 コンピュータとトランジスタが誕生して半世紀が経ちました.やっとシステム開発者が本領を発揮できるシステム・オン・チップ(SoC)時代になりました.SoC時代には,既成概念や既成組織にとらわれずに自由に活動できる場,創造的開発力,科学(サイエンス)と技術(エンジニアリング)の融合,異分野間の協力が必要な学際的な開発などが基本となります.人間はいろいろな能力を身につけることができますが,SoC時代に養成すべき能力は,創造性を生み出す,本質を見抜き,問題を見つけ出す能力です.

 SoC時代における商品としての製品の開発とは,知識のままの技術を無思想に組み合わせたり,アイデアそのものをそのまま実現するのではなく,開発者の顔が見える知恵を使った創造的開発となるでしょう.

 世界初のマイクロプロセッサ4004の開発にあたって私が強く熱望し実行したことは,応用への具現化,プロセッサを基本にしたプログラム論理方式,LSIのみによるシステム構築,仕様と設計とシステムコストにおける最適化,短い開発期間などでした.マイクロプロセッサ誕生へのもっとも大きな壁は,低性能プロセッサと小容量メモリという悪条件下で,インタプリタを翻訳機能とモニタとして使用し,電卓や事務機向け言語であるマクロ命令を翻訳し実行させつつ数多くのペリフェラル機器をプログラムでリアルタイムに制御するという,ハードウェアとソフトウェアの融合化とインタフェース設計と最適化と開発期間でした.時代を切り開いた技術は,「初めに応用ありき」のように「モチベーションドリブン」的な創造的開発によって誕生しているのです.

 マイクロプロセッサの理想的な教育の基本は,応用における創造的開発の重要性と厳しさと楽しさを教えることでしょう.

 創造的開発とは,未だ世の中に存在していない製品を開発することなので,成功という希望と失敗という不安を抱き合わせて,人跡未踏の荒野を羅針盤ももたずに進むようなものです.

 また,創造的開発とは,芸術と同じく,自分の世界を創り出すことです.

 創造的開発における基本とは,人の歩んだ道を行かないことです.開発こそ我が道と信じ,強い意志をもって,集中力を持続させ,知恵を出し,問題の本質を見きわめ,決断し,自分の個性の発露であるアイデアをたいせつに守り,素早く,自分の道を切り拓くことなのです.

 創造的開発のもう一つの基本は,現状に決して執着しないことです.いままで培った技術やノウハウや経験を捨てることは決して容易なことではありません.しかし,経験という過去と現在を分析し,解析し,昇華させ,エッセンスだけを残し,あとは思い切って捨てるのが成功への一歩です.論文や雑誌を読むのは必要最低限に抑えることが肝要です.解決しなければならない多くの複雑な問題を抱えた応用にこそ,貴重な宝石の原石がいっぱい埋まっているのです.それを見つけ出し,カットし,磨き上げることが,創造的開発であり,技術者の叡智と腕の見せどころであり,開発の面白さなのです.

 新時代の応用製品は誕生し続けています.製品の開発においては,目標に対して仕様を決めることがもっとも重要であって,実現方法は自由であるべきです.自由なところには必ず後世に引き継ぐべき本物の創造的開発があります.応用,アーキテクチャ,実現方法にはいろいろあり,開発の背景とともに,それらを選択肢として使えるように技術史の中で教えることは基本でしょう.

 マイクロプロセッサを使うための教育には,アルゴリズム,命令セット,アーキテクチャ,システムバスと記憶階層,プログラミング言語,OS,性能評価方法などがあります.

 それぞれの技術が性能やコストや開発期間のボトルネックとなっています.良い教材と演習により個々の技術を教えたり,命令シミュレータを使って命令やプログラミングを教えることは十分に可能ですが,システムがプロセッサとメモリで構成されていることを真に理解している人は多くありません.

 SoC時代における教育には,各種のボトルネックを体験し,その重要性を身に付けるため,マイクロプロセッサを含むシステムのシミュレータとGUIが必須となります.システムは全体を把握できる小規模なものが良く,システムとしての性能やコストや開発期間が,応用,ハードウェアの構成,命令アーキテクチャ,OSなどの組み合わせの変更により,どのように影響されるかを体験する教育が必須でしょう.また,シミュレータは,高性能で,サイクルアキュレートで,再構成可能で,命令も追加可能で,理解しやすいものでなければなりません.

 マイクロプロセッサの開発とは,自分の言葉で表現し,開発者の顔が見える開発を行うことです.開発者は諸々の技術や方法論を習得することにより,設計における自由を獲得することができます.そのための教育には,SoC設計,性能ボトルネックを減少させる性能向上技術,設計言語,論理設計,回路設計,レイアウト設計,実装設計,動作環境,コスト計算などがあります.マイクロプロセッサを開発するには,開発期間,開発費,開発技術者,開発支援ツール,消費電力,コストなど,限りあるリソースを使って,仕様の作成,設計言語を使った論理設計,論理合成設計,回路設計,レイアウト設計までの一連の設計を,トップダウンで,シームレスに,最適化しつつ,手を抜かずに,知恵を使って,なま物を取り扱うように,素早く設計することが必要です.

 バランスと最適化への設計には,特定の技術の欠如があってはなりません.難しくなくてもよいので,若い間にひととおりの設計の経験を積むことが,設計の自由への道につながります.良い教材と演習により個々の技術を教えることは十分に可能でしょう.

 理解する能力と使う能力とはまったく異質であり,技術を理解できたからといって使えるわけではありません.

 最近は,論理や回路を知らなくても,VHDL言語のような設計言語を使って機能を何とか表現できるようになりました.ライブラリや書き方に標準化が図られないと,設計の品質や効率が悪くなり,他人が書いたプログラムが読みにくく,設計レビューや管理が困難になります.キャラクタベースの設計言語は,トランジスタやアセンブリ言語と同様に,実現時の自由度はありますが,専門家以外には,思考時には好ましくない言語です.

 そこで,データパス部と制御部で使われる図形表示可能なライブラリを用意すれば機能の実現はもっと容易となり,より高位レベルの設計に時間を使うことができます.

 マイクロプロセッサの設計に関しての理想的な教育とは,トップダウン設計ができるように,ハードウェアアーキテクチャ設計,RTL論理設計,ゲートレベル論理設計,回路設計,レイアウト設計,実装設計などに関して,設計ガイドブックとセルライブラリの立案と作成とレビューを行わせることです.これはたいへんな仕事ですが,技術者を一人前の開発者に導く最良の方法であると思います.

 SoC時代においては,より大きなより複雑な問題をより短期間に解決するために,設計言語の重要性が非常に高くなります.システムからトランジスタまでの設計をトップダウンで行える高性能で簡潔明瞭な,VHDL言語に代わる,新世代の設計言語を獲得しなければならないでしょう

歴史的写真館

〔写真C〕
1969年当時のインテル社


歴史的写真館

〔写真D〕
8ビットマイクロプロセッサ8080
――世界初のPCに使われた


歴史的写真館

〔写真E〕
8080を開発していた当時の嶋氏


インデックス

マイクロプロセッサがもたらした社会と経済の変化
SoC時代におけるマイクロプロセッサの理想的な教育
Java言語を使ったサイクルアキュレイトプロセッサモデリング

今月号特集トップページへ戻る


Copyright 2002 嶋 正利