He escrito esta introduccion deprisa y corriendo en 10 minutos, por tanto puede tener huevo y medio de errores. pero sirve para empezar a "decir" algo.. leedla y sin miedo empezamos a comentarla...
Bien, vamos a introducir un poco el debate, y vamos a empezar viendo como funcionan los procesadores de 64 bits conocidos.
Hasta el momento son dos: uno el Itanium de Intel. Este procesador es arquitectura RICS, por tanto una arquitectura a la que no estamos acostumbrados como usuarios finales. Basicamente se distingue de la arquitectura CICS (la que usan los sistemas de sobremesa actuales), en que sus instrucciones ensambladoreas son mucho mas elemenales, tienen decenas de registos de proposito general y particulares. El codigo a ejecutar, su optimizacion, se basa en lo optimizado que esté el compilador. Endoabladamente rapidos, pero dificil de ajustar los compiladores para un rendimiento optimo.
El Itanium e Itanium II están pensados para servidores. Existe un XP Profesional de 64 bits para ellos. En principio y debido a su precio, arquitectura de placa madre totalmente diferente, no existencia de perifericos de consumo, etc.. no estando orientado al mercado domestico... nos vamos a olvidar de él.
De cara al mercado domestico ha surgido el AMD64 como primer procesador de 64 bits. Basicamente es un procesador de 32 bits de los que conocemos, "ampliados" sus registros a 64 bits, aumentando el numero de registros, y aumentando las lineas de direcciones a 64 bits. (las lineas de datos, en los procesadores actuales (Pentium y AMD) de 32 bits, ya eran de 64 bits).
¿que significa aumentar las lineas de direcciones a 64? Bien, que la memoria que podemos direccionar con 64 bits es 2 elevado a la 64. (no es cierto, ya que el limite está en 58. De todas formas es una cantidad inimaginable por ahora).
Los actuales procesadores son capaces de manejar en principio 2 elevado a 32, es decir 4 Gigas de memoria. Tambien es mentira, ya que se puede usar 4 bits de registros de control para poder manejar 16 veces esa cantidad, es decir 64 Gigas de memoria usando lo que Intel ha definido como Physical Address Extensions (no se si AMD lo soporta, creo que no al ser propietario Intel de esta tecnologia).
Windows 2000, 2003 y XP, puede arrancarse con el parametro /PAE en el boot.ini y ya puede acceder a los 64 Gigas de memoria. Cada tarea está limitada a un espacio de de direcciones de 4 GB, siendo 2 para el sistema operativo y 2 para el espacio de usuario. Con el parametro /3GB, pueden darse 3 gigas a cada tarea y uno al sistema operativo).
Linux (ninguno de sus nucleos) puede usar PAE. Por diseño de Linux en arquitectura actual de 32 bits, está limitado a 4 GB de RAM con 3:1 es decir, 3 para la tarea y 1 para el sistema.
** Modos de funcionamiento del AMD64. (modos en que puede funcionar la CPU)
1) Long Mode: que a su vez:
1.1) 64 bit mode
1.2) compatibility mode
2) Legacy mode
Veamos que soporta cada uno de ellos:
1) Long mode exige un sistema operativo de 64 bits.
1.1) En 64 bit mode, todos los procesos deben ser de 64 bits. No puede ejecutarse software de 32 ni de 16. (por tanto, el msdos ha muerto incluso en emulacion. No existe). No existe el modo virtual 8086.
1.2) En compatibility mode, el sistema operativo es de 64 bits, pero se pueden ejecutar programas de 32 bits. No pueden ejecutarse de 16. No existe el modo cirutal 8086, por tanto, el msdos, ni tan siquiera en modo compatiblidad podrá ejecutarse.
2) Legacy mode: soporte X86 real, 8086 virtual y protegido (es para instalar sistemas operativos de 16 y 32 bits) Pueden ejecutarse aplicaciones de 16 y 32 bits. En este caso el que sea de 64 bits el procesador, es como si no lo es. En este funcionamiento es identico a las maquinas actuales.
Primer problema: ¿puede switchearse de modo?. No que yo sepa una vez arrancado el sistema operativo (no ha caido en mis manos todavia un manual assembler de este procesador, por lo cual, esta aseveracion puede ser incompleta). De todas maneras, aunque se pudiese, ningun sistema operativo lo haría, ya que es lo mismo que actualemtne en los procesadores de 32, que aunque permiten el modo real y el protegido, la cpu arranca en modo real, pero en cuanto se carga el sistema pasa a protegido y ya no switchea a modo real nunca debido al coste en ejecucion que ello supone (el modo msdos en estos procesadores, no es por switcheo a modo real, sino por usar un modo protegido especial llamado Virtual 8086). Por tanto, un sistema una vez arrancado, sera de uno de los modos dados anteriormente y no switcheará a otro de los posibles.
En la actualidad, en modo Legacy Mode es infinitamente mas lento que cualquier procesador de 32. (mas que nada porque la frecuencia es inferior y no está optimizado para instrucciones de 32 bits).
Igualmente, no existen sistemas operativos (windows) de 64 bits para estos procesadores. Microsoft watá trabajando en una beta de XP para ellos. El actual XP de 64 bits es para Itanium cuya arquitectura es totalmente diferente.
-
A la vista de lo anterior, queda abierto el debate: ¿necesitamos en la actualidad procesadores de 64 bits, o es solo por un motivo de mercado? Me explico, actualmente la velocidad de los procesadores es ya un tema critico y no va a crecer espectacularmente. Admeas, por mucho que crezca, ya no notaremos mejoras en los sistemas actuales. (precticamente de un PIII a 1 GB a un P4 a 3.2, no se nota tanta diferencia. no es 3,2 veces mas rapido...) Y por tanto el "consumo" de la gente se irá frenando.
Hay que "aumentar" dicho consumo. Solucion: nos inventamos el 64 bit. Y como todos queremos ser mas que el projimo... la demanda irá creciendo.
Particularmente creo que no es necesario ni existen limitaciones que tecnicamente nos obliguen a los 64 bits. Ni tan siquiera que lo aconsejen. (y que conste, que en cuanto salga el AMD64 a la calle, me compraré uno. y eso que AMD tampoco me gusta ;-)
Jose Manuel Tella Llop
MS MVP - DTS
jmtella@compuserve.com
Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use.
Leer las respuestas