HOME
ListMoto - 16-bit


--- Advertisement ---



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.

Contents

1 16-bit architecture

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

2 Intel
Intel
16-bit memory models 3 16-bit application 4 List of 16-bit CPUs 5 See also 6 References

16-bit architecture[edit] The MIT Whirlwind (c. 1951)[1][2] was quite possibly the first-ever 16-bit computer. Other early (c. 1965–70) 16-bit computers include the IBM
IBM
1130,[3] the HP 2100,[4] the Data General
Data General
Nova,[5] and the DEC PDP-11.[6] Early (c. 1973–75) multi-chip 16-bit microprocessors include the National Semiconductor
National Semiconductor
IMP-16 and the Western Digital MCP-1600. Early (c. 1975–76) single-chip 16-bit microprocessors include the Panafacom
Panafacom
MN1610,[7][8] National Semiconductor
National Semiconductor
PACE, the HP BPC, and the TI TMS9900. Other notable 16-bit processors include the Intel
Intel
8086, the Intel
Intel
80286, the WDC 65C816, and the Zilog
Zilog
Z8000. The Intel 8088
Intel 8088
was binary compatible with the Intel
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
32-bit
(or 8-bit) CPUs in embedded applications. 16/ 32-bit
32-bit
Motorola 68000
Motorola 68000
and Intel
Intel
386SX[edit] The Motorola 68000
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
32-bit
processor in that the general purpose registers were 32 bits wide and most arithmetic instructions supported 32-bit
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
32-bit
in nature and forward-compatible with other 32-bit processors in the same family.[9] The 68008 was a version of the 68000 with 8-bit external data path and 1 megabyte addressing for the 48-pin DIP version and 4 megabyte for the 52-pin PLCC version. Several Apple Inc. Macintosh
Macintosh
models; e.g., LC series, used 32-bit
32-bit
68020 and 68030 processors on a 16-bit data bus to save cost. Similar analysis applies to Intel's 80286
80286
CPU replacement called the 386SX which is a 32-bit
32-bit
processor with 32-bit
32-bit
ALU and internal 32-bit data paths with a 16-bit external bus and 2 4-bit
4-bit
addressing of the processor it replaced. The 68000 processor of the Sega Genesis
Sega Genesis
was a highly advertised feature of the video game system. Due to the saturation of this advertising, the 1988–95 era (fourth generation) of video game consoles is often called the 16-bit era. Intel
Intel
16-bit memory models[edit] Main article: Intel
Intel
Memory Model

This article may be confusing or unclear to readers. Please help us clarify the article. There might be a discussion about this on the talk page. (August 2017) (Learn how and when to remove this template message)

Just as there are multiple data models for 6 4-bit
4-bit
architectures, the 16-bit Intel
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 (16-bit) pointers are always used. Code, data and stack together cannot exceed 64 KB. Small Code and data will be in different segments, and near pointers are always used. There will be 64 KB of space for code and 64 KB for data/stack. Medium Code pointers will use far pointers (16:16 bit), 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.[10]

16-bit application[edit] In the context of IBM PC compatible
IBM PC compatible
and Wintel platforms, a 16-bit application is any software written for MS-DOS, OS/2
OS/2
1.x or early versions of Microsoft Windows
Microsoft Windows
which originally ran on the 16-bit Intel 8088 and Intel 80286
Intel 80286
microprocessors. Such applications used a 20-bit or 2 4-bit
4-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[edit] This list is incomplete; you can help by expanding it.

Angstrem

1801 series CPU

Data General

Nova Eclipse

Digital Equipment Corporation

PDP-11
PDP-11
(for LSI-11, see Western Digital, below)

DEC J-11 DEC T-11

EnSilica

eSi-1600

Ferranti

Ferranti
Ferranti
F100-L Ferranti
Ferranti
F200-L

Freescale

Freescale
Freescale
68HC12 Freescale
Freescale
68HC16

General Instrument

CP1600

Hewlett-Packard

HP 21xx/2000/1000/98xx/BPC HP 3000

Honeywell

Honeywell Level 6/DPS 6

