Buscar

Unid_IV_-_2_Componentes_do_computador_-_Processador

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Componentes do computador
*
*
O Processador (CPU)
*
*
A CPU e o barramento de sistema
*
*
CPU
*
CPU
Registrador
 de 
dados
Registrador 
de 
Endereço
Memória 
principal
*
*
ALU
*
*
Unidade de controle
*
*
Unidade de controle
Um programa é constituído de uma seqüência de passos. A cada passo, alguma operação lógica ou aritmética é executada sobre algum dado. 
Cada código corresponde a uma instrução; uma parte do hardware interpreta essas instruções e gera os sinais de controle correspondentes.
Unidade de controle
*
*
Unidade de controle
Do registrador 
de estado
*
*
CPU
*
*
Registradores
Os registradores da CPU têm duas funções:
• Registradores visíveis para o usuário: possibilitam ao programador de linguagem de montagem ou de máquina minimizar referências à memória, pela otimização do uso de registradores.
• Registradores de controle e de estado: são usados pela unidade de controle para controlar a operação da CPU e por programas privilegiados do sistema operacional para controlar a execução de programas.
Não existe uma separação clara entre os registradores dessas duas categorias. 
*
*
Registradores
Registradores visíveis para o usuário
Um registrador visível para o usuário é aquele que pode ser referenciado pela linguagem de máquina que a CPU executa. 
Esses registradores podem ser classificados nas seguintes categorias:
• Registradores de propósito geral
• Registradores de dados
• Registradores de endereço
• Registradores de códigos de condição.
*
*
Registradores
Registrador de estado
Todo projeto da CPU inclui um registrador, ou conjunto de registradores, freqüentemente conhecido como palavra de estado de programa (PSW), que contém informação de estado. 
Tipicamente, o registrador PSW contém códigos de condição e outras informações de estado, incluindo os seguintes campos:
• Sinal: contém o bit de sinal do resultado da última operação aritmética.
• Zero: atualizado com valor 1 se o resultado da última operação for 0.
• 'Vai-um': atualizado com valor 1 se uma operação resultar em um 'vai-um' para fora do bit de ordem superior (adição) ou em um 'vem-um' para o bit de ordem superior (subtração). É usado por operações aritméticas de múltiplas palavras.
• Igual: atualizado com valor 1 se uma comparação lógica resultar em igualdade.
• Overflow: usado para indicar overflow aritmético.
• Habilitar/desabilitar interrupção: usada para habilitar ou desabílitar interrupções.
• Supervisor: indica se a CPU está executando em modo supervisor ou em modo de usuário. 
Certas instruções privilegiadas apenas podem ser executadas no modo supervisor, assim como certas áreas de memória apenas podem ser acessadas no modo supervisor.
*
*
Técnicas para aumentar o desempenho da CPU
*
*
Clock
*
*
Transistores microscópicos
Os circuitos dos processadores são formados por transistores microscópicos. A cada dois anos, aproximadamente, os fabricantes de processadores adotam métodos de fabricação que resultam em transistores 30% menores. Com reduções neste ritmo, em quatro ou cinco anos os transistores ficam duas vezes menores. Graças à miniaturização é possível criar chips cada vez mais sofisticados, usando um número cada vez maior de transistores e de circuitos. 
Ao lado vemos o circuito interno de um Pentium 4. Tem cerca de 1 centímetro de lado, mas em seu interior existem mais de 50 milhões de transistores. 
*
Processadores
Aumento da velocidade dos processadores
*
*
Processadores
*
*
FSB – Front Side BUS
O FSB ou System Bus é o conjunto de pinos do processador que faz a comunicação com a memória e outras partes da placa mãe. 
A velocidade do FSB é chamada CLOCK EXTERNO. 
É preciso saber identificar o FSB do processador e da placa mãe, caso contrário o desempenho do processador será reduzido. 
*
*
Clock interno e clock externo
Todo processador tem duas velocidades:
Clock interno: Velocidade de execução de programas
Clock externo: Velocidade de acesso à memória e outras partes do computador.
Exemplo:
Pentium 4 de 2,8 GHz
Clock interno: 2,8 GHz Clock externo: 800 MHz
*
*
CPU com Pipeline
*
*
Pipeline das instruções de dois estágios
*
*
Pipeline das instruções de dois estágios
Como uma abordagem mais simples, suponha que o processamento de uma instrução é subdividido em dois estágios: busca da instrução e execução da instrução. 
Existem momentos durante a execução de uma instrução em que a memória principal não está sendo usada. Esse instante pode ser usado para buscar a próxima instrução, em paralelo com a execução da instrução corrente. A figura (a) representa essa abordagem. 
A pipeline tem dois estágios independentes. O estágio busca uma instrução e a armazena em uma área de armazenamento temporário. Quando o segundo estágio está livre, o primeiro passa para ele a instrução armazenada. Enquanto o segundo está executando essa instrução, o primeiro tira proveito de ciclos de memória que não são usados para buscar e armazenar a próxima instrução. Isso é chamado de busca antecipada de instrução (instruction prefetch).
Note que esse processo acelera a execução de instruções. Se os estágios de busca e de execução tiverem a mesma duração, o número de instruções executadas por unidade de tempo será dobrado. 
*
*
Pipeline das instruções de dois estágios
Entretanto, se examinarmos bem essa pipeline (figura b), veremos que essa duplicação da taxa de execução de instruções será pouco provável, por duas razões:
O tempo de execução geralmente é maior que o tempo de busca, pois a execução de uma 
instrução geralmente envolve leitura e armazenamento de operandos e execução de algumas
operações. Portanto, o estágio de busca pode ter de esperar algum tempo antes que possa
esvaziar sua área de armazenamento temporário.
2. A ocorrência de instruções de desvio condicional faz com que o endereço da próxima instrução a ser buscada seja desconhecido. Nesse caso, o estágio de busca teria de esperar até receber o endereço da próxima instrução do estágio de execução. O estágio de execução poderia, então, ter de esperar enquanto a próxima instrução é buscada.
*
*
Pipeline das instruções de seis estágios
Embora esses fatores reduzam a potencial efetividade da pipeline de dois estágios, algum ganho de desempenho é obtido. 
Para conseguir maior desempenho, a pipeline deve ter maior número de estágios. Considere a seguinte decomposição do processamento de uma instrução:
• Busca de instrução (BI): lê a próxima instrução esperada e a armazena em uma área de armazenamento temporário.
• Decodificação da instrução (DI): determina o código de operação da instrução e as referências a operandos.
• Cálculo de operandos (CO): determina o endereço efetivo de cada operando fonte. Isso pode envolver endereçamento por deslocamento, endereçamento indireto via registrador, endereçamento indireto, assim como outras formas de cálculo de endereço.
• Busca de operandos (BO): busca cada operando localizado na memória. Os operandos localizados em registradores não precisam ser buscados.
• Execução da instrução (EI): efetua a operação indicada e armazena o resultado, se houver, na localização do operando de destino especificado.
• Escrita de operando (EO): armazena o resultado na memória.
*
*
Fluxo do pipeline das 
instruções de seis estágios
*
*
Pipeline das instruções de seis estágios
*
*
Pipeline das instruções de seis estágios
*
*
Desempenho do pipeline
*
*
CPU Superescalar
*
*
CPU Superescalar
*
*
CPU Superescalar
■ Um processador superescalar é aquele no qual são usadas varias pipelines de instrução independentes. 
Cada pipeline tem diversos estágios, podendo manipular várias instruções a cada instante. O uso de várias pipelines introduz um novo nível de paralelismo, possibilitando processar diversos fluxos de instrução de cada vez. Um processador superescalar explora o que é conhecido como paralelismo no nível de instruções, que diz respeito ao nível em que instruções de um programa podem ser executadas em paralelo.
■ Um processador superescalar
busca tipicamente várias instruções de cada vez, e tenta encontrar instruções próximas que sejam independentes umas das outras e que podem, portanto, ser executadas em paralelo. 
Se os dados de entrada de uma instrução dependem da saída produzida por uma instrução precedente, a execução dessa instrução não pode ser completada antes ou ao mesmo tempo que a execução da instrução da qual ela depende. Uma vez que essas dependências de dados sejam identificadas, o processador pode executar e completar instruções em uma ordem diferente da que ocorre no código de máquina original.
*
 Processos em um computador com uma CPU
*
*
*
*
 Processadores Paralelos
*
Processadores paralelos
Imagine um processador Pentium 4 de 3.2 GHz e cache L2 de 1 MB. Agora imagine dois processadores iguais a este, dentro de um único chip. Este é processador Intel Pentium D. São dois processadores totalmente independentes, possibilitando a construção de um computador que até então só era possível com o uso de placas mãe “biprocessadas”, ou seja, com soquetes para dois processadores. A figura abaixo mostra os dois núcleos do processador Pentium D. São mais de 200 milhões de transistores, formando dois núcleos iguais.
O Pentium D e o Pentium Extreme Edition são formados por dois núcleos de Pentium 4 encapsulados juntos. 
*
Processadores quad core
O sistema de processador quad core contém 4 processadores separados no mesmo chassis.
*
Processadores paralelos 
Servidor
*
*
OBRIGADO PELA ATENÇÃO !

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes