分析Appleはウィスコンシン大学が所有するCPU設計特許を侵害したとして5億600万ドルの罰金を科せられた。
ウィスコンシン州西部連邦地方裁判所のウィリアム・コンリー判事は、クパチーノのiPhoneメーカーであるAppleに対し、5億608万4992.66ドル(3億8600万ポンド)の損害賠償を支払うよう命じた[PDF]。これは、陪審員がAppleがA7プロセッサにウィスコンシン大学同窓会研究財団が特許を取得した技術を使用していたと認定したことを受けての判決である。
Appleは、A7システムオンチップに搭載されているものなど、独自のARM互換CPUコアを設計し、iPhone、iPad、その他のガジェットに搭載している。
裁判所は、クパチーノのエンジニアが、機械語命令の実行順序を最適化する手法を使用していたと判定した。この手法はウィスコンシン大学の研究者が1996年に特許を申請し、1998年に取得していた。大学側は、アップル社とのライセンス交渉を試みたが、失敗したと主張している。
コンリーの5億ドルの支払額は、以下の要素を組み合わせて計算されました。
- 陪審員によって裁定された損害賠償額。
- 2015 年 10 月 26 日までに販売された A7 iPhone および iPad 1 台につき 1.61 ドルの追加損害賠償。
- 2015 年 10 月 27 日から 2016 年 12 月 26 日 (特許の有効期限) までに販売された A7 1 台につき 2.74 ドルの使用料。
- 追加費用、および判決が言い渡されるまでの利息。
この請求額には、2017年7月1日から全額返済されるまで0.232%の利息が加算されます。決して軽視できる金額ではありませんが、5億600万ドルという請求額は、コンリー氏が裁判で設定した損害賠償額の上限である8億6200万ドルよりは大幅に低いものです。
今週の決定は、AppleがA7チップの設計とソフトウェアからの命令の処理に関して米国特許5,781,752を侵害したとする2015年の陪審の判決に端を発している。
この特許は、現代のプロセッサ設計に精通していないと理解しにくいかもしれませんが、非常に興味深いものです。基本的には、CPUパイプライン内のメモリ依存関係を予測する投機的実行システムについて説明しています。このシステムは、潜在的な依存関係を追跡するテーブルを使用することで、実行速度の低下につながる誤った投機を回避します。具体的には、誤った投機を引き起こす可能性のあるロードとストアのペアに注意を払います。
いくつかの C 風の擬似コードの例が含まれています...
i = 0; i < N; i++ A[i + 1] = A[i] * 19 の場合
...その本体はこの架空の CPU 命令コードにコンパイルされます...
ロードA(i) マル19 A(i+1) をストアする
ユニの設計では、このようなコードを効率的に処理する方法が記述されています。レジスタAにはメモリのi番目の位置にある値がセットされ、その値に19が掛けられ、その結果がメモリのi番目の位置の次のワードに格納されます。
問題は、複雑なパイプライン型アウトオブオーダープロセッサでは、現在の反復処理を実行しながら、次のループ反復処理のためにAに投機的にデータをロードすることができないことです。なぜなら、次の反復処理でAにロードされるデータは、現在の反復処理におけるストア処理の影響を受けるからです。そこで、投機的なロードとストアのペアを追跡し、失敗を回避するためにテーブルが使用されます。
この例は特許に記載されており、以下の図も掲載しています。
ご覧の通り、ループの1回の反復処理におけるストアは、次の反復処理におけるロードに影響を与えます。つまり、そのロード処理の投機的実行が古い情報を使用している場合、そのロード処理は破棄される必要があるということです。当然のことながら、Intelやその他のアウトオブオーダープロセッサの設計者は、この矛盾に対処する独自の方法を持っているか、大学から技術のライセンスを取得しています。いずれにせよ、裁判所はAppleの解決策が上記のアプローチとあまりにも類似していると判断し、今週9桁の訴訟を起こしました。
A7チップは、AppleのiPhone 5S、iPad Air、Mini 2、Mini 3に搭載されていました。その後、A8とA9に後継されましたが、これらは今回の特許請求の対象ではありませんでした。Appleはこの件に関するコメント要請に応じませんでした。®
クリス・ウィリアムズによる特許分析。