VIA C3

VIA C3（ヴィア シースリー）は、台湾VIA Technologies (VIA) が開発したパーソナルコンピュータ用x86アーキテクチャのCPUであり、C3はかつてCyrix III（サイリックス・スリー）という名で販売されていた。C3・CyrixIIIともにVIAがIDTから買収したWinChipシリーズの設計を行っていたセントールテクノロジーのコアをベースとしている。2005年後継製品としてVIA C7（シー・セブン）が発表された。 本項ではVIA C3およびVIA CyrixIIIについて記述する。 Cyrix III（サイリックス スリー）はVIAが2000年に発表した同社初のCPU製品である。 当初はVIAがナショナル セミコンダクターから買収したCyrixチームの設計によるJoshua搭載製品でのデビューを発表していたが、実際に発売された製品ではアナウンスが無かったにもかかわらずVIAが同じくIDTから買収したCentaurチームによるSamuelコア搭載製品となっていた。 WinChipシリーズをベースとしているにもかかわらずCyrixのブランドを引き続き採用したことに対し、VIAではCPUメーカーとして実績を持つCyrixブランドを活用するためと述べている。 ローエンドPC市場をターゲットとしており、当初はx86CPU市場において10%のシェアの獲得を目指すとしていたが、大手PCメーカーで採用されることは無かった。後述のSamuel2コア搭載製品以降はC3に製品ブランドが変更され、CyrixIIIは終了した。 Samuel（サミュエル）はWinChip 4コアをベースとして開発され、VIAが最初に市場に投入したCPUコアである。後に投入されたSamuel2との区別の為、Samuel1コアと呼称される場合もある。 SamuelはL2キャッシュを搭載せず、浮動小数点数演算装置 (FPU) は動作クロックの半分のクロック周波数で動作していた。また、マルチメディア拡張命令として3DNow!をサポートするが、MMXユニットでMMX命令と3DNow!命令の処理を行っているため、一度にどちらかの命令しか処理できない。そのため、コア全体のパフォーマンスは他の競合製品と比べて劣っていた。 0.18μmプロセスで製造され、少ないトランジスタ数で構成されているためダイサイズが小さく、配線もワイヤーボンディングを採用している。このため、競合製品に対し安価かつ低消費電力を実現できるという点をメリットとしており、省電力技術Long Haulもサポートする。 Samuelコアを搭載したCPUは Cyrix IIIのブランドで販売されたが、後にはSamuelコアを搭載しながらVIA C3のプリントがされた製品も出回った。 Joshua（ヨシュア）はGobiコアをベースとして開発されていたCPUコアである。 ナショナルセミコンダクターの0.18μmプロセスで製造され、2.2Vのコア電圧で動作する。7段のパイプラインに加え、64KBのL1キャッシュと256KBのL2キャッシュを搭載。マルチメディア拡張命令として3DNow!をサポートする。 対応プラットフォームはFSB133MHzのSocket 370互換であるとされ、旧サイリックスの製品同様に性能指標は実クロックで表記ではなくPRレートの採用を予定していた。 JoshuaのキャンセルについてはCyrixチームメンバの大量離職や、実クロックの高い製品を望んだVIAの戦略などの噂が存在するが、正式な発表は一切されておらず不明である。Joshua以降、Cyrixチームによる製品は発表されていない。 C3はVIAが2001年に発表したCPU製品である。CyrixIIIの後継製品であり、VIA Cシリーズのファーストモデルとなる。CyrixIIIの特徴をほぼ引き継いでいるが、コアの改良に伴う基本性能向上や、低発熱・低消費電力である点やC3を搭載して発売されたMini-ITXプラットフォームが自作PC市場および組込市場で評価されるようになり、x86 CPU市場において一定の地位を築くことに成功した。 C3は2006年3月インテルとのP6バスライセンス契約が完了したことに伴い製造終了しており、後継製品としてVIA独自のV4バスを採用したC7に移行している。 C3をアピールするキャッチコピーとしてCool Processingがアピールされていた。 Samuel2（サミュエル ツー）は、Samuelを0.15μmにシュリンクし64kBのL2キャッシュを追加した製品である。またLongHaulもv2に改良されている。従来のCyrixIIIでは基本的に3.0倍から8.0倍までの動作倍率設定しか持たなかったが、C3では最高12.0倍まで引き上げられた。 追加されたL2キャッシュは小容量であるもののL1キャッシュとの排他式であるためCeleronに比べてL2キャッシュを高効率での使用が可能である。このため、整数演算を多用するオフィス系のアプリケーションなどでは競合製品に対抗できるようになった。しかし、半分のクロック周波数で動作するFPUなどは変わらず、全体のパフォーマンスとしては競合製品に及ばなかった。 VIAはこのSamuel2の製品投入の頃にブランド名をC3に変更した。ただしSamuel2のサンプルが登場した時に従来のSamuelとは異なる新たなマーキングデザインに変更されたにもかかわらず"Cyrix III"と小さくプリントされており、当初はSamuel2のブランド名はCyrix IIIで変わらないと説明されていた。その後このデザインがSamuelにも逆輸入されていることから、コアの変更とマーキングのデザイン変更は特に関係が無かったと考えられている。その一方で、Samuel2の正式出荷前に"C3"という新たなブランド名が発表されており、初期ロットのSamuel2(Cyrix III)はマーキングデザインを"C3"の表記に変更する時間が無かったとも解釈されている。 Ezra（エズラ）はSamuel2の製造プロセスを0.13μmにシュリンクした製品である。微細化に伴いコア電圧が1.35Vに引き下げられ、動作クロックの向上が図られた。ただしダイサイズはSamuel2から変更されていない。特に大きな変更がないためか、名称がSamuel2(C5B)からEzra(C5C)に変更されているにもかかわらずCPUIDはSamuel2が670，Ezraが678で、MODEL IDは7のまま変わらっておらず、STEPPING IDのみ0から8に変更されている。 菓子箱を意匠したリテールパッケージが販売され話題となった。 Ezra-T（エズラ・ティー）はEzraのシステムバスをPentium III(Tualatin)で採用されているAGTLに対応させた製品である。CPGAパッケージの製品では表面にキャパシタが追加される変更が行われた。それ以外の大きな変更は無い。 内部的にはLongHaulもバージョンアップしており、新たに追加されたMSR 0x110Aを使った新機能はPowerSaverと名付けられた。設定可能なBFが4bit (BF0 - BF3) から5bit (BF0 - BF4) に拡張されており、最高で16.0倍まで動作倍率の設定が可能になった。 Nehemiah（ネヘミア、またはニアマイア）はSamuelコアのマイナーチェンジであり続けた従来製品から大幅に改良が行われたC3プロセッサのコアである。単にNehemiahと呼称されるコアは複数のモデルが存在する。 後述のように、2018年になって脆弱性が発見された。ただ、Nehemiahコアは組み込み機器としての利用が主流であり、影響は限定的と見られている。 C5XLはNehamiahコアとして最初に投入された製品であり、変更点として以下が挙げられる。 パイプラインステージ数を12から16に増加 FPUのフルスピード化 3DNow!のサポートを廃止し、SSEユニットを搭載。これによりMMXとSSEの同時処理が可能となった。 L2キャッシュを4ウェイセットアソシエイティブから16ウェイセットアソシエイティブに変更 2つのハードウェア乱数発生器の追加。複数のfree running発振器を組み合わせて量子的な振る舞いを持つビット列を生成させている。 Ezra-TまでのコアがサポートしていなかったCMOV命令を追加しi686完全互換化。 従来のLongHaulとの互換性を廃止し、省電力機能はPowerSaverに一本化。動作倍率の設定は3.0倍と3.5倍が廃止され、最低動作倍率が4.0倍に底上げされた。 また、CPGAパッケージの製品ではEzra-Tよりもさらにキャパシタが追加され、マーキングされるロゴデザインも若干の変更がされた。しかしその後、アナウンスが無いままキャパシタがEzra-Tと同じ数に戻された。 C5P はC5XLの改良モデルであり、C5XLから以下の改良が施されている。 APICに対応し、デュアルCPUが可能となった。VIAからはNehemiahを2個搭載した製品も発売された。 200MHz FSBのサポート ハードウェアAES高速化機能Pad Lockのサポート コア電圧を0.90 - 1.00への引き下げ ダイサイズ47mm2のBGAパッケージ パッケージサイズが15mm×15mmのnanoBGAパッケージ nanoBGAパッケージは、サイズゆえに配線の取り回しが難しく、nanoBGA対応マザーボードを小規模なメーカーが設計するのに問題があり製造中止になった。 VIAは当初、Nehemiah世代のC3の上位モデルとしてC5Xの投入も予定していた。 これは、C5XLでの改良に加えて、命令デコード，MMXユニット，SSEユニット，整数演算ユニットの複数命令同時処理を可能とし、L2キャッシュを256kB 16ウェイセットアソシエイティブに増加させる予定であったが、C5Xはキャンセルされ製品が発売されることはなかった。 Eden（エデン）およびC3-E（シースリー・イー）はBGAパッケージを採用した組込み向け製品のブランド名である。コア自体はいずれもC3プロセッサと同等で共通であるが、ファンレスのものを特にEdenプロセッサと称している。 なおEdenのブランド自体は、C3後継のC7コアを用いた組込み向けファンレス製品にも引き続き使用されている。 Cyrix III Mobile（サイリックススリー・モバイル）はSamuelコアのCyrixIIIをベースとして2000年に発表されたモバイルCPU。プラットフォームにはSocket 370を採用し、省電力技術Long HaulによりPerformance ModeとPower Saving Modeの切替が可能であり、CyrixIIIより50%の消費電力削減と小型化を実現したとされたが、採用例は確認されていない。 Mobile C3（モバイル・シースリー）はEzraコアをベースとして2001年に発表されたモバイルCPU。デスクトップ向けと共通のSocket 370対応CPGAパッケージを採用した製品の他にEBGAパッケージおよびMicroPGAパッケージを採用した製品の3種が存在し、コア電圧もデスクトップ版より低く抑えられている。一部の台湾メーカー製ノートPCで採用された。 Antaur（アンター）はC5XL Nehemiahをベースとして2003年に発表されたモバイルCPU。高さを1.5mmに抑えたEBGAパッケージでの1GHz版のみ提供された。デスクトップ版よりコア電圧を抑えるとともに省電力技術としてPowerSave 2.0を搭載しており、TDPは11wとなっている。一部の台湾メーカー製ノートPCで採用された。 Antaurは2005年にVIAのブランド再編に伴いC3-M（シースリー・エム）に改称された。 CoreFusion（コアフュージョン）は、C3プロセッサとノースブリッジを統合したワンチップ化した製品である。パフォーマンスメリットは無いが、サイズや重量、消費電力を重視する市場向けの製品である。 CLE266を統合したMark（マーク）と、CN400を統合したLuke（ルーク）がラインナップされている。 1Giga Pro（ワンギガ・プロ）は2002年にPC Chipsから発売されたマザーボードに搭載されていたEBGA版Samuel2コアC3のOEM版CPUである。1Gigaとネーミングされているが、実際には733MHzで駆動している。 CyrixIIIおよびC3は、競合製品よりも絶対的な性能やクロックでは劣るが、それよりもはるかに小さく、安価に製造でき、かつ省電力であることを特徴としている。このことによって組み込みシステム市場にアピールする製品となった。 メモリ性能は多くのベンチマークで性能を左右する要因であるので、VIAプロセッサは様々な機能強化の中でも、大きなL1キャッシュと大きなTLB、積極的なプリフェッチを実装している。これらの機能はVIA独自のものではないが、ダイサイズを抑えるためにメモリアクセスを最適化する機能を削減していない。 128kBあるL1キャッシュは常にCentaur/VIA設計の一つの特徴となっている。 クロック周波数は、一般的な言葉では1サイクル当たりに処理できる命令数が増加する以上のものとして捉えられている。アウト・オブ・オーダー実行のような複雑な機能の実装を選択していない。これは、複雑な論理を実装するためにクロック周波数の向上が難しく、また、余分なダイサイズ増加や消費電力の増加などのデメリットがあり、その割にいくつかの種類のアプリケーションではほとんどパフォーマンスは上がらないからである。後にIntelが開発したAtomも、同様の設計思想を踏襲している。 パイプラインは、x86命令の中でもよく使われるレジスタ - メモリ間、メモリ - レジスタ間の形式の命令は、1クロックで実行できるように調整されている。いくつかのよく使われる命令は、他のx86プロセッサと比較して少ないクロック数で実行する。 あまり使われないx86命令はマイクロコードで実装されるか他の命令でエミュレートされている。これによりダイサイズが節約でき、消費電力が抑えられている。実際に使われている主要なアプリケーションでの影響は最小限である。 これらの設計方針は元々のRISCの主張から派生したものである。つまり、より小さな命令セット、よりよい最適化がCPU全体の性能を速くすることにつながる。 C3/CyrixIIIは互換CPUであるにもかかわらず、Samuel2コア以降ではL1より少ないL2キャッシュ搭載という、Intel純正CPUには存在しなかったキャッシュ構成を取っている。しかしデータシートによればSamuel2以降でも「互換性のために (For compatibility,)」L2キャッシュ非搭載を示す L2 Hardware Disable ビットが常に立っており、結果的にBIOS側から判断されるキャッシュ構成はCovingtonコアのCeleronと似た状態になっている。実際に初期のコアは多くのBIOSでCeleron互換CPUとして認識され、ほとんどの場合はBIOS更新なしでも動作したという。しかしその後のコアではBIOSが対応していないと動作しないことも多くなり、対応マザーボードの情報不足が露呈。800MHz以降の頃からは基本的にVIAチップセットのみが動作対象とされていった。 CyrixIIIは小規模PCメーカーの低価格機種で採用したモデルも発表されているものの、大規模な採用例はVIA自身も発表しておらず、プロセッサ市場における存在感は極めて希薄であった。 ブランド名がC3に変更されて以降も大手メーカーのPC製品に採用された例は無かったが、ウォルマートやイーヤマといった量販系企業の超低価格PCに採用されるなどし、メーカー製PC市場でもある程度の存在感は示した。 また組込市場では、ソニーのブロードバンドルーターや富士通のシンクライアント、日立製作所のHDDビデオレコーダなどに採用された。 C3によってVIAは大手メーカーとの採用実績を作り、CPUビジネスを軌道に乗せることに成功した。 x86 CPU市場では新規参入となるVIAでは他社製品ではあまり見かけないユニークな動きが見られることがしばしばある。以下に例を挙げる。 Cyrix IIIはCyrixチームのJoshuaコアを搭載した製品として正式に発表されたが、実際に登場したCyrix IIIではCentaurチームのSamuelコアが搭載されていた。 Samuel2コアを搭載するC3はヒートスプレッダ無しのCPGAパッケージ製品として発表されたが、実際に登場したC3は当初CyrixIIIと全く同じヒートスプレッダ付のパッケージで、しかもCyrixIIIのマーキングがされていた。この為、667MHzなどSamuelとSamuel2で重複するクロックモデルにおいては、区別の為にSamuel2コアの製品には667AMHzというように、クロックにAを付与する措置が取られた。その後、マーキングはC3に変更されたがパッケージはCyrixIIIと同じものが使用され続けた。 Ezraコアを搭載するC3 800AMHzはコア電圧1.30Vとして発表されていたが、実際に登場した製品はコア電圧1.35Vであった。また正式なリテールパッケージ品にもかかわらず初期のロットではエンジニアリングサンプル品が使用されていた。 Ezraコアの発表当時、800MHzなど一部のクロックモデルではSamuel2とEzraが重複するため、区別の為にEzraコアの製品には800AMHzというように、クロックにAを付与することで区別すると発表した。しかし実際にはその後も大量に流通したSamuel2 の800MHz版においても800AMHzの表記が使用され、コア電圧を確認しないと区別できない状態となった。 最初に発表されたCyrixチーム設計のJoshuaを搭載したCyrixIIIのイメージから、CyrixIII/C3はCyrixの流れの製品であると紹介されることが多かった。実際に広く流通した製品はCyrixIII/C3ともに全て、Centaur設計のWinChipの流れを汲む製品である。 Ezraコア以降のパッケージでは裏面にブリッジが追加され、このブリッジのオープン・クローズを操作することでFSBやクロック倍率を自由に操作することが可能である。 Ezraコアでは3種の缶パッケージが存在する。最初に登場したのは菓子缶をイメージし原材料名や内容量、「食べられません」などの注意書きをもじった日本語版のパッケージだが、後によりシンプルになった英語版のパッケージに変更された。また2002 FIFAワールドカップをイメージした缶パッケージが存在する。Nehemiah以降では英語版パッケージのみが使用された。 組込向けのEBGA製品について当初はファンレス製品をEDEN、ファン冷却必要な製品をC3-Eとすると発表していた。しかし市場ではどちらもEDENとして扱われることが非常に多く、混乱が見られた。 EzraコアのC3ではCPUクーラーを外した状態で負荷をかけ続けるデモムービーがWebで公開された。競合製品が数秒でフリーズしたのに対し、C3は24時間以上の稼動を続け話題となった。 当初発売されたC5XL Nehemiah製品は表面のキャパシタがEzra-Tより増加されていたが、後にアナウンス無くEzra-Tと同じに戻された。その為、一部ショップではC5XL Nehemiahの製品をEzra-Tと誤認するなどの混乱を生じた。 2018年8月、C3のNehemiahコアにおいてバックドアの脆弱性が発見されたことが報告された。 CyrixIII/C3にはもともとx86コアとは別に、非x86の独自コプロセッサが内蔵されている。そちらを操作する隠し命令セット「Alternative Instruction Set (AIS)」を利用することで、本来は高度な権限処理を伴うはずの命令を一般的な命令として実行することが可能になり、権限レベルの昇格などが行えてしまうと言われている。こうした機能は本来デバッグやテスト目的で用意されているものだが、その詳細は秘守義務契約を結んだ特定のユーザーだけに公開されていたもので、一般ユーザーには公開されていなかった。バックドアの発見はその機能を利用したものと考えられている。 C3においてMSR 0x1107として用意されているFEATURE CONTROL REGISTER　(FCR)のビット0がトリガとなってAISが利用可能になる（実際に利用するためには、さらに起動命令を送る必要がある）。詳細は伏せられているものの、データシートにはFCRのbit0がAIS関連機能である旨の記載はあり、この機能そのものはC5系コアであればもともと存在していたものである。ただし、このとき報告された脆弱性はNehemiahコアだけであるとされており、その他のコアで同様の問題は発生しないのか、単に見つかっていないだけなのかは不明である。なおAISの存在が公表されたのはNehemiahのときではあるが、このときの発表ではAISが組み込まれているのは「C5系CPU」とだけ報道されている。 [脚注の使い方] ^ CyrixIII/C3の前身のIDT WinChipにおいては、ほぼ同機能のFCRレジスタがMSR 0x107に存在する。データシートに記載は無いものの、CyrixIII/C3でも互換性がある様子で、FCRはMSR 0x1107とMSR 0x107のどちらからでもアクセスできる。このため0x107を使っても同様のことができる可能性がある。なおWinChipについては、データシートによればFCRのbit 0が"Reserved"となっており、同様の機能 (AIS) が存在するのかどうかは不明。 ^ “Platform Conferenceレポート VIAがSamuel2を、AMDはAMD-760MPマザーボードを世界初公開!”. PC WATCH (2001年1月24日). 2017年12月18日閲覧。 ^ “Cyrix III 700MHzが発売に、マーキングと電圧に変化あり”. AKIBA PC Hotline! (2001年2月24日). 2017年12月18日閲覧。 ^ “【速報】Samuel2コア「VIA C3」のES品が販売開始！”. ASCII.jp (2001年4月17日). 2017年12月18日閲覧。 ^ a b “古いVIAのx86プロセッサにバックドアが存在していたことが発覚”. GIGAZINE (2018年8月13日). 2018年8月14日閲覧。 ^ ハードウェア乱数発生器の詳細な解説 ^ C3相当のコアを搭載する新CPU“1Giga Pro”オンボードのマザーが発売 ^ “ようやくVIAのSocket 370用CPU「Cyrix III」がデビュー果たす 500MHzが7,800円、533MHzが9,500円”. AKIBA PC Hotline! (2000年7月29日). 2021年12月30日閲覧。 ^ 催馬楽吉之丞、小桜ぼたん、「元店長が暴露する アキバPCショップの秘密」毎日コミュニケーションズ (2004)、p34。 ^ 関東電子、69,800円のCyrix III 550MHz搭載PC ^ 「VIA C3＋LindowsOS」で、デスクトップPCが破格の$199に ^ KDV939EW/2カタログ ^ ソニー ブロードバンドAVルータ「HN-RT1」 ^ FMV-TC5210 ^ 日立、400GB HDD搭載ハイブリッドレコーダ「WOOO」 ^ a b c “17年前の「VIA C3」プロセッサにバックドアが見つかる”. PC WATCH (2018年8月13日). 2018年8月14日閲覧。 ^ a b 後藤弘茂 (2002年10月16日). “VIAの次世代CPU「Nehemiah」がMPFに登場”. PC Watch. 2022年7月5日閲覧。 VIA Technologies (WinChip/サイリックス) VIA Eden 組み込みシステム Geode VIA - VIAのプロセッサ