Cuál es la diferencia entre thread y core.

Tema en 'Procesadores [CPU] y Disipadores' iniciado por natasho, 5 Ene 2017.

  1. natasho

    natasho New Member

    Registrado:
    22 Mar 2015
    Mensajes:
    343
    Me Gusta recibidos:
    64
    Puntos:
    0
    Ubicación:
    Uruguay
    Tengo una duda rebuscada de esas que a veces se me vienen por sorpresa y me gustaría poder aclararla y no se me ocurre mejor lugar para preguntar que acá.

    Quisiera saber cuál es la diferencia práctica entre thread y core. Puede parecer algo básico pero es algo que nunca llegué a entender del todo bien.

    Imaginemos un procesador de 8 núcleos con 1 hilo por núcleo, y otro procesador de 4 núcleos con 2 hilos por núcleo. Imaginemos además que el rendimiento total de estos procesadores (con todos los núcleos/hilos activos al 100%) es idéntico.
    ¿Cuál sería la diferencia? ¿Cuál sería mejor procesador?

    Capaz que lo que pregunto es una estupidez pero me gustara saberlo! Saludos!
     
    Ofertas volátiles y con poco stock:

    Hilo Ofertas GearBest Ofertas Amazon Hoy Ofertas Aliexpress Hoy Ofertas Ebay Hoy Reacondicionados Ofertas PCC Hoy
  2. ASCII

    ASCII Usuario .::VIP::. <br> Diagnostico y Reparacion <b

    Registrado:
    15 Sep 2013
    Mensajes:
    3.186
    Me Gusta recibidos:
    1.813
    Puntos:
    113
    Ubicación:
    valencia
    Ni la cantidad de hilos ni la de cores dice absolutamente nada a favor de uno u otro, debes medir el poder de un procesador con programas espeficicos llamados benchmarks

    Por ejemplo tienes el AMD FX6000 con 6 nucleos y el i5 con 4 nucleos y el i5 es mas potente

    Tambien debes tener en cuenta el tipo de aplicacion que usas, el tema de los threads es vital pero por parte del software, el hardware es secundario. Me explico, por ejemplo los programas de edicion o o codificacion de audio solo funcionan en un solo thread y por ejemplo los de video estan programados para usar todos los disponibles, a esto se le llama "estar bien paralelizados" por su capacidad de usar muchos nucleos en paralelo

    Normalmente los programas que solo aprovechan 1 solo thread se suelen ejecutar mejor en procesadores con pocos nucleos por el simple hecho de que estos procesadores suelen tener frecuencias mas elevadas y su poder por cada thread es mayor (luego te explico por que) sin embargo en software bien parelelizado es mas rentable muchos nucleos o threads por que sale mejor asi

    El motivo de esto es que por las leyes de la fisica del material que forma los procesadores (silicio) se da el caso que a mayores frecuencias aumenta mucho el calor y la energia consumida, es mucho mas "manejable" un procesador de 12 nucleos a 2'8Ghz que un procesador de 4 nucleos a 5Ghz, y como comprenderas si haces una regla de tres el procesador de 12 nucleos "tiene mas Ghz globales" que el de 4 nucleos

    A nivel de software no se distingue entre thread y core, para un programa es exactamente lo mismo un procesador con 4 nucleos fisicos y 4 logicos (un i7 por ejemplo) que un procesador con 8 nucleos fisicos (un FX8320 por ejemplo), cuando un programador tira a crear un programa y lo hace compatible multicore (paralelizado que te decia) le es imposible distinguir entre un nucleo o un thread. Este tema se trata (creo) a nivel de hardware de muy bajo nivel y ni tan siquiera windows es capaz de asignar tarea a nivel de thread o de nucleo, de esto ya se encarga la propia logica interna del procesador

    No soy experto en arquitecturas de CPU, solo soy un aficionado al tema y esto que te explico es un poco a grandes rasgos pero espero que te hayas podido hacer una idea y haberte aclarado un poco las duda

    Saludos Natasho
     
    natasho, rct, Azofaifo y 3 otros les gusta esto.

Compartir esta página