Baixe o app para aproveitar ainda mais
Prévia do material em texto
Unidade II ORGANIZAÇÃO DE COMPUTADORESCOMPUTADORES Prof. Antônio Palmeira Conteúdo da unidade II Entender a organização do computador. Conhecer com mais detalhes e clareza a função do processador. Conhecer as instruções de máquina de um processador.de um processador. Abordar questões voltadas ao paralelismo. Organização do computador Processador (formado pela unidade lógica e aritmética, unidade de controle e registradores). Entrada/Saída. Memória.Memória. lógica e Processador É o cérebro do computador. Também conhecido como CPU (Central Processing Unit). Utiliza a linguagem de máquina (binário 0 e 1).(binário 0 e 1). É responsável por executar programas que ficam carregados na memória principal. Funções do processador Busca de instrução na memória: O processador lê uma instrução da memória (registrador, cache, memória principal). Interpretação da instrução:Interpretação da instrução: A instrução é decodificada para determinar qual ação é requerida. Busca de dados: A execução de uma instrução pode requerer a leitura de dados da memória ou módulo de E/S. Funções do processador Processamento de dados: A execução de uma instrução pode requerer efetuar alguma operação aritmética ou lógica com os dados. Escrita de dados:Escrita de dados: Os resultados de uma execução podem requerer gravar dados para memória ou um módulo E/S. Componentes do processador Unidade de controle: Busca informações na memória principal. Unidade lógica e aritmética: Realiza os cálculos e a comparação Realiza os cálculos e a comparação entre os valores. Registradores: Compõem uma memória de alta velocidade (interna à CPU) utilizada para armazenar resultados temporários e controlar o fluxo de informações. Hierarquia das memórias e os registradores O registrador é o elemento superior no nível de hierarquia de memória. Organização dos registradores Os registradores do processador desempenham dois papéis: Registradores visíveis ao usuário Possibilitam que o programador de linguagem de máquina minimize aslinguagem de máquina minimize as referências à memória. Registradores de controle e estado Usados pela unidade de controle para controlar a operação do processador. Tipos de registradores Contador de programa: Indica a próxima instrução a ser executada. Registrador de instrução: Contém a instrução que está sendo Contém a instrução que está sendo executada. Registradores de dados: São utilizados para armazenar dados. Registrador de endereço:g ç Recebe o endereço de um determinado objeto. Registradores de entrada e saída da ULA Interatividade O registrador que indica a próxima instrução a ser executada é conhecido como: a) Contador de programa. b) Registrador de instrução.b) Registrador de instrução. c) Registrador de dados. d) Registrador de endereço. e) Registrador de barramento. Instruções de máquina São os pontos centrais na arquitetura de um processador. São conjuntos de instruções que determinam a operação do processador. Elas influenciam as operações realizadasElas influenciam as operações realizadas pela unidade lógica e aritmética e registradores. Tipos gerais de instrução Instruções aritméticas e lógicas: Realizam operações aritméticas sobre números inteiros (adição e subtração) e operações lógicas bit a bit (AND, OR). Instruções de movimentação de dados:Instruções de movimentação de dados: Transferem dados entre registradores ou entre registradores e a memória principal. Instruções de transferência de controle: Transferem a execução para uma determinada instrução dentro do código do programa. Instruções para operações especializadas Várias arquiteturas de processadores oferecem outras categorias de instrução, voltadas para operações especializadas: instruções de ponto flutuante; instruções decimais;instruções decimais; instruções de manipulação de bits; Instruções de manipulação de strings. Elementos de uma instrução Código da operação (opcode): Especifica a operação a ser realizada. Referência ao operando fonte: Operandos que são entradas para a operaçãopara a operação. Referência ao operando destino: Operandos que expressam o resultado. Referência à próxima instrução: Informa onde se deve buscar a Informa onde se deve buscar a nova instrução. Localização dos operandos (endereçamento) Memória principal ou virtual: Descoberta a partir do endereço de memória designado na instrução. Registrador do processador: Descoberto a partir da referência ao Descoberto a partir da referência ao registrador designado na instrução. Imediato: O valor do operando está descrito no campo da instrução. Dispositivo de E/S: Instrução – especifica o módulo e o dispositivo de E/S. Formato de uma instrução A instrução é representada por uma sequência de bits (números binários 0 e 1). A instrução é dividida em campos, correspondentes aos elementos constituintes da instrução. É uma prática comum a utilização de representações simbólicas das instruções. Tipos de formatos de instruções OPCODE OPCODE OPERANDO 1 OPCODE OPCODE OPERANDO 1 OPERANDO 1 OPERANDO 2 OPERANDO 2 OPERANDO 3 Opcodes São representados por abreviações, chamadas de mnemônicos, que indicam a operação. ADD: adiciona SUB: subtraiSUB: subtrai MUL: multiplica DIV: divide LOAD: carrega dados da memória STOR: armazena dados na memória Exemplo de uma instrução Exemplo: ADD R, X Opcode: ADD Endereços dos operandos: R e X Esta instrução pode significar somar o valor contido no local de dados X com ovalor contido no local de dados X com o conteúdo do registrador R. Nesta instrução, a operação é executada sobre o conteúdo de um local e não sobre o endereço. Arquitetura das instruções Arquitetura memória-memória: Usam três operandos e todos podem estar na memória. Arquitetura registrador-memória: Usam dois operandos sendo que apenas Usam dois operandos, sendo que apenas um deles pode residir na memória. Arquitetura registrador-registrador: Usam três operandos, todos em registradores. Interatividade Qual dos itens abaixo se trata de um tipo geral de instrução aplicado a qualquer processador? a) Instruções de ponto flutuante. b) Instruções de movimentação de dados.b) Instruções de movimentação de dados. c) Instruções decimais. d) Instrução de manipulação de bits. e) Instrução de manipulação de strings. Tipos de operandos Os principais tipos de operandos são: endereços; números; caracteres; dados lógicos. Tipos de operações (opcodes) Os tipos mais gerais de opcodes são: transferência de dados; aritmética; lógica; conversão; E/S; transferência de controle. Operação de transferência de dados Para que esta instrução aconteça, são necessários: local dos operandos de origem e destino; extensão dos dados a seremextensão dos dados a serem transferidos; modo de endereçamento para cada operando. Exemplos: MOVE – transfere palavra da origem para o destino; SET – transfere 1s para o destino. Operações aritméticas Envolvem operações aritméticas da CPU como adição, subtração, multiplicação e divisão. Outros exemplos: Absolute – apanha o valor absoluto doAbsolute apanha o valor absoluto do operando. Negate – inverte o sinal do operando. Increment – soma 1 ao operando. Decrement – subtrai 1 do operando. Operações lógicas Operações utilizadas na manipulação de bits (números binário 0 e 1). Exemplos: OR – operação “OU”. AND operação “E” AND – operação “E”. XOR – operação “OU” exclusivo. NOT – inversão de bit. Outras operações Operações de conversão Ex.: conversão decimal/binário. Operações E/S Ex: input (leitura) e output (escrita). Operações de transferência de controle Ex.: jump (desvio) e halt (término). Ações do processador para diversos tipos de operação Transferência de dados Transferência de dados de um local para outro. Determinação do endereço da memória. Verificação de cache Verificação de cache. Início da leitura e escrita. Aritmética Pode envolver transferência de dados. Realiza funções na ULA Realiza funções na ULA. Define códigos de condição. Ações do processador para diversos tipos de operação Conversão Semelhante a aritmética e lógica, podendo envolver lógica especial para as conversões. Transferência de controleTransferência de controle Atualização de contador de programa. Para chamada e retorno de sub-rotina. E/S Determina E/S mapeada na memória.p Lógica O mesmo que aritmética. Ciclo da instrução Trazer a próxima instrução da memória até o registrador. Alterar o contador de programa para indicar a próxima instrução. Determinar o tipo da instrução.Determinar o tipo da instrução. Se a instrução necessitar de uma palavra da memória, determinar onde essa palavra está. Ciclo da instrução Trazer a palavra para dentro de um registrador da CPU, se necessário. Executar a instrução. Se as interrupções estão habilitadas e ocorre alguma, salva-se o estado doocorre alguma, salva se o estado do processo, atende-se à interrupção e depois retorna-se ao passo final. Voltar à etapa 1 para iniciar a execução da instrução seguinte. Interatividade Qual dentre as operações relacionadas emite comandos para um módulo de entrada e não requer uma ação da unidade lógica? a) Transferência de dados. b) Aritmética. c) Lógica. d) Conversão. e) E/S. Clock interno Também conhecido como clock do processador. São sinais elétricos que, através de um cristal de quartzo, realizam a sincronização entre as instruções a serem processadas. As oscilações são mensuradas em hertz (Hz), unidade padrão de medidas de frequência, que indica o número de ciclos que ocorre em certo tempo, no dcaso, segundos. Ex.: um processador de 500 MHz lida com 500 milhões de operações por ciclo de clock. RISC versus CISC No final da década de 1970, existia uma deficiência entre o que as máquinas podiam fazer e o que as linguagens de alto nível exigiam. RISC (Reduced Instruction Set Computer) X CISC (Complex Instruction Set Computer) RISC Conjunto de instruções reduzidas e menos complexas. Execução da instrução em um ciclo de clock. Alto uso de pipeline.Alto uso de pipeline. Poucas instruções e modos de endereçamento. Instruções executadas pelo hardware. O processador precisa de um grande número de registradores. CISC Conjunto de instruções complexas. Qualquer instrução pode referenciar a memória. Facilidade de programar o processador. Instruções com vários formatos Instruções com vários formatos. Instruções de tamanho variável de acordo com o modo de endereçamento. Instruções que requerem muitos ciclos de clock. Paralelismo no nível de instrução Maximização da performance do computador: Aumento da taxa de execuções de instruções por segundo. Fazer com que o processador realizeFazer com que o processador realize atividades em paralelo (paralelismo). Paralelismo ou pipeline é a técnica de dividir a execução da instrução em várias partes, e cada uma será manipulada por uma parte específica do processador.uma parte específica do processador. Modelo de pipeline Arquiteturas superescalares Manter na unidade de execução mais de uma ULA, uma unidade para LOAD, uma para STORE. Paralelismo no nível do processador O paralelismo no nível de instrução é insuficiente devido à dependência das instruções. No paralelismo no nível de instrução, a dissipação de calor é cada vez maior em relação às execuções. Consiste em projetar computadores com várias CPUs. Multiprocessadores Multiprocessadores: compostos de vários processadores independentes compartilhando a mesma memória. Multicomputadores Multicomputadores: cada CPU tem a sua memória local, que só é acessada por aquele processador; no entanto, pode haver uma quantidade de memória compartilhada entre as CPUs. Resumo da unidade Compreendemos a organização do computador. Conhecemos com mais detalhes e clareza a função do processador. Conhecemos as instruções de máquinaConhecemos as instruções de máquina de um processador. Abordamos questões voltadas ao paralelismo. Interatividade Qual dos itens abaixo não diz respeito ao Conjunto de Instruções Complexas (CISC)? a) Qualquer instrução pode referenciar a memória. b) Facilidade de programar o processador.b) Facilidade de programar o processador. c) As instruções possuem formato único. d) Instruções de tamanho variável de acordo com o modo de endereçamento. e) Instruções que requerem muitos ciclos de clock. ATÉ A PRÓXIMA!
Compartilhar