コンピュータ アーキテクチャでは、8 ビットの 整数やその他のデータユニットは、8ビット幅 (1オクテット)のものです。また、8 ビットの中央処理装置(CPU) と算術論理装置(ALU) のアーキテクチャは、そのサイズのレジスタまたはデータ バスに基づいています。8 ビット CPU のメモリ アドレス(およびアドレス バス) は、一般に 8 ビットよりも大きく、通常は 16 ビットです。8 ビットマイクロコンピュータは、8 ビットマイクロプロセッサを使用するマイクロコンピュータです。
「8 ビット」という用語は、8 ビット バイトを持つコンピューターで使用できる文字セットにも適用されます。最もよく知られているのは、 ISO/IEC 8859シリーズの各国語文字セット (特に英語と西ヨーロッパ言語の Latin 1)を含む、さまざまな形式の拡張 ASCIIです。
IBM System/360 は、ビット アドレス可能メモリや 10 進数アドレス可能メモリ、ワード アドレス可能メモリではなく、8 ビット バイトのバイト アドレス可能メモリを導入しましたが、汎用レジスタは32 ビット幅で、アドレスはそれらのアドレスの下位 24 ビットに含まれていました。System/360 のモデルによって内部データ パスの幅が異なり、IBM System/360 Model 30 (1965) は 32 ビット System/360 アーキテクチャを実装しましたが、ネイティブ パス幅は 8 ビットで、32 ビット演算を 8 ビットずつ実行しました。[1]
最初に広く採用された 8 ビットマイクロプロセッサはIntel 8080で、1970 年代後半から 1980 年代前半にかけて多くの趣味のコンピュータで使用され、多くの場合CP/M オペレーティング システムを実行していました。8 ビットのデータ ワードと 16 ビットのアドレスを持っていました。Zilog Z80 (8080 と互換性あり) とMotorola 6800も同様のコンピュータで使用されていました。Z80 とMOS Technology 6502 8 ビット CPU は、1970 年代と 1980 年代の家庭用コンピュータや第 2 世代および第 3 世代のゲーム コンソールで広く使用されました。多くの 8 ビット CPU またはマイクロコントローラは、今日のいたるところにある組み込みシステムの基盤となっています。
歴史的背景
8 ビット マイクロプロセッサは、コンピューティング業界で最初に広く使用されたマイクロプロセッサであり、メインフレームやミニコンピュータからより小型で手頃な価格のシステムへの大きな転換をもたらしました。1970 年代に 8 ビット プロセッサが導入されたことで、パーソナル コンピュータの製造が可能になり、コンピューティングが普及し、現代のコンピューティング環境の基礎が築かれました。
1976年のZilog Z80は、最も人気のある8ビットCPUの1つ(少なくともオリジナルでは4ビットALUを搭載)でしたが、2024年に生産が中止され(製品ラインZ84C00)、最終購入(LTB)注文は2024年6月14日まででした。[2]
詳細
8 ビット レジスタには 2 8 個の異なる値を格納できます。8ビットで格納できる整数値の範囲は、使用する整数表現によって異なります。最も一般的な 2 つの表現では、範囲は(符号なし) 2 進数として表現する場合は0 から 255 (2 8 − 1)まで、 2 の補数として表現する場合は-128 (-1 × 2 7 )から 127 (2 7 − 1)までです。
8 ビット CPU は8 ビットの データ バスを使用するため、1 つのマシン命令で 8 ビットのデータにアクセスできます。アドレス バスは、実用的および経済的な考慮により、通常はダブル オクテット ( 16 ビット) 幅です。これは、ほとんどの 8 ビット プロセッサで64 KB (65,536 バイト) の直接アドレス空間を意味します。
8ビット時代のほとんどの家庭用コンピュータは、 32KBのRAMと32KBのROMを搭載したBBC Micro(モデルB)のように、アドレス空間を最大限に活用していました。非常に人気のあるCommodore 64などの他のコンピュータは、64KBのRAMと20KBのROMをフルに搭載していたため、16ビットのアドレス指定では、すべてのRAMをデフォルトで使用することはできませんでした(たとえば、ROMに含まれるBASIC言語インタープリターから)。[3]一部のシステムでは、バンクスイッチングを利用せずに、64KB(RAM)の制限を破ることができます。他のコンピュータでは、Sinclair ZX80のように 1 KB (プラス 4 KB ROM) という低メモリのものもあれば(後に非常に人気となったZX Spectrum はより多くのメモリを持っていた)、初期のゲーム コンソールAtari 2600のように 128 バイトの RAM (プラスROM カートリッジからのストレージ) しかないものもあったため、ROM もカバーする必要がなければ、8 ビット アドレッシングで RAM には十分だっただろう。Commodore 128やその他の 8 ビット システム (つまり、まだ 16 ビット アドレッシング) では、64 KB を超える 128 KB の RAM を使用でき、BBC Masterでは512 KB の RAM まで拡張可能であった。
一般に 8 ビット CPU は 16 ビット アドレッシングを備えていますが、MOS Technology 6502 CPU などの一部のアーキテクチャでは、ゼロ ページが広範に使用され、そのページにアクセスする命令で 1 バイトが節約され、アドレスに 2 バイト、オペコードに 1 バイトを使用する 16 ビット アドレッシング命令も備えています。
6502 の 2 つのインデックス レジスタなど、一部のインデックス レジスタは 8 ビットです。これにより、インデックス アドレス指定命令を使用してアドレス指定される配列のサイズが、複雑なコードを必要とせずに最大 256 バイトのオブジェクトに制限されます。Motorola 6800やIntel 8080などの他の 8 ビット CPU には、16 ビットのインデックス レジスタがあります。
注目の8ビットCPU
最初の商用 8 ビット プロセッサはIntel 8008 (1972) で、もともとDatapoint 2200 インテリジェント ターミナル向けに開発されました。Intelの競合企業のほとんどは、このような文字指向の 8 ビット マイクロプロセッサからスタートしました。これらの 8 ビット マシンの最新版は、今でも組み込みシステムで最も一般的なプロセッサの 1 つです。
MOS Technology 6502およびその派生製品は、Apple I、Apple II、Atari 8 ビット コンピュータ、BBC Micro、PET、VIC-20などのパーソナル コンピュータや、 Atari 2600やNintendo Entertainment Systemなどの家庭用ビデオ ゲーム コンソールに使用されました。
トレーニング、プロトタイピング、一般的なハードウェア教育に使用
8ビットプロセッサは、今日でもコンピュータハードウェアに関する一般教育や趣味のために設計され続けています。そのようなCPUの1つは、ブレッドボード上で7400シリーズの集積回路を使用して設計および実装されました。[5] [6] 8ビットCPUとそれぞれのアセンブラの設計は、工学部の学生、エンジニア、趣味人にとって一般的なトレーニング演習です。この目的にはFPGAが使用されます。
参照
参考文献
- ^ Amdahl, GM ; Blaauw, GA ; Brooks, FP (1964). 「IBM System/360 のアーキテクチャー」(PDF) . IBM Journal of Research and Development . 8 (2): 87–101. doi :10.1147/rd.82.0087. 2017-08-10 にオリジナルからアーカイブ(PDF)されました。
- ^ 「X80 製品ライン: Z84C00」(PDF) 2024年4月15日。
- ^ 「バンクスイッチング - C64-Wiki」www.c64-wiki.com . 2021年4月8日閲覧。
- ^ "NEC 78K0". NEC . 2008年10月28日時点のオリジナルよりアーカイブ。2009年2月10日閲覧。
- ^ Oberhaus, Daniel (2019年2月9日). 「This Guy Designed and Built an 8-bit CPU from Scratch」.マザーボード. 2021年11月4日閲覧。
- ^ Constantino, Paulo。74HC Logic を使用してゼロから作成した、グラフィックスとサウンドを備えた自作の 8 ビット CPU + コンピューター。
