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

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

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

Transcrição

1 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 extraídas de programas reais (típicos)... Como deve ser a ISA de uma máquina contemporânea? Que instruções e modos de endereçamento? Que formatos e tamanho de campos? Qual o impacto da ISA no compilador? Some pictures are adapted from Computer Architecture: A Quantitative Approach, J. Hennessy and D. Patterson, Morgan Kaufmann Publishers. 3rd edition. CA, A2, slide 1 CA, A2, slide 2 Page 1

2 Sumário Arquiteturas de conjuntos de instruções Classificação» Pilha, acumulador, registrador-memória, load/store Medidas independentes de ISA» Endereçamento de memória» Tipo e tamanho de operandos» Operações Codificação de instruções» Formatos e seu impacto Sumário O papel dos compiladores Estrutura de um compilador moderno Impacto das otimizações no desempenho Sintonia compilador «ISA» Impacto da tecnologia de compiladores no projeto de uma ISA» Impacto do projeto de uma ISA na eficiência do compilador A arquitetura do MIPS 64 Exemplo real de uma ISA contemporânea CA, A2, slide 3 CA, A2, slide 4 Page 2

3 ISA: classificação ISA: classificação TOS TOS ULA ULA ULA CPU CPU CPU MEM Pilha MEM Pilha MEM Acumulador CA, A2, slide 5 CA, A2, slide 6 Page 3

4 ISA: classificação ISA: classificação TOS TOS ULA ULA ULA ULA ULA ULA ULA CPU CPU CPU CPU CPU CPU CPU MEM Pilha MEM Acumulador MEM Reg-Memória MEM Pilha MEM Acumulador MEM Reg-Memória MEM Load/Store CA, A2, slide 7 CA, A2, slide 8 Page 4

5 ISA: exemplo ISA: classificação C = A+B Instruções ALU: operandos e endereços Pilha Acumulador Reg-Memória Load/Store Push A Load A Load R1,A Load R1,A Push B Add B Add R3,R1,B Load R2,B Add Store C Store R3,C Add R3,R1,R2 Pop C Store R3,C Número de endereços de memória Número máximo de operandos permitidos Tipo de ISA Exemplos 0 3 Alpha, ARM, MIPS, PowerPC, Load/Store SPARC, Trimedia TM Reg-Mem IBM 360/370, Intel 80x86, Motorola Mem-Mem VAX 3 3 Mem-Mem VAX CA, A2, slide 9 CA, A2, slide 10 Page 5

6 ISA: vantagens e desvantagens Modos de endereçamento: classificação Tipo Vantagens Desvantagens Reg-Reg (0,3) Reg-Mem (1,2) Codificação: comprimento fixo. Geração de código: simples. CPI: pouco variável Número de instruções: reduzido, pois dispensa pré-carga. Codificação: comprimento variável. Densidade: boa Número de instruções: o mais alto Densidade: a mais baixa Operandos: um fonte é destruído CPI: variável com a posição do operando Codificação: comprimento muito Mem-Mem (2,2) ou (3,3) Densidade: a mais alta. variável CPI: muito variável entre instruções Modo Exemplo Significado Registrador Add R4, R3 Regs[R4] <= Regs[R4] + Regs[R3] Imediato Add R4, #3 Regs[R4] <= Regs[R4] + 3 Deslocamento Add R4, 100(R1) Regs[R4] <= Regs[R4] + Mem[100+Regs[R1]] Indireto de registrador Add R4, (R1) Regs[R4] <= Regs[R4] + Mem[Regs[R1]] Indexado Add R3, (R1+R2) Regs[R3] <= Regs[R3] + Mem[Regs[R1]+Regs[R2]] Direto ou absoluto Add R1, (1001) Regs[R1] <= Regs[R1] + Mem[1001] CA, A2, slide 11 CA, A2, slide 12 Page 6

