Melhor resposta
A Intel fabrica processadores que normalmente atendem a quase todos os segmentos do mercado, desde soluções ultramóveis a high-end servidores e núcleos de supercomputadores. Com base na capacidade de computação bruta e na indústria que necessita do uso desses produtos, os processadores Intel podem ser classificados, aproximadamente, nas seguintes famílias:
- Processadores de baixo consumo de energia (alta eficiência)
- Intel Core M series
- Processadores Intel série Y
- Processadores Intel Atom series
- Processadores da série Intel Pentium
- Processadores da série Intel Core i
- Intel da série Xeon processadores
- processadores da série Intel Itanium
- coprocessadores Intel Xeon da série Phi
Computação feliz!
Resposta
Algo a saber é um processador só pode fazer uma coisa de cada vez . Para fazer as coisas acontecerem em um período de tempo razoável, as tarefas compartilham o tempo de CPU, como threads em alguma forma de agendamento seja, por exemplo, FIFO (primeiro a entrar, primeiro a sair) , round robin (cada processo atribuído a uma quantidade fixa de tempo antes de ser desativado e o próximo processo acontecer e assim por diante) ou FCFS (primeiro a chegar, primeiro a ser servido) e mais, que têm sua utilidade em diferentes circunstâncias. Portanto, os processos acontecem ao longo de um período de tempo, e isso pode até ser milissegundos ou mais rápido, indistinguíveis para o usuário real. Com vários núcleos (e, portanto, vários processadores), você pode fazer mais de uma coisa por vez.
Um aplicativo quase sempre faz mais de uma tarefa de uma vez (coisas que você nem mesmo vê) mais provavelmente 10 ou 100, por exemplo, pegar coisas dentro e fora da memória RAM, obter entrada do usuário, exibir as alterações na tela etc. Para um exemplo muito simples, digamos que você está renderizando e rolar pela filmagem (ou reproduzi-la) ao mesmo tempo. Em vez de a CPU programar essas tarefas em um núcleo para que aconteçam ao longo de algum tempo, o sistema operacional pode atribuir as duas tarefas a núcleos totalmente diferentes para que realmente fazer acontecer ao mesmo tempo, então nenhum agendamento é necessário (sem troca de contexto) e isso é mais eficiente. Claro que é improvável que você seja capaz de dizer a diferença, a menos que seja algo como um benchmark ou uma renderização (onde é cronometrado), mas isso é tudo.
No mundo real, você terá tantas coisas acontecendo ao mesmo tempo que você realmente nunca terá apenas uma tarefa acontecendo. Mesmo que pareça apenas uma tarefa para o usuário, ela é composta de várias tarefas menores (threads), que serão agendadas entre os núcleos de alguma forma. Você pode abrir seu Gerenciador de Tarefas (se estiver no Windows) para ver que o sistema operacional raramente (ou nunca) usa apenas 100\% de um núcleo e você provavelmente verá o uso uniforme em todos os núcleos quase o tempo todo – porque é muito mais rápido do que ter todas essas tarefas alternando o tempo em um núcleo.
Observe na imagem que existem 50 processos que são basicamente os programas (ou aplicativos), consistindo de 799 tópicos (estes são as tarefas sobre as quais falamos, que mudam para dentro e para fora do tempo do processador) ocorrendo simultaneamente em todos os 12 núcleos. Observe como o uso não é distribuído de forma totalmente igual, já que as threads são obviamente tratadas de maneira diferente, dependendo do tipo de tarefa e do tipo de programação que recebem, então pode haver um caso em que um processador pode estar trocando quando um ainda está processando terminou em alguns núcleos e os threads restantes estão sendo concluídos em outros núcleos, etc.
Os manipuladores são referências que os threads têm para objetos / informações / recursos como um arquivo, janela, local de memória etc.