中央演算処理装置(CPU/MPU)
|
「CPU」(Central Processing Unit:中央[演算]処理装置)とはコンピュータの処理を行うもので、「プロセッサ」の一種であり、「マイクロプロセッサ」ともいう。 (Motorola社など一部では「MPU」(Micro Processing Unit)ともいう) ただし、「マイクロプロセッサ」にはいわゆる「マイクロコントローラ(マイコン)」などを含む。 「CPU」⊂「マイクロプロセッサ」⊂「プロセッサ」 「マイコン」⊂「マイクロプロセッサ」⊂「プロセッサ」 広義のプロセッサには「FPU」(Froating Point Number Processing Unit:浮動小数点演算装置)や「GPU」(Graphics Processing Unit:画像処理装置)なども含む。 ここではCPU(MPU)と一部のマイクロプロセッサを扱う。 簡単な紹介なのでそれぞれの詳しい仕様(16進コードなど)は「ggrks」である。 ニーモニックに対応した16進コードは簡単なものなら記述してもよいが、8bit CPUでも条件分岐などかなり複雑なものがあり、正直全てを対応する気力がない、というのが本音。 紹介自体も正直16bitまでが限界だけど、気が向いたら増やすつもり。 下の表は各メーカーの代表的なCPU(MPU)群である。 紹介ページを作成したものにはリンクがはってあるが、一部を除き互換製品は掲載していない。 8bit時代の80系、68系は日本の各メーカーもライセンス生産してたので、それを全部網羅するのは不可能に近いのは下表を見て察して… それ以外の互換も数多いし、勝手に互換の旧東側製品なんて…ねぇ。 なお、便宜上バスサイズ(bit)で区分けしてあるが、AMD「Am2900」やNS「IMP-16」などはビットスライスという方式を採用している。 これは複数を並列使用することでbit幅を拡張して使うことができる方式である。 また、データをbit(byte)ではなくword単位で扱うものもある。 (例えばNEC ACOS-6は1byte=9bit、1word=4byte=36bitである) 日本の各メーカーのうち、NEC、日立、三菱の半導体部門はルネサスエレクトロニクスとなっている。 |
プロセッサ 簡易 一覧表
| 1bit | 4bit | 12bit | 8bit | 8bit (RISC) | 16bit | 16bit (RISC) | 32bit | 32bit (RISC) | 64bit | 64bit (RISC) | 128bit (32) | 128bit (RISC) | 256bit (32) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Intel | [4004] | [i8008][i8080] [MCS-48][MCS-51] |
[i8086][i80286] | [i386][i486] [Pentium][Celeron] |
[i960][i860] | [Pentium4][CeleronD] [Core][Xeon][Atom] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Zilog | [Z8][Z80] | [Z800][Z8000] | [Z80000] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Motorola (Freescale) | [MC14500B] | [MC6800][MC6809] | [MC6800x/68010] | [MC68020][MC68030] [MC68040][MC68060] |
[MC88000][MPC5xx] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Metal Oxide Semiconductor [MOS] | [6502] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Western Design Center [WDC] | [W65C816] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Advanced Micro Devices [AMD] | [Am2900] | [Am9080] | [Am80286] | [K5/K6/K7] | [Am29000] | [Athlon 64][Ryzen] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Cyrix (NS→VIA) | [Cyrix III(16)] | [Cyrix III(C3)] [Cx5x86][C6x86] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Centaur Technology (VIA) | [WinChip] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| VIA | [C7][Eden] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Transmeta | [Crusoe] | [efficēon] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Digital Equipment Corporation [DEC] | [PDP-8] | [PDP-11] | [VAX] | [Alpha] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Radio Corporation of America [RCA] | [CDP1802] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Texas Instruments [TI] | [TMS010x][TMS1000] | [TMS99xx] | [OMAP] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| National Semiconductor [NS] | [SC/MP] | [IMP-16] | [NS32x32] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Fairchild | [F8] | [C100(Clipper)] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Signetics | [8X300] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Intersil | [IM6100] | [RTX2010] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Atmel (Microchip) | [AVR] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microchip | [PIC] | [PIC24][dsPIC] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Apple | [A4/A5/A6] | [Ax(64)][Mx] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| International Business Machines [IBM] | [System/360] | [Gekko] [Broadway][Espresso] |
[Xenon] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POWER | [POWER(32)] | [POWER(64)] [PowerPC] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hewlett-Packard [HP] | [PA-RISC] | [PA-RISC2] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sun Micro Systems | [SPARC] | [UltraSPARC] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MIPS | [R2000][R3000] | [R4000][R10000] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Acorn RISC Machine [ARM] | [ARM] | [ARMv8-A] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| NVIDIA | [Tegra] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| UC Berkeley | [RISC-x] | [RISC-V] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EnSilica | [eSi-RISC(16)] | [eSi-RISC(32)] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Inmos | [T2(Transputer)] | [T4][T8] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Busicom | [4004(MCS-4)] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| NEC (Renesas) | [μCOM-4] | [μCOM-8][μCOM-82] | [μCOM-16] [V30/V20/V25] |
[V60/V70/V80] | [V850] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mitsubish (Renesas) | [MELPS-4] | [M16C] | [M32R] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hitachii (Renesas) | [H8] | [H8S] | [H8SX] | [SuperH] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Renesas | [R8C] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Panafacom (PFU) | [MN1400KH] | [MN1610] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TOSHIBA | [TLCS-12] | [TLCS-90][TLCS-870] | [TLCS-900] | [TX19] | [TX99] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SONY (SCE) | [Cell] | [Emotion Engine] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Fujitsu | [SPARC64] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TRON | [TRONCHIP] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.マイクロプロセッサの歴史
黎明期における「計算機」(コンピュータ登場以前)のプログラムは、ソフトウェアではなく回路そのものだったため、そもそもCPUという概念がなかった。
(プログラミングは配線を変えたり、回路を変更して行っていた)
CPUが登場するのは「ジョン・フォン・ノイマン」(John von Neumann)が提唱した「ノイマン型」計算機の実現からである。
ノイマン型とはCPUと「バス」(Bus :データの経路)によって接続された記憶装置を使い、プログラムの処理やデータの演算等を行う仕組みのことである。
つまり、21世紀初頭までのコンピュータはほぼ全てノイマン型である。
(非ノイマン型の代表例としては量子コンピュータやニューロコンピューティングが挙げられる)
・論理回路
電子回路における演算の基本は論理回路(論理ゲート)の組合せで実現する。
基本的な論理回路は論理和(AND)、論理積(OR)、否定(NOT)である。
他には排他的論理和(EXclusive OR : XOR,EOR)、否定論理和(NOR)、否定論理積(NAND)がある。