7 Modos de endereçamento: classificação Modo Exemplo Significado Indireto de memória Add Regs[R1] <= Regs[R1] + Mem[Mem[Regs[R3]]] Auto-incremento Add R1, (R2) + Regs[R1] <= Regs[R1] + Mem[Regs[R2]] Regs[R2] <= Regs[R2] + d Modos de endereçamento: utilização 50% do acesso a operandos Modo registrador 50% dos acessos usam outros modos Quais? Em que proporção? Regs[R2] <= Regs[R2] - d Auto-decremento Add R1, - (R2) Regs[R1] <= Regs[R1] + Mem[Regs[R2]] Regs[R1] <= Regs[R1] + Mem[100+Regs[R2]] + Escalonado Add R1, 100(R2) [R3] Regs[R3]*d CA, A2, slide 13 CA, A2, slide 14 Page 7

8 Modos de endereçamento: utilização outros Indireto de memória Escalonado Indireto de registrador Imediato Deslocamento 0% 3% 3% 1% 1% 6% 0% 6% 3% 11% 16% 17% 24% 43% 39% 32% 40% 55% 0% 10% 20% 30% 40% 50% 60% TeX spice gcc Deslocamento: distribuição de valores % ocorrência # bits magnitude (log 2 d - 1) 40% 35% 30% 25% 20% 15% 10% 5% 0% inteiros ponto flutuante CA, A2, slide 15 75% 99% CA, A2, slide 16 Page 8

9 Modo imediato: utilização Imediato: distribuição de valores 23% Cargas 22% 25% Operações da ALU 19% 21% Todas 16% 0% 5% 10% 15% 20% 25% 30% Ponto flutuante Inteiros % ocorrência # bits magnitude (log 2 i - 1) 45% 40% 35% 30% 25% 20% 15% 10% 5% 0% Conclusão: Inteiros: 1/5 das instruções; Ponto flutuante: 1/6 das instruções CA, A2, slide 17 inteiros ponto flutuante 50% 80% CA, A2, slide 18 Page 9

10 Operações no conjunto de instruções As 10 instruções mais freqüentes no 80x86 Desvios: nomenclatura Desvio condicional Desvio ou Branch» Exemplo: BNE R3,R4, nome Desvio incondicional Salto ou Jump» Exemplo: J nome CA, A2, slide 19 CA, A2, slide 20 Page 10

11 Desvios e saltos: utilização Call/Return Jump Branch 8% 6% 10% 19% 75% 82% 0% 20% 40% 60% 80% 100% Ponto flutuante Inteiros CA, A2, slide 21 Desvios e saltos: destino Conhecido em tempo de compilação Salto direto» J nome Salto e vínculo» JAL nome Desvio condicional» BNE R3,R4, nome Desconhecido em tempo de compilação Retorno Salto indireto» JR R3 CA, A2, slide 22 Page 11

12 Salto indireto: utilização Case ou switch Tabela de endereços Funções ou métodos virtuais Chamadas de rotinas diferentes Dependendo do tipo do argumento Ponteiros de Funções Passagem de funções como parâmetros Bibliotecas compartilhadas dinamicamente Carregadas e ligadas sob demanda Desvios: distribuição de deslocamentos % ocorrência # bits magnitude (log 2 d - 1) 30% 25% 20% 15% 10% 5% 0% inteiros ponto flutuante CA, A2, slide 23 85% CA, A2, slide 24 Page 12

13 Desvio condicional: alternativas Nome Exemplos Como a condição é testada Código condicional (CC) 80x86, 68000, PowerPC, ARM, SPARC Registrador de condição Alpha, MIPS Comparação e desvio PA-RISC, VAX Operação da ULA define bit especial, que é testado pela instrução de desvio Resultado de uma comparação armazenado em registrador arbitrário, que é testado pela instrução de desvio A comparação faz parte da instrução de desvio CA, A2, slide 25 Desvio condicional: alternativas If (A > B) then S1; S2; CMP B, A BLE end S1 end: S2 Define CC (68020) SLT X, B, A BEQ X, $zero,end S1 end: S2 Não define CC (MIPS) BLE B, A,end S1 end: S2 Em geral só quando teste é simples (<0, >0, 0, 0) CA, A2, slide 26 Page 13

