A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Introdução à Arquitetura e Organização.

Apresentações semelhantes


Apresentação em tema: "Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Introdução à Arquitetura e Organização."— Transcrição da apresentação:

1 Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização Processadores Carga Horária: 60 horas Faculdade Latino Americana

2 2Org. e Arq. de Computadores I Composição básica de um Computador eletrônico digital Processador Processador Memória Memória Dispositivos de entrada e saída interligados Dispositivos de entrada e saída interligados Composição básica de um Computador eletrônico digital Processador Processador Memória Memória Dispositivos de entrada e saída interligados Dispositivos de entrada e saída interligados Organização Básica de Computadores Memória Principal Memória Secundária

3 3Org. e Arq. de Computadores I Organização de um computador simples, em torno de um barramento, com um processador e dois dispositivos de E/S. Organização Básica de Computadores

4 4Org. e Arq. de Computadores I Componentes de um computador: visão global Organização Básica de Computadores

5 5Org. e Arq. de Computadores I Unidade Central de Processamento – UCP (Central Processing Unity – CPU) "cérebro" do computador. "cérebro" do computador. Função: executar os programas armazenados na memória principal. O processador busca cada instrução na memória, examina-a e executa uma após outra. Função: executar os programas armazenados na memória principal. O processador busca cada instrução na memória, examina-a e executa uma após outra. Unidade Central de Processamento – UCP (Central Processing Unity – CPU) "cérebro" do computador. "cérebro" do computador. Função: executar os programas armazenados na memória principal. O processador busca cada instrução na memória, examina-a e executa uma após outra. Função: executar os programas armazenados na memória principal. O processador busca cada instrução na memória, examina-a e executa uma após outra. Organização Básica de Computadores

6 6Org. e Arq. de Computadores I Operações realizadas pela UCP Processamento operações aritméticas e lógicas operações aritméticas e lógicas movimentação de dados movimentação de dados desvios desvios operações de entrada ou saída operações de entrada ou saídaControle Busca, interpretação e controle da execução das instruções. Busca, interpretação e controle da execução das instruções. Controle da ação dos demais componentes do sistema de computação (memória, entrada/saída). Controle da ação dos demais componentes do sistema de computação (memória, entrada/saída). Operações realizadas pela UCP Processamento operações aritméticas e lógicas operações aritméticas e lógicas movimentação de dados movimentação de dados desvios desvios operações de entrada ou saída operações de entrada ou saídaControle Busca, interpretação e controle da execução das instruções. Busca, interpretação e controle da execução das instruções. Controle da ação dos demais componentes do sistema de computação (memória, entrada/saída). Controle da ação dos demais componentes do sistema de computação (memória, entrada/saída). Organização Básica de Computadores

7 7Org. e Arq. de Computadores I UCP - Componentes fundamentais Unidade de Controle Unidade Aritmética e Lógica Registros (Registradores) Sistemas de Comunicação (Barramentos) UCP - Componentes fundamentais Unidade de Controle Unidade Aritmética e Lógica Registros (Registradores) Sistemas de Comunicação (Barramentos) Organização Básica de Computadores

8 8Org. e Arq. de Computadores I UC - Unidade de Controle Funções: busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador. Envia ordens de cálculo para a UAL, que indica os valores a processar, e os coloca nos registradores para esse efeito. A partir da UC a informação é transferida para as outras partes que constituem o computador, como a memória, os sistemas de E/S, etc.. UC - Unidade de Controle Funções: busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador. Envia ordens de cálculo para a UAL, que indica os valores a processar, e os coloca nos registradores para esse efeito. A partir da UC a informação é transferida para as outras partes que constituem o computador, como a memória, os sistemas de E/S, etc.. Organização Básica de Computadores

9 9Org. e Arq. de Computadores I UAL - Unidade Aritmética e Lógica Função: a efetiva execução das instruções. Aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as operações aritméticas e lógicas (soma, subtração, multiplicação, divisão, AND, OR, XOR, complemento, deslocamento, incremento e decremento). Processadores modernos utilizam mais de uma UAL. UAL - Unidade Aritmética e Lógica Função: a efetiva execução das instruções. Aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as operações aritméticas e lógicas (soma, subtração, multiplicação, divisão, AND, OR, XOR, complemento, deslocamento, incremento e decremento). Processadores modernos utilizam mais de uma UAL. Organização Básica de Computadores

10 10Org. e Arq. de Computadores I Registradores Função: armazenamento de dados e resultados que serão usados pela UAL. Servem de memória auxiliar básica para a UAL. Classificação (atual): registradores de uso geral e registradores de uso específico. Em geral, os registradores de dados da UCP têm uma largura (quantidade de bits que podem armazenar) igual ao tamanho estabelecido pelo fabricante para a palavra do referido processador. A quantidade e o emprego dos registradores variam bastante de modelo para modelo de UCP. Organização Básica de Computadores

11 11Org. e Arq. de Computadores I Barramentos Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais de controle e instruções Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais de controle e instruções Tipos: barramentos internos e externos ao processador Tipos: barramentos internos e externos ao processadorBarramentos Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais de controle e instruções Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais de controle e instruções Tipos: barramentos internos e externos ao processador Tipos: barramentos internos e externos ao processador Organização Básica de Computadores

12 12Org. e Arq. de Computadores I Organização Básica de Computadores Caminho de dados de uma Máquina típica de Von Neumann.

13 13Org. e Arq. de Computadores I É possível escrever um programa que simula a função de um processador. Esse programa não precisa, necessariamente, ser executado por um processador eletrônico. Um programa pode ser executado por outro programa que busque, decodifique e execute suas instruções. Denominação de tal programa: interpretador É possível escrever um programa que simula a função de um processador. Esse programa não precisa, necessariamente, ser executado por um processador eletrônico. Um programa pode ser executado por outro programa que busque, decodifique e execute suas instruções. Denominação de tal programa: interpretador Execução de Instruções

14 14Org. e Arq. de Computadores I CISC - Complex Instruction Set Computer CISC - Complex Instruction Set Computer Tecnologia mais antiga e usada para famílias de computadores compatíveis em nível de software. Número maior de instruções (~200 a 300 instruções). Uso extensivo de interpretação (principalmente para modelos mais baratos). CISC - Complex Instruction Set Computer CISC - Complex Instruction Set Computer Tecnologia mais antiga e usada para famílias de computadores compatíveis em nível de software. Número maior de instruções (~200 a 300 instruções). Uso extensivo de interpretação (principalmente para modelos mais baratos). RISC versus CISC

15 15Org. e Arq. de Computadores I RISC - Reduced Instruction Set Computer RISC - Reduced Instruction Set Computer Processador com pequeno número de instruções muito simples. Primeiro: RISC I. Instruções capazes de serem executadas em um único ciclo do caminho de dados. RISC - Reduced Instruction Set Computer RISC - Reduced Instruction Set Computer Processador com pequeno número de instruções muito simples. Primeiro: RISC I. Instruções capazes de serem executadas em um único ciclo do caminho de dados. RISC versus CISC

16 16Org. e Arq. de Computadores I Questão: Porque então a tecnologia RISC não suplantou a CISC ? Problemas de compatibilidade com máquinas antigas com software já desenvolvido. Aparecimento de soluções híbridas: Por exemplo, a INTEL usa RISC para instruções de uso mais freqüente (Núcleo RISC) e interpretação para instruções mais complexas e de uso menos freqüente. Questão: Porque então a tecnologia RISC não suplantou a CISC ? Problemas de compatibilidade com máquinas antigas com software já desenvolvido. Aparecimento de soluções híbridas: Por exemplo, a INTEL usa RISC para instruções de uso mais freqüente (Núcleo RISC) e interpretação para instruções mais complexas e de uso menos freqüente. RISC versus CISC

17 17Org. e Arq. de Computadores I Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do estado da arte da tecnologia. Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do estado da arte da tecnologia. Solução para aumentar a velocidade do processador: Uso de paralelismo. Solução para aumentar a velocidade do processador: Uso de paralelismo. em nível das instruções: um único processador deve executar mais instruções por segundo em nível do processador: vários processadores trabalhando juntos na solução do mesmo problema Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do estado da arte da tecnologia. Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do estado da arte da tecnologia. Solução para aumentar a velocidade do processador: Uso de paralelismo. Solução para aumentar a velocidade do processador: Uso de paralelismo. em nível das instruções: um único processador deve executar mais instruções por segundo em nível do processador: vários processadores trabalhando juntos na solução do mesmo problema Princípios de Projeto para Computadores Modernos

18 18Org. e Arq. de Computadores I Paralelismo ao Nível das Instruções Maior gargalo para a velocidade de execução de instruções é o acesso a memória Execução em Pipeline O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela. O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela. Paralelismo ao Nível das Instruções Maior gargalo para a velocidade de execução de instruções é o acesso a memória Execução em Pipeline O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela. O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela. Princípios de Projeto para Computadores Modernos

19 19Org. e Arq. de Computadores I Princípios de Projeto para Computadores Modernos (a) Pipeline de 5 estágios. (b) Estado de cada um dos estágios em função do tempo (estão ilustrados 9 períodos do clock).

20 20Org. e Arq. de Computadores I Paralelismo ao Nível das Instruções Funcionamento de um pipeline de 5 estágios O estágio 1 busca a instrução da memória e armazena num buffer até chegar a hora de executa-la O estágio 1 busca a instrução da memória e armazena num buffer até chegar a hora de executa-la No estágio 2 ocorre a decodificação da instrução, determinando tipo e operandos No estágio 2 ocorre a decodificação da instrução, determinando tipo e operandos No estágio 3 ocorre a busca dos operandos na memória ou nos registradores No estágio 3 ocorre a busca dos operandos na memória ou nos registradores No estágio 4 tem-se a execução - passagem pelo caminho de dados No estágio 4 tem-se a execução - passagem pelo caminho de dados No estágio 5 o resultado do processamento é escrito num registrador No estágio 5 o resultado do processamento é escrito num registrador Paralelismo ao Nível das Instruções Funcionamento de um pipeline de 5 estágios O estágio 1 busca a instrução da memória e armazena num buffer até chegar a hora de executa-la O estágio 1 busca a instrução da memória e armazena num buffer até chegar a hora de executa-la No estágio 2 ocorre a decodificação da instrução, determinando tipo e operandos No estágio 2 ocorre a decodificação da instrução, determinando tipo e operandos No estágio 3 ocorre a busca dos operandos na memória ou nos registradores No estágio 3 ocorre a busca dos operandos na memória ou nos registradores No estágio 4 tem-se a execução - passagem pelo caminho de dados No estágio 4 tem-se a execução - passagem pelo caminho de dados No estágio 5 o resultado do processamento é escrito num registrador No estágio 5 o resultado do processamento é escrito num registrador Princípios de Projeto para Computadores Modernos

21 21Org. e Arq. de Computadores I Paralelismo ao Nível das Instruções A idéia básica do pipeline é a mesma de uma linha de produção em série. Vários processamentos estão sendo executados ao mesmo tempo. A figura mostra o funcionamento do pipeline, mostrando que os estágios de cada processamento são aplicados a várias instruções ao mesmo tempo. Exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a instrução 1 está sendo decodificada enquanto que a instrução 2 está sendo lida, no tempo 3 a instrução 1 está buscando dados, a instrução 2 está sendo decodificada e a instrução 3 está sendo lida, e assim por diante. Exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a instrução 1 está sendo decodificada enquanto que a instrução 2 está sendo lida, no tempo 3 a instrução 1 está buscando dados, a instrução 2 está sendo decodificada e a instrução 3 está sendo lida, e assim por diante. Paralelismo ao Nível das Instruções A idéia básica do pipeline é a mesma de uma linha de produção em série. Vários processamentos estão sendo executados ao mesmo tempo. A figura mostra o funcionamento do pipeline, mostrando que os estágios de cada processamento são aplicados a várias instruções ao mesmo tempo. Exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a instrução 1 está sendo decodificada enquanto que a instrução 2 está sendo lida, no tempo 3 a instrução 1 está buscando dados, a instrução 2 está sendo decodificada e a instrução 3 está sendo lida, e assim por diante. Exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a instrução 1 está sendo decodificada enquanto que a instrução 2 está sendo lida, no tempo 3 a instrução 1 está buscando dados, a instrução 2 está sendo decodificada e a instrução 3 está sendo lida, e assim por diante. Princípios de Projeto para Computadores Modernos

22 22Org. e Arq. de Computadores I Paralelismo ao Nível das Instruções Arquiteturas Superescalares Se um pipeline é bom, com certeza dois serão ainda melhor. Se um pipeline é bom, com certeza dois serão ainda melhor. Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline. Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline. Paralelismo ao Nível das Instruções Arquiteturas Superescalares Se um pipeline é bom, com certeza dois serão ainda melhor. Se um pipeline é bom, com certeza dois serão ainda melhor. Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline. Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline. Princípios de Projeto para Computadores Modernos

23 23Org. e Arq. de Computadores I Paralelismo ao Nível das Instruções Arquiteturas Superescalares A execução das instruções é feita em paralelo e: não pode haver conflitos pelo uso de recursos (mesmo registro, por exemplo) não pode haver conflitos pelo uso de recursos (mesmo registro, por exemplo) o resultado de uma instrução não pode depender do resultado da outra o resultado de uma instrução não pode depender do resultado da outra pode se pensar em pipelines com leitura inicial de 3 ou mais instruções, porém o hardware fica complexo. pode se pensar em pipelines com leitura inicial de 3 ou mais instruções, porém o hardware fica complexo. Paralelismo ao Nível das Instruções Arquiteturas Superescalares A execução das instruções é feita em paralelo e: não pode haver conflitos pelo uso de recursos (mesmo registro, por exemplo) não pode haver conflitos pelo uso de recursos (mesmo registro, por exemplo) o resultado de uma instrução não pode depender do resultado da outra o resultado de uma instrução não pode depender do resultado da outra pode se pensar em pipelines com leitura inicial de 3 ou mais instruções, porém o hardware fica complexo. pode se pensar em pipelines com leitura inicial de 3 ou mais instruções, porém o hardware fica complexo. Princípios de Projeto para Computadores Modernos

24 24Org. e Arq. de Computadores I Paralelismo ao Nível do Processador A medida que os processadores vão ficando mais rápidos: aparecem limitações de ordem física (velocidade da luz em fios de cobre ou fibras ópticas) aparecem limitações de ordem física (velocidade da luz em fios de cobre ou fibras ópticas) maior produção de calor pelo chip (problema para dissipar essa energia) maior produção de calor pelo chip (problema para dissipar essa energia) Operação do processador em pipeline ou em superescalar possibilita ganhos de 5 a ~10 vezes. Para ganhos maiores, 50-100 ou mais vezes, deve-se projetar computador com mais de 1 processador Paralelismo ao Nível do Processador A medida que os processadores vão ficando mais rápidos: aparecem limitações de ordem física (velocidade da luz em fios de cobre ou fibras ópticas) aparecem limitações de ordem física (velocidade da luz em fios de cobre ou fibras ópticas) maior produção de calor pelo chip (problema para dissipar essa energia) maior produção de calor pelo chip (problema para dissipar essa energia) Operação do processador em pipeline ou em superescalar possibilita ganhos de 5 a ~10 vezes. Para ganhos maiores, 50-100 ou mais vezes, deve-se projetar computador com mais de 1 processador Princípios de Projeto para Computadores Modernos

25 25Org. e Arq. de Computadores I Multiprocessadores é composto de vários processadores independentes compartilham uma mesma memória por um barramento principal ou compartilham uma memória e tem memórias locais executam processamentos locais liberam tráfego do barramento principal é necessário gerenciar conflitos Multiprocessadores é composto de vários processadores independentes compartilham uma mesma memória por um barramento principal ou compartilham uma memória e tem memórias locais executam processamentos locais liberam tráfego do barramento principal é necessário gerenciar conflitos Princípios de Projeto para Computadores Modernos

26 26Org. e Arq. de Computadores I Multicomputadores Sistemas com um grande número de computadores interconectados Não existe nenhum tipo de memória comum sendo compartilhada Comunicação entre computadores é feita através de troca de mensagens a uma velocidade bem alta Computador não precisa estar ligado diretamente com todos os outros (uso de topologias em árvore, anéis, etc..) Mensagens são roteadas do computador fonte para o destino (usando computadores intermediários) Existem em operação sistemas multicomputadores com mais de 10000 computadores Multicomputadores Sistemas com um grande número de computadores interconectados Não existe nenhum tipo de memória comum sendo compartilhada Comunicação entre computadores é feita através de troca de mensagens a uma velocidade bem alta Computador não precisa estar ligado diretamente com todos os outros (uso de topologias em árvore, anéis, etc..) Mensagens são roteadas do computador fonte para o destino (usando computadores intermediários) Existem em operação sistemas multicomputadores com mais de 10000 computadores Princípios de Projeto para Computadores Modernos

27 27Org. e Arq. de Computadores I (a) Multiprocessador organizado em torno de um único barramento. (b) Multicomputador com memórias locais. (a) Multiprocessador organizado em torno de um único barramento. (b) Multicomputador com memórias locais. Princípios de Projeto para Computadores Modernos

28 28Org. e Arq. de Computadores I Importante: Como sistemas multiprocessadores são mais fáceis de programar e sistemas multicomputadores são mais fáceis de construir, existem sistemas híbridos. Tais computadores dão a ilusão de compartilhamento de memória, sem arcar com o ônus de implementá-lo diretamente. Importante: Princípios de Projeto para Computadores Modernos Problema: Problema: Sistemas com muitos processadores (>64) são de difícil implementação. Dificuldade está na conexão dos processadores a memória.


Carregar ppt "Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Introdução à Arquitetura e Organização."

Apresentações semelhantes


Anúncios Google