28 de Abril de Aula 14

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

Download "28 de Abril de Aula 14"

Transcrição

1 28 de Abril de Arquitecturas superescalares Aula 14

2 Estrutura desta aula Arquitecturas VLIW e superescalares Emissão de instruções Emissão de 2 vias Superescalares com agendamento dinâmico Exemplo com 2 vias de emissão Especulação por hardware Reorder Buffers (ROB) Esquema de Tomasulo especulativo Ref: Hennessy e Pattersson, 3.6, de Abril de 2005 Arquitectura de Computadores 2004/05 2-Aula 14

3 Emissão de múltiplas l instruções/ciclo Duas variantes Processadores superescalares: número variável de instruções/ciclo (1 a 8), agendadas (escalonadas) pelo compilador ou por hardware (Tomasulo) IBM PowerPC, Sun UltraSparc, DEC Alpha, HP 8000 (Very) Long Instruction Words (V)LIW: número fixo de instruções (4-16) agendadas pelo compilador Intel Architecture-64 (IA-64): Explicitly Parallel Instruction Computer (EPIC) Na expectativa de CPI < 1, usamos geralmente IPC em vez de CPI 28 de Abril de 2005 Arquitectura de Computadores 2004/05 3-Aula 14

4 VLIW vs superescalares dinâmicos As arquitecturas VLIW/EPIC emitem múltiplas instruções por ciclo de relógio mas utilizam: Agendamento estático: o compilador define pacotes de instruções a executar em paralelo código específico para processador As arquitecturas superescalares usam: agendamento estático agendamento dinâmico agendamento dinâmico com especulação 28 de Abril de 2005 Arquitectura de Computadores 2004/05 4-Aula 14

5 Superescalares (1) Arquitecturas super-escalares com agendamento dinâmico Número variável de instruções a emitir por ciclo de relógio (e.g. 0-4) Decide dinamicamente a emissão de instruções em paralelo Capacidade d de fazer o fetch de várias instruções (pacote) Unidade de emissão com capacidade para definir quais as instruções num pacote que podem ser emitidas em paralelo Unidade de emissão de instruções (pode ser pipeline) Identifica conflitos dentro dum pacote de instruções Identifica conflitos entre instruções de diferentes pacotes 28 de Abril de 2005 Arquitectura de Computadores 2004/05 5-Aula 14

6 Superescalares (2) Pode-se considerar a possibilidade de emitir em paralelo qualquer combinação de instruções Mas podem-se criar conflitos estruturais (várias instruções a disputar simultaneamente os mesmos recursos) Com restrições, simplifica-se a unidade de emissão Por exemplo poder apenas emitir 1 instrução inteira e 1 FP por cada ciclo de relógio reduz consideravelmente os conflitos Únicos 2 casos LD.D F1,0(R1) ADD.D D F4,F2,F1F2 F1 ou ADD.D F3,F2,F1 SD.D D F3,0(R1) Mas impede a exploração máxima de ILP Outras instruções inteiras: LD, SD, BR, ALU int, FP Move O impacto dos conflitos aumenta com o número de instruções a realizar em paralelo 28 de Abril de 2005 Arquitectura de Computadores 2004/05 6-Aula 14

7 Superescalares (3) M IPS64 Superescalar de 2 vias: 2 instruções, 1 FP & 1 inteira Fetch 128-bits/ciclo de relógio cycle Apenas emite a 2ª instrução se a 1ª for emitida Mais portos na FPR para permitir FP load (inteira) & FP op num pacote Tipo Andares do pipeline Instrução inteira IF ID EX MEM WB Instrução FP IF ID EX MEM WB Instrução inteira IF ID EX MEM WB Instrução FP IF ID EX MEM WB Instrução inteira IF ID EX MEM WB Instrução FP IF ID EX MEM WB 28 de Abril de 2005 Arquitectura de Computadores 2004/05 7-Aula 14

8 Superescalares (4) Se salto condicionado Tipo Andares do pipeline Instrução inteira IF ID EX MEM WB Instrução FP IF ID EX MEM WB 3 slots de atraso Instrução inteira IF ID EX MEM WB Instrução FP IF ID EX MEM WB Instrução inteira IF ID EX MEM WB Instrução FP IF ID EX MEM WB Numa arquitectura com 1 instrução por ciclo de relógio apenas 1 slot de atraso Com uma arquitectura superescalar de 2 vias temos 3 slots de atraso depois de um branch A instrução na outra metade do pacote não pode ser utilizada, nem as instruções do próximo slot 28 de Abril de 2005 Arquitectura de Computadores 2004/05 8-Aula 14

