Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline

Tamanho: px
Começar a partir da página:

Download "Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline"

Transcrição

1 Aula 21: UCP: Instrução Jump, Monociclo vs Multiciclo, Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 1 / 47

2 Revisão Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 2 / 47

3 Na Aula Passada Praticamente terminamos a implementação do nosso processador Combinamos os caminhos de dados para cada instrução em um único Através de linhas de controle e componentes de controle, caminho de dados se comporta como esperado Conseguimos executar várias instruções diferentes Mas o projeto não estava completo Faltava a implementação da instrução jump Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 3 / 47

4 Na Aula de Hoje Três objetivos: Completar nossa implementação com a instrução jump Entender a diferença de uma implementação monociclo para uma multiciclo Discutir como um processador pode implementar um pipeline Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 4 / 47

5 A Instrução Jump Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 5 / 47

6 Instrução Jump: Relembrando Instrução de desvio incondicional Sempre alteramos o PC para o endereço de desvio Utiliza um terceiro formato, diferente das demais instruções vistas até aqui 6 bits de OpCode 26 de imediato Cálculo do novo PC: Multiplica-se o imediato por 4 Deslocamento de 2 bits para a esquerda Combina-se o resultado com os 4 bits mais significativos do PC Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 6 / 47

7 { { Instrução Jump: Relembrando PC, 32 bits { PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC PC Imediato, 26 bits { I I I I I I I I I I I I I I I I I I I I I I I I I I Deslocamento, 2 bits { PC PC PC PC I I I I I I I I I I I I I I I I I I I I I I I I I I D D Podemos saltar para qualquer endereço que: Tenha o mesmo prefixo de 4 bits do valor atual do PC Esteja alinhada em 4 bytes Note que por valor atual do PC estamos nos referindo a PC + 4 ie, depois do incremento Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 7 / 47

8 Instrução Jump: Planejando a Implementação Note que a instrução Jump não faz uso de registradores ou dados na MP Nem leituras, nem escritas Também não há operações lógicas/aritméticas explícitas Podemos montar endereço de destino juntando bits Não precisamos da ALU De maneira resumida, precisamos: Montar o novo endereço do PC A partir de PC + 4 e dos 26 bits menos significativos do RI E substituir o PC + 4 por este endereço Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 8 / 47

9 Instrução Jump: Planejando a Implementação (II) Lógica de controle: Contanto que não mudemos nada no estado da máquina, linhas de controle já vistas não fazem diferença ie, não podemos escrever registradores/memória O que a ALU faz, ou de onde vem as entradas do banco de registradores? Irrelevante Contando com o desvio condicional, temos três possíveis valores para PC Precisamos de mais um multiplexador E mais uma linha de controle Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 9 / 47

10 Instrução Jump: Implementação S o m a d or RI[25-0] Deslocamento Endereço de Salto de 2 à 26 Esquerda PC+4[31-28] S oma M ux 0 M ux 1 4 Deslocamento de 2 à Esquerda d or 1 0 Branch MemToReg MemRead RI RI[31-26] MemWrite Controle Jump ALUOp0 ALUOp1 ALUSrc RegWrite Memória de Instruções RegDest Escrita Registradores PC Endereço RI[25-21] Registrador de Leitura 1 Instrução Lida Valor Lido 1 Escrita Leitura RI[20-16] Registrador de Leitura 2 ALU Zero Memória de Dados RI[15-11] M ux 0 1 Valor Lido 2 Registrador de Escrita Valor Escrito M ux 0 1 Resultado Valor Lido Endereço Valor Escrito M ux 1 0 RI[15-0] Extensão de Sinal RI[5-0] Bit 0 Controle Bit 1 ALU Bit 2 Bit 3 Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 10 / 47

11 Nosso Processador Completo S o m a d or RI[25-0] Deslocamento Endereço de Salto de 2 à 26 Esquerda PC+4[31-28] S oma M ux 0 M ux 1 4 Deslocamento de 2 à Esquerda d or 1 0 Branch MemToReg MemRead RI RI[31-26] MemWrite Controle Jump ALUOp0 ALUOp1 ALUSrc RegWrite Memória de Instruções RegDest Escrita Registradores PC Endereço RI[25-21] Registrador de Leitura 1 Instrução Lida Valor Lido 1 Escrita Leitura RI[20-16] Registrador de Leitura 2 ALU Zero Memória de Dados RI[15-11] M ux 0 1 Valor Lido 2 Registrador de Escrita Valor Escrito M ux 0 1 Resultado Valor Lido Endereço Valor Escrito M ux 1 0 RI[15-0] Extensão de Sinal RI[5-0] Bit 0 Controle Bit 1 ALU Bit 2 Bit 3 Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 11 / 47

12 Implementação Monociclo vs Multiciclo Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 12 / 47

13 Implementação Monociclo O projeto que criamos é de um processador monociclo Cada instrução é executada em exatamente um ciclo de relógio No início de um ciclo, próxima instrução é colocada no RI Os sinais dos bits se propagam pelos componentes combinacionais Neste processo, dados podem ser escritos em elementos sequenciais Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 13 / 47

14 Implementação Monociclo (II) Embora a implementação monociclo seja viável, ela não é muito utilizada na prática atualmente Motivo: inúmeras desvantagens Ciclo de clock determinado pela instrução mais lenta Geralmente, instruções de transferência de memória Maior extensão no caminho de dados E precisa interfacear com a memória, que normalmente é bem mais lenta Duplicação de componentes Somadores, deslocadores, multiplexadores, Mas qual é a alternativa? Uma implementação multiciclo Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 14 / 47

15 Implementação Multiciclo Em uma implementação multiciclo, execução é dividida em etapas Por exemplo, do ciclo de execução de uma instrução visto anteriormente Busca de instrução Decodificação Busca de operandos Execução Armazenamento do resultado Em um ciclo de relógio, apenas uma das etapas é executada para uma dada instrução Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 15 / 47

16 Implementação Multiciclo (II) Isso significa que a execução de uma instrução é feita em vários ciclos de relógio Isso não é mais lento? Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 16 / 47

17 Implementação Multiciclo (II) Isso significa que a execução de uma instrução é feita em vários ciclos de relógio Isso não é mais lento? Não necessariamente Depende da duração do ciclo Cada ciclo agora faz menos Ciclos podem ser mais curtos eg, instrução foi dividida em 5 etapas Cada etapa em um ciclo de relógio Mas ciclo de relógio é 6 vezes mais curto que o da implementação monociclo Reduzimos tempo de execução para 5/6 Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 16 / 47

18 Implementação Multiciclo: Como? Como fazer uma implementação multiciclo pura? Similar à implementação monociclo Mas com menos componentes no caminho de dados E com uma lógica de controle mais complexa Não veremos esta implementação passo a passo Fora do escopo desta disciplina Ao invés disso, veremos a implementação multiciclo com pipeline Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 17 / 47

19 Implementando um Pipeline Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 18 / 47

20 Implementação Multiciclo com Pipeline Implementações multiciclo puras também não são muito utilizadas atualmente O conceito de implementação multiciclo ganha importância quando combinado com a ideia de pipeline Ambos os conceitos dividem a execução em etapas O multiciclo diz que cada ciclo de relógio executa uma etapa da instrução O pipeline permite a execução de etapas diferentes de instruções diferentes em paralelo Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 19 / 47

21 Pipeline: Relembrando Já vimos o conceito de pipeline nesta disciplina Execução da instrução é dividida em etapas Cada etapa usa (conjuntos de) componentes diferentes Podemos executar várias instruções ao mesmo tempo, desde que em etapas diferentes O tempo de execução de uma instrução não muda Mas a vazão aumenta Aumentar o número de estágios tende a: Simplificar o que se faz por ciclo de relógio Reduzir a duração de um ciclo de relógio Aumentar a vazão (instruções por tempo) Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 20 / 47

22 Pipeline: Relembrando (II) S1: S2: S3: S4: S5: Tempo Exemplo numérico: Pipeline de 5 estágios vs monociclo Ciclo de relógio: 1 ns vs 5 ns Vazão: 5G instruções por segundo vs 1G instruções por segundo Assumindo pipeline cheio Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 21 / 47

23 Aplicando Pipeline ao Nosso Processador Podemos alterar o projeto do nosso processador monociclo e implementar um pipeline Primeira tarefa: definir os estágios Estágio 1: Busca de Instrução (BI) Estágio 2: Decodificação/Acesso a Registradores (DI) Estágio 3: Execução/Cálculo de endereços (EX) Estágio 4: Acesso à Memória (MEM) Estágio 5: Escrita em registradores (ER) Basicamente, vamos dividir o caminho de dados nestes estágios Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 22 / 47

24 Aplicando Pipeline ao Nosso Processador (Simplificado) Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 23 / 47

25 Registradores de Pipeline Note que esta divisão do caminho de dados em estágios não pode ser simplesmente lógica Lembre-se que grande parte dos componentes são combinatoriais As entradas são imediatamente propagadas Precisamos conectar os estágios através de algum componente que armazene os resultados do estágio anterior até o próximo ciclo de relógio Ou seja, precisamos de um registrador Ou melhor, de um para cada interconexão entre estados Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 24 / 47

26 Representação Gráfica da Execução com Pipeline Para simplificar, usaremos a seguinte representação gráfica de um pipeline Tempo CC 1 CC 2 CC 3 CC 4 CC 5 Instrução add BI DI EX MEM ER Cada bloco representa um estágio do pipeline Linhas entre os blocos representam informações passando entre estágios Cada bloco é executado dentro de um ciclo de relógio Blocos com fundo cinza indicam que algo é feito naquele estágio Fundo é branco caso contrário Fundo cinza na metade esquerda indica escrita Na direita, indica leitura Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 25 / 47

27 Representação Gráfica da Execução com Pipeline: Sequência Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 Inst: load word End: reg Dest: reg 1 BI DI EX MEM ER Inst: load word End: reg Dest: reg 2 BI DI EX MEM ER Inst: load word End: reg Dest: reg 3 BI DI EX MEM ER Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 26 / 47

28 Os Conflitos do Pipeline A estratégia de pipeline resulta em ganhos porque permite o uso de recursos que ficariam ociosos eg, uma instrução no estágio de execução não usa o banco de registradores Recurso ficaria ocioso Ao invés disso, usamos o banco de registradores para outra instrução na etapa de DI Isso só é possível porque assumimos um certo grau de independência entre as instruções/estágios Até agora, assumimos que a execução de um estágio de uma instrução depende apenas da conclusão dos estágios anteriores (para esta instrução) Mas isso é sempre verdade? Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 27 / 47

29 Os Conflitos do Pipeline (II) A resposta é não! Algumas vezes, os estágios de execução de duas instruções próximas estão interligados de alguma forma Gostaríamos que eles fossem executados em paralelo, mas, por algum motivo, isso não é possível Existe algum tipo de conflito que impede a execução simultânea A esta situação, damos o nome de Conflito do Pipeline Ou Hazard, em inglês Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 28 / 47

30 Os Conflitos do Pipeline (III) Há vários tipos de conflito diferentes Nesta disciplina, os classificaremos em três categorias Confitos Estruturais Conflitos de Controle Conflitos de Dados Daqui até o final desta aula, veremos exemplos e contra-medidas para cada um deles Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 29 / 47

31 Conflitos Estruturais Os conflitos estruturais acontecem quando duas (ou mais) instruções tentam utilizar um mesmo componente ao mesmo tempo Cada instrução está no seu próprio estágio Tentamos executar os estágios simultaneamente Por alguma característica de implementação, ambos precisam de um mesmo compontente naquele ciclo de relógio Conflito Estrutural Tentativa de utilizar o mesmo recurso, de modos diferentes, ao mesmo tempo Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 30 / 47

32 Conflitos Estruturais: Acesso à Memória O exemplo mais comum de conflito estrutural é o acesso à memória na Arquitetura de Von Neumann Lembrando: Arquitetura de Von Neumman memória única para dados e código Se a memória é única, como executar estágios MEM e BI simultaneamente? Estágio BI sempre lê da memória (instrução) Estágio MEM pode ler/escrever no caso de uma instrução load word ou store word (dado) Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 31 / 47

33 Conflitos Estruturais: Acesso à Memória (II) Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 Inst: load word End: reg Dest: reg 1 BI DI EX MEM ER Inst: load word End: reg Dest: reg 2 BI DI EX MEM ER Inst: load word End: reg Dest: reg 3 BI DI EX MEM ER Inst: load word End: reg Dest: reg 4 Conflito Estrutural BI DI EX MEM ER Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 32 / 47

34 Conflitos Estruturais: Como Detectar? Embora possam existir outras fontes de conflitos estruturais, a memória e o caso relevante Outros componentes mais simples geralmente podem ser facilmente replicados Como somadores, multiplexadores, No caso da memória, a detecção do conflito é trivial: Toda instrução que escreve/lê dados para/da memória sempre causará um conflito no estágio MEM No nosso processador, apenas as instruções load word e store word Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 33 / 47

35 Conflitos Estruturais: Como Resolver? Quando possível, a solução mais imediata é replicar o componente Mas nem sempre é possível/fácil Como no caso da memória Para o caso da memória, algumas soluções possíveis são: Separar código e dados em memórias diferentes ie, migrar para a Arquitetura de Harvard Usar caches separadas para dados e código Muito usado, mas não resolve completamente eg, podemos ter cache miss nos estágios MEM e BI simultaneamente Pipeline Stall Também conhecido como Bubble, ou Bolha Insere um atraso artificial no pipeline Seguramos a próxima instrução para evitar o conflito Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 34 / 47

36 Conflitos Estruturais: Pipeline Stall Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Inst: load word End: reg Dest: reg 1 BI DI EX MEM ER Inst: load word End: reg Dest: reg 2 BI DI EX MEM ER Inst: load word End: reg Dest: reg 3 BI DI EX MEM ER Bolha Bolha Bolha Bolha Bolha Inst: load word End: reg Dest: reg 4 BI DI EX MEM ER Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 35 / 47

37 Conflitos de Controle O segundo tipo de conflito é o Conflito de Controle Ocorre quando alguma decisão de controle depende de algum estágio não concluído de outra instrução O exemplo clássico deste conflito envolve instruções de desvio condicional Avaliação da condição só ocorre no estágio EX Mas decisão é necessária quando instrução de desvio entra no estágio DI Conflito de Controle Tentativa de tomar uma decisão antes que a condição seja avaliada Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 36 / 47

38 Conflitos de Controle: Exemplo Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 Inst: load word End: reg Dest: reg 1 BI DI EX MEM ER Inst: branch on equal Args: reg 1 e reg 2 Offset: 1000 BI DI EX MEM ER PC + 4 ou???? PC ? Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 37 / 47

39 Conflitos de Controle: Soluções Já falamos um pouco sobre este problema há algumas aulas Só que sem saber o nome De maneira informal, vimos algumas possíveis soluções Sempre assumir que o desvio (não) vai ser tomado Se errarmos, fazemos um flush no pipeline Usar um preditor de branch para tentar reduzir erros da estratégia anterior Ainda podemos estar errados Uma outra solução é usar o pipeline stall Colocamos bolhas nos estágios iniciais do pipeline até conhecermos o resultado do desvio Só ai colocamos instruções úteis Solução mais conservadora, mas com pior desempenho Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 38 / 47

40 Conflitos de Controle: Exemplo de Predição Correta Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Inst: load word End: reg Dest: reg 1 BI DI EX MEM ER Inst: branch on equal Args: reg 1 e reg 2 Offset: 1000 BI DI EX MEM ER Instrução prevista (eg, PC + 4) BI DI EX MEM ER Instrução prevista (eg, PC + 8) BI DI EX MEM ER Instrução prevista (eg, PC + 12) BI DI EX MEM ER Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 39 / 47

41 Conflitos de Controle: Exemplo de Predição Errada Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Inst: load word End: reg Dest: reg 1 BI DI EX MEM ER Inst: branch on equal Args: reg 1 e reg 2 Offset: 1000 BI DI EX MEM ER Instrução prevista (eg, PC + 4) BI DI Bolha Bolha Bolha Instrução prevista (eg, PC + 8) BI Bolha Bolha Bolha Bolha Instrução correta (eg, PC ) BI DI EX MEM ER Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 40 / 47

42 Conflitos de Controle: Exemplo de Stall Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Inst: load word End: reg Dest: reg 1 BI DI EX MEM ER Inst: branch on equal Args: reg 1 e reg 2 Offset: 1000 BI DI EX MEM ER Bolha Bolha Bolha Bolha Bolha Bolha Bolha Bolha Bolha Bolha Instrução correta (eg, PC ) BI DI EX MEM ER Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 41 / 47

43 Conflitos de Controle: Desvios Atrasados Uma outra solução mais complexa, mas com bom desempenho consiste em atrasar os desvios Conhecida em inglês como delayed branch, a técnica funciona assim: Suponha que haja uma instrução antes da instrução de desvio que não altere a condição do branch eg, uma soma que armazena resultado no registrador 2 Desvio testa igualdade entre registradores 0 e 1 Podemos colocar a soma imediata depois da instrução de desvio Enquanto o desvio está nos estágios iniciais, começamos a executar a soma Seria executada de qualquer forma! Dá tempo do processador decidir sobre a condição de desvio Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 42 / 47

44 Conflitos de Dados O último tipo de conflito é chamado de Conflito de Dados Ocorre quando um estágio de uma instrução tenta acessar um dado/produto de uma instrução anterior Mas este produto só estará disponível em ciclos de relógio futuros Ocorre por conta da dependência de dados entre instruções eg, queremos somar os valores nos registradores 0, 1 e 2 Usamos duas instruções de soma, em sequência A primeira soma registradores 0 e 1 e armazena no registrador 15 A segunda pega o conteúdo do registrador 15 e soma com o do registrador 2 Conflito de Dados Tentativa de utilizar um item antes deste estar pronto/disponível Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 43 / 47

45 Conflito de Dados: Exemplo Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 Inst: add Args: reg 0, reg 1 Dest: reg 15 BI DI EX MEM ER Mas só disponível aqui Inst: add Args: reg 15, reg 2 Dest: reg 15 BI DI EX MEM ER Valor necessário aqui Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 44 / 47

46 Conflito de Dados: Soluções Há várias possíveis soluções para os conflitos de dados Aplicabilidade depende do cenário específico eg, o quão no futuro está o dado necessário Para efeito desta disciplina, consideraremos três soluções: Pipeline stall: colocar bolhas entre instruções dependentes Execução fora de ordem: inserir outras instruções úteis independentes entre instruções dependentes Similar ao delayed branch Adiantamento de dados: disponibilizar dado para próxima instrução antes de ER Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 45 / 47

47 Conflito de Dados: Adiantamento de Dados Seq de Instruções Tempo CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 Inst: add Args: reg 0, reg 1 Dest: reg 15 BI DI EX MEM ER Inst: add Args: reg 15, reg 2 Dest: reg 15 BI DI EX MEM ER Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 46 / 47

48 Uma Última Palavra sobre a Solução de Conflitos Várias das soluções de conflitos discutidas aqui podem ser implementadas em software eg, stalls podem ser simulados inserindo instruções nop s onde haveria conflitos Não necessariamente uma preocupação do programador, mas do compilador/montador Mesmo assim, diversos processadores implementam estas (e outras) soluções em hardware Facilitam a vida do programador/compilador/montador Mas incluem bastante complexidade no hardware A pergunta é: vale a pena? Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 47 / 47

49 Uma Última Palavra sobre a Solução de Conflitos Várias das soluções de conflitos discutidas aqui podem ser implementadas em software eg, stalls podem ser simulados inserindo instruções nop s onde haveria conflitos Não necessariamente uma preocupação do programador, mas do compilador/montador Mesmo assim, diversos processadores implementam estas (e outras) soluções em hardware Facilitam a vida do programador/compilador/montador Mas incluem bastante complexidade no hardware A pergunta é: vale a pena? Sim! O ganho de desempenho dos pipelines modernos é enorme Mesmo com os overheads e cuidados necessários Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline FAC 47 / 47

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (III) FAC 1 /

Leia mais

UCP: Construindo um Caminho de Dados (Parte III)

UCP: Construindo um Caminho de Dados (Parte III) UCP: Construindo um Caminho de Dados (Parte III) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides do Fernanda Passos Cristina Boeres

Leia mais

Aula 17: UCP: Construindo um Caminho de Dados (Parte I)

Aula 17: UCP: Construindo um Caminho de Dados (Parte I) Aula 17: UCP: Construindo um Caminho de Dados (Parte I) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (I) FAC 1 / 33

Leia mais

UCP: Construindo um Caminho de Dados (Parte I)

UCP: Construindo um Caminho de Dados (Parte I) UCP: Construindo um Caminho de Dados (Parte I) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado cedido pela Profa. Fernanda Passos Cristina Boeres

Leia mais

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 16: UCP: Conceitos Básicos e Componentes Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

Leia mais

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço

Leia mais

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo

Leia mais

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas: CAPÍTULO 5 PIPELINE Introdução Ciclo único versus pipeline Projetando o conjunto de instruções Pipeline Hazards Caminho de dados usando o pipeline Diagramas de Pipeline Controle do Pipeline Hazard de dados

Leia mais

Aula 15: Ciclo de Execução e Introdução ao Pipeline

Aula 15: Ciclo de Execução e Introdução ao Pipeline Aula 15: Ciclo de Execução e Introdução ao Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Ciclo de Execução; Intro ao Pipeline FAC

Leia mais

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

Leia mais

Organização de Computadores

Organização de Computadores Organização do Processador - Parte A Capítulo 5 Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás Conteúdo Caminho de dados Caminho de controle Implementação

Leia mais

UCP: Caminho de Dados (Parte II)

UCP: Caminho de Dados (Parte II) UCP: Caminho de Dados (Parte II) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF) UCP: Caminho

Leia mais

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é 1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro

Leia mais

Resumão de Infra-estrutura de Hardware

Resumão de Infra-estrutura de Hardware Resumão de Infra-estrutura de Hardware Referência: Patterson & Hennessy - Organização e Projeto de Computadores Vanessa Gomes de Lima vgl2@cin.ufpe.br 1 MELHORANDO O DESEMPENHO COM PIPELINING Pipelining

Leia mais

Processador: Conceitos Básicos e Componentes

Processador: Conceitos Básicos e Componentes Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação de MIPS multiciclo (cont.) Fontes dos slides: Patterson & Hennessy book website (copyright Morgan Kaufmann) e Dr. Sumanta Guha CPI em uma CPU multiciclo Assuma

Leia mais

Arquitetura e Organização de Processadores. Aula 4. Pipelines

Arquitetura e Organização de Processadores. Aula 4. Pipelines Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação monociclo de IPS Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Implementando IPS Implementação do conjunto

Leia mais

Pipeline. Prof. Leonardo Barreto Campos 1

Pipeline. Prof. Leonardo Barreto Campos 1 Pipeline Prof. Leonardo Barreto Campos 1 Sumário Introdução; Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Caminho de Dados usando Pipeline; Representação Gráfica do Pipeline;

Leia mais

Organização de Unidades de Processamento

Organização de Unidades de Processamento Organização de Unidades de Processamento João Canas Ferreira Março de 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 5) c JCF, 2004 ASPD (FEUP/LEEC)

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

Leia mais

ção de Computadores II

ção de Computadores II Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores II Aula 2 2. MIPS monociclo:

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Cap. 06 Pipeline Prof. M.Sc. Bruno R. Silva Plano de aula Visão geral de pipelining Um caminho de dados usando pipelie Controle de um pipeline Hazards de dados e forwarding

Leia mais

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Datapath do MIPS MIPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas

Leia mais

Processador. Processador

Processador. Processador Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador

Leia mais

Infra-estrutura de Hardware

Infra-estrutura de Hardware CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 10ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória

Leia mais

Aula 12: Memória: Barramentos e Registradores

Aula 12: Memória: Barramentos e Registradores Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34

Leia mais

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. EA869 Pipeline Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Objetivos Conhecer técnicas de como melhorar o desempenho de um processador.

Leia mais

1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador.

1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador. Arquitetura de Computadores II Bacharelado em Ciência da Computação DCC - IM/UFRJ Prof.: Gabriel P. Silva Data: 18/04/2005 1 ª Lista de Exercícios de Arquitetura de Computadores II 1) Enumere e dê exemplo

Leia mais

Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho

Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho 1 Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Explorando o paralelismo entre instruções

Explorando o paralelismo entre instruções Explorando o paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline Pipeline: Uma idéia natural Linhas de montagem

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Arquiteturas de Computadores Turma :A1 Lista 1 Profa.: Simone Martins 1. Tentando projetar o futuro: a) Em

Leia mais

CPU Implementação. Multiciclo. Prof. Carlos Bazilio

CPU Implementação. Multiciclo. Prof. Carlos Bazilio CPU Implementação Multiciclo Prof. Carlos Bazilio bazilio@ic.uff.br Até então, tínhamos t... Problemas com Implementação Monociclo Ciclo de clock tem o mesmo tamanho para todas as instruções implementadas;

Leia mais

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação de IPS multiciclo Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Problemas de projeto monociclo Assumindo

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Melhorando o Desempenho com Pipelining

Melhorando o Desempenho com Pipelining Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís Güntzel [www.ufpel.edu.br/~guntzel/aoc2/aoc2.html] 1 Relembrando desempenho...

Leia mais

SSC0510 Arquitetura de Computadores

SSC0510 Arquitetura de Computadores SSC0510 Arquitetura de Computadores 9ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

SSC0114 Arquitetura de Computadores

SSC0114 Arquitetura de Computadores SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br

Leia mais

Questionário Arquitetura e Organização de Computadores

Questionário Arquitetura e Organização de Computadores Questionário Arquitetura e Organização de Computadores Os exercícios desta lista estão organizados em geral seguindo a apresentação do conteúdo em aula. No entanto, alguns exercícios podem requerem conhecimentos

Leia mais

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. Pipelines João Canas Ferreira Mar-Abr 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 6) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 1/52 Conceitos básicos

Leia mais

DataPath II Tomando o controle!

DataPath II Tomando o controle! DataPath II Tomando o controle! Datapath and Control Queremos implementar parte do MIPS lw, sw add, sub, and, or, slt beq e depois o j Instruction Word Formats Register format: add, sub, and, or, slt op-code

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 8ª Aula Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estágios para execução da instrução: A instrução LOAD é a mais longa Todas as instruções seguem ao menos os

Leia mais

Introdução à Computação: Arquitetura von Neumann

Introdução à Computação: Arquitetura von Neumann Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 16ª Aula Arquitetura MIPS: Unidade de Controle (Multiciclo) Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 MIPS Multiciclo com jump 2 MIPS Multiciclo:

Leia mais

Arquitetura de Computadores. Prof. Alexandro Baldassin. 1o semestre/2018

Arquitetura de Computadores. Prof. Alexandro Baldassin. 1o semestre/2018 Arquitetura de Computadores Prof. Alexandro Baldassin 1o semestre/2018 Personagem da Semana Von Neumann medal, 1993 For significant developments in computer architecture, insighmul observaoons on sopware

Leia mais

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Exercícios resolvidos (aula de 4 de Maio) Resolução: Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma

Leia mais

Unidade Central de Processamento 6. Otimização do desempenho

Unidade Central de Processamento 6. Otimização do desempenho Unidade Central de Processamento 6 timização do desempenho Pipeline Técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções Constituído

