Bienvenido a Agalisa Informática
  Eres un/a usuario/a Anónimo/a Sábado, 25/11/2017  
Servicios Agalisa
· Tienda On-Line
· Lista Precios
· Quienes Somos
· Acreditaciones
· Mapa Situación
· Consulta E-Mail
· Panda ActiveScan
·

Producto Destacado
En este momento no existe contenido para este bloque.

Zona Activa
· Página Inicial
· Archivo de Noticias
· Buscar
· Descargas
· Encuestas
· Enlaces
· Enviar Noticia
· FAQ
· Foros
· Mi Cuenta
· Recomiéndanos
· Sugerencias
· Temas
· Top 10
· Versión PDA

Buscar



Titulares Aleatorios

nVidia
[ nVidia ]

·GeForce Go 7800GTX para portátiles
·Nvidia empieza a trabajar en SLI2
·Nvidia comercializa su chipset nForce4 para Intel
·Se preparan nuevos lanzamientos de tarjetas gráficas con 512MB
·NVIDIA presenta dos nuevos chips GeForce 6
·NVIDIA lanza su nueva GPU para portátiles GeForce Go 6800 Ultra
·El próximo chipset de NVIDIA para Pentium 4 pasa la certificación
·NVIDIA lanza sus nuevas GPUs GeForce Go 6600
·NVIDIA se sube al carro de los portátiles ''delgados y ligeros'' con el nuevo Ge

Efemérides
Tal día como hoy...

Producto de Oferta
En este momento no existe contenido para este bloque.

¿Qué es HyperThreading?
Enviado el 03/12/02 a las 08:55 por Noticias

Agalisa

Intel ha presentado un nuevo procesador dotado de una característica novedosa que ellos denominan HyperThreading. ¿Pero qué hay detras de esta palabra?

HyperThreading es una técnica que permite simular dos procesadores sobre uno sólo, con el consiguiente ahorro de costes que ello conlleva. Para ello, aprovecha diversas características constructivas de los procesadores, derivadas de políticas de diseño decididas hace ya muchos años.

Divide y vencerás

El principal sistema para acelerar los procesadores consiste en dividir la ejecución de cada instrucción en varios pasos independientes: lectura de la instrucción, identificación, lectura de datos, ejecución y escritura de resultados. Cada uno de estos pasos se puede ejecutar en una parte diferente del procesador, por lo que si lo hacemos así, podemos ejecutar cinco instrucciones en el tiempo que antes se ejecutaba una sola. Es una idea similar a una cadena de montaje: el hecho de separar el montaje de un coche en varias fases no hace que cada coche tarde menos en hacerse, pero salen más coches por unidad de tiempo porque mientras se monta el motor en uno, se está pintando otro, etc.

Por otra parte, la ejecución es una parte que también se puede subdividir en muchas más fases, consiguiendo así acelerar aún más la velocidad de un procesador; así, si se permite que las unidades funcionales de la unidad de ejecución puedan funcionar en paralelo, se puede ejecutar a la vez una instrucción de copia de datos (que usa una unidad funcional de almacenamiento) y una instrucción de suma (que usa una unidad funcional aritmética, una UAL).

Esta idea permite acelerar la ejecucion cuando las instrucciones consecutivas usen unidades funcionales distintas, y necesita muy pocos transistores extra sobre la oblea; sin embargo, si en un programa hay varias instrucciones aritmeticas seguidas, o varias de transferencia de datos, etc, no se podra emplear esta ventaja, porque todas ellas usan la misma unidad funcional. La solucion consiste en añadir varias unidades funcionales de cada tipo, y es esto precisamente lo que hace que cada nuevo procesador use mas y mas transistores. Hoy en dia la fase de ejecucion puede estar dividida facilmente en mas de 16 etapas, por lo que para conseguir un rendimiento optimo incluso en las peores situaciones, hay que poner el mismo numero de cada tipo de unidad funcional. Esto hace que el procesador responda bien en cualquier situacion, sin cuellos de botella, pero tambien implica que buena parte de estas unidades funcionales esten ociosas la mayor parte del tiempo. Esto podia ser un problema hace algunos años, cuando la densidad de integracion en los chips era relativamente baja; hoy en dia, sin embargo, el impacto en el precio por implementar este sistema con el maximo de unidades posibles (en vez del numero medio, que daria un rendimiento optimo en situaciones normales) es practicamente nulo, gracias a los avances en las tecnicas de fabricacion. El verdadero coste viene de los gastos de desarrollo y de marketing.

La gran ventaja de esta tecnica es que es compatible con el codigo y la metodologia de programacion de toda la vida: todas estas mejoras estan ocultas al programador (aunque esto no es cierto al cien por cien), y lo unico que este ve es un aumento de prestaciones.

Dos cabezas en vez de una

Otra solucion que empieza a cobrar auge, aunque es tambien bastante antigua, son los sistemas multiprocesador. En estos sistemas hay dos o mas procesadores fisicos, y cada uno ejecuta un grupo de procesos de forma independiente. En condiciones ideales, el rendimiento obtenido es la suma de los rendimientos de cada procesador, en la practica, los cuellos de botella en la comunicacion interproceso, la inadecuada programacion y otros factores pueden hacer que el rendimiento final sea del 80-90% del teorico maximo.

Esta tecnica es cara porque necesita montar varios procesadores, los cuales son relativamente caros de por si, en una placa especial, que es cara debido a la baja demanda de este tipo de sistemas.

