Os múltiplos núcleos na CPU afetam quantos programas eu posso executar?

0

Eu tenho dúvidas sobre vários núcleos na CPU. Digamos que eu esteja trabalhando em alguns programas ao mesmo tempo, por exemplo: - Photoshop - Autodesk Maya - Estúdio visual - Unreal Engine

Se eu tivesse mais núcleos em minha CPU, isso significaria que esses programas teriam um desempenho mais rápido (como cada núcleo de um programa, etc.)

    
por charlie 19.10.2014 / 03:49

2 respostas

4

Os sistemas operacionais usam o conceito de processos e threads para executar programas.

Quando você carrega um programa, um processo é criado. O processo tem sua própria memória e credenciais e esse processo só pode ler / gravar em sua própria memória e fazer através do kernel, independentemente de suas credenciais.

Em um único sistema de CPU, o SO passa por cada processo em execução e fornece uma parte do tempo de CPU, round robin. Apenas um processo realmente é executado em um determinado instante de tempo. (Se um processo está esperando ou "bloqueado" para E / S, uma condição muito comum, ele é ignorado.)

Um processo pode dividir parte de si mesmo como um segmento. Essencialmente, são duas partes de um único processo que tem dois turnos separados na CPU (todos os processos que "vivem" no processo e podem ver sua memória).

Um processo também pode

  • gera outro processo novo e separado - isto é, carrega um programa separado. O Windows Explorer gera processos quando lança programas.
  • bifurcar outro processo - por exemplo, criar uma cópia de si mesmo, como um processo separado (não um thread) - isso é comum em sistemas operacionais Unix / Linux.

Se houver mais de um núcleo de CPU, enquanto um processo começa em um único núcleo, o sistema operacional pode colocar seus segmentos em outros núcleos e, se o processo gerar ou forjar outros processos, ele poderá colocá-los em outros núcleos. processo pai.

O sistema operacional gerencia quais núcleos ele usa e pode até mesmo migrar transparentemente processos para CPUs diferentes de tempos em tempos para manter as coisas balanceadas. No Windows e, provavelmente, no Linux, você pode fixar "afinidade" com a CPU, para que ela permaneça apenas em núcleos específicos, se você quiser.

Portanto, se o aplicativo gerar threads e / ou processos para realizar seu trabalho, ele se beneficiará de vários núcleos de CPU. Se isso não acontecer, esse programa específico não. Seu sistema operacional ainda estará atribuindo outros programas a outros núcleos, portanto, isso pode significar que outros programas terão menos impacto em seu programa de processo único de encadeamento único.

    
por 19.10.2014 / 04:13
1

Depende se o aplicativo faz uso dos núcleos. Para renderizar como os programas que você listou, então sim, esse tipo de aplicativo deve usar a maioria dos núcleos, para que o programa funcione mais rápido. Ele compartilha a carga em todos os núcleos usados.

Se você estiver executando várias tarefas com vários processadores em vários aplicativos de uma vez, isso acelerará as coisas (desde que você tenha RAM suficiente para isso).

(like each core for one program, etc.)

Mais como todos os programas espalhados por todos os núcleos.

No entanto, os jogos (os modernos) utilizam apenas cerca de 4 núcleos, e muito menos os jogos mais antigos, portanto, usar mais núcleos não fará diferença.

Portanto, resumindo: Os núcleos de processador extras só melhorarão o desempenho do sistema em aplicativos pesados que suportam o uso de vários núcleos. Núcleos extras também aumentarão a multitarefa. Para tornar um sistema mais leve (aplicações menores, como navegação na web), você precisa de uma velocidade de clock maior.

    
por 19.10.2014 / 03:59

Tags