| Mar | APR | May |
| 30 | ||
| 2012 | 2013 | 2014 |
COLLECTED BY
Collection: Wide Crawl started April 2013
| Bit | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 4 | 8 | 12 | 16 | 18 | 24 | 31 | 32 | 36 | 48 | 60 | 64 | 128 | 256 | 512 |
| Application | |||||||||||||||
| 16 | 32 | 64 | |||||||||||||
| Floating point precision | |||||||||||||||
| x½ | x1 | x2 | x4 | ||||||||||||
| Floating point decimal precision | |||||||||||||||
| 32 | 64 | 128 | |||||||||||||
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 microcomputers in which 16-bit microprocessors were the norm.
Contents |
Early (c. 1966-1972) 16-bit computers include the HP 2100,[1] the Data General Nova,[2] the DEC PDP-11,[3] the IBM System/7,[4] and the HP 3000.[5] Early (c. 1973-1975) multi-chip 16-bit microprocessors include the National Semiconductor IMP-16 and the Western Digital MCP-1600. Early (c. 1975-1976) single-chip 16-bit microprocessors include the National Semiconductor PACE, the HP BPC, and the TI TMS9900. Other notable 16-bit processors include the Intel 8086, the Intel 80286, the WDC 65C816, and the Zilog Z8000. 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.
A 16-bit integer can store 216 (or 65,536) distinct 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 KiBofbyte-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 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.[6] 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.
Just as there are multiple data models for 64-bit architectures, 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:
| Data model | short |
int |
long |
Pointers |
|---|---|---|---|---|
| IP16L32 (near) | 16 | 16 | 32 | 16 |
| I16LP32 (far) | 16 | 16 | 32 | 32 |
In the context of IBM PC compatible and Wintel platforms, a 16 bit application is any software written for MS-DOS, OS/2 1.x or early versions of Microsoft Windows which originally ran on the 16-bit Intel 8088 and Intel 80286 microprocessors. Such applications used a 20-bit or 24-bit segment or selector-offset address representation to extend the range of addressable memory locations beyond what was possible using only 16-bit addresses. Programs containing more than
bytes (64kilobytes) of instructions and data therefore required special instructions to switch between their 64-kilobyte segments, increasing the complexity of programming 16-bit applications.
|
|
This article needs additional citations for verification. (October 2009) |
|
||||||||||||||||||||||||||||||||||||