14 Desvio condicional: teste Desvios: comparações com zero não = 2% 5% Não requerem o uso da ULA = 18% 16% >= 0% 11% <= 33% 44% < 35% 34% S Z 0% 10% 20% 30% 40% 50% Ponto flutuante Inteiros Teste > ocorre em porcentagem desprezível BLTZ < 0 S BLEZ 0 S + Z BGEZ 0 S BGTZ > 0 S. Z CA, A2, slide 27 CA, A2, slide 28 Page 14

15 Operandos: tipos e tamanhos Byte (8 bits) 10% 1% Meia palavra (16 bits) 5% 0% Palavra (32 bits) 26% 29% Palavra dupla (64 bits) 59% 70% 0% 20% 40% 60% 80% Ponto flutuante Inteiros Operação e número de operandos Codificação de instruções Especificador de endereço 1 Comprimento variável: VAX, Intel 80x86 Operação Campo de endereço 1 Campo de endereço 1 Campo de endereço 2... Campo de endereço 3 Comprimento fixo: Alpha, ARM, MIPS, PowerPC, SPARC Operação Operação Especificador de endereço Especificador de endereço 1 Campo de endereço Especificador de endereço 2 Especificador de endereço n Campo de endereço Campo de endereço n CA, A2, slide 29 Operação Especificador de endereço Híbrido: IBM 360/70, MIPS16, Thumb Campo de endereço 1 Campo de endereço 2 CA, A2, slide 30 Page 15

16 O papel dos compiladores Compiladores: estrutura Desempenho Tecnologia de CIs Organização do HW Tecnologia de Compiladores Que características do ISA resultam em código mais eficiente? Que características do ISA tornam mais fácil escrever compiladores eficientes? Front-end por linguagem Representação intermediária Otimizações de alto nível Otimizador global Traduzir linguagem para formato intermediário comum Otimização de laços e inserção de in-lining Otimizações locais, globais e alocação de registradores CA, A2, slide 31 Gerador de código Seleção de instruções e escalonamento de código CA, A2, slide 32 Page 16

17 Compiladores: estrutura Compiladores: objetivos Correção Front-end por linguagem Representação intermediária Otimizações de alto nível Dependência da linguagem Dependência da máquina Velocidade do código compilado Compilação rápida Suporte para depuração... Otimizador global Gerador de código CA, A2, slide 33 CA, A2, slide 34 Page 17

18 Compiladores: complexidade Complexidade impede solução monolítica Solução: Múltiplos passos (fases) Vantagem: reduz complexidade Desvantagem: problema de ordenação de fases Exemplo: Eliminação de expressões comuns» Assume temporário em registrador Decidir se inlining» Antes de conhecer o tamanho do procedimento Compiladores: otimizações Otimizações de alto nível Integração de procedimentos ( inlining )» Exemplo: Definição: inline int metodo(a,b,c) {return a+b-c;} Chamada: z = metodo(w,x,y); Resultado: z = w+x-y; Transformação de laços» Exemplo: loop unrolling for (i=0; i < N; i=i+1) { a[i]=b[i]*c[i];}» Resultado: for (i=0; i < N; i=i+2) { a[i]=b[i]*c[i]; a[i+1]=b[i+1]*c[i+1];} CA, A2, slide 35 CA, A2, slide 36 Page 18

19 Compiladores: otimizações Otimizações de alto nível Integração de procedimentos ( inlining )» Exemplo: Definição: inline int metodo(a,b,c) {return a+b-c;} Chamada: z = metodo(w,x,y); Resultado: z = w+x-y; Transformação de laços» Exemplo: loop unrolling for (i=0; i < N; i=i+1) { a[i]=b[i]*c[i];}» Resultado: for (i=0; i < N/2; i=i+1) { a[i*2]=b[i*2]*c[i*2]; a[i*2+1]=b[i*2+1]*c[i*2+1];} Compiladores: otimizações Otimizações locais Escopo = bloco básico» Eliminação de expressões comuns a = x+y;... b = a+1;... c = x+y+z; a = x+y;... b = a+1;... c = a+z; CA, A2, slide 37 CA, A2, slide 38 Page 19

20 Compiladores: otimizações Compiladores: otimizações Otimizações locais Escopo = bloco básico» Propagação de constantes e variáveis a = 0;... b = a+1;... c = 2*b; a = x;... b = a+1;... c = 2*a; a = 0;... b = 1;... c = 2; a = x;... b = x+1;... c = 2*x; CA, A2, slide 39 Otimizações globais Escopo: além do bloco básico» Eliminação global de expressões comuns» Code Motion x = y+a[i]; if (x == y) { a = k + w; b = f + g; } else a = k - w; A[i] = a; x = y+a[i]; a = k + w; if (x == y) { b = f + g; } else a = k - w; A[i] = a; CA, A2, slide 40 Page 20

21 Otimizações: code motion LD R1, 0(R2) IF ID EX ME WB DADD R3, R4, R1 X IF ID EX ME WB BNE R5, R6, else IF ID EX ME WB DADD R7, R8, R9 X IF ID EX ME WB DADD R10, R11, R12 IF ID EX ME WB J exit IF ID EX ME WB else DSUB R7, R8, R9 exit SD R7, 0(R2) IF ID EX ME WB... Compiladores: otimizações Alocação de registradores Mapeamento de variáveis para registradores Talvez a mais importante otimização» Aceleração do código» Torna outras otimizações úteis LD R1, 0(R2) IF ID EX ME WB DADD R7, R8, R9 IF ID EX ME WB DADD R3, R4, R1 IF ID EX ME WB BNE R5, R6, else IF ID EX ME WB DADD R10, R11, R12 X IF ID EX ME WB J exit IF ID EX ME WB else DSUB R7, R8, R9 exit SD R7, 0(R2) IF ID EX ME WB... CA, A2, slide 41 CA, A2, slide 42 Page 21

22 Compiladores: otimizações Otimizações dependentes da máquina Seleção de instruções Exemplo: a = b * 2;» MULT R1, R2, #2 ou» SLLI R1, R2, #2 Escalonamento de código Reordenamento de instruções para melhorar o desempenho» Redução do número de pausas devidas a hazards Otimizações: escalonamento de código Exemplo: x = y + A[i]; z = w - B[i]; LD R1, 0(R8) IF ID EX ME WB DADD R3, R4, R1 X IF ID EX ME WB LD R5, 0(R9) IF ID EX ME WB DSUB R6, R7, R5 X IF ID EX ME WB LD R1, 0(R8) IF ID EX ME WB LD R5, 0(R9) IF ID EX ME WB DADD R3, R4, R1 IF ID EX ME WB DSUB R6, R7, R5 IF ID EX ME WB CA, A2, slide 43 CA, A2, slide 44 Page 22

23 Otimizações: impacto Alocação de registradores lucas, nível 3 lucas, nível 2 11% 12% x 0,57 Coloração de grafos Problema NP-completo lucas, nível 1 lucas, nível 0 mcf, nível 3 mcf, nível 2 mcf, nível 1 mcf, nível 0 21% 76% 76% 84% x 0,21 x 0,90 x 0,84 Mas, há heurísticas eficientes» Desde que #vértices > 16» Difícil construir bom alocador com poucos regs. Poucos registradores» Não somente há poucas posições de armazenamento» Mas também são mal gerenciadas ULA: inteiros ULA: ponto flutuante Desvios/Chamadas Load/Store CA, A2, slide 45 CA, A2, slide 46 Page 23

24 Alocação de registradores Alocação de registradores Áreas de dados Pilha (endereços relativos ao SP)» Variáveis locais Área de dados globais» Váriaveis globais, constantes, arranjos Heap (acesso via ponteiros)» Objetos alocados dinamicamente Aliases (nomes alternativos) Dificultam alocação de registradores Exemplo: p = &a; a =... *p =......a... Restrições Mais efetiva para objetos alocados na pilha Impossível para objetos na heap Variáveis globais possuem diversos alias» Ilegal alocá-las em registradores CA, A2, slide 47 CA, A2, slide 48 Page 24

25 ISA «Compilador Propriedades desejáveis de uma ISA Regularidade» Operações e modos de endereçamento ortogonais Oferta de primitivas não de soluções completas» Não tentar sintonizar compilador com a linguagem Ex.: salvamento automático para chamada de procedure Simplicidade em avaliar alternativas» Reg-mem: depois de quantas referências uma variável deve ser alocada em registrador? Características desejáveis de uma máquina contemporânea Registradores de uso geral + load/store Modos de endereçamento simples deslocamento (12 a 16 bits) imediato (8 a 16 bits) indireto de registrador Tipo e tamanho de dados inteiros (8, 16,32 e 64 bits ); PF (32 e 64 bits) CA, A2, slide 49 CA, A2, slide 50 Page 25

26 Características desejáveis de uma máquina contemporânea Instruções simples, pois dominantes: load/store, soma, subtração, move entre registradores, deslocamento Comparações: Igual, diferente, menor que Desvios condicional (com endereçamento relativo ao PC) incondicional (salto) chamada retorno Características desejáveis de uma máquina contemporânea Formato de instrução fixo (desempenho) variável (tamanho do código) Mais de 16 registradores de uso geral Registradores separados para PF Modos de endereçamento regulares Aplicam-se a todas as instruções de transferência CA, A2, slide 51 CA, A2, slide 52 Page 26

27 MIPS64: um modelo arquitetônico Características Um conjunto simples de instruções Máquina load/store Projeto orientado à eficiência do pipeline» codificação fixa de instruções Projeto orientado à eficiência do compilador MIPS64: um modelo arquitetônico Registradores GPRs: 32 reg. de uso geral (64 bits)» R0,..., R31;» R0 = zero; FPRs: registradores para PF (32 ou 64 bits)» F0,..., F31 CA, A2, slide 53 CA, A2, slide 54 Page 27

28 MIPS64: um modelo arquitetônico Tipos de dados Inteiros» byte (8), meias palavras (16)» palavras (32), palavras duplas (64) Ponto flutuante» precisão simples (32)» precisão dupla (64) Operações Sobre inteiros de 64 bits ou valores em ponto flutuante de 32 ou 64 bits Meias palavras e bytes carregados em GPRs com ou sem extensão de sinal CA, A2, slide 55 MIPS64: um modelo arquitetônico Modos de endereçamento Só imediato e deslocamento» Indireto e absoluto como casos particulares» Valor codificado em 16 bits Memória Endereçável por byte Endereço: 64 bits Ordem dos bytes configurável» Big endian ou little endian CA, A2, slide 56 Page 28

29 MIPS64: um modelo arquitetônico MIPS64: formatos de instrução Máquina Load/store GPRs:» byte, meia palavra, palavra ou palavra dupla FPRs:» precisão simples ou dupla Acesso à memória Alinhamento obrigatório I R J Opcode rs rt imediato Opcode rs 6 Opcode rt rd shamt funct 26 deslocamento adicionado ao PC CA, A2, slide 57 CA, A2, slide 58 Page 29

30 MIPS64: um modelo arquitetônico Exemplos de instruções Instruções de load/store» Figura 2.28 Instruções aritméticas/lógicas» Figura 2.29 Instruções que afetam o fluxo de controle» Figura 2.30 Instruções de ponto flutuante» Figura 2.31 Conjunto completo de instruções» Apêndice C ( CA, A2, slide 59 MIPS64: freqüência de instruções load imm call/return compare store cond branch and/or/xor add/sub load 2% 2% 5% 10% 12% 16% 21% 26% 0% 10% 20% 30% Média inteiros CA, A2, slide 60 Page 30

31 MIPS64: freqüência de instruções Perspectiva histórica: VAX MIPS store int 2% compare int 2% and/or/xor 3% cond branch 4% load imm 5% store PF 7% mul PF 8% add/sub PF 10% load int 15% load PF 15% add/sub int 25% 0% 5% 10% 15% 20% 25% 30% VAX compilador simples, densidade de código» Instruções e modos de endereçamento poderosos, formato de instrução variável, poucos registradores MIPS alto desempenho via pipelining, facilidade de implementação do HW, compatibilidade com compiladores altamente otimizados» Instruções e modos de endereçamento simples, formato de instrução fixo, muitos registradores Média PF CA, A2, slide 61 CA, A2, slide 62 Page 31

32 VAX 8700 MIPS M2000 Razão: MIPS/VAX VAX 8700 MIPS M2000 Razão: MIPS/VAX = 3/1 CA, A2, slide 64 I MIPS /I VAX» 2 CPI MIPS /CPI VAX» 1/6 I MIPS /I VAX» 2 CPI MIPS /CPI VAX» 1/6 CA, A2, slide 63 Page 32

Arquiteturas de Computadores. Princípios e exemplos de conjuntos de instruções

Arquiteturas de Computadores. Princípios e exemplos de conjuntos de instruções Arquiteturas de Computadores Princípios e exemplos de conjuntos de instruções Características das aplicações Computação de desktop Ênfase em desempenho de programas com tipos de dados inteiros e ponto-flutuante

Leia mais

Processadores para computação de alto desempenho

Processadores para computação de alto desempenho Processadores para computação de alto desempenho Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Arquitetura do Conjunto de Instruções Tópicos a serem abordados: Métricas das

Leia mais

SSC0114 Arquitetura de Computadores

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

Leia mais

Infraestrutura de Hardware. Instruindo um Computador

Infraestrutura de Hardware. Instruindo um Computador Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath

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

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

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

Leia mais

Sistemas de Computação. Instruções de Linguagem de Máquina

Sistemas de Computação. Instruções de Linguagem de Máquina Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 CISC RISC MIPS Organização e Arquitetura de Computadores I Sumário Representação de instruções Slide 2 CISC O CISC (Complex Instruction

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture

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

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1 Conjunto de Instruções Prof. Leonardo Barreto Campos 1 Sumário Introdução; CISC; RISC; MIPS; Representação de Instruções; SPIM; Prof. Leonardo Barreto Campos 2/58 Sumário Operações Lógicas; Instruções

Leia mais

MIPS ISA (Instruction Set Architecture)

MIPS ISA (Instruction Set Architecture) MIPS ISA (Instruction Set Architecture) MIcroprocessor without Interlocking Pipeline Stages MIPS Processador RISC de 32 bits Referência dos Processadores RISC Mais de 100 Milhões de processadores vendidos

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de 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

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Linguagem de Montagem Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO 1 Introdução Independente da linguagem de programação utilizada, todo programa

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

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

Sistemas Processadores e Periféricos Aula 2 - Revisão

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Operações de Controle de Fluxo e Acesso a Memória. Na Aula Anterior... Nesta Aula. Instruções de Controle de Fluxo. if then - else.

Operações de Controle de Fluxo e Acesso a Memória. Na Aula Anterior... Nesta Aula. Instruções de Controle de Fluxo. if then - else. GBC036 Arq. e Org. Computadores I Operações Controle Fluxo e Acesso a Memória Na Aula Anterior... Instruções aritméticas em Z; Formato e Codificação Instruções; Overflow e unrflow; Instruções aritméticas

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

Organização de Computadores

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

Leia mais

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

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

Microcontroladores e Interfaces

Microcontroladores e Interfaces Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2004/2005 http://www.dei.uminho.pt/lic/mint Aula A2 7 Mar 06 - M Uma Retrospectiva sobre a Arquitectura

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

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

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Modos de Endereçamento e Formatos Rodrigo Hausen 11 de novembro de 2011 http://cuco.pro.br/ach2034 1/26 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2) Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Instruções Comandos utilizados para indicar ao hardware o que deve ser feito Utilizaremos neste curso o conjunto de instruções

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

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

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

http://www.ic.uff.br/~debora/fac! 1 Conceito de família IBM System/360 1964 DEC PDP-8 Separa arquitetura de implementação Unidade de controle microprogramada Idéia de Wilkes 1951 Produzida pela IBM S/360

Leia mais

Compiladores e Computabilidade

Compiladores e Computabilidade Compiladores e Computabilidade Prof. Leandro C. Fernandes UNIP Universidade Paulista, 2013 GERAÇÃO DE CÓDIGO INTERMEDIÁRIO Geração de Código Intermediário Corresponde a 1ª etapa do processo de Síntese

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

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador: Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.

Leia mais

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação Arquitetura de Computadores I Organização Básica do Computador Gabriel P. Silva Ementa Unidade 2: Organização Lógica e Funcional

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

ção de Computadores II

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

Leia mais

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

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

Leia mais

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

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

Leia mais

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

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

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

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

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

Infraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento

Infraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Infraestrutura de Hardware Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Endereçamento O Campo de endereço em uma instrução é pequeno. Para referenciar uma faixa de endereços maior na memória principal, ou em alguns

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 ISA: Arquitetura de Conjunto de Instruções Roteiro Introdução Classificação de conjuntos de instruções Endereçamento

Leia mais

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

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

Leia mais

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

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

Leia mais

Universidade de São Paulo

Universidade de São Paulo Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.

Leia mais

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

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

Leia mais

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 05: Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE SÃO PROCEDIMENTOS? Procedimentos são um conjunto

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,

Leia mais

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

Arquitetura de Computadores. Prof. Alexandro Baldassin. 1o semestre/2017 Arquitetura de Computadores Prof. Alexandro Baldassin 1o semestre/2017 Personagens da Semana David Pa5erson (le9) John Hennessy (right) In 2000 they shared the IEEE John Von Neumann Medal for crea(ng a

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

SSC0902 Organização e Arquitetura de Computadores

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

Leia mais

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

Capítulo 3. Instruções: Aritmética MIPS

Capítulo 3. Instruções: Aritmética MIPS Capítulo 3 Permission is granted to copy and distribute this material for e ducational purposes only, provided that the complete bibliographic citation and following credit line is included: "Copyright

Leia mais

Arquitetura de Computadores. Conjunto de Instruções

Arquitetura de Computadores. Conjunto de Instruções Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 Operações Lógicas Embora os primeiros computadores se concentrassem em words completas, logo ficou claro que era útil atuar sobre

Leia mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Lista de Exercícios entrega em 19/04/2018 Prof. Cláudio C. Rodrigues Problemas: P1) Explique o que há de errado com as métricas de

Leia mais

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin 1 Definições Nível ISA (Instruction Set Architecture). Está posicionado entre o nível da microarquitetura e o nível do sistema operacional. É a interface entre o software e o hardware. Nesse nível está

Leia mais

Aula 04: Arquitetura do Conjunto de Instruções. Revisão do Último Capítulo Preço vs. Custo

Aula 04: Arquitetura do Conjunto de Instruções. Revisão do Último Capítulo Preço vs. Custo Aula 04: Arquitetura do Conjunto de Instruções Revisão do Último Capítulo Preço vs. Custo Impacto da Redução das Margens de Lucros Economia? Laboratórios de pesquisa? Futuros produtos? Seus empregos? Instruction

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

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

Leia mais

Organização de Unidades de Processamento

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

Leia mais

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

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

Leia mais

Capítulo 3. This material may not be copied or distributed for commercial purposes without express written permission of the copyright holder.

Capítulo 3. This material may not be copied or distributed for commercial purposes without express written permission of the copyright holder. Capítulo 3 Permission is granted to copy and distribute this material for educational purposes only, provided that the complete bibliographic citation and following credit line is included: "Copyright

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

Infra-estrutura de Hardware

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

Leia mais

1. Considere a execução do seguinte troço de código num processador com ISA compatível

1. Considere a execução do seguinte troço de código num processador com ISA compatível 1. Considere a execução do seguinte troço de código num processador com ISA compatível com o MIPS64. loop: L.D F0,0(R1) ; F0 M[R1+0] L.D F2,8(R1) ; F2 M[R1+8] L.D F4,0(R2) ; F4 M[R2+0] SUB.D F0,F0,F2 ;

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

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

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

Leia mais

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Eduardo Simões de Albuquerque Instituto de Informática UFG 1o. Semestre / 2006 Adaptado do material do prof. Fábio Moreira Costa Programa e Introdução Assunto do curso

Leia mais

Arquiteturas de Computadores

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

Leia mais

Explorando o paralelismo entre instruções

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

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Arquitetura de Processadores CISC Conjunto Complexo de Instruções Microinstruções RISC Conjunto de Instruções Reduzidas Instruções devem

Leia mais

3. INSTRUÇÕES. Instrução é uma palavra da linguagem de máquina. Instruction Set do MIPS ( usado pela NEC, Nintendo, Silicon Graphics e Sony.

3. INSTRUÇÕES. Instrução é uma palavra da linguagem de máquina. Instruction Set do MIPS ( usado pela NEC, Nintendo, Silicon Graphics e Sony. 3. INSTRUÇÕES Instrução é uma palavra da linguagem de máquina Instruction Set do MIPS ( usado pela NEC, Nintendo, Silicon Graphics e Sony. Operações O MIPS trabalha com 3 operandos. add a,b,c # a b + c

Leia mais

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização.

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação 2016.2 Profa.: Simone Martins Lista 1 1. Um programa P foi compilado com um compilador

Leia mais

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Infraestrutura de Hardware Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem

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

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI3441 Arquitetura de Sistemas Embarcados - Instruções de Desvio Loop - Ponto Flutuante - Multiplicação e Divisão - Pseudo-Instruções - Processadores ARM Escola Politécnica da Universidade de São Paulo

Leia mais

Prova 1 Eng. Elétrica Arquitetura de Computadores Prof. Celso A. Saibel Santos Nome: Data:

Prova 1 Eng. Elétrica Arquitetura de Computadores Prof. Celso A. Saibel Santos Nome: Data: Prova 1 Eng. Elétrica Arquitetura de Computadores Prof. Celso A. Saibel Santos Nome: Data: 1. O percentual médio de uso das instruções para os 5 programas do SPECint92 na arquitetura Intel 80x86 resultou

Leia mais

Arquitetura de Computadores Aula 11 - Multiprocessamento

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

Leia mais

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2) Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Fluxo de Controle Vimos até agora: beq, bne Uma nova instrução: slt $t0, $s1, $s2 if $s1 < $s2 then $t0 = 1 else $t0 = 0

Leia mais

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. Resposta:

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. Resposta: UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação 2016.2 Profa.: Simone Martins Lista 1 - Gabarito 1. Um programa P foi compilado com

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 11 Conjuntos de instruções: Modos de endereçamento e formatos slide 1 Diagrama do endereçamento imediato Instrução Opcode

Leia mais

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

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

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve: Pipeline Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo,

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

Prof. Leonardo Augusto Casillo

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

Leia mais

Conjunto de Instruções MIPS Parte IV

Conjunto de Instruções MIPS Parte IV Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Parte IV Transferência de Dados Lógicas Controle Suporte a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores

Leia mais

Neander - características

Neander - características NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados

Leia mais

Nível Máquina Formatos de Instruções

Nível Máquina Formatos de Instruções Nível Máquina Formatos de Instruções IA32 e MIPS AC1 11ª aula Formatos de Instruções 1 Stored Program Concept As instruções são números, armazenados em memória, que são descodificados pela Unidade de Controlo

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