- 16-bit
-
This article is about 16-bit in computer architecture. For the color encoding, see Highcolor. For the era of computer gaming commonly referred to as 16-bit, see History of video game consoles (fourth generation)
Processors 1-bit 4-bit 8-bit 12-bit 16-bit 18-bit 24-bit 31-bit 32-bit 36-bit 48-bit 60-bit 64-bit 128-bit Applications 8-bit 16-bit 32-bit 64-bit Data Sizes bit nibble octet byte halfword word dword qword IEEE floating-point standard Single precision floating-point format (32-bit) Double precision floating-point format (64-bit) Quadruple precision floating-point format (128-bit) In computer architecture, 16-bit integers, memory addresses, or other data units are those that are at most 16 bits (2 octets) wide. Also, 16-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size. 16-bit is also a term given to a generation of computers in which 16-bit processors are the norm.
Contents
16-bit architecture
The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16 bits long and arithmetic instructions, even though its external bus was 8 bits wide. Other notable 16-bit processors include the Texas Instruments TMS9900 and the Zilog Z8000.
A 16-bit integer can store 216 (or 65,536) unique values. In an unsigned representation, these values are the integers between 0 and 65,535; using two's complement, possible values range from −32,768 to 32,767. Hence, a processor with 16-bit memory addresses can directly access 64 KB of byte-addressable memory.
16-bit processors have been almost entirely supplanted in the personal computer industry, but remain in use in a wide variety of embedded applications. For example the 16-bit XAP processor is used in many ASICs.
The 16/32-bit Motorola 68000 and Intel 386SX
The Motorola 68000 is sometimes called 16-bit because its internal and external data buses were 16 bits wide, however it could be considered a 32-bit processor in that the general purpose registers were 32 bits wide and most arithmetic instructions supported 32-bit arithmetic. The MC68000 was a microcoded processor with three internal 16-bit ALU units. Only 24-bits of the Program Counter were available on original DIP packages, with up to 16 megabytes of addressable RAM. MC68000 software is 32-bit in nature, and forwards-compatible with other 32-bit processors.[1] The MC68008 was a version of the 68000 with 8-bit external data path and 1 megabyte addressing. Several Apple Inc. Macintosh models; e.g., LC series, used 32-bit MC68020 and MC68030 processors on a 16-bit data bus to save cost.
Similar analysis applies to Intel's 80286 CPU replacement called the 386SX which is a 32-bit processor with 32-bit ALU and internal 32-bit data paths with a 16-bit external bus and 24-bit addressing of the processor it replaced.
The 68000 processor of the Sega Mega Drive was a highly advertised feature of the video game system. Due to the saturation of this advertising, the 1988-1995 era (fourth generation) of video game consoles is often called the 16-bit era.
16-bit file format
A 16-bit file format is a binary file format for which each data element is defined on 16 bits (or 2 Bytes). An example of such a format is UTF-16 and the Windows Metafile Format.
16-bit memory models
Similar to 64-bit's data models, the 16-bit Intel architecture allows for different memory models—ways to access a particular memory location. The reason for using a specific memory model is the size of the assembler instructions or required storage for pointers. Compilers of the 16-bit era generally had the following type-width characteristic:
16-bit data model Data model short
int
long
Pointers IP16L32 (near) 16 16 32 16 I16LP32 (far) 16 16 32 32 - Tiny
- Code and data will be in the same segment (especially, the registers CS,DS,ES,SS will point to the same segment); near pointers are always used. Code, data and stack together cannot exceed 64K.
- Small
- Code and data will be in different segments, and near pointers are always used. There will be 64K of space for code and 64K for data/stack.
- Medium
- Code pointers will use far pointers, enabling access to 1 MB. Data pointers remain to be of the near type.
- Compact
- Data pointers will use far and code will use near pointers.
- Large/huge
- Code and data pointers will be far.[2]
List of 16-bit CPUs
-
This list is incomplete; you can help by expanding it.
- Seiko Epson
- EPSON S1C17 family
- Texas Instruments
- Intel
- Infineon
- XE166 family
- C166 family
- C167 family
- Zilog
- Freescale
- Western Design Center
References
- ^ http://cache.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf?fsrch=1&WT_TYPE=Reference%20Manuals&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation
- ^ Borland Turbo C++ 1.01 in-program manual
CPU technologies Architecture Parallelism PipelineLevelThreadsTypes Components Arithmetic logic unit (ALU) · Barrel shifter · Floating-point unit (FPU) · Back-side bus · Multiplexer · Demultiplexer · Registers · Memory management unit (MMU) · Translation lookaside buffer (TLB) · Cache · Register file · Microcode · Control unit · Clock ratePower management Categories:- Data unit
Wikimedia Foundation. 2010.