9 Superescalares (5) Indispensável a predição dinâmica de saltos Numa arquitectura escalar (emissão de 1 instrução por ciclo) a predição de saltos é útil para aumentar o CPI Numa arquitectura superescalar de n vias a predição é indispensável Podem ocorrer n vezes mais saltos do que numa arquitectura escalar O impacto relativo dos stalls devidos aos saltos incorrectamente previstos é maior com um CPI menor (lei de Amdahl) Em condições muito especiais, é possível obter CPI = 0,5 ou IPC = 2 para uma arquitectura superescalar com emissão de 2 vias Desde que exactamente 50% de instruções FP Na ausência de conflitos 28 de Abril de 2005 Arquitectura de Computadores 2004/05 9-Aula 14

10 Superescalares (6) Exemplo com 2 instruções por ciclo de relógio e CPI = 0,5 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

11 Superescalares (7) Se mais instruções forem emitidas no mesmo ciclo, maior dificuldade com a descodificação e com a emissão Mesmo com um processador 2-escalar => examinar 2 códigos operação, 6 campos de registos, e decidir se se podem emitir 1 ou 2 instruções (existência ou não de conflitos) VLIW: troca espaço ocupado pelas instruções por descodificação difi simples A instrução longa tem espaço para várias operações Por definição, todas as operações que o compilador coloca na instrução longa são independentes d => podem ser executadas em paralelo Ex.: 2 operações inteiras, 2 ops FP, 2 referências à memória de dados, 1 salto 16 a 24 bits por campo => 7*16 ou 112 bits a 7*24 ou 168 bits 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

12 Superescalares (8) 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

13 Superescalar dinâmico O hardware pode emitir (0 -> 8) instruções/ciclo Emissão em ordem Emissão arbitrária de k vias Qualquer combinação de k instruções por qualquer ordem Emissão não arbitrária de k vias Ex. k/2 instruções inteiras, i k/2 instruções FP Todos os conflitos são verificados no andar de emissão Entre instruções a ser emitidas, e entre estas e as instruções em execução 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

14 A emissão de instruções (1) Processador superescalar com agendamento dinâmico de k vias IPreF: Prefetch de instruções IF: Examina cada instrução do pacote e verifica se há conflitos entre as instruções IS1: Decide quantas instruções do pacote podem ser emitidas simultaneamente IS2: Examina as instruções seleccionadas por IS1 e as que já foram emitidas e verifica se há conflitos, caso em que não emite as primeiras 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

15 A emissão de instruções (2) O andar de emissão é complexo Determina o período de relógio O andar de emissão é pipelined para poder emitir k instruções em cada ciclo de relógio Muitos superescalares com agendamento estático e todos os superescalares com agendamento dinâmico têm um andar de emissão que é pipelined Maiores penalizações por saltos incorrectamente previstos Aumento do número de vias de emissão maior o pipeline de emissão Não é fácil Limitações da frequência de relógio nos superescalares Ou então aumenta-se a profundidade do pipeline de emissão Mas neste caso as penalizações pelos saltos incorrectos são ainda maiores! 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

16 A emissão de instruções (3) Combinações diferentes de emissões FP op FP load, LD.D Mais portos na FPR para permitir o FP load e o FP op no mesmo período de relógio 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

17 A emissão de instruções (4) Combinações diferentes de emissões (cont.) 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

18 MIPS superesc. dinâmico de 2 vias 1. Fetch de duas instruções da unidade de Prefetch ou da cache 2. Determina quantas instruções podem ser emitidas no pacote nesse ciclo de relógio: 0, 1 ou 2 3. Emite essas instruções para a unidade funcional correcta 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

19 Emissão de 2 vias É fácil fazer o fetch de I1 e de I2, ou de I3 e I4 Mas e quanto a I2 e I3? A maioria dos processadores apenas emite I2 Usar uma unidade de prefetch 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

20 Conflitos Pacotes de emissão potenciais { }, {INT}, {FP}, {INT, FP}, {FP,INT} Muitos dos conflitos podem ser resolvidos dentro do pacote de emissão {FP load/store/move, FP} Conflito estrutural na FPR LD.D D F2,0(R1) ADD.D F2,F1,F1 Conflito RAW LD.D F1,0(R1) ADD.D F2,F1,F1 Conflitos WAW e WAR resolvidos entre pacotes 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

21 Superesc. com escalon. dinâmico 2 soluções fundamentais Emitir uma instrução a cada meio ciclo de relógio (pipeline) Duas instruções processadas em cada ciclo Emissão e despacho Acrescentar a lógica necessária à emissão simultânea de duas instruções Dependências entre as instruções Ambas as soluções Pipeline & lógica suplementar Emissão em ordem Integração da predição dinâmica de saltos no pipeline com escalonamento dinâmico 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

22 Exemplo com 2 vias de emissão (1) Emitir um par de instruções se as estações de reserva correspondentes estiverem disponíveis Emitir o par mesmo que haja dependências Estender o esquema de Tomasulo para lidar com unidades funcionais e register files para inteiros e para FP Admitir que os andares Emite & Escreve Resultado do esquema de Tomasulo levam um ciclo de relógio cada Admitir ainda que existe hardware para predição dinâmica de saltos com predição sempre correcta uma unidade de avaliação da condição de salto uma ALU para inteiros (para cálculo de endereços e para operações ALU) uma unidade FP pipelined 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

