メインコンテンツへスキップ

解説記事 / computing-hardware

コンピューターハードウェアの歴史 — CPU・GPU・FPGA・ASIC

フォン・ノイマンとEDVAC、transistor、Cell/B.E.、CPU・GPU・FPGA・ASICへ。PS3/Folding@home、BOINC、Bitcoin miningを支えた半導体・企業・供給網を一次資料でたどる。

約26分

要点

Bitcoin miningとBOINCは、ともに世界中の集積回路を演算へ動員した。しかし、同じCPUやGPUを使った時代があっても、科学結果を作る異種計算と、固定SHA-256を競争するProof of Workでは、最適な機械も検証も経済も異なる。本稿は計算機を単純な速度競争ではなく、回路、命令、data movement、並列性、programmability、製造制度の歴史として読む。

01計算機史を一本の進化線にしない

計算機の歴史はCPUからGPU、ASICへ一直線に置き換わった歴史ではない。stored-program設計、transistor、IC、MOS、microprocessor、FPGA、GPU、分散科学計算、Bitcoin ASICという異なる発明が重なり、古い種類も制御・汎用処理・検証という役割を変えて残っている。

CPU、GPU、FPGA、ASICは、古いものから新しいものへ置き換わった四世代ではありません。CPUは複雑な制御と幅広いsoftwareを扱い、GPUは大量の似た演算を高throughputで進め、FPGAはfieldで回路を組み替え、ASICは狭い仕事へ回路を固定します。現在のsystemでも、これらはcontroller、accelerator、network、storageと組み合わされて共存します。

進歩を読む軸は少なくとも六つあります。switchの媒体(relay、vacuum tube、transistor)、一chipへの集積、ISAとsoftware互換性、回路の再programmability、並列処理の粒度、そして誰が設計・製造・運用するかです。transistor数、clock、core数、FLOPS、hash/sを一つの性能順位へ混ぜることはできません。

本稿でいうASICは、現場で論理機能を書き換えず、特定domainへ最適化した集積回路という操作的な意味です。広義にはCPUやGPUも用途を持つICですが、ここでは汎用processor、reconfigurable logic、fixed-function acceleratorの設計差を説明するために用語を分けます。

02EDVACとフォン・ノイマン — 文書の著者と発明の共同史

1945年、John von Neumann名義の『First Draft of a Report on the EDVAC』は、arithmetic unit、central control、memory、input、outputという機能構成を示し、命令とdataを数値としてmemoryへ置く電子計算機の論理設計を広く流通させました。後世に「von Neumann architecture」と呼ばれる考え方の重要な文書です。

ただし、von Neumannがstored-program computerを一人で発明したわけではありません。First DraftはENIACとEDVACに取り組んだMoore Schoolの共同作業、とりわけJ. Presper Eckert、John Mauchly、Herman Goldstineらとの議論を背景に持ちます。著者欄が一人であることと、発明の帰属は同じではありません。

さらに「stored program」は当時の文書にない後世の分類語です。配線変更を減らす設計、書き換え可能memory上のprogram実行、命令とdataの同一memory、現代的code modelは互いに近いものの完全な同義語ではありません。「世界初」を語るなら、Manchester Baby、改造ENIAC、EDSACなど、何を最初と数えるかを定義する必要があります。

03真空管からtransistor、集積回路、MOSへ

ENIAC級の真空管式計算機は電子速度で動きましたが、多数のtube、電力、熱、故障、配線空間を必要としました。1947年12月、Bell LabsのJohn BardeenとWalter Brattainはgermaniumのpoint-contact transistorで増幅作用を実証し、William Shockleyはその研究groupを率い、後にjunction transistorを構想しました。三者の寄与を一人へ縮約してはいけません。

1958年にTexas InstrumentsのJack Kilby、1959年にFairchild SemiconductorのRobert Noyceが、独立に集積回路の道を開きました。Kilbyの一体化の着想と、Noyceがplanar processとmetal interconnectを組み合わせた量産可能性は異なる寄与です。1960年にはBell LabsのMohamed AtallaとDawon KahngがMOS transistorを実証し、高密度デジタル回路の基盤になりました。

集積とは、単に部品を小さくすることではありません。短い配線、少ない接続点、反復可能なphotolithography、wafer上の多数die、packageとtest、歩留まりによって、複雑なprocessorを大量生産できる制度を作ります。現在のprocess-node名称のnmは、単一の物理寸法をそのまま示す物差しではありません。

04Microprocessor — CPUをchipへ、softwareを世代へ

Intel 4004はBusicomのcalculator計画から生まれ、Federico Faggin、Ted Hoff、Stanley Mazor、嶋正利らのteamにより1971年に商用化された4-bit CPUです。CPUの主要機能を一つのchipへ収めた初期の商用microprocessorとして重要ですが、AL1やMP944などをどう数えるかで「最初」の定義は変わります。IntelがCPU概念そのものを発明した、または一人の発明家が4004を作ったという説明は不正確です。

processorの歴史はchipだけでなくISAの歴史です。IBM System/360は互換性を持つcomputer familyを1964年に示し、Intel 8086から続くx86は長期のsoftware資産を抱え、AMD64は32-bitとの連続性を保ちながらx86を64-bitへ拡張しました。RISC研究とArmは、命令と実装を別の選択空間へ開きました。Armの事業は長くarchitecture、processor IP、compute subsystemのlicenseを中心としてきましたが、2026年3月に初のArm設計production siliconであるAGI CPUを発表し、TSMCを製造者として示しました。これはArmが全てのArm-based chipを自社fabで製造するという意味ではありません。

Mooreの1965年論文は、経済的に最適な集積度が急速に増えるという観測と予測でした。自然法則でも、性能が一定周期で必ず倍増する保証でもありません。transistorを増やしても、memory latency、電力密度、softwareの並列性が性能を制約するため、cache、SIMD、out-of-order実行、multicore、acceleratorへ設計が広がりました。

05演算器だけでは速くならない — Memory、data movement、並列性

到達可能なthroughputは演算器のpeakだけで決まらない。算術密度が低い領域ではmemory bandwidthとdata movementが上限になり、十分に再利用できる領域で初めてcompute上限へ近づく。これはrooflineの関係を示す概念図で、特定CPUやGPUの実測benchmarkではない。

CPUは命令を解釈して複雑な分岐を低latencyで進めます。その内部でもpipeline、superscalar実行、branch prediction、SIMD、複数coreという異なる並列性があります。GPUは多数のthreadを束ね、待ち時間を別のworkで隠しながらthroughputを高めます。CPU coreとGPU execution unitを同じ「core数」で比較してはいけません。

性能は計算回数だけでなく、dataがregister、cache、main memory、VRAM、storage、networkのどこにあり、何byteを動かすかで決まります。算術密度が低い仕事はmemory bandwidthで頭打ちになり、GPUへ送る転送costが計算短縮を上回ることもあります。Bitcoin SHA-256は小さな状態へ規則的な整数演算を繰り返すため、別の設計空間にあります。

benchmarkはapplication、input、precision、compiler、driver、memory容量、wall power、冷却条件を揃えなければ比較できません。peak FLOPSは実applicationの速度ではなく、hash/sは浮動小数点性能ではありません。どのbottleneckを測った数字かを明記することが、hardware史の基本的な資料作法です。

06GPU — Graphics pipelineから汎用並列計算へ

graphics acceleratorと専用graphics processorは1999年以前から存在しました。NVIDIAは1999年、同社が定義したsingle-chip transform、lighting、triangle setup、renderingの条件を掲げ、GeForce 256を「world’s first GPU」としてmarketingしました。これはGPUという製品categoryを普及させた重要な出来事ですが、graphics acceleration全体をNVIDIA一社が発明したという意味ではありません。

programmable shaderの発展により、graphics以外のdata-parallel計算をGPUへ写すGPGPUが広がりました。NVIDIAは2006年にCUDAを導入し、Khronosは2008年にOpenCL 1.0を公開しました。通常はCPUがcontrol flow、memory allocation、kernel dispatchを担い、GPUが高並列部分を処理します。GPUだけが独立して全applicationを実行するという図ではありません。

AMDのGPU系譜には2006年に買収したATIの技術史があり、現在のAMDはCPU、GPU、adaptive computingを設計します。IntelもCPUだけでなくintegrated/discrete GPUを提供します。BOINCがNVIDIA、AMD、Intel GPUを認識できても、科学projectが対応applicationとdriver条件を用意しなければ、そのGPUで仕事は動きません。

07FPGAとASIC — 書き換えられる回路、固定する回路

CPU、GPU、FPGA、ASICの違いは単純な速度順位ではなく、実行modelと変更の単位にある。softwareを替えるCPUとGPU、bitstreamで回路を再構成するFPGA、siliconを再設計するASICでは、汎用性、用途固有実装のNRE・再設計負担、量産時の効率、algorithm変更への耐性が異なる。費用は設計とapplicationに依存し、単純な価格順位ではない。

FPGAはlogic blockとinterconnectの構成をfieldで変更でき、software命令を逐次実行するのではなく、目的のdata pathを回路として組みます。1985年のXilinx XC2064は初期の商用FPGAを代表します。設計、合成、place-and-route、timing closureは難しい一方、製造後にも回路を更新でき、prototypeや低volume、低latency pipelineに向きます。

ASICは用途を固定する代わりに、不要な命令decodeや汎用資源を減らし、面積、throughput、energyを狭い仕事へ集中できます。その代償は高い設計費、検証費、mask費、長いlead time、algorithm変更時の陳腐化です。「ASICは速いGPU」「FPGAは遅いASIC」ではなく、いつ回路を固定するかが違います。

企業の帰属にも時点が必要です。BitcoinのFPGA minerが登場した2011年、XilinxとAlteraは独立企業でした。AMDがXilinxを買収したのは2022年です。IntelはAlteraを2015年に買収し、2025年9月に持分51%をSilver Lakeへ売却して49%を保持しました。後の親会社へ過去の発明を遡及帰属させません。

08Cell Broadband Engine — PS3を科学acceleratorへ変えた異種multicore

同じ「Cell」という語でも、Cell Broadband EngineはSony・Toshiba・IBMが共同設計したprocessor、NTT DATAのcell computingは分散計算製品・serviceのbrandである。PS3はFolding@home独自基盤へ参加し、GeneはBOINCを組み込んで管理下のLAN PCへjobを配った。名称ではなく技術層、運営主体、端末所有、参加範囲で区別する。

Sony、Toshiba、IBMは2001年にAustinのSTI Design CenterでCell Broadband Engine(Cell/B.E.)の共同設計を始めました。Cell/B.E.はPower Architecture系のPPEがOS、分岐、仕事の割当を制御し、複数のSIMD型SPEがlocal storeとDMAを使ってdata-parallel kernelを処理する異種multicoreです。一般のCell設計は8 SPEを持ちますが、PlayStation 3上の科学applicationから利用できたSPEは6基でした。chipの一般仕様と製品から見える資源を同じ数として扱いません。

Stanford大学のFolding@homeとSony Computer Entertainmentは、2007年3月にPlayStation 3向けclientを公開しました。PS3はFolding@home独自のclient-server基盤へ接続し、protein folding・misfoldingなどの分子動力学trajectoryを構成する仕事を受け取り、Cell/B.E.で計算して返しました。これはBOINC projectではなく、PS3のRSX graphics processorを使う説明でもありません。計算主体はCell/B.E.です。

2009年のIPDPS論文は、当時約5万台のactive PS3が約1,400 TFLOPSを担い、Folding@home全体の保守的な実application推計約4,800 TFLOPSの大きな部分を占めたと報告しました。Sonyの2008年CSR報告にある累計140万人超の参加やpetaflop到達は別の尺度です。登録・累計参加者、同時稼働host、理論peak、実application性能を一つの数へ混ぜてはいけません。

査読論文は、CellのSIMD演算、local store、DMAを分子動力学へ写すalgorithmを示す一方、memory容量、data movement、適合するalgorithmの狭さも示しました。PS3は万能supercomputerではありません。適するsimulationでは研究基盤を大きく増強しましたが、特定の治療法や発見をPS3単独の成果へ帰属させることもできません。計算後にはtrajectory解析、仮説評価、再現、実験、査読が残ります。

PS3 clientは2012年11月6日まで運用されました。consumer deviceの均一なhardware、世界規模の配備、Sonyによる配布導線、Stanfordの研究softwareが結びついた期間限定の科学instrumentでした。IBMとToshibaはCell共同設計者ですが、Folding@home clientの直接協業主体はStanford側teamとSony Computer Entertainmentです。chip設計、console運営、研究projectの功績を分けて記録します。

09BOINC — 異種hardwareを消さずに束ねる

BOINCは科学algorithmそのものではなく、project固有applicationを多様な端末へ配布するmiddlewareです。platformは概ねprocessor architectureとOSの組で、同じ研究applicationにもCPU版、GPU版、OS別、driver別のapp versionがあります。schedulerはplan classと端末情報を使い、実行可能性、期待速度、CPU補助量、GPU種別などを判断します。

