2017年の暮れからIntel、AMD、Armをはじめとするマイクロプロセッサの脆弱性の問題が大きく報道されている。マイクロプロセッサはPC、サーバ、スマートフォンなどすべてての電子機器の頭脳である。電子機器なしには生活もできない、経済も成り立たない時代であるからハッカーからの悪意を持った攻撃に対する業界の危機感には相当なものがある。今ではビジネスから完全に引退した身であるとはいえ、AMDに24年勤務してまさにCPUの勃興期を経験した私にとって看過できない問題であるので思わず感想を書いてしまった。なお、この記事は1月10日に執筆しているため、日々アップデートされる現状を反映していないことをはじめにお断りしておく。

23年前に起こったPentiumのバグ問題

このニュースを聞いてまず思い出したのは1994年に起こったIntel Pentiumの浮動小数点演算でのバグ問題だ。

当時、私はAMDに勤務し始めて8年、仕事にノリノリになっていた時代なのであの時のことははっきり覚えている。それまで一般の人にはまったく馴染みのないCPUという言葉が一般の新聞にも取り上げられ、連日報道される業界を挙げた大問題となった。そういえば2016年に読んだ「インテル」(マイケル・マローン著、土方奈美訳、文芸春秋社)という本に詳しい顛末が書かれていたのを思い出してページをめくり返してみた(なお、この本については筆者が書評を過去に書いているので興味がある方はそちらを参照していただきたい)。

この事件は、バージニア州のとある大学教授がPCを使って研究を進めていたところ、ある計算でどうも腑に落ちない結果が出ることに気がついたことがの発端である。原因を突き止めようといろいろな試みをやった結果、原因は使用しているパソコンのIntel製のPentium CPUの計算ミスではないかという疑念を抱くに至った。具体的に言うと、4,195,835÷3,145,727の答えは1.333820449であるところが、どうしても1.33739068となってしまう(本の記述を引用)。

教授は最先端のCPUにそんなことがあるはずはないと考え、その後4か月も演算をやり直した結果、やはり問題はPentiumの演算の誤りであるという結論に達した。そこでIntelに電話をすると、「200万人のPentiumユーザーでこの問題に気付いたのはあなただけだ」と言うつれない返事。業を煮やした教授は当時やっと普及しつつあったインターネットの掲示板で同じ研究仲間に相談したところ、このニュースが瞬く間に広がり、ウォール・ストリート・ジャーナル、CNNなどの既存のメディアがこれを取り上げ、大問題となった(今で言ういわゆる"炎上"である)。この本によればIntelはこの問題は以前からバグとして気が付いていて、Pentiumの次期マスク変更の時にそれを修正するつもりであった。Intelは「これは端数処理によるエラーで、除数演算90億回に1回発生する確率の問題」という社内認識を持っていて、当時のCEOであったアンディー・グローブをはじめ、幹部としてはリコールに値する問題ではないという認識であった。

Intelは拡大する問題を懸念したIBMをはじめとするPentiumの大口顧客などが、「Pentium搭載のPCの出荷を停止する」という発表をするに至ってもリコールに応じず、事はますます大きくなった。こうしてIntelはIT業界全体を敵に回す立場に陥ってしまった。おりしも、Intelは第五世代CPUのPentiumの発売開始から、大々的なIntelインサイドキャンペーンを展開していて、「Intel insideは割り算禁止の印」などと揶揄されるまでの問題に発展した。

1994年のクリスマスまで2週間を余すところでCEOのグローブは社内会議で方針転換しリコールを決定、翌1995年の1月17日にPentiumのリコールに伴う一時損金の発表に至った。23年前のちょうど今頃の時期だったことを思うと何か不思議な感じがする。当時Intel社内では、あの強気一辺倒のアンディー・グローブがへこむほどの一大事であったが、結局このバグ問題でIntelが被った損金は100億円程度にとどまり、当時すでに年間3,000万個のPentiumを出荷する同社には経済的には何のこともない問題だった。グローブが一番心配したIntelブランドにも傷はつかず、世界最大の半導体メーカーとしてつい昨年まで君臨した。当時Intel互換CPU(Pentium相当品はAMDが対抗品として設計したK5の失敗からK6の登場の1997年まで待たないとならなかったので、486の高速品を売っていたと思う。このあたりの話は、過去の連載「巨人Intelに挑め! - K5の挫折、そしてK6登場」あたりを参照していただきたい)をせっせと売っていたAMD社内では、「この問題は非常に微妙な問題であるから(明日は我が身になる可能性も無きにしもあらず)、あまり調子に乗ってIntelを非難しないこと」、というお達しが出ていたことを思い出す。今となっては古き良き時代の大事件であった。

  • IntelのPentium対抗としてAMDが開発したK5

    IntelのPentium対抗としてAMDが開発したK5は失敗に終わり、その後K6が発表されたのは1997年であった (著者所蔵イメージ)

業界を挙げて問題に対応する現在

今回の問題はCPUのバグではない。「スペクター」とか「メルトダウン」と呼ばれるいかにも物騒な攻撃の原因となる可能性を含んだCPU技術の1つである投機実行(Speculative Execution)は、CPUのパイプラインを遊ばせないための高性能CPUの設計における古典的手法であるし、Intel CPUに限って使われている技術ではない。その証拠にAMD、Arm陣営も対応を開始し、Microsoftをはじめとするソフトベンダ、あるいはGoogleなどのITプラットフォーマーが業界を挙げて問題解決に全力を尽くしているのが見てとれる。23年前に起こったバグ事件の時とは隔世の感がある。次の点が思い浮かんだ。

  • 現代の社会でCPUを介さない通信を行うのは不可能である。「私はメールとかWebとかはやりません。電話をかけるだけです」、という人でも今では自分のアナログの声がデジタルに変換されて、CPUとメモリだらけのサーバを通して伝えられている事は実感しなくても良いようなデジタル社会インフラにおいて、CPUは一番の肝となっているのである。どうしてもそれを避けたければ、話したい本人と面と向かって話す以外にない。
  • かつて「Intelがリコールの必要なし」、と判断したベースとなった「90億回に1回の確率」は現在では日常茶飯事の確率である。電子商取引ではこれをはるかに超える頻度のトランズアクションが毎時間、毎分、毎秒繰り返される。
  • 現代社会のCPUへの依存度は計り知れないほど大きい。一瞬の「グリッチ(かつてCPU業界ではバグと認めたくない時にはこの言葉を使う暗黙の了解があった)」がとんでもない額の経済的損害を生み出す可能性は十分過ぎるほどある。それに加えてIoTなどの普及を考えれば生命の危険に及ぶほどの物理的な損害につながることもあり得るのだ。
  • これだけ技術が複雑化してしまった今ではハード、ソフトの垣根はない。問題が起これば業界全体の脅威となる。

この意味において、今回の事件に業界を挙げて対応する姿勢は十分に評価できるし、逆にそうでなければユーザーの信頼をつなぎ留められないということを業界全体が認識している証拠であると思う。

著者プロフィール

吉川明日論(よしかわあすろん)
1956年生まれ。いくつかの仕事を経た後、1986年AMD(Advanced Micro Devices)日本支社入社。マーケティング、営業の仕事を経験。AMDでの経験は24年。その後も半導体業界で勤務したが、今年(2016年)還暦を迎え引退。現在はある大学に学士入学、人文科学の勉強にいそしむ。

・連載「巨人Intelに挑め!」を含む吉川明日論の記事一覧へ