cap_05_-_cpu

Post on 12-Jul-2015

615 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 1/55

Unidade Central deProcessamento

Organização de Computadores

Faculdade de Tecnologia Senac Goiás

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 2/55

Fotos

Primeiro microprocessador da

história: Intel 4004 (1971)

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 3/55

Fotos

Placa mãe emicroprocessador

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 4/55

Fotos

Wafer de microprocessadores

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 5/55

Fotos Arquitetura interna de um

microprocessador dedicado paraprocessamento de imagens deressonância magnética, afotografia foi aumentada 600vezes, sob luz ultravioleta para se

"Die" de microprocessador Cyrix 8x86

 

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 6/55

Fotos

Chip Pentium 4.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 7/55

Família de processadores Intel

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 8/55

Introdução

 A CPU é responsável pela realização de qualquer operação realizada porum computador.

 Além de executar as instruções, ela emite os sinais de controle para osdemais componentes do computador.

  ara rea zar operaç es com a os, o processa or necess a n erpre arque tipo de operação é a que ele irá executar.

Todo processador é construído de modo a realizar algumas operações(primitivas), tais como: operações aritméticas, movimentar dados,transferir valores, operações lógicas.

 A sequência de 0s e 1s que formaliza uma determinada operação a serrealizada pelo processador denomina-se instrução de máquina .

Uma instrução de máquina é a identificação formal do tipo de operação aser realizada, contendo um grupo de bits que identifica a operação e outro

grupo de bits que permite a localização e acesso aos dados que serãomanipulados na referida operação.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 9/55

De Linguagem de Alto Nívelpara Linguagem de Máquinavoid swap (int

v[], int k){

int temp;

temp = v[k];

v[k] = v[k+1];

=

swap:

muli $2, $5,4

add $2, $4,$2

 Assembly:

representaçãosimbólica dasinstruções de

máquina

 

}lw $15, 0($2)

lw $16, 4($2)

sw $16, 0($2)

sw $15, 4($2)

jr $31

00000000101000010000000000011000

00000000000110000001100000100001

10001100011000100000000000000000

10001100111100100000000000000100

10101100111100100000000000000000

1010110001100010000000000000010000000011111000000000000000001000

Compilador

Montador(Assembler)

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 10/55

Execução de instrução

 As etapas acima compõem o que se denomina um ciclo de instrução .

Este ciclo se repete indefinidamente até que:

O sistema seja desligado

Ocorra algum tipo de erro

Seja encontrada uma instrução de parada.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 11/55

Funções

 As atividades realizadas pela CPU podem ser divididas em duas grandescategorias funcionais: Função de processamento

 Atividades relacionadas com a efetiva execução de uma operação.

Função de controle  Atividades de busca, interpretação e controle da execução das instruções.

Controle da ação dos demais componentes do sistema (memória, E/S).

Computadores modernos são montados em torno de processadores quebuscam maior velocidade na realização de suas tarefas.

Pipeline

Um dos processos mais usados para o aumento de velocidade.  A CPU se divide em várias partes funcionais distintas, cada uma correspondendo a

uma determinada atividade. Várias instruções são realizadas de forma simultânea, embora em estágios diferentes

(linha de montagem).

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 12/55

Paralelismo

Paralelismo no nível de instrução o paralelismo é explorado dentro de instruções

individuais para obter da máquina mais instruções por

segun o  p pe n ng  .

Paralelismo no nível de processador várias CPUs trabalham juntas no mesmo problema.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 13/55

Paralelismo no nível deinstrução

Pipeline de cinco estágios.

Estado de cada estágio em função do tempo. São ilustrados nove ciclosde relógio.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 14/55

Paralelismo de processador

(a) Multiprocessador com barramento único. É um sistema fortemente acoplado (duas ou mais CPUs têm a capacidade de interagir de

perto). Multiprocessadores são mais fáceis de programar.

(b) Multicomputador com memórias locais. É um sistema fracamente acoplado (as CPUs se comunicam enviando mensagens umas

às outras). Multicomputadores são mais fáceis de construir.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 15/55

 Arquiteturas paralelas

Considera-se um computador equipado com mais de umprocessador

Flynn: SISD, SIMD, MISD, MIMD baseada nos fluxos de instruções e dados dentro do processador

Foi considerada insuficiente por não abranger algumas arquiteturasmodernas, como as máquinas de fluxo de dados e os processadoresvetoriais

Não apresenta uma hierarquia