Leia mais

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador. Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

Tiago Alves de Oliviera

Tiago Alves de Oliviera Tiago Alves de Oliviera 1 Capítulo 6 do Livro do Mario Monteiro Capítulo 5 (5.1, 5.2, 5. e 5.4) do Livro do Patterson 2 Processador executa instruções CPU (central processing unit) UCP (unidade central

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de

Leia mais

Aula 25: E/S: Controladoras, Mapeamentos e Técnicas

Aula 25: E/S: Controladoras, Mapeamentos e Técnicas Aula 25: E/S: Controladoras, Mapeamentos e Técnicas Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas

Leia mais

Arquitetura de Computadores Aula 11 - Multiprocessamento

Arquitetura de Computadores Aula 11 - Multiprocessamento Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1

Leia mais

lw, sw add, sub, and, or, slt beq, j

lw, sw add, sub, and, or, slt beq, j Datapath and Control Queremos implementar o MIPS Instruções de referência à memória: lw, sw Instruções aritméticas e lógicas: add, sub, and, or, slt Controle de fluxo: beq, j Cinco passos de execução Busca

Leia mais

Capítulo 4. O Processador

Capítulo 4. O Processador Capítulo 4 O Processador Introdução Fatores de desempenho da CPU Contagem de instrução Determinado pelo ISA e compilador CPI e tempo de ciclo Determinado pelo hardware da CPU Nós examinaremos duas implementações

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar

Leia mais

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo Conceitos Gerais para Implementação do Processador Conceito de caminho de dados e controle Caminho dos bits de instrução

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani) Arquitetura de Computadores Professor: Vilson Heck Junior (Material: Douglas Juliani) Agenda Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho Conceitos Componente de Hardware que

Leia mais

Organização de computadores. Aula 05

Organização de computadores. Aula 05 Organização de computadores Aula 05 2 Níveis de um computador Computadores possuem uma série de níveis Cada um construído sobre seus antecessores Cada um representa uma abstração distinta com diferentes

Leia mais

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. Pipeline

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. Pipeline Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I Pipeline Gabriel P. Silva 29.04.2017 Introdução Pipeline é uma técnica de implementação de processadores

Leia mais

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Conhecida pelo PROCESSADOR Conhecida pelo Usuário COMPILADOR LINGUAGEM DE ALTO NÍVEL LINGUAGEM ASSEMBLY 2 INSTRUÇÕES EM ASSEMBLY Para programar

Leia mais

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM Arquitetura de Computadores II Pipeline Introdução Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES 2015/2016 1 o Semestre Repescagem 1 o Teste 1 de Fevereiro de 2016 Duração: 1h00 - O teste é sem consulta e sem calculadora. - Resolva o teste no próprio enunciado, o espaço

Leia mais

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 06 e 07 Superescalaridade 1. Introdução princípios

Leia mais

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF)

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

Leia mais

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1 Capítulo 6 Hazards 1998 organ Kaufmann Publishers Ch6c 1 Dependências de Dados Problema: iniciar uma instrução antes da anterior ter finalizado dependências que voltam no tempo são hazards de dados qual

Leia mais

18/10/2010. Unidade de Controle Controle. UC Microprogramada

18/10/2010. Unidade de Controle Controle. UC Microprogramada Arquitetura de Computadores Unidade de Controle Controle Microprogramado Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO UC Microprogramada

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

Leia mais

O Processador: Via de Dados e Controle

O Processador: Via de Dados e Controle O Processador: Via de Dados e Controle Ch5A Via de Dados e Controle Implementação da arquitetura MIPS Visão simplificada de uma arquitetura monociclo Instruções de memória: lw, sw Instruções lógicas aritméticas:

Leia mais

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/ Sistemas Digitais Prof. Gustavo Oliveira Cavalcanti gustavooc@poli.br https://sites.google.com/a/poli.br/professorgustavooc/ Conteúdo Programático (Organização e Arquitetura) Arquitetura e história dos

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material de Fernanda Passos

Leia mais

pet Arquitetura de Computadores computação UFPE

pet Arquitetura de Computadores computação UFPE Arquitetura de Computadores 2008.2 Roteiro 1. Definição e tipos de arquitetura 2. Os cinco componentes clássicos de um computador 3. Como eles interagem de modo coerente 4. O que o futuro nos reserva 5.

Leia mais

Conjunto de Instruções

Conjunto de Instruções Conjunto de Instruções IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 20 e 21/30 Prof. Msc. Antonio Carlos Souza Referências

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

Leia mais

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura

Leia mais

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 4 1. Projeto da Arquitetura

Leia mais

SSC0902 Organização e Arquitetura de Computadores

SSC0902 Organização e Arquitetura de Computadores SSC0902 Organização e Arquitetura de Computadores 13ª Aula Definição de Pipeline e Pipeline da arquitetura MIPS Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction

Leia mais