| This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (October 2009) |
| Processors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 4-bit | 8-bit | 12-bit | 16-bit | 18-bit | 24-bit | 31-bit | 32-bit | 36-bit | 48-bit | 64-bit | 128-bit |
| Applications | |||||||||||
| 16-bit | 32-bit | 64-bit | |||||||||
| Data Sizes | |||||||||||
| nibble octet byte word dword qword | |||||||||||
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 were 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.
A 16-bit integer can store 216 (or 65536) unique values. In an unsigned representation, these values are the integers between 0 and 65535; using two's complement, possible values range from −32768 to 32767. Hence, a processor with 16-bit memory addresses can directly access 64 KiB 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 data buses were 16 bits wide, however it was 32-bit in that the general purpose registers were 32 bits long and most arithmetic instructions supported 32-bit arithmetic, with up to 16 megabytes of addressable RAM. Thus the 68000 software is 32-bit in nature, and forwards-compatible with other 32-bit processors.
The same analysis applies to Intel's budget CPU called the 386SX which is also a 32-bit processor sitting on a 16-bit external bus. The 68000 processor of the Sega Mega Drive/Genesis was a highly advertised feature of the video game system. Due to the saturation of this advertising, the 1988-1995 era 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 typewidth characteristic:
| 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 1MB. 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”.[1]
References
- ^ Borland Turbo C++ 1.01 in-program manual
|
||||||||||||||||||||||||||||
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)