Duncan: Arquiteturas Síncronas e Assíncronas Mais complexa e abrangente

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 16/55

SISDSingle Instruction Single Data

É o caso dos computadores seriais convencionais com uma unidade deprocessamento com uma unidade de controle

Um único fluxo de instruções opera sobre um único fluxo de dados Corresponde ao processamento seqüencial da máquina de von Neumann

  pesar os programas es arem organ za os a rav s e ns ruç es

seqüenciais, elas podem ser executadas de forma sobreposta ( pipelining ) Possuem uma única unidade de controle podendo possuir mais de uma

unidade funcional Um computador SISD pode ter várias unidades funcionais, mas se todas

estão sob o comando de uma unidade de controle única, o fluxo deinstruções é único

Exemplos: IBM PC, SUN Sparc

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 17/55

SISDSingle Instruction Single Data

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 18/55

SIMDSingle Instruction Multiple Data

O computador tem vários processadores comandados por uma unidade decontrole

Todos os processadores recebem a mesma instrução da UC, mas operamsobre diferentes dados lidos de sua memória privadas

 

uma instrução O programa ainda segue uma organização seqüencial Para possibilitar o acesso a múltiplos dados é preciso uma organização de

memória em diversos módulos

 A unidade de controle é única e existem diversas unidades funcionais. Nesta classe estão os processadores vetoriais e matriciais.

Exemplos: MPP, Connection Machine, MasPar

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 19/55

SIMDSingle Instruction Multiple Data

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 20/55

MISDMultiple Instruction Single Data

O computador tem vários processadores completos operando sobre umúnico fluxo de dados, ou seja, múltiplas unidades de controle executandoinstruções distintas sobre o mesmo dado

 

é impraticável tecnologicamente

Seria o caso de um pipeline de processadores, aonde os dados vão sendoprocessados e passados para o processador seguinte

 A proposta de implementação que mais se aproxima desta categoria é a damáquina de fluxo de dados (dataflow ).

Exemplos: Não há

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 21/55

MISDMultiple Instruction Single Data

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 22/55

MIMDMultiple Instruction Multiple Data

O computador tem vários processadores completos operando independentemente Várias instruções podem ser executadas ao mesmo tempo em unidades de processamento

diferentes controladas por unidades de controle independentes (uma para cada unidadede processamento)

 Acesso a vários módulos de memória  ons uem a ase a ma or a os compu a ores para e os mo ernos

Cada um dos nós da máquina executa seus programas independentemente e sãocomputadores completos

Esta classe é bastante genérica envolvendo o processamento de múltiplos dados por partede múltiplas instruções

Qualquer grupo de máquinas operando como uma unidade enquadra-se como MIMD

 Alguns representantes desta categoria são os servidores multiprocessados, as redes deestações e as arquiteturas massivamente paralelas.

Exemplos: IBM SP2, Cray T, IBM PCs com 4 processadores

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 23/55

MIMDMultiple Instruction Multiple Data

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 24/55

MIMDMultiple Instruction Multiple Data

Modelos Básicos de Máquinas MIMD Memória Compartilhada:

 Todos os processadores têm acesso a toda memória

 

compartilhadas Mais fácil de programar

Mais difícil de construir.

Troca de Mensagens: Cada processador tem a sua memória privada Quando é necessário acesso a dados que estão na memória de

outro processador ocorrem trocas de mensagens

São mais difíceis de programar

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 25/55

Funções da CPU – Processamento

Processamento de dados: ação de manipular um oumais valores em uma certa sequência de ações demodo a produzir um resultado útil.

  ea za o pe a .

Processamentos mais comuns:

Operações aritméticas

Operações lógicas

Movimentação de dados

Desvios (alteração de sequência de execução deinstruções)

Operações E/S

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 26/55

Esquema da CPU

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 27/55

ULA 

Dispositivo da CPU que executa as operaçõesmatemáticas e lógicas.  Algumas das operações mais comuns:

soma subtração multiplicação divisão

operação lógica AND operação lógica OR 

operação lógica XOR 

operação complemento

deslocamento à direita deslocamento à esquerda

incremento decremento

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 28/55

ULA 

Arquitetura simplificada do Pentium

BIU – interface do barramentoCache – 8KB cada

 ALU I(1) e I(2) – unidades aritméticas inteiras

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 29/55

Registradores Para que um dado seja transferido para a ULA, é necessário que ele

permaneça armazenado em um registrador. O resultado da operação, se existir, também deve ser armazenado em um

registrador.

Registradores de dados têm uma largura igual ao tamanho de umapa avra.

 Alguns registradores são de uso geral, enquanto que outros sãoespecializados. Exemplos: PC – program counter

IR – instruction register

SP – stack pointer  A quantidade e o emprego dos registradores variam bastante de modelo

para modelo de CPU.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 30/55

Registradores

Diagrama simplificado em bloco da CPU Intel 8085, apenas com os

dispositivos básicos da área de processamento

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 31/55

Registradores

Diagrama simplificado em bloco da CPU Intel 8086, apenas com os

dispositivos básicos da área de processamento

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 32/55

Funções da CPU – controle

 A área de controle realiza as atividades de:

Busca da instrução que será executada.

Interpretação das ações a serem desencadeadas com aexecução da instrução (essas duas instruções denomina-se

fetch cycle – ou ciclo de busca da instrução). Geração dos sinais de controle apropriados para ativação das

atividades requeridas para a execução da instrução. Essa etapaé denominada execute cycle – ou ciclo de execução dainstrução.

Ou seja: a área de controle é projetada para entender o quefazer, como fazer e comandar quem vai fazer no momentoadequado.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 33/55

Esquema da CPU

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 34/55

Elementos da CPU – controle

Registrador de Instrução (IR)

 Armazena a instrução a ser executada pela CPU.

Contador de instrução (PC)

.

Decodificador de instrução Identifica que operação será realizada, correlacionada à

instrução cujo código de operação foi decodificado.

Registrador de dados de memória (RDM)

Possui um tamanho igual ao do barramento de dados.

Registrador de Endereços de memória (REM)

Possui um tamanho igual ao dos endereços da memória.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 35/55

Unidade de controle

Dispositivo mais complexo da CPU.

Possui a lógica necessária para realizar a movimentação dedados e de instruções de e para a CPU, através dos sinais de

.

Os sinais de controle ocorrem em vários instantes durante operíodo de realização de um ciclo de instrução.

Os microeventos ou microoperações comandadas pela UC

podem ser iniciados segundo um de dois princípios dearquitetura:

Por microprogramação.

Por programação prévia diretamente no hardware.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 36/55

Unidade de controle

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 37/55

Unidade de controle

O modo pelo qual o sistema conduz a execução dasinstruções, resulta em diversos tipos de arquitetura deprocessadores:

   

exclusivamente sequencial ou serial (SISD). Processadores que executam instruções de modo

concorrente, ou tipo  pipeline ou por linha de montagem.

Processadores que executam várias instruçõessimultaneamente ou por processamento paralelo.

Processadores que realizam processamento vetorial.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 38/55

Relógio

Dispositivo gerador de pulsos cuja duração é chamada de ciclo.

Frequência: quantidade de vezes em que esse pulso básico serepete em um segundo.

Um ciclo de relógio ou de máquina é o intervalo de tempo entre oinício de um pulso e o início do seguinte.

Este ciclo está relacionado à realização de uma operaçãoelementar, durante o ciclo de uma instrução.

Como essa operação não se realiza em um só passo, costuma-sedividir o ciclo de máquina em ciclos menores (subciclos), defasadosno tempo.

Se as operações duram um tempo definido por um ou mais pulsosdo relógio, mais operações podem ser realizadas na mesmaunidade de tempo se o ciclo de relógio for diminuído (overclocking ).

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 39/55

Relógio

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 40/55

Relógio

Uma das características de processadores mais conhecida dosusuários é justamente a frequência do relógio da CPU(atualmente na casa dos GHz).

Ela ode ser considerada um indicador de desem enho. 

No entanto, não é sempre verdadeiro que um processadorcom velocidade de relógio maior que outro seja maiseficiente que aquele.

 A tecnologia e a arquitetura do projeto do processador

podem torná-lo mais eficiente que um outro, mesmo quefuncionando com velocidade de relógio menor.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 41/55

Instruções de máquina

Formalização de uma operação básica (ou primitiva) que ohardware é capaz de realizar diretamente.

O projeto de um processador é centrado no conjunto de instruçõesde máquina que se deseja que ele execute.

   Análises e decisões do projeto envolvem o tamanho e acomplexidade do conjunto de instruções.

Quanto menor e mais simples o conjunto de instruções, mais rápidoé o ciclo de tempo do processador.

Dados históricos dos processadores da Intel: 8080: 78 instruções 8088: 117 instruções 80486: 286 instruções

Pentium II: 217 instruções

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 42/55

Instruções de máquina

Há duas tecnologias de projeto de processadores empregadas pelos

fabricantes: Sistemas com conjunto de instruções complexo (CISC) Sistemas com conjunto de instruções reduzido (RISC)

   

Definir o conjunto de instruções: qual o formato e tamanho de cada uma, quais asoperações a realizar. Implementar os componentes do processador em função da definição anterior: ULA,

registradores, barramentos, ...

Do ponto de vista físico (hardware), uma instrução de máquina é um grupo

de bits que indica ao processador uma operação ou ação que ele deverealizar.

Funcionalmente, um processador possui instruções capazes de realizar osseguintes tipos de operações: matemáticas, movimentação de dados, E/S,

controle.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 43/55

Formato das instruções

Podemos separar o grupo de bits queconstitui a instrução em duas partes: Código de operação (opcode ):

Cada operação possui um único código (númerointeiro).

Campo do(s) operando(s): Indica a localização do dados (ou dados) que será

manipulado durante a realização da operação. Zero, um ou mais campos.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 44/55

Formato das instruções

Quatro formatos comuns de instrução:(a) Instrução sem endereço. (c) Instrução com dois endereços.(b) Instrução com um endereço. (d) Instrução com três endereços.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 45/55

Formato das instruções

 Algumas relações possíveis entre comprimentode instrução e de palavra.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 46/55

Ciclo da instrução  A base do projeto de uma CPU é a escolha do conjunto de

instruções que ela irá executar. Iremos mostrar em detalhe as etapas requeridas para o

processador completar a execução de uma instrução de.

 Vamos utilizar um subsistema CPU/MP hipotético (ver figurapróximo slide).

Depois faremos algumas considerações sobre o conjunto deinstruções dos processadores reais.

Para explicação, consideraremos a execução de duasinstruções:

LDA Op e  ADD Op

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 47/55

Ciclo da instrução

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 48/55

Ciclo da instrução

O fluxo ao lado pode ser

descrito em Linguagemde Transferência entreRegistradores, de modoque possamosacompan ar a

movimentação deinformações:

RI←←←← (CI)

(CI)←←←←

(CI) + 1Interpretar o C.Op.

Buscar Op. (se houver)

Executar a instrução

Retornar

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 49/55

Ciclo da instrução

 Ao iniciar aexecução doprimeiro ciclo de

 A instrução LDAestá armazenadana MP, noendereço 0216.

 A instrução ADDestá armazenadano endereço 0316.

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 50/55

Ciclo da instrução: LDA 

Fluxo dedados e deendereços

realização dociclo de buscada instruçãoLDA:

RI←←←← (CI)

(CI) ←←←← (CI) + 1

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 51/55

Ciclo da instrução: LDA 

Decodificaçãodo ciclo de

LDA:

Resultado: decodificador←←←← 116

Se tiver operandos, buscá-los(não há operandos)

Executar operação: ACC = 1A7

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 52/55

Ciclo da instrução: ADD

Fluxo dedados e deendereços

ciclo de buscada instrução ADD:

RI←←←← (CI)

(CI) ←←←← (CI) + 1

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 53/55

Ciclo da instrução: ADD

Decodificaçãodo ciclo deo era ão

LDA:Resultado: decodificador←←←← 316

Buscar operandos:REM←←←← Op.

RDM←←←← (M(REM))ULA ←←←← ACC [1º operando]

ACC ←←←← RDM

ULA ←←←← ACC [2º operando]

Executar operação: ACC = 224

Linguagem de montagem

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 54/55

Linguagem de montagem

(Assembly)  A linguagem de máquina (0s e 1s) é a mais elementar, mas a mais

complicada para o programador. Uma ligeira melhoria de apresentação para o programador consiste

em substituir os valores binários por números hexadecimais.  A primeira evolução para tornar os programas mais representativos

para o programa or o o emprego e s m o os a anum r cos em

vez de números. Desenvolveu-se então a linguagem de montagem (assembly ). O

compilador chama-se assembler . Uma linha de instrução assembly pode conter até quatro campos:

Rótulo (label  ): endereço significativo no programa. Operação: mnemônico predefinido simbolizando a operação. Operando: endereços de memória ou registradores utilizados pela

instrução. Comentário: ignorado durante o processamento do programa.

Linguagem de montagem

5/11/2018 Cap_05_-_CPU - slidepdf.com

http://slidepdf.com/reader/full/cap05-cpu 55/55

Linguagem de montagem

(Assembly): exemplo

top related