aula6_aoc

73
© 2007 by Pearson Education Nível de arquitetura do conjunto de instrução Capítulo 5

description

introdução 2

Transcript of aula6_aoc

2007 by Pearson Education Nvel de arquitetura do conjuntode instruo Captulo 5 2007 by Pearson Education Nvel de arquitetura do conjuntode instruo 2007 by Pearson Education Nvel de arquitetura do conjuntode instruo 2007 by Pearson Education Nvel ISA O nvel ISA a interface entre os compiladores e o hardware. 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education Modelo de Memria Palavra de 8 bytes em memria little-endian.(a) Alinhada. (b) No alinhada. Algumas mquinas requerem que palavras na memria sejam alinhadas. 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. Sode32bitsefuncionam maisoumenoscomo registradoresdepropsito geral. 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. oprincipalregistrador aritmtico. 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. Serveparaarmazenar ponteiros(endereosde memria). 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. Responsvelpelaexecuode loops 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. utilizadoemoperaesde multiplicao e diviso. 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. Temcomoobjetivoprincipalo armazenamentodeponteirosparaa memria,osquaissousadosna execuodeinstruesdemanipulao de strings. 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. usadoparaapontarparaabasedo quadrodepilhalocal,conhecidocomo apontador de quadro. 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. o apontador de pilha. 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. Registradores de segmento 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. Faz as vezes do Program Counter 2007 by Pearson Education Viso geral do nvel ISA do Pentium 4 Registradores primrios do Pentium 4. PSW da arquitetura 2007 by Pearson Education 2007 by Pearson Education Tipos de dados do Pentium 4 Tipos de dados numricos do Pentium 4. Os tipos suportados esto marcados com x. 2007 by Pearson Education Tipos de dados do 8051 Tipos de dados numricos do 8051. Os tipos suportados esto marcados com x. 2007 by Pearson Education Tipos de dados da UltraSPARC III Tipos de dados numricos da UltraSPARC III. Os tipos suportados esto marcados com x. 2007 by Pearson Education 2007 by Pearson Education Formatos de InstruoQuatro formatos comuns de instruo:(a) Instruo sem endereo.(c) Instruo com dois endereos.(b) Instruo com um endereo.(d) Instruo com trs endereos. 2007 by Pearson Education 2007 by Pearson Education Formatos de InstruesAlgumas relaes possveis entre comprimento de instruo e de palavra. Asinstruesdeumamquinapodemsermenores,domesmo tamanho ou maiores que a palavra da mquina. 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education 2007 by Pearson Education Instrues do Pentium 4Uma seleo de instrues de inteiros do Pentium 4. 2007 by Pearson Education Instrues da UltraSPARC IIIInstrues de inteiros da UltraSPARC III primria. 2007 by Pearson Education Endereamento Emgeral,asinstruesutilizampequenaquantidadedebits paraocdigodeoperao,grandequantidadeparaespecificar endereos dos dados, como por exemplo: instruo de adio: -Precisa dos endereo dos dois valores a serem somados. -Precisa do endereo do local onde o valor deve ser armazenado. 2007 by Pearson Education Endereamento 2007 by Pearson Education Modos de Endereamento 2007 by Pearson Education Endereamento imediato Partedainstruocontmooperando,norequerendo referncia extra memria. limitado pelo tamanho do campo. Utilizadosomenteparabuscarumaconstanteessetipode endereamento. Tcnica utilizada para especificar constantes de valor pequeno. - Exemplo: Instruo imediata para carregar 4 no registro 1: Operando Instruo COp 2007 by Pearson Education Endereamento direto End Memria Instruo Operando COp 2007 by Pearson Education Endereamento de registrador Semelhanteaoendereamentodireto,maso endereoespecificaoregistrador(no endereo de memria) que contm o dado. Manipulaomaiseficiente,poisoacessoao registrador mais rpido. Contudo o nmero de registradores limitado. Muitotilquandonecessita-sediversavezes da mesma varivel. R Registradores Instruo Operando COp 2007 by Pearson Education Endereamento indireto de registrador Oendereodeumavarivel armazenado em um registrador.Endereododadoobtidodo contedo da posio identificada pela instruo(endereonainstruo= ponteiro). Referencia a memria semprecisar de endereo dememria completo na instruo. Operando R RegistradoresMemria Instruo COp Apontador 2007 by Pearson Education Endereamento indexado 2007 by Pearson Education Endereamento de Base indexado 2007 by Pearson Education Endereamento por pilha 2007 by Pearson Education Endereamento por pilha Implcito Apontador da pilha Pilha Memria Registrador 2007 by Pearson Education Tipos de Instrues AsinstruesrepresentamaprincipalcaractersticadonvelISA. Sempreexisteminstruesaritmticas,booleanas,LOAD, STORE,MOVE,etc.Soagrupadasdeacordosuas funcionalidades: -Instrues de Movimento de Dados - Operaes Didicas - Operaes Mondicas - Comparaes e Desvios Condicionais - Instrues de Chamada e Procedimento - Controle de Loop - Entrada/Sada 2007 by Pearson Education Tipos de Instrues Instrues de Movimento de Dados