Por otra parte, hace falta un sistema operativo capaz de trabajar con sistemas multiprocesador, tal como Windows NT, 2000 o XP, o bien Linux. Con Windows 98 solo funcionara uno de los procesadores, quedandose el resto completamente inactivos.

Finalmente, solo se puede obtener rendimiento extra con programas escritos adecuadamente. Es bastante dificil conseguir un aumento de rendimiento con su programa de correo o su navegador de internet, porque no son programas multiproceso. El multiproceso se basa en dividir la tarea a realizar en multiples subtareas que se ejecutan a la vez y de forma independiente (aunque pueden intercambiar datos entre ellas de forma puntual). Estas subtareas se ejecutan alternativamente sobre el mismo procesador cuando se ejecutan en un sistema con un unico procesador (caso de un PC normal); pero cuando el ordenador dispone de varios procesadores, el sistema operativo puede enviar cada una de las subtareas a un procesador distinto, de forma que se ejecuten a pleno rendimiento. Es ahi donde se consigue un aumento bastante espectacular de velocidad.

Y llego el HyperThreading

Comentamos al principio que en un procesador actual hay multitud de unidades funcionales repetidas, las cuales se encuentran bastante desocupadas, salvo en casos muy concretos. Tambien hemos dicho que hay programas que se pueden aprovechar de la circunstancia de que el sistema tenga dos o mas procesadores. ¿Como podemos juntar esto?

La solucion de Intel es el HyperThreading: añadiendo algunos circuitos extra se hace creer al sistema operativo que hay dos procesadores, igual que en el caso de un sistema multiprocesador, aunque en realidad solo hay uno. El truco consiste en aprovechar las unidades que estan inactivas en un momento dado para ejecutar las instrucciones del segundo procesador virtual, de forma que aprovechamos un conjunto de transistores que antes, simplemente, estaban esperando trabajo.

Es obvio que esto no es lo mismo que tener dos procesadores, pues puede darse el caso de que para ejecutar dos procesos haga falta un numero mayor de un tipo determinado de unidades funcionales, en cuyo caso uno de los dos procesadores virtuales se quedara parado esperando a que el otro acabe su grupo de instrucciones y libere los recursos que necesita. Sin embargo, lo importante es que el rendimiento es superior al de un sistema con un unico procesador, y lo que es mas importante, a un precio mucho mas reducido.

¿Que necesito para montar un sistema con un procesador dotado de HyperThreading?

Lo primero, es necesario una placa madre con un chipset que lo soporte. Hoy en dia, solo los de Intel lo admiten, tanto los recientes 845PE/GE y 850E como los viejos 845E y 845G. SiS y VIA tienen planes para sacar en breve chipsets compatibles con esta tecnica, pero todavia no estan en el mercado.

Lo segundo que hace falta es una BIOS con soporte de HyperThreading. En concreto, la BIOS debe inicializar correctamente el procesador en el nuevo modo y ofrecer las funciones adecuadas para activar y desactivar dicha funcionalidad desde el sistema operativo.

Lo tercero es un sistema operativo que admita HyperThreading. Hoy por hoy, solo Windows XP (tanto el Professional como el Home Edition) y las ultimas versiones de los kernels 2.4 de Linux soportan esta caracteristica. Windows 2000 detecta dos procesadores fisicos en vez de los procesadores virtuales, por lo que no funcionara correctamente, y Microsoft no parece dispuesta a lanzar un parche, por lo que los que quieran aprovechar esta caracteristica deberan actualizar su sistema operativo.

Por ultimo, hacen falta aplicaciones multiproceso para sacar provecho de los dos procesadores virtuales.

¿Que nos depara el futuro?

HyperThreading es una tecnologia que no depende directamente de la velocidad del procesador, por lo que es muy posible que en un futuro cercano aparezcan modelos Celeron que implementen HyperThreading. De hecho, Intel ya ha hecho algunas declaraciones al respecto.

Por su parte, es obvio que AMD ha de ponerse las pilas e intentar buscar alguna alternativa similar a HyperThreading si quiere poder seguir compitiendo con Intel en igualdad de condiciones como hasta ahora. El problema es la patente que Intel tenga sobre esta tecnologia; si es lo suficientemente restrictiva, AMD tendra serios problemas para implementar una tecnologia similar en sus procesadores.

Mas informacion: CPU Planet (en ingles).

Mas informacion: Tom's Hardware (en ingles).

Mas informacion: Intel (en ingles).


 
Enlaces Relacionados
· Agalisa Informática
· Más Acerca de Agalisa
· Noticias de Noticias


Noticia más leída sobre Agalisa:
Comparativa entre Intel Pentium 4 y AMD Athlon XP


Valorar Artículo
Puntuación Media: 4.23
votos: 26


Por favor pierde un segundo y valora esta noticia:

Excelente
Muy Bueno
Bueno
Regular
Malo



Opciones

 Versión Imprimible  Versión Imprimible

 Enviar a un Amigo  Enviar a un Amigo


Puntos
Los comentarios son propiedad de quien los envió. No somos responsables por su contenido.

No se permiten comentarios Anónimos, Regístrese por favor


Todos los derechos reservados. Los comentarios anónimos o de los usuarios registrados son propiedad de sus autores. Agalisa no se identifica de ninguna manera con ellos salvo expresamente publicado por nuestra parte. Agalisa se reserva el derecho de modificar o eliminar aquella información propia o de terceros que considere incorrecta, incompleta u ofensiva.
© Copyright Agalisa 2002 - Consulte nuestra política de privacidad.
Portal basado en la tecnología de PHP-Nuke.