Jump to content

8-bit computing

From Wikipedia, the free encyclopedia
(Redirected fromEight-bit)

Incomputer architecture,8-bitintegersor otherdataunits are those that are 8bitswide (1octet). Also, 8-bitcentral processing unit(CPU) andarithmetic logic unit(ALU) architectures are those that are based onregistersordata busesof that size.Memory addresses(and thusaddress buses) for 8-bit CPUs are generally larger than 8-bit, usually 16-bit. 8-bitmicrocomputersare microcomputers that use 8-bitmicroprocessors.

The term '8-bit' is also applied to thecharacter setsthat could be used on computers with 8-bit bytes, the best known being various forms ofextended ASCII,including theISO/IEC 8859series of national character sets – especiallyLatin 1for English and Western European languages.

TheIBM System/360introduced byte-addressable memory with 8-bit bytes, as opposed to bit-addressable or decimal digit-addressable or word-addressable memory, although itsgeneral-purpose registerswere 32 bits wide, and addresses were contained in the lower 24 bits of those addresses. Different models of System/360 had different internal data path widths; theIBM System/360 Model 30(1965) implemented the 32-bit System/360 architecture, but had an 8-bit native path width, and performed 32-bit arithmetic 8 bits at a time.[1]

The first widely adopted 8-bitmicroprocessorwas theIntel 8080,being used in many hobbyist computers of the late 1970s and early 1980s, often running theCP/Moperating system;it had 8-bit data words and 16-bit addresses. TheZilog Z80(compatible with the 8080) and theMotorola 6800were also used in similar computers. The Z80 and theMOS Technology 65028-bit CPUs were widely used inhome computersandsecond-andthird-generation game consolesof the 1970s and 1980s. Many 8-bit CPUs ormicrocontrollersare the basis of today's ubiquitousembedded systems.

Historical context[edit]

8-bit microprocessors were the first widely used microprocessors in the computing industry, marking a major shift from mainframes and minicomputers to smaller, more affordable systems. The introduction of 8-bit processors in the 1970s enabled the production of personal computers, leading to the popularization of computing and setting the foundation for the modern computing landscape.

The 1976Zilog Z80,one of the most popular 8-bit CPUs (though with4-bitALU, at least in the original), was discontinued in 2024 (its product line Z84C00), with Last Time Buy (LTB) orders by June 14, 2024.[2]

Details[edit]

An 8-bit register can store 28different values. Therangeofintegervalues that can be stored in 8 bits depends on theinteger representationused. With the two most common representations, the range is 0 through 255 (28− 1) for representation as an (unsigned)binary number,and −128 (−1 × 27) through 127 (27− 1) for representation astwo's complement.

8-bit CPUs use an8-bitdata busand can therefore access 8 bits of data in a singlemachine instruction.The address bus is typically a double octet (16 bits) wide, due to practical and economical considerations. This implies a directaddress spaceof 64KB(65,536 bytes) on most 8-bit processors.

Mosthome computersfrom the 8-bit era fully exploited the address space, such as theBBC Micro(Model B) with 32 KB ofRAMplus 32 KB ofROM.Others like the very popularCommodore 64had full 64 KB RAM, plus 20 KB ROM, meaning with 16-bit addressing you could not use all of the RAM by default (e.g. from the includedBASIClanguage interpreter in ROM);[3]without exploitingbank switching,which allows for breaking the 64 KB (RAM) limit in some systems. Other computers would have as low as 1 KB (plus 4 KB ROM), such as the SinclairZX80(while the later very popularZX Spectrumhad more memory), or even only 128 bytes of RAM (plusstoragefrom aROM cartridge), as in an early game consoleAtari 2600and thus 8-bit addressing would have been enough for the RAM, if it would not have needed to cover ROM too). TheCommodore 128,and other 8-bit systems, meaning still with 16-bit addressing, could use more than 64 KB, i.e. 128 KB RAM, also theBBC Masterwith it expandable to 512 KB of RAM.