その実装にはダイオードやトランジスタ、抵抗、コンデンサなどが用いられる。
(これらの部品の仕組みはここでは解説を行わないので、不明ならば各自で調べてほしい)
電子回路では「0」がL(Low : 電圧が掛かっていない→0V)、「1」がH(High : 電圧が掛かっている)という状態を表す。
厳密にいえばLowは完全な0Vではないことがあるが、ほぼ0Vとして考えてよい。
Highは使われている回路によって異なる。
主な例でいえば「CMOS」(Complementary MOS : 主に低消費電力環境で使われる)ならHighは0.7V~Vdd(電源電圧)。
「TTL」(Transistor-Transistor-Logic : 半導体を用いた論理回路群)なら2V~Vcc(電源電圧)となる。
電子回路における論理回路では、論理和は2つのbitの両方かどちらかが「1」であれば「1」を返し、どちらも「0」なら「0」を返す。
0+0 → 0
0+1 → 1
1+0 → 1
1+1 → 1
論理積は2つのbitのどちらとも「1」であれば「1」を返し、どちらかが「0」なら「0」を返す。
0・0 → 0
0・1 → 0
1・0 → 0
1・1 → 1
否定は「0」→「1」、「1」→「0」となる。
排他的論理和は論理和の両方とも「1」のケースを「0」で返すもので、否定論理和と否定論理積はそれぞれ論理和と論理積の結果を否定で返すものである。
・論理回路による演算
bitの演算において、1bitの加算を行う場合は2つの1bit入力と出力を用意する。
2つの入力の論理和を取り、双方とも「1」の場合は桁の繰り上がりとして上位1bitに「1」を出力する。
これは「半加算器」という回路になる。
2つの入力をA,B、結果をS、桁上がりをCとすると
S=(A+B)・NOT(A・B)
C=A・B
となる。

