
Muitas vezes consigo encontrar benchmarks que comparam o desempenho em determinadas tarefas, como jogos (quadros por segundo). No entanto, há muito tempo desejo usar meus múltiplos núcleos para alternar rapidamente entre aplicativos. Eu entendo o conceito de que as CPUs entendem apenas instruções, não programas.
Por favor, considere essas perguntas como um pedido de conhecimento técnico, e não como conselhos ou recomendações sobre qualquer opção de compra de HW ou SW, o que está fora do tópico deste fórum. Também notei mal-entendidos sobre o que estou perguntando. Quando isso acontecer, será possível adicionar um adendo à minha postagem. Agora, de volta às minhas perguntas reais que são o foco principal desta postagem.
Dito isto, teoricamente, diferentes janelas executando aplicativos diferentes deveriam ser capazes de fazer o que tenho em mente. Um exemplo vem à mente: a virtualização. Se eu adquirir um VPS com 2 CPU's terei acesso exclusivo a 2 CPU's físicos? Este é apenas um exemplo de por que parece teoricamente possível. Eu reconheço o problema do cache L2 e L3 compartilhado, bem como do Ram.
Eu descobri o conceito de afinidade de CPU. Meu objetivo como profissional de software/hw é ser mais produtivo quando preciso usar vários aplicativos simultaneamente quando trabalho. Quando me formei em engenharia da computação em 1989, nossos aplicativos enviavam interrupções exigindo que o estado do computador fosse salvo na RAM e depois alterando tarefas/programas e depois carregando o aplicativo original e retomando.
O que seria desejável é abrir o Photoshop em uma janela e, quando eu passar para o meu IDE de codificação, o Photoshop continua rodando no núcleo 1, não sendo afetado por outro aplicativo. Até certo ponto, isso pode ser difícil de conseguir, pois sempre há 10 ou 100 aplicativos em segundo plano (aplicativos daemon no Linux) em computadores com CPUs com 8 núcleos, por exemplo.
Com isso em mente, seria desejável conceder de alguma forma a um aplicativo acesso exclusivo a pelo menos um núcleo, para que os aplicativos em segundo plano não fizessem com que a janela do Photoshop exibisse "não respondendo". Encontrei um aplicativo de software que aborda a afinidade de aplicativos e usa IA/aprendizado de máquina para melhorar. Ainda não explorei o controle manual disso, onde poderia designar que uma janela deveria ter controle exclusivo de um núcleo da CPU e nenhum outro thread poderia interrompê-la.
Da mesma forma, há um problema que não sei como resolver. O Google Chrome abre um novo processo no sistema operacional Windows (outros sistemas operacionais também, imagino). E trocando de abas eu vejo muitas vezes nas CPUs mais recentes. Existe alguma maneira de resolver isso?
Obrigado,
Bruce
Responder1
Você não pode controlar os núcleos da CPU assim. CPUs modernas juntamente com o uso do sistema operacionaltópicos. Você pode configurar, iniciar e parar threads e então deixar o sistema operacional.
Suponho que você poderia criar seu próprio sistema operacional a partir doDocumentação Intel