28
Prof.: Prof.: Vagner Pinto Borges Vagner Pinto Borges [email protected] [email protected] Introdução à Arquitetura e Organização Processadores Carga Horária: 60 horas Faculdade Latino Americana

Prof.: Vagner Pinto Borges Prof.: Vagner Pinto [email protected] [email protected] Introdução à Arquitetura e Organização

Embed Size (px)

Citation preview

Page 1: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

Prof.:Prof.: Vagner Pinto BorgesVagner Pinto Borges

[email protected]@latinoamericana.edu.br

Prof.:Prof.: Vagner Pinto BorgesVagner Pinto Borges

[email protected]@latinoamericana.edu.br

Introdução à Arquitetura e Organização Processadores

Introdução à Arquitetura e Organização Processadores

Carga Horária: 60 horasCarga Horária: 60 horas

Faculdade Latino Americana

Page 2: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

22Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Composição básica de um Computador Composição básica de um Computador eletrônico digitaleletrônico digital

ProcessadorProcessador

Memória Memória

Dispositivos de entrada e saída interligadosDispositivos de entrada e saída interligados

Composição básica de um Computador Composição básica de um Computador eletrônico digitaleletrônico digital

ProcessadorProcessador

Memória Memória

Dispositivos de entrada e saída interligadosDispositivos de entrada e saída interligados

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Memória PrincipalMemória Principal

Memória SecundáriaMemória Secundária

Page 3: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

33Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Organização de um computador simples, em torno de um Organização de um computador simples, em torno de um barramento, com um processador e dois dispositivos de E/S.barramento, com um processador e dois dispositivos de E/S.Organização de um computador simples, em torno de um Organização de um computador simples, em torno de um barramento, com um processador e dois dispositivos de E/S.barramento, com um processador e dois dispositivos de E/S.

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 4: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

44Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Componentes de um computador: visão globalComponentes de um computador: visão globalComponentes de um computador: visão globalComponentes de um computador: visão global

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 5: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

55Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Unidade Central de Processamento – UCP (Unidade Central de Processamento – UCP (Central Central Processing UnityProcessing Unity – CPU) – CPU)

"cérebro" do computador. "cérebro" do computador. FunçãoFunção:  executar os programas armazenados na :  executar os programas armazenados na

memória principal. O processador busca cada memória principal. O processador busca cada instrução na memória, examina-a e executa uma após instrução na memória, examina-a e executa uma após outra. outra.

Unidade Central de Processamento – UCP (Unidade Central de Processamento – UCP (Central Central Processing UnityProcessing Unity – CPU) – CPU)

"cérebro" do computador. "cérebro" do computador. FunçãoFunção:  executar os programas armazenados na :  executar os programas armazenados na

memória principal. O processador busca cada memória principal. O processador busca cada instrução na memória, examina-a e executa uma após instrução na memória, examina-a e executa uma após outra. outra.

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 6: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

66Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Operações realizadas pela UCPOperações realizadas pela UCP

ProcessamentoProcessamento operações aritméticas e lógicasoperações aritméticas e lógicas movimentação de dadosmovimentação de dados desviosdesvios operações de entrada ou saídaoperações de entrada ou saída

ControleControle Busca, interpretação e controle da execução das Busca, interpretação e controle da execução das

instruções.instruções. Controle da ação dos demais componentes do sistema de Controle da ação dos demais componentes do sistema de

computação (memória, entrada/saída).computação (memória, entrada/saída).

Operações realizadas pela UCPOperações realizadas pela UCP

ProcessamentoProcessamento operações aritméticas e lógicasoperações aritméticas e lógicas movimentação de dadosmovimentação de dados desviosdesvios operações de entrada ou saídaoperações de entrada ou saída

ControleControle Busca, interpretação e controle da execução das Busca, interpretação e controle da execução das

instruções.instruções. Controle da ação dos demais componentes do sistema de Controle da ação dos demais componentes do sistema de

computação (memória, entrada/saída).computação (memória, entrada/saída).

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 7: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

77Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

UCP - Componentes fundamentaisUCP - Componentes fundamentais

Unidade de ControleUnidade de Controle

Unidade Aritmética e LógicaUnidade Aritmética e Lógica

Registros (Registradores)Registros (Registradores)

Sistemas de Comunicação (Barramentos)Sistemas de Comunicação (Barramentos)

UCP - Componentes fundamentaisUCP - Componentes fundamentais

Unidade de ControleUnidade de Controle

Unidade Aritmética e LógicaUnidade Aritmética e Lógica

Registros (Registradores)Registros (Registradores)

Sistemas de Comunicação (Barramentos)Sistemas de Comunicação (Barramentos)

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 8: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

88Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

UC - Unidade de ControleUC - Unidade de Controle

FunçõesFunções: busca, interpretação e controle de : busca, interpretação e controle de execução das instruções, e o controle dos demais execução das instruções, e o controle dos demais componentes do computador.componentes do computador.

Envia ordens de cálculo para a UAL, que indica os Envia ordens de cálculo para a UAL, que indica os valores a processar, e os coloca nos registradores valores a processar, e os coloca nos registradores para esse efeito. para esse efeito.

A partir da UC a informação é transferida para as A partir da UC a informação é transferida para as outras partes que constituem o computador, como outras partes que constituem o computador, como a memória, os sistemas de E/S, etc..a memória, os sistemas de E/S, etc..

UC - Unidade de ControleUC - Unidade de Controle

FunçõesFunções: busca, interpretação e controle de : busca, interpretação e controle de execução das instruções, e o controle dos demais execução das instruções, e o controle dos demais componentes do computador.componentes do computador.

Envia ordens de cálculo para a UAL, que indica os Envia ordens de cálculo para a UAL, que indica os valores a processar, e os coloca nos registradores valores a processar, e os coloca nos registradores para esse efeito. para esse efeito.

A partir da UC a informação é transferida para as A partir da UC a informação é transferida para as outras partes que constituem o computador, como outras partes que constituem o computador, como a memória, os sistemas de E/S, etc..a memória, os sistemas de E/S, etc..

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 9: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

99Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

UAL - Unidade Aritmética e LógicaUAL - Unidade Aritmética e Lógica

FunçãoFunção: a efetiva execução das instruções.: a efetiva execução das instruções.

Aglomerado de circuitos lógicos e componentes Aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as eletrônicos simples que, integrados, realizam as operações aritméticas e lógicas (soma, subtração, operações aritméticas e lógicas (soma, subtração, multiplicação, divisão, AND, OR, XOR, complemento, multiplicação, divisão, AND, OR, XOR, complemento, deslocamento, incremento e decremento).deslocamento, incremento e decremento).

Processadores modernos utilizam mais de uma UAL. Processadores modernos utilizam mais de uma UAL.

UAL - Unidade Aritmética e LógicaUAL - Unidade Aritmética e Lógica

FunçãoFunção: a efetiva execução das instruções.: a efetiva execução das instruções.

Aglomerado de circuitos lógicos e componentes Aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as eletrônicos simples que, integrados, realizam as operações aritméticas e lógicas (soma, subtração, operações aritméticas e lógicas (soma, subtração, multiplicação, divisão, AND, OR, XOR, complemento, multiplicação, divisão, AND, OR, XOR, complemento, deslocamento, incremento e decremento).deslocamento, incremento e decremento).

Processadores modernos utilizam mais de uma UAL. Processadores modernos utilizam mais de uma UAL.

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 10: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1010Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

RegistradoresRegistradores

Função:Função: armazenamento de dados e resultados que serão armazenamento de dados e resultados que serão usados pela UAL. usados pela UAL. Servem de memória auxiliar básica para a UAL.Servem de memória auxiliar básica para a UAL.Classificação (atual): registradores de uso geral e Classificação (atual): registradores de uso geral e registradores de uso específico.registradores de uso específico.Em geral, os registradores de dados da UCP têm uma largura Em geral, os registradores de dados da UCP têm uma largura (quantidade de bits que podem armazenar) igual ao tamanho (quantidade de bits que podem armazenar) igual ao tamanho estabelecido pelo fabricante para a estabelecido pelo fabricante para a palavra do referido palavra do referido processadorprocessador..

A quantidade e o emprego dos registradores variam bastante A quantidade e o emprego dos registradores variam bastante de modelo para modelo de UCPde modelo para modelo de UCP..

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 11: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1111Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

BarramentosBarramentos

Conjunto de fios paralelos que permite a transmissão Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais de controle e instruçõesde dados, endereços, sinais de controle e instruções

TiposTipos: barramentos internos e externos ao : barramentos internos e externos ao processadorprocessador

BarramentosBarramentos

Conjunto de fios paralelos que permite a transmissão Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais de controle e instruçõesde dados, endereços, sinais de controle e instruções

TiposTipos: barramentos internos e externos ao : barramentos internos e externos ao processadorprocessador

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Page 12: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1212Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Organização Básica de Organização Básica de ComputadoresComputadores

Organização Básica de Organização Básica de ComputadoresComputadores

Caminho de dados de uma Máquina típica de Von Neumann.Caminho de dados de uma Máquina típica de Von Neumann.

Page 13: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1313Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

É possível escrever um programa que simula a É possível escrever um programa que simula a função de um processador.função de um processador.

Esse programa não precisa, necessariamente, ser Esse programa não precisa, necessariamente, ser executado por um processador eletrônico.executado por um processador eletrônico.

Um programa pode ser executado por outro Um programa pode ser executado por outro programa que busque, decodifique e execute suas programa que busque, decodifique e execute suas instruções.instruções.

Denominação de tal programa: Denominação de tal programa: interpretadorinterpretador

É possível escrever um programa que simula a É possível escrever um programa que simula a função de um processador.função de um processador.

Esse programa não precisa, necessariamente, ser Esse programa não precisa, necessariamente, ser executado por um processador eletrônico.executado por um processador eletrônico.

Um programa pode ser executado por outro Um programa pode ser executado por outro programa que busque, decodifique e execute suas programa que busque, decodifique e execute suas instruções.instruções.

Denominação de tal programa: Denominação de tal programa: interpretadorinterpretador

Execução de InstruçõesExecução de InstruçõesExecução de InstruçõesExecução de Instruções

Page 14: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1414Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

CISC - Complex Instruction Set Computer  CISC - Complex Instruction Set Computer 

Tecnologia mais antiga e usada para famílias de Tecnologia mais antiga e usada para famílias de computadores compatíveis em nível de software.computadores compatíveis em nível de software.

Número maior de instruções (~200 a 300 Número maior de instruções (~200 a 300 instruções).instruções).

Uso extensivo de interpretação (principalmente para Uso extensivo de interpretação (principalmente para modelos mais baratos).modelos mais baratos).

CISC - Complex Instruction Set Computer  CISC - Complex Instruction Set Computer 

Tecnologia mais antiga e usada para famílias de Tecnologia mais antiga e usada para famílias de computadores compatíveis em nível de software.computadores compatíveis em nível de software.

Número maior de instruções (~200 a 300 Número maior de instruções (~200 a 300 instruções).instruções).

Uso extensivo de interpretação (principalmente para Uso extensivo de interpretação (principalmente para modelos mais baratos).modelos mais baratos).

RISC RISC versusversus CISC CISCRISC RISC versusversus CISC CISC

Page 15: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1515Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

RISC - Reduced Instruction Set Computer  RISC - Reduced Instruction Set Computer 

Processador com pequeno número de instruções Processador com pequeno número de instruções muito simples. Primeiro: RISC I.muito simples. Primeiro: RISC I.

