デジタルとは その2 デジタル社会の普及・それはMPUの開発にあり
現在のデジタル社会とか、一見コンピューターに関わりがない様な機器にも、その制御心臓部にはマイクロプロセッサー(MPUもしくはCPU)が組み込まれている。
これは自動車の例だが、今までコンピューターを使用したECUという機器は、エンジンとATトランスミッションの制御ECU程度だったのだが、現在では必ずしもECUを名乗らない***コントロールユニットとか、ヒューズブロックとかジャンクションブロックの内部に制御用のマイクロプロセッサーが使用されている。そして、これら多数の制御用ECUだとか制御ユニット内のマイクロプロセッサー間で情報を共有したり連携する目的で、CANとかとバスラインで通信する機構が当たり前になっている。
では、何故マイクロプロセッサーというものが開発されたのかの近代史を振り返ってみたい。
世界初のマイクロプロセッサーの開発は、1969年に当時の電卓製造メーカーである日本のビジコンという企業と米インテルが関わることになる。当時、電卓はそろばんとかに変わる日常的な製品として、各製造メーカーの競争は激しく、年々その機能向上がなされいる状態だった。そして、それら機能の向上の都度、新しい専用のハードウェアであるカスタムLSI(こういうある目的のための専用LSIをASICと呼ぶ)を開発し続けていた様だ。
そこで、ビジコン社の要請で、電卓用ICチップセットの開発要請を受けた米インテル社の技術者であるテッド・ホフは、多数のチップを組み合わせるより、一つの演算装置(マイクロプロセッサーで)で、後はソフトウェアの制御で、機能の拡張の余地を残せるという逆提案を受けた。そこで、ビジコンの嶋正利が論理設計を、インテルのフェデリコ・ファジンが回路の物理設計を行い開発したのが初の4ビットマイコンである4004という型番の世界最初のマイクロプロセッサーだったそうだ。
4004のマイコンは、。16ピンの端子を持つLSIで、内蔵トランジスタ数2300個、回路の線幅10μm(0.01mm)、動作クロックは750kHzだったそうだ。それから約50年を経て、細心のインテルやAMDのCPUでは、内部に使用されるトランジスタ数は10億を超し、線幅は極至近にも5nm(nナノはマイクロの1/1000)の製品が出荷予定、駆動クロック数も10年近く前まで一方的に上昇していたのだが、4GHz程度で一応の頭打ち状態になっている。ただし、線幅の微細化はますます進んでおり、CPU1パッケージに多数コアを乗せるマルチコア化は現在普及品でも8コア程度、また論理的(ソフト的なと解釈できる)コア数となるマルチスレッド化も、1コア当りで4スレッドの製品も多く、8コア・6スレッドなどの製品が既に登場している。
このマイクロプロセッサーによる制御の素晴らしいところは、ソフトウェア次第で非常に汎用性に富んだ目的に応用できる処理ができることだろう。つまり、車両の場合で云えば、ハードは同じでもソフトで制御を変えることで機能の変更追加ができるというところにある。ただし、機能の追加としてあまりにも複雑なソフトウェアの処理になると、反復計算などで実効速度が落ちるので、ソフトウェアとしての進歩とハードウェアとしての処理速度は、どちらが先かという問題にある。つまり、今までソフトウェアとしては実現可能と判っていても、その処理時間から採用できないとか、ソフトウェアで新たなアルゴリズムの手法が編み出されても、現状のハードの処理速度では、実現できないと云う問題が、ハードウェアとしての処理速度が上がることで実現かのうになるという相反する関係がある。
実際、車両の中でも、ある種の処理に、ソフトウェア処理だとタイムラグが大きくなり過ぎるので、その処理だけに専用のハードウェアチップを使用しているという場合がある。
なお、PCなどでモニターの描画処理を行うにはGPUという画像専用のCPU処理回路を使うのだが、これがCPUに内蔵されている場合と、別途のGPU専用回路基板を持つものがある。モニター描画はさほど複雑な計算処理は必用ないが、低遅延で駆動しないと、最近流行の4Kなど多素化したモニターであるほど動画などの画面描画が追い付かなく正常に描画しきれなくなってくる。そのため、高速描画に特化したGPUはCPUのコア数とは桁違いに多い製品があり、ハイエンド製品ではコア数1万を超えるものまである。
現在のデジタル社会とか、一見コンピューターに関わりがない様な機器にも、その制御心臓部にはマイクロプロセッサー(MPUもしくはCPU)が組み込まれている。
これは自動車の例だが、今までコンピューターを使用したECUという機器は、エンジンとATトランスミッションの制御ECU程度だったのだが、現在では必ずしもECUを名乗らない***コントロールユニットとか、ヒューズブロックとかジャンクションブロックの内部に制御用のマイクロプロセッサーが使用されている。そして、これら多数の制御用ECUだとか制御ユニット内のマイクロプロセッサー間で情報を共有したり連携する目的で、CANとかとバスラインで通信する機構が当たり前になっている。
では、何故マイクロプロセッサーというものが開発されたのかの近代史を振り返ってみたい。
世界初のマイクロプロセッサーの開発は、1969年に当時の電卓製造メーカーである日本のビジコンという企業と米インテルが関わることになる。当時、電卓はそろばんとかに変わる日常的な製品として、各製造メーカーの競争は激しく、年々その機能向上がなされいる状態だった。そして、それら機能の向上の都度、新しい専用のハードウェアであるカスタムLSI(こういうある目的のための専用LSIをASICと呼ぶ)を開発し続けていた様だ。
そこで、ビジコン社の要請で、電卓用ICチップセットの開発要請を受けた米インテル社の技術者であるテッド・ホフは、多数のチップを組み合わせるより、一つの演算装置(マイクロプロセッサーで)で、後はソフトウェアの制御で、機能の拡張の余地を残せるという逆提案を受けた。そこで、ビジコンの嶋正利が論理設計を、インテルのフェデリコ・ファジンが回路の物理設計を行い開発したのが初の4ビットマイコンである4004という型番の世界最初のマイクロプロセッサーだったそうだ。
4004のマイコンは、。16ピンの端子を持つLSIで、内蔵トランジスタ数2300個、回路の線幅10μm(0.01mm)、動作クロックは750kHzだったそうだ。それから約50年を経て、細心のインテルやAMDのCPUでは、内部に使用されるトランジスタ数は10億を超し、線幅は極至近にも5nm(nナノはマイクロの1/1000)の製品が出荷予定、駆動クロック数も10年近く前まで一方的に上昇していたのだが、4GHz程度で一応の頭打ち状態になっている。ただし、線幅の微細化はますます進んでおり、CPU1パッケージに多数コアを乗せるマルチコア化は現在普及品でも8コア程度、また論理的(ソフト的なと解釈できる)コア数となるマルチスレッド化も、1コア当りで4スレッドの製品も多く、8コア・6スレッドなどの製品が既に登場している。
このマイクロプロセッサーによる制御の素晴らしいところは、ソフトウェア次第で非常に汎用性に富んだ目的に応用できる処理ができることだろう。つまり、車両の場合で云えば、ハードは同じでもソフトで制御を変えることで機能の変更追加ができるというところにある。ただし、機能の追加としてあまりにも複雑なソフトウェアの処理になると、反復計算などで実効速度が落ちるので、ソフトウェアとしての進歩とハードウェアとしての処理速度は、どちらが先かという問題にある。つまり、今までソフトウェアとしては実現可能と判っていても、その処理時間から採用できないとか、ソフトウェアで新たなアルゴリズムの手法が編み出されても、現状のハードの処理速度では、実現できないと云う問題が、ハードウェアとしての処理速度が上がることで実現かのうになるという相反する関係がある。
実際、車両の中でも、ある種の処理に、ソフトウェア処理だとタイムラグが大きくなり過ぎるので、その処理だけに専用のハードウェアチップを使用しているという場合がある。
なお、PCなどでモニターの描画処理を行うにはGPUという画像専用のCPU処理回路を使うのだが、これがCPUに内蔵されている場合と、別途のGPU専用回路基板を持つものがある。モニター描画はさほど複雑な計算処理は必用ないが、低遅延で駆動しないと、最近流行の4Kなど多素化したモニターであるほど動画などの画面描画が追い付かなく正常に描画しきれなくなってくる。そのため、高速描画に特化したGPUはCPUのコア数とは桁違いに多い製品があり、ハイエンド製品ではコア数1万を超えるものまである。