[OT... pero menos] Debate sobre 64 vs 32 bits. ¿futuro de dichos procesadores? ¿son necesarios?.

08/10/2003 - 22:01 por JM Tella Llop [MS MVP] · | Informe spam
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.

Preguntas similare

Leer las respuestas

#41 Javi Pardo \(Windows-XP\)
08/10/2003 - 23:54 | Informe spam

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.

sacado del make menuconfig

CONFIG_NOHIGHMEM: ?
?
?
? Linux can use up to 64 Gigabytes of physical memory on x86 systems.
?
? However, the address space of 32-bit x86 processors is only 4
?
? Gigabytes large. That means that, if you have a large amount of
?
? physical memory, not all of it can be "permanently mapped" by the
?
? kernel. The physical memory that's not permanently mapped is called
?
? "high memory".
?
?
?
? If you are compiling a kernel which will never run on a machine with
?
? more than 960 megabytes of total physical RAM, answer "off" here (defau
?
? choice and suitable for most users). This will result in a "3GB/1GB"
?
? split: 3GB are mapped so that each process sees a 3GB virtual memory
?
? space and the remaining part of the 4GB virtual memory space is used
?
? by the kernel to permanently map as much physical memory as
?
? possible.


saludos
Respuesta Responder a este mensaje
#42 Javi Pardo \(Windows-XP\)
08/10/2003 - 23:54 | Informe spam

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.

sacado del make menuconfig

CONFIG_NOHIGHMEM: ?
?
?
? Linux can use up to 64 Gigabytes of physical memory on x86 systems.
?
? However, the address space of 32-bit x86 processors is only 4
?
? Gigabytes large. That means that, if you have a large amount of
?
? physical memory, not all of it can be "permanently mapped" by the
?
? kernel. The physical memory that's not permanently mapped is called
?
? "high memory".
?
?
?
? If you are compiling a kernel which will never run on a machine with
?
? more than 960 megabytes of total physical RAM, answer "off" here (defau
?
? choice and suitable for most users). This will result in a "3GB/1GB"
?
? split: 3GB are mapped so that each process sees a 3GB virtual memory
?
? space and the remaining part of the 4GB virtual memory space is used
?
? by the kernel to permanently map as much physical memory as
?
? possible.


saludos
Respuesta Responder a este mensaje
#43 Jinx
08/10/2003 - 23:58 | Informe spam
Cito textual "OPTERON es el único procesador concebido para ejecutar aplicaciones de 32 y 64 bits al mismo tiempo y sin compromiso. AMD Opteron utiliza AMD64 - un avance muy importante en la arquitectura que permite beneficiarse de una tecnología de 64-bit con una plataforma X86 - creando una novedad en la informática de esta manera podrá pasar a la tecnología 64-bit cuando quiera."

Ahí lo pone claro... 64 bit sobre plataforma X86.. osea un CISC ¿podríamos llamarle "ampliado"?


Suerte!


Jinx

"Jorge" wrote in message news:
> ¿Entendemos entonces que el Itanum puede ser comparable al PowerPC de
> Apple pero no el AMD?

Entonces el AMD OPTERON se basa totalmente en tecnologia CISC verdad??




Respuesta Responder a este mensaje
#44 Jinx
08/10/2003 - 23:58 | Informe spam
Cito textual "OPTERON es el único procesador concebido para ejecutar aplicaciones de 32 y 64 bits al mismo tiempo y sin compromiso. AMD Opteron utiliza AMD64 - un avance muy importante en la arquitectura que permite beneficiarse de una tecnología de 64-bit con una plataforma X86 - creando una novedad en la informática de esta manera podrá pasar a la tecnología 64-bit cuando quiera."

Ahí lo pone claro... 64 bit sobre plataforma X86.. osea un CISC ¿podríamos llamarle "ampliado"?


Suerte!


Jinx

"Jorge" wrote in message news:
> ¿Entendemos entonces que el Itanum puede ser comparable al PowerPC de
> Apple pero no el AMD?

Entonces el AMD OPTERON se basa totalmente en tecnologia CISC verdad??




Respuesta Responder a este mensaje
#45 Saulo Barajas
08/10/2003 - 23:59 | Informe spam
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



Permíteme que me cuele en el debate :)

Hasta donde tengo entendido (que puedo estar equivocado) los procesadores Intel actuales son CISC externamente pero su funcionamiento interno es RISC, es decir, que la propia CPU traduce internamente las instrucciones CISC a varias RISC. Con esto optimizan el rendimiento pero no sacrifican la compatibilidad con códigos compilados para el juego de instrucciones tradicional de Intel.

Pero bueno a parte de esto que es lo de menos, yo también soy de la opinión de que las CPUs actuales tienen potencia sobrada para ordenadores de sobremesa. Yo desde los 800 MHz o así ya casi no noto diferencia. A mí me da casi igual una CPU de 1 que de 2 o 3 GHz... si mi CPU está muerta de asco casi todo el tiempo (como diría JMT).

Lo importante es cuidar los cuellos de botella que se forman en el sistema. Y entre ellos, uno de los mayores cuellos de botella es el disco duro, ese elemento mecánico que ralentiza todo el sistema y tal como lo usa Windows trabaja más de la cuenta. Ya que se ha hablado de Unix, me parece mucho mejor su sistema de disco, que evita desplazamientos continuos del brazo de cabezales, escribe las cosas más seguidas y acelera este aspecto aunque, eso sí, a costa de trabajar más en memoria y arriesgarse a pérdidas de datos.

Resumiendo: creo que los esfuerzos de optimización deberían centrarse en prácticamente todo menos en la CPU que ya ha llegado a velocidades muy altas (para usuarios domésticos, se entiende).

Un saludo,

Saulo Barajas
www.saulo.net
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida