第1回 マルチコア・メニーコアとは
マルチコアとはマルチコアプロセッサ(Multicore Processor)のことで、半導体チップ(LSI、SoC)の上に複数のプロセッサを搭載したものです。メニーコアプロセッサ(Manycore Processor)は「たくさんの」プロセッサを搭載したものですが、マルチとメニーの境界は分野の状況に応じて経験的に言われているものであり、学術的に決まっているわけではありません。
コアというのはIPコアのことですが、説明するためには半導体設計の歴史をさかのぼる必要があります。いまから50年程度前は、一つの機能部品、例えばプロセッサ、は複数の半導体チップから構成されていました。その後、半導体の微細化技術、集積化技術が進歩し、1980年代前半には単一の半導体チップに搭載できるようになり、「ワンチップマイコン」といった部品が生まれてきました。それから20年程度経ち、さらに半導体の技術が進歩し、単一の半導体チップに複数部品が搭載可能になったとき、半導体チップに搭載可能な一塊の
回路モジュールを部品製品とするビジネスが産まれてきました。ARMプロセッサはその典型例と言えるでしょう。そのような部品はIPコアと名付けられました。IP(Intellectual Property、知的財産)を有してライセンス可能とした塊、という意味でしょうか。このIPコアが、マルチコアのコアです。
そのため、IPコアはプロセッサだけでなく、例えばUSB回路モジュールなどもIPコアになります。そういうことを考えると、マルチ・プロセッサコアと呼ばれてもよいように思いますし、チップマルチプロセッサ、あるいはその前にワンやオンを付けて呼ぶ人などもおりましたが、今ではマルチコアプロセッサという名前に落ち着いています。また、プロセッサはCPUだけではなく、Graphics ProcessorやAI Processorなどもマルチコアのコアになります。
組込みマルチコアは言葉通り組込み向けのマルチコアです。組込みでない(汎用コンピュータ向けの)マルチコアはほとんどのコアがCPUであることが多いですが、組込み向けは下図のように機器の多様な機能に特化したコアを多種類搭載している場合が多くなっています。そのため、その上で実行されるソフトウェアも単純な並列化だけではなく極めて複雑なものとなり、使いこなすためにはシステム要求からマルチコア仕様を考慮して様々なツールを使いこなして設計していく
必要があり、極めて高度な設計技術が要求されています。
R-Car V4H Block Diagram(ルネサス エレクトロニクス社ホームページより引用、2024年5月5日)
コメントをお書きください