FC2ブログ

ノートPCのCPU交換

目 次


一、ノートPCのCPUは交換可能か

 PCメーカーないしベンダーが販売するノートPC(laptop)のCPUは交換できるのか。Webの質問掲示板ではこれに類する質問がこれまで何度も繰り返されてきた。

 答えていわく、「ノートパソコンは、CPUを交換することを前提に作られておらず、特殊な構造をしているから、交換することは困難ないし不可能である」。いわく、「ノートパソコンはCPUが直付けされているから、交換は無理である」。ノートPCのCPUは換装できないと思い込んでいる人が、ある程度PCに詳しい人の中にも少なからずいることに驚かされる。PCメーカーによっては、その分解からCPUその他の部品の交換方法まで詳細に図解したサービス・マニュアルを公開しているところがあり、ノートPCであろうとCPUが交換可能であることに議論の余地はない(DELL Inspiron 15R N5110 Service ManualHP ProBook 4340s Notebook PC Maintenance and Service Guide等々)。

 勿論、全てのノートPCがCPUを交換できるわけではない。「既製のノートPCのCPUは、交換できる場合もあれば、できない場合もあり、機種次第である」。これが正しい回答である。

 そもそもCPUが交換可能か否かは、ノートPCに搭載されているCPUのパッケージによって大きく分かれる。これについては、「dynabookのCPU交換」の追記でも触れたが、ここで改めて素人ながら概観しておく。

 半導体等の電子部品の外形を構成する部分はパッケージ(外周器)と呼ばれ、様々な規格が存在する(「パッケージ (電子部品)」、Wikipedia参照)。その中でCPUのパッケージには、主にBGA (Ball Grid Array)PGA (Pin Grid Array)LGA (Land Grid Array)の3種の規格が用いられている。

 図-BGA・PGA・LGA
 CPU-BGA-PGA-LGA

● BGAパッケージとは、パッケージ底面に球状のハンダボール(ball)が格子状に配列されたものをいう。gridは格子、arrayは配列・配置という意味である。BGAのCPUは、基板(マザーボード、メインボード)に直接ハンダ付けされ(俗に「直付け」などと呼ばれる)、CPUの着脱を可能にするソケットという受け口は通常用いられない。ソケットを使用しない分、基板にCPUを装着した場合の高さを低くを抑えられるという利点があるとされる。その反面、基板に密着されるため放熱冷却に問題があり、熱が直接基板に伝わるので周辺の部品が高温に曝されることから、低電圧の製品が開発され、TDP(熱設計電力)が低く抑えらているものが多い。

● PGAパッケージとは、ハンダボールの代りにピン(pin)が格子状に配列されたものをいう。これを受けて固定するために基板にソケットが装備される。

● LGAパッケージとは、landと呼ばれる電極パッドが格子状に配列されたものをいう。これも通常、実装にはソケットが用いられる。

 Intelでは、デスクトップ向けのCPUの多くは、LGAとなっており、主にモバイル向けのCPUにPGAとBGAのパッケージが使われている。正確に言えば、LGAはNorthwoodで初めて採用されたが、Northwoodとそれに続くPrescottにおいては、デスクトップ向けにPGAとLGAのいずれもが製造されていた(例えば、Pentium 4 550は、PLGA775とPPGA478の2種が製造されている)。その後、LGAとPGA・BGAの棲み分けがなされるようになったようである。これに対し、AMDでは、LGAパッケージのCPUは製造されておらず、デスクトップとモバイル両者にPGAとBGAが採用されている。【訂正:AMDにおいては、サーバー向けCPUにのみLGAが使用され、モバイルおよび一般向けデスクトップにはPGAとBGAが使われていたが、2017年8月に発売されたRyzen Threadripperでデスクトップ向けCPUとしては初めてSocket TR4というLGAが採用された。】

 モバイル向けCPUとデスクトップ向けCPUとの外観上の大きな違いは、結局、ヒート・スプレッダー(Integrated Heat Spreader, IHS)という放熱板の有無ということになる。モバイル向けにはヒート・スプレッダーはないが、デスクトップ向けには装備されている。モバイル向けCPUは、通常、ダイ(Die)というシリコンチップ(Silicon Chip)がリードフレーム(Lead Frame)と呼ばれる金属板に接着され、そのままパッケージ基板に載っている状態で使用される。ただし、Mobile Intel Pentium 4(2003~2005年)では、FC-PGA2やmicro FC-PGA4(FC-mPGA4)といったデスクトップ向けのPentium 4と同様のパッケージが用いられ、ヒート・スプレッダーが装着されていたこともあった。

 このdieとは、あの"The die is cast."(賽は投げられた。)のdieであり、さいころを意味する。diceはその複数形であるが、さいころという意味では、一般的にはdiceが単数形としても使われる。また、dieは、金属加工の分野で金型を意味し、それに関連する用語としても多用されている。ご存知ように、CPUの本体である半導体チップ(Semiconductor Chip)は、珪素の単結晶の塊(インゴット)をスライスしたシリコンウエハ(Silicon Wafer)上に多数の半導体素子の回路を形成し、それを切り離したものである。dieという名称は、シリコンウエハ上に半導体チップが賽の目状に並んでいることに由来し、それらを切り離す工程はダイシング(Dicing)と呼ばれる。

 参考:
