Prof.: Vagner Pinto Borges Prof.: Vagner Pinto [email protected]...
Transcript of Prof.: Vagner Pinto Borges Prof.: Vagner Pinto [email protected]...
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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).
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
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
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
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
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
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
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
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
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.