O que significa "thread" como relacionado a CPUs? [duplicado]

2

Eu sei que um processo pode ter vários threads, na minha máquina com Windows 7, cada processo tem mais de 10 threads em média.

Mas o que significa thread em termos de CPUs? Aqui ele diz que minha CPU tem 4 CPUs e 8 threads. Quando abro meu gerenciador de tarefas, vejo o uso de cada um dos 8 encadeamentos, mas o que é um encadeamento?

    
por JohnnyFromBF 28.09.2011 / 18:35

2 respostas

0

A Intel está falando sobre algo diferente dos threads normais do processo.

Eles estão falando sobre a tecnologia " Hyper-Threading " que permite que os núcleos na CPU executem cada um o trabalho de (quase) dois.

Hyper-threading works by duplicating certain sections of the processor—those that store the architectural state—but not duplicating the main execution resources. This allows a hyper-threading processor to appear as two "logical" processors to the host operating system,

(Wikipedia)

Hyper-Threading … delivers two processing threads per physical core.

( Intel )

    
por 28.09.2011 / 19:10
1

Como a wikipedia tem "Na ciência da computação, um thread de execução é a menor unidade de processamento que pode ser agendada por um sistema operacional. A implementação de threads e processos difere de um sistema operacional para outro, mas na maioria dos casos, um thread está contido em um processo. Vários threads podem existir dentro do mesmo processo e compartilhar recursos como memória, enquanto diferentes processos não compartilham esses recursos.Em particular, os threads de um processo compartilham as instruções do último (seu código) e seu contexto (os valores que suas variáveis referência a qualquer momento.) Para dar uma analogia, vários threads em um processo são como vários cooks lendo o mesmo cookbook e seguindo suas instruções, não necessariamente da mesma página. "

Fonte: Wiki

Para multithreading como envolvido aqui

"Computadores multithreading têm suporte de hardware para executar eficientemente vários threads. Eles são diferenciados dos sistemas de multiprocessamento (como sistemas multi-core) em que os threads precisam compartilhar os recursos de um único núcleo: as unidades de computação, os caches da CPU e o buffer de lookaside de tradução (TLB) Onde sistemas de multiprocessamento incluem múltiplas unidades de processamento completas, o multithreading visa aumentar a utilização de um único núcleo usando o nível de thread e o paralelismo de nível de instrução. combinados em sistemas com múltiplos CPUs multithreading e em CPUs com múltiplos núcleos multithreading. "

Fonte: Wikipedia

Uma explicação bastante simples aqui, em termos de arquitetura de computadores, eu posso entrar em mais detalhes se você perguntar!

    
por 28.09.2011 / 18:40