IBM

1130/1800 System/7 Series/1 System/36

Infineon

XE166 family C166 family C167 family XC2000

Intel

Intel
Intel
8086/ Intel
Intel
8088 Intel
Intel
80186/ Intel
Intel
80188 Intel
Intel
80286 Intel
Intel
MCS-96

Lockheed

MAC-16

Motorola

Motorola 68000
Motorola 68000
( 32-bit
32-bit
registers, 16-bit bus) Motorola
Motorola
68010 ( 32-bit
32-bit
registers, 16-bit bus)

National Semiconductor

IMP-16 PACE/INS8900

NEC

V20/V30

Ricoh

Ricoh
Ricoh
5A22 (WDC 65816 clone used in SNES)

Texas Instruments

Texas Instruments
Texas Instruments
TMS9900 TI MSP430

Western Design Center

WDC 65816/65802

Western Digital

MCP-1600
MCP-1600
(used in the DEC LSI-11)

Xerox

Alto

Zilog

Zilog
Zilog
Z8000

See also[edit]

Microprocessor: 16-bit designs Influence of the IBM
IBM
PC on the personal computer market: Before the IBM
IBM
PC's introduction 74181 (key component of some early 16-bit and other CPUs) Audio bit depth
Audio bit depth
– as 16-bit is the most common bit depth used, e.g. on CD audio.

References[edit]

^ Computer History Museum, Year 1951 (see also Year 1943). ^ Digital Press, Digital at Work, Pearson, 1992, ISBN 1-55558-092-0, pp. 4, 23. ^ IBM
IBM
Archives, The IBM 1130
IBM 1130
computing system. ^ Computer History Museum, "HP 2116". ^ Computer History Museum, " Data General Nova
Data General Nova
minicomputer". ^ Digital Press, Digital at Work, Pearson, 1992, ISBN 1-55558-092-0, pp. 58–61. ^ " 16-bit Microprocessors". CPU Museum. Retrieved 5 October 2010.  ^ "History". PFU. Retrieved 5 October 2010.  ^ Motorola, Inc., Motorola
Motorola
M68000 Family, Programmer's Reference Manual, 1992, sec. 2.4, p. 2–21. ^ Borland Turbo C++ 1.01 in-program manual

v t e

CPU technologies

Architecture

Turing machine Post–Turing machine Universal Turing machine Quantum Turing machine Belt machine Stack machine Register machine Counter machine Pointer machine Random access machine Random access stored program machine Finite-state machine Queue automaton Von Neumann Harvard (modified) Dataflow TTA Cellular Artificial neural network

Machine learning Deep learning Neural processing unit (NPU)

Convolutional neural network Load/store architecture Register memory architecture Endianness FIFO Zero-copy NUMA HUMA HSA Mobile computing Surface computing Wearable computing Heterogeneous computing Parallel computing Concurrent computing Distributed computing Cloud computing Amorphous computing Ubiquitous computing Fabric computing Cognitive computing Unconventional computing Hypercomputation Quantum computing Adiabatic quantum computing Linear optical quantum computing Reversible computing Reverse computation Reconfigurable computing Optical computing Ternary computer Analogous computing Mechanical computing Hybrid computing Digital computing DNA computing Peptide computing Chemical computing Organic computing Wetware computing Neuromorphic computing Symmetric multiprocessing
Symmetric multiprocessing
(SMP) Asymmetric multiprocessing
Asymmetric multiprocessing
(AMP) Cache hierarchy Memory hierarchy

ISA types

ASIP CISC RISC EDGE (TRIPS) VLIW (EPIC) MISC OISC NISC ZISC Comparison

ISAs

x86 z/Architecture ARM MIPS Power Architecture
Power Architecture
(PowerPC) SPARC Mill Itanium
Itanium
(IA-64) Alpha Prism SuperH V850 Clipper VAX Unicore PA-RISC MicroBlaze RISC-V

Word size

