-
El HT de los P4 se penso para sistemas que sean capaces de utilizar threads, por eso la mejora de rendimiento en ciertos entornos y en otros que no utilizan dichas "hebras" puede incluso empeorar. Ademas, el HT supone la replicacion de las unidades funcionales dedicadas a la busqueda y decodificacion de instrucciones y por eso el SO (Windows XP por ejemplo) informa de que existen 2 procesadores "LOGICOS"; porque existen 2 unidades de cada tipo. Con un procesador de doble nucleo y que ademas tenga HT el sistema muestra 4 (2 por cada procesador físico).
Para implementacion de HT intel solo replico lo siguiente:
- La logica de renombramiento de regsitros
- El apuntador de Instrucciones
- ITLB
- Retorno de predictor de pila
- Otros varios registros arquitecturales
Las unidades funcionales dedicadas a la busqueda y decodificacion de instrucciones no estan replicadas en procesador HT. Partes de estas unidades se encuentran particionadas (que no es lo mismo que replicadas)
Los recursos particionados son:- Buffers de reordenamiento (ROBs)
- Buffers de Load/store
- Varios registros de cola, cola de instrucciones, cola de uop, etc.
Y los recursos compartidos
- Caches: trace cache, L1, L2, L3
- Registros Microarquitecturales
- UNIDADES DE EJECUCION
Es solo una aclaracion, no lo tomes personal.
-
¡Esta publicación está eliminada! -
@TRISTAN_9:
Y un añadido, podreis decir del HT que es muy bueno y todo eso, pero lo que no podeis negar es que se vendio como un producto comercial sin ser tanto, igual que con el MMX en su momento. Ah, una pregunta, el Conroe va a tener HT, es que no estoy enterado?
No el conroe no va a tener HT. Como he comentado antes HT no tendria efectos significativos en una arquitectura de pipelines cortos como conroe o K8 ya que los recursos se utilizan muy eficientemente y a diferencia de la ineficiente Netburst no habria tantos recursos disponibles para utilizar en un segundo nucleo logico.
-
@TRISTAN_9:
Pero el problema radica también en que estás comparando procesadores sobre sistemas operativos distintos. El WinXP pide una burrada en relacion al Win98, y claro que te va a ir más lento. Prueba a iniciar el WinXP con el PIII y ahí notarás si existía diferencia o no entre ese procesador y el Athlon.
Si tienes razon, Windows XP con un PIII 500 es simplemente una TORTURA. Deberias probar ambos con Windows XP y la diferencia saltara a simple vista: El PIII una absolutra tortuga que no creo que te deje hacer ningun tipo de multitasking. El AXP 2600+ correra perfecta y felizmente windows XP y dejara hacer mulitasking comun sin despeinarse (al menos comparado con el PIII 500).
-
Como he comentado antes HT no tendria efectos significativos en una arquitectura de pipelines cortos como conroe o K8 ya que los recursos se utilizan muy eficientemente y a diferencia de la ineficiente Netburst no habria tantos recursos disponibles para utilizar en un segundo nucleo logico.
No estoy de acuerdo. La importancia del HT no es principalmente el aumento posible de rendimiento, sino de respuesta, y esta respuesta mejorada se notaría tanto en un procesador con muchas etapas de pipeline como en un procesador de pocas etapas.
-
No estoy de acuerdo. La importancia del HT no es principalmente el aumento posible de rendimiento, sino de respuesta, y esta respuesta mejorada se notaría tanto en un procesador con muchas etapas de pipeline como en un procesador de pocas etapas.
Bueno me estoy refiriendo al Pentium M , K8 y conroe especificamente. Si es como dices, hubiese procesadores de piepelines cortas de AMD o intel con algun tipo de optimizacion SMT. el pentium M y core solo tendrian HT y el conroe tambien. Si intel o AMD no creen que sea conveniente implementar HT en sus procesadores de pocas etapas por algo sera. Pues el aumento de respuesta es precisamente consecuencia de la capacidad para procesar varios threads simultaneamente gracias a la presencia de un segundo nucleo logico, y se logra precisamente utilzando los recursos (compartidos y particionados) de la CPU una mayor cantidad de tiempo por medio de una segunda CPU logica, HT no es muy dificil de implementar en un procesador como el P4 ya que solo es necesario aumentar la cuenta de transistores en 5% y se obtienen recursos disponibles para un segundo nucleo logico lo que aumenta como tu dices la respuesta y el rendimiento en aplicaciones SMT aware.
Por otra parte implementar HT en una CPU como el Pentium M no seria tan sencillo ya que los recursos que se asignarian a un segundo nucelo logico (particionados o compartidos) serian insuficientes porque CPUs como estas estan disenhadas para brindar el ILP mas elevado posible y no TLP, careciendo por lo tanto de capacidad para ejecutar varios threads simultaneamente produciendo el efecto similar de falta de responsividad que una CPU single core si se implementara HT en los mismos (Entonces el porque la decision de intel de NO implementar HT en sus procesadores de pipelines cortas aka Pentium M , conroe. Imagino que lo habran considerado y experimentado obteniendo resultados nada satisfactorios, al final simplemente consideraron que no valia la pena). (A diferencia de netburst que fue disenhado para altas velociades de reloj y la gran cantidad de recursos desperdiciados permiten implementar y explotar TLP).
La mejor implementacion de Multithreading en una CPU de pocas pipelines se logra con VT (Vertical threading) que es un esquema totalmente diferente a HT. Un ejemplo es el Procesador de SUN el UltraSparc T1 con solo 8 pipelines. Claro esta CPU fue disenhada desde el principio para trabajar de esta forma, claro este procesador no esta disenhado para un alto ILP si un alto TLP.
http://blogs.sun.com/roller/page/jlaudon
Para los que no entiendan mucho estos articulos sobre SMT tambien son muy interesantes
-Articulo explicativo sobre SMT, Universidad de Washington
http://www.cs.washington.edu/research/smt/papers/ieee_micro.pdf-Estudio comparativo entre CMP y SMT, articulo de la Universidad de Minnesota.
http://www.ece.umn.edu/users/rajat/SmtCmp.pdf-Efectos de las pipelines en el rendimiento SMT. Articulo de la Universidad de Hardvard.
http://www.eecs.harvard.edu/~dbrooks/lee2005-wced-pipe.pdf -
@TRISTAN_9:
Pero el problema radica también en que estás comparando procesadores sobre sistemas operativos distintos. El WinXP pide una burrada en relacion al Win98, y claro que te va a ir más lento.
La comparacion la hago con SO distintos por la simple razon de que el PIII con Win XP es muchiiiiisimo mas lento que con Win 98, Millenium o 2000. Y es obvia la razon
Por otra parte lo que quiero es rescatar un poco el HT ya que uds lo ponen como lo peor y no creo que sea asi. Me parece que mejora mucho el rendimiento de un procesador ni tampoco digo que el AMD 64 sea malo tampoco, de hecho se veria interesante la utilizacion de las 2 tecnologias en un mismo procesador, como lo seria el HT y el hiper-transport
-
Olvidas al AMD Athlon 64 X2? Creo que lo que quieres decir es que para el uso que le das no creas que sea mejor un AMD SINGLE CORE, porque un AMD64 X2 oblitera al P4 HT en multithreading incluso al pentium D. Por favor especifica.
Por supuesto que estoy hablando de single core, en todos mis post hablo de un PIII, AMD XP y P4 HT.
Yo creo que no cabe meter dual core en esta conversacion -
¡Esta publicación está eliminada! -
@sro:
La comparacion la hago con SO distintos por la simple razon de que el PIII con Win XP es muchiiiiisimo mas lento que con Win 98, Millenium o 2000. Y es obvia la razon
Por otra parte lo que quiero es rescatar un poco el HT ya que uds lo ponen como lo peor y no creo que sea asi. Me parece que mejora mucho el rendimiento de un procesador ni tampoco digo que el AMD 64 sea malo tampoco, de hecho se veria interesante la utilizacion de las 2 tecnologias en un mismo procesador, como lo seria el HT y el hiper-transport
Y entonces?? Tienes qiue comparar los mismos sistemas operarativos. Esa es la forma como se observa que una CPU es mas rapida que otra, corriendo el mismo codigo en ambos PCs, esa es la forma justa de hacerlo o NO?, es que windows XP pide mucho mas recursos que el 98 es por eso que no va a correr 4 o 5 veces mejor a simple vista en una CPU 4 o 5 veces mas rapida. Si pruebas ambas CPUs bajo las mismas condiciones vas a ver la diferencia. Comparar el rendimiento de diferentes CPUs bajo diferentes sistemas operativos (y sobretodo en dos en los cuales los requerimientos de recuersos son tan distintos) simplemente no tiene sentido. Es como si para probar una tarjeta grafica digamos una Geforce 4 MX y Una geforce 6600GT. Pruebo en la4MX HL1 y en la Geforce 6600 pruebo HL2 y mido los framerates, y digo oohh la GF4MX es mucho mas rapida que la 6600… NO TIENE SENTIDO. Incluso HL2 correra en la MX con mas framerates el HL2 que la 6600, porque la MX usa DX7 y la 6600 DX9. Claro la calidad grafica y eefectos no son comparables DX9 es mucho mas potente y exige hardware mas potente, Igualmente las posibilidades de Windows XP y Windows 98 no son comparables, Windows Xp es un sistema mucho MAS POTENTE por lo tanto exige hardware mas potente.
Nadie esta poniendo HT como lo peor. Solo que utilizar HT en procesadores altamente optimizados pata ILP no tendria efectos significartivos en comparacion con los cambios que habria que hacerle al core. HT es util en el P4 por diversas razones que ya he explicado, pero no en disenhos como K8 o el conroe.
-
Porque ya tienes dos procesadores en paralelo, por lo que los bloqueos de respuesta no se producen como en el caso de un solo procesador, y evitas así los problemas que conlleva (entre ellos, zonas de alta densidad de disipación de potencia) y el aumento de rendimiento es bastante inferior al caso de una pipeline de muchas etapas.
-
Y entonces?? Tienes qiue comparar los mismos sistemas operarativos. Esa es la forma como se observa que una CPU es mas rapida que otra, corriendo el mismo codigo en ambos PCs, esa es la forma justa de hacerlo o NO?, es windows XP pide mucho mas recursos que el 98 es por eso que no va a correr 4 o 5 veces mejor a simple vista en una CPU 4 o 5 veces mas rapida. Si pruebas ambas CPUs bajo las mismas condiciones vas a ver la diferencia. Probar ambas CPUs con diferentes cosas simplemente no tiene sentido.
Estoy completamente deacuerdo, pero como usted lo dice Win XP pide mucho mas recursos que el 98 o 2000 o etc. Es por esto que no me parece una comparacion justa. Mientras que si los comparo deacuerdo a su momento me parece un poco mas acertado. Por ejemplo, una un procesador que fue de lo mejor en su tiempo no deberia ser comparado con uno de los ultimos, en este caso algo parecido a comparar el PIII con el AMD XP, es por esto que los comparo deacuerdo a su tiempo. Es ilogico comparar un AMD 64 con un AMD X2 o un P4 con un Pentium D o un PIII con un AMD XP en forma directa. Creo que las comparaciones se deben realizar deacuerdo al fuerte de cada uno o no?
-
@TRISTAN_9:
Entonces,¿porque ahora en el Conroe no van a implantar el dichoso HT?
Eso no lo habia contemplado, sinceramente me parece que el HT no es tan bueno como se esperaba. Pero no me vas a negar que en el momento en que salio si era algo bueno
-
Porque ya tienes dos procesadores en paralelo, por lo que los bloqueos de respuesta no se producen como en el caso de un solo procesador, y evitas así los problemas que conlleva (entre ellos, zonas de alta densidad de disipación de potencia) y el aumento de rendimiento es bastante inferior al caso de una pipeline de muchas etapas.
Bueno es cierto lo que dices, eso en el caso de los XEON y PD XE. Pero en otras arquitecturas multicore como POWER5 u UltraSPARC que son multinucleos y pueden ejecutar varios threads por nucleo, SMT aumenta mucho el rendimiento lejos de mermarlo. Claro estas que menciono son arquitecturas optimizadas para TLP y no simplemente una añadidura a la arquitectuta como lo es HT, ademas utilizan sistemas operativos mucho mas eficientes que Wndows en SMT.
-
@sro:
Estoy completamente deacuerdo, pero como usted lo dice Win XP pide mucho mas recursos que el 98 o 2000 o etc. Es por esto que no me parece una comparacion justa. Mientras que si los comparo deacuerdo a su momento me parece un poco mas acertado. Por ejemplo, una un procesador que fue de lo mejor en su tiempo no deberia ser comparado con uno de los ultimos, en este caso algo parecido a comparar el PIII con el AMD XP, es por esto que los comparo deacuerdo a su tiempo. Es ilogico comparar un AMD 64 con un AMD X2 o un P4 con un Pentium D o un PIII con un AMD XP en forma directa. Creo que las comparaciones se deben realizar deacuerdo al fuerte de cada uno o no?
Pues no las comparciones se realizan con el mismo codigo, si no, no tiene sentido. Si vas a hacer esa comparacion nunca vas a encontrar lo que buscas, poruqe segun yo con un 486 DX4 de 100MHz no es mucho mas lento corriendo Windows 3.11 que un PII 400Hz corriendo windows 98. De todas maneras no tengo las mismas posibilidades con windows 3.11 que con windows 98, de la misma forma que windows 98 no me ofrece las mismas posibilidades que windows XP, osea tienes que tener en cuenta no solo el rendimiento si no las nuevas posibilidades del sistema operativo.
Y en cuanto a comprarar un X2 con un A64, bueno dile eso a Tomshardware, Anandtech , ect, ect que los comparan directamente, incluso las aplicaciones que soportan SMT, por el contrario me parece muy logica la comparacion para observar que rendimiento se esta ganando con respecto a procesadores anteriores, y esa comparacion de rendimiento solo se logra corriendo los PCs bajo LAS MISMAS CONDICIONES. -
¡Esta publicación está eliminada! -
Definitivamente estaba equivocado, me acabo de leer lo del HT en servidores y en SO que no sean XP y creo que estaba completamente equivocado. La verdad yo me basaba en hechos pero no abarcaba todos los SO y parece que es por esto que el Conroe no va a tener HT. Gracias por la aclaracion
-
@TRISTAN_9:
acaso tu actual P4HT te va cinco veces más rápido que el Athlon XP???
No va mas rapido, pero realiza varias aplicaciones sin mucha dificultad. Y como lo dije antes mi intencion no es ofender a AMD ni alabar a Intel, era solo que no me parecia la opinion de dejar al P4 por los suelos. Por supuesto que esto era antes de postear mi post anterior
-
¡Esta publicación está eliminada! -
Si , ya era sabido de los problemas de HT en servidores utilzando muchos threads. Especialmente utilzando SQL server, en que HT lejos de aumentar el rendimeinto lo merma. aparentemente es un problema con el cache compartido por ambos nucleos logicos, de tal forma que esta comparticion del cache no puede satisfacer la demanda requerida por tantos threads. Esto es un problema en servidores, mas no en desktop, en donde llos threads ejecutados no son muchos.