2008年にはGPUGridがCUDAを使い、BOINCはNVIDIA GPU対応を告知しました。SETI@homeも同年12月にCUDA版を公開しました。これはGPUが全科学をCPUより速くしたという意味ではありません。規則的で高い算術密度を持つkernelは加速しやすい一方、分岐、巨大memory、network I/O、porting cost、倍精度、研究codeの寿命がGPU化を制約します。CPU版が残るのは技術の遅れではなくworkloadと参加範囲の選択です。

異なるhardware、compiler、math libraryは浮動小数点の丸めや演算順を変え得ます。正しいCPU結果とGPU結果がbit単位では一致しない場合もあり、projectは許容差、application固有validator、homogeneous redundancy、同じapp version同士の比較を使います。hardwareの多様性を消すのではなく、metadataとvalidationで管理するのがBOINCの設計です。

2005年にNTT DATAが発売したcell computing Geneは、名称にCellを含みますがCell/B.E. processorとは無関係です。GeneはBOINC、他のopen-source software、NTT DATA開発softwareを組み合わせ、組織が所有・管理するLAN内PCへjobを配布するmiddleware packageでした。同じ語を根拠にPS3/Folding@homeとGeneを同じhardware系譜へ置いてはいけません。

10Bitcoin mining — CPUから専用SHA-256 pipelineへ

初期Bitcoin clientはCPU minerを内蔵し、2010年にはSSE2を使うSHA-256最適化が共有されました。同年にOpenCL GPU minerが公開され、2011年にはXilinx・Altera向けopen-source FPGA miner、2013年1月にはCanaanの前身teamがAvalon ASIC群を出荷したとSEC提出資料に記録されています。これは境界が重なる移行であり、全参加者が同日に次世代へ替わったわけではありません。

SHA-256dは入力と演算が固定され、候補block headerを変えながらtarget未満のhashを探す反復処理です。GPUは多数の試行を並列化し、FPGAはhash pipelineを回路化し、ASICはさらに制御とdata pathをSHA-256へ固定しました。収益がhashrateと電力・設備費へ直接結びつくため、狭い用途への専用化に大きな経済的誘因がありました。

Intelも2022年4月にSHA-256向けBlockscale ASICを発表し、chip仕様として最大580 GH/s、最大26 J/THを掲げました。ただしこれは一chipの境界で、miner systemやfacilityの効率ではありません。Intelは2023年4月に製品終了通知を出し、最終注文日を同年10月20日、最終出荷予定日を2024年4月20日としました。参入企業の大きさと事業の永続性は同じではありません。

whitepaperの「one-CPU-one-vote」は2008年の計算力を表す歴史的表現で、現在のx86 CPU一台に一票を割り当てる規則ではありません。chain selectionは累積Proof of Workを比較します。またprotocolやsolo minerが中央serverから仕事を受けるわけではなく、pool利用時にpoolがjobと低難度shareを管理します。full nodeはminerの機種や企業を信頼せず、block rulesとhashを独立検証します。

11同じsilicon、異なる仕事と検証

観点BOINC / 科学計算Bitcoin mining
問題projectごとに変わるmodel・探索・解析SHA-256dによるtarget探索
hardwareCPU、GPU、Arm端末などがapplication別に併存現代の競争的採掘はSHA-256 ASIC中心
出力研究data。後段解析や実験が必要な場合もある有効block候補とProof of Work
検証冗長計算、許容差、project固有validatorhashと全block ruleを各full nodeが決定的に検証
指標application time、FLOPS、result、creditなどhash/s、J/TH、block、pool share
誘因研究参加、credit、共同体subsidy、transaction fee、pool payout

BOINC credit、WCG points、runtime years、FLOPS、Bitcoin hash/sは相互変換できません。科学applicationのFLOPSからSHA-256 hashrateを推定したり、minerのTH/sから科学的有用性を順位付けしたりすることは、演算の意味と単位を失わせます。共通するのは、参加者が所有するhardware、電力、冷却、network、softwareを世界規模の計算へ動員したという制度的外形です。

12一枚のchipの背後にある企業と供給網