23 Exemplo com 2 vias de emissão (2) Consideremos o seguinte ciclo LOOP: L.D F0, 0(R1) ; F0 = elemento do array ADD.D F4, F0, F2 ; adiciona escalar in F2 S.D F4, 0(R1) ; guarda resultado DADDIU R1, R1, #-8 ; decrementa ponteiro de 8 bytes BNE R1, R2, LOOP ; salta se R1!= R2 Vamos desdobrar este ciclo por 3 iterações Latência do ADD.D = 3 ciclos 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

24 Exemplo com 2 vias de emissão (3) Itr Instrução Emissão Exec Mem Escreve CDB Comentário 1 1 L.D F0, 0(R1) ADD.D F4,F0,F2 1 S.D F4, 0(R1) 2 1 DADDIU R1,R1# BNE R1,R2,LOOP L.D F0, 0(R1) ADD.D F4,F0,F2 S.D F4, 0(R1) DADDIU R1,R1#-8 BNE R1,R2,LOOP L.D F0, 0(R1) ADD.D F4,F0,F2 S.D F4, 0(R1) DADDIU R1,R1#-8 3 BNE R1,R2,LOOP Espera por L.D Conflito 8 Dados RAW 3 9 Espera por ADD.D Conflito 4 5 Espera pela ALU estrutural 6 Espera por DADDIU Espera por BNE completo Conflito controlo Espera por L.D 8 14 Espera por ADD.D Conflito de estrutural 9 10 Espera pela ALU 11 Espera por DADDIU Espera por BNE completo Espera por L.D Espera por ADD.D Espera pela ALU 16 Espera por DADDIU 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

25 Exemplo com 2 vias de emissão (4) Notar que O ritmo de emissão de instruções é IPC = 5/3 = 1,67e CPI = 06 0,6 Mas o ritmo de execução de instruções é bastante mais baixo IPC = 15/16 = 0,94e CPI = 1,07 > 1 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

26 Exemplo com 2 vias de emissão (5) Utilização dos recursos E se usarmos um somador suplementar para o cálculo dos endereços dos Loads e ainda um segundo CDB? 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

27 Exemplo com 2 vias de emissão (6) Itr Instrução Emissão Exec Mem Escreve CDB Comentário 1 1 L.D F0, 0(R1) ADD.D F4,F0,F2 1 S.D F4, 0(R1) 2 1 DADDIU R1,R1# BNE R1,R2,LOOP L.D F0, 0(R1) ADD.D F4,F0,F2 S.D F4, 0(R1) DADDIU R1,R1#-8 BNE R1,R2,LOOP L.D F0, 0(R1) ADD.D F4,F0,F2 S.D F4, 0(R1) DADDIU R1,R1# Espera por L.D Espera por ADD.D 3 4 Executa antes 5 Espera por DADDIU Espera por BNE completo 9 12 Espera por L.D 7 13 Espera por ADD.D 6 7 Executa antes 8 Espera por DADDIU Espera por BNE completo Espera por L.D Espera por ADD.D 9 10 Executa antes 3 BNE R1,R2,LOOP 9 11 Espera por DADDIU Segundo CDB Eliminação dos conflitos estruturais que dependiam da unidade inteira única 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

28 Exemplo com 2 vias de emissão (7) Agora O ritmo de emissão de instruções ainda é IPC = 5/3 = 1,67e CPI = 06 0,6 Mas o ritmo de execução de instruções é maior do que anteriormente IPC = 15/11 = 1,37e CPI = 0,73 < 1 Porém, agora vamos ter uma menor utilização das Unidades Funcionais, como mostra o quadro a seguir 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

29 Exemplo com 2 vias de emissão (8) 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

30 Desempenho (1) Quais são os factores limitativos do desempenho do processador superescalar com agendamento dinâmico e emissão de 2 vias ao executar o ciclo anterior? Desiquilíbrio entre a estrutura de pipeline e o ciclo que serviu de exemplo impossibilidade de utilizar plenamente as unidades de FP é necessário que o ciclo possua menos operações inteiras i com dependências overhead do ciclo muito elevado (2/5) Tentar reduzir este overhead ver mais à frente soluções possíveis O conflito de controlo assinalado impede a execução do LD.D antes de o BNE do ciclo anterior ter acabado a sua execução ver a seguir a especulação por hardware 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

31 Desempenho (2) E ainda... Se os saltos continuarem a ser correctamente previstos Aparecem conflitos estruturais porque a unidade de emissão acaba por encher as estações de reserva Os conflitos de controlo têm um grande impacto no desempenho do pipeline No caso anterior (situação a verde no acetato seguinte) atrasa directamente 1 ciclo por iteração e vai provocar indirectamente um conflito estrutural (a vermelho) 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