While in general 8-bit CPUs have 16-bit addressing, in some architectures you have both, such as in theMOS Technology6502CPU, where thezero pageis used extensively, saving one byte in the instructions accessing that page, and also having 16-bit addressing instructions that take 2 bytes for the address plus 1 for the opcode. Commonlyindex registersare 8-bit (while other "8-bit" CPUs, such asMotorola 6800had 16-bit index registers), such as the 6502 CPU, and then the size of the arrays addressed usingindexed addressinginstructions are at most 256 bytes, without needing longer code, i.e. meaning 8-bit addressing to each individual array.

Notable 8-bit CPUs[edit]

The first commercial 8-bit processor was theIntel 8008(1972) which was originally intended for theDatapoint 2200intelligent terminal.Most competitors toIntelstarted off with such character oriented 8-bit microprocessors. Modernized variants of these 8-bit machines are still one of the most common types of processor in embedded systems.

TheMOS Technology 6502,and variants of it, were used in personal computers, such as theApple I,Apple II,Atari 8-bit computers,BBC Micro,PET,VIC-20,and inhome video game consolessuch as theAtari 2600and theNintendo Entertainment System.

Early or popular 8-bit processors (incomplete)
Manufacturer Processor Year Comment
Intel 8008 1972 Datapoint 2200compatible
Signetics 2650 1973
Intel 8080 1974 8008 source compatible
Motorola 6800 1974
Fairchild F8 1975
MOS 6502 1975 Similar to 6800, but incompatible
Microchip PIC 1975 Harvard architecturemicrocontroller
Electronic Arrays EA9002 1976 8-bit data, 12-bit addressing
RCA 1802 1976
Zilog Z80 1976 8080 binary compatible
Intel 8085 1977 8080 binary compatible
Zilog Z8 1978 Harvard architecture microcontroller
Motorola 6809 1978 6800 source compatible
Intel 8051 1980 Harvard architecture microcontroller
Motorola 68008 1982 32-bit registers, 20-bit or 22-bit addressing, three 16-bit ALUs, 8-bit data bus;Motorola 68000software-compatible, 6809 hardware-compatible
MOS 6510 1982 Enhanced 6502 custom-made for use in theCommodore 64
Ricoh 2A03 1982 6502 clone minus BCD instructions for theNintendo Entertainment System
Zilog Z180 1985 Z80 binary compatible
Motorola 68HC11 1985
Hudson HuC6280 1987 65C02 binary compatible
Atmel AVR 1996
Zilog EZ80 1999 Z80 binary compatible
Infineon XC800 2005
Freescale 68HC08 ?
Motorola 6803 ?
NEC 78K0[4] ?

Use for training, prototyping, and general hardware education[edit]

8-bit processors continue to be designed today for general education about computer hardware, as well as for hobbyists' interests. One such CPU was designed and implemented using7400-series integrated circuitson abreadboard.[5][6]Designing 8-bit CPU's and their respective assemblers is a common training exercise for engineering students, engineers, and hobbyists.FPGA's are used for this purpose.

See also[edit]

References[edit]

  1. ^Amdahl, G. M.;Blaauw, G. A.;Brooks, F. P.(1964)."Architecture of the IBM System/360"(PDF).IBM Journal of Research and Development.8(2): 87–101.doi:10.1147/rd.82.0087.Archived(PDF)from the original on 2017-08-10.
  2. ^"X80 Product line: Z84C00"(PDF).15 April 2024.
  3. ^"Bank Switching - C64-Wiki".c64-wiki.Retrieved2021-04-08.
  4. ^"NEC 78K0".NEC.Archived fromthe originalon 2008-10-28.Retrieved2009-02-10.
  5. ^Oberhaus, Daniel (February 9, 2019)."This Guy Designed and Built an 8-bit CPU from Scratch".Motherboard.RetrievedNovember 4,2021.
  6. ^Constantino, Paulo.Homebuilt 8-bit CPU + Computer with graphics and sound made from scratch using 74HC Logic.