16-bit
Encyclopedia

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
PDP-11
The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years...

, Intel 8086
Intel 8086
The 8086 is a 16-bit microprocessor chip designed by Intel between early 1976 and mid-1978, when it was released. The 8086 gave rise to the x86 architecture of Intel's future processors...

, Intel 80286
Intel 80286
The Intel 80286 , introduced on 1 February 1982, was a 16-bit x86 microprocessor with 134,000 transistors. Like its contemporary simpler cousin, the 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088...

 and the WDC 65C816
WDC 65816/65802
The W65C816S is a 16-bit microprocessor developed by the Western Design Center . The W65C816S is an enhanced version of the WDC 65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU...

. The Intel 8088
Intel 8088
The Intel 8088 microprocessor was a variant of the Intel 8086 and was introduced on July 1, 1979. It had an 8-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers and the one megabyte address range were unchanged, however...

 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
Texas Instruments TMS9900
Introduced in June 1976 and based on the Texas Instruments 990 minicomputer CPU, the TMS9900 was one of the first true 16-bit microprocessors...

 and the Zilog Z8000
Zilog Z8000
The Z8000 is a 16-bit microprocessor introduced by Zilog in 1979. The architecture was designed by Bernard Peuto while the logic and physical implementation was done by Masatoshi Shima, assisted by a small group of people. The Z8000 was not Z80-compatible, and although it saw steady use well into...

.

A 16-bit integer can store 216 (or 65,536) unique values. In an unsigned
Signedness
In computing, signedness is a property of data types representing numbers in computer programs. A numeric variable is signed if it can represent both positive and negative numbers, and unsigned if it can only represent non-negative numbers .As signed numbers can represent negative numbers, they...

 representation, these values are the integers between 0
0 (number)
0 is both a numberand the numerical digit used to represent that number in numerals.It fulfills a central role in mathematics as the additive identity of the integers, real numbers, and many other algebraic structures. As a digit, 0 is used as a placeholder in place value systems...

 and 65,535; using two's complement
Two's complement
The two's complement of a binary number is defined as the value obtained by subtracting the number from a large power of two...

, possible values range from −32,768 to 32,767. Hence, a processor with 16-bit memory address
Memory address
A digital computer's memory, more specifically main memory, consists of many memory locations, each having a memory address, a number, analogous to a street address, at which computer programs store and retrieve, machine code or data. Most application programs do not directly read and write to...

es can directly access 64 KB
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

 of byte-addressable memory.

16-bit processors have been almost entirely supplanted in the personal computer
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

 industry, but remain in use in a wide variety of embedded applications. For example the 16-bit XAP processor
XAP processor
The XAP processor is a RISC processor architecture developed by Cambridge Consultants Ltd since 1994. XAP processors are a family of 16-bit and 32-bit cores, all of which are intended for use in an application-specific integrated circuit or ASIC chip design...

 is used in many ASICs
Application-specific integrated circuit
An application-specific integrated circuit is an integrated circuit customized for a particular use, rather than intended for general-purpose use. For example, a chip designed solely to run a cell phone is an ASIC...

.

The 16/32-bit Motorola 68000 and Intel 386SX

The Motorola 68000
Motorola 68000
The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...

 is sometimes called 16-bit because its internal and external data buses were 16 bits wide, however it could be considered a 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....

 processor in that the general purpose registers were 32 bits wide and most arithmetic instructions supported 32-bit arithmetic. The MC68000 was a microcode
Microcode
Microcode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in special high-speed memory and translates machine instructions into sequences of detailed...

d 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
Random-access memory
Random access memory is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are therefore not random access, as data is read in...

. MC68000 software is 32-bit in nature, and forwards-compatible with other 32-bit processors. The MC68008 was a version of the 68000 with 8-bit external data path and 1 megabyte addressing. Several Apple Inc. Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

 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
Intel 80386
The Intel 80386, also known as the i386, or just 386, was a 32-bit microprocessor introduced by Intel in 1985. The first versions had 275,000 transistors and were used as the central processing unit of many workstations and high-end personal computers of the time...

 which is a 32-bit processor with 32-bit ALU
Arithmetic logic unit
In computing, an arithmetic logic unit is a digital circuit that performs arithmetic and logical operations.The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers...

 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
History of video game consoles (fourth generation)
In the history of computer and video games, the fourth generation began on October 30, 1987 with the Japanese release of Nippon Electric Company's PC Engine...

) 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
File format
A file format is a particular way that information is encoded for storage in a computer file.Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice-versa. There are different kinds of formats for...

 for which each data element is defined on 16 bits (or 2 Byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...

s). An example of such a format is UTF-16
UTF-16/UCS-2
UTF-16 is a character encoding for Unicode capable of encoding 1,112,064 numbers in the Unicode code space from 0 to 0x10FFFF...

 and the Windows Metafile Format