1-bit 2-bit 4-bit 8-bit 9-bit 10-bit 12-bit 15-bit 16-bit 18-bit 22-bit 24-bit 25-bit 26-bit 27-bit 31-bit 32-bit 33-bit 34-bit 36-bit 39-bit 40-bit 48-bit 50-bit 60-bit 64-bit 128-bit 256-bit 512-bit Variable

Execution

Instruction pipelining

Bubble Operand forwarding

Out-of-order execution

Register renaming

Speculative execution

Branch predictor Memory dependence prediction

Hazards

Parallel level

Bit

Bit-serial Word

Instruction Pipelining

Scalar Superscalar

Task

Thread Process

Data

Vector

Memory

Multithreading

Temporal Simultaneous (SMT) (Hyper-threading) Speculative (SpMT) Preemptive Cooperative Clustered Multi-Thread (CMT) Hardware scout

Flynn's taxonomy

SISD SIMD
SIMD
(SWAR) SIMT MISD MIMD

SPMD

Addressing mode

CPU performance

Instructions per second (IPS) Instructions per clock (IPC) Cycles per instruction (CPI) Floating-point operations per second (FLOPS) Transactions per second (TPS) Synaptic Updates Per Second (SUPS) Performance per watt Orders of magnitude (computing) Cache performance measurement and metric

Core count

Single-core processor Multi-core processor Manycore processor

Types

Central processing unit
Central processing unit
(CPU) GPGPU AI accelerator Vision processing unit (VPU) Vector processor Barrel processor Stream processor Digital signal processor
Digital signal processor
(DSP) I/O processor/DMA controller Network processor Baseband processor Physics processing unit
Physics processing unit
(PPU) Coprocessor Secure cryptoprocessor ASIC FPGA FPOA CPLD Microcontroller Microprocessor Mobile processor Notebook processor Ultra-low-voltage processor Multi-core processor Manycore processor Tile processor Multi-chip module
Multi-chip module
(MCM) Chip stack multi-chip modules System on a chip
System on a chip
(SoC) Multiprocessor system-on-chip (MPSoC) Programmable System-on-Chip
System-on-Chip
(PSoC) Network on a chip (NoC)

Components

Execution unit (EU) Arithmetic logic unit
Arithmetic logic unit
(ALU) Address generation unit
Address generation unit
(AGU) Floating-point unit
Floating-point unit
(FPU) Load-store unit (LSU) Branch predictor Unified Reservation Station Barrel shifter Uncore Sum addressed decoder (SAD) Front-side bus Back-side bus Northbridge (computing) Southbridge (computing) Adder (electronics) Binary multiplier Binary decoder Address decoder Multiplexer Demultiplexer Registers Cache Memory management unit
Memory management unit
(MMU) Input–output memory management unit
Input–output memory management unit
(IOMMU) Integrated Memory Controller (IMC) Power Management Unit (PMU) Translation lookaside buffer
Translation lookaside buffer
(TLB) Stack engine Register file Processor register Hardware register Memory buffer register (MBR) Program counter Microcode
Microcode
ROM Datapath Control unit Instruction unit Re-order buffer Data buffer Write buffer Coprocessor Electronic switch Electronic circuit Integrated circuit Three-dimensional integrated circuit Boolean circuit Digital circuit Analog circuit Mixed-signal integrated circuit Power management integrated circuit Quantum circuit Logic gate

Combinational logic Sequential logic Emitter-coupled logic
Emitter-coupled logic
(ECL) Transistor–transistor logic
Transistor–transistor logic
(TTL) Glue logic

Quantum gate Gate array Counter (digital) Bus (computing) Semiconductor device Clock rate CPU multiplier Vision chip Memristor

Power management

APM ACPI Dynamic frequency scaling Dynamic voltage scaling Clock gating

Hardware security

Non-executable memory (NX bit) Memory Protection Extensions ( Intel
Intel
MPX) Intel
Intel
Secure Key Hardware restriction (firmware) Software Guard Extensions ( Intel
Intel
SGX) Trusted Execution Technology Trusted Platform Module
Trusted Platform Module
(TPM) Secure cryptoprocessor Hardware security module Hengzhi chip

Related

History of ge

.