Compreende, na verdade, uma duplicao de dados. Cria-seumnovoobjeto,comamesmaconfiguraodebitsdo objeto original. O contedo original da memria no apagado. preciso especificar o endereo de origem e destino.Ex:1. A atribuio de valores a variveis:A=B 2. Disponibilizar o dado em um local que tenha acesso a ele. 2007 by Pearson Education Tipos de Instrues Operaes Didicas Soaquelasquecombinamdoisoperandosparaproduzirum resultado. Ex:operaesaritmticas(adio,subtrao,multiplicaoe diviso), funes booleanas (AND, OR, NOR, NAND,...). 2007 by Pearson Education Tipos de Instrues Operaes Mondicas Soaquelasqueutilizamapenasumoperandoeproduzemum nicoresultado,comoporexemploanegao,deslocamento, rotao e incremento. 2007 by Pearson Education Tipos de Instrues Comparaes e Desvios Condicionais Osprogramasprecisamteracapacidadedetestarseusdadose alterarasequnciadeexecuoesuasinstruescombasenos resultados desses testes. Instrues em linguagem de mquina geralmente testam algum bit da mquina e desviam para um label (rtulo) de acordo com o valor do bit testado. Ex: 2007 by Pearson Education Tipos de Instrues Comparaes e Desvios Condicionais Osprogramasprecisamteracapacidadedetestarseusdadose alterarasequnciadeexecuoesuasinstruescombasenos resultados desses testes. Instrues em linguagem de mquina geralmente testam algum bit da mquina e desviam para um label (rtulo) de acordo com o valor do bit testado. Ex: Clculo do fatorial de um nmero (n!) 2007 by Pearson Education Tipos de Instrues Comparaes e Desvios Condicionais 2007 by Pearson Education Tipos de Instrues Instrues de Chamada e Procedimento Procedimentosumconjuntodeinstruesquerealizamuma determinada tarefa. Podemserchamadosvriasvezesdequalquerpartedo programa. Quandoumprocedimentochamadoatravsdeinstruode chamadadeprocedimento(CALL),oprogramadesviadoparaa primeira instruo do procedimento. 2007 by Pearson Education Tipos de Instrues Instrues de Chamada e Procedimento Quando o procedimento termina sua tarefa o programa desviado para a instruo imediatamente seguinte a instruo de suachamada atravs de instruo de retorno de procedimento (RET). Quandooprocedimentochamado,necessrioarmazenaro endereo de retorno. 2007 by Pearson Education Tipos de Instrues Instrues de Chamada e Procedimento Oendereoderetornopodeserarmazenadonumapilha, permitindo que um procedimento chame outro procedimento. Quandoumprocedimentoterminaoendereoderetorno desempilhado e colocado no PC. 2007 by Pearson Education Tipos de Instrues Controle de Loop Execuodeumgrupodeinstrues(lao)repetidaumnmero fixo de vezes. Baseadaemcontadorqueincrementadooudecrementadoa cada execuo do lao (loop). Contadordevesertestadoacadaexecuodolao,quandoo teste assumir uma determinada condio, o lao interrompido. 2007 by Pearson Education Tipos de Instrues Controle de Loop Duas implementaes: Com teste no final Com teste no inicio do lao. 2007 by Pearson Education Tipos de Instrues Entrada/Sada E/S programada com espera ocupada E/S dirigida por interrupo E/S com acesso direto memria 2007 by Pearson Education Tipos de Instrues E/S programada com espera ocupada Mtodo de implementao simples. Comumemsistemasdebaixodesempenho(sistemas embarcados, sistemas em tempo real). Cada dispositivo possui dois registradores associados: status e buffer de dados. 2007 by Pearson Education Tipos de Instrues E/S programada com espera ocupada Processadortestaregistradordestatusperiodicamente,emlao, at verificar se o dispositivo esta pronto para receber (sada) ou se disponibilizou um dado (entrada). Esperaocupadamantmoprocessadorociosoenquantorealiza operao de entrada ou sada. Aplicaes dedicadas. 2007 by Pearson Education Tipos de Instrues E/S programada com espera ocupada InstruesINeOUTsoprovidasparalereescrevernos registradores. Instrues selecionam um dos dispositivos de E/S disponveis. 1 caractere lido ou escrito por vez no registrador de dados. Processadorprecisaexecutarsequnciaexplcitadeinstrues para cada caractere lido ou escrito. Exemplo: terminal com dois dispositivos de E/S:1 de entrada (teclado) e 1 de sada (vdeo) 2007 by Pearson Education Tipos de Instrues E/S dirigida por interrupo Processador apenas inicia a operao de E/S. Processador habilita interrupes. Processador sai do processo, ficando livre para outras tarefas. Quando o caractere escrito ou recebido, o dispositivo gera uma interrupo,(ativasinalnopinodeinterrupodoprocessador), avisando que a operao de E/S foi concluda. 2007 by Pearson Education Tipos de Instrues E/S dirigida por interrupo Sinaldeinterrupo=(bitProntooubitCaractereDisponvel) AND (bit Habilita Interrupes). Vantagem: Oprocessadornoprecisaesperarqueodispositivoacabe operao de E/S. Desvantagem: A cada caractere transmitido necessrio tratar uma interrupo. Exemplo: Sada de vdeo. 2007 by Pearson Education Tipos de Instrues E/S com acesso direto memria UtilizaumcontroladordeDMAdedicadoquetomapossedo barramentoerealizaE/Sprogramada,avisandoaoprocessador, pormeiodeinterrupo,quandoaoperaodeE/Sestiver finalizada. 2007 by Pearson Education Tipos de Instrues E/S com acesso direto memria Vantagens: Oprocessadornoprecisaficaremesperaocupada,assimfica livre para realizar outras tarefas. Nonecessriotratarumainterrupoporcaractere transmitido,ainterruposgeradaapsatransmissodeum bloco de caracteres de tamanho especificado. 2007 by Pearson Education Tipos de Instrues E/S com acesso direto memria Desvantagens: Todavezqueocontroladorrequisitaobarramento,sejapara acessaramemriaouparaacessarodispositivo,eletem prioridade sobre o processador. Diz-se que o controlador de DMA rouba ciclos de barramento do processador. 2007 by Pearson Education Tipos de Instrues E/S com acesso direto memria Controlador de DMA possui, no mnimo, quatro registradores:Endereo:Armazenaoendereodememriaaserlidoou escrito. Contador:Armazenaonmerodebytesaseremlidosou escritos. Dispositivo:Armazena o nmero do dispositivo E/S a ser usado. Direo: Indica se operao de leitura ou escrita no dispositivo.