stringtranslate.com

Computadora decimal

Panel frontal del IBM 650 con pantallas decimales codificadas biquinarias

Un ordenador decimal es un ordenador que puede representar números y direcciones en decimal y que proporciona instrucciones para operar con esos números y direcciones directamente en decimal, sin conversión a una representación binaria pura . Algunos también tenían una longitud de palabra variable , que permitía realizar operaciones con números con una gran cantidad de dígitos.

Las computadoras decimales fueron comunes desde las primeras máquinas hasta la década de 1960 y la de 1970. El uso directo del decimal evitó la necesidad de convertir de decimal a binario para la entrada y la salida y ofreció una mejora significativa de la velocidad con respecto a las máquinas binarias que realizaban estas conversiones mediante subrutinas. Esto permitió que máquinas que de otro modo serían de gama baja ofrecieran un rendimiento práctico para funciones como contabilidad y teneduría de libros , y muchos sistemas de gama baja y media de la época se basaban en decimales.

La línea de computadoras binarias IBM System/360 , anunciada en 1964, incluía instrucciones que realizaban operaciones aritméticas decimales; le siguieron otras líneas de computadoras binarias con instrucciones aritméticas decimales. Durante la década de 1970, los microprocesadores con instrucciones que admitían operaciones aritméticas decimales se volvieron comunes en calculadoras electrónicas , cajas registradoras y funciones similares, especialmente en la era de los 8 bits.

Las rápidas mejoras en el rendimiento general de las máquinas binarias erosionaron el valor de las operaciones decimales. Uno de los últimos diseños nuevos importantes que lo admitieron fue el Motorola 68000 , que se comercializó en 1980. Más recientemente, IBM agregó soporte decimal a sus diseños POWER6 para permitirles admitir directamente programas escritos para plataformas de la década de 1960 como el System/360 . Con esa excepción, la mayoría de los diseños modernos tienen poco o ningún soporte decimal.

Las primeras computadoras

Las primeras computadoras que eran exclusivamente decimales incluyen la ENIAC , IBM NORC , IBM 650 , IBM 1620 , IBM 7070 y UNIVAC Solid State 80. En estas máquinas, la unidad básica de datos era el dígito decimal, codificado en uno de varios esquemas, incluido el decimal codificado en binario (BCD), el biquinario y el código dos de cinco . A excepción de IBM 1620 y 1710, estas máquinas usaban direccionamiento de palabras . Cuando se usaban caracteres no numéricos en estas máquinas, se codificaban como dos dígitos decimales.

Otras computadoras tempranas estaban orientadas a caracteres, proporcionando instrucciones para realizar operaciones aritméticas en cadenas de caracteres de números decimales, utilizando BCD o exceso de 3 (XS-3) [1] para dígitos decimales. En estas máquinas, el elemento de datos básico era un carácter alfanumérico , típicamente codificado en seis  bits . UNIVAC I y UNIVAC II usaban direccionamiento de palabras, con palabras de 12 caracteres. Los ejemplos de IBM incluyen IBM 702 , IBM 705 , la serie IBM 1400 , [2] IBM 7010 y IBM 7080 .

Algunas de las primeras computadoras binarias, como la Honeywell 800 [3] y la RCA 601 [4] [5], también tenían instrucciones aritméticas decimales. Otras tenían instrucciones especiales, como CVR y CAQ en la IBM 7090 , que podían usarse para acelerar la suma decimal y la conversión de decimal a binario. [6]

Computadoras posteriores

La familia de computadoras IBM System/360 , introducida en 1964 para unificar las líneas de productos de IBM, utiliza direccionamiento binario, aritmética de números enteros binarios y punto flotante binario; también incluye instrucciones para aritmética de números enteros decimales empaquetados . [7]

Algunas otras líneas de computadoras binarias añadieron instrucciones aritméticas decimales. Por ejemplo, la serie 6000 de Honeywell , basada en la serie binaria GE-600 , ofrecía, en algunos modelos, un conjunto de instrucciones ampliado que admitía aritmética de números enteros decimales empaquetados y aritmética de coma flotante decimal. [8]

Las líneas de computadoras de gama media de IBM , comenzando con el System/3 en 1969, [9] son ​​computadoras binarias con instrucciones de números enteros decimales.

La línea VAX de computadoras binarias de 32 bits de Digital Equipment Corporation , introducida en 1977, también incluye instrucciones aritméticas de números enteros decimales empaquetados.

Los sistemas medianos Burroughs , comenzando con los Burroughs B2500 y B3500 en 1966, proporcionan únicamente aritmética decimal, incluido el direccionamiento decimal, lo que los convierte en una arquitectura decimal.

Computadoras más modernas

La compatibilidad con BCD era común en los primeros microprocesadores , que se usaban a menudo en funciones como calculadoras electrónicas y cajas registradoras , donde las operaciones matemáticas eran todas decimales. Se pueden encontrar ejemplos de dicha compatibilidad en Intel 8080 , MOS 6502 , Zilog Z80 , Motorola 6800/6809 y la mayoría de los demás diseños de la época. En estos diseños, BCD se admitía directamente en la ALU, lo que le permitía realizar operaciones con datos decimales directamente.