Windows Metafile
Windows Metafile is a graphics file format on Microsoft Windows systems, originally designed in the 1990s. Windows Metafiles are intended to be portable between applications and may contain both vector graphics and bitmap components....

.

16-bit memory models

Similar to 64-bit
64-bit
64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...

'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
Heap (data structure)
In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if B is a child node of A, then key ≥ key. This implies that an element with the greatest key is always in the root node, and so such a heap is sometimes called a max-heap...

 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.

List of 16-bit CPUs

  • Seiko Epson
    Seiko Epson
    , commonly known as Epson, is a Japanese technology company and one of the world's largest manufacturers of computer printers, information and imaging related equipment...

    • EPSON S1C17 family
  • Texas Instruments
    Texas Instruments
    Texas Instruments Inc. , widely known as TI, is an American company based in Dallas, Texas, United States, which develops and commercializes semiconductor and computer technology...

    • Texas Instruments TMS9900
      Texas Instruments TMS9900
      Introduced in June 1976 and based on the Texas Instruments 990 minicomputer CPU, the TMS9900 was one of the first true 16-bit microprocessors...

    • TI MSP430
      TI MSP430
      The MSP430 is a mixed-signal microcontroller family from Texas Instruments. Built around a 16-bit CPU, the MSP430 is designed for low cost, and specifically, low power consumption embedded applications. The architecture dates from the 1990s and is reminiscent of the DEC PDP-11.-Applications:The...

  • Intel
    • Intel 8086
      Intel 8086
      The 8086 is a 16-bit microprocessor chip designed by Intel between early 1976 and mid-1978, when it was released. The 8086 gave rise to the x86 architecture of Intel's future processors...

      /Intel 8088
      Intel 8088
      The Intel 8088 microprocessor was a variant of the Intel 8086 and was introduced on July 1, 1979. It had an 8-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers and the one megabyte address range were unchanged, however...

    • Intel 80186
      Intel 80186
      The 80188 is a version with an 8-bit external data bus, instead of 16-bit. This makes it less expensive to connect to peripherals. The 80188 is otherwise very similar to the 80186. It has a throughput of 1 million instructions per second....

      /Intel 80188
    • Intel 80286
      Intel 80286
      The Intel 80286 , introduced on 1 February 1982, was a 16-bit x86 microprocessor with 134,000 transistors. Like its contemporary simpler cousin, the 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088...

    • Intel MCS-96
      Intel MCS-96
      The Intel MCS-96 is a family of microcontrollers commonly used in embedded systems. The family is often referred to as the 8xC196 family, or 80196, the most popular MCU in the family. These MCUs are commonly used in hard disk drives, modems, printers, pattern recognition and motor control. In...

  • Infineon
    • XE166 family
    • C166 family
      C166 family
      The C166 family is a 16-Bit microcontroller architecture from Infineon in cooperation with STMicroelectronics. It was first released in 1993. It uses the well-establied RISC concept, but features some microcontroller-specific extensions such as bit-addressable memory and an interrupt system...

    • C167 family
      C167 family
      The C167 family is a 16 bit microcontroller architecture from Infineon. It is a further development of the C166 family, which has been brought by Siemens 1993 on the market as controller for measurement and control tasks....

  • Zilog
    Zilog
    Zilog, Inc., previously known as ZiLOG , is a manufacturer of 8-bit and 24-bit microcontrollers, and is most famous for its Intel 8080-compatible Z80 series.-History:...

    • Zilog Z8000
      Zilog Z8000
      The Z8000 is a 16-bit microprocessor introduced by Zilog in 1979. The architecture was designed by Bernard Peuto while the logic and physical implementation was done by Masatoshi Shima, assisted by a small group of people. The Z8000 was not Z80-compatible, and although it saw steady use well into...

  • Freescale
    • Freescale 68HC12
      Freescale 68HC12
      The 68HC12 is a microcontroller family from Freescale Semiconductor with an 8-bit ALU and 16-bit linear addressing. Originally introduced in the mid 1990s, the architecture is an enhancement of the Freescale 68HC11. Programs written for the HC11 are usually compatible with the HC12, which has a...

    • Freescale 68HC16
      Freescale 68HC16
      The 68HC16 is a highly modular microcontroller family based on the CPU16 16-bit core made by Freescale Semiconductor . The CPU16 core is a true 16-bit design, with an architecture that is very familiar to 68HC11 users...

  • Western Design Center
    Western Design Center
    The Western Design Center , located in Mesa, Arizona, USA, is a company developing and manufacturing MOS 65xx-based microprocessors, microcontrollers , and related support chips...

    • WDC 65816/65802
      WDC 65816/65802
      The W65C816S is a 16-bit microprocessor developed by the Western Design Center . The W65C816S is an enhanced version of the WDC 65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK