Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Computadores Aula 06 – Arquitetura de von Neumann Professores: Ivanildo Melo ivanildo.melo@paulista.ifpe.edu.br Rosangela Melo rosangela.melo@paulista.ifpe.edu.br Arquitetura de von Neumann 2 O material dessa aula segue o conteúdo literal e em alguns pontos adaptado das seguintes fontes: • MONTEIRO, Mario A. Introdução a Organização de Computadores. 5ª ed. Rio de Janeiro: LTC, 2007. • BARBOSA, Luiz Sérgio de O. Arquitetura e Organização de Computadores. (Apostila) PROINOVALAB- Amazonas. Universidade do Estado do Amazonas (UEA). • GATTO, Elaine C. Arquitetura de John Von Neumann. Disponível em: <https://www.embarcados.com.br/arquitetura-de-john-von-neumann/>. Site EMBRACADOS. Acesso em: 10 jan. 2020. • TANENBAUM, Andrew S. Organização Estruturada de Computadores. 5ª ed. São Paulo: Pearson Prentice Hall, 2010. • STALLINGS, William. Arquitetura e Organização de Computadores. 8ª ed. São Paulo: Pearson Prentice Hall, 2010. Arquitetura de von Neumann A Arquitetura de von Neumann (de John von Neumann, pronunciado Nóimánn) é uma arquitetura de computador que se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim manipular tais programas. Esta arquitetura é um projeto modelo de um computador digital de programa armazenado que utiliza uma unidade de processamento (CPU) e uma de armazenamento ("memória") para comportar, respectivamente, instruções e dados. BUSCAR DECODIFICAR EXECUTAR 1 2 3 Princípio de Funcionamento da Arquitetura de von Neumann Arquitetura de von Neumann A máquina proposta por Von Neumann reune os seguintes componentes: • Uma unidade central de processamento (CPU), composta por: (1) • Registradores (2) • Uma unidade aritmética e lógica (ALU) (3) • Uma Unidade de Controle (4) • Uma memória (5) • Sistema de Entrada e Saída (6) (5)(1) (2) (3) (4) (6) Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann 5 Unidade Central de Processamento (UCP) ou Central Processing Unit (CPU): A CPU deve ser composta por uma unidade de controle (UC), uma unidade lógica aritmética (ULA), vários registradores (memórias internas da CPU) e um contador de programa (PC); FUNÇÃO DA CPU: A unidade central de processamento tem como função executar programas que estão armazenados na memória principal (5), buscar as instruções desses programas, examinar essas instruções e executar as instruções uma após a outra (sequência). (5)(1) (2) (3) (4) (6) Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann 6 FUNÇÃO DOS REGISTRADORES: Os registradores (2) da unidade central de processamento são memórias de altíssima velocidade que armazenam resultados temporários. Alguns registradores têm uma função e um tamanho específico (em bits e/ou bytes) e são lidos/escritos em alta velocidade pois são internos à CPU. A CPU não consegue manter todos os valores manipulados por um programa apenas em registradores, por isso necessita de uma memória para o armazenamento das informações. FUNÇÃO DO PC: A função do Contador de programa (2.1), ou Programm Counter, é o de indicar a próxima instrução a ser buscada para execução pela CPU. Esse é um exemplo de registrador com função específica (5)(1) (2) (3) (4) (6) (2.1) Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann 7 Unidade Lógica Aritmética (ULA) - (3) O dispositivo deve ser capaz de realizar as operações elementares da aritmética mais frequentemente, e por este motivo deve ter unidades especializadas apenas para essas operações. FUNÇÃO DA ALU OU ULA: A Unidade Lógica Aritmética (ULA) tem como função efetuar operações aritméticas e efetuar operações booleanas (E, OU, NOT entre outras). (5)(1) (2) (3) (4) (6) (2.1) Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann 8 Unidade de Controle (4) Gerencia a sequenciação apropriada das operações pode ser executada, de forma mais eficiente, por um controle central. FUNÇÃO DA UC: A unidade de controle tem como função buscar instruções na memória principal e determinar o tipo dessas instruções, decodificando instruções, buscando operandos, controla o ponto de execução e possíveis desvios. (5)(1) (2) (3) (4) (6) (2.1) busca endereços das instruções Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann 9 Memória Principal (5) Qualquer dispositivo que tiver que executar longas e complicadas sequências de operações precisa ter uma quantidade de memória considerável FUNÇÃO DA MEMÓRIA PRINCIPAL: A memória principal, também chamada de memória real, são memórias que o processador pode endereçar diretamente, sem as quais o computador não pode funcionar. A sua função principal é a de conter a informação necessária para o processador num determinado momento; esta informação pode ser, por exemplo, os programas em execução. (5)(1) (2) (3) (4) (6) (2.1) busca endereços das instruções Unidade de Controle Sistemas de Entrada e Saída Busca dados e instruções Arquitetura de von Neumann 10 Sistemas de Entrada e Saída (6) FUNÇÃO DOS SISTEMAS DE ENTRADA E SAÍDA: Chamamos de dispositivos de entrada e saída aos dispositivos encarregados de incorporar e extrair informação de um computador. Eles se enquadram dentro da denominada Arquitetura de Von Neumann, que explica as principais partes de um computador. Estes dispositivos evoluíram com o tempo, existindo na atualidade muitas variantes que no início da informática pareciam impossíveis. (5)(1) (2) (3) (4) (6) (2.1) busca endereços das instruções Unidade de Controle Sistemas de Entrada e Saída Busca dados e instruções Arquitetura de von Neumann Ciclo de Máquina A Unidade de Controle desempenha uma importante função na operação mais básica e fundamental da UCP, chamada ciclo de máquina. Um ciclo de máquina tem duas fases: • CICLO de INSTRUÇÃO • CICLO de EXECUÇÃO 11 Unidade de Controle Sistemas de Entrada e Saída (5)(1) (2) (3) (4) (6) (2.1) busca endereços das instruções Busca dados e instruções Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann CICLO DE INSTRUÇÃO Essa fase se compõe de duas etapas chamadas: a) BUSCA - (fetch) Obtém a próxima instrução b) DECODIFICAÇÃO - identifica a instrução CICLO DE EXECUÇÃO Essa fase se compõe de duas etapas chamadas: a) EXECUÇÃO - execução da ação propriamente dita; b) GRAVAÇÃO - grava os resultados para um novo ciclo. 12 Arquitetura de von Neumann Ciclo de Instrução Um ciclo de instrução (também chamado de ciclo de busca e execução ou ciclo busca- execução) é o período de tempo no qual um computador lê e processa uma instrução em linguagem de máquina da sua memória ou a sequência de ações que a CPU realiza para executar cada instrução em código de máquina num programa. A expressão "ciclo de busca e execução" também é muito usada, pois descreve em essência o modo como um computador funciona: a instrução deve ser buscada na memória principal e depois executada pela CPU. Deste ciclo emergem todas as funções do computador que são familiares para o usuário final. 13 Unidade de Controle Sistemas de Entrada e Saída (5)(1) (2) (3) (4) (6) (2.1) busca endereços das instruções Busca dados e instruções Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann Ciclo de Execução O ciclo de execução diz respeito à forma com que uma instrução é executada pela CPU, os caminhos que ela deve fazer e as unidades funcionais pelas quais ela passará, ou seja, descreve como o hardware trabalha com as instruções que serão executadas. Estes dispositivos evoluíram com o tempo, existindo na atualidade muitas variantes que no início da informática pareciam impossíveis. 14 Unidade de Controle Sistemas de Entrada e Saída (5)(1) (2) (3) (4) (6) (2.1) busca endereços das instruções Busca dados e instruções Unidade de Controle Sistemas de Entradae Saída Arquitetura de von Neumann Ciclo de Execução O ciclo de execução diz respeito à forma com que uma instrução é executada pela CPU, os caminhos que ela deve fazer e as unidades funcionais pelas quais ela passará, ou seja, descreve como o hardware trabalha com as instruções que serão executadas. Estes dispositivos evoluíram com o tempo, existindo na atualidade muitas variantes que no início da informática pareciam impossíveis. 15 Unidade de Controle Sistemas de Entrada e Saída (5)(1) (2) (3) (4) (6) (2.1) busca endereços das instruções Busca dados e instruções Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann Ciclo de Execução 1. A unidade de controle busca a próxima instrução do programa na memória principal; 2. O contador de programa é usado pela unidade de controle para determinar onde a instrução está localizada; 3. A instrução é decodificada para uma linguagem que a unidade lógica aritmética possa entender; 4. Os operandos de dados requeridos para executar a instrução são carregados da memória e colocados em registradores; 5. A unidade lógica aritmética executa a instrução e coloca os resultados em registradores ou na memória. Fonte: Adaptado de Gatto (2018) Unidade de Controle Sistemas de Entrada e Saída Arquitetura de von Neumann Exemplo 01 17 Unidade de Controle Sistemas de Entrada e Saída [SOMAR 10 + 20] 1. Um comando de entrada inicial é iniciado ( Entrada do Dado) 2. A unidade de controle verifica na memória principal se existe algum dado de entrada em uma de suas posições. 3. Uma vez identificado o dado, o mesmo é inserido em uma posição no Registrador A. (Valor 10) 4. Inicia-se um novo ciclo de instrução 5. Uma vez identificado o novo dado, o mesmo é inserido em uma posição no Registrador B. (Valor 20) 6. Inicia-se um novo ciclo de instrução 7. Uma vez identificado o novo dado, o mesmo é inserido em uma posição no Registrador C. (Função SOMA) 8. A ULA entra em ação (decodifica) tendo em vista que se trata de uma operação aritmética 9. A ULA executa a operação soma e armazena no Registrador D 10. Inicia-se um novo ciclo de instrução 11. Um comando de entrada solicitando a exibição do resultado é iniciado ( Entrada do Dado) 12. O resultado da soma é exibido Registrador A Registrador B Registrador C Registrador D Arquitetura de von Neumann Exemplo 02 – [SOMAR 1 + 2] 18 Comandos em Linguagem Assembly Arquitetura de von Neumann 19 OBSERVAÇÕES: Um computador digital moderno lê metodicamente um programa de computador e o executa, uma instrução de cada vez, em ordem sequencial. Pode haver MILHÕES OU CENTENAS DE MILHÕES DE CICLOS DE MÁQUINA a serem executados em um programa. Entretanto, como a máquina funciona com muita rapidez processando milhões de instruções por segundo, programas extremamente grandes podem ser executados em poucos instantes. Os computadores grandes são medidos em CICLOS DE MÁQUINA, OU EM MIP'S (MILHÕES DE INSTRUÇÕES POR SEGUNDO). Ciclo de Máquina - Resumo Arquitetura de von Neumann Gargalo de von Neumann O gargalo de von Neumann é caracterizado pela maior velocidade de processamento do processador em relação ao que a memória pode servir a ele. Isso acontece devido a memória não conseguir trabalhar em frequências tão altas quanto a CPU, fazendo com que a CPU fique ociosa por um certo tempo. Computadores Desktops, Notebooks, Smartphones, SmartTV entre outros utilizam de arquiteturas derivadas a de Von Neumann. A maioria deles possuem uma CPU, Memória e dispositivos de entrada e saída. Entretanto, com algumas diferenças como a separação em seu funcionamento da memória RAM e a do HD. Essa estratégia visa separar o carregamento dos programas em execução e outra para salvar os dados e os programas, além de trabalhar em frequências altíssimas comparadas a da época. (5)(1) (2) (3) (4) (6) (2.1) Unidade de Controle Sistemas de Entrada e Saída ? Arquitetura de Computadores Aula 06 – Arquitetura de von Neumann Professores: Ivanildo Melo ivanildo.melo@paulista.ifpe.edu.br Rosangela Melo rosangela.melo@paulista.ifpe.edu.br
Compartilhar