16 bits

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

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[editar]

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.

Un entero de 16 bits puede almacenar 2^{16} (ó 65536) valores diferentes. En una representación sin signo, esos valores son los enteros entre 0 y 65535; usando complemento a dos, el rango de valores posibles va de –32768 a 32767.

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[editar]

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".

Formato de archivo de 16 bits[editar]

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[editar]

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.[1]

Referencias[editar]

  1. Manual de programador de Borland Turbo C++ 1.01