Los códigos de operación BCD de Intel han permanecido en la familia x86 hasta el día de hoy, aunque no se admiten en modo largo. Estas instrucciones convierten números BCD de un byte ( comprimidos y descomprimidos ) a formato binario antes o después de las operaciones aritméticas. [10] Estas operaciones no se extendieron a formatos más amplios y, por lo tanto, ahora son más lentas que usar "trucos" BCD de 32 bits o más para calcular en BCD. [11] La FPU x87 tiene instrucciones para convertir datos decimales empaquetados de 10 bytes (18 dígitos decimales), aunque luego opera sobre ellos como números de punto flotante.

La serie Motorola 68000 ofrecía tanto utilidades de conversión como la capacidad de sumar y restar directamente en BCD. [12] Estas instrucciones se eliminaron cuando se definió el conjunto de instrucciones Coldfire .

La revisión de 2008 del estándar de punto flotante IEEE 754 agrega tres tipos decimales con dos codificaciones binarias, con significados decimales de 7, 16 y 34 dígitos . [13]

Uno de los pocos conjuntos de instrucciones RISC que soportan directamente el decimal es Power ISA de IBM , que agregó soporte para el punto flotante decimal IEEE 754-2008 a partir de Power ISA 2.05. El soporte de números enteros decimales había sido parte de su línea de mainframe, y como parte del esfuerzo más amplio para fusionar la aritmética decimal iSeries y zSeries se agregó a la línea POWER para que un solo procesador pudiera soportar cargas de trabajo de estas máquinas más antiguas con un rendimiento completo. [ cita requerida ] El procesador IBM POWER6 es el primer procesador Power ISA que implementó estos tipos, utilizando la codificación binaria decimal densamente empaquetada en lugar de BCD. [14] A partir de Power ISA 3.0, se agregaron instrucciones de aritmética de números enteros decimales.

z/Architecture , la versión de 64 bits del conjunto de instrucciones de mainframe de IBM, agregó soporte para las mismas codificaciones de punto flotante decimal IEEE 754, comenzando con IBM System z9 . [14] A partir del procesador z15 , se agregaron instrucciones vectoriales para realizar aritmética de números enteros decimales. [15]

Véase también

Notas

Referencias

  1. ^ Manual de referencia para programadores de sistemas extendidos UNIVAC 1005 (PDF) , Sperry Rand, pág. 1–8, FSD-1089r1
  2. ^ Sistema de procesamiento de datos IBM 1401: Manual de referencia (PDF) . IBM. Abril de 1962. pág. 20. A24-1403-5.
  3. ^ "Palabras de datos" (PDF) . Manual de referencia del programador Honeywell 800 (PDF) . Minneapolis- Honeywell , División DATAmatic. 1960. pág. 24. Puede interpretar los 48 bits de una palabra en grupos de 4 para el propósito de la operación decimal codificada en binario, en grupos de seis para el propósito de la operación alfanumérica, o como unidades individuales de información para la operación binaria pura.
  4. ^ "El ordenador RCA 603". Sistema de procesamiento electrónico de datos RCA 601 - Manual de información general . RCA EDP. Marzo de 1961. pág. 1. 96-15-000. Las operaciones aritméticas de palabra fija o de media palabra se pueden realizar tanto en modo binario, alfanumérico y decimal.
  5. ^ El diseño de sistemas RCA 601. Taller internacional sobre gestión de conocimientos sobre requisitos. IEEE Computer Society. Diciembre de 1960. doi :10.1109/AFIPS.1960.64.
  6. ^ Manual de referencia, Sistema de procesamiento de datos IBM 7090 (PDF) . IBM. Marzo de 1962. págs. 5557, 115–119. A22-6528-4.
  7. ^ IBM (1964). Principios de funcionamiento del IBM System/360 (PDF) . Primera edición. A22-6821-0.
  8. ^ Descripción resumida de la serie 6000 (PDF) . Honeywell. 1971. págs. 6, 31, 34–36.
  9. ^ Manual de referencia de componentes del sistema de disco y tarjeta IBM System/3 (PDF) (segunda edición). IBM. Abril de 1970. GA21-9103-1.
  10. ^ "Guía del programador de MASM". Microsoft. 1992. Archivado desde el original el 15 de julio de 2007. Consultado el 1 de julio de 2007 .
  11. ^ Jones, Douglas W. (10 de septiembre de 2014) [1999]. "Tutoriales de aritmética". Iowa City, Iowa, EE. UU.: The University of Iowa, Department of Computer Science . Consultado el 3 de enero de 2016 .
  12. ^ "Manual de referencia del programador de la familia Motorola M68000" (PDF) . Consultado el 1 de julio de 2007 .
  13. ^ "BORRADOR de la norma para aritmética de coma flotante P754". IEEE . 2006-10-04 . Consultado el 2021-08-31 .
  14. ^ ab Cowlishaw, Mike F. (2015) [1981,2008]. "Aritmética decimal general". IBM . Consultado el 2 de enero de 2016 .
  15. ^ Guía técnica del IBM z15 (8561) (PDF) . IBM. pág. 3. SG24-8851-00.

Lectura adicional