Instruções capazes de serem executadas em um Instruções capazes de serem executadas em um único ciclo do caminho de dados.único ciclo do caminho de dados.

RISC - Reduced Instruction Set Computer  RISC - Reduced Instruction Set Computer 

Processador com pequeno número de instruções Processador com pequeno número de instruções muito simples. Primeiro: RISC I.muito simples. Primeiro: RISC I.

Instruções capazes de serem executadas em um Instruções capazes de serem executadas em um único ciclo do caminho de dados.único ciclo do caminho de dados.

RISC RISC versusversus CISC CISCRISC RISC versusversus CISC CISC

Page 16: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1616Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

QuestãoQuestão: Porque então a tecnologia RISC não : Porque então a tecnologia RISC não suplantou a CISC ?suplantou a CISC ?

Problemas de compatibilidade com máquinas antigas Problemas de compatibilidade com máquinas antigas com software já desenvolvido.com software já desenvolvido.

Aparecimento de soluções híbridas: Por exemplo, a Aparecimento de soluções híbridas: Por exemplo, a INTEL usa RISC para instruções de uso mais freqüente INTEL usa RISC para instruções de uso mais freqüente ((Núcleo RISCNúcleo RISC) e interpretação para instruções mais ) e interpretação para instruções mais complexas e de uso menos freqüente.complexas e de uso menos freqüente.

QuestãoQuestão: Porque então a tecnologia RISC não : Porque então a tecnologia RISC não suplantou a CISC ?suplantou a CISC ?

Problemas de compatibilidade com máquinas antigas Problemas de compatibilidade com máquinas antigas com software já desenvolvido.com software já desenvolvido.

Aparecimento de soluções híbridas: Por exemplo, a Aparecimento de soluções híbridas: Por exemplo, a INTEL usa RISC para instruções de uso mais freqüente INTEL usa RISC para instruções de uso mais freqüente ((Núcleo RISCNúcleo RISC) e interpretação para instruções mais ) e interpretação para instruções mais complexas e de uso menos freqüente.complexas e de uso menos freqüente.

RISC RISC versusversus CISC CISCRISC RISC versusversus CISC CISC

Page 17: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1717Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Princípios do projeto RISC que os arquitetos de Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir:processadores de propósito geral devem seguir:

Existe limite tecnológico para desenvolvimento do Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do hardware do chip de processamento que depende do estado da arte da tecnologia.estado da arte da tecnologia.

Solução para aumentar a velocidade do processador: Solução para aumentar a velocidade do processador: Uso de Uso de paralelismoparalelismo..

em nível das instruçõesem nível das instruções: um único processador deve executar : um único processador deve executar

mais instruções por segundomais instruções por segundo

em nível do processadorem nível do processador: vários processadores trabalhando : vários processadores trabalhando

juntos na solução do mesmo problemajuntos na solução do mesmo problema

Princípios do projeto RISC que os arquitetos de Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir:processadores de propósito geral devem seguir:

Existe limite tecnológico para desenvolvimento do Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do hardware do chip de processamento que depende do estado da arte da tecnologia.estado da arte da tecnologia.

Solução para aumentar a velocidade do processador: Solução para aumentar a velocidade do processador: Uso de Uso de paralelismoparalelismo..

em nível das instruçõesem nível das instruções: um único processador deve executar : um único processador deve executar

mais instruções por segundomais instruções por segundo

em nível do processadorem nível do processador: vários processadores trabalhando : vários processadores trabalhando

juntos na solução do mesmo problemajuntos na solução do mesmo problema

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 18: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1818Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

Maior gargalo para a velocidade de execução de Maior gargalo para a velocidade de execução de instruções é o acesso a memóriainstruções é o acesso a memória

Execução em PipelineExecução em Pipeline

O processamento em pipeline divide a execução de instruções O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela.hardware dedicado exclusivamente a ela.

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

