Como o windows desempenho é afetado por hardware & software

Com todos os avanços na tecnologia de computação, pode ser difícil manter-se atualizado. O jargão jogado em torno de associados de vendas na compra de um novo dispositivo raramente ajuda e parece que aqueles que estão a empurrar-lo para um computador específico não entendo como computação de 64-bit obras ou beneficia o usuário além da capacidade de acesso mais RAM.

Neste artigo, vamos olhar para a forma como o sistema operacional e software aplicativo escolhido para ser executado em um sistema de 64 bits, bem como algumas características do próprio processador, afetar o desempenho geral do computador.

Processador e sistema operacional

Quase todos os PCs no mercado hoje são o transporte com processadores de 64 bits ea maioria das pessoas já tem um versão do Windows de 64 bits pré-instalado nele. Este emparelhamento é crítico quando você quiser tirar o melhor proveito do seu sistema de desempenho. Embora seja possível instalar um sistema operacional de 32 bits em um computador de 64 bits, você iria perder os benefícios adicionais do hardware.

Quando você instala um sistema operacional de 32-bit em um computador de 64 bits, o efeito é uma conversão instantânea de um processador de 64 bits para um processador de 32 bits.

  • Todas as instruções de nível processador está limitado a usar registos de 32 bits, portanto, todas as funções matemáticas nativas são igualmente limitados em relação à sua gama e precisão.
  • A quantidade de memória física que pode ser acedido a 4 gotas GB, mesmo se houver mais memória instalada.
  • Equipamento de memória como a memória de vídeo irão consumir uma porção da memória endereçável em vez de ser movida para cima ou tendo RAM mapeado de novo em torno dos endereços de memória de hardware.
  • Todos os outros softwares que você deseja executar no sistema deve ser de 32 bits e será limitado por estes mesmos parâmetros.

Essa é a melhor razão para garantir que você está usando um sistema operacional de 64 bits em qualquer computador que tenha um processador de 64 bits.

capacidades do processador

Além emparelhando um sistema operacional apropriado com o hardware, elementos do design da CPU estão afetando o desempenho do sistema. O número de núcleos disponíveis para fazer o processamento é um dos grandes.

Single e múltiplos núcleos

Cerca de duas décadas atrás, quase todos os computadores vendidos aos consumidores usado processadores com um único núcleo de processamento no pacote. Com este tipo de design, isso significava que o computador só pode executar uma única instrução de cada vez e o sistema operacional só poderia atribuir um único segmento de execução para o processador de cada vez.

desmantelamento de idade por computador

Hoje em dia, uma única bolacha de silício pode ter 2, 4, ou mais núcleos em que o pacote e pode ter mais do que um chip. Ao colocar mais do que um único núcleo no encapsulamento do processador, o sistema operacional vê cada núcleo como um processador individual em que ele pode atribuir threads do processo, e cada núcleo funciona independentemente dos outros. Assim, numa quatro núcleos sistema, o computador pode executar quatro instruções simultaneamente - uma em cada núcleo.

Ligar núcleos com Hyperthreading

Em 2002, a Intel empurrado para fora A tecnologia Hyper-Threading o que torna o sistema operacional "ver" dois processadores lógicos para cada núcleo de processamento no chip. Ele funciona por ter dois conjuntos distintos de dados do estado do processador, uma para cada processador lógico, e um único núcleo de execução compartilhada. Isso permite que o sistema operacional para atribuir um segmento de execução para cada processador lógico que é manter seus próprios dados de estado. Quando uma linha é bloqueada porque está à espera de dados ou outro recurso, o outro processador lógico pode usar o núcleo de execução para o seu processamento, a não ser que também é, de um estado de espera. ganhos de desempenho usando esta tecnologia tendem a variar de 15 a 30 por cento.

4ª Geração Intel® Core ™ i7 dianteira e traseira

Isso não significa que um processador quad-core é duas vezes mais rápido que um processador dual-core rodando com a mesma velocidade de relógio em uma determinada situação ou que um processador Intel com hyperthreading terão um desempenho melhor do que uma sem a tecnologia. Certos fatores de software pode anular completamente a existência de núcleos de processamento adicionais.

Impacto do Software Aplicativo

Então, agora que você decidiu começar um novo 64-bit processador Intel dual-core com hyperthreading e emparelhá-lo com uma versão do Windows de 64 bits, você vai ter o melhor desempenho possível, certo? Bem, talvez.



Embora os sistemas operacionais modernos podem tirar proveito de todo o hardware tem para oferecer, o software aplicativo que você está usando não pode, especialmente software legado.

Os processadores mais antigos de núcleo único que eu mencionei acima só poderia manipular o processamento de um único segmento de cada vez. Grande parte da programação feita naquela época foi escrito para usar apenas um único segmento. Usando esse software em um sistema multi-core ainda vai resultar em-lo usando apenas um núcleo para esse segmento. É por isso que você pode ver um sistema quad-core rodando a carga de 25% no Gerenciador de tarefas com um único núcleo com uma utilização de 100% e os outros três núcleos aparentemente ociosas. A carga de trabalho não é se espalhar.

processador de uso

A fim de tirar proveito de todos os núcleos de processamento em um sistema, o software deve ser projetado com processamento paralelo e multithreading em mente. A idéia aqui é para quebrar o problema em componentes discretos que podem ser concluídas independentemente um do outro para que o computador pode concluir cada tarefa em núcleos separados simultaneamente. Isto pode reduzir o tempo necessário para gerar o resultado desejado. Isso também significa que um fio para a interface de usuário não travar quando processamento pesado de outros segmentos está acontecendo em outros núcleos.

Mesmo que um programa foi concebido com multithreading em mente, ainda há a possibilidade de que algumas de suas funcionalidades não pode ser paralelizado. Um exemplo disto é a aplicações Microsoft Office que usam Visual Basic para as macros (VBA). A macro de longa duração é provável que consomem um núcleo inteiro até que ele termine. Uma vez que um computador não pode determinar automaticamente se uma macro pode ser paralelizado, ele simplesmente não tentar fazê-lo.

Melhorar o desempenho de-thread único Apps

Se você deve usar aplicativos legados single-threaded, especialmente se você precisa executar os múltiplos simultaneamente, a sua melhor aposta para um melhor desempenho é definir a afinidade do processador para eles. Isto irá forçá-los apenas para usar núcleos de processamento específicas. Ao fazer isso, você pode garantir que, mesmo que eles podem consumir o poder de processamento de um núcleo inteiro, eles não vão estar fazendo isso no mesmo núcleo, fazendo com que os processos a demorar mais para concluir que o absolutamente necessário.

Com o Windows, você pode definir a afinidade abrindo o Gerenciador de Tarefas, direito, clique no nome do processo, selecione Definir Afinidade ... no menu de contexto, desmarque as caixas de seleção para todos os processadores que não deseja-se usar, em seguida, clicando em Está bem.

processador de afinidade

Você também pode fazer isso a partir da linha de comando usando o sinalizador / afinidade do comando de partida.

iniciar / afinidade 2 notepad.exe

Note-se que o número do processador usado com a bandeira de afinidade é baseada em 1 enquanto é baseado em zero quando se olha para o Gerenciador de tarefas de modo que este iria começar o bloco de notas na CPU 1.

A funcionalidade similar existe para usuários de Linux com o comando taskset. É parte do pacote util-linux e faz parte da instalação padrão da maioria das distros. Se não estiver atualmente em seu sistema, você pode instalá-lo com

sudo apt-get install util-linux


para distribuições Debian-based ou

sudo yum install util-linux

para sistemas baseados em Red Hat.

Para usar o comando para iniciar vlc na CPU 2, você usaria

taskset -c 2 vlc

Para alterar a afinidade para um processo que já está em execução com um ID de processo (PID) de 9021 para usar CPU 4 e 5, você usaria

taskset -cp 4,5 9021

O outro fator com as aplicações é o comprimento de palavra. Enquanto um aplicativo de 32 bits pode ainda armazenar e manipular os dois números de 64 bits inteiros e de ponto flutuante, isso deve ser feito através de bibliotecas "big matemática" que levam mais tempo para realizar o trabalho de um processador de 64 bits fazer os mesmos cálculos nativamente . Se um aplicativo requer o grande alcance e maior precisão oferecida por números de 64 bits, ele será sempre mais eficiente de usar aplicativos de 64 bits para a tarefa.

Com algum software, não importa muito se é 32-bit ou 64-bit. Um navegador da Web de 32 bits vai funcionar muito bem para a maioria das pessoas. Com o uso normal, não deve exigir montes de memória, mesmo que você gostaria de ter dezenas de abas abertas. Ele será facilmente usar vários segmentos através de seus processadores físicos e lógicos e não deve acabar CPU-bound. O mesmo se aplica para a maioria das tarefas de processamento de texto. Mas se você vai ser fotografia ou edição de vídeo, transcodificação, executando o software de modelagem ou fazendo outras tarefas de uso intensivo da CPU, ou trabalhar com grandes conjuntos de dados, você pode esperar mais tempo do que o necessário, sem software de 64-bit de vários segmentos.

The Take final

Então, qual é a melhor opção? Melhor resposta: depende.

Se você sabe que vai estar executando uma planilha do Excel em seu sistema que usa macros VBA de longa duração, você seria melhor fora com um sistema dual-core rodando a 3 GHz ao invés de um quad-core rodando a 2.2 GHz, mas se você estiver constantemente saltando entre vários programas multithread ao fazer o seu trabalho de computador ou jogar, o inverso é verdadeiro.

Enquanto generalizações não provar-se em todos os casos, o melhor desempenho de computação de desktop de hoje irá utilizar processadores multi-core de 64 bits executando um sistema operacional de 64 bits moderna e aplicativos de 64-bit de vários segmentos para as tarefas mais exigentes.

Que tipo de experiências você teve com o desempenho de 64 bits? Você tem software de 32 bits que supera sua contraparte de 64 bits ou não há diferença perceptível entre eles? Deixe-nos saber nos comentários abaixo.

» » Como o windows desempenho é afetado por hardware & software