演算例)
A=0,B=1なら
S=(0+1)・NOT(0・1)=1・NOT(0)=1・1=1
C=(0・1)=0
A=1,B=1なら
S=(1+1)・NOT(1・1)=1・NOT(1)=1・0=0
C=(1・1)=1
A , B → C , S
0 , 0 → 0 , 0
0 , 1 → 0 , 1
1 , 0 → 0 , 1
1 , 1 → 1 , 0
となり、2進数演算が実現していることがわかる。
複数bitの演算では最下位bitの演算に半加算器を使い、それ以外は「全加算器」を使う。
全加算器では半加算器を2つ使い、入力A,Bは1つ目の入力A1,B1となり、1つ目の結果S1を2つ目の入力A2に入れて、下位からの桁上がりXを2つ目の入力B2に入れる。
2つ目の結果S2はそのままで、1つ目の桁上がりC1と2つ目の桁上がりC2の論理和を桁上がりCとして出力する。
A , B , X → C , S (A+B+X=CS)
0 , 0 , 0 → 0 , 0 (0+0+0=00)
0 , 0 , 1 → 0 , 1 (0+0+1=01)
0 , 1 , 0 → 0 , 1 (0+1+0=01)
0 , 1 , 1 → 1 , 0 (0+1+1=10)
1 , 0 , 0 → 0 , 1 (1+0+0=01)
1 , 0 , 1 → 1 , 0 (1+0+1=10)
1 , 1 , 0 → 1 , 0 (1+1+0=10)
1 , 1 , 1 → 1 , 1 (1+1+1=11)
結果Sはそのまま出力、桁上がりCを次の全加算器の入力Xとして、次の桁のA,Bを入力することで複数bitの加算が可能となる。
減算は負数の表現方法により変わるが、2の補数(反転したものに1を足す)を使う場合は減算値の2の補数を加算すればよい。
2の補数を使う場合、最上位bitは「1」で負数を表す。
8bitで考えると2の補数で負数を表す場合は正数の最大値が01111111=127、負数の最大値が10000000=-128を表すことになる。
(-128を取らないシステムもある)
演算例)
4bitで7-2を考えた場合
2進数表記で7=0111、2=0010であり
2進数「0010」の2の補数は「1110」(1101+1)となる。
0111
+1110
-----
10101
4bit演算なので5bit目は桁あふれで捨てられて「0101=5」となる。
乗算器の基本は加算とシフトの組合せである。
(現代では回路を組み合わせて専用乗算器として設計されている)
シフトとは複数bitの値をずらすことである。
演算例)
3=0011を1bit左へシフトする。
0011→0110=6
つまり、[n]bit左へシフトするというのは[2n]倍するのと同じである。
逆に右へシフトすると1/[2n]倍するのと同じことになる。
5倍するなら4倍したものに現数を足せばよい。
このような方法で四則演算は可能となる。
(あくまでも符号なし整数演算の例であり、符号ありや小数点演算では少し異なる)
・CPUと周辺装置
CPUはこれら演算装置や制御装置に、データの一時記憶である「レジスタ」、メモリとのインタフェースなどで構成される。
(データをやり取りするものはデータバス、アドレスをやり取りするものはアドレスバスと呼ばれる)
基本動作はメモリに格納されているプログラムを実行するというものである。
「フェッチ」(fetch : メモリからの取出)→「デコード」(decode : データの復号)→「エグゼキュート」(execute : 命令の実行)というステップを繰り返すことで実現する。
その際、実行するべきステップを記憶するレジスタ「プログラムカウンタ」(PC)や、演算結果を一時記憶する「データレジスタ」などが利用される。
データレジスタの中でも計算に特化したものを「アキュムレータ」(ACC)とするものやアドレスの処理に特化したものを「アドレスレジスタ」とするものもある。
また、演算結果で生じた桁のあふれや負数などの状態を保存するために「ステータスレジスタ」(SR)や「フラグ」として持つものもある。
これらの基本仕様を基にして各メーカーが様々なCPUを開発していった。
初期のCPUに相当する回路は「リレー」や「真空管」、「トランジスタ」などで構成されていた。
その後「IC」(Integrated Circuit:集積回路)や、広義でのICの一種である「LSI」(Large Scale Integration:大規模集積回路)が開発されたことにより、集積化が進んだ。
世界最初の「マイクロプロセッサ」といわれるものの1つであるIntel社とビジコンの共同開発「4004」は、日本の「嶋正利」らによって生み出された。
これは4bitアーキテクチャであり、当時の計算機などに用いられた。
嶋氏はその後Intel社「i8080」やZilog社の設立及び「Z80」の設計に携わることとなる。
2.8bit時代
・80系
Intel社が開発した「i8008」は1972年に登場した。
「i8008」から「Intel x86」ファミリへと続くCPUの登場によりコンピュータは発展を遂げていくことになる。
ただ、「i8008」自体は端末や計算機には搭載例があったものの、コンピュータに搭載されたケースはさほど多くはない。
※「i8008」の命令セット
その重要な役目は「i8080」がその任を果たすことになる。
「i8080」の初期ロットには物理設計に問題があり、それを修正した「i8080A」が広く使われることになる。
黎明期のアーケード基板にも多く採用例(タイトー「スペースインベーダー」など)がある。
※「i8080」の命令セット
その後、Intel社を退職した嶋ら「i8080」の開発スタッフの一部が設計を行ったのが、Zilog社の「Z80」である。
CMOS(Complementary Metal-Oxide-Semiconductor)版のZ80(Z84C00xx)は最大20MHzまで存在する。
1980年代の国産PCやゲーム機、アーケード基板に数多く採用(ナムコ「パックマン」など)された。
現在でも組込用などの用途があるため、入手は可能である。
※「Z80」の命令セット
・68系
一方、Motorola社の開発したCPUは「MPU」(Micro Processing Unit)と呼ぶ。
Intel社のCPUを「80/x86系」と呼ぶのに対して、Motorola社のMPUは「68系」と呼ばれる。
両者の大きな違いとしては「エンディアン」の違いが挙げられる。
Intel系(Zilog、MOSも含む)は「リトルエンディアン」である。
これは「1234CDEF」という4bytesのデータの羅列があった場合にメモリに「EF CD 34 12」と格納する手法である。
この手法の利点は相対アドレスで見た場合に数値の桁が小さい方から並んでおり、計算処理などがやりやすいことである。
一方のMotorola系は「ビッグエンディアン」である。
こちらは先述のデータがメモリに「12 34 CD EF」と格納される。
利点としてはデータの転送などで先に来たものからメモリに入っていくため、転送終了を待たずに処理を開始することが可能であり、特にネットワーク処理に有利である。
(実際、TCP/IPでの処理はビッグエンディアンであり、これを「ネットワークバイトオーダ」という)
また、人の目でダンプリストを見た場合に理解しやすいという点もある。
一部CPUでは「バイエンディアン」といって両者を切り替えられるものもある(ARMなど)。
どちらの方式にも利点・欠点があるため、どちらが有利かというものではない。
話はそれたが、Motorola社の最初のMPUは「MC6800」である。
「MC6800」は「i8080」の少し後にリリースされた。
※「MC6800」の命令セット
「MC6800」の後継として開発されたのが「MC6809」。
通称「8bit最強のMPU」である。
富士通「FM-7/11/77」シリーズや日立「Basic Master L3」「S1」シリーズなどに採用された。
アーケード基板にも採用実績が多く、ナムコ「ドルアーガの塔」「システムI(86)」やカプコン「魔界村」など著名なゲームにその採用例は多い。
※「MC6809」の命令セット
・65系
「MC6800」をモデルとして開発されたのが、MOS Technology社の「MOS 6502」である。
(ただし、エンディアンはリトルエンディアンである)
同時期のCPU(MPU)と比較すると演算が高速なのが特徴で、価格も安価であった。
apple社の「apple ][」や任天堂「ファミリーコンピュータ」(RP2A03=リコー互換チップ)などに採用されたことでも有名。
「MOS 6502」の開発者らの興したWDC(Westerm Design Center)社がCMOS版「W65C02」として製造を続けている。
※「MOS 6502」の命令セット
3.16bit時代
世界初の16bit CPUはIntel社のものではない。
(National Semiconductor「IMP-16」というのが有力な説)
・86系
Intel社が最初にリリースしたのは1978年の「i8086」である。
アーキテクチャとしては「i8080」を16bitに拡張し、乗除算命令などを追加したものである。
NEC「PC-9801」初期シリーズのCPUとして使われた。
※「i8086」の命令セット
そして1984年に「i80286」がリリースされた。
パッケージはそれまでのDIP(Dual In-line Package:いわゆる「ゲジゲジ」)ではなくなった。
PLCC(Plastic Leaded Chip Carrier:四方から足が出てる)/LCC(Leaded Chip Carrier)/PGA(Pin Grid Array:下から足が出てる)となり、ソケットを使用する形となった。
NEC「PC-98」やIBM「PC/AT」(AT互換機)時代のメインCPUとして使われた。
・68系
一方のMotorola社は1980年に「MC68000」をリリース。
「i8080」との互換性を重視したために「64KBの壁」に苦しんだ「i8086」とは違い、「MC6809」との互換性はない。
更に内部レジスタを32bitとし、アドレスバスを24bitとしたため、当時としては異例の16MBまで制限なしでメモリアクセスが可能であった。
このため、初期ではワークステーション、その後はゲーム機、アーケード基板 ※1などでの採用例が多かった。
PCに使われた例としてはapple社の「Macintosh」、シャープ「X68000」などがある。
※「MC68000」の命令セット
・その他
Zilog社も16bit市場に参入していた。
それが1979年リリースの「Z8000」である。
嶋らが設計し、「Z80」とは互換性はない。
アーケード基板でナムコ「ポールポジション」で2個の「Z8002」が使われていた。
※「Z8000」の命令セット
これらの16bit CPU/MPU群よりも早い1976年にリリースされたのがTI(Texas Instruments)社の「TMS9900」である。
国内での使用例は三洋電機の「PHC-3100」があり、発展型の「TMS9995」がトミー「ぴゅう太」で使われた。
※「TMS9900」の命令セット
国産ではパナファコムが開発した「MN161x」シリーズがある。
これは富士通が開発した「FACOM 9450」シリーズなどで使用された。
(パナファコム C-xxx、松下電器 operateシリーズとしてOEM販売されていた)
初番である「MN1610」は「TMS9900」よりさらに早い1975年にリリースされている。
※「MN1610」の命令セット
4.そして伝説現在へ
初期のCPUは所謂「CISC」(Complex Instruction Set Computer)と呼ばれるものが殆どだった。
だが時代が進むとCISCの複雑さが高速化の妨げになっているのではないかという問題提起がなされた。
そこで実際に従来のプログラムを解析すると大半の命令は使用されていないことがわかった。
そこで「RISC」(Reduced Instruction Set Computer)という考え方が登場した。
違いとして従来型のCISCでは1つの命令セットで複数の処理を行ったり、命令の「直交性 ※2」(Orthogonality)があり演算命令でメモリを指定できる。
32bit以降の代表例としてはintel「x86」シリーズ(i386、Pentiumなど)やmotorola「MC680x0」シリーズ(MC68020,MC68030など)がある。
(命令セットが複雑であるため、32bit以降は様子見で掲載を考え中)
対してRISCは命令セットやアドレッシングを単純化するという思想である。
その特徴として、命令長の固定化、演算サイクルは短クロック、演算はレジスタ間のみといった高速化を意識した構成となっている。
しかし、それだけでは複雑な作業ができない。
そこで導入された考えが「パイプライン」処理である。
パイプラインの考え方は1つの処理を直列に連結し、必要なら出力が次の内容の入力となるようにし、それらを並行して処理していくということになる。
| CISC処理 | RISC処理 |
|---|---|
![]() | ![]() |
このとき並行する命令に対して与えられる入力がそれぞれ独立している場合は問題がない。
だが先に実行された命令に対する入力が、以降に実行される命令に対して影響を与える依存関係が生じる場合に問題が発生する。
上記の例でいえば、例えば最初の命令の出力内容がそれ以降の命令実行に影響する場合、実行する前に最初の命令の出力内容を実行前の命令への入力とすることができるようになるまで、命令の実行を待機することになる。
このとき、続く命令が影響を与えない場合は順番が変わることもあるが、影響がある場合は同様に実行を待機することになる。
ただ、単純にこれを実装するとデータアクセスが同時に発生した場合に起こる「データ競合」や、複数の処理がお互いの処理結果を待ってしまい、処理が止まる「デッドロック現象」が発生してしまう。
これを解決するためにコンパイル処理の段階で命令実行のタイミングを調整するなどの処理が行われている。
これはオブジェクト指向型言語でよくみられる「スレッド」(thread)の考え方である。
スレッド処理の例としては「タイムスラッシング」や「ロック」などが挙げられる、
タイムスラッシング処理とは各処理を分割して実行時間をずらしながら、同時に処理を行うことである。
これはシングルスレッドでは1列に細切れにされた各処理が並んでいるイメージである。
マルチスレッドなら複数のラインが並んで順番に処理を行っているイメージとなる。
ロック処理とはある処理が扱うデータに変更があり、同じデータを利用する別な処理に影響がある場合に最初にデータを扱う処理が終わるまで、他の処理がそのデータを使えないように「鍵」を掛ける処理である。
処理が終わればロックを解放して、別な処理がそのデータを取り扱うことができるようになるため、データの不整合などが起きない。
(マルチ処理ではロック衝突が発生してしまうことがあるため、これを防ぐために「セマフォ」処理がある。名前の由来は鉄道の腕木信号で、処理を行える数を制限したり、使用制限をするものである)
これらの処理は命令が単純化した分人間にとっては複雑となり、CISCで行われていたアセンブリ言語によるプログラミングは困難となっている。
RISCは高級言語によりプログラミングすることが前提となったシステムなのである。
代表的なRISCとして挙げられるのは「ARM」「PowerPC」「SPARC」などである。
現代におけるCISCとRISCはお互いの長所を取り込みながら発展しているため、CISCでありながらRISC的な動作をするものや、その逆もある。
市場としてはパソコンは過去の互換性が重視されるのもあり、ほぼCISCが採用されているが、サーバやワークステーションではRISCの採用例が多い。
有名なところでは富士通「SPARC64」が「京」「富岳」といったスパコンで使われている。
組込分野では8~16bitでは低価格なこともありCISCを採用しているが、32bit以降ではほぼRISCである。
ちなみにバスサイズでいえば、GPUではあるが最大512bitまで存在する。
(一般販売もされているが、価格が軽自動車並みである)
CPUでは汎用レジスタが128bitの「Emotion Engine」(SONY PlayStation2で採用)がある。
また、x86互換CPUであるTransmetaの「Crusoe」は32bitだが内部アーキテクチャは128bit、同じく「efficēon」は内部アーキテクチャが256bitである。
これらは内部アーキテクチャが128/256bitとなっているのだが、あくまでも外部バスサイズとは異なるため、厳密には128/256bit CPUとはいえない。
(ネタとして面白いので分類してるだけですが、実際TransmetaのCPUは内部で命令変換をして互換を実現しており、可能性は大きかったといえる)
実際、128bitで扱える数値範囲は2128=340澗2823溝6692穣938𥝱4634垓6337京4607兆4317億6821万1456までなので現時点では十分といえる。
(IPv6のIPアドレス数と同じ)
|
※1 最たるものは28人同時にプレー可能で座席を油圧式で動かしていた「ギャラクシアン3 プロジェクトドラグーン」。 大阪の花博で稼働していたものは全ての映像を基板側で描画していた。 そのため「シアター6」で使われていたシステム21基板で各サイトを制御し、中央制御用に68030を搭載した基板を使っていた。 (16人版やシアター6では背景映像はLDで流していたので、LDゲームともいえる) 二子玉川のワンダーエッグでプレーしたが、確かに凄かった。 (「ドルアーガの塔」をやりたくて撤去前に行った) シアター6は札幌にも初期導入店舗があったので、そこでプレーしている。 ※2 CISCにおける直交性とは、命令セットがオペレーションとアドレッシングモードの組み合わせで表現されることである。 例えば、データのロードを行う命令に対し、レジスタやアドレスの様々な指定が行える、といったものを指す。 |
|
参考 |