8-bit computing: Difference between revisions

Content deleted Content added
Notable 8-bit CPUs: 8085 was introduced March 1976. The 2650 was introduced in 1975 although designed earlier.
Removed a paragraph from the lead. This paragraph appears verbatim on the 16-bit computing article.
 
(2 intermediate revisions by 2 users not shown)
Line 14:
 
The first widely adopted 8-bit [[microprocessor]] was the [[Intel 8080]], being used in many hobbyist computers of the late 1970s and early 1980s, often running the [[CP/M]] [[operating system]]; it had 8-bit data words and 16-bit addresses. The [[Zilog Z80]] (compatible with the 8080) and the [[Motorola 6800]] were also used in similar computers. The Z80 and the [[MOS Technology 6502]] 8-bit CPUs were widely used in [[home computer]]s and [[Second generation of video game consoles|second-]] and [[Third generation of video game consoles|third-generation game consoles]] of the 1970s and 1980s. Many 8-bit CPUs or [[microcontroller]]s are the basis of today's ubiquitous [[embedded system]]s.
 
As of 2025, 8-bit microcontrollers cost well under a dollar<ref>{{Cite web |title=The Amazing $1 Microcontroller |url=https://jaycarlson.net/microcontrollers/ |access-date=21 May 2025 |website=Jay Carlson |language=en-US}}</ref><ref>{{Cite web |title=STM8S103K3T6CTR 28 1KB STM8 8KB LQFP-32(7x7) Microcontroller |url=https://www.alibaba.com/product-detail/STM8S103K3T6CTR-28-1KB-STM8-8KB-LQFP_1601399505160.html}}</ref> (with some exceptions), but the cheapest 16-bit microcontrollers cost less than other types<!-- 0,224 € in volume vs 0,286 € (cheapest in volume) for higher volume of 8-bit vs 0,306 € for 32-bit ARM lower volume --><ref>{{Cite web |title=16-bit Microcontrollers - MCU |url=https://eu.mouser.com/c/semiconductors/integrated-circuits-ics/embedded-processors-controllers/microcontrollers-mcu/16-bit-microcontrollers-mcu/?sort=pricing}}</ref> even including cheapest 8-bit (and are more powerful, and easier to program generally), making 8-bit legacy, i.e. not worth it for new applications; 32-bit microcontrollers are also well under half a dollar, close to cheapest 16-bit, and cheapest than most 8-bit.
 
== Historical context ==
Line 31 ⟶ 29:
Most [[home computer]]s from the 8-bit era fully exploited the address space, such as the [[BBC Micro]] (Model B) with 32&nbsp;KB of [[random-access memory|RAM]] plus 32&nbsp;KB of [[read-only memory|ROM]]. Others like the very popular [[Commodore 64]] had full 64&nbsp;KB RAM, plus 20&nbsp;KB ROM, meaning with 16-bit addressing not all of the RAM could be used by default (e.g. from the included [[BASIC]] language interpreter in ROM);<ref>{{Cite web|title=Bank Switching - C64-Wiki|url=https://www.c64-wiki.com/wiki/Bank_Switching|access-date=8 April 2021|website=www.c64-wiki.com}}</ref> without exploiting [[bank switching]], which allows for breaking the 64&nbsp;KB (RAM) limit in some systems. Other computers would have as low as 1&nbsp;KB (plus 4&nbsp;KB ROM), such as the Sinclair [[ZX80]] (while the later very popular [[ZX Spectrum]] had more memory), or even only 128 bytes of RAM (plus [[storage (memory)|storage]] from a [[ROM cartridge]]), as in an early game console [[Atari 2600]] and thus 8-bit addressing would have been enough for the RAM, if it would not have needed to cover ROM too). The [[Commodore 128]], and other 8-bit systems, meaning still with 16-bit addressing, could use more than 64&nbsp;KB, i.e. 128&nbsp;KB RAM, also the [[BBC Master]] with it expandable to 512&nbsp;KB of RAM.
 
While in general 8-bit CPUs have 16-bit addressing, in some architectures youboth haveare bothavailable, such as in the [[MOS Technology]] [[MOS Technology 6502|6502]] CPU, where the [[zero page]] is 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.
 
Some [[index register]]s, such as the two in the 6502, are 8-bit. This limits the size of the arrays addressed using [[indexed addressing]] instructions to objects of up to 256 bytes without requiring more complicated code. Other 8-bit CPUs, such as the [[Motorola 6800]] and [[Intel 8080]], have 16-bit index registers.