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

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

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

Transcrição

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

2 Personagens da Semana David Pa5erson (le9) John Hennessy (right) In 2000 they shared the IEEE John Von Neumann Medal for crea(ng a revolu(on in computer architecture through their explora(on, populariza(on, and commercializa(on of architectural innova(ons. Arquitetura de Computadores 2

3 ARQUITETURA DO CONJUNTO DE INSTRUÇÕES (CONTINUAÇÃO) Tradeoffs P&H 2.1, 2.20 Arquitetura de Computadores 3

4 Fatores da complexidade O nível de complexidade das instruções é um dos fatores mais determinantes no projeto de um ISA Porém, esse fator é uma soma de diversos outros vistos a seguir Formato das instruções Tipo de armazenamento interno, número de operandos e restrições de processamento Modos de endereçamento Memória e sub-sistema e entrada e saída Arquitetura de Computadores 4

5 Formato das instruções Uma instrução consiste basicamente de um código de operação e operandos Código de operação o que a instrução faz Operandos Valores usados na execução da operação correspondente Duas visões Linguagem de Montagem Linguagem de Máquina add r1, r2, r Formato bem definido necessário! operação operandos Quais bits determinam a operação e quais os operandos? Arquitetura de Computadores 5

6 Formato das instruções RISC exemplo: MIPS Arquitetura de Computadores 6

7 Formato das instruções CISC exemplo: x86 Arquitetura de Computadores 7

8 Formato das instruções: compromissos Tamanho fixo: todas as instruções possuem mesmo tamanho Vantagens Decodificação pelo hardware é simples Mais simples de decodificar mais de uma instrução ao mesmo tempo Desvantagens Bits desperdiçados (por que isso é ruim?) Mais dikcil de estender o ISA Tamanho variável: tamanho das instruções diferem Vantagens Codificação compacta, mais fácil de estender o ISA Desvantagens Mais lógica necessária para decodificação Mais dikcil de decodificar múllplas instruções simultaneamente Arquitetura de Computadores 8

9 Instruções x86 ao longo do tempo Fonte: ISA Aging: A X86 Case Study 2013 Insltuto de Computação (UNICAMP) Arquitetura de Computadores 9

10 Tamanho médio de opcodes (x86) Fonte: ISA Aging: A X86 Case Study 2013 Insltuto de Computação (UNICAMP) Arquitetura de Computadores 10

11 Nota sobre formatos Geralmente arquiteturas com formato de tamanho fixo possuem decodificação uniforme os mesmos bits em cada instrução estão nas mesmas posições, em especial o código de operação Permite olmizações de hardware (predição de saltos, visto mais adiante) Arquitetura de Computadores 11

12 Classes de ISA Um ISA pode ser dividido em classes de acordo com o lpo de armazenamento interno, número de operandos e restrições de processamento (ULA) Máquina a pilha (0-address machine) 0 operandos Os operandos estão implicitamente no topo da pilha (TOS) Operações push e pop são usadas para transferir operandos entre a memória e a pilha Exemplo (C = A + B) PUSH A PUSH B ADD POP C Arquitetura de Computadores 12

13 Classes de ISA Um ISA pode ser dividido em classes de acordo com o lpo de armazenamento interno, número de operandos e restrições de processamento (ULA) Máquina acumuladora (1-address machine) 1 operando Um registrador chamado de acumulador é sempre usado implicitamente nas operações Exemplo (C = A + B) LOAD A ADD B STORE C Arquitetura de Computadores 13

14 Classes de ISA Um ISA pode ser dividido em classes de acordo com o lpo de armazenamento interno, número de operandos e restrições de processamento (ULA) Register-Memory (2-address machine) 2 operandos 1 dos operandos pode estar na memória 1 dos registradores fontes também é deslno Registradores estão explícitos na instrução Exemplo (C = A + B) LOAD R1, A ADD R1, B STORE R1, C Arquitetura de Computadores 14

15 Classes de ISA Um ISA pode ser dividido em classes de acordo com o lpo de armazenamento interno, número de operandos e restrições de processamento (ULA) Load-Store (3-address machine) 3 operandos Operandos da ULA são apenas registradores Instruções específicas usadas para buscar e levar (load-store) valores na memória Exemplo (C = A + B) LOAD R1, A LOAD R2, B ADD R3, R1, R2 STORE R3, C Arquitetura de Computadores 15

16 Nota sobre classes de ISA Uma arquitetura memory-memory permite que todos os operandos (2 ou 3) estejam em memória Ex: VAX (ADD C, A, B) Nenhuma máquina atual implementa (por quê?) Arquiteturas extended-accumulator ou special-purpose register Possuem mais que apenas um acumulador mas impõem restrições de uso Arquitetura de Computadores 16

17 A = BC + XY Complete o quadro. Assuma que existe instrução para mullplicação. Pilha Acumulador Register- Memory Memory- Memory Load-Store PUSH B LOAD B LOAD R1, B MUL R1, B, C LOAD R1, B PUSH C MUL C MUL R1, C MUL R2, X, Y LOAD R2, C MUL STORE temp LOAD R2, X ADD A, R1, R2 LOAD R3, X PUSH X LOAD X MUL R2, Y LOAD R4, Y PUSH Y MUL Y ADD R1, R2 MUL R1, R1, R2 MUL ADD temp STORE R1, A MUL R3, R3, R4 ADD STORE A ADD R1, R1, R3 POP A STORE R1, A Arquitetura de Computadores 17

18 Alguns compromissos Tipo Vantagens Desvantagens Pilha Register/Memory Tamanho de instrução reduzido Chamadas de procedimento eficientes Dado pode ser acessado sem a necessidade de uma instrução LOAD separada Boa densidade de código Não pode aplicar operações em muitos valores ao mesmo tempo Operação deve ser possível de ser representada na forma posfixa Microarquitetura custosa Um operando fonte é sempre subsltuído pelo resultado da operação Memory/ Memory Load/Store Representação compacta não desperdiça registradores com temporários Força o uso de registradores (por que isso é bom? visto a seguir) Implementação mais simples Microarquitetura complexa Memória é gargalo Maior número de instruções Arquitetura de Computadores 18

19 Registradores Virtualmente toda nova arquitetura projetada a parlr de 1980 usa o modelo load-store Usar registradores é bom! Por que ter registradores é uma boa ideia? Usa o princípio da localidade temporal para evitar ter de ir para a memória frequentemente (memória é mais lenta) Compilador tem mais oportunidade para olmizar o código Arquitetura de Computadores 19

20 Registradores: compromissos Quanldade de registradores afeta: Número de bits usados para codificação na instrução Número de valores dislntos manldos para acesso rápido Lógica, tempo de acesso, consumo de energia Número grande de registradores Vantagens Possibilita melhor uso de alocação de registradores pelo compilador Desvantagens Formato da instrução maior Mais componentes lógicos para implementação (tamanho) Arquitetura de Computadores 20

21 Impacto número de registradores Sua arquitetura possui 16 instruções e 16 registradores (de 0 até 15). As instruções da sua arquitetura possuem formato fixo de 16 bits. Quantos operandos em registradores sua arquitetura consegue especificar explicitamente em uma instrução ADD? 16 instruções -> necessário 4 bits Sobram 12 bits para registradores 16 registradores -> necessário 4 bits para endereçá-los (0-15) Cada operando 4 bits => 12/4 => 3 operandos E se houvessem 32 registradores? Arquitetura de Computadores 21

22 Modos de endereçamento Um modo de endereçamento determina a localização dos operandos da instrução Registrador Imediato Memória Há muitos modos para cálculo do endereço de memória Não há na literatura uma normalização para os nomes dos modos de endereçamento Usaremos os usados nos livros textos Arquitetura de Computadores 22

23 Modos de endereçamento MIPS addi r2, r3, #100 add r2, r3, r4 lw r2, 10(r3) beq r1, r2, 100 j 1000 Arquitetura de Computadores 23

24 Modos de endereçamento MIPS addi r2, r3, #100 add r2, r3, r4 lw r2, 10(r3) beq r1, r2, 100 j 1000 Arquitetura de Computadores 24

25 Modos de endereçamento MIPS addi r2, r3, #100 add r2, r3, r4 lw r2, 10(r3) beq r1, r2, 100 j 1000 Arquitetura de Computadores 25

26 Modos de endereçamento MIPS addi r2, r3, #100 add r2, r3, r4 lw r2, 10(r3) beq r1, r2, 100 j 1000 Arquitetura de Computadores 26

27 Modos de endereçamento MIPS addi r2, r3, #100 add r2, r3, r4 lw r2, 10(r3) beq r1, r2, 100 j 1000 Arquitetura de Computadores 27

28 Modos de endereçamento Quais as vantagens de mais modos de endereçamentos? Melhor mapeamento entre construções de alto nível e baixo nível Acesso a arrays, indireção Menor número de instruções/programa e tamanho do código E desvantagens? Compilador pode ter dificuldades para decidir qual usar Muitas formas de fazer a mesma coisa complica o projeto do compilador Hardware mais complexo Arquitetura de Computadores 28

29 Memória Espaço de endereçamento Qual a quanldade de memória endereçada? Forma de endereçamento (addressability) Quantos dados uma única posição de memória armazena? Endereçada a bytes (maioria dos ISAs), palavras, Vantagens e desvantagens? Ordem de subpalavras na memória quando uma palavra é acessada LiEle versus big endian (quando é problema?) Arquitetura de Computadores 29

30 mais sobre memória Restrições de alinhamento Nem todo endereço pode ser acessado por toda instrução Ex: instruções de load/store de palavras no MIPS necessitam que o endereço seja múllplo de 4 (por quê?) Suporte para memória virtual Programas tem a ilusão de que a memória ksica é maior do que realmente é Compare com o use de overlays Arquitetura de Computadores 30

31 Sub-sistema de entrada/saída Como interfacear com disposilvos de entrada/saida? Memória mapeada Região de memória é mapeada para disposilvos Operações são instruções de load/store no endereço desses disposilvos Instruções especiais Instruções específicas para comunicação com disposilvos Vantagens/Desvantagens de cada esquema? Qual é mais geral? Qual potencialmente economiza espaço de endereçamento? Arquitetura de Computadores 31

32 Outros tópicos envolvendo ISA Modos de operação priveligiados (proteção)? Modo usuário versus modo kernel Tipos de dados Falha de página tratada pelo so{ware ou hardware? Coerência de cache gerenciada pelo so{ware ou hardware? Tratamento de interrupção/exceção Interrupção vetorizada? Exceções precisas/imprecisas Arquitetura de Computadores 32

33 Resumindo Usualmente temos: CISC Instruções complexas Muitos formatos de instrução Formato variável Decodificação não-uniforme Muitos modos de endereçamentos Register-memory / memory-memory RISC Instruções simples Poucos formatos de instrução Formato fixo Decodificação uniforme Poucos modos de endereçamentos Load-store Arquitetura de Computadores 33

34 Leituras recomendadas G.M. Amdahl, G.A. Blaauw and F.P. Brooks - Architecture of the IBM System/360, IBM Journal, 1964 D. Pa}erson, C. Sequin - RISC I: A Reduced Instruc@on Set VLSI Computer, ISCA, 1981 G. Radin - The 801 minicomputer, ASPLOS, 1982 Arquitetura de Computadores 34

35 ARQUITETURA MIPS Aspectos gerais da arquitetura Linguagem de montagem e de máquina P&H 2.2, 2.3, 2.5, 2.6, 2.7, 2.10 H&H 6.2, 6.3, 6.4, 6.5 Arquitetura de Computadores 35

36 MIPS Estudaremos com mais detalhes o processador MIPS MIPS Microprocessor without Interlocked Pipeline Stages Bastante usado em sistemas embarcados Usado nos consoles Nintendo 64, Playstalon 1 e 2 Microarquitetura (e arquitetura) simples e didálca Começaremos vendo aspectos do ISA e a linguagem de montagem Importante para posteriormente entendermos como a microarquitetura funciona Arquitetura de Computadores 36

37 MIPS Resumo da arquitetura Formatos de tamanho fixo (apenas 3) 32 bits, decodificação homogênea Conjunto de registradores de propósito geral 32 registradores de 32 bits cada Arquitetura load-store com 3 operandos Poucos modos de endereçamento (cerca de 5) Espaço de endereçamento de 4Gb Memória endereçada a byte Endianness configurável Instruções de load/store de palavras precisam estar alinhadas Pelo exposto, MIPS é uma arquitetura RISC ou CISC? Arquitetura de Computadores 37

38 Linguagem de montagem Linguagem de Montagem versão textual da linguagem de máquina (pode variar de montador para montador) Sintaxe para instruções com 3 operandos: mno op1, op2, op3 mnemônico da operação operando deszno operandos fonte Arquitetura de Computadores 38

39 Operandos Operandos podem ser divididos em 3 classes principais 1. Registradores 2. Imediatos (constantes) 3. Posição de memória Arquitetura de Computadores 39

40 Registradores Registradores podem ser referenciados pelo número ou nome Nome Número Função $zero $0 constante zero $at $1 reservado para montador $v0-$v1 $2-$3 valores de retorno de procedimento $a0-$a3 $4-$7 argumentos para procedimento $t0-$t7 $8-$15 variáveis temporárias $s0-$s7 $16-$23 variáveis locais (preservados através da chamada) $t8-$t9 $24-$25 variáveis temporárias $k0-$k1 $26-$7 reservado para sistema operacional $gp $28 global pointer $sp $29 stack pointer $fp $30 frame pointer $ra $31 endereço de retorno de procedimento Arquitetura de Computadores 40

41 Instruções aritmélcas Adição add $s0, $s1, $s2 a = b + c alto nível Subtração sub $s0, $s1, $s2 a = b - c Arquitetura de Computadores 41

42 Instruções aritmélcas Qual sequência de instruções é equivalente à expressão abaixo? a = b + c + d - e add $t0, $s1, $s2 # temp0 = b+c sub $t1, $s3, $s4 # temp1 = d-e add $s0, $t0, $t1 # a = (b+c) + (d-e) Arquitetura de Computadores 42

43 Imediatos Um dos operandos pode ser especificado como imediato Imediatos são codificados na própria instrução Exemplo: instrução de soma com imediato addi $s0, $s1, 10 a = b + 10 complemento de 2 Arquitetura de Computadores 43

44 Imediatos Por que não há instrução de subtração com imediato no MIPS? a = b - 10 Como fazer atribuição? addi $s0, $s1, -10 a = b add $s0, $s1, $zero Arquitetura de Computadores 44

45 Memória Endereçada a bytes Instruções para transferência de dados memória registrador registrador memória arquitetura load/store Toda operação em memória deve ser feita através das instruções de leitura e escrita!!! Arquitetura de Computadores 45

46 Transferência de dados Sintaxe das instruções operação de leitura ou escrita registrador armazenando dado lido (load) ou escrito (store) mno reg1, imm(reg2) endereço de memória deslocamento (offset) a parzr da base da memória (dado em bytes!) registrador com endereço base da memória Arquitetura de Computadores 46

47 Leitura de memória Leitura de palavras: lw lw $t0, 12($s0) li}le/big endian?... 0xAA 0x1F 0x37 0x91 0xBF assumindo $s0 == x13 0xF1 1 0 Arquitetura de Computadores 47

48 Leitura de memória Sequência de instruções equivalente à expressão: vetor de palavras a = b + A[5] use: a = $s0, b = $s1, A = $s2 lw $t0, 20($s2) # temp = A[5] add $s0, $s1, $t0 # a = b + A[5] Arquitetura de Computadores 48

49 Escrita de memória Escrita de palavras: sw similar à operação de leitura sw $t0, 12($s0) Lembre-se que o imediato indica um número em complemento de 2 (pode ser negalvo) em bytes. Arquitetura de Computadores 49

50 Instruções de desvio Alteram o fluxo de execução Desvio condicional condição é testada desvio pode ser tomado ou não Desvio incondicional desvio sempre tomado Rótulo determina próxima instrução a ser executada caso desvio seja tomado Arquitetura de Computadores 50

51 Desvio condicional Condição testada igualdade entre dois registradores Duas instruções principais beq reg1, reg2, rótulo bne reg1, reg2, rótulo salta para rótulo se reg1 == reg2 salta para rótulo se reg1!= reg2 Arquitetura de Computadores 51

52 Desvio condicional Transformar para linguagem de montagem do MIPS: // assuma: $s0 = a, $s1 = b, $s2 = c, $s3 = i, $s4 = j if (i==j) a = b + c; a = a i; L1: bne $s3, $s4, L1 # se i!= j, desconsidera bloco if add $s0, $s1, $s2 # a = b + c sub $s0, $s0, $s3 # a = a - i Arquitetura de Computadores 52

53 Desvio incondicional Salto sempre tomado necessário especificar apenas o rótulo j DESTINO Transformar para linguagem de montagem do MIPS // assuma: $s0 = a, $s1 = b, $s2 = c, $s3 = i, $s4 = j if (i==j) a = b + c; else a = b c; Arquitetura de Computadores 53

54 Desvio incondicional beq $s3, $s4, BLK_IF # se i == j, executa bloco if sub $s0, $s1, $s2 # bloco else: a = b c j FIM BLK_IF: add $s0, $s1, $s2 # a = b + c FIM: Arquitetura de Computadores 54

55 Desigualdades Como testar a seguinte condição? if (a < b) {} Instrução SLT (set less than) slt regdest, regsrc1, regsrc2 if (regsrc1 < regsrc2) regdest = 1; else RegDest = 0; slt $t0, $s0, $s1 # $t0 = ($s0 < $s1) bne $t0, $zero, L1 # salta se ($s0 < $s1) Arquitetura de Computadores 55

56 Outras instruções Lógicas AND, ANDI, OR, ORI Shi{s (deslocamentos) SLL shi{ le{ logical SRL shi{ right logical Ex: sll reg1, reg2, shamt resultado bits a deslocar deslocamento (< 32) Arquitetura de Computadores 56

57 Linguagem de máquina Linguagem de Montagem descrição textual das instruções computador não entende texto Linguagem de Máquina 0 s e 1 s Montador (assembler) converte linguagem de montagem para linguagem de máquina Arquitetura de Computadores 57

58 Tradução homem temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; alto nível linguagem de montagem compilador lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) linguagem de montagem linguagem de máquina montador máquina Arquitetura de Computadores 58

59 Codificação Todas instruções possuem 32 bits Três formatos principais Tipo-R operandos são todos registradores Tipo-I um operando é imediato Tipo-J instruções de desvio incondicional Arquitetura de Computadores 59

60 Codificação lpo R add $8, $9, $10 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits opcode rs rt rd shamt funct Arquitetura de Computadores 60

61 Codificação lpo R add $8, $9, $10 opcode funct 0x00 0x20 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits opcode rs rt rd shamt funct Arquitetura de Computadores 61

62 Codificação lpo R add $8, $9, $10 rs rt rd 0x00 0x09 0x0A 0x08 0x20 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits opcode rs rt rd shamt funct Arquitetura de Computadores 62

63 Codificação lpo R add $8, $9, $10 0x00 0x09 0x0A 0x08 0x00 0x20 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits opcode rs rt rd shamt funct Arquitetura de Computadores 63

64 Codificação lpo R add $8, $9, $10 0x00 0x09 0x0A 0x08 0x00 0x20 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Qual a instrução em hexadecimal? Arquitetura de Computadores 64

65 Codificação lpo R add $8, $9, $10 0x00 0x09 0x0A 0x08 0x00 0x bits 5 bits 5 bits 5 bits 5 bits 6 bits Arquitetura de Computadores 65

66 Codificação lpo R add $8, $9, $10 0x00 0x09 0x0A 0x08 0x00 0x bits 5 bits 5 bits 5 bits 5 bits 6 bits 0x0 0x1 0x2 0xA 0x4 0x0 0x2 0x0 Arquitetura de Computadores 66

67 Codificação lpo R add $8, $9, $10 0x00 0x09 0x0A 0x08 0x00 0x20 instrução em hexadecimal bits 5 bits 5 bits 5 bits 5 bits 6 bits 0x0 0x1 0x2 0xA 0x4 0x0 0x2 0x0 0x012A4020 Arquitetura de Computadores 67

68 Tipo I Necessário codificar o imediato na instrução Desejável que seja consistente com lpo-r lpo-r op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits 6 bits 5 bits 5 bits 16 bits lpo-i op rs rt imm fonte deslno complemento de 2 [-32768, ] Arquitetura de Computadores 68

69 Codificação lpo I addi $21, $22, -50 0x08 0x16 0x15 0xFFCE 6 bits 5 bits 5 bits 16 bits 0x22D5FFCE Arquitetura de Computadores 69

70 Imediatos em desvios condicionais Se imediato representasse endereço efelvo, somente uma pequena parte da memória seria endereçável Solução endereçamento relalvo ao PC imediato é somado ao valor do PC possível saltar ±2 15 bytes a parlr da posição atual Como melhorar? Arquitetura de Computadores 70

71 Imediatos em desvios condicionais No MIPS instruções são palavras (32 bits), logo são alinhadas em 4 bytes representar imediatos como palavras ao invés de bytes possível saltar ±2 15 palavras a parlr do PC (±2 17 bytes) Cálculo do endereço Se salto não é tomado PC = PC + 4 Se salto é tomado PC = (PC + 4) + (imediato*4) Arquitetura de Computadores 71

72 Codificação de desvios condicionais lpo-i op rs rt endereço (imm) LOOP: beq $t1, $zero, FIM addi $s1, $s1, 2 addi $s0, $t1, 1 j LOOP FIM: 0x04 0x09 0x00??? Arquitetura de Computadores 72

73 Codificação de desvios condicionais lpo-i op rs rt endereço (imm) LOOP: beq $t1, $zero, FIM addi $s1, $s1, 2 addi $s0, $t1, 1 j LOOP FIM: 0x04 0x09 0x00 0x0003 Arquitetura de Computadores 73

74 Endereçamento relalvo ao PC Se movermos o código de posição, o valor do imediato em uma instrução de salto condicional precisa ser alterado? não (PIC Posi(on Independent Code) E se o deslno do salto eslver além de 2 15 instruções? reorganizar o código e usar salto incondicional Arquitetura de Computadores 74

75 Tipo J Idealmente, gostaríamos de poder saltar para qualquer lugar na memória (30 bits) Necessário campo para código da operação (op) lpo-j op endereço 6 bits 26 bits 2 26 palavras = 256 MB Operando especifica 28 bits do endereço. E os 4 bits restantes? Arquitetura de Computadores 75

76 Cálculo do endereço de salto endereço efelvo 4 bits 26 bits 00 4 bits mais significantes de PC+4 operando alinhado em palavras Atenção! endereço dado pelo operando em uma instrução de salto incondicional é absoluto (ao contrário dos saltos condicionais, onde o endereço é relalvo ao PC) Arquitetura de Computadores 76

77 Saltos incondicionais Instrução j permite uma faixa de endereçamento de 2 26 palavras Ok para % dos casos, mas... E se precisar saltar para uma faixa de endereço além da permilda por j? Usar instrução jr $reg código salta para endereço especificado pelo registrador Arquitetura de Computadores 77

78 Codificação de instruções Transforme para linguagem de máquina assumindo que code corresponda ao endereço 0x code: addi $t0, $t0, 2 laco: slt $t1, $t0, $s0 bne $t1, $zero, exit # 3 outras instrucoes aqui j laco exit: Arquitetura de Computadores 78

79 Codificação de instruções Transforme para linguagem de máquina assumindo que code corresponda ao endereço 0x code: addi $t0, $t0, 2 laco: slt $t1, $t0, $s0 bne $t1, $zero, exit # 3 outras instrucoes aqui j laco exit: 0x addi $t0, $t0, 2 op = 0x8 rs =0x8 rt = 0x8 imm = 0x2 [0x8 0x8 0x8 0x2] x Arquitetura de Computadores 79

80 Codificação de instruções Transforme para linguagem de máquina assumindo que code corresponda ao endereço 0x code: addi $t0, $t0, 2 laco: slt $t1, $t0, $s0 bne $t1, $zero, exit # 3 outras instrucoes aqui j laco exit: 0x x A slt $t1, $t0, $s0 op = 0x0 rs =0x8 rt = 0x10 rd = 0x9 shamt = 0 funct = 0x2A [0x0 0x8 0x10 0x9 0x2A] x A Arquitetura de Computadores 80

81 Codificação de instruções Transforme para linguagem de máquina assumindo que code corresponda ao endereço 0x code: addi $t0, $t0, 2 laco: slt $t1, $t0, $s0 bne $t1, $zero, exit # 3 outras instrucoes aqui j laco exit: 0x x A 0x bne $t1, $zero, exit op = 0x5 rs =0x9 rt = 0x0 imm = 0x4 [0x5 0x9 0x0 0x4] x Arquitetura de Computadores 81

82 Codificação de instruções Transforme para linguagem de máquina assumindo que code corresponda ao endereço 0x code: addi $t0, $t0, 2 laco: slt $t1, $t0, $s0 bne $t1, $zero, exit # 3 outras instrucoes aqui j laco exit: 0x x A 0x x j laco op = 0x2 imm = 0x20001 [0x2 0x20001] x Arquitetura de Computadores 82

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

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

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

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

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

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

MICROPROCESSADORES II (EMA911915) NIOS II - ASSEMBLY 2 O SEMESTRE / 2018

MICROPROCESSADORES II (EMA911915) NIOS II - ASSEMBLY 2 O SEMESTRE / 2018 MICROPROCESSADORES II (EMA911915) NIOS II - ASSEMBLY 2 O SEMESTRE / 2018 MATERIAL DIDÁTICO Harris & Harris 61 Introduction 62 Assembly Language 63 Machine Language 64 Programming (exceto 646) 66 Lights,

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

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

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

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

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

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

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

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

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

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

Especificação do Projeto de Processador RISC

Especificação do Projeto de Processador RISC UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO Especificação do Projeto de Processador RISC mycpu Neste documento é apresentada a especificação do projeto da disciplina Organização e Arquitetura de Computadores

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

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

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

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

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

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

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

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

III.2 - Princípios de Arquitetura

III.2 - Princípios de Arquitetura Conjunto de Instruções e Modo de Endereçamento Ciclo de busca decodificação execução de instruções Programação de um processador Arquitetura de Von Neumann e Componentes Arquiteturas 4, 3, 2, 1 e 0 Tabela

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

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

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

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

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

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

Procedimentos. Sistemas de Computação

Procedimentos. Sistemas de Computação Procedimentos Chamada de Procedimentos Utilização de procedimentos: Facilitar entendimento do programa Reutilização de código Passos necessários para execução de um procedimento: Os parâmetros a serem

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

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

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining Arquitecturas Alternativas Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining X86-64 Qual é o ISA que temos nas máquinas Intel actuais? O x86-64 que é uma extensão para

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 de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

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

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

Leia mais

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

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

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016 GBC06 Arq. e Org. de Computadores I 17/10/2016 Organização de Computadores μarquitetura Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior...

Leia mais

1: 2: 2, [1] [2] 0x x001f8021 $16,$0,$31 13 [3] 0x x

1: 2: 2, [1] [2] 0x x001f8021 $16,$0,$31 13 [3] 0x x Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 14/setembro/2012 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

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

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

Conjunto de Instruções MIPS Parte I

Conjunto de Instruções MIPS Parte I Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Parte I Prof. Sérgio Adaptado dos slides de Sistemas Processadores do Prof. Frank Torres - UFMG O que aprenderemos hoje? Barramento

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

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

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

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

Arquitetura de Computadores. Linguagem de Máquina

Arquitetura de Computadores. Linguagem de Máquina Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP

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

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

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

Leia mais

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

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

CONJUNTO DE INSTRUÇÕES

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

Leia mais

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

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

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

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

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

Microcontroladores e Interfaces

Microcontroladores e Interfaces Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Aula A3 15 Mar 05 - M Datapath e a sua Unidade de Controlo

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

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

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

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

Leia mais

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

Arquiteturas de Computadores

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

Leia mais

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

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

Prof. Leonardo Augusto Casillo

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

Leia mais

Arquitetura de Computadores 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) 1 Fluxo de controle Vimos até agora: beq, bne Uma nova instrução: if $s1 < $s2 then $t0 = 1 slt $t0, $s1, $s2 else $t0 =

Leia mais

Questionário Arquitetura e Organização de Computadores

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

Leia mais

Disciplina: Arquitetura de Computadores

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

Leia mais

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

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

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

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

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

UCP: Construindo um Caminho de Dados (Parte I)

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

Leia mais

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

SSC510 Arquitetura de Computadores 1ª AULA

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

Leia mais

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

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

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 18/abril/2012 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

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

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

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

Cap - 3: Linguagem de Máquina - MIPS

Cap - 3: Linguagem de Máquina - MIPS Cap - 3: Linguagem de Máquina - MIPS Arquitetura de Sistemas Computacionais Prof Ricardo Pannain 1 Arquitetura MIPS MIPS Microprocessor without Interlocking Pipes Stages (Microprocessador sem Intertravamento

Leia mais

25/8/2010. Praticamente todas as arquiteturas de computadores fornecem mais de um modo de

25/8/2010. Praticamente todas as arquiteturas de computadores fornecem mais de um modo de Arquitetura de Computadores Conjuntos de Instruções: modos de endereçamento e formatos Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Endereçamento Normalmente, os campos de endereço são

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

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

Capítulo 4 Nível da microarquitetura

Capítulo 4 Nível da microarquitetura Capítulo 4 Nível da microarquitetura Nível acima da lógica digital Função: Implementar a ISA (Instruction Set Architecture) O projeto da microarquitetura depende diretamente da ISA, além dos objetivos

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

Leia mais