12.07.2015 Views

Introdução à Organização de Computadores - Rossano.pro.br

Introdução à Organização de Computadores - Rossano.pro.br

Introdução à Organização de Computadores - Rossano.pro.br

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Introdução</strong> <strong>à</strong> <strong>Organização</strong> <strong>de</strong><strong>Computadores</strong>Execução <strong>de</strong> ProgramasProf. <strong>Rossano</strong> Pablo Pinto, Msc.rossano at gmail com2 semestre 2007


Processadores●●●CPU (Central Processing Unit) é ocoor<strong>de</strong>nador <strong>de</strong> todas as “ativida<strong>de</strong>s” <strong>de</strong>um computador (“cerebelo”)É interligado aos outros elementos docomputador a partir <strong>de</strong> um barramento:– Barramento: coleção <strong>de</strong> fios para transmitiren<strong>de</strong>reços, dados e sinais <strong>de</strong> controle.Existem barramentos internos e externosao <strong>pro</strong>cessadorCopyleft <strong>Rossano</strong> Pablo Pinto 2


ProcessadoresBusca e <strong>de</strong>codificaçãoOperações lógicas e aritméticasArmazenamento p/ <strong>pro</strong>cessarCopyleft <strong>Rossano</strong> Pablo Pinto 3


Processadores●●Função do <strong>pro</strong>cessador: executarinstruções obtidas a partir da memóriaprincipalA CPU é composta por diversas partes:– Unida<strong>de</strong> <strong>de</strong> Controle (UC)– Unida<strong>de</strong> Lógica e Aritmética (ULA)– Registradores (<strong>pro</strong>pósito geral e <strong>pro</strong>pósitoespecífico)●PC (Program Counter), IR (Instruction Register)Copyleft <strong>Rossano</strong> Pablo Pinto 4


Processadores●●“Data Path”da CPU <strong>de</strong>vonNeumannExemplo <strong>de</strong>adição <strong>de</strong> Ae BCopyleft <strong>Rossano</strong> Pablo Pinto 5


Processadores●“Data Path” da CPU <strong>de</strong> von Neumann– registradores (tipicamente por volta <strong>de</strong> 32)– ULA (Unida<strong>de</strong> lógica e aritmética)– vários barramentos que conectam as partesda CPU– Registradores alimentam as entradas da ALU– Saída é armazenada no registrador <strong>de</strong> saídada ALU. O resultado po<strong>de</strong> ser escritonovamente em outros registradoresCopyleft <strong>Rossano</strong> Pablo Pinto 6


Processadores●“Data Path” da CPU <strong>de</strong> von Neumann– A maioria das instruções po<strong>de</strong>m ser divididasem 2 categorias:●●registrador-memóriaregistrador-registrador– O <strong>pro</strong>cesso <strong>de</strong> operar 2 operandos pela ULA earmazena-los <strong>de</strong> volta em algum registradoré conhecido por: data path cycle (“ciclo <strong>de</strong>caminho <strong>de</strong> dados”).– Quanto mais rápido o data path cycle, maisrápida a máquina.Copyleft <strong>Rossano</strong> Pablo Pinto 7


Processadores●Execução <strong>de</strong> instruções1. Busca próxima instrução da memória earmazena no IR2. Incrementa PC para “apontar” p/ a próximainstrução3. Determina o tipo <strong>de</strong> instrução (<strong>de</strong>co<strong>de</strong>)4. Se instrução faz uso <strong>de</strong> operandos vindos damemória, <strong>de</strong>termina seu en<strong>de</strong>reço5. Busca operandos (palavra) da memória earmazena nos registradoresCopyleft <strong>Rossano</strong> Pablo Pinto 8


Processadores●Execução <strong>de</strong> instruções6. Busca próxima instrução da memória earmazena no IR7. Executa a instrução8. Volta ao passo 1. para executar a próximainstruçãoCopyleft <strong>Rossano</strong> Pablo Pinto 9


Processadores●Exemplo <strong>de</strong> <strong>pro</strong>cessador HipotéticoCopyleft <strong>Rossano</strong> Pablo Pinto 10


Processadores●Exemplo <strong>de</strong> <strong>pro</strong>cessador Hipotético: ciclo<strong>de</strong> busca e execuçãoCopyleft <strong>Rossano</strong> Pablo Pinto 11


Processadores●Exemplo <strong>de</strong> <strong>pro</strong>cessador Hipotético:formato <strong>de</strong> instruçãoCopyleft <strong>Rossano</strong> Pablo Pinto 12


Qual o resultado <strong>de</strong>stas operações?Copyleft <strong>Rossano</strong> Pablo Pinto 13


Qual o resultado <strong>de</strong>stas operações?Copyleft <strong>Rossano</strong> Pablo Pinto 14


Qual o resultado <strong>de</strong>stas operações?Copyleft <strong>Rossano</strong> Pablo Pinto 15


Qual o resultado <strong>de</strong>stas operações?Copyleft <strong>Rossano</strong> Pablo Pinto 16


Qual o resultado <strong>de</strong>stas operações?Copyleft <strong>Rossano</strong> Pablo Pinto 17


Qual o resultado <strong>de</strong>stas operações?Copyleft <strong>Rossano</strong> Pablo Pinto 18


Qual o resultado <strong>de</strong>stas operações?Copyleft <strong>Rossano</strong> Pablo Pinto 19


Processadores●Como aumentar a “velocida<strong>de</strong>” dos<strong>pro</strong>cessadores?– Aumento do clock/freqüência do <strong>pro</strong>cessador.●●Problema: o limite é a velocida<strong>de</strong> da luz. Omáximo que consegue-se no co<strong>br</strong>e ou fi<strong>br</strong>a ótica é20 cm/nanosegundo.Quanto maior a freqüência, maior o calor que temque ser dissipado.– Duplicar unida<strong>de</strong>s funcionais !!!Copyleft <strong>Rossano</strong> Pablo Pinto 20


Processadores●Paralelismo por meio <strong>de</strong> Instruções– Pipelining– Arquiteturas Super-escalaresCopyleft <strong>Rossano</strong> Pablo Pinto 21


Processadores– Pipeline (ex.: 5 estágios e 9 ciclos <strong>de</strong> clock)Copyleft <strong>Rossano</strong> Pablo Pinto 22


Processadores– Pipeline (ex.: 5 estágios e 9 ciclos <strong>de</strong> clock)●●Suponha um tempo <strong>de</strong> ciclo <strong>de</strong> 2 nsLeva 10 ns p/ uma instrução ser executada● Qual o MIPS <strong>de</strong>sta máquina? 100 MIPS ?●Não! 500 MIPSCopyleft <strong>Rossano</strong> Pablo Pinto 23


Processadores– Pipeline●●●Latência x largura <strong>de</strong> banda <strong>de</strong> <strong>pro</strong>cessadorLatência -> TEMPO que uma instrução leva paraser executadaLargura <strong>de</strong> banda do <strong>pro</strong>cessador -> quantosMIPS a CPU tem● Exemplo <strong>de</strong> <strong>pro</strong>cessador com pipeline: 486Copyleft <strong>Rossano</strong> Pablo Pinto 24


Processadores– Arquiteturas Super-EscalaresPipeline duplo <strong>de</strong> 5 estágios com uma única unida<strong>de</strong> <strong>de</strong> buscaCopyleft <strong>Rossano</strong> Pablo Pinto 25


Processadores– Arquiteturas Super-Escalares●●O exemplo anterior <strong>de</strong> 2 pipelines somente épossível se:– as 2 instruções não tiverem conflito em uso <strong>de</strong> recursos(ex.: registradores)– nenhuma <strong>de</strong>las po<strong>de</strong> <strong>de</strong>pen<strong>de</strong>r do resultado da outraExemplo <strong>de</strong> <strong>pro</strong>cessador com pipeline duplo:Pentium (similar ao da figura anterior)Copyleft <strong>Rossano</strong> Pablo Pinto 26


Processadores– Arquiteturas Super-Escalares●Compiladores otimizados p/ Pentium po<strong>de</strong>m gerarcódigo 2 vezes mais rápido que os otimizados p/486.Copyleft <strong>Rossano</strong> Pablo Pinto 27


Processadores– Arquiteturas Super-EscalaresPentium II tem um único Pipelinemas com várias unida<strong>de</strong>s funcionais,similar ao da figura:Neste caso, S3 tem que serconsi<strong>de</strong>ravelmente maisrápido que S4Copyleft <strong>Rossano</strong> Pablo Pinto 28


Processadores●Paralelismo por meio <strong>de</strong> Processadores<strong>Computadores</strong> emArray: Conjunto<strong>de</strong> <strong>pro</strong>cessadors idênticosque executam a mesmainstrução em paralelo emdados distintosCopyleft <strong>Rossano</strong> Pablo Pinto 29


Processadores●Paralelismo por meio <strong>de</strong> ProcessadoresMulti-<strong>pro</strong>cessadores:vários <strong>pro</strong>cessadorescompartilhando mesmamemória. a) SMPb) NUMACopyleft <strong>Rossano</strong> Pablo Pinto 30


Processadores●Paralelismo por meio <strong>de</strong> ProcessadoresMulti-<strong>Computadores</strong>:vários computadoresinterligados por re<strong>de</strong>.Copyleft <strong>Rossano</strong> Pablo Pinto 31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!