「1.半導体製造工程」(株式会社日立ハイテクノロジーズ)
http://www.hitachi-hightech.com/jp/products/device/semiconductor/01.html
「光半導体の製造はどのように行われるの?」(京セミ株式会社)
http://www.kyosemi.co.jp/hayawakari/process/
「半導体素子の製造工程の流れ」(イー・エム・シー半導体株式会社)
http://www.emc-scr.jp/HP-091204/workflow.html
「ダイ」(Wikipedia)
https://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4

 また、CPUの種類を表すのに、パッケージそのものを表示するのではなく、パッケージに対応するソケットの種類を用いることが多い。Intelの製品仕様のサイトでは、CPUの「パッケージの仕様」項目に「対応ソケット」として、「PGA478」、「LGA2011」といったようにパッケージの種類と数字が記載されている。これらの数字は、ピンや電極パッド等の端子の数を表している。それとは別に、Socket M、Socket G1といったソケットの名称もあり、データシート等で使われているが、例えば、Celeron 530というCPUには、Socket Pに対応したCeleron Processor 530とSocket Mに対応したCeleron M Processor 530という製品があり、両ソケットは互換性がないことから混同しないように製品名にそれぞれSocket P、Socket Mの名称が表記されることもある(https://ark.intel.com/ja/compare/33100,29733)。AMDでは、「Socket FM2」、「Socket FP2」といった表記が用いられ、表記自体からはPGAなのか、BGAなのかは判別できない。しかし、Intelに比べれば、ソケットの種類は少なく、汎用性が高いので、FM2はPGA、FP2はBGAなどと確認しておけば問題はない。

 このようにノートPCには、PGAとBGAという2種類のパッケージのCPUが使われるが、一般的にはPGAであれば、簡単にソケットからCPUを着脱させることができるのであるから、交換も可能となる。BGAの場合は、CPUが基板に半田付けされ、さらに補強剤としてアンダーフィル剤が塗布されていることもあるため、それを取り外し、再び他のCPUを取り付けることは容易ではないということになる。もっとも、稀ではあるが、PGAであっても直接基板に半田付けされる場合もあるようである。

※【追記】
 驚くことに、ノートPCでありながらデスクトップ向けCPUを搭載するハイパフォーマンス機もある。例えば、EPSON、マウスコンピューター、パソコン工房などは、LGA1151というソケットを備えたノートPCを出しており、デスクトップと同様UEFI/BIOSが許せば、当然CPUは交換することが可能である。

 基板に半田付けされた半導体を取り外して、再度取り付ける作業をリワーク(Rework)と専門家は呼ぶ。それを行うには、リワーク装置という特殊な機械とリワークに関する専門的な知識・技術が必要とされる。従って、BGAのCPUの交換は、我々素人には容易ではない、というよりもむしろ事実上不可能というべきかもしれない。リワークを請負う専門の会社の多くは法人を相手にしているが、中には個人の単体依頼を受けてくれるところもあるので、どうしてもBGAのCPU交換を行いたいという場合は、Webを探してみるとよい。

 参考:
 『超小型LSI部品 BGA/CSP の交換工法』、PFU(富士通)
 https://www.pfu.fujitsu.com/about/technology/no27/images/27-11.pdf
 『BGA、CSP技術解説』、エムエスエンジニアリング
 http://www.mseng.co.jp/new/ja/doc/report_j1.pdf
 『ファインピッチBGAの実装技術開発』、沖電気
 https://www.oki.com/jp/Home/JIS/Books/KENKAI/n189/pdf/189_R14.pdf

 ここで、IntelのMobile CPUのパッケージないし対応ソケットについて注意すべきことがある。Intelは、BGAだけの製品(例えば、i3-3217UはFCBGA1023のみ)とPGAだけの製品(例えば、i3-3120MはFCPGA988のみ)も提供しているが、多くの場合、同一CPUに対してBGAとPGAの2種のパッケージを用意しているという点である。例えば、Intel Core i7-3612QM Processorには、対応ソケットがFCPGA988のものとFCBGA1224のものとが異なる製品名として存在し(http://ark.intel.com/ja/compare/67356,64901)、i3-3110Mは、対応ソケットがFCBGA1023とFCPGA988の2種が製造されている(http://ark.intel.com/ja/products/65700/Intel-Core-i3-3110M-Processor-3M-Cache-2_40-GHz)。そのようなCPUがノートPCやモバイルPCに搭載されている場合には、そのCPUにどちらのパッケージが使われているか、通常、PCの仕様書に記載されていない以上、PCが手元にあれば、CPUの情報を表示するソフトで確認するか、若しくはPCを分解して実際にCPUを確認する。手元になければ、WebでそのPCを分解した画像等を調べるしかないであろう。つまり、検索画像・動画などから基板上のCPUの様子を見て、CPUがソケットに載っていれば、PGA、直に基板に載っていれば、BGAと判断することになる。

 もっとも、Intelは、2013年頃からパッケージをBGAだけとするモバイル向けCPUを多く出している。例えば、IntelのProcessor Feature FilterというWebページにおいて、Code Nameを"Haswell"とし(その後このページは作り直され、Code Nameの検索はできなくなっている)、Sockets Supportedを"FCPGA946"として検索すると、22製品、"FCBGA1364"とすると、22製品、"FCBGA1168"とすると、40製品が挙る。それ以降のBroadwellやSkylakeのモバイル向けCPUは、ほとんどがFCBGAのみとなっている。同様に、AMDも2014年以降のモバイルCPUは、ソケットがFP3、FT3、FP4、FT4となっており、全てBGAとなっている。今後、これらを搭載したラップトップのCPUは、残念ながら事実上換装不可能となる。

 因みに、PPGA(Plastic Pin Grid Array)FCPGA(Flip Chip Pin Grid Array)の相違については、"Package-Type Guide for Intel Desktop Processors"に解説がある。

二、CPU交換手順と注意点

 手元にあるノートPCについて、そのCPUが交換可能どうかをどのようにして確認するのか、交換可能だとしてどのCPUが動作する可能性が高いのか、どのようにPCを分解すればよいのか等々、少し面倒なことがあるため、メモリの増設やHDD・SSDの交換を行ったことがある人でもことCPUの交換となると、二の足を踏むかもしれない。

 そこで、ノートPCのCPUの交換を試みたいと考えている人のために、CPUを交換する一般的な手順および注意点を思いつくままに書きしるしておく。AMDのCPUは載せ換えたことがないので、IntelのCPUについて書き進めるが、AMDのCPU交換にも参考となるのではなかろうか。

■1. PGAの確認

 先ず、当のノートPCのCPUが交換可能かどうかを確認する必要がある。Windowsであれば、コントロールパネルの「システム」を開けば、CPUの製品名は確認できるが、パッケージないし対応ソケットまでは表示されない。そこで、自作機ではCPU等の詳細な情報を確認するためによく使われているCPU-Zというソフトを用いてCPUの製品名やパッケージを確認する。

 CPU-Zの「Package」の欄に「BGA」という表示があれば、上述したように残念ながらCPUの交換は諦めるほかない。

 そこに「PGA」とあれば、取り敢えず交換することは可能となる。

 とはいえ、CPU-Zの表示が誤ることも皆無ではなく、分解して直接CPUがソケットに装着されているかを視認する方が間違いはない。

■2. CPUの選定

 さて、どのCPUに交換すべきか、である。交換可能だとしても、いずれのCPUでも動作するわけではない。

 CPU-Zで確認した搭載CPUの製品名またはプロセッサー・ナンバー(AMDではモデル・ナンバーと呼ばれる)をもとに、「インテル製品の仕様情報」というIntelのサイトで、CPUの仕様を確認する。CPU選定に当たってメルクマールとなる仕様項目は、対応ソケット、開発コード名、発売日、チップセット等である。

◆(1) 同一または互換性のある対応ソケットであること

 交換するCPUと交換されるCPUとが同一ないし互換性のある対応ソケットでなければ、交換はできない。対応ソケットが異なれば、物理的にCPUをソケットに装着することすらできない。何はともあれ、Intelの仕様情報を確認することになるが、稀にi5-4310M(rPGA946B)などのように対応ソケットについて表示がない場合は、他のサイト(CPU-World等)を利用することもあろう。

 ところで、これまで幾度となく問題とされてきたPGA988PPGA988FCPGA988との互換性については、質問掲示板等において様々な見解が披露されているが、同一世代内であれば、Intelは「これらソケットの互換性はある。しかし、プロセッサーが機能するかどうかは最終的にBIOS次第である」と再三にわたって発表している("Differance between PGA988 and PPGA988 CPU socket?"、"PGA988, PPGA988 and FCPGA988"、"What is the difference between socket PPGA988 and FCPGA988?"等々)。にもかかわらず、今以て、これらには互換性がなく、一方のCPUに対応するソケットは他方のCPUには使用できない、とまことしやかに解説されることがある。これは、ひとたび虚偽の情報がWebに流れると、やがてそれは調査も確認もなされないまま真実であるかのごとく扱われることになる、という典型事例の一つである。自戒すること多なり。

 正確には、これらのパッケージは、大きくrPGA988AとrPGA988Bの2種に分けられる。確かに、両者はピンの位置が一か所異なっており、両者に互換性はない。図-Aと図-Bを見比べれば、一目瞭然である。詳細については、"Intel Core i7-600, i5-500, i5-400, i3-300 Processor Series: Vol. 1"、"Mobile 3rd Gen Intel Core Processor Family: Datasheet, Vol. 1"等のDatasheetの'Package Mechanical Information'にあるパッケージの外形図をご覧頂きたい。しかしながら、あくまでrPGA988Aは、ClarksfieldとArrandaleのパッケージであり、rPGA988Bは、Sandy BridgeとIvy Bridgeのパッケージであって、前2者と後2者との間に互換性はないものの、少なくとも同一世代内である限り、互換性は保たれているのである。

 但し、rPGA988Aに対応するソケットはG1、rPGA988Bに対応するソケットはG2と呼ばれ、G1はパッケージと同じ988個のピンホール(正式にはcontact[接点])を持っているが、実はG2は989個のピンホールを持っている(988個のものもある。下記の【追記】参照)。下の画像を見れば分かる通り、rPGA988Bパッケージは、G1には装着不可能だが、rPGA988Aパッケージは、G2には物理的に装着することはできるのである。勿論、装着できたからといって動作する訳ではない。G2をG1としても使用することが可能なように、マザーボード・メーカーへ配慮したのであろうか。その設計意図は未だ調べきれていない。

 図-A rPGA988A                        図-B rPGA988B
 CPU_rPGA988A-1 CPU_rPGA988B

 図-C Socket G1                        図-D Socket G2
 CPU_Socket_G1 CPU_Socket_G2

※【追記】
 G1およびG2のソケットについては、Intelが公開している"2nd Generation Intel Core Processor Family Mobile"という文書の'1.3 Referenced Documents'に、"rPGA988/989 Socket Application Guide - Doc#419940"という文書が挙っている。ところが、この文書は、Intelのサイトで検索しても見つからず、おそらく企業向けであって、一般には公開していないようである。
 ただ、TE connectivity社の"Introducing Sockets for rPGA989 and rPGA988 Processors"という製品紹介文書には、rPGA989rPGA988ArPGA988Bの3種のソケットが紹介されており、G2にはrPGA988Bにぴったりと適合するピンホールが988個のソケットも製造されていることが分かった(図-E)。しかし、rPGA988Bソケットとは別にrPGA989ソケットが存在する理由は依然不明のままである。(2016.11.3)

     図-E("Introducing Sockets for rPGA989 and rPGA988 Processors"より)
     CPU-rPGA988AB-989

 具体的には、モバイル向けSandy Bridgeは全部で68製品あるが(http://ark.intel.com/products/codename/29900/Sandy-Bridge#@Mobile)、その内、PGAパッケージのCPUは、35製品あり、PGA988は、4製品、PPGA988は、12製品、FCPGA988は、20製品となっている(Pentium B960だけは、PGA988とFCPGA988の両パッケージが製造されている)。PPGA988の製品は、このSandy Bridgeにだけ存在し、この3種が揃っているのもSandy Bridgeだけである。
 PGA988には、Pentium B960、Pentium B950、Pentium B940、Celeron B810があり、
 PPGA988には、i7-2640M、i7-2620M、i5-2540M、i5-2520M、i5-2450M、i5-2430M、i5-2410M、i3-2370M、i3-2350M、i3-2330M、i3-2312M、i3-2310Mがあり、
 FCPGA988には、Pentium B980、Pentium B970、Pentium B960、Celeron B840、Celeron B830、Celeron B820、Celeron B815、i7-2820QM、i7-2760QM、i7-2630QM、i5-2510E、i3-2328M等々がある。
 製造元のIntelが言うように、BIOSが対応する限りは、これらの製品は相互に交換可能なのである。要するに、rPGA988Bのパッケージの中にPGA988・PPGA988・FCPGA988の3種があり、これら3種の相違自体は互換性を阻む要素ではないということである。

 Intelの仕様情報を見ると、PGA988と表示されているモバイルCPUは、上記Sandy Bridgeの4製品以外に、Clarksfieldの6製品、Arrandaleの21製品があり、FCPGA988と表示されているモバイルCPUは、同じくSandy Bridgeの20製品以外に、Ivy Bridgeに31製品がある。つまり、PPGA988およびFCPGA988は、rPGA988B型のみであるのに対し、PGA988には、紛らわしいことだが、rPGA988A型とrPGA988B型の2種類があり、当然両者には互換性がないので注意を要する。

※【追記】:PGA478について
 IntelのPGA478というパッケージのCPUもややこしいので、ここにまとめておくが、もはやこれを搭載したPCをメインとすることはほとんどないであろうから、略説に留めておくことにする。

 Intelのサイトにおいて製品仕様の高度検索で「対応ソケット」・「PGA478」を選択すると233製品が挙がる。これらPGA478またはPPGA478と表示されるパッケージのCPUは、ピンの数が478本と同じであるものの、実は異なる4種が存在する。それらが対応するソケットは、Socket 478(mPGA478B)Socket 479(mPGA479M)Socket M(mPGA478MT)Socket P(mPGA478MN)の4種であり、相互に互換性はない。ピンホールの配置が異なっており(Socket 478とSocket Pは同配置)、ピン・アサイン(pin assignment[ピン割当])も相違する。それらソケットに対応するパッケージのピンの配置も異なる3種が存在することになるが、Socket 479のソケットは、その名が示す通りピンホールが479個あるため、いずれのパッケージのCPUも装着することが可能であるので、注意を要する。

◎ Socket 478は、主にデスクトップ向けのCPUに使われ、前述したようにNorthwood、Prescott、Willametteで使用されたが、モバイル向けCPUのNorthwood(Mobile Intel Pentium 4 - M等)、Prescott(Mobile Intel Pentium 4)にも使われた。デスクトップ向けは、その後LGA775に取って代わられることになった。

◎ Socket 479は、ピンホールが479個あるが、パッケージ側のピンは478本で一個所使用されない。Mobile Intel Pentium III - M等のTualatin、Pentium M等のBaniasとDothanで使われた。なお、Socket mPGA478Cというパッケージと同じ478のピンホールを持ったソケットも用いられた。

◎ Socket Mは、Yonahと初期のMeromで使われた。

◎ Socket Pは、主にMeromとPenrynで使用された。ピンホールの配置はSocket 478と同じである。

 ここで注意しなければならないのは、Socket MとPの両方を含むMeromである。例えば、T7600とT7700は、Intelの製品仕様を見ると、コードネームも同じ「Merom」であり、対応ソケットも同じ「PPGA478」と表示されている。しかし、前者はSocket Mに対応し、後者はSocket Pに対応しており、両者に互換性はなく、一方が装着されているソケットに他方を装着することすらできないのである。

 MeromであるT5200、T5300、T5500、T5600、T7200、T7400、T7600、さらにCeleron M 520、Celeron M 530は、Socket Mに対応し、これらを除くMeromはSocket Pに対応している。Yonah・Merom・Penrynの換装を検討する場合には、くれぐれもSocket MとSocket Pの相違に留意し、対象となるCPUにつき必ずIntelのプロセッサー製品仕様ページの「オーダーとコンプライアンス情報」、あるいはCPU-WorldやWikipedia等のサイトでいずれのSocketであるかを確認すべきである。(2018.7.24)

◆(2) 開発コード名が同一であること

 開発コード名(Code Name)は、Intelでは近時、世代(Generation)で区別するようになったが、それが同じであるということは、マイクロアーキテクチャ(Microarchitecture、CPUの内部的な設計・構造などを指す)が同じであることを示している。それに合わせてマザーボードが開発・製造されている。従って、コード名が同じであれば、同じマザーボードで動作する可能性は高いことになる。勿論、異なるコード名であっても、同一のマイクロアーキテクチャに属する場合は、動作する可能性はある。

 さらには、異なるマイクロアーキテクチャに属するCPUであっても、例えば、前に挙げたモバイル第3世代のDatasheetのp.36、'1.6 Processor Compatibility'には、プラットフォームがモバイル第2世代のCPUにも対応するための互換性要件が図示されている。そこにある通り、Ivy BridgeとSandy Bridgeといった近似するマイクロアーキテクチャに属するCPU双方に対応しうるマザーボードは存在することになる。しかし、実際に、当のマザーボードがその互換性要件を充たしているかどうかを判断することは、PCメーカーがそういった情報を公開しない以上、容易ではない。とはいえ、一般に、Ivy Bridgeが発売される前に製造されたSandy Bridge向けのマザーボードが、その互換性要件を充たしているとは考えにくいであろう。

 IntelのMobile CPUの主なマイクロアーキテクチャとコード名は、P6マイクロアーキテクチャ(Banias、Dothan、Yonah《訂正削除》)、NetBurstマイクロアーキテクチャ(Northwood、Prescott)、Coreマイクロアーキテクチャ(Yonah《訂正追加》、Merom、Penryn)、Nehalemマイクロアーキテクチャ(Clarksfield、Arrandale)、Sandy Bridge、Ivy Bridge、Haswell等々がある。Sandy Bridge以降は、マイクロアーキテクチャ名とコード名はほぼ同じである。

※【訂正】
 上記Yonahのマイクロアーキテクチャに関する訂正は、本田雅一氏の「週刊MOBILE通信 第393回」(2007年9月21日)を参考に行った。(2017.9.3)

 因みに、Desktop CPUの主なマイクロアーキテクチャとコード名は、NetBurstマイクロアーキテクチャ(Willamette、Northwood、Prescott、Smithfield、Presler、Cedarmill)、Coreマイクロアーキテクチャ(Conroe、Kentsfield、Yorkfield、Wolfdale)、Nehalemマイクロアーキテクチャ(Bloomfield、Lynnfield、Clarkdale、Gulftown)、Sandy Bridge、Ivy Bridge、Haswell等々である。

※【追記】:内蔵グラフィックス
 さらに、Nehalemマイクロアーキテクチャに属するCPUについて注意すべき点は、内蔵グラフィックスである。Arrandaleには、グラフィックスが内蔵されているが、Clarksfieldにはグラフィックスは内蔵されていない。ClarksfieldからArrandaleに換装したとしても(実際には、上位のClarksfieldから下位のArrandaleに換装することはないであろうが)、BIOSさえ対応していれば、グラフィックスの問題は生じないが、ArrandaleからClarksfieldに換装する場合は、通常ノートPCはグラフィックス・ディバイスを増設することができないため、グラフィックス機能がPC内に存在しないことになる場合がある。このような場合は、専用のグラフィックスが搭載されているかどうかを確認する必要がある。(2018.3.31)

◆(3) CPUの発売日が、PCの発売日より前であること~マイクロコードについて~(改訂)

 CPUは、通常の命令をマイクロコード(Microcode)と呼ばれるさらに細かな命令に分けて実行しており、CPUは起動時にBIOSからマイクロコードを読み込むと一般的に説明される(ASCII.jp×デジタル)。マイクロコードとは、CPUが受け取った命令をCPU内部の回路で処理できるように読み換える一連の手続きを記述したコードである。マイクロコードはCPUのファームウェアのようなものだと考えることができる。(「What is Firmware or Microcode, and How Can I Update My Hardware?」)。

 マイクロコードは、基本的にマザーボード上にあるBIOS/UEFIのROMチップにBIOS/UEFIの一部として格納されている。PCに電源が投入されると、先ずCPUにマイクロコードがロードされ(Initial Microcode Load;IML)、その後各種の命令が読み込まれて実行されていくことになる。このマイクロコードのアップデートは、Intelでは、エラッタ(errata:CPUなどの半導体の論理回路などに存在する不具合や欠陥をさす。一般には誤字・誤植[単数erratum]、正誤表を意味する)を修正するために行われる。マイクロコードのアップデートは、通常、BIOSやUEFIの更新を通じて提供される。

 PCの発売日以降に発売されたCPUに対応するマイクロコードがそのPCのBIOSに存在するとは通常考えらない。従って、PCよりも新しいCPUは、物理的に装着できたとしても、半導体回路としては機能しないであろう。仕様の「発売日(Launch Date)」にある「Q1'12」とは、「2012年第1四半期」を意味する(Q1: First Quarter)。Q2(Second Quarter)は第2四半期、Q3(Third Quarter)は第3四半期、Q4(Fourth Quarter)は第4四半期である。2005年以前の発売と思われるモバイルCPUには、発売日の記載がないことも多い。

 確かに、自作PC向けのマザーボードの場合、マイクロコードのアップデートがあれば、それを含むBIOSの更新が公開される。しかしながら、市販PCにおいては、購入者がPCを分解した時点で保証の対象外とし、PCベンダーは責任を負わないとするのが通例であることからすれば、購入者がCPUを交換することまで配慮する義務をベンダーが負うはずもない。となれば、新たに発売されたCPUに対応させるべく、マイクロコードをアップデートするためにBIOSの更新を提供することなど、通常は考えられないであろう。

 とは言うものの、BIOSの更新適用によってCPUが認識されたという事例もないわけではない(「dynabookのCPU交換」のコメント)。同じBIOSを使用する基板が後継機にも使われ、それに新たなCPUが搭載されている場合があり、それに伴いBIOSも更新されていることがあるからであろう。従って、同じBIOSの更新が適用される機種であれば、同種の機種のみならず後継の機種に搭載されているCPUも確認すべきであり、BIOSは最新のものに更新しておくに越したことはないであろう。

 また、Intelは、OS上で行われるマイクロコードのアップデートのために、「Linux Processor Microcode Data File」と題したwebページでLinux向けのマイクロコードのデータファイルを提供しており、Microsoftも、「Intel 製マイクロコードの更新プログラムの概要」と題したwebページを公開している。しかし、Intelはそのページで、「マイクロコードはBIOSからロードされるのがベストである。ある種のマイクロコードは、BIOSだけから適用しなければならない」として、その種のマイクロコードのアップデートはこのデータファイルには含まれていないと明言している。これらはあくまでOS上で行われるマイクロコードのアップデートであるため、BIOSでCPUのオーバークロックなどの設定を行っている場合には、不都合が生ずるようである。やはり、マイクロコードは起動の最初期の段階でロードされる必要があり、そのアップデートはBIOS上で行われるべきである。

 なお、新たなCPUにBIOSが対応していない場合、自力でBIOS内のマイクロコードを最新のものに書き換えるといったことが可能な場合もある(「How to Update CPU Microcode in Award or Phoenix BIOS - For LGA 771 & 775」)。Intelも上記ページで、「熟練のユーザは、もちろんベンダーのアップデート手順を使わず、直接マイクロコードをアップデートすることも可能である。その方法は複雑で、そのためエラーを起こしがちである」と述べている。

 ▼ マイクロコードとCPUIDとPlatform ID

 IntelのCPUにおいて、マイクロコードがCPUに適用されるにあたって、実際にどのようにCPUが識別され、CPUにロードされるのか、そのメカニズムを、主に『Intel 64 and IA-32 Architectures Software Developer's Manual』に基づいて概観することにする。

●① マイクロコードのアップデート

 P6ファミリ・マイクロアーキテクチャを採用したCPUは1995年に出来しているが(『Intel 64 and IA-32 Architectures Software Developer's Manual』 2-2 Vol. 1)、それ以降のCPUは、「Intelが提供するデータ・ブロックをCPU内にロードすることによりエラッタを修正する機能を持つ。このデータ・ブロックは、マイクロコード・アップデート(Microcode Update)と呼ばれる」。Intelは、「半導体の修正を目指したマイクロコード・アップデートのリリースをプロセッサー・ステッピングに相当するものと考え、マイクロコード・アップデートのリリースのために完全なステッピングと同程度の水準の動作検証を済ませている」として、マイクロコードのアップデートをコア・ステッピングを完成させるものと見做している。「BIOSは、アップデート・ローダを備えており、システムの初期化段階でCPUのアップデートをロードする役割を担っている。このプロセスには2段階ある。第1段階は、必要なアップデート・データ・ブロックをBIOSに取り込み、第2段階は、アップデート・データ・ブロックをCPUにロードすることである」。(同書 9-27 Vol. 3A)
 もちろん、マイクロコードのアップデートは、あくまで論理回路上の構成ないし設計にかかわる不具合を修正するものであるから、物理的な改良・改変が必要な不具合がある場合は、コア・ステッピングとして対処がなされている。

 マイクロコードのアップデートは、マルチバイトのヘッダとそれに続く暗号化されたバイナリデータ等で構成されており、実行コードはマイクロコードの中には含まれていない。各マイクロコードのアップデートは、固有のCPUIDのリストに合わせて作成されている。CPUIDがそのアップデートに含まれているCPUIDと一致しなければ、ロードはうまくいかないことになる。(同書 9-28 Vol. 3A)
 「各マイクロコードのアップデートは、特定のCPUまたはCPUセットのために設計されている」。ロードすべき適切なマイクロコードのアップデートを決定するために、ソフトウェアは、マイクロコードのアップデート内に組み込まれたCPUIDの一つが、対象となるCPUに対して実行されたCPUID命令によって返されたCPUIDと一致していることを確証しなければならない。マイクロコードのアップデートに組み込まれたCPUIDとCPUID命令によってCPUから返されたCPUIDが一致しなければ、そのマイクロコード・アップデートのロードは、BIOSによってはねつけられる。(同書 9-32 Vol. 3A)
 マイクロコード・アップデートのヘッダのフィールドには、ヘッダ・バージョン、アップデート・リビジョン、日付、プロセッサー・シグナチャ(CPUID)、ローダ・リビジョン、プロセッサー・フラグ(Platform ID)等が含まれている。(同書 9-28 Vol. 3A)

 「CPU Signatureの確認に加えて、対象となるCPUのPlatformタイプが、マイクロコード・アップデートを正確に対象とするように決定されなければならない。対象となるCPUのPlatformタイプは、IA32_PLATFORM_ID レジスタ(MSR 17h)を読み込むことによって決められる(数字に後置される[h]はその数が十六進数・十六進表記であることを示す。[0x]を前置するなど他の表記法もある)。この64-bitレジスタは、RDMSR命令を使って読み込むことになっている」(同書 9-32 Vol. 3A)。
マイクロコード・アップデート側のPlatformタイプの情報は、そのヘッダにあるプロセッサー・フラグのフィールドに格納されており、各ビットは既定のCPUIDに対して特定のPlatformタイプを表す。ソフトウェアは、CPUフラグのフィールドをMSR(17h)内のPlatform IDと合わせて使用し、アップデートがCPU上にロードするのに適しているかどうかを決定する。マルチビットは複数のPlatform IDをサポートすることを表している場合もある。(同書 9-29 Vol. 3A)

 マイクロコード・アップデートをロードするために、BIOSに実装されるマイクロコード・アップデート・ローダが使用される。このアップデート・ローダは、マイクロコードのアップデートをロードするために必要最小限の命令で構成されている。これが、アップデート・ヘッダのCPU SignatureのフィールドをCPUID命令と合わせて使用し、アップデートをCPU上にロードすることが適切かどうかを決定する。「アップデートをロードするために要求される特定の命令手順は、アップデート・ヘッダに含まれるローダ・リビジョンのフィールドによって決まる。このリビジョンは頻繁に変更されることが想定されている」。少なくとも、新たなCPUモデルが導入される場合には必ず変更されることになる。(同書 9-29, 9-34 Vol. 3A)

 BIOSは、PC起動時の初期化段階で各CPUのために適切なマイクロコードのアップデートをロードしなければならない。BIOSは、NVRAMのある領域(region)をシステムで使用可能な各CPUのコア・ステッピングのために提供する役割を担っている。このNVRAMには、少なくとも1つ以上のアップデート・ブロックが含まれることになる。アップデート・ブロックは、連続する2048バイトのメモリのブロックである。BIOSは、NVRAMのアップデート・ブロックを管理する役割を担う。これには、システムに該当するCPUが存在しない場合、NVRAM内にあるマイクロコード・アップデートを削除するといったガベージコレクション機能が含まれる。実際のアップデート・ブロックの管理は、個々のBIOSの基礎部分に特有のものとして実装されるのである。
 例えば、CPUIDを昇順に並べ替えて連続でアップデート・ブロックを使用するBIOSもあれば、最初に利用可能なブロックを使用するBIOSもある。さらに、ガベージコレクションがすべてのNVRAMスロットを消去するというセットアップ・オプションとして実装されることもあれば、起動時に使用されないエントリを検出して除外するというBIOSコードとして実装されることもある。つまり、実際にCPUにマイクロコードがどのように適用されるかは、BIOS次第ということになる。(9-38 Vol. 3A)

 マイクロコード・アップデートのヘッダのフィールド内のアップデート・リビジョンについては、「アップデートのための固有のバージョンナンバーであり、CPU内で機能している現在のアップデートを示すためにCPUから提供されたアップデート・シグナチャの基礎となるものである。アップデートを認証し、CPUが正しくロードしたことを確認するためにBIOSによって使用される。このフィールドの値は、CPUステッピングの識別だけに使用されるものではない」と説明されている。(同書 9-28 Vol. 3A)
 つまり、ひとたびマイクロコード・アップデートがCPUにロードされると、CPUのIA32_BIOS_SIGN_ID(BIOS Update Signature ID)がこのマイクロコード・リビジョン・ナンバーによって更新される。次回以降、CPUID命令が実行されるたびに、CPUID命令(01h)の実行に続いて、このBIOS Update Signatureが MSRのアドレス 8BhのIA32_BIOS_SIGN_ID MSRに返され、これとマイクロコード・アップデートのマイクロコード・リビジョン・ナンバーが比較されて、それを新たにロードすべきがどうかがBIOSによって判定されるのである。(同書 9-36, 9-37 Vol. 3A)

●② CPUID

 CPUIDCPUID SignatureCPU Signatureとも呼ばれる)とは、文字通りCPUのID(IDentification:識別)であり、CPUを識別するための数値である。このCPUIDに応じて各マイクロコードは設計されている。
 CPUIDは、マイクロコードのアップデートのヘッダ側には、「Processor Signature」として、Extended Family、Extended Model、Type、Family、Model、Steppingの各値が収められている(通常、CPUIDを表示するときはTypeの値は使われていない)。なお、ここで使われるSteppingの値は、CPUIDの一部であって、コア・ステッピングと同じものではない。このことはIntelも、"The CPU stepping value is not the same as core stepping."と明示して注意を促している(「CPU Stepping Information for Intel Processors」)。ここでは混乱を避けるため、CPUIDの「Stepping」は、このように英語表記のままとする。
 CPU側のCPUIDは、x86系のCPUの命令の一つであるCPUID命令によって取得される。CPUID命令は、CPUの識別情報や機能情報を得るために用いられる。EAXレジスタに定められた数値を設定し実行することによって、それに応じた値が返されることになる。
 例えば、EAX = 0を実行すると、CPUベンダー名(Vendor identification string)が得られる。Intelは、"GenuineIntel"、AMDは、"AuthenticAMD"という文字列となっている。

 BIOSに実装されたマイクロコード・アップデート・ローダは、CPUに対してEAX = 01hとするCPUID命令を実行して得られるCPUIDとマイクロコード・アップデートのヘッダのフィールドに収められているCPUIDが一致するかどうかを判別して、そのアップデートをCPU上にロードするか否かを決めるのである。

 CPUID命令で取得されるCPUIDの32bit値を十六進数で表すと、「0XXX0XXX」と8桁の値となるが、先頭の8桁目は「0」(Reserved)、7桁目・6桁目はExtended Family ID(8bit)、5桁目はExtended Model ID(4bit)、4桁目は「0」、3桁目はFamily ID(4bit)、2桁目はModel ID(4bit)、1桁目はStepping ID(4bit)となっている。

 Family IDが「0Fh」の場合にのみ、Extended Family IDとFamily IDが連結されて表示される。Family IDが「0Fh」以外の値の場合は、Family IDのみがFamilyとして表示される。

 Family IDが「6h」または「Fh」の場合にのみ、Extended Model IDとModel IDが連結されて表示される。それ以外の場合は、Model IDのみがModelとして表示される。

 例えば、
 CPUIDが000206C2hであれば、Family=6h、Model=2Ch、Stepping=2hとなる。
 CPUIDが000006FAhであれば、Family=6h、Model=0Fh、Stepping=Ahとなる。


 ただし、IntelのCPUでは、Extended Familyは「0」であり(2019年2月現在)、Extended Modelが「0」である場合もあるため、先頭の「0」を省略して、CPUIDはそれぞれ、
 206C2
 6FA
 と5桁または3桁で表示されることが多い。

 また、
 Family : 6、Model : 2C、Stepping : 2は、十進数で、
 Family : 6、Model : 44、Stepping : 2と、
 Family : 6、Model : 0F、Stepping : Aは、同じく十進数で、
 Family : 6、Model : 15、Stepping : 10と表示されることもある(例えば、コマンドプロンプトで、wmic cpu get captionを実行した場合など)。
(同書 3-208, 3-209 Vol. 2A)
(上記「Linux Processor Microcode Data File」)

 なお、AMDでは、例えばCPUIDが810F10の場合、Extended Familyの08hとFamilyの0Fhを加算して17hとし、Extende Modelの1hとModelの1hは単に並列して11hとするようである。つまり、Family 17h(23)、Model 11h(17)、Stepping 0となる。

●③ Platform ID

 CPUは、複数のタイプのPlatform向けに実装することが可能である。
 CPU側のPlatform ID ビットは、Model Specific Register(モデル固有レジスタ)のアドレス17hであるIA32_PLATFORM_IDに、RDMSR(Read from Model-Specific Register)命令によって、読み込まれる3bitの二進化十進数(binary coded decimal;BCD)である。よって、Platform IDとなるプロセッサー・フラグは0~7の8種となる。
 マイクロコード側のPlatform IDは、マイクロコードのヘッダのプロセッサー・フラグのフィールド内に8bitの値としてコード化されている。

 そして、「そのPlatform IDの3bitは、二進化十進数として読み込まれる場合、搭載されたCPUと関連付けられるマイクロコード・アップデートのヘッダのプロセッサー・フラグ・フィールド内のbit位置を示している」(同書 9-32 Vol. 3A)と説明されている。

 3bit : Binary Coded Decimal(二進化十進数)
 000 : プロセッサー・フラグ 0
 001 : プロセッサー・フラグ 1
 010 : プロセッサー・フラグ 2
 011 : プロセッサー・フラグ 3
 100 : プロセッサー・フラグ 4
 101 : プロセッサー・フラグ 5
 110 : プロセッサー・フラグ 6
 111 : プロセッサー・フラグ 7

 これらが、8bitの各bitに対応していることになる。
 例えば、マクロコードのPlatform IDが12hの場合、8bitであるから、これを二進数の8桁で表すと、
 00010010
 右から1桁目がフラグ 0、2桁目がフラグ 1、3桁目がフラグ 2、4桁目がフラグ 3、5桁目がフラグ 4、6桁目がフラグ 5、7桁目がフラグ 6、8桁目がフラグ 7に対応しているということであり、この場合、1の値が入っている2桁目のフラグ 1と5桁目のフラグ 4、即ち、CPUのPlatform IDの1と4がこのマイクロコードのアップデートの対象であるということになる。

 例えば、マイクロコードのPlatform IDが92hであれば、二進数は、
 10010010
 即ち、2桁目、5桁目、8桁目のPlatform ID 1と4と7が含まれていることを示すのである。
(同書 9-33 Vol. 3A)

●④ CPUID、Platform ID等を知る方法

 PCに搭載しているCPUのCPUIDやPlatform ID等を知るには、CPU-Zなどのソフトを使う方法がある。CPU-Zの「CPU」タブにはCPUIDは表示されるが、Platform IDは表示されない。また、コア・ステッピングはCPUIDのSteppingと混同しないように「Revison」と表示されている(ただし、Intelの製品仕様サイトのステッピングと一致していないこともある)。

 Windowsの場合、レジストエディタからHKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessorを開き、配下のコアないしスレッド番号のキーを見れば、IdentifierとしてFamily/Model/Steppingが十進数で表示され、Platform IDも表示される。

 これは、コマンドプロンプトで
 reg query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0
 を実行しても見ることができる。

 また、CPU-WorldというサイトのCPUID databaseは、公式のものではないが、CPUIDの情報を検索するのに便宜である。

 Intelが公開している『MICROCODE REVISION GUIDANCE APRIL 2 2018』は、IntelのCPUのCPUID等を知る上で重要な典拠となる。

 さらに、IntelのCPUの場合、ベンダーのサイトからBIOSファイルが手に入れば、intelmicrocodelist.exeというプログラムを使ってそのBIOSに含まれているマイクロコード・アップデートのCPUIDやPlatform IDを知ることができる。その概要とダウンロードについては、「Intel Microcode List」というサイトをご覧いただきたい。

 結局のところ、市販機においては、マイクロコードがどのCPUに適用されるか否かは、BIOS/UEFI次第であり、どのマイクロコードをBIOS/UEFIに含めるかは、ベンダー次第であるということになる。従って、新たなCPUが発売されれば、必ずそれに応じた新たなマイクロコードのアップデートがIntelからリリースされるのであるから、PCの発売後に新たに出てきたCPUは、当該マイクロコードのアップデートを含むBIOS/UEFIの更新が提供されない場合には、動作することはないと推測するのが妥当であろう。他の条件を充たしていながら、CPUが動作しない場合は、このマイクロコードの問題と考えることができる。これを一言で表すれば、そのCPUにBIOSが対応していない、となる。

 ▼ コア・ステッピング

 IntelのおけるCPUのコア・ステッピング(単にステッピング、ステップとも)とは、CPUのバージョン(リビジョン)を表す文字列である。アルファベットと数字の各1文字の組合せで表す。新たに製造されるCPUの最初のバージョンは、A0である。それに構造上・機能上の修正・改良が加えられるたびに、アルファベットと数字が順次昇っていく。マイナーチェンジであれば、数字だけが増えていき(例えば、B0がB1、B2と)、大きな改変があるとアルファベットが変わっていく(例えば、B2がC0、D0と)。従って、E2よりG1の方が新しいバージョンとなる。(「What is a CPU stepping?」)

 CPUのコア・ステッピングは、どの段階の修正・改良を経て製品として発売されたかを示す。製品によっては、発売後に修正・改良がなされることがあるため、同一プロセッサー・ナンバーのCPUでありながら、複数のコア・ステッピングを持つものがある。ステッピングが異なれば、製品を識別するためにCPUに印字されるsSpecナンバーも異なることになる。ただし、異なるsSpecナンバーでも同じステッピングのCPUもある。例えば、BOX版として一般に販売されるものと、TRAY版(OEM版)として他社に提供されるものとでsSpecを変えていることもある。コア・ステッピングとsSpecは、Intelの製品仕様サイトの各CPUの「オーダーとコンプライアンス情報」を開くと確認できる。(なお、OEMとは、一般的に、Original Equipment ManufacturingまたはOriginal Equipment Manufacturerの略であり、「他社ブランドで販売される製品を製造すること、またはそれを製造する会社」を意味するが、Intelは、OEMとして製造された製品を「OEM版」、OEM先のPCメーカーを「OEMメーカー」などと表記している。)

 同じプロセッサー・ナンバーのCPUであっても、コア・ステッピングが異なれば、通常それぞれのCPUIDも異なることになる場合が多い。従って、それぞれに適用されるマイクロコードのアップデートも異なることになる。このことから、同じプロセッサー・ナンバーのCPUに換装したにもかかわらず、動作するものとしないものがあることの説明が付くことになる。

 例えば、T8300が動作するPCにおいて、これと同じPenrynのP8400やP8600に換装しても動作する場合と動作しない場合があり、P8700は動作しないという事例がある(「dynabookのCPU交換」)。T8300のコア・ステッピングはM0であり、P8400とP8600のそれはM0とR0があり、P8700のそれはR0だけである。前述のCPUID databaseを使って調べると、これらCPUのM0のCPUIDはすべて10676であり、R0のCPUIDは1067Aである。とすれば、当該機のBIOSは、CPUID 10676のマイクロコードのアップデートしか持っておらず、それより新しいCPUID 1067Aのマイクロコードを持っていないと推測される。そのため、R0ステッピングのP8400・P8600およびP8700は動作しなかったと考えられる。このようなPCの場合、CPUID 1067Aのマイクロコード・アップデートを含むBIOSの更新が提供されない限り、P8400・P8600を動作させるには、古いM0ステッピングのsSpecのP8400・P8600を入手する必要がある。

 さらに、同じPenrynのT9400に換装しようとする場合、T9400にはC0とE0のコア・ステッピングの製品があり、いずれを選ぶべきか。それぞれのCPUIDを調べると、C0が10676、E0が1067Aとなっている。となると、CPUID 10676のC0ステッピングの製品を選べば、T9400は動作する可能性が高いことになる。

 このように、あるプロセッサー・ナンバーのCPUにおいて、異なるコア・ステッピングの製品がある場合、CPUIDも異なることになるのが通例であるが、必ずしもそうとは限らない。同じコードネームを持つCPUの間では、異なるコア・ステッピングの製品であっても同一のCPUIDを持つこともある。さらに、同一のマイクロアーキテクチャに属するCPUであれば、異なるコードネームを持つCPUであっても同じCPUIDを持つこともある。例えば、上記のPenrynと同じCoreマイクロアーキテクチャに属するWolfdaleのコア・ステッピング C0とM0の製品は、PenrynのC0・M0と同じCPUID 10676を持ち、Wolfdaleのコア・ステッピング E0とR0は、PenrynのE0・R0と同じCPUID 1067Aを持つ(例えば、E7300やE8500など)。また、あるプロセッサー・ナンバーのB2とB3、あるいはD0とD1などのように、わずかな修正が施されただけの近接するコア・ステッピング同士では、同一のCPUIDを有することもある(例えば、Atom E3805など)。

 前述したように、CPUIDの一部を構成するSteppingの値は、単にコア・ステッピングを表したものではなく、それとは異なる規準で定められているということを、心に留めておくべきである。

※ エンジニアリング・サンプル(ES)

 オークションサイトなどで「ES品」と表示されたCPUを時折見かける。ESは、Engineering Sampleの略である。これについては、Intelの「Information About Engineering Sample Processors」と題されたwebページで解説されている。それによると、ESプロセッサーとは、クオリフィケーション・サンプル(Qualification Sample: QS)プロセッサーとも呼ばれ、IntelがOEM・ODMのPC製造元やISVのソフトウェアベンダー等に発売前に製品設計段階で使用するために貸し出す試作版であるとされる。ES版は、製品化前のテストおよび評価のため、製品版CPUより多くの機能を備えていることが多いとされる。

 ES版CPUは、機密扱いであり、貸し出されたものであるから販売・再販売が禁止されている。しかし、世の常として様々な正当ならざるルートを経てES版は市場に流れることになる。

 ES版に最終的な修正・改良が加えられて製品版となるのであろうから、ES版が安定的に動作することは少ないようである。ES版CPUは、BIOSやOSなどに正規のプロセッサー・ナンバーが表示されないことも多い。試作版であるから、CPUID命令によって返されるべき"Processor Brand String"にプロセッサー・ナンバーまでは規定されていないのであろう。

 ES版か製品版かは、CPUの上面に印刷された文字によって識別することができる。製品版は、sSpec(S-Specとも表記される)というSで始まる5桁の英数字が印字されているが、ES版には、Qで始まるQspecという4ないし5桁の英数字が印字され、その後にES(QSとも)と明示されている。特に、デスクトップ向けCPUには、Intel Confidentialとも印字されている。

 いずれにしろ、ES版に手を出さないのが賢明であろう。


(この項は全面的に書き改めました。2019.2.13)

◆(4) その他留意すべきこと

 Penryn以前のCPUにおいては、チップセットとの関係でFSB(Front Side Bus)のバススピード(Bus Speed)に注意が必要である。たとえ認識されても、基板上のチップセットが対応しうるFSBを超えて、CPUがその能力を発揮することは勿論できない。Arrandale以降は、DMI(Direct Media Interface)等の最大転送帯域幅は同一世代では通常同じであるから、ノートPCではこの点が問題となることはほとんどない。

 チップセットについては、新たにCPUが開発されると、それに応じてチップセットも開発されるのが通例である。とすれば、あるチップセットは、そのチップセットで動作しているCPUと同じソケットで、同じコードネームまたはマイクロアーキテクチャを持つCPUに対応しているのが通常と考えられる。従って、上述のソケットおよびコードネームまたはマイクロアーキテクチャなどに着目してCPUを選び出せば充分であって、あえてチップセットを持ち出すまでもない、とも言える。
 しかしながら、チップセットによっては、対応するCPUが非常に限られている場合がある。例えば、HM75・HM76・HM77 ExpressはSandy Bridge・Ivy BridgeのCeleron・Pentiumシリーズを始めi3・i5・i7シリーズに対応しているが、HM70 Expressは、Sandy Bridge・Ivy BridgeのCeleronとPentiumシリーズにしか対応していない(たとえ、PCが起動できたとしても数十分で電源が落ちるという事例が多数ある)。あるいは、HM65・HM67 Expressは、Sandy Bridgeに対応しているが、ノートPCではIvy Bridgeに対応していない(ただし、デスクトップでは、一部の6シリーズのチップセットはIvy Bridgeに対応している。ITmedia PC USER・ニュース)。とはいえ、Intelの仕様情報ページで「対応する製品」に挙げられていないCPUやチップセットであっても、マザーボードやBIOSが対応していれば、動作する場合がある。チップセットと動作するCPUとの関係にも注意を払っておく必要がある。

 TDP(Thermal Design Power、熱設計電力)の相違は、BIOSによる交換CPUの認識自体には影響がないが、TDPの高いCPUに交換した場合、CPUの温度には注意が必要である。CPUがあまり高温になるようであれば、ノートPC用の冷却サプライ用品などが必要となる場合もあろう。

 これらの条件に合致するCPUの中から、少しでも性能の高いCPUを選ぶことになろう。特に、そのPCの上位機種に使われているCPUは、交換に成功する可能性は非常に高く、有力な候補となる。同種の基板、同種のBIOSで動作しているCPU同士であれば、動作可能性が高まるのは当然である。PCのメーカーないしベンダーのサイトで上位機種等の仕様を調べてみるとよい。また、ブログ等において同型のPCでCPU換装に成功した事例が紹介されている場合には、そのCPUは最も確実な候補となる。

 いくつか候補が挙ってくれば、ショッピングサイトやオークションサイトで価格を見比べながら、望む性能との兼ね合いを計りつつ、最終的な決断を下すことになる。勿論、条件が合えば、譲り受けたり、他のPCから取り外したCPUを交換用とすることもあろう。

■3. CPUの交換作業

 CPUの交換前に、BIOSの更新がある場合は、更新しておく。前述したように新たなCPUのサポートを考慮してBIOSが更新されるということは通常考えにくいが、念のためである。CPUを扱うに際しては、静電気による損傷やピンの曲がりを防ぐため、くれぐれもCPUの端子には触れないように。

 メーカーあるいは機種によって、CPUにたどり着くまでのPCの分解手順・方法が非常にややこしい場合もあるので、先ず、そのノートPCの分解手順・方法をWebで確認する。

 以前取り上げた東芝のdynabook EX/33JTX/64Hなどは、CPUを交換するには基板を取り出さなければならず、かなり手間のかかる機種であるが、ネジ数本を外すだけで簡単にCPUを拝めてしまうものもある。

 Web検索でそのPCの機種名と共に「分解」などと打って、分解手順を調べる。必ずしも同一型番の分解手順である必要はない。上記のEX/33とTX/64のように、異なる機種でも近接した時期に同じメーカーによって製造されたノートPCは、筐体や構造が類似していることも多く、分解手順も似通っている場合が少なくない。従って、様々な機種で検索をかけ、丹念に画像を観察して類似する筐体の分解手順を見つけ出すことが肝心である。

 その手順を参考に、ようやく交換作業となる。特にCPUの交換自体の手順を示してくれているブログ等がある場合、その手順に従えば問題はなかろう。ACアダプタを抜き、バッテリを取り外して作業に取りかかる。

 CPUを初めて交換する場合、気を付けなければならないことの一つは、CPUグリスの扱いである。CPUグリスは、CPUの熱をヒートシンクに効率よく伝えるためにCPUとヒートシンクの間に塗布される熱伝導性の高いペースト状の潤滑剤である。これは必ず用意しておく。取り外したCPUに使われていたグリスは、できる限り熱伝導性を高く保ち、空気が入ることを避けるために、そのまま再使用することは望ましくないとされている。外したヒートシンクのコアプレートに付いているグリスは、必ずきれいに拭き取り、取り付けたCPUに新たにグリスを塗るようにする。この点については、より詳しい解説がなされている、PC自作の手解きに関するブログが数多くあるので、その一つか二つに目を通しておくとよい。

 交換後、電源を入れてもBIOSすら起動しない場合、最後の一あがきとしてCMOSクリアしてみるとよい(CMOSクリアについては「初期化について」参照)。基板上にあるCMOS用のボタン電池を外し、数分後元に戻すだけである。ノートPCの場合、容易に外せない機種もあるようだが。CMOSクリアすると、BIOSの設定や接続ディバイスやリアルタイムクロック(RTC、PCの内蔵時計のこと)等の情報が一旦全て消去される。これによってBIOSの誤作動による不具合が解消することもある。これで駄目なら、諦めて元のCPUに戻すか、別のCPUを試すことになる。

※【追記】
 CPU交換に成功した場合に、留意しておかなければならないことがある。
 そのPCをリカバリ(再セットアップ)して、工場出荷時(購入時)の状態にする場合、出荷時のCPUでなければ、それを行えないことがある、という点である。CPU交換後、一度リカバリを行ってみて、それが可能かどうかを確認しておくべきかもしれない。CPU交換後もリカバリが可能であれば、元の搭載CPUを手放しても問題はないが、そうでなければ、元のCPUを手元に残しておくか、CPU交換後にOSがインストールされているHDD/SSDをバックアップして、リカバリしなくとも何時でも安定した状態に戻せるようにしておく必要があろう。(2017.12.13)

三、交換実例

 自作機を主に使用しているので、これまでノートPCのCPU交換を行った経験は多くないが、東芝のdynabook(「dynabookのCPU交換」)のほかに、HP(Hewlett-Packard、ヒューレット・パッカード)のProBook、NECのLaVie、富士通のFMV、SONYのVAIOのCPUを交換したことがあるので、それらの画像を参考までに掲載しておく。

■1. HP、ProBook 4540s (2012年11月発売) (「HP特有のエラー」参照)

 外出先などでPCが必要な場合に使用している。搭載されていたCPUは、Intel Core i3-3110Mであり、チップセットは、HM76 Expressである。これをi7-3612QMに交換している。CPUの主な仕様の比較は以下の通り。このPCの分解およびCPUの交換方法の詳細については、HPが公開している"Maintenance and Service Guide"をご覧下さい。

換装前換装後
Core i3-3110MCore i7-3612QM
プロセッサー・ナンバーi3-3110Mi7-3612QM
開発コード名Ivy BridgeIvy Bridge
発売日Q2'12Q2'12
コア数24
スレッド数48
ベース動作周波数2.40GHz2.10GHz
TDP35W35W
対応ソケットFCPGA988FCPGA988
sSpecSR0N1SR0MQ
ステッピングL1E1
CPUID306A9306A9

◆(1) HPのこのタイプの底面カバーは、簡単に取り外すことができる。図-1の丸枠の両リリースラッチを内側にスライドさせてバッテリパックを外し、再度リリースラッチをスライドさせて底面カバーを矢印の方向にスライドさせると取り外せる。

 図-1
 ProBook-1

◆(2) 図-2の丸枠のビス3本を外し、アルミ板をそこにしるされている矢印の方向にスライドさせて取り外すと、CPUクーラーが現れる。

 図-2
 ProBook-2

◆(3) 図-3のCPUファンを留めるビスとヒートシンクを留めるビスを外し、CPUファンを持ち上げると、ヒートシンクだけを取り出すことができる。

 図-3
 ProBook-3

◆(4) 現れたCPUソケットのマイナスネジを180度緩めると、CPUは取り外すことができる(図-4)。

 図-4
 ProBook-4

◆(5) PGAのCPUには、LGAのCPUにあるような誤装着防止のための切り欠き(cutout)はない。前述したように、PGAの場合、CPUの隅の一つにピンを配置せず、ソケット側のその隅にはピンホールを配置しないことにして(図-5)、誤装着を防いでいる。ダイの側の表面にはその個所を示す三角の印があるので、その部分がソケットのピンホールのない個所にくるようにCPUを装着する。

 図-5
 ProBook-5

■1. NEC、LaVie LS150/F26W (2012年3月発売)

 カミさんが使っているPCである。搭載チップセットは、HM65 Expressである。Pentium B950をi7-2630QMに交換。両者の主な仕様比較は次の通りである。

換装前換装後
Pentium B950Core i7-2630QM
プロセッサー・ナンバーB950i7-2630QM
開発コード名Sandy BridgeSandy Bridge
発売日Q2'11Q1'11
コア数24
スレッド数28
ベース動作周波数2.10GHz2.00GHz
TDP35W45W
対応ソケットPGA988FCPGA988
sSpecSR07TSR02Y
ステッピングQ2D2
CPUID206A7206A7

◆(1) このLaVieも底面からCPUに簡単にアクセスできる。図-6の5か所のビスを外し、カバーを外すだけで、CPUやCPUクーラーを拝める。

 図-6
 LaVie-LS150-1

◆(2) 図-7の6か所のビスとCPUファン・コネクタを外すと、CPUクーラー一式を取り外すことができる。

 図-7
 LaVie-LS150-2

◆(3) 前述したようにCPUを固定するネジを回せば、CPUを交換できる(図-8)。

 図-8
 LaVie-LS150-3

◆(4) なお、この機種には図-9のように、CPUファンとヒートシンクの間を簡単に清掃することができる工夫がさなれている。この部分は非常に埃が溜まりやすく、溜まった埃は風をさえぎり、冷却性能を著しく低下させてしまうから、非常にありがたい心遣いである。ノートPCの利用者には、CPUの冷却に無頓着な人が少なくないようなので、注意を促しておきたい。

 図-9
 LaVie-LS150-4

■3. NEC、LaVie LL750/D (2005年9月発売)

 これは、2005年製で少し古いが、Windows XPが動き、インタフェイスが豊富で、液晶も綺麗なノートPCとして今でも大事にしている。これもCPUを交換して使用していたので、参考までに挙げておく。Celeron M 360をPentium M 770に交換。チップセットは、ATI社製のRADEON XPRESS 200M/IXP 400。

換装前換装後
Celeron M 360JPentium M 770
プロセッサー・ナンバー360770
開発コード名DothanDothan
コア数11
ベース動作周波数1.40GHz2.13GHz
FSB400MHz533MHz
TDP21W27W
対応ソケットPPGA478PPGA478
sSpecSL8MLSL7SL
ステッピングC0C1
CPUID6D86D8

◆(1) 図-10の矢印のくぼみにマイナスドライバなどを差し込み、少し上に持ち上げるとカチッと音がして、ヒンジカバーが浮き上がる。これは、図-11のように電源ボタン等が配置されたプレートと一体となっており、両側からゆっくりと持ち上げて外す。ケーブル(フレキシブル・フラット・ケーブル、FFC)は、矢印のケーブル・ストッパを少し上方に持ち上げると抜ける。

 図-10                              図-11
 LaVie-LL750-1 LaVie-LL750-2

◆(2) キーボードは、図-12の矢印の方向にスライドさせ、同じくケーブル・ストッパを持ち上げて、取り外す。図-13の中央のアルミカバーの5か所のビスを外して、カバーを取り外す。

 図-12                              図-13
 LaVie-LL750-3 LaVie-LL750-4

◆(3) 図-14に見えるヒートシンクの3か所のビスを外して、ヒートシンクを取り外すと、図-15となる。

 図-14                              図-15
 LaVie-LL750-5 LaVie-LL750-6

■4. その他、富士通 FMV、SONY VAIO等 (2018.3.23追記)

 2013年以前のPCは、CPUにPGAが使用され、CPUの交換可能な機種が少なくない。上記以外にCPU交換時の写真を残していたものがあるので、富士通のFMV-BIBLO NB55K/T(図-16~19)、SONYのVAIO VGN-S72PB(図-20~23)、東芝のdynabook T351/34CR(図-24~29)の画像だけでも示しておく。勿論、2013年以前のPCであっても薄型のいわゆるモバイルPCなどと呼ばれるものには、BGAのCPUが搭載されていることが多く、例えばPanasonicのLET'S NOTEなどは、ほとんどの機種にBGAが使われている。

 ● FMV-BIBLO NB55K/T (2005年製) 搭載CPU:Dothan
 図-16                              図-17
 FMV-BIBLO NB55KT-1 FMV-BIBLO NB55KT-2
 図-18                              図-19
 FMV-BIBLO NB55KT-3 FMV-BIBLO NB55KT-4

 ● VAIO VGN-S72PB (2005年製) 搭載CPU:Dothan
 図-20                              図-21
 VAIO_VGN-S72PB-1 VAIO_VGN-S72PB-2
 図-22                              図-23
 VAIO_VGN-S72PB-3 VAIO_VGN-S72PB-4

 ● dynabook T351/34CR (2011年製) 搭載CPU:Sandy Bridge
 図-24                              図-25
 dynabook-T351-1 dynabook-T351-2
 図-26                              図-27
 dynabook-T351-3 dynabook-T351-4
 図-28                              図-29
 dynabook-T351-5 dynabook-T351-6

四、改めて一言

 ひとたび分解されたノートPCに対しては一切の責任を負わないとするPCメーカーが当該BIOSの対応するCPUに関する情報を明らかにすることはない以上、CPUの交換は一か八かの博打になりかねない。しかし、上記の諸事項に留意し、果敢に挑んだ先人達の成果を参考にすれば、CPU交換も闇雲に怯える必要はない。とはいえ、徒労に終わるおそれも拭いきれないことは銘記すべきである。

tag : CPU 交換 パッケージ PGA BGA マイクロコード CPUID

コメントの投稿

管理者にだけ表示を許可する

Re: 参考になりました!

うったんさん
コメントありがとうございます。

i5-2450Mからi7-2630QMへの交換は、かなりの処理能力の向上が見込まれます。しばらくは、そのPC、現役で活躍させることができるでしょう。

このブログが、また一人、CPU交換を試みる人の一助となれたことを嬉しく思います。

参考になりました!

win10にアプグレしてから動作がモッサリしてる感じがしてCPU交換しようと色々調べてた結果ここにたどり着きました。
現在搭載してるCPUがi5-2450mで、交換する候補が2630QM。
ソケットがppga988とfcpga988の違いで交換できるかわからなかったのでとても参考になりました。

もちごはんさんへ

もちごはんさん
コメント、非公開でしたが、ありがとうございます。

知恵袋の件、恐れ入ります。
CPU交換については報告をお待ちしています。

Re: CPU装換の詳しい解説

あたかふさん、
コメントありがとうございます。

Intelは、CPUという製品を区別・管理するために「プロセッサー・ナンバー」を使っています(i3-2350M、i7-2640M等々)。一般の製造物でいう「型番」に当たります。

例えば、最新のdynabookのTシリーズでも、PT85EGP-BJA、PT85ERP-BJA2、あるいはPT75FWP-BJA2、PT75FBP-BJA2、PT75FGP-BJA2、PT75FRP-BJA2といったように機能や性能や形状が異なる種々の製品が販売されています。消費者は、自らの用途や好みに合わせてその中から選び取ることができます。CPUもそれと同じことです。

Intelのサイトに「インテルのプロセッサー・ナンバーとは」と題されたwebページがあります。こちらです。
https://www.intel.co.jp/content/www/jp/ja/processors/processor-numbers.html

そこにはこう書かれています。「一般にプロセッサー・ファミリーやクラスが同じ場合、数字が大きいほどより多くの機能が搭載されていることを表しますが、数字が大きくてもすべての機能が強化されているわけではありません。特定のプロセッサー・ブランドや種類を選んだら、プロセッサー・ナンバーを比較することで、そのプロセッサーに目的の機能が搭載されているかどうかを確認してください。」と。一読してみてください。

Sandy Bridgeのモバイル向けCPUの一覧はこちらです。
https://ark.intel.com/ja/products/codename/29900/Sandy-Bridge#@mobile

例えば、i7-2640Mとi7-2630QMとを比較してみてください。2コア4スレッドのi7-2640Mより4コア8スレッドのi7-2630QMの方が処理能力が高いのはお分かりでしょう。財布の問題もあるでしょうが、できればi7-2760QM、i7-2670QM、i7-2630QMなどの上位モデルに交換することをお勧めします。

CPU装換の詳しい解説

ノートPCのCPU交換にチャレンジしようとネット記事を探していて、こちらに辿り着きました。よくわからなかったCPUの仕様が理解できました。ありがとうございます。

・i3 2350M -> i7 2640M

辺りへ装換してみようと思います。

ところで、同一シリーズCPUで、なぜこんなに多く(型番の下一桁や二桁違い)のCPUがあるのでしょうか?

コメントのお礼

名古屋のH.R.さん

コメントありがとうございました。
「非公開コメント」でしたので、こちらにはお礼だけを述べておきます。
プロフィール

そんぷうし ふうえん

Author:そんぷうし ふうえん

忙中閑は、こっそりと見出す。
カミさんと子どもたちが寝静まるのを待って、夜な夜なPCの前に端座し、その不可思議なる箱の内奥にそっと手を入れては、悦に入る日々なのであります。
時としてその手はPC以外の内奥にも。


※ リンク貼付及び引用は自由ですが、引用する場合は該当ページのURL及びタイトルを明記して下さい。

Automatic Translation
If you click a language below on any page, the translator is supposed to display the latest page at first. So you need to jump back to the previous page you were about to read.
Please note that there are some translations that are non-grammatical and do not accurately reflect the meaning of the originals because of machine translation.
 【Translated by Google Translate】
全記事一覧表示

   全ての記事のタイトルを表示する

最新記事
カテゴリ別アーカイブ
最新コメント
月別アーカイブ
検索フォーム
リンク
最新トラックバック
RSSリンクの表示
累計閲覧回数
  
QRコード
QR