Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial
|
|
- Zilda Estrada Sampaio
- 8 Há anos
- Visualizações:
Transcrição
1 Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/ Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação do pipeline temos problemas de implementação que são chamados de pipeline hazards. Existem três tipos de hazards: 2 Estrutural Acontece quando se tenta usar o mesmo recurso de duas maneiras diferentes. Por ex., não é possível usar a unidade de decode para duas instruções simultaneamente. Dados Acontece quando se tenta usar um item antes de estar disponível. P. ex., uma instrução depende de um resultado que está num estágio anterior do pipeline.
2 Revisão Controlo Acontece quando se tenta tomar uma decisão antes da condição ter sido avaliada. Por ex., nas instruções de salto condicional. 3 Hazard de dados Os hazard de dados acontecem devido a dependência de dados entre os operandos das instruções. Que tipos de dependência podemos identificar entre as instruções? Read-After-Write (RAW) Uma instrução escreve um valor que será lido posteriormente por uma outra instrução. P. ex., and $s, $s2, $s3 or $s4, $s, $s2 Está a ocorrer algum hazard? 4 2
3 Hazard de dados 5 Write-After-Read (WAR) Uma instrução lê um valor de um registo/memória que será posteriormente escrito por uma outra instrução. P. ex., and $s, $s2, $s3 Está a ocorrer algum hazard? or $s2, $s4, $s2 Write-After-Write (WAW) Uma instrução escreve um valor num registo/memória que será posteriormente escrito por uma outra instrução. P. ex., and $s, $s2, $s3 Está a ocorrer algum hazard? or $s, $s4, $s2 Hazard de dados Read-After-Read (RAR) Uma instrução lê um valor de um registo/memória que será posteriormente lido por uma outra instrução. P. ex., and $s, $s2, $s3 or $s5, $s4, $s2 Está a ocorrer algum hazard? 6 3
4 Consequências da dependência de dados: Técnicas: Correcção dos dados. Temos que detectar e resolver as dependências. Eficiência. O stall do pipeline é prejudicial ao desempenho, logo temos que procurar outras técnicas para resolvê-lo. Unidade de Stall Register forwarding. Register interlocking. Hazard de dados 7 Hazard de dados Register interlocking No register file, cada registo terá um bit associado Este bit indica se o conteúdo do registo está correcto 0: O conteúdo pode ser usado : Não use o conteúdo do registo. As instruções ao usar o registo reservam-no Exemplo: A Intel implementa esta técnica no processador Itanium: É chamado de NaT (Not-a-Thing). Este bit é usado no apoio à execução especulativa do pipeline. 8 4
5 Control Hazard Devemos, em cada ciclo, fazer o fetch de uma instrução de modo a manter o pipeline cheio. sub $2, $, $3 throughput máximo and $2, $2, $5 or $3, $6, $2 add $4, $2, $2 sw $5, 00($2) 9 Control Hazard Contudo, na estrutura usada, as operações de branch apenas são avaliadas no estágio MEM. Execução das instrução de branch ocorre no estágio MEM 0 5
6 Control Hazard A este atraso na determinação da condição do salto (branch) chamamos control hazard ou branch hazard. 40 beq $, $3, 7 44 and $2, $2, $5 48 or $3, $6, $2 52 add $4, $2, $2 72 lw $4, 50($2) Control Hazard Temos quatro maneiras de resolver o hazard: Stall do pipeline até a condição ser resolvida. Redução do atraso do salto. Predição do salto. 2 6
7 Primeira solução : Reduzir o atraso do salto Na implementação actual, a condição de branch só será resolvida no estágio de acesso à memória. Se movermos a condição de acesso para mais cedo, então menos instruções serão perdidas no pipeline. Quais elementos do datapath são usados na execução das instruções de branch? 3 Primeira solução : Reduzir o atraso do salto Alguns processadores conseguem resolver a condição do salto durante a fase de ID. Esta solução implica fazer o forwarding dos registos e a detecção de hazards na fase de ID. Como a comparação era feita na ALU que fica no estágio de EX, alguma electrónica terá que ser introduzida para realizar a comparação no estágio ID. 4 7
8 Primeira solução : Reduzir o atraso do salto Problema: Com o aumento das micro-operações executadas durante a fase de decoding, ID, a duração deste estágio aumentará. Qual é a consequência deste aumento? 5. Potencial desequilíbrio das micro-operações executadas em cada estágio, ou seja a duração dos estágios tornam-se desequilibradas. Menor rendimento do pipeline. 2. Limite na frequência máxima do processador. Primeira solução : Reduzir o atraso do salto Delayed branch execution A técnica anterior permitiu reduzir o atraso do salto para um ciclo de relógio. and $s, $s2, $s3 loop: add $s, $s2, $s beq $s5, $s4, loop lw $t, 00($t2) lw $t, 00($s) Devido a execução da instrução beq será feito o stall do pipeline até a condição ser avaliada na fase de decoding. Se observarmos o código acima, verificamos que a instrução add $s, $s2, $s será sempre executada. A técnica de delayed branch execution consiste em executar sempre a instrução a seguir ao branch. 6 8
9 A técnica anterior permitiu reduzir o atraso do salto para um ciclo de relógio. delay slot Primeira solução : Reduzir o atraso do salto and $s, $s2, $s3 beq $s5, $s4, loop add $s, $s2, $s lw $t, 00($t2) A instrução a seguir ao beq será sempre executada loop: lw $t, 00($s) Como a instrução a seguir ao branch é sempre executada, o compilador ou o programador tem a responsabilidade de garantir que a instrução a seguir é válida ou é a instrução nop. Com a junção desta técnica, o atraso associado à avaliação da condição da instrução de branch foi totalmente eliminado. 7 Segunda solução : Predição do salto Temos três tipos de estratégias de predição: Fixa Assume-se que o resultado da condição é conhecido (p. ex., falso) e o fetch é feito conforme o pressuposto. Esta técnica é pouco efectiva na execução de loops. Porque? Ex. Motorolo e VAX /780. Estática O valor da condição depende do tipo de salto. Nos saltos condicionais (if... then... else) assume-se que a condição é sempre falsa. Nos loops (for, while,...) assume-se que a condição é sempre verdadeira. Melhor desempenho que a predição fixa. 8 9
10 Dinâmica Segunda solução : Predição do salto Na avaliação da condição é analisado a execução do programa, ou seja o resultado das últimas instruções executadas. 9 Segunda solução : Predição do salto (dinâmica) Em vez de assumir que a condição é sempre falsa ou verdadeira, alternativamente consulta-se uma tabela de modo a verificar se, da última vez que a instrução foi executada, a condição era falsa ou verdadeira. Uma implementação desta técnica chama-se branch prediction buffer ou branch history table. Um buffer de predição de salto é uma memória de pequena dimensão indexada pela parte baixa do endereço da instrução. A memória tem um bit que indica se um salto foi feito recentemente. 20 0
11 Segunda solução : Predição do salto (dinâmica) 2 Segunda solução : Predição do salto (dinâmica - bit) Exemplo: int v= 0; for( int n= 0; n < 0; ++n ) v= v + n; Considere um loop implementado com um salto condicional. O loop é executado nove vezes. A seguir, a condição de salto falha. Qual será a percentagem de sucesso da predição do salto, assumindo que o bit de predição permanece no buffer de predição? 22
12 Segunda solução : Predição do salto (dinâmica - bit) Resposta: 23 Iteração Predição Resultado Em execução contínua, a predição irá falhar na primeira e na última iteração do loop. A predição da última iteração está errada, sendo que este erro é inevitável, uma vez que o estado do bit indica salto efectuado, quando na verdade deve falhar. A predição errada do primeiro bit deve-se ao seu estado inicial. Por isso, num loop em que o salto ocorre 90% das vezes a predição foi correcta em 80% dos casos. Segunda solução : Predição do salto (dinâmica - bit) Qual seria o melhoramento se a nossa janela de análise fosse mais larga, ou seja se considerássemos mais do que apenas o último caso? Impacto das últimas n instruções de branch sobre o resultado da predição: Tipo de mistura n Compiler Business Scientific
13 Segunda solução : Predição do salto (dinâmica - 2 bit) 25 Segunda solução : Predição do salto (dinâmica - 2 bit) Exemplo: Qual será a percentagem de sucesso da predição do salto, assumindo que estamos a usar 2 bits para predição? Iteração Predição actual Predição próx. Resultado 0 weakly taken weakly taken
14 Control Hazard : Excepções 27 Uma outra forma de hazard de controlo são as excepções. Porque? Por exemplo, consideremos a seguinte instrução add $s, $s2, $s Caso os valores dos registos fossem tais que ocorresse um overflow, então precisaríamos de passar o controlo para a rotina de serviço à interrupção. Todos as latches do pipeline teriam que ser limpas (flush) e não deveríamos permitir que o resultado da operação afectasse a memória ou o file register. Finalmente, o endereço da instrução teria que ser guardado num registo especial (EPC Exception Program Counter) para a rotina de serviço à excepção possa saber qual foi a instrução que provocou a excepção. Control Hazard: Excepções Algumas causas possíveis para as excepções são: Pedido de dispositivo I/O. Chamada ao sistema operativo pela aplicação. Usar uma instrução indefinida. Problema com o hardware (p. ex., falha de um bit da memória). A existência de várias fontes de excepções levanta o problema de como associar uma excepção a uma determinada instrução, pois várias instruções estarão a ser executadas simultaneamente no pipeline. 28 4
15 Control Hazard : Excepções Solução: Prioridade nas excepções Associar diferentes excepções a diferentes estágios do pipeline. Devido a dificuldade de associar correctamente a excepção à instrução que a gerou, alguns processadores indicam a região onde ocorreu a excepção, deixando para o SO ou o utilizador descobrir a instrução correcta. Neste caso dizemos que temos uma interrupção ou excepção imprecisa (imprecise interrupt ou imprecise exception) 29 Como obter processadores ainda mais rápidos? Superpipelining. Superscalar. Temas Avançados Very Long Instruction Word (VLIW). Dynamic pipeline scheduling ou dynamic pipelining. 30 5
16 Temas Avançados: Superpipelining Ao diminuirmos as operações realizadas em cada estágio, iremos diminuir a sua latência, logo é possível aumentar a frequência do relógio. Exemplo MIPS R estágios: IF: Primeira fase do fetch da instrução. Iniciação ao acesso à cache. IS: Segunda fase do fetch da instrução. RF: Descodificação da instrução e fetch dos registos, verificação dos hazards, detecção do hit da cache de instrução. 3 Temas Avançados: Superpipelining EX: Execução, o que inclui o cálculo do endereço efectivo, operações da ALU, cálculo do destino de um salto condicional e verificação da sua condição. DF: Primeira fase do acesso à cache de dados. DS: Segunda fase do acesso à cache de dados. TC: Verificação do Tag, determinação se houve um hit da cache. WB: Escrita do resultado da operação no file register. Este estágio é usado apenas pelas instruções de load e de registo-registo. 32 6
17 Temas Avançados: Superscalar Em vez de aumentarmos o número de estágio podemos aumentar o número de unidades funcionais. Com esta abordagem, passamos a executar várias instruções no mesmo ciclo do relógio. Neste processadores usamos a métrica IPC (instructions per clock cycle) IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB 33 Temas Avançados: Superscalar O projecto em duplo pipeline assume que as instruções têm o mesmo tempo de execução. Na prática, o tempo de execução das instruções varia Depende do tipo de instrução. Usa várias unidades de execução Ligadas a um único pipeline. Por ex., duas unidades de inteiros, duas unidades de FP. A este tipo de projecto chamamos de Superscalar. 34 7
18 Temas Avançados: Dynamic Pipelining Scheduling Na implementação com escalonamento dinâmico das instruções, novas instruções são executadas enquanto o stall é resolvido. Devido a diferença na latência das instruções e devido ao stall ou a sua complexidade (FP), as instruções serão executadas fora de ordem. Na implementação superscalar do pipeline teremos problemas acrescidos de hazard de dados devido a dependência das instruções. Estes hazards podem ser resolvidos: pelo compilador por hardware especial que irá fazer o scheduling das instruções. 35 Temas Avançados: Dynamic Pipelining Scheduling De modo a garantir interrupções precisas, o estágio a seguir a execução da instrução terá que restabelecer a ordem das instruções e verificar a ocorrência de excepções. A um sistema que implemente execução fora de ordem e predição dinâmica dos saltos, nós classificamo-lo como um processador que faz a execução especulativa do programa (speculative execution) 36 8
19 Exemplo: Pentium 4 37 Conclusão 38 9
20 Conclusão 39 20
Pipelining - analogia
PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access
Leia maisArquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64
Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução
Leia maisExemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB
2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código
Leia maisPredição de Desvios e Processadores Superescalares Especulativos
Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os
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 maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados
Leia maisVisão Geral de Pipelining
Pipeline Visão Geral de Pipelining Instruções MIPS têm mesmo tamanho Mais fácil buscar instruções no primeiro estágio e decodificar no segundo estágio IA-32 Instruções variam de 1 byte a 17 bytes Instruções
Leia maisConflitos. Aula 9. 31 de Março de 2005 1
Conflitos Aula 9 31 de Março de 2005 1 Estrutura desta aula Taxonomia dos conflitos Dependências entre instruções Conflitos num pipeline Conflitos estruturais Conflitos de dados Conflitos de controlo Ref:
Leia maisCaminho dos Dados e Atrasos
Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém
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 maisPara os problemas seguintes considere os 5 andares de pipelining do MIPS:
A. Pipelining Para os problemas seguintes considere os 5 andares de pipelining do MIPS: ETCH () ID (I) EXEC (E) MEM (M) WR (W) Para resolução dos problemas utilize a tabela em anexo, na qual deve indicar
Leia maisArquitetura e Organização de Computadores 2
Arquitetura e Organização de Computadores 2 Escalonamento Estático e Arquiteturas VLIW Dynamic Scheduling, Multiple Issue, and Speculation Modern microarchitectures: Dynamic scheduling + multiple issue
Leia maisUniversidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores
Leia maisARQUITETURA DE COMPUTADORES
1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula
Leia maisModos de entrada/saída
Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Modos de entrada/saída Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo
Leia maisARQUITECTURA DE COMPUTADORES
ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control
Leia maisParalelismo a Nível de Instrução
Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos
Leia maisArquitetura de processadores: RISC e CISC
Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo
Leia maisAULA DE REVISÃO 3 ILP
AULA DE REVISÃO 3 ILP Exercício 1: Considere um bloco de código com 15 instruções cada uma com tempo de execução Tex. Elas são executadas numa unidade pipeline de 5 estágios. Os overheads do pipeline são
Leia maisAula 14: Instruções e Seus Tipos
Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos
Leia maisSSC510 Arquitetura de Computadores. 2ª aula
SSC510 Arquitetura de Computadores 2ª aula PROFA. SARITA MAZZINI BRUSCHI CISC E RISC ARQUITETURA MIPS PIPELINE Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções
Leia maisIntrodução ao Processamento Paralelo
Introdução ao Processamento Paralelo Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução Crescente aumento de desempenho dos PCs (máquinas convencionais). Existem aplicações que requisitam
Leia maisEntradas/Saídas. Programação por espera activa Programação por interrupções
Entradas/Saídas Programação por espera activa Programação por interrupções Programação por espera activa 1. O programa lê o estado do periférico: CPU pede ao controlador (IN) o valor no registo ESTADO
Leia maisMemória cache. Prof. Francisco Adelton
Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma
Leia maisInterrupções. As interrupções são casos especiais de chamadas de procedimentos.
Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.
Leia maisInfraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores
Infraestrutura de Hardware Revisão Pipeline, Superescalar e Multicores Pipeline Pipeline é uma técnica que visa aumentar o nível de paralelismo de execução de instruções ILP (Instruction-Level Paralellism)
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 maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Leia maisTais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.
Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:
Leia maisProcessador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento
1 Processadores Computador Processador ( CPU ) Memória E/S Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 2 Pastilha 3 Processadores (CPU,, Microcontroladores)
Leia maisProcessos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo. http://www.dei.isep.ipp.pt/~orlando/so2/processos.
Página 1 de 5 Processos Consiste num método de descrição das actividades de um sistema operativo; Todo o software incluído no sistema operativo é organizado num grupo de programas executáveis. Cada um
Leia maisConjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)
Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance
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 maisSistemas Operacionais Aula 2
Sistemas Operacionais Aula 2 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE 1/38 O que
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 maisOrganização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções
Organização e Arquitetura de Computadores Capítulo 13 Paralelismo no nível de instruções O que é Superescalar? As arquiteturas superescalares são aquelas capazes de buscar, decodificar, executar e terminar
Leia maisSistemas Operativos I
Arquitectura de um Computador Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sumário Arquitectura de um Computador Estrutura de I/O Estrutura de Armazenamento Hierarquia de Armazenamento Protecção
Leia maisANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software
ANHANGUERA EDUCACIONAL Capítulo 2 Conceitos de Hardware e Software Hardware Um sistema computacional é um conjunto de de circuitos eletronicos. Unidade funcionais: processador, memória principal, dispositivo
Leia maisRISC simples. Aula 7. 31 de Março de 2005 1
RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de
Leia maisEntradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão
Entradas/Saídas Programação por interrupções Conceitos gerais Programação da porta série Transmissão Problemas a resolver Como identificar a interrupção? Motivo da interrupção Que rotina executar? Como
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 maisIntrodução à Arquitetura de Computadores
1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de
Leia maisSequenciamento dinâmico
Sequenciamento dinâmico João Canas Ferreira Outubro de 2004 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3 a. ed., MKP c JCF, 2004 AAC (FEUP/LEIC) Sequenciamento
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações
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 mais11- Tornar transparente para o processador os detalhes de operação e controle dos dispositivos periféricos.
1- O componente principal e chamado de célula de bit. 2- A célula de bit é um circuito eletrônico que armazena um bit de informação. 3- O menor conjunto de células de bits que é acessado pelo processador
Leia maisPipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.
O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução
Leia maisImplementação de pipelines
Implementação de pipelines João Canas Ferreira Novembro de 2005 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP JCF, 2005 AAC (FEUP/LEIC) Implementação
Leia maisAula 19. Conversão AD e DA Técnicas
Aula 19 Conversão AD e DA Técnicas Introdução As características mais importantes dos conversores AD e DA são o tempo de conversão, a taxa de conversão, que indicam quantas vezes o sinal analógico ou digital
Leia maisEngenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Leia maisEEC2104 Microprocessadores
EEC2104 Microprocessadores Edição 2005/2006 Apresentação da disciplina Missão e Objectivos Ganhar competências que permitam desenvolver aplicações baseadas em microprocessadores (MPs) e microcontroladores
Leia maisARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X
ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta
Leia maisFaculdade de Computação Arquitetura e Organização de Computadores 2 3 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 22/11/2018
Problemas: Faculdade de Computação Arquitetura e Organização de Computadores 2 3 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 22/11/2018 P1) Qual é o propósito do instruction pipelining?
Leia maisCapítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
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 maisSistemas Computacionais II Professor Frederico Sauer
Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não
Leia maisARQUITETURA DE COMPUTADORES - 1866
7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um
Leia maisInformática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1
Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisimplementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos, 2014 2015
Sistemas de ficheiros: implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Objetivos da aula Descrever algunsdetalhes daimplementação deumsistema de ficheiros Discutir algoritmos
Leia maisO hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware
1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador
Leia maisTrabalho Prático Nº2 Escrita e Leitura em Portos IO
Trabalho Prático Nº2 Escrita e Leitura em Portos IO 1. OBJECTIVOS - Saber efectuar a escrita e leitura em portos de entrada saída num PC num com operativo DOS e Windows. 2. INTRODUÇÃO Para este trabalho
Leia maisComunicação de Dados. Aula 5 Transmissão Analógica
Comunicação de Dados Aula 5 Transmissão Analógica Sumário Modulação de sinais digitais Tipos de Modulação Taxa de transmissão x Taxa de modulação Modulação por amplitude Modulação por freqüência Modulação
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Processos e Threads Andreza Leite andreza.leite@univasf.edu.br Plano de Aula 2 Gerenciamento de Processos Threads Aplicações com múltiplas Threads Concorrência e Compartilhamento
Leia maisMétodos de Sincronização do Kernel
Métodos de Sincronização do Kernel Linux Kernel Development Second Edition By Robert Love Tiago Souza Azevedo Operações Atômicas Operações atômicas são instruções que executam atomicamente sem interrupção.
Leia mais3. ANÁLISE DE RISCO NA CONSTRUÇÃO CIVIL
Gestão de Operações s 2007/2008 3. ANÁLISE DE RISCO NA CONSTRUÇÃO CIVIL Jorge Moreira da Costa Professor Associado SCC/FEUP FEP_Fev Mar.2008 Top.3.1 Gestão de Operações s Análise de Risco 1 CONCEITOS GERAIS
Leia maisGestor de Processos Núcleo do Sistema Operativo
Alínea do 1º teste 2015/16: Considere a linha: for (i=0;i
Leia maisREPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade
REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização
Leia maisSistema de Memórias de Computadores
Sistema de Memórias de Computadores Uma memória é um dispositivo que permite um computador armazenar dados temporariamente ou permanentemente. Sabemos que todos os computadores possuem memória. Mas quando
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Pipeline -- Execções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Exceções Exceções (ou interrupções ou falta) Desvio para um endereço que não faz
Leia maisArchC. Wesley Nunes Gonçalves
Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores
Leia maisORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Linguagem de programação Linguagem de Alto Nível próximo ao ser humano, escrita de forma textual. Ex: if (a==b) a=b+c; Linguagem de Montagem (Assembly) próximo à linguagem de máquina, escrita em códigos
Leia maisFigure 2 - Nós folhas de uma árvore binária representando caracteres ASCII
A ocorrência tamanho ASCII codificação de Huffman é um A Codificação método de compactação de Huffman caracteres (American e a variável codificação dos usado símbolos Standard para por cada muitas no Code
Leia maisTÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente
Leia mais28/9/2010. Paralelismo no nível de instruções Processadores superescalares
Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados
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 maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO DO SEMI-ÁRIDO DEPARTAMENTO DEPARTAMENTO DE DE CIÊNCIAS CIÊNCIAS EXATAS EXATAS E E NATURAIS NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura
Leia maisIntrodução à Arquitetura e Linguagem Assembly de Processadores IA-32
Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32 Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CHIP Ano MHz Transistors Mem 8086 1978 5
Leia maisAlgoritmo. Iniciação do Sistema e Estimativa do consumo. Perfil do utilizador. Recolha de dados
Algoritmo Iniciação do Sistema e Estimativa do consumo Recolha de dados O algoritmo do sistema de gestão, necessita obrigatoriamente de conhecer todos (ou grande maioria) os aparelhos ligados numa habitação
Leia maisProcessos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho
Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Conceito de processo Operações sobre processos Conceito de processo Conceito de processo
Leia maisArquitectura de Computadores II. Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism)
Arquitectura de Computadores II LESI - 3º Ano Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism) João Luís Ferreira Sobral Departamento do Informática Universidade
Leia maisDepartamento de Informática
Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos época de recurso, 28 de Janeiro de 2009 1º Semestre, 2008/2009 NOTAS: Leia com atenção cada questão antes de responder.
Leia maisarmazenamento (escrita ou gravação (write)) recuperação (leitura (read))
Memória Em um sistema de computação temos a UCP se comunicando com a memória e os dispositivos de E/S. Podemos fazer um paralelo do acesso à memória com um carteiro entregando cartas ou um acesso à biblioteca.
Leia maisSistemas Microcontrolados
Sistemas Microcontrolados Uma Abordagem com o Microcontrolador PIC 16F84 Nardênio Almeida Martins Novatec Editora Capítulo 1 Introdução Os microcontroladores estão presentes em quase tudo o que envolve
Leia maisEscalas. Antes de representar objetos, modelos, peças, A U L A. Nossa aula. O que é escala
Escalas Introdução Antes de representar objetos, modelos, peças, etc. deve-se estudar o seu tamanho real. Tamanho real é a grandeza que as coisas têm na realidade. Existem coisas que podem ser representadas
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisGerência de Memória. Paginação
Gerência de Memória Paginação Endereçamento Virtual (1) O programa usa endereços virtuais É necessário HW para traduzir cada endereço virtual em endereço físico MMU: Memory Management Unit Normalmente
Leia maisArquitectura de Computadores II
Departamento de Ciências e Tecnologias da Informação Arquitectura de Computadores II Textos de apoio Pipelines Versão 0.02 Junho de 2010 Tomás Brandão. ISCTE-IUL - DCTI 2 Índice 1. ITRODUÇÃO... 5 2. FUCIOAMETO...
Leia maisRELATÓRIO REFERENTE AO SUPORTE DO MÊS JUNHO/2013.
RELATÓRIO REFERENTE AO SUPORTE DO MÊS JUNHO/2013. Em Junho de 2013 o Suporte do Sistema Ilux teve um total de 1206 atendimentos, ressaltando que 977 foram realizados pelo chat online, 221 atendimentos
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 maisProcessador ARM Cortex-A9
Erick Nogueira Nascimento (032483) Franz Pietz (076673) Lucas Watanabe (134068) 11 de junho de 2012 Introdução Alto desempenho e economia de energia Arquitetura ARMv7-A Características do processador super-escalável
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 maisshift register demux prefetch control inc ldpc + 1 MAR Pipelining
Unidade de prefetch (com uma só AM) MB_oe32 shift register 32 MB_oe8_s AM data 32 addr rd 0 1 P7 P6 demux 32 32 P5 shctrl 2 inc P4 load P3 prefetch control ldpc PC + 1 P2 2 P1 P0 8 read8 read32 MB_oe8_u
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 maisIntrodução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: Organização Básica de um Computador Digital Introdução à Engenharia de Computação 2 Componentes de um Computador Computador Eletrônico Digital É um sistema
Leia maisINSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO. Engenharia Electrotécnica. Microprocessadores. 2ºano - 1ºsemestre
INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO Engenharia Electrotécnica Microprocessadores 2ºano - 1ºsemestre Microprocessador 8085 Exercícios de Programação em Linguagem
Leia maisO mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.
O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados. A multiprogramação tem como objetivo permitir que, a todo instante, haja algum processo
Leia maisAdministração da Produção I
Administração da Produção I Manutenção Manutenção Manutenção: Termo usado para abordar a forma pela qual organizações tentam evitar as falhas cuidando de suas instalações físicas. É uma parte importante
Leia maisManual do Gestor da Informação do Sistema
Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga
Leia maisCapítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)
Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes
Leia mais