32 Desempenho (3) Itr Instrução Emissão Exec Mem Escreve CDB Comentário 1 1 L.D F0, 0(R1) ADD.D F4,F0,F S.D F4, 0(R1) 2 1 DADDIU R1,R1# BNE R1,R2,LOOP 3 2 L.D F0, 0(R1) 4 2 ADD.D F4,F0,F2 4 2 S.D F4, 0(R1) 5 2 DADDIU R1,R1# BNE R1,R2,LOOP 6 3 L.D F0, 0(R1) 7 3 ADD.D F4,F0,F Espera por L.D Espera por ADD.D 3 4 Executa antes 5 Espera por DADDIU Espera por BNE completo 9 12 Espera por L.D 7 13 Espera por ADD.D 6 7 Executa antes 8 Espera por DADDIU Espera por BNE completo Espera por L.D Conflito de dados Conflito de controlo Conflito estrutural 3 3 S.D F4, 0(R1) DADDIU R1,R1# Espera por ADD.D 9 10 Executa antes 3 BNE R1,R2,LOOP 9 11 Espera por DADDIU 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

33 Especulação por hardware Porém... Será possível, para além de fazer o fetch e a emissão de uma instrução, executá-la de forma especulativa? Considere-se a situação em que cada ciclo executa um salto no exemplo anterior a predição era perfeita (por hipótese) e, contudo, o CPI era apenas de 1, aproximadamente Ou seja, a predição, só por si, não é suficiente para assegurar um ILP elevado 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

34 Especulação por hardware Vamos substituir a dependência de controlo especulando sobre o resultado dos saltos Executar o programa como se a especulação estivesse sempre correcta Escalonamento dinâmico: Fetch, Emissão (Não executa) Especulação: Fetch, Emissão, Execução especulativa Especulação incorrecta Desfaz-se a especulação 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

35 Ideias básicas Predição dinâmica de saltos para escolher as instruções a executar especulativamente Especulação para permitir a execução de instruções a seguir aos saltos condicionados antes das dependências de controlo terem sido resolvidas Escalonamento dinâmico i para agendar diferentes combinações de blocos básicos de código PowerPC 603/604/G3/G4, MIPS R10000/R12000, Intel Pentium II/III/4, Alpha 21264, AMD K5/K6/Athlon 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

36 Execução com especulação Permite executar instruções antes de resolver dependências de controlo É necessário ter a capacidade de re-iniciar a execução exactamente no ponto em se começou a especular Trata-se de um problema semelhante ao do atendimento preciso das excepções! Solução para ambos: A terminação de uma instrução é feita em ordem A terminação corresponde à escrita nos registos (Register File) ou na memória No entanto, quando acaba a execução (antes da terminação) da instrução os resultados podem ser usados especulativamente por outras instruções Fase final adicional da sequência de execução Terminar a Instrução ( instruction commit ) 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

37 ROB Reorder Buffer (1) Para introduzir a Terminação da Instrução (andar de Commit ) na sequência de execução Alterar procedimentos na sequência de execução Introduzir uma memória tampão Tampão de ç reordenação ou ROB Reorder Buffer No ROB guardam-se as instruções que já foram executadas especulativamente (fora de ordem) mas que ainda não terminaram m (em segurança e em ordem) 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

38 ROB Reorder Buffer (2) Emissão em ordem Execução fora de ordem Terminação em ordem 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

39 ROB Reorder Buffer (3) O ROB é usado para passar resultados Guarda resultados das instruções que terminam a execução Fornece operandos desde que uma instrução acaba a execução até que é terminada (committed) Passa resultados entre instruções que podem ser executadas especulativamente No entanto, t esses resultados só são escritos nos registos (memória) quando termina a instrução Quando a instrução já não é especulativa O d d C i d O andar de Commit guarda-a São escritas as Register Files ou a memória (muda-se em definitivo o estado do processador) Um ROB contém os Store Buffers do esquema de Tomasulo 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

40 Tomasulo com ROB 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

41 Estrutura do ROB (1) 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

42 Estrutura do ROB (2) O ROB contem 4 campos com informação Sobre o destino registo ou endereço de memória O tipo de instrução Branch; STORE (destino: endereço de memória); LOAD/ALU op (destino: número do registo) Sobre o valor resultado da instrução até a instrução ser completada com confiança e poder ser enviada para o andar de terminação (commit) Prontidão do valor ( ready? ) indica se a instrução já completou a execução, isto é se o valor é válido 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

43 Estrutura do ROB (3) Cada instrução que é emitida é colocada (em ordem) no ROB Dado que cada instrução ocupa uma entrada no ROB até terminar, o resultado é identificado usando como etiqueta a entrada (buffer) do ROB e não o identificador da estação de reserva Isso significa que uma estação de reserva tem indicação do buffer que a instrução ocupa no ROB ROB FIFO de instruções em memória segundo a ordem de emissão 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

44 Fases do Tomasulo especulativo (1) Para além das 3 fases do Tomasulo não especulativo, agora existe uma 4ª fase no fim, de terminação ( commit ) Emite ( dispatch ) Obtém uma instrução da fila de espera & emite-a se existir uma Estação de Reserva (RS) disponível e uma entrada no ROB. Caso contrário, faz stall. Envia operandos para a RS se os operandos estiverem disponíveis no ROB ou na Register File. Envia o número da entrada (buffer) do ROB para a RS. Posteriormente, a RS coloca o resultado e uma etiqueta no CDB. 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

45 Fases do Tomasulo especulativo (2) Executa Espera pelos operandos que não estão disponíveis, observando o CDB, i.e.,., verifica a existência de conflitos RAW Quando operandos disponíveis numa RS, executa a operação As instruções podem levar múltiplos ciclos de relógio nesta fase As instruções LOAD precisam de 2 ciclos: o andar verifica se o Load está no topo do Tampão de Leitura (Load Buffer) lê da memória As instruções STORE apenas precisam de calcular o endereço efectivo, pelo que só necessitam do registo de base disponível 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

46 Fases do Tomasulo especulativo (3) Escreve Resultado Coloca o resultado no CDB, conjuntamente com a etiqueta com o número da entrada do ROB Marca a RS como disponível Todas as RS e o ROB lêem o CDB As int instruções STORE precisam de uma actuação especial: Se valor disponível: escreve-o numa entrada do ROB Se valor não disponível: observa o CDB até o valor ser emitido (broadcast) e actualiza o campo de Valor na entrada do ROB 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

47 Fases do Tomasulo especulativo (4) Termina a instrução ( commit ) Uma instrução termina quando chega ao topo do ROB e está correcta (instruções terminadas committed - por ordem) BRANCH com predição incorrecta: quando o Branch atinge o topo do ROB e se conhece exactamente a condição de salto Faz a limpeza ( flush ) de todas as instruções no ROB (que foram especulativa mas incorrectamente executadas não terminam) Começa a execução com a instrução correcta a seguir ao branch, no endereço alternativo do ROB STORE: quando o Store atinge o topo do ROB e o resultado está disponível terminação normal escreve na memória e retira a instrução do ROB As outras instruções: quando a instrução atinge o topo do ROB e o resultado está disponível terminação normal escreve num registo e retira a instrução do ROB 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

48 ROB O ROB é implementado como um tampão circular com acesso do tipo FIFO Uma entrada é reservada na primeira fase da emissão, e é libertada sequencialmente quando a instrução é completada Para tirar partido da especulação e para atender ao seu tamanho limitado, os ROB são, geralmente, desenhados para permitir a terminação de mais do que uma instrução por ciclo de relógio 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

49 Exemplo com emissão simples (1) Consideremos o mesmo exemplo usado no Tomasulo não especulativo L.D F6,34(R2) L.D F2,45(R3) MUL.D F0,F2,F4 SUB.D F8,F6,F2 F6 F2 DIV.D F10,F0,F6 ADD.D F6,F8,F2 com as mesmas latências: ADD.D 2 ciclos MUL.D 10 ciclos DIV.D 40 ciclos 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

50 Exemplo com emissão simples (2) As tabelas que se seguem mostram o que acontece no ROB quando a instrução MUL.D acabou a execução e está pronta a ser terminada MUL.D está no topo do ROB As instruções LD.D terminaram apenas estão incluídas para se perceber o que aconteceu (os Buffers #1 e #2 estão disponíveis) i As instruções SUB.D e ADD.D também acabaram a execução mas ainda não terminaram só terminam depois de MUL.D terminar (terminação em ordem) Os resultados de SUB.D e de ADD.D estão, contudo, determinados e podem ser utilizados por outras instruções DIV.D D está em execução porque tem uma latência maior do que a de MUL.D 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

51 Exemplo com emissão simples (3) F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Reorder # Busy Y N N N N N Y N Y N Y 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

52 Exemplo com emissão simples (4) 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

53 Exemplo com emissão simples (5) As Estações de Reserva (RS) e o Estado dos Registos (FP no exemplo) contêm essencialmente a mesma informação que no Tomasulo não especulativo As diferenças são as seguintes As referências às RS no Tomasulo não especulativo (acetato a seguir) são substituídas por referências aos buffers do ROB nos campos Qj e Qk das RS e nos campos de estado dos Registos FP Inclui-se o campo Dest nas RS do Tomasulo especulativo 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

54 Exemplo com emissão simples (6) Tomasulo não especulativo Nome Busy Op Vj Vk Qj Qk A Load1 No Load2 No Add1 No Add2 No Add3 No Mult1 Yes Mul Mem[45+Regs[R3]] Regs[F4] Mult2 Yes Div Mem[34+Regs[R3]] Mult1 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Qi Mult1 Mult2 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

55 Exemplo com emissão simples (7) Estas diferenças explicam os diferentes comportamentos de um processador com especulação e de um processador com agendamento dinâmico não especulativo Nenhuma instrução das que se seguem à instrução que acabou de ser executada mas que ainda não terminou (MUL.D no exemplo) pode vir terminada No processador com agendamento dinâmico não especulativo, SUB.D e ADD.D já terminaram mas não terminaram ainda no processador especulativo O processador com ROB pode executar código dinamicamente enquanto mantém um modelo com excepções precisas. 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

56 Exemplo com emissão simples (8) Exemplo: se MUL.D provocar uma excepção, podemos aguardar que a instrução chegue ao topo do ROB e, então, aceitamos a excepção com flush do resto do ROB Com agendamento dinâmico, nas mesmas circunstâncias ADD.D D e SUB.D teriam terminado antes de MUL.D provocar a excepção, os registos F8 e F6 (destinos de SUB.D e de ADD.D) teriam visto mudar os seus valores, e a excepção seria imprecisa 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

57 Pó Próxima aula Técnicas de memória Fundamentos de caches 28 de Abril de 2005 Arquitectura de Computadores 2004/ Aula 14

Processadores Superescalares - Avançando na exploração de paralelismo entre instruções

Processadores Superescalares - Avançando na exploração de paralelismo entre instruções Processadores Superescalares - Avançando na exploração de paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Instruction

Leia mais

1.0 val. (b) Determine o CPI do processador na execução do código indicado. Num.: Nome: Pág. 1. Arquitecturas Avançadas de Computadores (AAC)

1.0 val. (b) Determine o CPI do processador na execução do código indicado. Num.: Nome: Pág. 1. Arquitecturas Avançadas de Computadores (AAC) 1. Considere um processador in-order com 5 estágios (IF, ID, EX1, EX2, WB) sem qualquer mecanismo de forwarding de dados, e o seguinte troço de código. Memória de instruções Operação MOV R1,R0 ; R1 R0

Leia mais

1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas:

1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas: 1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas: unidades funcionais pipelined com as seguintes latências: 1

Leia mais

Sequenciamento dinâmico

Sequenciamento 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 mais

Paralelismo ao Nível das Instruções p. 1

Paralelismo ao Nível das Instruções p. 1 Paralelismo ao Nível das Instruções Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Paralelismo ao Nível das Instruções p. 1 Como melhorar

Leia mais

Predição de Desvios e Processadores Superescalares Especulativos

Prediçã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 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

Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem.

Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem. Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores º sem. / // º Teste Duração:, horas Grupo I Superpilining [ valores] Admita que tem um

Leia mais

Arquitectura de Computadores II. Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism)

Arquitectura 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 mais

Arquitetura e Organização de Computadores 2

Arquitetura 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 mais

de saltos Aula de Abril de

de saltos Aula de Abril de Predição de saltos Aula 13 21 de Abril de 2005 1 Estrutura desta aula Predição estática e dinâmica Custos da não predição Soluções Predição estática Predição dinâmica Branch History Tables (BHT) com 1

Leia mais

Esse programa inclui dependências de tipo: escrita-escrita, leitura-escrita e escrita-leitura. Identifique e mostre estas dependências.

Esse programa inclui dependências de tipo: escrita-escrita, leitura-escrita e escrita-leitura. Identifique e mostre estas dependências. Faculdade de Computação Arquitetura e Organização de Computadores 2 2 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 02/06/2016 Problemas: P1) Qual é o propósito do instruction pipelining?

Leia mais

Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h

Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Pipelining Avançado Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução A técnica de pipelining explora o paralelismo entre as instruções Paralelismo em Nível de Instrução (ILP). Métodos

Leia mais

Microprocessadores. Execução em Paralelo Pipelines

Microprocessadores. Execução em Paralelo Pipelines Execução em Paralelo Pipelines António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Pipelines de Instrucções Instrucções são divididas em diferentes Estágios Pipelines

Leia mais

Arquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW

Arquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW 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 08 Arquiteturas VLIW 1. Introdução VLIW é Very

Leia mais

AULA DE REVISÃO 3 ILP

AULA 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 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

Microarquiteturas Avançadas

Microarquiteturas Avançadas Universidade Federal do Rio de Janeiro Arquitetura de Computadores I Microarquiteturas Avançadas Gabriel P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com

Leia mais

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado Arquitectura de Computadores 2 o Semestre (2013/2014) MEAer 2 o Teste - 19 de Junho de 2014 Duração: 1h30 + 0h15 Regras: Otesteésemconsulta, apenas tem disponível o anexo que lhe deverá ter sido entregue

Leia mais

Execução concorrente de instruções

Execução concorrente de instruções Execução concorrente de instruções Aspectos avançados João Canas Ferreira Outubro de 2010 João Canas Ferreira (FEUP) ILP Outubro de 2010 1 / 58 Assuntos 1 Previsão dinâmica de saltos 2 Sequenciamento dinâmico

Leia mais

Escalonamento de Instruções

Escalonamento de Instruções Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Escalonamento de Instruções Introdução Otimização de código é necessária como forma de diminuir

Leia mais

Conflitos. Aula 9. 31 de Março de 2005 1

Conflitos. 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 mais

Arquiteturas Superescalares

Arquiteturas Superescalares Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas Avançadas Arquiteturas Superescalares Gabriel P. Silva Arquiteturas Pipelined com Desempenho Superior ao de uma Instrução

Leia mais

Paralelismo ao Nível da Instrução

Paralelismo ao Nível da Instrução Arquitectura de Computadores II 3º Ano Paralelismo ao Nível da Instrução (execução encadeada de instruções e super-escalaridade) João Luís Ferreira Sobral Departamento do Informática Universidade do Minho

Leia mais

Execução concorrente de instruções

Execução concorrente de instruções Execução concorrente de instruções Aspectos avançados João Canas Ferreira 2007-10-29 Tópicos de Arquitectura de Computadores Assuntos Tópicos 1 Sequenciamento dinâmico 2 Algoritmo de Tomasulo 3 Previsã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

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação

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

Microprocessadores. Família x86 - Evolução

Microprocessadores. Família x86 - Evolução Família x86 - Evolução António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt i8086 16 bits de dados 20 bits de endereços 1MByte Clock 2 [4,8] MHz i80286 24 bits de endereço

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

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

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

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

Encadeamento de instruções

Encadeamento de instruções Encadeamento de instruções (Pipelines) Outubro de 2010 (FEUP/DEEC) Pipelines Outubro de 2010 1 / 62 Assuntos 1 Execução concorrente de instruções 2 Dependências entre instruções 3 Fundamentos da operação

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

Exemplo: 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

Exemplo: 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 mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO III AULA I, II e III Abril 2014 Índice Aritmética para computadores Intro Adição e subtração Multiplicação Divisão Virgula Flutuante Virgula Flutuante - aritmética

Leia mais

Implementação de pipelines

Implementaçã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 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

Arquitectura de Computadores II. Introdução

Arquitectura de Computadores II. Introdução Arquitectura de Computadores II LESI - 3º Ano Introdução João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Janeiro 2002 Objectivos da disciplina e relação com outras disciplinas

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

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

É 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

Algoritmo de Tomasulo

Algoritmo de Tomasulo Algoritmo de Tomasulo Cristiano D. Ferreira RA.: 049239 ABSTRACT Nos dias atuais os processadores estão cada vez mais rápidos. A utilização de pipeline explorando o paralelismo no nível de instrução visa

Leia mais

Hierarquia de Memória

Hierarquia de Memória Hierarquia de Memória Introdução e Análise do Desempenho AC1 Hierarquia da Memória: Análise do Desempenho 1 Hierarquia de Memória A velocidade dos processadores tem aumentado muito mais rapidamente do

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação

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

Aula 14 Funcionamento de Processadores (Visão específica)

Aula 14 Funcionamento de Processadores (Visão específica) Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm

Leia mais

Desafios do Mapeamento de Processos em Arquiteturas Many-Core

Desafios do Mapeamento de Processos em Arquiteturas Many-Core Desafios do Mapeamento de Processos em Arquiteturas Many-Core Professor: Philippe O. A. Navaux Instituto de Informática - UFRGS Escola Regional de Alto Desempenho São Paulo 1 Indíce Evolução dos Processadores

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

Computadores Vetoriais

Computadores Vetoriais Computadores Vetoriais Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas e Fluxos de Instrução e Dados (SISD) Single Instruction

Leia mais

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização 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 1 Introdução Arquitetura e Organização 1. Arquitetura

Leia mais

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções Capítulo 2 Hennessy Patterson 1 Instruções Linguagem da máquina Vamos trabalhar com a arquitetura do conjunto de instruções MIPS (Micrrocessor without interlocked pipeline stages Micrrocessador sem estágios

Leia mais

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção ARQUITECTURA DE COMPUTADORES O estudo da arquitectura de computadores efectua-se com recurso à Abstracção Podemos ver um computador de várias formas. Para um utilizador normalmente o computador é a aplicação

Leia mais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada

Leia mais

RISC simples. Aula 7. 31 de Março de 2005 1

RISC 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 mais

5 de Maio de Aula 15

5 de Maio de Aula 15 5 de Maio de 2005 1 Caches I Aula 15 Estrutura desta aula Hierarquia de memórias Tecnologia das memórias Fundamentos de caches Organização em blocos Colocação dos blocos Identificação dos blocos Políticas

Leia mais

processadores µprocessador µcontrolador DSP ASIP especialização crescente

processadores µprocessador µcontrolador DSP ASIP especialização crescente processadores programáveis (por software) µprocessador µcontrolador DSP ASIP usos gerais aplicações industriais, controlo, RT aplicações numéricas, RT hw e conjunto de instruções optimizado para a aplicação

Leia mais

Objetivos. Tópico 02: Arquitetura do Conjunto de Instruções. Page 1. Estudar as principais características de arquiteturas de conjunto de instruções.

Objetivos. Tópico 02: Arquitetura do Conjunto de Instruções. Page 1. Estudar as principais características de arquiteturas de conjunto de instruções. Tópico 02: Arquitetura do Conjunto de Instruções Objetivos Estudar as principais características de arquiteturas de conjunto de instruções. Instruction set architecture (ISA) Baseando-se em propriedades

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 7ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções

Leia mais

Conjunto de Instruções. Alisson Brito

Conjunto de Instruções. Alisson Brito Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas

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

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações Introdução aos Sistemas de Computação (6) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3.

Leia mais

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

Memória. Gestão do espaço lógico Paginação Segmentação com paginação Memória Gestão do espaço lógico Paginação Segmentação com paginação Paginação Divide-se a memória física em pequenos blocos de tamanho fixo chamados de páginas físicas (ou frames) o tamanho é uma potência

Leia mais

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE Especificação do Projeto Simulador MIPS Superescalar Especulativo CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até quatro alunos 1. Objetivo Exercitar e fixar conhecimentos

Leia mais

Visão Geral de Pipelining

Visã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 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

Arquitetura de Computadores II

Arquitetura de Computadores II Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Arquitetura de Computadores II Prof. Flávio Rogério Uber Informações Úteis Professor: Flávio Rogério Uber Bloco C-56 Sala

Leia mais

Paralelismo ao Nível da Instrução

Paralelismo ao Nível da Instrução Arquitectura de Computadores 3º Ano Paralelismo ao Nível da nstrução (execução encadeada de instruções e super-escalaridade) João Luís Ferreira Sobral epartamento do nformática Universidade do inho Junho

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Tópicos Avançados de Arquitectura de Computadores (15) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto

Leia mais

Pipelining - analogia

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 mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Arquitecturas 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 mais

Organização e Arquitetura de Computadores INTRODUÇÃO

Organização e Arquitetura de Computadores INTRODUÇÃO Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo

Leia mais

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle William Stallings Organização de computadores digitais Capítulo 14 Operação da Unidade de Controle Microoperações o A execução de um programa em um computador se faz através: o do ciclo de Busca e Execução.

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

Memórias cache: uma introdução

Memórias cache: uma introdução Memórias cache: uma introdução João Canas Ferreira Dezembro de 2006 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP 2006 AAC (FEUP/MIEIC) Memórias

Leia mais

Instruções de Máquina

Instruções de Máquina Instruções de Máquina Operação básica (primitiva) que o hardware é capaz de executar diretamente Conjunto de bits que indica ao processador uma operação que ele deve realizar O projeto de um processador

Leia mais

Unidade 4* - Aulas 1/2: Pipelines, Hazards e Forwarding

Unidade 4* - Aulas 1/2: Pipelines, Hazards e Forwarding Pontifícia Universidade Católica do Rio Grande do Sul Instituto de Informática Organização de Computadores - GAPH Unidade 4* - Aulas 1/2: Pipelines, Hazards e Forwarding Profs. Fernando Gehm Moraes e Ney

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

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos, Processos Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Objetivos da aula Introduzir a noção de processo um programa em execução que é a base de toda a computação Descrever as várias

Leia mais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações

Leia mais

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída)

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Modelos de consistência de memória João Luís Ferreira Sobral jls@... 29 Março 2011 Resumo Revisão: modelos de threads Qual a necessidade

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de Entrada/Saída

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Arquitetura de Von Newmann Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Vídeos Vídeo aula RNP http://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_com

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

Aula Fev-07 Arquitectura de Computadores 2006/07

Aula Fev-07 Arquitectura de Computadores 2006/07 Apresentação Aula 1 26-Fev-07 Arquitectura de Computadores 2006/07 1 - Aula 1 Estrutura desta aula Apresentação da cadeira Objectivos Bibliografia Conhecimentos prévios Estrutura das aulas Avaliação 26-Fev-07

Leia mais

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) LEEC/MEEC (2006/07 2º Sem.) Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio ARQUITETURA DE COMPUTADORES Organização de Sistemas Computacionais Prof.: Agostinho S. Riofrio Agenda 1. Unidade Central de Processamento 2. Organização da CPU 3. Interpretador 4. RISC x CISC 5. Principios

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

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html

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

Barramentos internos/externos

Barramentos internos/externos Barramentos Uma das características principais de um processador são os seus barramentos. Os barramentos são auto-estradas por onde circula a informação, seja no interior do CPU ou do interior para o exterior,

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Threads Conceito Um processo é um programa em execução. A execução de um processo é sequencial: pode-se caracterizar um processo pelo

Leia mais

28/8/13. Processadores. Introdução

28/8/13. Processadores. Introdução Processadores 1 Introdução 2 1 Data path 3 Data Path Composto pelo conjunto de registradores e o ULA Instruções register-memory Operações diretamente na memória Transferências entre memória e registrador

Leia mais