ファーウェイの自主開発SoC「麒麟」は7nm相当であり、iPhone用のA17と比べると2世代遅れている。しかし、それでいながら、性能はiPhoneにかなり近いところまできている。それはハイパースレッドという技術が採用されているからだと小伊評科技が報じた。
米国を驚かせた自主開発のSoC「麒麟」
ファーウェイが米国の技術を使わずに、独自技術だけで開発をしたスマートフォンの心臓部SoC(システムオンチップ)「麒麟9000S」とその後継モデル「麒麟9010」。これにより、ファーウェイは中国のスマホ市場で見事な復活を遂げた。米国が、ファーウェイに対してチップ制裁を行なってわずか3年、SoCの自主開発に成功したことは世界を驚かせた。
技術は2世代遅れでも、スマホ性能が高い秘密
しかし、麒麟9000Sは「7nm相当」であり、最先端SoCであるアップルのA17 Proの3nmと比べると2世代ほど遅れている。SoCの技術が遅れているということは、それがそのまま性能差になって現れるため、最終製品であるスマホの性能にも直接関わってくる。しかし、中国では9010を搭載したファーウェイのスマホと最先端SoC「A16」(4nm)を搭載したiPhone 14で、大きな性能さを感じている人はいない。ベンチーマークテストでも、麒麟はAシリーズよりは落ちるものの、2世代も差があるほどの開きはない。せいぜい1世代か、0.5世代だという人もいる。
この差を埋めているのは、ファーウェイが麒麟の設計にハイパースレッドという技術を使って、遅れている製造能力の差を埋めているからだ。
複数のCPUを組み込んだマルチコアSoC
携帯電話やPCの心臓部である演算制御ユニットは、昔はCPU(Central Processing Unit=中央処理装置)と呼ばれていた。より複雑で高速な処理が求められるようになると、マルチコアというアイディアが採用された。その名のとおり、1つのチップに複数のCPUを入れて、複数のタスクを同時並行で処理することにより性能をあげるというわかりやすい発想だ。お店の人手が足りなくなったので、スタッフを増やすということに相当をする。
さらに、チップにはセンサーやその処理回路も組み込まれ、スマホが必要としている処理はすべて1枚のチップの中で完結するようになっていった。ここまでくると、もはやCPUと呼び方がふさわしくないため、SoC(System on Chip=チップ化されたシステム)と呼ばれるようになる。
性能差を埋める技術「ハイパースレッド」
さらに複雑で高速の処理が求められるようになると、コア数も増えていった。アップルのA16の場合、CPUが6コアであり、GPUも6コア、さらにAI演算用に16コアある。つまり、iPhoneは昔の感覚でいえば、あの小さなスマホの中に6台のPCが入っているようなものなのだ。麒麟9010も6コアであり、基本的な部分はA16と変わらない。
だとすれば、7nm相当という2世代遅れの麒麟9010は、4nmのA16と比べて集積度で劣り、性能が劣っておかしくないのだが、その差は小さい。
その理由は、麒麟9010がハイパースレッドという技術を採用しているからだ。
ひとつのコアに同時に複数のタスクを実行させる
マルチコアは、お店のスタッフの人数を増やして、多くの仕事をこなそうという発想。しかし、それぞれのコアは、意外に待ち時間がある。CPUの命令スピードから見ると、メモリーやキャッシュの読み書きには長い時間がかかり、しばしばCPUは「読み書き待ち」が起きてしまう。その間、それぞれのコアは遊んでいることになる。
そこで、各コアに複数の仕事を依頼する。各コアは、読み書きの待ち時間には別の仕事をするため、効率的に仕事をこなすことができる。レジ担当のスタッフに、おでんや肉まんの管理を頼んでおき、お客さんが途切れて時間ができた時に、おでんの具を追加してもらうようなものだ。
こうすることで、各コアが複数の仕事を同時にこなすことができるようなり、全体の効率が大きく向上する。これがハイパースレッドの考え方だ。
サーバーで使われる技術をSoCに流用
このハイパースレッドという技術は、サーバー用チップやPC用チップなどでは採用されてきたが、スマホ用チップでは麒麟が初めて採用をした。麒麟9000Sでは、TaiShan V120というコアが採用されている。一方、ファーウェイが2020年に発表したサーバー用チップ「鯤鵬920」のコアはTaiShan V110だ。つまり、ファーウェイは、サーバー用に設計をされたコアをそのままスマホ用SoCにも流用をして麒麟9000Sを設計したことになる。サーバーチップでは、ハイパースレッドが常識であるために、麒麟9000Sでもハイパースレッドが採用されたことになる。これは、短期間でSoCを製造する必要があったため、ハイパースレッドもそのままSoCに使われたということなのだろうか。
しかし、次の麒麟9100では、新たなコア設計が採用された。それでもハイパースレッドが採用されている。つまり、ファーウェイは戦略として、スマホチップにハイパースレッドを採用していることになる。
ハイパースレッドの欠点は消費電力
他社が、スマホチップにハイパースレッドを採用しないのは、この技術に利点ばかりでなく欠点もあるからだ。
ひとつは各コアのピーク性能は弱くなるということだ。各コアが2つのタスクを同時並行で、資源をやりくりして処理するため、処理速度の最高値は低下をすることになる。処理速度をあげるには、王道とも言える、集積度をあげていくしかないのだ。
もうひとつは消費電力が大きくなるということだ。マルチコア+ハイパースレッドでは、タスクをどのコアに実行させるかの制御、スケジューリングなどの手間が増えるため、全体の処理量は増大をする。処理が増大するということは、電力を消費するということで、バッテリーの持続時間、発熱などにシビアなスマホでは安易に採用するわけにはいかない。それで、多くのスマホチップは、ハイパースレッドを採用せず、集積度を高めて処理能力をあげようとする。
独自OS「ハーモニーOS」の意味
では、なぜファーウェイは、スマホチップにハイパースレッドを採用したのか。それはファーウェイには、このような欠点を打ち消すことができる条件がそろっているからだ。
それが自主開発の鴻蒙系統(HarmonyOS)だ。ハーモニーOSは、カーネルから自主開発の100%オリジナルOSだ。そのため、マルチスレッドの制御、スケジューリングなどもOSが管理をし、チップとの最適化が可能だ。ここを詰めていくことで、ハイパースレッドを効率的に制御し、電力消費を抑えることができる。
カーネルまで自主開発したことで選択肢が広がった
さまざまなチップ上で動くAndroidには真似ができないことで、独自のiOSを持つアップルも簡単には追従できない。なぜなら、iOSはアップルの自主開発だが、そのカーネルはUNIX系の「Darwin」を採用しており、ファーウェイと同じレベルでOSとチップの最適化を図るには、カーネルから自主開発をしなければならなくなる。
ファーウェイは、米国のチップ制裁を受けたことで、チップとOSの両者を自主開発のものに切り替えざるを得なくなった。しかし、そのことが、自由に最適化を図れるという強みを手に入れることになった。これが、麒麟はチップの製造技術としては2世代遅れながら、最先端チップと肩を並べることができる理由になっている。