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 KiB of byte-addressable memory. If a system uses segmentation with 16-bit segment offsets, more can be accessed.
* 1 16-bit architecture
The MIT Whirlwind (c. 1951) was quite possibly the first-ever 16-bit computer. Other early (c. 1965–70) 16-bit computers include the IBM 1130 , the HP 2100 , the Data General Nova , and the DEC PDP-11 . Early (c. 1973–75) multi-chip 16-bit microprocessors include the National Semiconductor IMP-16 and the Western Digital MCP-1600 . Early (c. 1975–76) single-chip 16-bit microprocessors include the Panafacom MN1610, 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 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/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 ALU units. 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. 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 models; e.g., 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 2 4-bit addressing of the processor it replaced.
The 68000 processor of the 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 16-BIT MEMORY MODELS
Main article: Intel Memory Model
Just as there are multiple data models for 6 4-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:
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.
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 2 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 (64 kilobytes ) 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
This list is incomplete ; you can help by expanding it .
* Nova * Eclipse
* PDP-11 (for LSI-11, see Western Digital, below)
* HP 21xx/2000/1000/98xx/BPC * HP 3000
* Honeywell Level 6 /DPS 6
* 1130 /1800 * System/7 * Series/1 * System/36
* IMP-16 * PACE/INS8900
* MCP-1600 (used in the DEC LSI-11 )
* Microprocessor: 16-bit designs * Influence of the IBM PC on the personal computer market: Before the IBM PC\'s introduction * 74181 (key component of some early 16-bit and other CPUs) * Audio bit depth – as 16-bit is the most common bit depth used, e.g. on CD audio .
* ^ 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 Archives, The IBM 1130 computing system. * ^ Computer History Museum, "HP 2116". * ^ Computer History Museum, " 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 M68000 Family, Programmer\'s Reference Manual, 1992, sec. 2.4, p. 2–21. * ^ Borland Turbo C++ 1.01 in-program manual
* v * t * e
* 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
* Convolutional neural network * Load/store architecture * Register memory architecture * Register register architecture * Endianness * FIFO * Zero-copy * NUMA * HUMA * HSA * Heterogeneous computing * Parallel computing * Amorphous computing * Reconfigurable computing * Cognitive computing * DNA computing * Peptide computing * Chemical computing * Organic computing * Wetware computer * Quantum computing * Neuromorphic computing * Optical computing * Reversible computing * Unconventional computing * Hypercomputation * Ternary computer * Symmetric multiprocessing (SMP) * Asymmetric multiprocessing (AMP) * Cache hierarchy * Memory hierarchy
* ASIP * CISC * RISC * EDGE (TRIPS ) * VLIW (EPIC ) * MISC * OISC * NISC * ZISC * Comparison
* 1-bit * 2-bit * 4-bit * 8-bit * 9-bit * 10-bit * 12-bit * 15-bit * 16-bit * 1 8-bit * 22-bit * 2 4-bit * 25-bit * 26-bit * 27-bit * 31-bit * 32-bit * 33-bit * 3 4-bit * 36-bit * 39-bit * 40-bit * 4 8-bit * 50-bit * 60-bit * 6 4-bit * 12 8-bit * 256-bit * 5 12-bit * Variable
* Bubble * Operand forwarding
* Bit-serial * Word
* Scalar * Superscalar
* Thread * Process
* Instructions per second (IPS) * Instructions per clock (IPC) * Cycles per instruction (CPI) * Floating-point operations per second (FLOPS) * Transactions per second (TPS) * SUPS * Performance per watt * Orders of magnitude (computing) * Cache performance measurement and metric
* Central processing unit (CPU) * GPGPU * AI accelerator * Vision processing unit (VPU) * Vector processor * Barrel processor * Stream processor * Digital signal processor (DSP) * I/O processor/DMA controller * Network processor * Baseband processor * 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 (MCM) * Chip stack multi-chip modules * System on a chip (SoC) * Network on a chip (NoC) * Multiprocessor system-on-chip (MPSoC) * Programmable System-on-Chip ( PSoC )
* Execution unit (EU) * Arithmetic logic unit (ALU) * Address generation unit (AGU) * Floating-point unit (FPU) * Load-store unit (LSU) * Fixed-point unit (FXU) * Vector unit (VU) * Branch predictor * Branch execution unit (BEU) * Instruction Decoder * Instruction Scheduler * Instruction Fetch Unit * Instruction Dispatch Unit * Instruction Sequencing Unit * 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 (MMU) * Input–output memory management unit (IOMMU) * Integrated Memory Controller (IMC) * Power Management Unit (PMU) * Translation lookaside buffer (TLB) * Stack engine * Register file * Processor register * Hardware register * Memory buffer register (MBR) * Program counter * 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
* Non-executable memory (NX bit) * Bounds checking ( Intel MPX) * Intel Secure Key * Hardware restriction (firmware ) * Software Guard Extensions ( Intel SGX) * Trusted Execution Technology * OmniShield * Trusted Platform Module (TPM) * Secure cryptoprocessor * Hardware security module * Hengzhi chip