Maior gargalo para a velocidade de execução de Maior gargalo para a velocidade de execução de instruções é o acesso a memóriainstruções é o acesso a memória

Execução em PipelineExecução em Pipeline

O processamento em pipeline divide a execução de instruções O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela.hardware dedicado exclusivamente a ela.

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 19: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

1919Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos 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).

Page 20: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2020Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

Funcionamento de um pipeline de 5 estágiosFuncionamento de um pipeline de 5 estágios

O estágio 1 busca a instrução da memória e armazena num buffer O estágio 1 busca a instrução da memória e armazena num buffer até chegar a hora de executa-laaté chegar a hora de executa-la

No estágio 2 ocorre a decodificação da instrução, determinando No estágio 2 ocorre a decodificação da instrução, determinando tipo e operandostipo e operandos

No estágio 3 ocorre a busca dos operandos na memória ou nos No estágio 3 ocorre a busca dos operandos na memória ou nos registradoresregistradores

No estágio 4 tem-se a execução - passagem pelo caminho de No estágio 4 tem-se a execução - passagem pelo caminho de dadosdados

No estágio 5 o resultado do processamento é escrito num No estágio 5 o resultado do processamento é escrito num registradorregistrador

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

Funcionamento de um pipeline de 5 estágiosFuncionamento de um pipeline de 5 estágios

O estágio 1 busca a instrução da memória e armazena num buffer O estágio 1 busca a instrução da memória e armazena num buffer até chegar a hora de executa-laaté chegar a hora de executa-la

No estágio 2 ocorre a decodificação da instrução, determinando No estágio 2 ocorre a decodificação da instrução, determinando tipo e operandostipo e operandos

No estágio 3 ocorre a busca dos operandos na memória ou nos No estágio 3 ocorre a busca dos operandos na memória ou nos registradoresregistradores

No estágio 4 tem-se a execução - passagem pelo caminho de No estágio 4 tem-se a execução - passagem pelo caminho de dadosdados

No estágio 5 o resultado do processamento é escrito num No estágio 5 o resultado do processamento é escrito num registradorregistrador

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 21: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2121Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

A idéia básica do pipeline é a mesma de uma linha de A idéia básica do pipeline é a mesma de uma linha de produção em série. Vários processamentos estão sendo produção em série. Vários processamentos estão sendo executados ao mesmo tempo.executados ao mesmo tempo.

A figura mostra o funcionamento do pipeline, mostrando que A figura mostra o funcionamento do pipeline, mostrando que os estágios de cada processamento são aplicados a várias os estágios de cada processamento são aplicados a várias instruções ao mesmo tempoinstruções ao mesmo tempo.. Exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a 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á 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 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, instrução 2 está sendo decodificada e a instrução 3 está sendo lida, e assim por diante. e assim por diante.

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

A idéia básica do pipeline é a mesma de uma linha de A idéia básica do pipeline é a mesma de uma linha de produção em série. Vários processamentos estão sendo produção em série. Vários processamentos estão sendo executados ao mesmo tempo.executados ao mesmo tempo.

A figura mostra o funcionamento do pipeline, mostrando que A figura mostra o funcionamento do pipeline, mostrando que os estágios de cada processamento são aplicados a várias os estágios de cada processamento são aplicados a várias instruções ao mesmo tempoinstruções ao mesmo tempo.. Exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a 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á 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 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, instrução 2 está sendo decodificada e a instrução 3 está sendo lida, e assim por diante. e assim por diante.

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 22: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2222Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

Arquiteturas SuperescalaresArquiteturas Superescalares

Se um pipeline é bom,  com certeza dois serão ainda Se um pipeline é bom,  com certeza dois serão ainda melhor. melhor.

Neste caso, uma única unidade de busca de instruções lê Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline.2 instruções e coloca cada uma em 1 pipeline.

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

Arquiteturas SuperescalaresArquiteturas Superescalares

Se um pipeline é bom,  com certeza dois serão ainda Se um pipeline é bom,  com certeza dois serão ainda melhor. melhor.

