Buscar

Arquitetura de Computadores - 02 - Introdução e processadores

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

Continue navegando