Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline
|
|
- Igor Canela Capistrano
- 6 Há anos
- Visualizações:
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) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (III) FAC 1 /
Leia maisUCP: 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 maisAula 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 maisUCP: 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 maisAula 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 maisInfraestrutura 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 maisCAPÍ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 maisIntroduçã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 maisAula 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 maisInfraestrutura 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 maisOrganizaçã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 maisUCP: 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 mais1. 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 maisResumã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 maisProcessador: 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 maisArquiteturas 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 maisArquitetura 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 maisArquiteturas 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 maisPipeline. 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 maisOrganizaçã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 maisArquitetura 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
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 maisArquitetura 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 maisMIPS 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 maisProcessador. 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 maisInfra-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 maisSSC0611 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 maisAula 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 maisEA869 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 mais1) 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 maisParte 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 maisRelembrando 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 maisExplorando 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 maisRelembrando 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 maisUNIVERSIDADE 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 maisCPU 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 maisTodo 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 maisArquiteturas 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 maisTrabalhos 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 maisTó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 maisMelhorando 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 maisSSC0510 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 maisSSC510 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 maisSSC0114 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 maisQuestioná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 maisPipelines. 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 maisDataPath 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 maisSSC0611 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 maisIntroduçã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 maisSSC0112 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 maisArquitetura 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 maisExercí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 maisUnidade 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.
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 maisCPU. 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 maisTiago 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 maisORGANIZAÇÃ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 maisDisciplina: 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 mais2. 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 maisAula 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 maisArquitetura 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 maisArquitetura 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 maislw, 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 maisCapí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 maisArquitetura 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 maisImplementaçã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 maisCONJUNTO 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 maisProf. 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 maisArquitetura 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 maisOrganizaçã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 maisPIPELINE. 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 maisOrganizaçã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 maisUniversidade 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 maisUNIDADE 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 maisARQUITETURA 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 maisCONJUNTO 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 maisUniv 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 maisARQUITETURA 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 maisORGANIZAÇÃ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 maisArquitetura 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 maisAula 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 maisPARTE 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 maisCapí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 mais18/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 mais4. 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 maisARQUITETURA 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 maisPSI3441 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 maisO 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 maisProf. 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 maisWilliam 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 maisINTRODUÇÃ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 maisCONJUNTO 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 maisRepresentaçõ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 maispet 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 maisConjunto 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 maisArquitetura 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
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
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 maisSSC0902 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