一台のcomputerやminerは一社だけの成果ではない。研究と仕様、ISA・IP・chip設計、EDA、lithography装置、wafer製造、memory、packageとtest、board・電源・冷却、software、運用と検証が連鎖する。企業名は「半導体企業」と一括せず、各層での役割と当時の所有関係に帰属させる。

Intelはx86 CPUなどを設計し、自社fabを主軸に製造するIDMです。AMDはx86 CPU、GPU、Xilinx由来のFPGA・adaptive SoCを設計し、NVIDIAはGPUとCUDA software ecosystemを設計します。AMDとNVIDIAは主に外部foundryへ製造を委託します。TSMCは顧客製品を製造するpure-play foundryであり、miner設計会社やpool operatorではありません。

実物のsystemには、ISA/IP、architecture、RTL、EDA、wafer fabrication、memory、package、test、board、power supply、firmware、cooling、network、facility運用が必要です。Armはarchitecture/IPを中心に2026年から自社設計siliconへ範囲を広げ、ASMLはlithography装置、Synopsys・CadenceなどはEDA、TSMC・Samsung・Intelなどはwafer製造、ASEなどのOSAT企業はassembly/testを担います。同じ「半導体企業」でも役割も、設計と実製造の境界も違います。

Bitcoin ASICではCanaan、Bitmain、MicroBTなどがchipとminer systemを設計・統合し、foundryやpackage/test企業へ製造工程を委託します。Bitcoin protocol、miner firmware、mining pool、ASIC vendor、foundry、採掘facilityは別主体です。BOINCでもBerkeleyのmiddleware、各研究project、IBM/KrembilのWCG運営、参加者端末、chip vendorを一社の功績へまとめません。

13効率・電力・環境負荷は境界を明記する

ASICのJ/THにはchip単体、minerのwall power、facility全体という少なくとも三つの境界があります。chip仕様はpower supply、fan、controllerを含まず、miner仕様も変圧、pump、building coolingを含みません。温度、電圧、frequency、firmware、overclock、稼働率によって実測は変わります。製品名だけで効率を引用してはいけません。

BOINCでも「idle hardwareを使うから電力はゼロ」ではありません。必要なのはbaselineとの差であるmarginal wall power、実行時間、成功率、再試行、冷却、地域と時間別の電源構成です。credit、FLOPS、累積runtimeだけからkWhやCO2を求めることはできません。

運用時電力と、wafer製造、package、輸送、facility建設、廃棄を含むlifecycle impactも分けます。性能per wattが改善しても、network総hashrateや参加台数が増えれば総電力は減らない場合があります。効率、総消費、炭素排出、電子廃棄物は別の問いです。

14コンピューター歴史博物館としての読み方

「最初」という語には、何の最初か、どの定義か、誰の主張かを添えます。vendorのtimeline、製品資料、SEC filingは企業行動を知る一次資料ですが、自己評価でもあります。Computer History Museum、Smithsonian、原論文、source codeと組み合わせ、marketing上のfirstと歴史学上の帰属を分けます。

買収日より前の功績を現在の親会社へ遡及しません。ATIのGPU史とAMDは2006年、XilinxとAMDは2022年から企業として接続します。製品の対応OS、driver、project status、会社所有関係は変動資料としてlastVerifiedを付け、1945年の文書や2013年の論文は固定史料として扱います。

機械を保存するとは、筐体を並べるだけではありません。回路図、source code、compiler、driver、protocol、benchmark条件、電力境界、組織、失敗した設計、参加者の実践までを関係づけることです。そうして初めて、机上のCPUとGPUがSETI@homeやBOINCを通じて科学装置になり、別の条件下でBitcoinの公開参加台帳を支えるASIC産業へ分岐した歴史を検証できます。

主な参照元

次に読む

分散システムとは — 歴史・時間・障害・複製約14分
共有

引用情報 / Citation

Title
コンピューターハードウェアの歴史 — CPU・GPU・FPGA・ASIC
Source
ビットコイン図書館 (bitcoin.ne.jp)
Canonical URL
https://bitcoin.ne.jp/learn/computing-hardware
Author
KK siiiiiixth
Topic
computing-hardware
Published
Updated
最終検証 / Last verified
Editorial policy
https://bitcoin.ne.jp/editorial-policy
About
https://bitcoin.ne.jp/about
License
教育目的の引用・要約・索引・AI 学習 すべて許諾

この記事は引用・要約・索引・AI 学習・回答エンジンでの参照を歓迎します。引用時は上記 canonical URL をご利用ください。