16-bit computing

In computer architecture, 16-bit integers, memory addresses, or other data units are those that are 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 microcomputers are computers in which 16-bit microprocessors were the norm.

A 16-bit register can store 216 different values. The signed range of integer values that can be stored in 16 bits is −32,768 (−1 × 215) through 32,767 (215 − 1); the unsigned range is 0 through 65,535 (216 − 1). Since 216 is 65,536, a processor with 16-bit memory addresses can directly access 64 KB (65,536 bytes) of byte-addressable memory. If a system uses segmentation with 16-bit segment offsets, more can be accessed.

16-bit architecture

The MIT Whirlwind (c. 1951)[1][2] was quite possibly the first-ever 16-bit computer. Other early 16-bit computers (c. 1965–70) include the IBM 1130,[3] the HP 2100,[4] the Data General Nova,[5] and the DEC PDP-11.[6] Early multi-chip 16-bit microprocessors (c. 1973–76) include the five-chip National Semiconductor IMP-16 (1973),[7] the two-chip NEC μCOM-16 (1974),[8][7] the three-chip Western Digital MCP-1600 (1975), and the five-chip Toshiba T-3412 (1976).[7] Early single-chip 16-bit microprocessors (c. 1975–76) include the Panafacom MN1610 (1975),[9][10][7] National Semiconductor PACE (1975), General Instrument CP1600 (1975), Texas Instruments TMS9900 (1976),[7] and the HP BPC. Other notable 16-bit processors include the Intel 8086, the Intel 80286, the WDC 65C816, and the Zilog Z8000. The Intel 8088 was binary compatible with the Intel 8086, and was 16-bit in that its registers were 16 bits wide, and arithmetic instructions could operate on 16-bit quantities, 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 KB of byte-addressable memory.

16-bit processors have been almost entirely supplanted in the personal computer industry, and are used less than 32-bit (or 8-bit) CPUs in embedded applications.

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 68000 was a microcoded processor with three internal 16-bit ALUs. Only 24 bits of the program counter (PC) were available on original DIP packages, with up to 16 megabytes of addressable RAM. 68000 software is 32-bit in nature and forward-compatible with other 32-bit processors in the same family.[11] The 68008 was a version of the 68000 with an 8-bit external data path and 1-megabyte addressing for the 48-pin DIP version, and 4 megabytes for the 52-pin PLCC version. Several Apple Macintosh models--e.g., the LC series--used 32-bit 68020 and 68030 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.

16-bit application

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 216 bytes (65,536 bytes) of instructions and data therefore required special instructions to switch between their 64-kilobyte segments, increasing the complexity of programming 16-bit applications.

List of 16-bit CPUs

gollark: I mean, I had school today, and I had to spend much of the evening editing and writing somewhat eldritch C++ code for purposes.
gollark: I *occasionally* have better stuff to do than monitor this place.
gollark: I read basically everything except HV, bots, <#466488073476243457>, <#426054145645215756> and <#426053961624190986>.
gollark: i.e. basically just making you do annoying things for the sake of it.
gollark: So allow everyone to have beards during December if it's specificallysafe then...

See also

References

  1. "Year 1951". Computer History Museum. (see also "Year 1943".).
  2. Digital Press, Digital at Work Archived 2013-07-02 at the Wayback Machine, Pearson, 1992, ISBN 1-55558-092-0, pp. 4, 23.
  3. "The IBM 1130 computing system". IBM Archives.
  4. "HP 2116". Computer History Museum.
  5. "Data General Nova minicomputer". Computer History Museum. Archived from the original on 2013-05-17. Retrieved 2012-06-11.
  6. Pearson, Jamie Parker (September 1992). Digital at work: snapshots from the first thirty-five years. Digital Press. pp. 58–61. ISBN 978-1-55558-092-6.
  7. Belzer, Jack; Holzman, Albert G.; Kent, Allen (1978). Encyclopedia of Computer Science and Technology. Volume 10 - Linear and Matrix Algebra to Microorganisms: Computer-Assisted Identification. CRC Press. p. 402. ISBN 9780824722609.
  8. "1970s: Development and evolution of microprocessors" (PDF). Semiconductor History Museum of Japan. Archived from the original (PDF) on 2019-06-27. Retrieved 2019-06-27.
  9. "16-bit Microprocessors". CPU Museum. Retrieved 5 October 2010.
  10. "History". PFU. Retrieved 5 October 2010.
  11. Motorola M68000 Family, Programmer's Reference Manual (PDF). Motorola, Inc. 1992. sec. 2.4, pp. 2–21.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.