8-bit and 16-bit Processor era saw the introduction of the 6502, 6800, 6809, 68000, 8080, 8085, Z80, 8088, 80286 and early MCU devices among others
Overview
The 8-bit and 16-bit processor era (1970s - 1980s) was marked by rapid advancements in microprocessor technology. These processors formed the core of personal computers, gaming consoles, and embedded systems, shaping the early days of the computing revolution. Below, we explore key processors of the era, their capabilities, and the impact they had on computing.
8080 Processor
The 8080 processor, released by Intel in 1974, was an 8-bit microprocessor that followed on from the 8008, the first 8-bit processor which came after the 4004 IC.
The 8080 powered early computers and video games such as Midway Space Invaders.
6800 Processor
The 6800, released by Motorola in 1974, was an 8-bit processor that featured a more advanced design compared to the 6502. It was used in early home computers and embedded systems. The 6800 introduced an improved instruction set and more powerful addressing modes, setting the stage for its more advanced sibling, the 6809.
6502 Processor
The 6502, introduced by MOS Technology in 1975, was an 8-bit processor used in a wide range of devices. It became highly popular in personal computers and video game consoles due to its affordability and performance. Its simple architecture and efficient instruction set made it ideal for low-cost systems.
The design was inspired by the 6800 but was not compatible with it and rapidly gained popularity due to its low cost.
Z80 Processor
The Z80 processor, introduced by Zilog in 1976, was highly compatible with the Intel 8080 but with several enhancements. It had more registers and better support for interrupts, making it more powerful for computing tasks. The Z80 was used in the popular TRS-80, Sinclair ZX Spectrum, MSX and various arcade games.
8088 Processor
The 8088, introduced by Intel in 1979, was a variant of the 8086 with an 8-bit external data bus. It powered the original IBM PC and was notable for its compatibility with existing 8-bit hardware. Despite its 16-bit architecture internally, the 8088's 8-bit bus reduced costs while providing good performance for early personal computers.
Due to being chosen to power the first IBM PC, it rapidly gained popularity and set the stage for future development of the i86 series which in its modern 64-bit multi-core variants powers servers, desktops, and laptops globally, making it one of the most important processors of the era.
68000 Processor
The 68000 processor, released by Motorola in 1979, was a major leap forward as a 16-bit processor with a 32-bit internal architecture. It introduced a more powerful address bus, enabling access to 16 MB of memory. The 68000 became widely used in personal computers like the Apple Macintosh, Commodore Amiga, and Atari ST.
Embedded Processors
The need for processors for calculators, industrial controllers, keyboard controllers, etc., led to the development of the MCU in many guises.
Computers and Consoles: Specifications by Year
Popular Computers and Consoles (By Year of Introduction)
| Computer / Console |
Year Released |
Processor |
RAM |
ROM |
Disk Storage |
| Magnavox Odyssey |
1972 |
None (Discrete logic) |
None |
None |
None |
| Atari 2600 |
1977 |
MOS 6507 @ 1.19 MHz |
128 bytes |
4 KB (cartridge) |
None |
| Intellivision |
1979 |
GI CP1610 @ 894 kHz |
1 KB |
4 KB |
None |
| ColecoVision |
1982 |
Zilog Z80A @ 3.58 MHz |
1 KB |
8 KB |
None |
| Nintendo Entertainment System (NES) |
1983 |
Ricoh 2A03 (6502 core) @ 1.79 MHz |
2 KB |
32 KB (cartridge) |
None |
| Sega Master System |
1985 |
Zilog Z80 @ 3.58 MHz |
8 KB |
16 KB BIOS + cartridge |
None |
Note: The specifications for some systems, such as early home computers, were quite minimal, and many systems used cassette tapes for storage due to the lack of affordable disk drives. As technology progressed, disk storage and more powerful processors became the standard for personal computers and gaming consoles.
6502, 6800, 6809 Microprocessor Comparison
Overview
The 6502, 6800, and 6809 microprocessors are among the most influential early CPUs, used in a wide range of computing systems from home computers to embedded devices. Below is an overview of each processor, followed by a feature comparison:
6502 Processor
The MOS Technology 6502 was an 8-bit microprocessor introduced in 1975. It became widely popular in early home computers and gaming consoles, such as the Apple II, Commodore 64, and Atari consoles.
Variants of the 6502 include the WDC 65C02 (CMOS version) and the WDC 65C816 (a 16-bit extension), providing enhanced features like lower power consumption, higher speeds, and improved functionality.
6800 Processor
The Motorola 6800 was an 8-bit microprocessor released in 1974. It is known for its use in embedded systems, early personal computers, and gaming systems. The 6800 was the basis for later, more advanced processors such as the 6809. It was also used in the design of several early home computers like the Tandy TRS-80 and the Motorola M6800 development systems.
Variants of the 6800 include the 6802 (low-power version), 6804 (cost-reduced), and 6801 (microcontroller variant), with each offering specific optimizations for embedded and industrial applications.
6809 Processor
The Motorola 6809 was introduced in 1978 and is a more advanced version of the 6800. It is known for its rich instruction set, powerful 16-bit operations, and highly efficient addressing modes. The 6809 was widely used in systems like the Tandy Color Computer, Dragon 32, and various embedded systems.
Variants of the 6809 include the 6809E (enhanced version with better power efficiency), the 6309 (featuring hardware multiply and divide instructions), and the 68HC09 (with integrated peripherals for embedded applications).
Feature Comparison Table
| Feature |
6502 |
6800 |
6809 |
| Introduction Year |
1975 |
1974 |
1978 |
| Data Bus |
8-bit |
8-bit |
8-bit (16-bit operations) |
| Address Bus |
16-bit |
16-bit |
16-bit |
| Instruction Set |
Simple, efficient |
Moderately complex |
Advanced, rich addressing modes |
| Clock Speed |
1 MHz to 2 MHz |
1 MHz to 2 MHz |
1 MHz to 2.5 MHz |
| Registers |
3 8-bit general-purpose, 1 status |
2 8-bit general-purpose, 1 status |
8 8-bit general-purpose, 1 status |
| Interrupts |
2 interrupt lines |
2 interrupt lines |
5 interrupt lines |
| Variants |
65C02 (CMOS), 65C816 (16-bit) |
6802, 6804, 6801 |
6809E, 6309, 68HC09 |
| Common Uses |
Home computers, gaming consoles |
Embedded systems, early personal computers |
Embedded systems, home computers (e.g., Tandy Color Computer) |
| Peripheral Integration |
External peripherals required |
External peripherals required |
More advanced, built-in peripherals (e.g., serial I/O, timers) |
Popular Computers Using These Processors
The 6502, 6800, and 6809 powered many iconic home computers, arcade systems, and embedded platforms across the late 1970s and 1980s. Many of these systems defined the early personal computing era.
6502-Based Computers
- Apple I (1976)
- Apple II series (1977) – II, II+, IIe, IIc
- Commodore PET (1977)
- Commodore VIC-20 (1980)
- Commodore 64 (1982) – best-selling computer of all time
- Atari 400/800 (1979)
- BBC Micro (1981) – Acorn Computers
- Atari 2600 (1977) – with custom 6507 variant
- Nintendo Famicom / NES (1983) – using Ricoh 2A03/2A07 (6502-derived)
6800-Based Computers
- SWTPc 6800 (1975) – early kit computer
- Altair 680 (1975)
- Tektronix 4051 (1975)
- Early automotive engine controllers (GM, Ford, Chrysler)
- Motorola evaluation boards (MEK6800 series)
6809-Based Computers
- Tandy TRS-80 Color Computer (1980) – CoCo 1/2/3
- Dragon 32 / 64 (1982)
- Fujitsu FM-7 (1982)
- Superboard/UK101 upgrades
- Vetrex Arcade Console (1982) – used 6809 for vector graphics
- Numerous industrial control systems
Operating Systems for 6502, 6800, and 6809 Systems
These microprocessors supported a variety of operating systems, ranging from monitor ROMs and BASIC interpreters to full multitasking OSes like OS-9. Below is a list of notable operating systems used on each CPU family.
Operating Systems for 6502 Systems
- Apple DOS (1978) – Apple II disk operating system
- ProDOS (1983) – advanced hierarchical filesystem
- Commodore BASIC (1977+) ROM – built into PET, VIC-20, C64
- GEOS (1986) – GUI for Commodore 64/128
- Atari DOS (1979) – for Atari 8-bit computers
- BBC MOS (1981) – Acorn/BBC Micro OS with fast I/O
- Forth, CP/M-like variants, and numerous cartridge OSes
Operating Systems for 6800 Systems
- Flex (1976) – popular early microcomputer OS (SWTPc)
- Mikbug (1974) – Motorola monitor/debugger
- Minibug / MIKOS
- Early automotive control firmware
- Custom ROM monitors for embedded systems
Operating Systems for 6809 Systems
- OS-9 (1979) – multitasking, multi-user realtime OS (very advanced)
- DECB (Disk Extended Color BASIC, 1980) – Tandy CoCo
- Flex09 (1978) – 6809 port of FLEX
- NitrOS-9 (1990s) – enhanced OS-9 for CoCo/Dragon
- FUZIX (modern) – Unix-like OS ported to 6809
- Custom industrial control OSes
The 6809 stands out historically for supporting OS-9, one of the most capable operating systems of the early 1980s, offering memory protection, multitasking, and multi-user features normally found only on minicomputers.
Note
Note: The 6809 is considered to be more powerful than both the 6502 and 6800 due to its advanced instruction set, better support for 16-bit operations, and more sophisticated addressing modes. It also features more interrupt lines and advanced peripherals, making it suitable for complex embedded systems.
Intel 8080 & 8085 Microprocessors
Introduction
The Intel 8080 and 8085 are 8-bit microprocessors introduced in the 1970s. These processors played a crucial role in the early development of microcomputing.
Intel 8080
The Intel 8080, released in 1974, was one of the first widely-used microprocessors. It was used in early computers and control systems.
- 8-bit processor
- Address Bus: 16-bit (64 KB memory addressing)
- Clock Speed: 2 MHz
- Required multiple support chips
- Used +5V, -5V, and +12V power supply
Intel 8085
The Intel 8085, introduced in 1976, was an improved version of the 8080 with simplified power requirements and better performance.
- 8-bit processor
- Address Bus: 16-bit (64 KB memory addressing)
- Clock Speed: 3-6 MHz
- Required fewer external components
- Used a single +5V power supply
Zilog Z80 Processor
Zilog Z80
The Z80 is an 8-bit microprocessor designed and manufactured by Zilog in 1976. It was widely used in early personal computers and embedded systems.
- Data Bus Width: 8-bit
- Address Bus Width: 16-bit
- Clock Speed: 2.5 MHz to 20 MHz
- Instruction Set: Zilog proprietary instruction set
- Notable Usage: Used in early personal computers (e.g., Sinclair ZX Spectrum, TRS-80, MSX computers)
Several devices based on the Z80 were developed for MSX computers, visit the MSX page for more details.
8080, 8085, Z80 Chip Comparison
Overview
The Intel 8080, Intel 8085, and Zilog Z80 are all microprocessors that played a crucial role in the early development of computer systems. Here's a comparison of their features:
| Feature |
Intel 8080 |
Intel 8085 |
Zilog Z80 |
| Introduction Year |
1974 |
1976 |
1976 |
| Data Bus |
8-bit |
8-bit |
8-bit |
| Address Bus |
16-bit |
16-bit |
16-bit |
| Addressable Memory |
64 KB |
64 KB |
64 KB |
| Instruction Set |
Basic |
Improved (with 8080 compatibility) |
More extensive (includes 8080 & new instructions) |
| Registers |
6 8-bit general-purpose registers |
6 8-bit general-purpose registers, 16-bit stack pointer |
8-bit and 16-bit general-purpose registers, alternate register set |
| Clock Speed |
2 MHz |
3 MHz (up to 5 MHz in some versions) |
4 MHz (up to 20 MHz in some versions) |
| Interrupts |
5 interrupts |
5 interrupts (with priority levels) |
12 interrupts (with more flexible prioritization) |
| Power Consumption |
High |
Low |
Moderate |
| Peripherals |
External peripherals required |
Built-in serial I/O |
Zilog serial I/O, DMA, Counter timers, PIO and other peripheral chips available which support the Z80 vectored interrupt structure
Newer variants have substantial onboard peripherals for embedded applications
MSX computer chips were developed around the Z80 processor which integrates the majority of the onboard circuitry required to implement the MSX standard
|
| Compatibility |
None |
Compatible with 8080 |
Fully backward compatible with 8080 and 8085 |
Computers Built Using These Processors
Introduction
The Intel 8080, Intel 8085, and Zilog Z80 powered many influential early computers. The Z80 in particular became the heart of the home computer revolution in the 1980s, especially through the ZX Spectrum and MSX platforms.
Intel 8080-Based Systems
- Altair 8800 – The first commercially successful personal computer (1975). Ran CP/M and inspired the creation of Microsoft.
- IMSAI 8080 – A famous Altair-compatible system used widely by hobbyists.
- Intel Intellec 8 development systems.
Intel 8085-Based Systems
- Single-board trainers such as the 8085 SDK-85, used for education and industrial control.
- Early embedded controllers in machinery, telecom systems, and laboratory equipment.
Zilog Z80-Based Systems
- Sinclair ZX80 – One of the first affordable home computers.
- Sinclair ZX81 – Improved design, more reliable and popular worldwide.
- Sinclair ZX Spectrum – One of the most iconic 8-bit computers, especially in Europe.
- MSX Computers – A standard home computer architecture with many manufacturers (Sony, Yamaha, Panasonic). Used Z80-compatible CPU cores.
- TRS-80 (Tandy Radio Shack) – A major early personal computer line in the USA.
- Amstrad CPC series – Another highly successful Z80-based line.
- Kaypro & Osborne 1 CP/M portables.
Because of its enhanced instruction set and additional registers, the Z80 dominated home computing, education, and CP/M business machines throughout the 1980s.
Operating Systems
CP/M (Control Program for Microcomputers)
The most important OS for the 8080, 8085, and early Z80 systems. Written originally for the 8080 but ran extremely well on the Z80 due to backward compatibility.
- Standard OS for 1970s–1980s business computers
- Command-line interface
- Large library of software: MBASIC, WordStar, dBase II
MSX-DOS
Microsoft’s CP/M-compatible OS for MSX computers. Provided:
- FAT filesystem (similar to early MS-DOS)
- CP/M compatibility at application level
- Extended disk utilities
ZX Spectrum ROM OS
The Spectrum used a built-in BASIC interpreter OS stored in ROM:
- Line-based Sinclair BASIC
- Direct control of graphics, sound, and memory
- Tape-based file loading
ZX80/ZX81 OS
Very lightweight ROM-based OS with integer BASIC interpreter and extremely low memory overhead.
TRS-DOS
Used on TRS-80 systems, provided:
- Disk support
- Command interpreter
- Z80-specific optimizations
Monitor ROMs (8080/8085)
Many development boards and embedded systems did not run a full OS. Instead, they used:
- Small ROM monitors
- Hex loaders
- Serial command interfaces
- EPROM programmers and memory inspectors
Key Differences
- The 8080 was the first microprocessor and lacks several features found in later processors, such as an interrupt system with priority levels, DMA, and a more advanced instruction set.
- The 8085 introduced a few key improvements over the 8080, including built-in serial I/O and more stable clocking for higher clock speeds.
- The Z80 was developed to be backward compatible with both the 8080 and 8085 while introducing several advanced features such as extra registers, support for direct memory access (DMA), more interrupts, and more powerful instructions.
Intel Processor Comparison: 8086, 8088, 80186, 80188, 80286, 80386, 80486
Overview
The Intel processors from the 8086 to the 80486 were pivotal in the development of personal computing. They marked significant advances in microprocessor design, offering increasing clock speeds, wider data paths, and advanced memory management. Below, we will explore the key features and differences of these processors, followed by a comparison table.
8086 Processor
The Intel 8086 was released in 1978 as a 16-bit microprocessor and is often regarded as the predecessor to the x86 architecture. It was designed with a 16-bit data bus and 20-bit address bus, allowing it to access up to 1 MB of memory. The 8086 became widely known for being the basis of the IBM PC.
8088 Processor
The Intel 8088 is very similar to the 8086, but it features an 8-bit external data bus rather than the 8086's 16-bit data bus. This made the 8088 less expensive to produce and allowed it to be used in the original IBM PC, where it became famous for its low cost and simplicity.
80186 Processor
The Intel 80186 was an enhanced version of the 8086, introduced in 1982. It included additional features such as built-in peripherals (timer, interrupt controller, etc.) and a more advanced instruction set. However, it was not widely adopted in PCs, as the 80286 was released shortly thereafter.
80188 Processor
The Intel 80188 is a variant of the 80186 that uses an 8-bit external data bus. It provided similar advantages to the 8088 over the 8086, offering lower cost and easier integration into systems with 8-bit buses. However, like the 80186, it was less widely adopted in the personal computer market.
80286 Processor
The Intel 80286, released in 1982, was a major leap forward in performance and capability. It featured a 16-bit data bus and 24-bit address bus, which allowed it to address up to 16 MB of memory. The 80286 introduced protected mode, allowing for better multitasking and memory management, a feature that laid the groundwork for modern operating systems.
80386 Processor
The Intel 80386, introduced in 1985, was the first true 32-bit microprocessor in the x86 family. It featured a 32-bit data bus and 32-bit address bus, which allowed it to address up to 4 GB of memory. The 80386 also introduced a new virtual memory system and further enhanced multitasking capabilities, which made it the foundation for the development of modern operating systems like Windows NT.
80486 Processor
The Intel 80486, released in 1989, was a significant upgrade to the 80386, incorporating a built-in math coprocessor (FPU) and higher clock speeds. It featured a 32-bit data bus and 32-bit address bus and was widely used in desktop computers. The 80486 was the first processor to achieve true "superscalar" architecture, allowing for the execution of multiple instructions per clock cycle, which greatly increased performance.
Feature Comparison Table
| Feature |
8086 |
8088 |
80186 |
80188 |
80286 |
80386 |
80486 |
| Introduction Year |
1978 |
1979 |
1982 |
1982 |
1982 |
1985 |
1989 |
| Data Bus |
16-bit |
8-bit |
16-bit |
8-bit |
16-bit |
32-bit |
32-bit |
| Address Bus |
20-bit |
20-bit |
20-bit |
20-bit |
24-bit |
32-bit |
32-bit |
| Max Memory Addressable |
1 MB |
1 MB |
1 MB |
1 MB |
16 MB |
4 GB |
4 GB |
| Protected Mode |
No |
No |
No |
No |
Yes |
Yes |
Yes |
| Superscalar |
No |
No |
No |
No |
No |
No |
Yes |
| Floating Point Unit (FPU) |
No |
No |
No |
No |
No |
No |
Yes |
| Clock Speed |
5-10 MHz |
4-8 MHz |
6-10 MHz |
6-10 MHz |
6-25 MHz |
12-40 MHz |
20-100 MHz |
Popular Computers Using These Processors
These Intel processors powered many influential personal computers, workstations, and early business systems. Below are some well-known examples associated with each processor generation:
- 8086: IBM PC-compatible clones, Siemens PC-D, Olivetti M24
- 8088: IBM PC (Model 5150), IBM PC-XT (5160), Compaq Portable
- 80186: Tandy 2000, early embedded controllers, industrial PCs
- 80188: Industrial automation controllers, communications equipment
- 80286: IBM PC-AT (5170), AT clones, Compaq Deskpro 286
- 80386: IBM PS/2 Models 70 and 80, Compaq Deskpro 386, early Windows NT workstations
- 80486: IBM PS/2 Model 90/95, Packard Bell Legend, Gateway 2000, Dell OptiPlex and Dimension series
Operating Systems (Historical Timeline)
The x86 processors from the 8086 through the 80486 supported a wide range of operating systems over the years. Some were simple command-line OSes designed for early PCs, while others were advanced multitasking systems that introduced features still used today.
MS-DOS / PC-DOS (1981)
- DOS 1.x (1981): Single-tasking, floppy-disk only, 8086/8088 systems.
- DOS 2.x (1983): Hard-disk support, directories, IBM XT era.
- DOS 3.x (1984–1987): Network support, larger disks, used on 286/386.
- DOS 4.x (1988): Enhanced shell, larger partitions.
- DOS 5.0 (1991): 386 memory managers, HIMEM.SYS.
- DOS 6.x (1993–94): Disk compression, improved utilities.
Microsoft Windows (1985)
- Windows 1.0 (1985): Cooperative multitasking GUI over DOS, 8086+.
- Windows 2.x (1987): Improved GUI, 286 support, early Excel.
- Windows 3.0 (1990): Uses 286/386 protected and enhanced modes.
- Windows 3.1 / 3.11 (1992–1993): TrueType fonts, multimedia, networking.
- Windows NT 3.1 (1993): First 32-bit NT kernel, requires 386 or better.
IBM OS/2 (1987)
- OS/2 1.x (1987): Text-based, protected mode 286 OS.
- OS/2 2.0 (1992): True 32-bit OS for 386+, “A better DOS than DOS.”
- OS/2 Warp (1994): Advanced GUI, multitasking, multimedia.
Unix & Unix-like Systems
- Xenix (1980): Microsoft’s licensed UNIX, ran on 8086/286.
- Minix (1987): Teaching OS, 8088/286 compatible.
- 386BSD (1992): First free Unix for 386 systems.
- FreeBSD (1993): 386+ advanced BSD release.
Linux (1991)
- Linux 0.01–0.11 (1991–1992): Early 386-only kernel releases.
- Slackware (1993): First major Linux distribution.
- Debian (1993): Modern package management emerges.
BeOS (1995)
BeOS was introduced slightly later but still ran on fast 486 and early Pentium systems.
- BeOS DR releases (1995): First x86 ports targeted 486/Pentium-class machines.
- BeOS R3–R5 (1998–2000): Highly multithreaded media-oriented OS.
Other Notable Systems
- GEOS (1986): GUI for 8088/286 systems.
- DESQview (1985): 386 multitasking environment.
- CP/M-86 (1981): Early DOS alternative for 8086/8088.
- DR-DOS (1988): Advanced DOS-compatible OS.
- Windows for Workgroups (1992): LAN and peer networking.
The evolution of operating systems closely followed the capabilities of these Intel processors, especially the transition to protected mode on the 286 and full 32-bit multitasking on the 386.
Note
Note: The 80486 represented a major leap in performance over the 80386, incorporating integrated floating-point operations (FPU) and the ability to execute multiple instructions per clock cycle, making it the foundation for more advanced microprocessors.
Motorola 68000 (m68k) Microprocessor
Overview
The Motorola 68000, introduced in 1979, is a 16/32-bit CISC microprocessor that launched an entire family of processors (68010, 68020, 68030, 68040, 68060). It powered many of the most influential computers of the 1980s and 1990s, including the Apple Macintosh, Commodore Amiga, Atari ST, and numerous arcade boards.
The 68000 combines a 16-bit external bus with a 32-bit internal architecture and a flat 24-bit address space, giving it a powerful instruction set far ahead of other microprocessors of its time.
68000 Processor
The original Motorola 68000 (MC68000) is known for its elegant and orthogonal instruction set, large register file, and high performance relative to contemporary 8-bit and early 16-bit CPUs. It became the foundation of the m68k CPU family used widely in personal computers, workstations, game consoles, and embedded systems.
Variants include the 68008 (8-bit external bus), 68010 (improved exception handling), and the widely used 68020–68060 series offering true 32-bit processing, integrated MMUs, FPUs, and higher clock speeds.
Features of the Motorola 68000
| Feature |
Motorola 68000 |
| Introduction Year |
1979 |
| Internal Architecture |
32-bit |
| External Data Bus |
16-bit |
| Address Bus |
24-bit (16 MB address space) |
| Registers |
16 × 32-bit registers (8 data, 8 address) |
| Instruction Set |
Orthogonal 32-bit CISC |
| Clock Speeds |
4 MHz, 8 MHz, 12 MHz, 16 MHz |
| Variant CPUs |
68008, 68010, 68020, 68030, 68040, 68060 |
| Common Uses |
Home computers, workstations, arcade boards, embedded systems |
Popular Computers Using the Motorola 68000 Family
Home Computers & Workstations
- Apple Macintosh (1984) – original 128K and 512K
- Commodore Amiga 1000 (1985)
- Atari ST series (1985)
- Sharp X68000 (1987)
- NeXT Computer (1988) – used the 68030
- Sun Workstations (early models used 68010/68020)
Game Consoles & Arcade Systems
- Sega Genesis / Mega Drive (1988) – 68000 main CPU
- Sega CD (1991)
- Capcom CPS-1 Arcade Board (1988)
- Capcom CPS-2 (1993)
- SNK Neo Geo MVS/AES (1990)
- Namco System series arcade boards
Embedded & Industrial Uses
- Laser printers (HP, Canon)
- Telecom switches
- Scientific instruments
- Automotive controllers (early high-end systems)
Operating Systems for Motorola 68000 Systems
The 68000 family supported some of the most advanced and influential operating systems of the 1980s and 1990s, ranging from GUIs to multitasking UNIX-like systems.
Major Operating Systems
- Mac System Software (1984) – original Macintosh OS
- AmigaOS (1985) – preemptive multitasking, advanced graphics
- Atari TOS (1985) – GEM-based GUI for Atari ST
- NeXTSTEP (1988) – object-oriented OS, foundation of macOS
- UNIX System V ports (1980s) – widely used on 68020/68030 systems
- BSD UNIX variants (1980s)
- OS-9/68000 (1982) – successor to the 6809 OS-9, realtime multitasking
Game & Embedded OSes
- Sega Genesis firmware (1988)
- MVS/AES arcade BIOS (1990)
- Arcade custom OS kernels (Capcom, Namco, Sega)
- Industrial RTOS variants
The 68000 was unique in this era for supporting both classic GUI operating systems (Mac, AmigaOS, TOS) and full UNIX workstations, a range unmatched by most contemporary CPUs.
Note
The Motorola 68000 family had a major impact on computing history, powering early GUI computers, professional workstations, and a generation of game consoles and arcade systems. Its clean instruction set and large register model influenced later architectures, including ARM.
Other Notable 8-Bit Processors
Intel 8035
The Intel 8035 is an 8-bit microprocessor introduced in 1976 as a part of the 8030 series. It was designed primarily for embedded control applications. The 8035 shares a similar architecture with the Intel 8080, but it lacks the general-purpose registers, making it less flexible than the 8080. It was used in a variety of early embedded systems and devices.
Features:
- Clock speed: Up to 3 MHz
- 4-bit accumulator and limited register set
- Internal ROM, external RAM
- 8-bit address bus, 256 bytes of RAM
- Single-chip design for embedded systems
National Semiconductor IMP-16
The National Semiconductor IMP-16 is an early 8-bit microprocessor introduced in 1975. It was notable for being one of the first processors to use the new "microprocessor" architecture. While not as widely used as the 8080 or 6502, it found use in some embedded systems.
Features:
- Clock speed: 1 MHz
- 8-bit instruction set
- 32 bytes of RAM
- Program memory in external ROM
- Address space of 4K
Motorola 6801
The Motorola 6801, released in 1977, is an 8-bit microprocessor that features the same general architecture as the 6800 but with added flexibility. It was widely used in embedded systems, automotive, and consumer electronics, particularly because it had integrated I/O features that reduced the need for external peripherals.
Features:
- Clock speed: Up to 2 MHz
- 8-bit accumulator and 16-bit address bus
- Up to 1 KB RAM (depending on configuration)
- On-chip I/O peripherals
- Low power consumption
RCA 1802
The RCA 1802 is an 8-bit microprocessor introduced in 1976, famous for its use in the early space applications, particularly in spacecraft. It features a highly efficient, low-power design that made it ideal for applications where heat dissipation and energy efficiency were crucial.
Features:
- Clock speed: Up to 3 MHz
- 8-bit data bus, 16-bit address bus
- Highly efficient for space missions due to low power requirements
- Direct access to memory-mapped I/O
- Programmable memory space
Fairchild F8
The Fairchild F8 was introduced in 1975 and was used in early embedded systems, particularly in telecommunications and consumer electronics. It was a 40-pin microprocessor with a 4-bit wide ALU (Arithmetic Logic Unit) and a register-based architecture.
Features:
- Clock speed: 1 MHz
- 4-bit ALU, 8-bit instruction set
- 64 bytes of RAM
- Used in a variety of embedded systems applications
- Simple memory architecture
Signetics 2650
The Signetics 2650, released in 1975, was another early 8-bit processor designed for embedded systems. Unlike other processors of the time, the 2650 was designed with a highly flexible interrupt handling system, making it an ideal choice for real-time processing applications.
Features:
- Clock speed: Up to 2 MHz
- 8-bit accumulator, 16-bit address bus
- 128 bytes of RAM
- Innovative interrupt handling for real-time processing
- Simple but effective I/O architecture
Transputers
The Transputer was a pioneering family of microprocessors developed by Inmos in the 1980s, designed for parallel computing. Unlike traditional microprocessors, Transputers integrated processing power with on-chip memory and communication links, allowing multiple processors to be connected in a network. This innovative architecture enabled the creation of large, distributed parallel computing systems for high-performance applications.
The Transputer family was built on a 32-bit RISC architecture, with models such as the T414, T800, and T225 offering varying levels of processing power and communication capabilities. The processors supported multiple communication links, enabling them to communicate with other Transputers in a network, facilitating massively parallel computation.
Transputers were mainly programmed using the occam programming language, designed specifically for concurrent and parallel systems. These processors found applications in real-time processing, scientific simulations, image processing, and early-stage artificial intelligence.
While the Transputer family was eventually discontinued, its innovative design influenced modern multi-core processors and parallel computing systems, laying the groundwork for the distributed computing technologies we use today.
More
Transputer Processors
Transputer processors are a family of microprocessors developed by Inmos (a British semiconductor company) in the 1980s. These processors were created specifically for parallel computing, with the goal of providing high-performance systems by integrating multiple processors in a network. Their architecture made them well-suited for scientific, engineering, simulation, and real-time applications.
Overview
The transputer architecture was one of the first to feature integrated communication links between processors, allowing them to be connected in flexible topologies such as pipelines, rings, meshes, and hypercubes. A transputer combined a CPU, RAM, and high-speed communication links on a single chip, which was revolutionary for the time. This made it possible to design parallel computing clusters that scaled linearly simply by adding more transputers.
Key Features
- Integrated serial communication links for ultra-fast processor-to-processor data transfer
- Built-in support for parallel and concurrent processing
- On-chip memory and memory management
- Scalable architecture: adding more processors increased computing power directly
- Support for the occam language, specifically designed for concurrency
- Deterministic real-time execution, ideal for robotics and control systems
Transputer Models
Several transputer models were released across multiple generations:
- INMOS T414 – A 32-bit integer RISC core with 2 link interfaces and 2–5 MB/s link speed.
- INMOS T425 – Improved T414 with faster clock rates and enhanced link reliability.
- INMOS T800 – High-performance model with a 64-bit floating-point unit (FPU) and 4 communication links.
- INMOS T805 – Enhanced version of the T800 with additional on-chip memory and improved link protocol.
- INMOS T9000 – A radically redesigned next-generation transputer featuring virtual channels, 100× faster links, and hardware message routing.
- INMOS T225 – Lower-cost and lower-performance 16-bit version for embedded applications.
Computers and Systems Using Transputers
Transputers were used in a wide range of computers, workstations, accelerator boards, and supercomputing systems. Key examples include:
• INMOS IMS B004 / B008 Transputer Boards
ISA and later VME cards containing multiple interconnected T4xx or T8xx processors. Used in universities, labs, and early parallel research systems.
• Meiko Computing Surface (1985)
A modular transputer-based supercomputer used in academia, intelligence agencies, and defense research. Systems ranged from a few dozen to several thousand transputers.
• Parsytec Supercomputers
German-made high-end parallel computers that scaled to thousands of T800 processors. Models included:
- Parsytec SuperNode
- Parsytec GC (GigaCluster)
- Parsytec MultiCluster
• SGS-Thomson (ST) Transputer Modules
Industrial modules embedding T400/T800 processors for robotics, automation and real-time control systems.
• Atari Transputer Workstation (ATW800)
A workstation planned by Atari in the late 1980s, built around the T800 and intended to run the Helios OS. Prototype units exist, but commercial release was cancelled.
• High-end Graphics and Image Processing Boards
Companies like SGS, Meiko, and Transtech produced transputer-based image accelerators for medical imaging, video processing and early VR research.
• Connection Machines (early prototypes)
Some early Connection Machine research systems experimented with transputers before moving to custom silicon.
Operating Systems for Transputers
Several operating systems were developed specifically to support parallel execution on transputers:
• occam (1983)
A programming language and runtime system for concurrency. It directly matched the hardware communication model of transputers.
-- Simple OCCAM example demonstrating parallel processes
PROC adder(CHAN OF INT in1, CHAN OF INT in2, CHAN OF INT out)
INT a:
INT b:
SEQ
in1 ? a -- read from first channel
in2 ? b -- read from second channel
out ! (a + b) -- send sum to output channel
:
PROC main()
CHAN OF INT c1, c2, c3:
PAR
SEQ
c1 ! 10
c2 ! 32
adder(c1, c2, c3)
SEQ
INT result:
c3 ? result
-- result now contains 42
:
Transputers were also supported by the C programming language
/* Example Transputer C code using INMOS iC compiler */
#include <occamio.h>
/* Channels are represented as pointers to channel ends */
CHAN_INT inChan;
CHAN_INT outChan;
void adder()
{
int a, b;
in(&inChan, &a); /* read integer from channel */
in(&inChan, &b);
int sum = a + b;
out(&outChan, sum); /* write result */
}
void main()
{
int x = 7, y = 9;
out(&inChan, x);
out(&inChan, y);
adder();
int result;
in(&outChan, &result);
/* result now holds 16 */
}
• Transputer Development System – TDS (1985)
A lightweight operating environment for debugging, loading, and running occam programs across transputer networks.
• Helios Operating System (1988)
The most advanced transputer OS, developed by Perihelion Software. Features included:
- Unix-like environment
- Distributed microkernel
- Transparent process migration across nodes
- POSIX-like APIs
- Load balancing across the whole transputer network
• Parix (1990) – Parsytec
A distributed OS and message-passing system designed for Parsytec transputer supercomputers. Highly optimized for T800 FP performance.
• Vnix (1989)
A Unix-like research OS designed for virtual channel systems and early T9000 prototypes.
• Idris for Transputers
A small multitasking OS ported to transputer arrays and used in embedded and industrial systems.
Additional Interesting Technical Details
- Communication Links operated independently of the CPU, allowing data to be transferred even while the processor was busy.
- Hardware scheduling allowed extremely low latency in parallel task switching.
- T800’s FPU was one of the fastest floating-point units of its era in a microprocessor.
- Deterministic execution made them ideal for robotics, avionics and high-reliability systems.
- T9000 introduced hardware routers that could switch thousands of messages per second across massive networks.
- Early machine learning systems in the late 1980s (e.g., neural network simulators) used transputers for parallel training.
Legacy and Impact
The transputer was a major milestone in the evolution of parallel computing. Although commercial adoption declined in the 1990s, ideas from the architecture directly influenced:
- Multi-core CPUs
- GPU parallel programming (CUDA & OpenCL)
- Message-passing systems like MPI
- On-chip networks (NoC) used in modern CPUs
- Embedded multicore processors
Zilog Z80 Family GPIO and Peripheral Chips
-
Z80 PIO – Dual 8-bit parallel ports with full handshaking.
The Z80 PIO (Parallel Input/Output) provides two independent 8-bit ports (Port A and Port B), each with its own mode control register.
- Mode 0: Basic input/output
- Mode 1: Strobed input/output with READY and STROBE pins
- Mode 2: Bidirectional bus mode with dynamic direction
Each port supports interrupt-on-change, vectorized interrupts, and handshake control lines.
Used in printers, keypads, memory-mapped port expanders, robotics, and CP/M workstation peripherals.
-
Z80 CTC – Four-channel programmable counter/timer.
The Z80 CTC provides four independent timer/counter channels, each capable of operating in:
- Timer mode – Clocked by CPU clock or external signal
- Counter mode – Counts external pulses
- Trigger mode – Cascades channels
Capable of baud-rate generation, periodic interrupts, triggering DMA transfers, and precise event timing.
Strongly associated with the SIO and DART to create full communications subsystems.
-
Z80 DART – Dual-channel UART for asynchronous serial.
The Z80 DART (Dual Asynchronous Receiver/Transmitter) implements two independent UARTs with fine-grained configuration:
- Programmable baud rate, parity, word length, and framing
- Break generation and break detect
- Hardware flow control (CTS/RTS)
- Separate interrupt sources per channel
Used in early CP/M terminals, industrial serial networks, and point-of-sale systems.
-
Z80 SIO – Synchronous + asynchronous serial controller.
The Z80 SIO extends the DART by adding synchronous protocols:
- SDLC/HDLC framing
- CRC generation/checking
- Clock recovery and automatic flag insertion
- DMA-compatible handshake lines
Used in X.25 packet switchers, telecom gear, early networking nodes, and bank terminals.
-
Z80 DMA – Bus master for high-speed memory access.
The Z80 DMA allows block transfers without CPU involvement, supporting:
- Cycle-steal mode – CPU and DMA interleave bus cycles
- Burst mode – DMA takes full control of the bus
- Memory-to-memory and memory-to-I/O transfers
Used in floppy controllers, disk buffer systems, video memory refreshers, and high-speed acquisition hardware.
-
Z80 KIO – Combined PIO, SIO, and timer/counter.
The Z80 KIO integrates peripheral functions:
- Two programmable 8-bit parallel ports
- Two counter/timer channels
- A full UART-based SIO module
- Clock oscillator + divider
This single-chip peripheral hub reduced board size in embedded Z80 appliances, terminals, and portable devices.
-
Z80 SCC – Advanced serial communications controller.
The SCC (Serial Communications Controller) is one of the most advanced Z80 peripherals. Features include:
- HDLC, SDLC, BISYNC, and custom synchronous modes
- On-chip FIFO buffers
- Error detection and framing logic
- DMA-ready signaling
Used in early routers, PBX systems, WAN cards, and SNA/X.25 controllers.
-
Z80 CIO – Multipurpose communications I/O.
The CIO integrates timers and flexible I/O control:
- Bit-level programmable I/O pins
- Three programmable interval timers
- Interrupt vector prioritization and masking
Used in telecommunications racks, control boards, and multifunction I/O backplanes.
-
Z84C90 – Integrated serial/parallel/timer control.
The Z84C90 integrates:
The tight integration reduces bus latency and simplifies PCB designs for multi-I/O Z80 systems.
-
Z8470 – Programmable I/O and timer/counter.
The Z8470 offers:
- 8 programmable I/O pins
- Interval timer/counter logic
- Flexible interrupt routing per pin
Popular in industrial controllers, robotics, and Z80 bus expansion modules.
Unique Interrupt Vector System of the Z80
The Z80 has one of the most flexible interrupt systems of any 8-bit processor, supporting three distinct interrupt modes:
Interrupt Mode 0 (IM0)
The CPU treats the interrupting device as if it executed an opcode on the data bus.
This allows hardware devices to inject a single-byte instruction (typically RST N).
Rarely used in simple systems but powerful for multi-device interrupt handlers.
Interrupt Mode 1 (IM1)
The simplest mode: any maskable interrupt forces a jump to address 0038h.
Used on Sinclair ZX Spectrum, MSX 1, ColecoVision, and many arcade boards.
Interrupt Mode 2 (IM2)
The Z80's most unique feature: a fully table-driven interrupt vector system similar to modern CPUs.
- The CPU uses the I register as the high byte of the interrupt vector table.
- The interrupting device places a vector byte on the bus.
- The CPU combines them to produce a 16-bit pointer to a jump address.
This allows:
- Each peripheral to have its own interrupt handler
- Nested interrupts
- Prioritized interrupt schemes
- Chained vector blocks
IM2 was widely used in MSX computers, many Z80 industrial controllers, and advanced CP/M systems.
Intel 8080/8085 Family GPIO and Peripheral Chips
-
8255 PPI – Programmable Peripheral Interface, 3 GPIO ports.
Provides three 8-bit ports (A, B, C) configurable as input/output:
- Mode 0: Basic input/output
- Mode 1: Handshake input/output
- Mode 2: Bidirectional data transfer (Port A only)
- Widely used in Intel 8080/8085 hobbyist and industrial systems
-
8251 USART – Universal Synchronous/Asynchronous Receiver Transmitter.
Used for serial communication with configurable baud rate:
- Supports both synchronous and asynchronous modes
- Transmitter and receiver ready interrupts
- Used for terminal I/O and serial peripherals
-
8253 PIT – Programmable Interval Timer with 3 channels.
Used for timing, event counting, and frequency generation:
- Each channel can be independently programmed
- Modes include rate generator, square wave, and one-shot
- Essential for Intel PC/8085 timing tasks
-
8259 PIC – Programmable Interrupt Controller.
Supports prioritized interrupt handling for CPU:
- Up to 8 interrupt inputs (expandable with cascaded PICs)
- Level-sensitive or edge-triggered mode
- Critical for real-time 8085/8086 applications
-
8279 – Keyboard/Display Controller.
Manages key scanning and 7-segment display output:
- Supports encoded and decoded keyboard entry
- Automatic display refresh for 7-segment LEDs
- Used in early Intel-based terminals and point-of-sale systems
-
8237 DMA – Direct Memory Access controller with 4 channels.
Provides high-speed memory-peripheral transfers without CPU intervention:
- Supports single, block, demand, and cascade modes
- Critical for disk and graphics I/O in early PCs
-
8212 – 8-bit I/O port with strobe and interrupt.
Used for general-purpose I/O in industrial applications:
- Strobe input/output for handshake
- Interrupt generation on input transition
-
8155 – RAM, 3 I/O ports, and timer.
Combines RAM, timers, and GPIO in one IC:
- 256-byte RAM, 3 8-bit I/O ports
- Programmable timer for interrupts
- Common in embedded 8085 designs
-
8257 – DMA controller for high-speed transfers.
Similar to 8237 but for Intel 8085/8086 memory systems:
- 4-channel DMA
- Supports block, demand, and cycle stealing modes
-
8284 – Clock generator and reset controller.
Provides stable clock signals and reset to CPU/peripherals:
- Generates CPU clock from external crystal
- Active-low reset output for system initialization
- Essential in all early 8085/8086 PCs
Motorola 6800 Family GPIO and Peripheral Chips
-
MC6820 PIA – Parallel Interface Adapter for GPIO and handshake.
The MC6820 provides two 8-bit bidirectional ports. Features:
- Independent input/output control
- Handshake lines for synchronized data transfer
- Interrupt generation on input change
Used in early 6800-based computers and embedded I/O boards.
-
MC6821 – Enhanced PIA with full bidirectional ports.
The MC6821 improves upon the 6820 with more robust control lines and timing. Key features:
- Two fully programmable 8-bit I/O ports
- Interrupt capability for each port
- Low-power CMOS versions available
Common in industrial control and early home computer systems.
-
MC6850 ACIA – Asynchronous Communications Interface Adapter.
Supports asynchronous serial data transfers. Features include:
- Programmable baud rate generator
- Transmit and receive interrupt support
- 8-bit serial data transfer
Used for connecting terminals, modems, and serial devices to 6800 systems.
-
MC6840 – Programmable Timer Module.
Contains three independent 16-bit timers. Features:
- Programmable modes: one-shot, continuous, or periodic
- Interrupt generation on timer expiration
- Used for event counting and baud rate timing
Found in 6800-based computers and embedded timing applications.
-
MC6845 CRTC – CRT Controller for video output.
The MC6845 generates screen addresses and timing for raster displays:
- Supports up to 128 characters per line
- Used in MDA, CGA, and Amstrad/Apple video cards
- Flexible row/column timing control
-
MC6810 – 128x8 Static RAM for buffering.
Used as small on-chip buffers for peripherals. Features:
- Fast access time compatible with 6800 bus
- Used in conjunction with PIA and ACIA chips
- Embedded system memory expansion
-
MC6822 – Simplified PIA variant.
Provides basic 8-bit I/O capabilities. Features:
- Fewer handshake lines than MC6820/6821
- Simple read/write operation
- Used in cost-sensitive embedded applications
-
MC6823 – Experimental I/O expander.
Rare peripheral used in research boards:
- Extra control registers
- Additional programmable I/O lines
- Tested in early Motorola development kits
-
MC6846 – Timer + Parallel I/O module.
Combines a 16-bit timer and two 8-bit I/O ports:
- Timer can be chained for long intervals
- Programmable interrupts
- Used in automotive and industrial control systems
-
MC68681 – Dual UART with timers.
The MC68681 provides two serial channels plus timers. Features:
- Independent baud rate generation for each UART
- Timer-based interrupt events
- Used in early 6809/68000 I/O expansions
MOS 6502 Family GPIO and Peripheral Chips
-
6520 PIA – Parallel Interface Adapter with two 8-bit ports.
Provides two bidirectional 8-bit ports with handshake control:
- Interrupts on input changes
- Widely used in Atari 8-bit computers and Commodore PET
-
6522 VIA – Versatile Interface Adapter.
Enhanced I/O with timers and shift registers:
- Two 8-bit ports with programmable direction
- Two 16-bit timers
- Serial shift register for synchronous data
Used in Commodore 64, Apple II, and Atari systems.
-
6551 ACIA – UART for asynchronous serial communication.
Features include:
- Baud rate generator
- Transmit/receive interrupts
- Common in Commodore PET serial interfaces
-
6532 RIOT – RAM, I/O, and Timer in a single chip.
Used in Atari 2600 and similar systems:
- 128 bytes RAM
- Two 8-bit I/O ports
- Programmable interval timer
-
6526 CIA – Complex Interface Adapter for Commodore 64.
Integrated I/O, timers, and serial control:
- Two 8-bit bidirectional ports
- Two 16-bit timers with interrupts
- Serial shift register for peripherals
-
6545 CRTC – CRT Controller.
Generates memory addresses for video display:
- Supports character-based displays
- Used in Commodore and early personal computers
-
6507 – 6502 variant with reduced address bus.
Used in Atari 2600 console:
- 13-bit address bus (8KB max memory)
- Cost-reduced version of 6502
-
6529 – Simple 8-bit port with no direction control.
Basic input/output interface for simple peripherals.
-
6702 – Hardware random number generator.
Used in games or security applications to provide random data.
-
6581 SID – Sound Interface Device.
Integrated waveform generator with GPIO capabilities:
- 3-channel audio with multiple waveforms
- Used in Commodore 64
Other and Cross-Compatible Vintage I/O Chips
-
AY-3-8910 – Programmable Sound Generator with GPIO.
3-channel PSG with 8-bit GPIO port lines:
- Used in MSX, ZX Spectrum 128, and arcade systems
- Simple I/O plus sound generation
-
WD1771 – Floppy Disk Controller.
Interface for floppy drives with interrupt and DMA signals:
- Used in CP/M and early 8-bit microcomputers
-
Intel 8042 – Keyboard Controller.
Provides keyboard scanning, translation, and control logic:
- Later adopted in IBM PC/AT architecture
-
Motorola 68881 – Floating Point Unit.
Provides hardware floating-point arithmetic for 68000-series CPUs:
- Used in high-performance workstations and CAD systems
-
TI TMS9918A – Video Display Processor.
Used in MSX and ColecoVision consoles:
- Sprites, tile graphics, and GPIO for game inputs
-
NEC uPD765 – Floppy Disk Controller.
Standard controller in IBM PC/AT compatible systems:
- Handles MFM and FM floppy drives
- Supports DMA and interrupt lines
-
SCN2681 DUART – Dual UART with GPIO.
Provides two serial channels and programmable I/O lines:
- Used in embedded and industrial systems
-
Signetics 2636 – Video/Joystick/Audio I/O.
Used in arcade and game console systems for graphics and control I/O.
-
RCA CDP1852 – 8-bit parallel I/O expander.
Designed for RCA 1802 microprocessor systems with simple GPIO functions.
-
WDC W65C21 – Modern PIA compatible with 6520.
Drop-in replacement for 6520 with CMOS low-power and enhanced timing.