Diferencia entre revisiones de «16 bits»

De El Museo de los 8 bits
Saltar a: navegación, buscar
(Nueva página: {{otros usos|Profundidad de color|16 bits en terminos de color}} {{otros usos|Cuarta generación de videoconsolas|la generación de juegos de vídeo que hace referencia a los 16 bits}...)
 
 
Línea 1: Línea 1:
{{otros usos|Profundidad de color|16 bits en terminos de color}}
+
{{otros usos|Profundidad de color|16 bits en términos de color}}
{{otros usos|Cuarta generación de videoconsolas|la generación de juegos de vídeo que hace referencia a los 16 bits}}
+
{{otros usos|Cuarta generación de videoconsolas|la generación de videojuegos que hace referencia a los 16 bits}}
  
En [[arquitectura de ordenadores]], '''16 bits''' es un adjetivo usado para describir [[Tipo de dato entero|enteros]], [[Dirección de memoria|direcciones de memoria]] u otras unidades de datos que comprenden hasta 16 [[bit]]s (2 [[octeto]]s) de ancho, o para referirse a una arquitectura de [[CPU]] y [[ALU]] basadas en [[registro (hardware)|registros]], [[bus de direcciones]] o [[bus de datos]] de ese ancho.
+
En [[arquitectura de computadoras]], '''16 bits''' es un adjetivo usado para describir [[Tipo de dato entero|enteros]], [[Dirección de memoria|direcciones de memoria]] u otras unidades de datos que comprenden hasta 16 [[bit]]s (2 [[octeto]]s) de ancho, o para referirse a una arquitectura de [[CPU]] y [[Unidad aritmética lógica|ALU]] basadas en [[registro (hardware)|registros]], [[bus de direcciones]] o [[bus de datos]] de ese ancho.
  
 
Al igual que en las [[videoconsola]]s, se denominan ''16 bits'' a una serie de [[ordenador]]es que tenían en común usar procesadores de 16 bits.
 
Al igual que en las [[videoconsola]]s, se denominan ''16 bits'' a una serie de [[ordenador]]es que tenían en común usar procesadores de 16 bits.
  
 
== Arquitectura de 16 bits ==
 
== Arquitectura de 16 bits ==
Los procesadores de '''16 bits''' más conocidos son el [[PDP-11]], [[Intel 8086]], [[Motorola 68000]], [[Intel 80286]] y el [[WDC 65C816]]. El [[Intel 8088]] es compatible en código con el Intel 8086, y puede considerarse de 16 bits en cuanto a registros e instrucciones aritméticas, mientras que su [[bus de datos]] es de 8 bits.
+
Los procesadores de '''16 bits''' más conocidos son el [[PDP-11]], [[Intel 8086]], [[Motorola 68000]], [[Intel 80286]] y el [[WDC 65C816]].
  
Un entero de '''16 bits''' puede almacenar <math>2^{16}</math> (ó 65536) valores diferentes. En una representación sin signo, esos valores son los enteros entre [[Cero|0]] y 65535; usando [[complemento a dos]], el rango de valores posibles va de –32768 a 32767.
+
El [[Whirlwind I|MIT Whirlwind]] (hacia 1951)<ref>Computer History Museum, [http://www.computerhistory.org/timeline/?year=1951 Year 1951] (ver también [http://www.computerhistory.org/timeline/?year=1943 Year 1943]).</ref><ref>Digital Press, [http://www.computerhistory.org/collections/accession/102630350 Digital at Work], Pearson, 1992, ISBN 1-55558-092-0, pp. 4, 23.</ref> fue muy posiblemente el primer equipo de 16 bits. Otros pioneros de los 16 bits (entre 1965 a 1970) fueron el [[IBM 1130]],<ref>IBM Archives, [http://www-03.ibm.com/ibm/history/exhibits/1130/1130_intro.html The IBM 1130 computing system].</ref> el [[HP 2100]],<ref>Computer History Museum, [http://www.computerhistory.org/revolution/minicomputers/11/337/2385 "HP 2116"].</ref> el [[Data General Nova]],<ref>Computer History Museum, [http://www.computerhistory.org/collections/accession/102646102 "Data General Nova minicomputer"].</ref> y el [[PDP-11|DEC PDP-11]].<ref>Digital Press, [http://www.computerhistory.org/collections/accession/102630350 Digital at Work], Pearson, 1992, ISBN 1-55558-092-0, pp. 58–61.</ref> Los primeros (entre 1973–75) microprocesadores multi-chip de 16 bits fueron el [[IMP-16|National Semiconductor IMP-16]] y el [[MCP-1600|Western Digital MCP-1600]]. Los pioneros (entre 1975–76) microprocesadores de 16 bits en un solo chip fueron el [[National Semiconductor PACE]], el [[HP BPC]], y el [[Texas Instruments TMS9900]]. Otros procesadores de 16 bits notables son el [[Intel 8086]], el [[Intel 80286]], el [[WDC 65C816]], y el [[Zilog Z8000]]. El [[Intel 8088]] es compatible en código con el Intel 8086, y puede considerarse de 16 bits en cuanto a registros e instrucciones aritméticas, mientras que su [[bus de datos]] es de 8 bits.
  
Los [[microprocesador]]es de 16 bits han sido sustituidos completamente en la industria del [[ordenador personal]], pero permanece en uso en una amplia variedad de [[Sistema integrado|aplicaciones embebidas]], por ejemplo los [[XAP (procesador)|procesadores XAP]] presentes en numerosos [[ASIC]]s
+
Un entero de '''16 bits''' puede almacenar 2<sup>16</sup> (ó 65536) valores diferentes. El rango de [[Número entero|números enteros]] sin signo que se pueden almacenar en 16 bits va de [[Cero|0]] a 65535; usando [[complemento a dos]], el rango de valores posibles va de –32768 a 32767. Por lo tanto, un procesador con [[Dirección de memoria|direccionamiento de memoria]] (o [[Bus de direcciones]]) de 16 bits puede acceder directamente a [[Kibibyte|KiB]] de memoria direccionable por bytes
  
=== El Motorola 68000 de 16/32 bits ===
+
Los [[microprocesador]]es de 16 bits han sido sustituidos completamente en la industria del [[ordenador personal]], pero permanece en uso en una amplia variedad de [[Sistema integrado|aplicaciones embebidas]], por ejemplo los [[XAP (procesador)|procesadores XAP]] presentes en numerosos [[ASIC]]s.
El Motorola 68000 (MC68000) es un caso especial ya que es de 16 bits en lo que respecta a su [[bus de datos]]; pero en lo que respecta a sus registros generales y a en la mayoría de las operaciones matemáticas utiliza 32 bits, y en lo que respecta a su [[bus de direcciones]] es de 24 bits. Por tanto su software es de 32 bits y compatible hacia adelante con otros procesadores de 32 bits de la misma familia. Sin embargo, debido a que era el procesador de la [[Sega Mega Drive]] y a la saturación de publicidad haciendo hincapié en sus 16 bits, es considerado erróneamente como de 16 bits. De hecho es la causa de que el periodo entre 1988-1995 (aprox.) sea conocida por los jugadores como "la era de los 16 bits".
+
 
 +
=== El Motorola 68000 de 16/32 bits y el Intel 386SX ===
 +
El [[Motorola 68000]] (MC68000) es un caso especial ya que es de 16 bits en lo que respecta a su [[bus de datos]]; pero en lo que respecta a sus registros generales y a en la mayoría de las operaciones matemáticas utiliza [[32 bits]]. El [[Microcódigo]] del 68000 tiene tres [[Unidad aritmética lógica|ALUs]] internas de 16 bits. En el encapsulado [[Dual in-line package|DIP]] original, sólo los [[24 bits]] del [[contador de programa]] (PC) estaban disponibles, con un máximo de 16 [[Megabyte]]s de [[memoria RAM]] direccionable. Por tanto su software es de 32 bits y compatible hacia adelante con otros procesadores de 32 bits de la misma familia.<ref>Motorola, Inc., [http://cache.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf Motorola M68000 Family, Programmer's Reference Manual], 1992, sec. 2.4, p. 2–21.</ref>
 +
 
 +
Sin embargo, debido a que era el procesador de la [[Sega Mega Drive]] y a la saturación de publicidad haciendo hincapié en sus 16 bits, es considerado erróneamente como de 16 bits. De hecho es la causa de que el periodo entre 1988-1995 (aprox.) sea conocida por los jugadores como "la era de los 16 bits".
 +
 
 +
El [[Motorola 68008]] fue una versión del 68000 con un bus de datos de [[8 bits]] y 1 Megabyte de de memoria direccionable para la versión  DIP de 48 pines y 4 Megabytes para la versión [[Plastic leaded chip carrier|PLCC]] de 52 pines. Varios [[Apple]] [[Macintosh]] como el [[Macintosh LC]]/[[Macintosh LC II]] usaban procesadores [[Motorola 68020]] y [[Motorola 68030]] con un bus de datos de 16 bits para ahorrar costes.
 +
 
 +
Un análisis similar se aplica a los [[Intel 80386|Intel 386SX]], diseñados para reemplazar al [[Intel 80286]] sin tener que cambiar el diseño de la [[placa madre]]. Es un procesador de 32 bits con una [[Unidad aritmética lógica]] de 32 bits y rutas de datos internos de 32 bits con un bus externo de 16 bits y 24 bits de direccionamiento del procesador que reemplazó.
  
 
== Formato de archivo de 16 bits ==
 
== Formato de archivo de 16 bits ==
Línea 21: Línea 29:
 
== Modelos de memoria de 16 bits ==
 
== Modelos de memoria de 16 bits ==
 
Similar al modelo de datos de [[64 bits]], el de 16 bits de la arquitectura Intel permite para los diferentes modelos de memoria, formas de acceder a una ubicación de memoria en particular. La razón para el uso de un determinado modelo de memoria es el tamaño de las instrucciones de ensamblador o del almacenamiento necesario para los punteros. Los compiladores de 16 bits en general tienen las siguientes características en cuanto a tamaño de tipos de datos:
 
Similar al modelo de datos de [[64 bits]], el de 16 bits de la arquitectura Intel permite para los diferentes modelos de memoria, formas de acceder a una ubicación de memoria en particular. La razón para el uso de un determinado modelo de memoria es el tamaño de las instrucciones de ensamblador o del almacenamiento necesario para los punteros. Los compiladores de 16 bits en general tienen las siguientes características en cuanto a tamaño de tipos de datos:
 
  
 
{|class="wikitable"
 
{|class="wikitable"
Línea 45: Línea 52:
 
|}
 
|}
  
*“''Tiny''”&nbsp;—El código y los datos están en el mismo segmento (sobre todo, los registros CS, DS, ES, SS que apuntan al mismo segmento), se utilizan siempre punteros cercanos(''near''). Código, [[Asignación de memoria|datos]] y [[Pila (estructura de datos)|pila]] no pueden exceder en total los 64 [[Kilobyte]]s.
+
* “''Tiny''”&nbsp;—El código y los datos están en el mismo segmento (sobre todo, los registros CS, DS, ES, SS que apuntan al mismo segmento), se utilizan siempre punteros cercanos(''near''). Código, [[Asignación de memoria|datos]] y [[Pila (estructura de datos)|pila]] no pueden exceder en total los 64 [[Kilobyte]]s.
*“''Small''”&nbsp;—El código y los datos están en diferentes segmentos, y se usan siempre punteros ''near''. Hay 64K de espacio para código y 64K para pila y datos.
+
* “''Small''”&nbsp;—El código y los datos están en diferentes segmentos, y se usan siempre punteros ''near''. Hay 64K de espacio para código y 64K para pila y datos.
*“''Medium''”&nbsp;—Los punteros de código son lejanos (''far''), permitiendo acceder a 1 [[Megabyte]]. Los punteros de datos siguen siendo ''near''.
+
* “''Medium''”&nbsp;—Los punteros de código son lejanos (''far''), permitiendo acceder a 1 [[Megabyte]]. Los punteros de datos siguen siendo ''near''.
*“''Compact''”&nbsp;—Los punteros de datos son ''far'' y los de código ''near''.
+
* “''Compact''”&nbsp;—Los punteros de datos son ''far'' y los de código ''near''.
*“''Large''”/“''Huge''”&nbsp;—Tanto los punteros de código como los de datos son ''far''.<ref>Manual de programador de Borland Turbo C++ 1.01</ref>
+
* “''Large''”/“''Huge''”&nbsp;—Tanto los punteros de código como los de datos son ''far''.<ref>Manual de programador de Borland Turbo C++ 1.01</ref>
 +
 
 +
== Aplicaciones de 16 bits ==
 +
En el contexto del [[compatible IBM PC]] y los equipos [[Wintel]], una aplicación de 16 bits es cualquier software escrito para [[MS-DOS]], [[OS/2]] 1.x o las primeras versiones de [[Microsoft Windows]] que originalmente se ejecutaban en los [[microprocesador]]es de 16 bits [[Intel 8086]] e [[Intel 80286]]. Estas aplicaciones utilizan un [[Segmentación de memoria del x86|segmento o selector de direccióm]] de 20 bits o 24 bits para ampliar la gama de posiciones de memoria direccionable más allá de lo que era posible utilizando direcciones única de 16 bits. Por tanto, los programas que contienen más de 2<sup>16</sup> [[byte]]s (64 [[kilobyte]]s) de instrucciones y datos, requieren instrucciones especiales para cambiar entre sus [[Segmentación de memoria|segmentos]] de 64 kilobytes, incrementando la complejidad de la programación de aplicaciones de 16 bits.
 +
 
 +
== Lista de CPUs de 16 bits ==
 +
* [[Data General]]
 +
** [[Data General Nova|Nova]]
 +
** [[Data General Eclipse|Eclipse]]
 +
* [[Digital Equipment Corporation]]
 +
** [[PDP-11]] (para el LSI-11, ver Western Digital)
 +
* [[EnSilica]]
 +
** [[eSi-RISC|eSi-1600]]
 +
* [[Freescale]]
 +
** [[Freescale 68HC12]]
 +
** [[Freescale 68HC16]]
 +
* [[General Instrument]]
 +
** [[General Instrument CP1600|CP1600]]
 +
* [[Hewlett-Packard]]
 +
** [[HP 2100|HP 21xx/2000/1000/98xx/BPC]]
 +
** [[HP 3000]]
 +
* [[Honeywell]]
 +
** [[Honeywell Level 6]]/DPS 6
 +
* [[IBM]]
 +
** [[IBM 1130|1130]]/[[IBM 1800|1800]]
 +
** [[IBM System/7|System/7]]
 +
** [[IBM Series/1|Series/1]]
 +
** [[IBM System/36|System/36]]
 +
* [[Infineon]]
 +
** [[Familia XE166]]
 +
** [[Familia C166]]
 +
** [[Familia C167]]
 +
** [[XC2000]]
 +
* [[Intel]]
 +
** [[Intel 8086]]/[[Intel 8088]]
 +
** [[Intel 80186]]/[[Intel 80188]]
 +
** [[Intel 80286]]
 +
** [[Intel MCS-96]]
 +
* [[Lockheed Corporation|Lockheed]]
 +
** [[Lockheed MAC-16|MAC-16]]
 +
* [[National Semiconductor]]
 +
** [[IMP-16]]
 +
** [[National Semiconductor PACE|PACE/INS8900]]
 +
* [[NEC]]
 +
** [[NEC V20|V20/V30]]
 +
* [[Texas Instruments]]
 +
** [[Texas Instruments TMS9900]]
 +
** [[MSP430]]
 +
* [[Western Design Center]]
 +
** [[WDC 65C816]]
 +
* [[Western Digital]]
 +
** [[MCP-1600]] (utilizado en el [[PDP-11#LSI-11|DEC LSI-11]])
 +
* [[Xerox]]
 +
** [[Xerox Alto|Alto]]
 +
* [[Zilog]]
 +
** [[Zilog Z8000]]
  
 
== Referencias ==
 
== Referencias ==
 
{{listaref}}
 
{{listaref}}
  
[[Categoría:Unidades de información]]
+
[[Categoría:Arquitectura de computadoras|16 bits]]
[[Categoría:Arquitectura de ordenadores|*016]]
+
  
 +
[[ar:16-بت]]
 +
[[be:16 біт]]
 
[[ca:16 bits]]
 
[[ca:16 bits]]
 
[[cs:16bitový]]
 
[[cs:16bitový]]
 
[[de:16-Bit-Architektur]]
 
[[de:16-Bit-Architektur]]
 
[[en:16-bit]]
 
[[en:16-bit]]
[[es:16 bits]]
 
 
[[eo:16-bita arkitekturo]]
 
[[eo:16-bita arkitekturo]]
 +
[[es:16 bits]]
 +
[[fr:16-bits]]
 
[[it:16 bit]]
 
[[it:16 bit]]
 
[[ja:16ビット]]
 
[[ja:16ビット]]
 
[[ko:16비트]]
 
[[ko:16비트]]
 +
[[ms:16-bit]]
 +
[[nl:Woordbreedte]]
 +
[[no:16-bit]]
 
[[pl:Architektura 16-bitowa]]
 
[[pl:Architektura 16-bitowa]]
[[pt:16 bit]]
+
[[pt:16 bits]]
 +
[[ru:16 бит]]
 
[[sk:16-bit]]
 
[[sk:16-bit]]
 
[[zh:16位元]]
 
[[zh:16位元]]
 +

Última revisión de 16:44 7 jul 2009

En arquitectura de computadoras, 16 bits es un adjetivo usado para describir enteros, direcciones de memoria u otras unidades de datos que comprenden hasta 16 bits (2 octetos) de ancho, o para referirse a una arquitectura de CPU y ALU basadas en registros, bus de direcciones o bus de datos de ese ancho.

Al igual que en las videoconsolas, se denominan 16 bits a una serie de ordenadores que tenían en común usar procesadores de 16 bits.

Arquitectura de 16 bits

Los procesadores de 16 bits más conocidos son el PDP-11, Intel 8086, Motorola 68000, Intel 80286 y el WDC 65C816.

El MIT Whirlwind (hacia 1951)[1][2] fue muy posiblemente el primer equipo de 16 bits. Otros pioneros de los 16 bits (entre 1965 a 1970) fueron el IBM 1130,[3] el HP 2100,[4] el Data General Nova,[5] y el DEC PDP-11.[6] Los primeros (entre 1973–75) microprocesadores multi-chip de 16 bits fueron el National Semiconductor IMP-16 y el Western Digital MCP-1600. Los pioneros (entre 1975–76) microprocesadores de 16 bits en un solo chip fueron el National Semiconductor PACE, el HP BPC, y el Texas Instruments TMS9900. Otros procesadores de 16 bits notables son el Intel 8086, el Intel 80286, el WDC 65C816, y el Zilog Z8000. El Intel 8088 es compatible en código con el Intel 8086, y puede considerarse de 16 bits en cuanto a registros e instrucciones aritméticas, mientras que su bus de datos es de 8 bits.

Un entero de 16 bits puede almacenar 216 (ó 65536) valores diferentes. El rango de números enteros sin signo que se pueden almacenar en 16 bits va de 0 a 65535; usando complemento a dos, el rango de valores posibles va de –32768 a 32767. Por lo tanto, un procesador con direccionamiento de memoria (o Bus de direcciones) de 16 bits puede acceder directamente a KiB de memoria direccionable por bytes

Los microprocesadores de 16 bits han sido sustituidos completamente en la industria del ordenador personal, pero permanece en uso en una amplia variedad de aplicaciones embebidas, por ejemplo los procesadores XAP presentes en numerosos ASICs.

El Motorola 68000 de 16/32 bits y el Intel 386SX

El Motorola 68000 (MC68000) es un caso especial ya que es de 16 bits en lo que respecta a su bus de datos; pero en lo que respecta a sus registros generales y a en la mayoría de las operaciones matemáticas utiliza 32 bits. El Microcódigo del 68000 tiene tres ALUs internas de 16 bits. En el encapsulado DIP original, sólo los 24 bits del contador de programa (PC) estaban disponibles, con un máximo de 16 Megabytes de memoria RAM direccionable. Por tanto su software es de 32 bits y compatible hacia adelante con otros procesadores de 32 bits de la misma familia.[7]

Sin embargo, debido a que era el procesador de la Sega Mega Drive y a la saturación de publicidad haciendo hincapié en sus 16 bits, es considerado erróneamente como de 16 bits. De hecho es la causa de que el periodo entre 1988-1995 (aprox.) sea conocida por los jugadores como "la era de los 16 bits".

El Motorola 68008 fue una versión del 68000 con un bus de datos de 8 bits y 1 Megabyte de de memoria direccionable para la versión DIP de 48 pines y 4 Megabytes para la versión PLCC de 52 pines. Varios Apple Macintosh como el Macintosh LC/Macintosh LC II usaban procesadores Motorola 68020 y Motorola 68030 con un bus de datos de 16 bits para ahorrar costes.

Un análisis similar se aplica a los Intel 386SX, diseñados para reemplazar al Intel 80286 sin tener que cambiar el diseño de la placa madre. Es un procesador de 32 bits con una Unidad aritmética lógica de 32 bits y rutas de datos internos de 32 bits con un bus externo de 16 bits y 24 bits de direccionamiento del procesador que reemplazó.

Formato de archivo de 16 bits

Un formato de fichero de 16 bits es un Formato de archivo informático binario en el que cada elemento está definido por 16 bits (o 2 Bytes). Ejemplos de este tipo de archivos son el UTF-16 y el Metaarchivo de Windows.

Modelos de memoria de 16 bits

Similar al modelo de datos de 64 bits, el de 16 bits de la arquitectura Intel permite para los diferentes modelos de memoria, formas de acceder a una ubicación de memoria en particular. La razón para el uso de un determinado modelo de memoria es el tamaño de las instrucciones de ensamblador o del almacenamiento necesario para los punteros. Los compiladores de 16 bits en general tienen las siguientes características en cuanto a tamaño de tipos de datos:

Modelo de datos de 16 bits
Modelo de Datos corto entero largo punteros
IP16L32 (cercano) 16 16 32 16
I16LP32 (lejano) 16 16 32 32
  • Tiny” —El código y los datos están en el mismo segmento (sobre todo, los registros CS, DS, ES, SS que apuntan al mismo segmento), se utilizan siempre punteros cercanos(near). Código, datos y pila no pueden exceder en total los 64 Kilobytes.
  • Small” —El código y los datos están en diferentes segmentos, y se usan siempre punteros near. Hay 64K de espacio para código y 64K para pila y datos.
  • Medium” —Los punteros de código son lejanos (far), permitiendo acceder a 1 Megabyte. Los punteros de datos siguen siendo near.
  • Compact” —Los punteros de datos son far y los de código near.
  • Large”/“Huge” —Tanto los punteros de código como los de datos son far.[8]

Aplicaciones de 16 bits

En el contexto del compatible IBM PC y los equipos Wintel, una aplicación de 16 bits es cualquier software escrito para MS-DOS, OS/2 1.x o las primeras versiones de Microsoft Windows que originalmente se ejecutaban en los microprocesadores de 16 bits Intel 8086 e Intel 80286. Estas aplicaciones utilizan un segmento o selector de direccióm de 20 bits o 24 bits para ampliar la gama de posiciones de memoria direccionable más allá de lo que era posible utilizando direcciones única de 16 bits. Por tanto, los programas que contienen más de 216 bytes (64 kilobytes) de instrucciones y datos, requieren instrucciones especiales para cambiar entre sus segmentos de 64 kilobytes, incrementando la complejidad de la programación de aplicaciones de 16 bits.

Lista de CPUs de 16 bits

Referencias

  1. Computer History Museum, Year 1951 (ver también Year 1943).
  2. Digital Press, Digital at Work, Pearson, 1992, ISBN 1-55558-092-0, pp. 4, 23.
  3. IBM Archives, The IBM 1130 computing system.
  4. Computer History Museum, "HP 2116".
  5. Computer History Museum, "Data General Nova minicomputer".
  6. Digital Press, Digital at Work, Pearson, 1992, ISBN 1-55558-092-0, pp. 58–61.
  7. Motorola, Inc., Motorola M68000 Family, Programmer's Reference Manual, 1992, sec. 2.4, p. 2–21.
  8. Manual de programador de Borland Turbo C++ 1.01