Palabra (computación)
De Wikipedia, la enciclopedia libre
- Para el editor de textos de Microsoft, véase Microsoft Word.
Microprocesadores | ||||||||
---|---|---|---|---|---|---|---|---|
4-bits | 8-bits | 16-bits | 24-bits | 31-bits | 32-bits | 48-bits | 64-bits | 128-bits |
Aplicaciones | ||||||||
8-bits | 16-bits | 31-bits | 32-bits | 64-bits | ||||
Unidades de información | ||||||||
4-bits | 8-bits | 16-bits | 32-bits | 64-bits | ||||
nibble byte octeto word dword qword |
En arquitectura de ordenadores, 16 bits es un adjetivo usado para describir enteros, direcciones de memoria u otras unidades de datos que comprenden hasta 16 bits 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.
En computación, "word" es un término para la unidad natural de datos utilizada en un diseño de un computador particular. Una palabra es simplemente un grupo de bits de tamaño fijo que son manejados juntos por la máquina. El número de bits en una palabra (llamado tamaño de palabra o longitud de palabra) es una característica importante de una arquitectura de computadores.
El tamaño de una palabra se refleja en muchos aspectos de la estructura y las operaciones de las computadoras. La mayoría de los registros en un ordenador normalmente tienen el tamaño de la palabra. El valor numérico típico manipulado por un ordenador es probablemente el tamaño de palabra. La cantidad de datos transferidos entre la CPU del ordenador y el sistema de memoria a menudo es más de una palabra. Una dirección utilizada para designar una localización de memoria a menudo ocupa una palabra.
Los ordenadores modernos normalmente tienen un tamaño de palabra de 16, 32 ó 64 bits. Muchos otros tamaños se han utilizado en el pasado, como 8, 9, 12, 18, 24, 36, 39, 40, 48 y 60 bits, el slab es uno de los ejemplos de uno de los primeros tamaños de palabra. Algunos de los primeros ordenadores eran decimales en vez de binarios, típicamente teniendo un tamaño de palabra de 10 ó 12 dígitos decimales y algunos de los primeros ordenadores no tenían palabras una longitud de palabra fija.
Algunas veces, el tamaño de una palabra se define para tener un valor particular por compatibilidad hacia atrás con los ordenadores anteriores. Los microprocesadores utilizados en ordenadores personales (por ejemplo, los Intel Pentium y los AMD Athlon) son un ejemplo de esto. Su arquitectura IA-32 es una extensión del diseño original del Intel 8086 que tenía un tamaño de palabra de 16 bits. Los procesadores IA-32 siguen soportando programas del 8086 (x86), así que el significado de "word" en el contexto IA-32 sigue siendo el mismo y se continua diciendo que son 16 bits, a pesar del hecho de que en la actualidad puede (y especialmente cuando el tamaño del operando por defecto es 32-bit) opera más como una máquina con un tamaño de palabra de 32 bits. Similarmente en la nueva arquitectura x86-64, una "palabra" sigue siendo 16 bits, aunque los operandos de 64-bit ("cuadruple palabra") sean más comunes.
Tabla de contenidos |
[editar] Utilización de palabras
Dependiendo de cómo se organiza un ordenadoor, las unidades de tamaño de palabra se pueden utilizar para:
- Números enteros: Los contenedores de valores numéricos enteros pueden estar disponibles en varios tamaños diferentes, pero uno de los tamaños disponibles casi siempre será la palabra. Los otros tamaños, suelen ser múltiplos o fracciones del tamaño de palabra. Los tamaños más pequeños normalmente se utilizan sólo por eficiencia en la utilización de memoria, cuando se cargan en el procesador, sus valores normalmente son mayores, contenedores de tamaño palabra.
- Números en coma flotante: Los contenedores para valores numéricos en coma flotante son tímicamente una palabra o un múltiplo de una palabra.
- Direcciones: Los contenedores para direcciones de memoria tienen que ser capaces de expresar el rango necesario de valores, pero no excesivamente grandes. A menudo el tamaño utilizado es el de la palabram pero puede ser un múltiplo o una fracción.
- 'Registros: Los registros son diseñados con un tamaño apropiado para el tipo de dato que almacenan, p.ej. enteros, números en coma flotante o direcciones. Muchas arquitecturas de computadores utilizan registros de "propósito general" que pueden albergar varios tipos de datos, estos registros se dimensionan para permitir los más grandes de estos tipos y el tamaño típico es el tamaño de palabra de la arquitectura.
- Transferencia memoria-procesador: Cuando el procesador lee del subsistema de memoria a un registro o escribe el valor de un registro en memoria, la cantidad de datos transferidos es amenudo una palabra. En los subsistemas de memoria simples, las palabras son transferidas sobre el bus de datos de memoria, que típicamente tiene un ancho de una palabra o media palabra. En los subsistemas de memoria que utilizan cache, la transferencia de tamaño palabra se produce entre el procesador y la caché de nivel uno, en los niveles más bajos de la jerarquía de memoria las grandes transferencias (con múltiplos de la longitud de palabra) son normalmente utilizadas.
- Resolución de unidades de dirección: Es una arquitectura dada, los sucesivos valores de direcciones designan sucesivas unidades de memoria. En muchos ordenadores, la unidad puede ser un caracter o una palabra (algunos han utilizado una resolución de bit). Si la unidad es una palabra, entonces se puede acceder a una gran suma de memoria utilizando una dirección de un tamaño dado. Por otra parte, si la unidad es un byte, se pueden direccionar caracteres individuales (p.ej. seleccionados durante la operación de memoria).
- Instrucciones: Las instrucciones máquina normalmente son fracciones o múltiplos de la longitud de palabra de la arquitectura. Esta es una elección natural ya que las instrucciones y los datos normalmente comparten el mismo subsistema de memoria. En la arquitectura Harvard el tamaño de palabra de instrucciones y datos no está relacionado.
[editar] Elección del tamaño de palabra
Cuando se diseña una arquitectura de computadores, la elección de la longitud de palabra es de substancial importancia. Hay consideraciones de diseño que promueven tamaños de agrupaciones de bits para usos particulares (p.ej. direcciones) y estas consideraciones apuntan a diferentes tamaños para diferentes usos. Sin embargo, las consideraciones de ecomomía en diseños fuertemente apuestar por un tamaño o unos cuantos tamaños relacionados por múltiplos o fracciones (submúltiplos) de una longitud primaria. El tamaño elegido se convierte en la longitud de palabra de la arquitectura.
El tamaño de carácter es una de las influencias en la elección de la longitud de palabra. Antes de mediados de los años 1960, los caracteres se almacenaban a menudo en seis bits, esto permitía como mucho 64 caracteres, así que los alfabetos se limitaban a las mayúsculas. Como es eficiente en tiempo y espacio que el tamaño de palabra sea un múltiplo del tamaño de carácter, las longitudes de palabra en este periodo sean normalmente múltiplos de 6 bits (en máquinas binarias). Una elección comú fueron las palabras de 32 bits, que es también un buen tamaño para las propiedades numéricas de un formato en coma flotante.
Después de la introducción del IBM S/360, diseño que utilizaba caracteres de 8 bits y soportaba letras minúsculas, el tamaño estándar de un carácter (o más correctamente, un byte) se convirtió en ocho bits. Los tamaños de palabra a partir de entonces fueron naturalmente múltiplos de 0cho bits, con 16, 32 y 64 bits siendo utilizados comúnmente.
[editar] Arquitecturas de palabra variable
Los primeros diseños de máquinas incluye algunos que utilizaban lo que a menudo se llamaba una longitud de palabra variable. En este tipo de organización, un operando numérico no tiene longitud fija sino que se detecta cuando termina con un caracter especial, como las máquinas utilizaban el BDC para números. Ejemplos de esta clase de máquinas son el IBM 702, el IBM 705, el IBM 7080, el IBM 7010, el UNIVAC 1050, el IBM 1401 y el IBM 1620.
Muchas de estas máquinas trabajan con una unidad de memoria a la vez y como cada instrucción de datos tiene una longitud de varias unidades, cada instrucción tarda varios ciclos solamente en acceder a memoria. Por esta razón, estas máquinas a veces son tan lentas. Por ejemplo, las instrucciones de un IBM 1620 Modelo I tardan 8 ciclos sólo para leer 12 dígitos de la instrucción (el Modelo II lo redujo a 6 ciclos, pero reducía los tiempos a 4 ciclos si ambos campos de direcciones no se necesitaban en la instrucción).
[editar] Las potencias de 2
Los valores de datos pueden ocupar diferentes tamaños de memoria, porque, por ejemplo, algunos números necesitan ser capaces de tener más precisión que otros. Los tamaños comúnmente utilizados normalmente se eligen para ser múltiplos de potencias de 2 de la unidad de resolución direcciones (byte o palabra). Esto es conveniente porque convirtiendo el índice de un elemento de un array en la dirección del elemento sólo requiere una operación de desplazamiento (que es sólo una pista conductora en hardware) en vez de una multiplicación. En algunos casos esta relación puede también evitar la utilización de operaciones de división. Como resultado, muchos diseños de computadores modernos tienen tamaños de palabra (y otros tamaños de operandos) que son una porencia de 2 veces el tamaño de un byte.
[editar] Familias de tamaños
Según los diseños de computadores se han echo más complejos, la importancia central de un tamaño de palabra simple en una arquitectura ha decrecido. Aunque gran parde de hardware puede utilizar una amplia variedad de tamaños de datos, las fuerzas del mercado ejercen presión para mantener la compatibilidad hacia atrás miestras se extienden las capacidades de los procesadores. Como resultado, lo que tiene que haber sido el tamaño de palabra central en un diseño reciente tiene que coexistir como un tamaño alternativo ala longitud de palabra original en un diseño de compatibilidad hacia atrás. La longitud de palabra original permanece estando disponible en dseños futuros, formando las bases de un tamaño de familia.
Un gran ejemplo de esto se puede ver en los diseños x86. La arquitectura del 8086 original claramente utilizaba un tamaño de palabra de 16 bits. El significantemente realzado diseño del 80386 añadido al 8086 es base de una organización que está basada en unidades de 32 bits. Si fuera un diseño libre, habría tenido un tamaño de palabra de 32 bits, pero como extensión del 8086, su tamaño de palabra continuó siendo considerado como 16 bits. Como resultado, se dice que el 80386 y sus sucesores son de "32-bit", pero normalmente no tienen una palabra de 32 bits. Esta misma situación ha vuelto a ocurrir recientemente en la misma línea, como las extensiones de arquitectura AMD64 haciendo que predomine el tamaño de 64 bits son descartar el soporte para 16 y 32 bits.
Se puede ver que una arquitectura de computadores actual está basada en una familia de tamaños relacionados estrechamente más que en un tamaño de palabra simple omnipresente. Los tamaños están íntimamente relacionados unos con otros mediante factores enteros, normalmente potencias de dos. Denominar a uno de ellos longitud de palabra de la arquitectura puede ser algo arbitrario y la longitud puede ser designada por la historia de la evolución de la arquitectura más que las propiedades del tamaño propiamente dicho en un diseño reciente.