Neste caso, uma única unidade de busca de instruções lê Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline.2 instruções e coloca cada uma em 1 pipeline.

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 23: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2323Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

Arquiteturas SuperescalaresArquiteturas Superescalares

A execução das instruções é feita em paralelo e:A execução das instruções é feita em paralelo e: não pode haver conflitos pelo uso de recursos (mesmo não pode haver conflitos pelo uso de recursos (mesmo

registro, por exemplo)registro, por exemplo) o resultado de uma instrução não pode depender do resultado o resultado de uma instrução não pode depender do resultado

da outrada outra pode se pensar em pipelines com leitura inicial de 3 ou mais pode se pensar em pipelines com leitura inicial de 3 ou mais

instruções, porém o hardware fica complexo. instruções, porém o hardware fica complexo.

Paralelismo ao Nível das InstruçõesParalelismo ao Nível das Instruções

Arquiteturas SuperescalaresArquiteturas Superescalares

A execução das instruções é feita em paralelo e:A execução das instruções é feita em paralelo e: não pode haver conflitos pelo uso de recursos (mesmo não pode haver conflitos pelo uso de recursos (mesmo

registro, por exemplo)registro, por exemplo) o resultado de uma instrução não pode depender do resultado o resultado de uma instrução não pode depender do resultado

da outrada outra pode se pensar em pipelines com leitura inicial de 3 ou mais pode se pensar em pipelines com leitura inicial de 3 ou mais

instruções, porém o hardware fica complexo. instruções, porém o hardware fica complexo.

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 24: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2424Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Paralelismo ao Nível do ProcessadorParalelismo ao Nível do Processador

A medida que os processadores vão ficando mais rápidos:A medida que os processadores vão ficando mais rápidos: aparecem limitações de ordem física (velocidade da luz em fios de aparecem limitações de ordem física (velocidade da luz em fios de

cobre ou fibras ópticas)cobre ou fibras ópticas) maior produção de calor pelo chip (problema para dissipar essa maior produção de calor pelo chip (problema para dissipar essa

energia)energia)

Operação do processador em  pipeline ou  em superescalar Operação do processador em  pipeline ou  em superescalar possibilita ganhos de 5 a ~10 vezes.possibilita ganhos de 5 a ~10 vezes.

Para ganhos maiores, 50-100 ou mais vezes, deve-se Para ganhos maiores, 50-100 ou mais vezes, deve-se projetar computador com mais de 1 processadorprojetar computador com mais de 1 processador

Paralelismo ao Nível do ProcessadorParalelismo ao Nível do Processador

A medida que os processadores vão ficando mais rápidos:A medida que os processadores vão ficando mais rápidos: aparecem limitações de ordem física (velocidade da luz em fios de aparecem limitações de ordem física (velocidade da luz em fios de

cobre ou fibras ópticas)cobre ou fibras ópticas) maior produção de calor pelo chip (problema para dissipar essa maior produção de calor pelo chip (problema para dissipar essa

energia)energia)

Operação do processador em  pipeline ou  em superescalar Operação do processador em  pipeline ou  em superescalar possibilita ganhos de 5 a ~10 vezes.possibilita ganhos de 5 a ~10 vezes.

Para ganhos maiores, 50-100 ou mais vezes, deve-se Para ganhos maiores, 50-100 ou mais vezes, deve-se projetar computador com mais de 1 processadorprojetar computador com mais de 1 processador

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 25: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2525Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Multiprocessadores Multiprocessadores

é composto de vários processadores independentesé composto de vários processadores independentes

compartilham  uma mesma memória por um compartilham  uma mesma memória por um barramento principal barramento principal

ou compartilham uma memória e tem memórias locaisou compartilham uma memória e tem memórias locais

executam processamentos locaisexecutam processamentos locais

liberam tráfego do barramento principalliberam tráfego do barramento principal

