las CPU 64-bit del han existido en los superordenadores desde los años 60 y en el RISC - sitios de trabajo basados y servidores desde los años 90 tempranos . En el 2003 fueron introducidas (previamente el de 32 bits) a la arena de computadora personal de corriente, bajo la forma de X86-64 y arquitecturas 64-bit del procesador de PowerPC .
Una CPU que es 64-bit interno pudo tener los ómnibus de datos externos o autobuses de dirección con un diverso tamaño, más grande o más pequeño; el " del término; 64-bit" es de uso frecuente describir el tamaño de estos autobuses también. Por ejemplo, muchas máquinas actuales con los procesadores de 32 bits utilizan los autobuses 64-bit (e. el Pentium original y CPU posteriores), y se pueden referir de vez en cuando como " 64-bit" por esta razón. Asimismo, algunos procesadores de 16 bits (por ejemplo, el MC68000 ) fueron referidos como procesadores 16-/32-bit como tenían autobuses de 16 bits, pero tenían algunas capacidades de 32 bits internas. El término puede también referir al tamaño de una instrucción en el sistema de instrucción de la computadora o a cualquier otro artículo de los datos (e. cantidades flotantes de precisión doble 64-bit son comunes). Sin la calificación adicional, " 64-bit" la arquitectura de computadora tiene generalmente registros del número entero que sean 64 pedacitos de par en par, que permite que apoye (interno y externamente) el " 64-bit; chunks" de los datos del número entero.
Casi todos los procesadores de fines generales comunes (con la excepción notable de la mayoría del BRAZO y de las puestas en práctica de 32 bits de las MIPS ) han integrado el hardware de la coma flotante, que los mayo o mayo no utilizan los registros 64-bit para llevar a cabo los datos para procesar. Por ejemplo, la arquitectura X86 incluye las instrucciones de coma flotante X87 que utilizan 8 80 registros del pedacito en una configuración del apilado; revisiones posteriores de x86, también incluyen las instrucciones SSE, que utilizan 8 128 registros del pedacito de par en par. Por el contrario, la familia alfa 64-bit de procesadores define 32 registros anchos 64-bit de la coma flotante además de sus 32 registros anchos 64-bit del número entero.
Sin embargo, por el principio de los 90, las reducciones continuas en el coste de la memoria llevado a las instalaciones con las cantidades de RAM que se acercaban a 4 gigabytes, y el uso de los espacios de la memoria virtual que excedían el techo de 4 gigabytes llegaron a ser deseables para manejar ciertos tipos de problemas. En respuesta, un número de compañías comenzaron a lanzar las nuevas familias de virutas con arquitecturas 64-bit, inicialmente para los superordenadores y el sitio de trabajo de gama alta y las máquinas del servidor . la computación 64-bit ha mandilado gradualmente abajo a la mesa de computadora personal, con algunos modelos en líneas conmutación de s Macintosh de Apple 'al PowerPC 970 procesadores de (llamados " G5" en Apple) en 2003 y a los procesadores 64-bit de EM64T en 2006, y con los procesadores x86-64 el llegar a ser común en las PC de gama alta la aparición de la arquitectura 64-bit aumenta con eficacia el techo de la memoria a las direcciones 264, equivalentes a 17.184 gigabytes o 16 al Exabytes del RAM. Para poner esto en perspectiva, en los días cuando el MB de 4 de memoria principal era corriente, el techo máximo de la memoria de las direcciones 232 era cerca de 1.000 configuraciones de memoria más en gran parte que típicas de las épocas. Hoy, cuando 1 GB de memoria principal es común, el techo de las direcciones 264 es cerca de diez mil millones veces más grande, es decir diez millones de veces más espacio libre.
La mayoría de las PC 64-bit del consumidor en el mercado tienen hoy un límite artificial en la cantidad de memoria que pueden reconocer, porque los apremios físicos hacen alto inverosímil que uno necesita la ayuda para la capacidad completa de 16 exabyte. El mac favorable de Apple, por ejemplo, se puede configurar físicamente con hasta 16 gigabytes de la memoria, y pues tal allí no es ninguna necesidad de la ayuda más allá de esa cantidad.
1961 : IBM entrega el superordenador del estiramiento de IBM 7030, que utiliza palabras de datos 64-bit y 32 o las palabras de instrucción 64-bit.
1974 : El Control Data Corporation lanza el superordenador del vector de la CDC Star-100, que utiliza una arquitectura 64-bit de la palabra (los sistemas anteriores de la CDC fueron basados en una arquitectura de 60 pedacitos).
1976 : La investigación de Cray entrega el primer superordenador Cray-1, que se basa en una arquitectura 64-bit de la palabra y formaría la base para superordenadores posteriores del vector de Cray.
1983 : El Elxsi pone en marcha el paralelo Minisupercomputer de Elxsi 6400. La arquitectura de Elxsi tiene registros 64-bit de los datos pero un espacio de dirección de 32 bits.
1991 : Las tecnologías de las MIPS producen el primer microprocesador 64-bit, el R4000 (la tercera revisión de su arquitectura del RISC de las MIPS ). La CPU se utiliza en los sitios de trabajo de gráficos del SGI que comienzan con el DIAFRAGMA carmesí. Sin embargo, la ayuda 64-bit para el R4000 no sería incluida en el sistema operativo IRIX hasta IRIX 6. Kendall que la investigación cuadrada entrega su primer superordenador KSR1, basado en un corriente OSF/1 del RISC de la arquitectura 64-bit propietaria del procesador.
1992 : El Digital Equipment Corporation (DEC) introduce la arquitectura alfa 64-bit puro que nació del proyecto de la PRISMA .
1993 : La DEC lanza el 64-bit OSF/1 AXP Unix-como el sistema operativo de (Tru64 retitulado posterior UNIX) y el sistema operativo de OpenVMS para los sistemas alfa.
1994 : El Intel anuncia los planes para la arquitectura 64-bit IA-64 (desarrollada en común con el Hewlett-Packard ) como sucesor a sus procesadores de 32 bits IA-32 . Un 1998– se apunta la fecha de 1999 lanzamientos.0, con la ayuda 64-bit para las CPU R8000 .
1995 : El Sun lanza un procesador 64-bit del SPARC, el UltraSPARC. Fujitsu - los sistemas informáticos poseídos HAL lanzan los sitios de trabajo basados en una CPU 64-bit, generación independiente diseñada SPARC64 de HAL primera. IBM lanza la mejora 64-bit del sistema de AS/400, que puede convertir el sistema operativo, la base de datos y los usos. La DEC lanza la alfa 7.0, la primera versión 64-bit completa de OpenVMS de OpenVMS para la alfa.
1996 : El Nintendo introduce la consola del juego video de Nintendo 64, construida alrededor de una variante barata de las MIPS R4000 (es el pedacito 64 interno, pero limitado a un autobús de 32 pedacitos externamente). El HP lanza una puesta en práctica de la versión 64-bit 2.0 de su arquitectura del procesador PA-RISC, el PA-8000 .
1997 : IBM lanza la línea RS64 de procesadores de full-64-bit PowerPC.
1998 : IBM lanza la línea POWER3 de procesadores de la ENERGÍA de full-64-bit PowerPC/. Sun lanza el Solaris 7, con la ayuda 64-bit completa de UltraSPARC.
1999 : Intel lanza el sistema de instrucción para la arquitectura IA-64. El AMD divulga público su sistema de extensiones 64-bit a IA-32, llamado el X86-64 (AMD64 retitulado posterior).
2000 del
: IBM envía su primer 64-bit ESA/390 - unidad central compatible, el ZSeries z900, y su nuevo sistema operativo Z/OS . el linux 64-bit en los zSeries sigue casi inmediatamente.
2001 : Intel finalmente envía su línea 64-bit del procesador, ahora calificada Itanium, apuntando los servidores de gama alta. No puede resolver las expectativas debido a los retardos repetidos en conseguir IA-64 para poner. El linux es el primer sistema operativo a funcionar en el procesador en su lanzamiento.
2002 : Intel introduce el Itanium 2 como sucesor al Itanium.
2003: AMD introduce su Opteron y el Athlon 64 líneas del procesador de, basadas en su arquitectura AMD64. El Apple también envía el " 64-bit; G5" Cortesía de la CPU de PowerPC 970 de IBM, junto con una actualización a su mac OS x sistema operativo de que agrega la ayuda parcial para el modo 64-bit. Varios lanzamiento de las distribuciones del linux con la ayuda para AMD64. El Microsoft anuncia planes para crear una versión de su sistema operativo de Windows para apoyar la arquitectura AMD64. Intel mantiene que sus virutas de Itanium seguirían siendo sus solamente procesadores 64-bit.
2004 : Intel, reaccionando al éxito de mercado de AMD, admite que ha estado desarrollando una copia de las extensiones AMD64 nombradas IA-32e (EM64T retitulado posterior). Intel también envía versiones actualizadas de su Xeon y de las familias del procesador del Pentium 4 que apoyan las nuevas instrucciones. El Freescale anuncia la base 64-bit, sucesor e700 a su serie de PowerPC G4 .
2004: El VÍA las tecnologías anuncia el procesador 64-bit de Isaiah .
2005 : El el el 31 de enero, Sun lanza el Solaris 10 con la ayuda para los procesadores de AMD64 y de EM64T. Intel lanza Pentium Extreme Edition basado EM64T 840 y el Pentium D en el segundo trimestre. El 30 de abril, Microsoft lanza la edición profesional x64 de Windows Xp para los procesadores de AMD64 y de EM64T. En mayo, AMD introduce su primer dual-corazón AMD64 Opteron y el Athlon 64 X2 . En julio, IBM anuncia su nuevo dual-corazón PowerPC 64-bit 970MP. Microsoft lanza la consola basada en un 64-bit, procesador del juego de Xbox 360 del xenón PowerPC del triple-corazón manufacturado por IBM.
2006 : el Itanium de Montecito del Dual-corazón 2 procesadores de entra la producción. Sony, IBM, y Toshiba comienzan la fabricación del procesador 64-bit de la célula para el uso en el PlayStation 3, los servidores, los sitios de trabajo, y otras aplicaciones. Apple ofrece los procesadores 64-bit de Xeon de EM64T en su nuevo mac favorable y las computadoras de Xserve de Intel, y actualizaciones posteriores el IMac, MacBook y MacBook Pro para utilizar procesadores de la base 2 de EM64T.
2007 : La base dual de Intel y la base del patio se convierten en los procesadores 64-bit actuales en la producción basada en la tecnología 65nm. El " del nombre de código; Penryn" los procesadores eran las primeras CPU que se construirán apagado de una tecnología de fabricación 45nm. Fueron entregados la tercera semana de noviembre, con 16 procesadores en el lanzamiento.
Una excepción significativa a esto es el AS/400, cuyo software funciona en un virtual AIA, llamado TIMI (interfaz independiente de la máquina de la tecnología) que sea traducido al código automático nativo por el software bajo antes de ser ejecutada. El software bajo es todo que tiene que ser reescrita para mover el OS entero y todo el software a una nueva plataforma, por ejemplo cuando IBM transitioned su línea del más viejo " 32/48-bit; IMPI" sistema de instrucción a PowerPC 64-bit (el IMPI no era cualquier cosa como PowerPC de 32 bits, así que esto era una transición incluso más grande que de una versión de 32 bits de un sistema de instrucción a una versión 64-bit del mismo sistema de instrucción).
Mientras que las arquitecturas 64-bit hacen incuestionable el trabajo con los conjuntos de datos grandes en usos tales como vídeo de Digitaces, la computación científica, y las bases de datos grandes más fáciles, ha habido considerable discusión si ellas o sus modos de compatibilidad de 32 bits serán más rápidos que los sistemas de 32 bits comparable-tasados para otras tareas. En arquitectura X86-64 (AMD64 y Intel 64), la mayoría de los sistemas operativos de 32 bits y los usos pueden funcionar suavemente en el hardware 64-bit.
Las máquinas virtuales 64-bit de Java de Sun son más lentas empezar para arriba que sus máquinas virtuales de 32 bits porque Sun todavía asume que todas las máquinas 64-bit son servidores, y haber ejecutado solamente el " server" recopilador (C2) para las plataformas 64-bit. El " client" el recopilador (C1) produce un código más lento, pero lo compila mucho más rápidamente. Tan aunque un programa de Java sobre un JVM 64-bit pueda realizarse mejor durante un largo periodo (típico para el " duradero; server" los usos), su tiempo de lanzamiento son probables ser mucho más largos. Para los usos de breve duración (tales como el recopilador de Java, el Javac ) el tiempo de lanzamiento creciente puede dominar el runtime, haciendo el JVM 64-bit un guardapolvo más lento.
Debe ser observado que la velocidad no es el único factor a considerar en una comparación de procesadores de 32 bits y 64-bit. Los usos tales como trabajos m3ultiple, prueba de la tensión, y agrupamiento (para el ordenador de alto rendimiento ), la HPC, se pueden adaptar más a una arquitectura 64-bit dada el despliegue correcto. los racimos 64-bit se han desplegado extensamente en organizaciones grandes tales como IBM, Vodafone, HP y Microsoft, por esta razón.
algunas porciones de la reserva de los sistemas operativos del espacio de dirección del proceso para el uso del OS, reduciendo con eficacia el espacio de dirección total disponible para trazar la memoria para los programas del usuario. Por ejemplo, Windows Xp DLLs y los componentes del OS del userland se trazan en el espacio de dirección de cada proceso, saliendo de los solamente 2 a 3.8 GB (dependiendo de los ajustes) de espacio de dirección disponible, incluso si la computadora tiene 4 GB de RAM. Esta restricción no está presente en Windows 64-bit.
La memoria que traza de archivos está llegando a ser menos útil con arquitecturas de 32 bits, especialmente con la introducción de tecnología registrable relativamente barata de DVD. Un archivo de 4 GB es no más infrecuente, y tales archivos grandes no pueden ser memoria trazada fácilmente a las arquitecturas de 32 bits; solamente una región del archivo se puede trazar en el espacio de dirección, y tener acceso a tal archivo por la memoria que traza, esas regiones tendrán que ser trazadas en y fuera del espacio de dirección según lo necesitado. Esto es una edición, pues memoria que traza los restos uno de los métodos más eficientes de la disco-a-memoria, cuando es ejecutada correctamente por el OS.
Puede haber otras ventajas fortuitas como resultado de la transición - por ejemplo, en el caso de x86-64 comparado a x86, tantos registros están dos veces disponibles para el uso del programador.
La desventaja principal de arquitecturas 64-bit es ésa las arquitecturas de 32 bits en relación con que los mismos datos ocupan levemente más espacio en la memoria (debido a los indicadores hinchados y posiblemente a los otros tipos y acolchado de la alineación). Esto aumenta los requisitos de memoria de un proceso dado y puede tener implicaciones para la utilización eficiente del escondrijo del procesador. Mantener un modelo de 32 bits parcial es unidireccional dirigir esto y está en el general razonablemente eficaz. De hecho, el sistema operativo alto centrado en el funcionamiento Z/OS toma este acercamiento actual, requiriendo código del programa residir en cualquier número de espacios de dirección de 32 bits mientras que los objetos de datos pueden (opcionalmente) residen en regiones 64-bit.
Actual, la mayoría del software comercial se emplea como el código de 32 bits, código no 64-bit, así que él no puede aprovecharse del espacio de dirección 64-bit más grande o de los registros y de las trayectorias de datos 64-bit más anchos en procesadores 64-bit, o, los procesadores x86, los registros adicionales en modo 64-bit. Sin embargo, los usuarios liberan o los sistemas operativos abiertos de la fuente han podido utilizar los ambientes computacionales 64-bit exclusivos por años. No todos tales usos requieren un espacio de dirección grande o manipulan artículos de datos 64-bit, así que no se beneficiarían del espacio de dirección más grande o de los registros y de las trayectorias de datos más anchos; la ventaja principal a las versiones 64-bit de los usos que no se beneficiarían de ellos sería que las versiones x86 podrían utilizar más registros.
Porque los drivers de dispositivo en sistemas operativos con los núcleos monolíticos, y en muchos sistemas operativos con los núcleos híbridos ejecutan dentro del núcleo del sistema operativo, es posible funcionar con el núcleo como proceso de 32 bits mientras que todavía apoya procesos 64-bit del usuario. Esto provee de las ventajas de la memoria y del funcionamiento de 64-bit para los usuarios sin la fractura de compatibilidad binaria los drivers de dispositivo de 32 bits existentes, en el coste de un ciertos gastos indirectos adicionales dentro del núcleo. Éste es el mecanismo por el cual el mac OS x permite procesos 64-bit mientras que todavía apoya los drivers de dispositivo de 32 bits.
Para evitar este error en C y C++, el operador de sizeof puede ser utilizado para determinar el tamaño de estos tipos primitivos si las decisiones basadas en su necesidad del tamaño de ser hecho, en compilan y run-time. También, el < limits.h> jefe en el estándar C99, y clase de los numeric_limits en < limits> el jefe en el estándar de C++, da un Info más provechoso; el sizeof vuelve solamente el tamaño en los carbones de leña . Esto era engañoso, porque los estándares salen de la definición de la macro de CHAR_BIT, y por lo tanto el número de pedacitos en un carbón de leña del, a las puestas en práctica. Sin embargo, a excepción de esos recopiladores que apuntan el " de DSPs ; 64 carbones de leña del == 8 de los pedacitos de each" de 8 pedacitos; se ha convertido la norma.
Uno necesita tener cuidado de utilizar el tipo de ptrdiff_t (en el < estándar del jefe; stddef.h> ) para el resultado de restar dos indicadores; demasiado código utiliza incorrectamente el " int" o " long" en lugar. Para representar un indicador (algo que una diferencia del indicador) como número entero, uso uintptr_t cuando sea disponible (se define solamente en C99, pero algunos recopiladores de otra manera conforme a una versión anterior de la oferta estándar él como extensión).
Ni C ni C++ define la longitud de un indicador, de una internacional, o de un largo para ser un número específico de pedacitos. C99, sin embargo, define varios los tipos dedicados del número entero con un número exacto de pedacitos.
En la mayoría de los ambientes de programación en las máquinas de 32 bits, indicadores, " int" tipos, y " long" los tipos son los 32 pedacitos de par en par.
Sin embargo, en muchos ambientes de programación en las máquinas 64-bit, " int" las variables siguen siendo 32 pedacitos de par en par, pero " long" s y los indicadores son 64 pedacitos de par en par. Éstos se describen como teniendo un modelo de datos del LP64 . Está el modelo de datos del ILP64 en el cual los tres tipos de datos son 64 pedacitos de par en par, e incluso el otra alternativa SILP64 donde " short" las variables son también 64 pedacitos de par en par. Sin embargo, en la mayoría de los casos las modificaciones requeridas son relativamente de menor importancia y directas, y muchos programas bien escritos se pueden recompiled simplemente para el nuevo ambiente sin cambios. Otra alternativa es el modelo del LLP64, que mantiene compatibilidad con código de 32 bits dejando la internacional y de largo como de 32 bits. " LL" refiere al " long" largo; mecanografiar, que es por lo menos 64 pedacitos en todas las plataformas, incluyendo ambientes de 32 bits.
Muchos recopiladores 64-bit utilizan hoy el modelo del LP64 (Solaris incluyendo, AIX, HP, los recopiladores nativos del OS X del linux, del mac, y de IBM z/OS). El recopilador de VC++ de Microsoft utiliza el modelo del LLP64 . La desventaja del modelo LP64 es ésa que almacena un largo en una internacional puede desbordar. Por una parte, el lanzamiento de un indicador a un largo trabajará. En el modelo de LLP, el revés es verdad. Éstos no son los problemas que afectan a código completamente standard-compliant pero el código se escribe a menudo con asunciones implícitas sobre las anchuras de los tipos del número entero.
Observar que un modelo programado es una decisión tomada en una base del por-recopilador, y varios pueden coexistir en el mismo OS. El modelo programado elegido por el OS API como modelo primario domina al menos típicamente.
Otra consideración es el modelo de datos usado para los conductores que los conductores de componen a mayoría del código del sistema operativo en la mayoría de los sistemas operativos modernos (aunque muchos no pueden ser cargados cuando el sistema operativo está funcionando). Muchos conductores utilizan indicadores pesadamente para manipular datos, y tienen que cargar en algunos casos indicadores de cierto tamaño en el hardware que apoyan para el acceso directo de memoria . Como ejemplo, un conductor para un dispositivo de 32 bits del PCI que pedía el dispositivo a los datos del acceso directo de memoria en áreas superiores de la memoria de una máquina 64-bit no podría satisfacer peticiones del sistema operativo a los datos de la carga del dispositivo a la memoria sobre la barrera de 4 gigabytes, porque los indicadores para esas direcciones no cabrían en los registros del acceso directo de memoria del dispositivo. Este problema es solucionado teniendo el OS lleva las restricciones de la memoria del dispositivo en consideración al generar peticiones los conductores para el acceso directo de memoria, o usando un IOMMU .
La mayoría de las arquitecturas 64-bit del procesador pueden ejecutar el código para la versión de 32 bits de la arquitectura nativo sin ninguna pena del funcionamiento. Esta clase de ayuda comúnmente se llama la ayuda del biarch del o más generalmente la ayuda del multi-arco del .
.
| Random links: | Djibouti | Hansteen (cráter) | Explication de Texte | Zambullida (canción) |