Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Arquitetura de Computadores Prof. Arthur arthur.battaglia@docente.unip.br 2019 ORGANIZAÇÃO DE SISTEMAS COMPUTACIONAIS Introdução e processadores Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Organização Estruturada de Computadores É uma metodologia para permitir que toda a complexidade do processo de projeto de um computador possa ser superada de forma sistemática e organizada. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Linguagem de Máquina: Instruções muito simples, primárias e de baixo nível (composições binárias). Não apropriadas para utilização pelo ser humano. Também designada de Linguagem Objeto. Vamos designá-la por L1. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Linguagem Fonte: Instruções de alto nível. Apropriadas para utilização pelo ser humano. Vamos designá-la por L2. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Como executar um programa escrito em L2? Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Como executar um programa escrito em L2? Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Como executar um programa escrito em L2? Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Tradução por Interpretação: Elabora-se um sistema em L1 para ler o programa escrito em L2 linha a linha e: Interpretá-lo (linha a linha) Depurá-lo (linha a linha) Executá-lo (linha a linha) Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Interpretação: Organização de Sistemas Computacionais � � � � � � Programa Fonte (L2)� Vídeo� Interpretador (L1)� Saídas� Relatórios� Dados� Etc.� �� Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Tradução por Compilação: Elabora-se um sistema em L1 para: Ler integralmente e depurar o programa escrito em L2, gerando uma cópia em L1 (Programa Objeto) Executar a cópia em L1, ignorando o programa em L2. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Compilação: Organização de Sistemas Computacionais � � � � � � � � Programa Fonte (L2)� Vídeo� Compilador (L1)� Saídas� Relatórios� Programa Objeto (L2)� Etc.� Biblio tecas� Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Na prática: Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Introdução Na prática: Máquina Multinível Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Arquitetura de um computador simples Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Arquitetura de um computador simples Unidade de Controle (UC) Busca a instrução na memória principal Examina-a determinando seu tipo Executa-a Volta para o primeiro passo Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Arquitetura de um computador simples Unidade Lógico-Aritmética (ULA) Realiza as operações lógicas (“and”, “or”, “nor”, etc.) Realiza as operações aritméticas Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Arquitetura de um computador simples Registradores São memórias de pequena capacidade de armazenamento, porém de alta velocidade de acesso Armazenam resultados temporários, e de controle, necessários à UC Há dois tipos de Registradores: Gerais Específicos Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Arquitetura de um computador simples Registradores Registradores Gerais: Funcionam como um rascunho da UC para o armazenamento de valores temporários entre uma operação e outra Registradores Específicos: Armazenam sempre o mesmo tipo de dado Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Execução de Instruções Para que uma instrução possa ser executada pelo processador ela precisa ser dividida em pequenos passos. De maneira geral, este processo pode ser dividido em 7 passos elementares, mas para podermos entender o mecanismo envolvido, precisamos conhecer dois registradores específicos. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Registrador de Instruções (IR) Contém a instrução a ser executada. Registrador Contador de Programa (PC) Contém endereço da próxima instrução a ser executada. Execução de Instruções Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Passos Buscar a próxima instrução na memória principal e armazená-la no registrador IR. Atualizar o conteúdo do registrador PC fazendo-o apontar para a próxima instrução a ser executada. Determinar o tipo de instrução que está no IR. Se a instrução precisar de uma palavra armazenada na memória, determinar onde ela está armazenada. Execução de Instruções Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Buscar a palavra e, se necessário, armazená-la em um registrador. Executar a instrução. Retornar ao 1º passoe reiniciar o processo para a próxima instrução. Execução de Instruções Passos Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Execução de Instruções Passos Organização de Sistemas Computacionais � � � � � � Início� Buscar a próxima instrução na memória� Armazenar a instrução no IR� Atualizar o PC� Determinar o tipo da instrução� Precisa?� Verificar se precisa buscar palavra na memória � Buscar palavra na memória � Sim� Precisa?� Verificar se precisa armazenar a palavra em algum registrador� Localizar a palavra na memória� Armazenar a palavra� Sim� Executar a instrução � Não� Terminou?� Fim� Sim� Não� Não� Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Arquitetura CISC e RISC Conjunto de Instruções É a reunião de todas as instruções disponíveis para o programador em um determinado nível. Varia de máquina para máquina e de nível para nível. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Arquitetura CISC Complex Instruction Set Computer Instruções muito complexas para tentar diminuir o “gap semântico” (distância entre o que a máquina pode fazer e aquilo que as linguagens de programação de alto nível exigem). São necessários vários ciclos de máquina para executar uma instrução. Conjunto com cerca de 300 instruções. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Arquitetura RISC Reduced Instruction Set Computer Instruções muito simples, capazes de serem executadas em um ciclo de máquina. Esta arquitetura não tinha o compromisso de manter compatibilidade com outros processadores. Conjunto com cerca de 50 instruções. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo Como tornar o processamento mais rápido? Paralelismo no nível das instruções Paralelismo no nível do processador Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível das Instruções Neste caso o paralelismo é aplicado dentro das instruções individuais do processador, de modo a conseguir que a máquina execute mais instruções por segundo. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível das Instruções Exemplo: Processador Pipeline de 5 estágios Caminho de Dados Organização de Sistemas Computacionais � � Unidade de busca de instrução� Unidade de decodificação de instrução� Unidade de busca de operando� Unidade de execução de instrução� Unidade de escrita� Instrução� Resultado Processador Pipeline Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível das Instruções Exemplo: Processador Pipeline de 5 estágios Indicadores de desempenho: Latência: é o tempo que uma instrução demora para ser executada. Banda Passante: é a quantidade de MIPS (*) que o processador executa por segundo. (*) MIPS = Milhões de Instruções Por Segundo Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível das Instruções Exemplo: Arquitetura Superescalar com Pipeline (1) Organização de Sistemas Computacionais � � Unidade de busca de instrução� Unidade de decodificação de instrução� Unidade de busca de operando� Unidade de execução de instrução� Unidade de escrita� Unidade de decodificação de instrução� Instrução� Resultado Processador Superescalar Pipeline Unidade de busca de operando� Unidade de execução de instrução� Unidade de escrita� Resultado Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível das Instruções Exemplo: Arquitetura Superescalar com Pipeline (2) Distribui uma instrução a cada nanosegundo. Organização de Sistemas Computacionais � � Unidade de busca de instrução� Unidade de decodificação de instrução� Unidade de busca de operando� LOAD� Unidade de escrita� Ponto Flutuante� Instrução� Resultado Processador Superescalar Pipeline ULA� STORE� ULA� Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível dos Processadores Neste caso o paralelismo é obtido através da utilização de vários processadores trabalhando juntos na solução do mesmo problema. Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível dos Processadores Exemplo: Processador Matricial Organização de Sistemas Computacionais � Unidade de Controle (UC)� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Processador� Memória� Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível dos Processadores Exemplo: Multi Processadores Organização de Sistemas Computacionais � � � Processador� Processador� Processador� Processador� Memória compartilhada� Barramento Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Processadores Paralelismo no Nível dos Processadores Exemplo: Multi Computadores Organização de Sistemas Computacionais � � � Processador� Processador� Memória � Memória � Barramento Barramento Processador� Memória � Barramento Máquina A Máquina B Máquina N Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Arquitetura de Computadores Um determinado processamento é fortemente sequencial, isto é, um passo depende inteiramente do anterior. Qual o melhor processador? Por que? Organização de Sistemas Computacionais Arquitetura de Computadores Organização de Sistemas Computacionais Prof. Arthur Arquitetura de Computadores Organização de Sistemas Computacionais Arquitetura de Computadores Prof. Arthur arthur.battaglia@docente.unip.br2019 ORGANIZAÇÃO DE SISTEMAS COMPUTACIONAIS Introdução e processadores Organização de Sistemas Computacionais
Compartilhar