é necessário gerenciar conflitosé necessário gerenciar conflitos

Multiprocessadores Multiprocessadores

é composto de vários processadores independentesé composto de vários processadores independentes

compartilham  uma mesma memória por um compartilham  uma mesma memória por um barramento principal barramento principal

ou compartilham uma memória e tem memórias locaisou compartilham uma memória e tem memórias locais

executam processamentos locaisexecutam processamentos locais

liberam tráfego do barramento principalliberam tráfego do barramento principal

é necessário gerenciar conflitosé necessário gerenciar conflitos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 26: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2626Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Multicomputadores Multicomputadores Sistemas com um grande número de computadores Sistemas com um grande número de computadores interconectadosinterconectadosNão existe nenhum tipo de memória comum sendo compartilhadaNão existe nenhum tipo de memória comum sendo compartilhadaComunicação entre computadores é feita através de troca de Comunicação entre computadores é feita através de troca de mensagens a uma velocidade bem altamensagens a uma velocidade bem altaComputador não precisa estar ligado diretamente com todos os Computador não precisa estar ligado diretamente com todos os outros (uso de topologias em árvore, anéis, etc..)outros (uso de topologias em árvore, anéis, etc..)Mensagens são roteadas do computador fonte para o destino Mensagens são roteadas do computador fonte para o destino (usando computadores intermediários)(usando computadores intermediários)Existem em operação sistemas multicomputadores com mais de Existem em operação sistemas multicomputadores com mais de 10000 computadores10000 computadores

Multicomputadores Multicomputadores Sistemas com um grande número de computadores Sistemas com um grande número de computadores interconectadosinterconectadosNão existe nenhum tipo de memória comum sendo compartilhadaNão existe nenhum tipo de memória comum sendo compartilhadaComunicação entre computadores é feita através de troca de Comunicação entre computadores é feita através de troca de mensagens a uma velocidade bem altamensagens a uma velocidade bem altaComputador não precisa estar ligado diretamente com todos os Computador não precisa estar ligado diretamente com todos os outros (uso de topologias em árvore, anéis, etc..)outros (uso de topologias em árvore, anéis, etc..)Mensagens são roteadas do computador fonte para o destino Mensagens são roteadas do computador fonte para o destino (usando computadores intermediários)(usando computadores intermediários)Existem em operação sistemas multicomputadores com mais de Existem em operação sistemas multicomputadores com mais de 10000 computadores10000 computadores

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 27: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2727Org. e Arq. de Computadores IOrg. 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.      (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 Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Page 28: Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Borgesvagner@latinoamericana.edu.br vagner@latinoamericana.edu.br Introdução à Arquitetura e Organização

2828Org. e Arq. de Computadores IOrg. e Arq. de Computadores I

Importante: Importante:

Como sistemas multiprocessadores são mais fáceis de Como sistemas multiprocessadores são mais fáceis de programar e sistemas multicomputadores são mais programar e sistemas multicomputadores são mais fáceis de construir, existem fáceis de construir, existem sistemas híbridossistemas híbridos. Tais . Tais computadores dão a ilusão de compartilhamento de computadores dão a ilusão de compartilhamento de memória, sem arcar com o ônus de implementá-lo memória, sem arcar com o ônus de implementá-lo diretamente. diretamente.

Importante: Importante:

Como sistemas multiprocessadores são mais fáceis de Como sistemas multiprocessadores são mais fáceis de programar e sistemas multicomputadores são mais programar e sistemas multicomputadores são mais fáceis de construir, existem fáceis de construir, existem sistemas híbridossistemas híbridos. Tais . Tais computadores dão a ilusão de compartilhamento de computadores dão a ilusão de compartilhamento de memória, sem arcar com o ônus de implementá-lo memória, sem arcar com o ônus de implementá-lo diretamente. diretamente.

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos Modernos

Princípios de Projeto para  Computadores Princípios de Projeto para  Computadores Modernos 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.