Anotações da 2a Edição
|
|
|
- Arthur Eugénio de Sá Prado
- 10 Há anos
- Visualizações:
Transcrição
1 Anotações da 2a Edição OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson. Supõe-se que os estudantes tenham noções de lógica digital e linguagem assembly para o entendimento das aulas. 1
2 Conjunto de Instruções MIPS 2
3 Aritmética MIPS Todas as Instruções tem 3 operandos Ordem dos operandos é fixa (destino sempre primeiro) Exemplo: C code: C = A + B MIPS code: add $s0, $s1, $s2 (associado a variáveis definidas pelo compilador) 3
4 Aritmética MIPS Princípios de design: simplicidade favorece a regularidade. Por que? Obviamente, isto complica algumas coisas... C code: A = B + C + D; E = F - A; MIPS code: add $t0, $s1, $s2 add $s0, $t0, $s3 sub $s4, $s5, $s0 Operandos devem ser registradores, e só existem 32 deles Princípio de Projeto: quanto menor, mais rápido! Por que? 4
5 Registradores x Memória Operandos das Instruções Aritméticas devem ser registradores, Somente 32 registradores estão disponíveis O Compilador associa variáveis com registradores... O que significa um programa com muitas variáveis? Control Input Memory Datapath Output Processor I/O 5
6 Organização da Memória Memória: enorme vetor unidimensional acessado por endereços. Endereço de memória = índice para o vetor Endereçar um Byte" = índice que aponta para um byte da memória bits of data 8 bits of data 8 bits of data 8 bits of data 8 bits of data 8 bits of data 8 bits of data 6
7 Organização da Memória Bytes são interessantes, mas geralmente o acesso é feito a palavras mais longas que 1 byte Como vimos, para o MIPS, a palavra é de 32 bits (4 bytes) bits of data 32 bits of data 32 bits of data 32 bits of data 2 32 bytes com endereços byte de 0 a palavras com endereços 0, 4, 8, registradores armazenam 32 bits de dados Palavras são alinhadas: Assim, o que representam os 2 bits menos significativos do endereço de uma palavra? 7
8 Instruções Instruções load (trazer de) e store (enviar para) Exemplo: C code: MIPS code: A[12] = h + A[12]; lw $t0, 36($s3) add $t0, $s2, $t0 sw $t0, 36($s3) O destino da palavra ($t0) a ser armazenada vem no início da instrução sw Lembre-se que todos os operandos aritméticos são registradores e não endereços de memória! 8
9 Um 1o. Exemplo Como poderíamos escrever esse código de troca de valor de duas posições (k e k+1) de um vetor? swap(int v[], int k); { int temp; temp = v[k] v[k] = v[k+1]; v[k+1] = temp; } swap: muli $4, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 9
10 Mas, aprendemos que: MIPS Carrega palavras, mas acessa bytes Aritmética somente em registradores Instrução Significado add $s1, $s2, $s3 $s1 = $s2 + $s3 sub $s1, $s2, $s3 $s1 = $s2 $s3 lw $s1, 100($s2) $s1 = Memory[$s2+100] sw $s1, 100($s2) Memory[$s2+100] = $s1 10
11 Instruções MIPS Todas as instruções têm 32 bits Todas têm opcode (código de instrução) de 6 bits O modo de endereçamento é codificado juntamente com o opcode opcode 11
12 Linguagem de Máquina Instruções, assim como registradores de palavras de dados, tem tamanho de 32 bits Exemplo: add $t0, $s1, $s2 registradores têm números, $t0=8, $s1=17, $s2=18 Formato de uma Instrução R típico: op rs rt rd shamt funct Observe a ordem na instrução assembly e na implementação! São diferentes! Você pode imaginar o que esses nomes (siglas) indicam? op código de operação rs, rt registradores fonte rd registrador destino shamt (shift amount) é usado em instruções de deslocamento funct código de função da ULA. É associado ao campo op (no caso de ULA é 00000) 12
13 Linguagem de Máquina Considere as instruções load-word e store-word: O que o princípio da regularidade nos traz? Novo princípio: Bons projetos envolve um compromisso... Introdução de um novo tipo de formato de Instrução Instruções tipo-i para transferência de dados (lw e sw) Outros formatos para instruções tipo-r para registradores Exemplo: lw $t1, 32($s2) op rs rt 16 bit number rs registrador-base para o cálculo do endereço de memória rt registrador-destino (para lw) ou registrador-fonte (para sw) Onde está o compromisso? 13
14 Controle de Fluxo no MIPS Pontos de decisão podem criar instruções alterar o fluxo de controle, i.e., mudar a próxima instrução a ser executada Endereço destino sempre especificado! Instruções MIPS de desvio condicional: bne $t0, $t1, Label beq $t0, $t1, Label Exemplo: if (i!=j) h=i+j; bne $s0, $s1, Label... Label: add $s3, $s0, $s
15 Uso de instruções de controle 15
16 Controle de Fluxo Instruções MIPS de desvio incondicional (jumps): j Label Exemplo: if (i!=j) beq $s4, $s5, Lab1 h=i+j; add $s3, $s4, $s5 else j Lab2 h=i-j; Lab1: sub $s3, $s4, $s5 Lab2:... Você poderia pensar numa construção simples de um loop em MIPS? 16
17 Mais ainda: Instrução Significado add $s1,$s2,$s3 $s1 = $s2 + $s3 sub $s1,$s2,$s3 $s1 = $s2 $s3 lw $s1,100($s2) $s1 = Memory[$s2+100] sw $s1,100($s2) Memory[$s2+100] = $s1 bne $s4,$s5,l Prox. instr. label L se $s4!= $s5 beq $s4,$s5,l Prox. instr. label L se $s4 == $s5 j L Prox. instr. label L Formatos: R op rs rt rd shamt funct I,J* op rs rt endereço 16 bit ou imediato J op endereço de 26 bits J* = desvio condicional 17
18 Controle do Fluxo Temos: beq, bne E se quisermos uma nova instrução do tipo branch-if-less-than? if $s1 < $s2 then slt $t0,$s1,$s2 $t0 = 1 else $t0 = 0 Usando beq, bne e $t0 pode se implementar a lógica requerida A Instrução pode ser usada para construir "blt $s1,$s2,label" é possível se construir estruturas de controle genéricas Note que o montador necessita de um registrador para fazer isso existem políticas de uso específicas para os registradores 18
19 Convenções e Política de Uso dos 32 Registradores MIPS Nome No.Registrador Uso $zero 0 valor constante 0 $v0-$v1 2-3 valores para resultados e avaliação de expressões $a0-$a3 4-7 argumentos $t0-$t temporários $s0-$s salvos/armazenados $t8-$t mais temporários $gp 28 ponteiro global $sp 29 ponteiro de pilha (stack pointer) $fp 30 ponteiro de quadro (frame pointer) $ra 31 endereço de retorno OBS: Registro 1, chamado $at, é reservado para o montador. Os registros 26 e 27, chamados $k0 e $k1, são reservados para o Sistema Operacional 19
20 Constantes Constantes pequenas são usadas frequentemente... Ex: A = A + 5; B = B + 1; C = C - 18; Soluções? Colocar constantes típicas na memória e carregá-las. Criar registradores hard-wired para certas constantes: ex. $zero Instruções MIPS para imediatos: addi $29, $29, 4 slti $8, $18, 10 andi $29, $29, 6 ori $29, $29, 4 Como podemos fazer isso? Lembram-se da instrução muli do 1º exemplo (swap) 20
21 O que fazer com grandes constantes? É possível carregar constantes de 32 bits em um registrador Devem ser usadas 2 instruções para implementar isso: 1. Nova Instrução load upper immediate lui $t0, preenchida com zeros Depois, completar os bits de ordem mais baixa à direita, i.e., ori $t0, $t0, ori
22 Linguagem Assembly x Linguagem de Máquina Assembly proporciona uma representação simbólica conveniente MUITO MAIS FÁCIL que escrever dígitos binários Ex: registrador destino é sempre o primeiro Linguagem de Máquina está em outro nível de abstração Ex: destino não é preenchido primeiro na instrução tipo-r Assembly disponibiliza apenas pseudoinstruções ex., move $t0,$t1 existe somente em Assembly Poderia ser implementado usando add $t0,$t1,$zero Quando se considera desempenho, deve-se pensar em contar instruções reais em linguagem de máquina 22
23 Uso das instruções 23
24 Uso das instruções 24
25 Outras questões Coisas que não estão sendo cobertas aqui: Suporte a procedures Carregadores (loaders), ligadores (linkers,), pilhas (stacks), frames, recursão, etc. Manipulação de strings e ponteiros Interrupções e exceções Chamadas de sistema (system calls) Alguns desses pontos serão tratados no futuro e em outros cursos O foco agora está em questões ligadas à arquitetura: Básico da linguagem de máquina MIPS e código de máquina Construção de um processor para executar estas instruções. 25
26 Sumarização: Conjunto de Instruções MIPS 26
27 Visão Geral do MIPS Instruções simples, todas com largura de 32 bits Bastante estruturada, pouca carga desnecessária nas instruções Somente 3 formatos de instrução R I J op rs rt rd shamt funct op rs rt 16 bit address op 26 bit address Apostar no compilador para obter desempenho Quais são os objetivos de um compilador? Ajudar o compilador no que nós queremos... 27
28 Papel fundamental do Compilador Sem otimizações 28
29 Endereços em Desvios (Branches) e Saltos (Jumps) Instruções: bne $t4,$t5,label beq $t4,$t5,label j Label Prox Instr. está em Label se $t4 $t5 Prox Instr. está em Label se $t4=$t5 Prox Instr. está em Label Formatos: I J op rs rt 16 bit address op 26 bit address Endereços não estão em 32 bits Como manipular isso para Instruções load e store? 29
30 Endereços em Desvios (Branches) Instruções: bne $t4,$t5,label beq $t4,$t5,label Formatos: Prox Instr. está em Label se $t4 $t5 Prox Instr. está em Label se $t4=$t5 I op rs rt 16 bit address Pode especificar um registrador (lw e sw) e adicioná-lo a um endereço Usar o Registrador de Endereço de Instrução (PC = program counter) 16 bits parece pouco, entretanto muitos desvios são próximos (princípio da localidade) Instruções Jump usam apenas os bits de mais alta ordem do PC Endereços limitados a 256 MB (pense no porquê...) 30
31 Sumário: Registradores MIPS Nome Exemplo Comentários $s0-$s7, $t0-$t9, $zero, Localizações rápidas de dados. No MIPS, os dados devem estar nos registradores 32 registradores $a0-$a3, $v0-$v1, $gp, aritméticos. O Registrador $zero no MIPS é sempre igual a 0. Registrador $at é $fp, $sp, $ra, $at reservado para o montador manipular constantes grandes. Memory[0], Acessado somento por instruções de transferência de dados. MIPS usa endereços de bytes, e palavras sequenciais diferenciam de memory Memory[4],..., Memória armazena estruturas de dados, como vetores, e registros encadeados, words Memory[ ] como aqueles salvos em procedure calls. 31
32 Sumário: Assembly MIPS Linguagem Assembly MIPS Categoria Instrução Exemplo Significado Comentário add add $s1, $s2, $s3 $s1 = $s2 + $s3 3 operandos; dados em registradores Arim ética subtract sub $s1, $s2, $s3 $s1 = $s2 - $s3 3 operandos; dados em registradores add immediate addi $s1, $s2, 100 $s1 = $s Usado para adicionar constantes load w ord lw $s1, 100($s2) $s1 = Memory[$s ] Palavra da memória para registrador Transf. de store w ord sw $s1, 100($s2) Memory[$s ] = $s1 Palavra do registrador para memória dados load byte lb $s1, 100($s2) $s1 = Memory[$s ] Byte da memória para registrador store byte sb $s1, 100($s2) Memory[$s ] = $s1 Byte do registrador para memória load upper lui $s1, 100 $s1 = 100 * 2 16 Carregar constante no 16 bits immediate superiores branch on equal beq $s1, $s2, 25 if ($s1 == $s2) go to PC Teste de igualdade; desvio PC-relativo Desvio branch on not equal bne $s1, $s2, 25 Condicional set on less than slt $s1, $s2, $s3 if ($s1!= $s2) go to PC if ($s2 < $s3) $s1 = 1; else $s1 = 0 Teste de Desigualdade; desvio PCrelativo Comparar menor que; para beq, bne set less than slti $s1, $s2, if ($s2 < 100) $s1 = 1; Constante na comparação menor que immediate 100 else $s1 = 0 jump j 2500 go to Saltar para o endereço alvo Desvio jump register jr $ra go to $ra Para escolha, retorno de procedimento Incondicional jump and link jal 2500 $ra = PC + 4; go to Para chamada de procedimento 32
33 Mais detalhes sobre formas de endereçamento MIPS 1. Immediate addressing op rs rt Immediate 2. Register addressing op rs rt rd... funct Registers Register 3. Base addressing op rs rt Address Memory Register + Byte Halfword Word 4. PC-relative addressing op rs rt Address Memory PC + Word 33
34 op rs rt Address Memory Detalhes sobre Register formas de + endereçamento Byte Halfword Word 4. PC-relative addressing op rs rt Address Memory PC + Word 5. Pseudodirect addressing op Address Memory PC Word 34
35 Arquiteturas Alternativas Projetos alternativos: Prover operações mais poderosas Objetivo: reduzir o número de Instruções executadas Perigo é aumentar o tempo de ciclo e/ou aumentar o CPI Algumas vezes associado ao confronto RISC x CISC Virtualmente, todos os Conjuntos de Instruções de 1982 a 95 foram RISC VAX: minimizar o tamanho do código, de forma a tornar a linguagem assembly mais fácil Instruções de tamanho 1 a 54 bytes! Para que assembly mais fácil? Rapidamente, olhar as arquiteturas PowerPC e 80x86 (detalhes no livro do Sttalings) 35
36 PowerPC Endereçamento Indexado Ex: lw $t1,$a0+$s3 #$t1=memory[$a0+$s3] Como isso seria feito no MIPS? Atualizar endereçamento Atualizar um registrador como parte da carga (para andar através de arrays) Ex: lwu $t0,4($s3) #$t0=memory[$s3+4];$s3=$s3+4 Como isso seria feito no MIPS? Outros: Múltiplos load/store Um registrador contador especial bc Loop decrementa contador, se!= 0 goto loop 36
37 80x : O Intel 8086 é anunciado (arquitetura 16 bit) 1980: O coprocessador 8087 floating point é adicionado 1982: O amplia o espaço de endereçamento para 24 bits, + Instruções 1985: O estende para 32 bits, novos modos de endereçamento : O 80486, Pentium, Pentium Pro adicionam poucas Instruções (maioria delas projetadas para ganho de desempenho) 1997: MMX é adicionado This history illustrates the impact of the golden handcuffs of compatibility adding new features as someone might add clothing to a packed bag an architecture that is difficult to explain and impossible to love (Hennessy & Patterson) 37
38 A arquitetura dominante: 80x86 Leia o livro texto para uma descrição mais detalhada Complexidade: Instruções com tamanho de 1 a 17 bytes 1 operando pode funcionar como fonte e destino 1 operando pode vir da memória Modos de endereçamento complexos Ex: índice de base ou de escala com deslocamento de 8 ou 32 bits Pontos interessantes: As instruções mais frequentemente usadas não são tão difíceis de construir Compiladores evitam porções da arquitetura que são lentas what the 80x86 lacks in style is made up in quantity, making it beautiful from the right perspective (Hennessy & Patterson) 38
39 Sumário Complexidade da Instrução é apenas UMA das variáveis Número de instruções mais baixo vs. alto CPI / taxa de clock mais baixa Princípios de projeto: Simplicidade favorece regularidade Quanto menor, mais rápido Um bom projeto implica em compromisso Fazer o caso comum mais rápido Conjunto de Instruções da Arquitetura (Instruction Set Architecture) Uma abstração MUITO importante! 39
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
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,
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
MODOS DE ENDEREÇAMENTO
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO
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
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Conjunto de Instruções MIPS
Conjunto de Instruções MIPS Ch3-1 RISC X CISC RISC (Reduced Instruction Set Computer) CISC (Complex Instruction Set Computer) 1. Instruções simples 2. Referencias a memória só com LOAD/STORE 3. Uso intensivo
MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio [email protected]
MIPS Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio [email protected] Introdução Plataforma projetada da parceria entre NEC, Nintendo, Silicon Graphics e Sony Possui um conjunto de instruções que e
Conjunto de Instruções e Arquitectura p.1
Conjunto de Instruções e Arquitectura Luís Nogueira [email protected] Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização
Arquitetura de Computadores I Prof. Ricardo Santos (Cap 2)
Arquitetura de Computadores I Prof. Ricardo Santos [email protected] (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 =
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
Aula 14: Instruções e Seus Tipos
Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos
Computadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações
Computadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3
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
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 [email protected]
Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas
Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Pae II Transferência de Dados Lógicas Controle Supoe a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores
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 [email protected] 1 Arquitetura MIPS MIPS: Microprocessor
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
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
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 [email protected] Colegiado de Engenharia
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
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)
Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance
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
Introdução à Arquitetura de Computadores
1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de
Sistemas Processadores e Periféricos Aula 5 - Revisão
Sistemas Processadores e Periféricos Aula 5 - 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
Conjunto de Instruções. Conjunto de Instruções
Conjunto de Instruções It is easy to see by formal-logical methods that there exist certain [instruction sets] that are in abstract adequate to control and cause the execution of any sequence of operations...
Conjunto de Instruções
Conjunto de Instruções Para comandar o hardware do computador, é necessário que falemos sua língua: As palavras da linguagem de máquina são chamadas de instruções; O vocabulário forma o conjunto de instruções,
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
ARQUITETURA DE COMPUTADORES
01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100
Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I
UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO Rafael Vargas Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I
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
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
Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva
Arquitetura de Computadores - Arquitetura RISC por Helcio Wagner da Silva Introdução RISC = Reduced Instruction Set Computer Elementos básicos: Grande número de registradores de propósito geral ou uso
Componentes do Computador e. aula 3. Profa. Débora Matos
Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e
Caminho dos Dados e Atrasos
Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém
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
Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios
Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios 1) Explore conversões de números a partir de números binárias com sinal e sem sinal para decimal:
Arquitectura de Computadores
Arquitectura de Computadores Prof. Doutora Ana Isabel Leiria Ano Lectivo 2004/05 Prof. Doutora Margarida Madeira e Moura Eng. António Rosado Ano lectivo 2005/06 Pág. 1 Guias das aulas práticas 1. INTRODUÇÃO
Computador: Hardware + Software
Conceitos Básicos de Arquitetura de Computadores Capítulo 3 Computador: Hardware + Software 1 Computador: Hardware + Software Aplicação (Netscape) Software Hardware Compilador Montador Processor Memory
NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann
Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von
PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto
Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas
Conjunto de instruções O Conjunto de Instruções ISA Instruction Set Architecture Alguns conceitos... Linguagem máquina Combinação de 0 s e 1 s organizados segundo palavras que são as instruções que o processador
Capítulo MC10 Organização Básica de Processadores
1 IC-UNICAMP MC 602 Circuitos Lógicos e Organização Computadores IC/Unicamp Prof Mario Côrtes Capítulo MC10 Organização Básica Processadores Tópicos Níveis abstração Máquina programa armazenado / Von Neumann
Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:
Processadores BIP A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo
Organização de Computadores 1
Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).
Computadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 7: 29 de abril de 2010 1 2 Subrotinas Um procedimento ou função é uma subrotina armazenada que executa uma tarefa específica baseada nos parâmetros de entrada
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 [email protected] Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE
Arquitetura de Computadores I
Arquitetura de Computadores I Pipeline Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1
Arquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
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
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
Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)
Capítulo 4 João Lourenço [email protected] Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes
Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario
Arquitetura de Computadores Assembly Miscelâneas Mário O. de Menezes http://www.tf.ipen.br/~mario AC Mário O. de Menezes 1 Lembrando Instruções Lógicas e Shift operam em bits individuais, diferente de
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
Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1
Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Arquitetura de Computadores I
Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno
Predição de Desvios e Processadores Superescalares Especulativos
Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os
Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar
Componentes de um Computador (5) Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Prof. João Paulo A. Almeida ([email protected]) 2007/01 - INF02597 Com slides de Roberta Lima Gomes
ArchC. Wesley Nunes Gonçalves
Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores
O Processador: Caminho de Dados e Controle
22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos
Índice. Tudo! (datapath de um ciclo)
Índice Sumário Instrução com atraso maior no datapath de um ciclo. Datapath multiciclo: introdução. 4. O Processador: Unidades de Caminho de Dados e de o 4.1 Diagrama de Blocos de um Processador 4.2 Unidade
Organização e Arquitetura de computadores
Organização e Arquitetura de computadores Instruções: a linguagem de máquina Prof. Dr. Luciano José Senger Introdução Operações no hardware do computador Operandos do hardware do computador Representando
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Linguagem de programação Linguagem de Alto Nível próximo ao ser humano, escrita de forma textual. Ex: if (a==b) a=b+c; Linguagem de Montagem (Assembly) próximo à linguagem de máquina, escrita em códigos
Arquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
BARRAMENTO DO SISTEMA
BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade
Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3.
Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 30/novembro/2012 1. (4 pontos) Assumindo uma frequência de relógio de 500 MHz para a organização MIPS multiciclo
ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software
ANHANGUERA EDUCACIONAL Capítulo 2 Conceitos de Hardware e Software Hardware Um sistema computacional é um conjunto de de circuitos eletronicos. Unidade funcionais: processador, memória principal, dispositivo
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados
ARQUITECTURA DE COMPUTADORES
ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA III Março 2014 Índice Instruction Set Revisões Procedimentos Stack Comunicar com pessoas ASCII Programar em MIPS estrutura, input e output Programar em MIPS
Arquitetura de processadores: RISC e CISC
Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo
3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:
Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de
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
Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados
Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing
28/9/2010. Unidade de Controle Funcionamento e Implementação
Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do
Edeyson Andrade Gomes
Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador
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
Descrição e análise da implementação em Assembly MIPS da função itoa
Descrição e análise da implementação em Assembly MIPS da função itoa Alana Rocha 1, Guilherme Alves 2, Guilherme Nunes 3 e Luiz Guilherme 4 Objetivo e visão geral do documento Este documento tem o objetivo
Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO
Geração de código Ivan Ricarte 2008 Sumário Geração de código intermediário Código de três endereços Notação pós-fixa Otimização de código Heurísticas de otimização Geração de código em linguagem simbólica
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURAS RISC E CISC. Prof. Dr. Daniel Caetano 2012-1
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURAS RISC E CISC Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer as premissas da Arquitetura CISC Conhecer as premissas da Arquitetura RISC Compreender
3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.
A ARQUITETURA DE UM COMPUTADOR A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957),
RISC - Reduced Instruction Set Computer
Arquietura MAC 412- Organizãção de Computadores - Siang W. Song Baseado no livro de Tanenbaum - Structured Computer Organization Arquietura Índice 1 Avaliação da arquitetura CISC (microprogramada) Críticas
2 Formalidades referentes ao trabalho
Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores 1 o Semestre de 2006 MICO-v12.r0 07/03/2006 Profs. Luis Allan Künzle e Armando Luiz Nicolini Delgado Atenção: Este
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
Geração de código intermediário. Novembro 2006
Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas
Conjunto de instruções e modos de. aula 4. Profa. Débora Matos
Conjunto de instruções e modos de endereçamento aula 4 Profa. Débora Matos Conjunto de Instruções A = ((B + C) x D + E F)/(G x H) A H denotam posições da memória endereços As arquiteturas possuem as seguintes
Aula 26: Arquiteturas RISC vs. CISC
Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos
