QuĂŁo Windows Usar processador multi-core?

Bolacha de CPU Intel

Um leitor recentemente entrou em contato conosco e fez uma pergunta que deveria ser respondida em um artigo.

Quão Windows (e possivelmente todos os sistemas operacionais) tiram proveito do kernel? Como alternativa, se essa função estiver integrada ao hardware, como o kernel pode saber qual aplicativo, quando e como? Eu acho que mais coisas são melhores, mas como isso funciona? E um /Windows melhor usar o kernel?

Quando vocĂȘ liga o computador, antes de instalar o sistema operacional, agite sua CPU e placa-mĂŁe para evitar um termo melhor. Sua CPU fornece informaçÔes especĂ­ficas da placa-mĂŁe UEFI sobre seus recursos operacionais e as utiliza para iniciar a placa-mĂŁe e o sistema de inicialização.

Na ciĂȘncia da computação, um encadeamento Ă© definido como a menor unidade de execução executada por um timer do SO. Se vocĂȘ quiser fazer uma analogia, poderĂĄ comparar as matrizes com uma etapa na linha de montagem. Um passo acima do segmento, existe o processo. Um processo Ă© um programa de computador executado em um ou mais threads. Nesta analogia de fĂĄbrica, o processo Ă© todo o processo de produção do produto e o fio Ă© o negĂłcio.

Problema: A CPU pode executar apenas um encadeamento por vez. Cada processo requer pelo menos um encadeamento. Como melhoramos o desempenho do computador?

Solução: o relógio da CPU é mais råpido.

Durante anos, a Dennard Scaling sempre foi um presente. A lei de Moore afirma que podemos colocar transistores em åreas cada vez menores, mas a Dennard Scaling é o que lhes permite atingir velocidades de clock mais altas e velocidades mais altas em tensÔes mais baixas.

Se o computador estiver executando rĂĄpido o suficiente, Ă© um problema que mais de um thread nĂŁo possa ser processado ao mesmo tempo. Embora existam vĂĄrios problemas que nĂŁo podem ser calculados em menos do que a vida Ăștil esperada de um computador convencional, muito, muito, muito problemas que podem ser tratados dessa maneira.

À medida que os computadores ficam mais rĂĄpidos, os desenvolvedores criam software mais complexo. A forma mais simples de multiencadeamento Ă© o mĂ©todo grosso de multithread no qual o sistema operacional muda para um thread diferente do que esperar pelos resultados do cĂĄlculo. Isso foi particularmente lento na dĂ©cada de 1980, quando os relĂłgios da CPU e RAM começaram a se separar, as velocidades da memĂłria e as larguras de banda diminuĂ­ram significativamente em relação Ă s velocidades do clock da CPU. A visualização em cache significa que a CPU pode conter um pequeno conjunto de instruçÔes para destruição imediata, enquanto vĂĄrias leituras garantem que a CPU esteja sempre conectada.

Coisas importantes: tudo o que mencionamos atĂ© agora se aplica a uma CPU de nĂșcleo Ășnico. Hoje, os termos multiencadeamento e multiprocessamento costumam ser usados ​​para significar o mesmo significado, mas isso nem sempre acontece. Multiprocessamento simĂ©trico e multiprocessamento simĂ©trico sĂŁo duas coisas diferentes. Simplificando:

SMT = A CPU pode executar vĂĄrios threads simultaneamente, agendando um segundo thread que possa usar unidades de execução que nĂŁo sĂŁo usadas pelo primeiro thread. A Intel chama isso de Hyper-Threading Technology, e a AMD apenas SMT. Atualmente, a AMD e a Intel estĂŁo usando o SMT para melhorar o desempenho da CPU. Ambas as empresas historicamente o usam estrategicamente, oferecendo-o em alguns produtos, nĂŁo em outros. Atualmente, a maioria das CPUs de ambas as empresas oferece SMT. No sistema do usuĂĄrio, este Ă©, por exemplo, o nĂșcleo da CPU * 2 isso significa que vocĂȘ tem suporte para threads ou 8C / 16T.

Ensino fundamental = MĂșltiplas operaçÔes de simetria. A CPU contĂ©m vĂĄrios nĂșcleos da CPU (ou usa uma placa-mĂŁe com vĂĄrios soquetes). Cada nĂșcleo da CPU executa apenas um encadeamento. O nĂșmero de threads que vocĂȘ pode executar por hora Ă© limitado pelo nĂșmero de nĂșcleos que vocĂȘ possui. EstĂĄ escrito como 6C / 6T.

Hiper thread "width =" 640 "height =" 448

O Hyper-Threading geralmente Ă© positivo para os chips Intel.

VĂĄrios encadeamentos no contexto de um Ășnico nĂșcleo: "Sua CPU pode executar vĂĄrios encadeamentos ao mesmo tempo?" Em vez de "Qual a velocidade da sua CPU se mover entre os threads?"

"Seu sistema operacional pode executar vĂĄrios aplicativos simultaneamente sem travar?" tambĂ©m Ă© uma situação solicitada com frequĂȘncia.

Otimização de carga e sistema operacional

CPUs modernas, incluindo o chip x86 construĂ­do hĂĄ 20 anos, implementam o que Ă© conhecido como Execução Corrupta ou OoOE. Todos os nĂșcleos modernos de CPU de alto desempenho, incluindo grandes smartphones "smartphones". Um pouco, design OoOE. Essas CPUs reorganizam suas instruçÔes em tempo real para obter o melhor desempenho.

A CPU implementa o cĂłdigo que o sistema operacional envia para ele, mas o sistema operacional nĂŁo tem nada a ver com a execução real do fluxo de comandos. Isso Ă© feito internamente pela CPU. Os modernos processadores x86 reorganizaram suas instruçÔes e transformaram suas instruçÔes x86 em micro-ops menores, como o RISC. A descoberta do OoOE ajuda os engenheiros a garantir um certo nĂ­vel de desempenho sem depender dos desenvolvedores para escrever um cĂłdigo perfeitamente perfeito. Permitir que a CPU redefina suas instruçÔes ajuda no desempenho multithread, mesmo em um contexto de nĂșcleo Ășnico. Lembre-se de que as CPUs sempre alternam entre tarefas, mesmo que nĂŁo percebamos.

No entanto, a CPU nĂŁo se agenda. Depende totalmente do sistema operacional. A aparĂȘncia de uma CPU multithread nĂŁo a altera. Quando a primeira placa do processador para dois usuĂĄrios (ABIT BP6) saiu, o ventilador multi-core Windows NT ou Windows 2000. A famĂ­lia Win9X nĂŁo suporta renderização em vĂĄrias cores.

O suporte Ă  execução em vĂĄrios nĂșcleos da CPU exige que o sistema operacional execute todo o gerenciamento de memĂłria e alocação de recursos que usa para impedir que diferentes aplicativos interrompam o sistema operacional, e controladores adicionais estĂŁo disponĂ­veis para impedir que a CPU se deslize uma na outra.

Os processadores multicore modernos nĂŁo tĂȘm uma "unidade de timer mestre" que atribui tarefas a cada nĂșcleo ou distribui cargas de trabalho. Esse Ă© o papel do sistema operacional.

VocĂȘ pode configurar manualmente Windows Como usĂĄ-lo melhor

Como regra geral, nĂŁo. Existem alguns casos especiais Windows ele precisa ser atualizado para aproveitar os novos recursos da CPU, mas isso Ă© sempre algo que a Microsoft deve fazer.

Existem muitas exceçÔes a essa política, mas existem algumas exceçÔes:

Às vezes, as novas CPUs exigem atualizaçÔes do sistema operacional para aproveitar ao mĂĄximo os recursos de hardware do sistema operacional. Nesse caso, se vocĂȘ nĂŁo pretende instalar a atualização manualmente, nĂŁo hĂĄ realmente nenhuma opção manual.

O AMD 2990WX é uma exceção a esta política. CPU de baixo desempenho Windows porque a Microsoft não considera ter uma CPU com vårios nós NUMA e não usa os recursos 2990WX corretamente. Em alguns casos, existem maneiras de melhorar o desempenho do 2990WX através da distribuição manual, mas eu recomendo mudar para o Linux para o problema geral, se houver.

Even 3990X Mais teoria contrĂĄria. Porque Windows Ao limitar 10 grupos de processadores a 64 threads, nĂŁo Ă© possĂ­vel alocar mais de 50% do recurso do aplicativo 3990X a uma carga de trabalho, a menos que o aplicativo aplique o tempo personalizado. É por isso que o 3990X nĂŁo Ă© realmente recomendado para a maioria dos aplicativos – ele funciona melhor com renderizadores e outros aplicativos profissionais que dĂŁo esse passo.

Exceto pelo sistema de contagem principal mais alto, em que algumas configuraçÔes manuais podem teoricamente melhorar o desempenho, a Microsoft nĂŁo otimizou realmente esse caso de uso. NĂŁo, nĂŁo hĂĄ nada que vocĂȘ possa fazer para otimizĂĄ-lo. Windows Divida a carga de trabalho. Honestamente, vocĂȘ realmente nĂŁo quer estar lĂĄ. Os usuĂĄrios finais nĂŁo precisam se preocupar em ajustar manualmente os encadeamentos para obter melhor desempenho, pois a configuração ideal variarĂĄ dependendo da tarefa processada pela CPU em um determinado momento. A tendĂȘncia de longo prazo no design da CPU e do sistema operacional Ă© a colaboração mais estreita entre a CPU e o sistema operacional para facilitar o gerenciamento de energia e o modo turbo.

Nota do editor: Obrigado a Bruce Borkosky pelas sugestÔes de artigos.

Leia agora: