Autor: Fernando de Mesentier Silva

Slides:



Advertisements
Apresentações semelhantes
Parte 1: Organização de Computadores
Advertisements

Organização e Arquitetura de Computadores I Linguagem de Máquina
CPU: Controle e processamento
Arquitetura de Computadores
WebDesign Redes de Computadores Aula 05
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
WebDesign Redes de Computadores Aula 07
Arquitetura e organização de computadores
A Arquitetura: conjunto de instruções
Assembly MAC-1 Implementação de ciclos Ciclo ‘while’ // Em Java : ...
Aula 4 – Sumário Linguagem assembly do MAC-1 A pilha
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 03: Computador.
Unidade Lógica e Aritmética Introdução à Ciência da Computação
Sistemas Embarcados Microcontroladores PIC
Arquitetura dos Microprocessadores 8086 e 8088
Exemplo de arquitetura registrador-registrador- MIPS
Processador Fluxo de Dados e Controle
Aula-02 Arquitetura do conjunto de instruções – ISA (Instruction Set Architecture)
Organização de Computadores Inserindo o Controle Identifica pontos de controle no caminho de dados – Busca da instrução – Operações lógicas e aritméticas.
Maria Aparecida Castro Livi
Introdução à Informática
Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de.
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador - Parte A Capítulo 5.
O MICROPROCESSADOR INTEL 8080
Sistemas Digitais Microprocessados
REPRESENTAÇÃO DE INSTRUÇÕES
Arquitetura de Computadores I
Nível Máquina Formatos de Instruções
Arquitecturas RISC Arquitectura e Conjunto de Instruções
Arquitecturas RISC Programação em assembly
Instruções: A Linguagem de Máquina – Aula 01
Processadores – Aula 3 Professor: André Luis Meneses Silva
Processadores – Aula 3 Professor: André Luis Meneses Silva
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
Linguagem de Montagem.
Representação de Instruções
Aula 3©Universidade do Algarve 1 Do alto-nível ao assembly Compiladores, Aula Nº 3 João M. P. Cardoso.
Classes de Arquiteturas Tipos de operação Codificação das operações
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
Unidade Central de Processamento UCP
ORGANIZAÇÃO DE COMPUTADORES
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Agenda Modos de Endereçamento.
Memória Principal.
Unidade Central De Processamento: Processador
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Capítulo VIII Ambientes de Execução
Unidade Central De Processamento: Processador
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
A Linguagem de Máquina – Desvios e Laços
A Linguagem de Máquina – Funções e recursividade Prof. André Luis M. Silva orgearq wordpress.com.
8088 Assembly Software Básico Mitsuo Takaki.
Arquitetura de Computadores 2009 Infra-estrutura Hardware
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
Parte 3 Seção de Dados e Unidade de Controle
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Instruções Condicionais e de Acesso a Memória Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala GSI013 –
A linguagem de Máquina – Instruções Básicas
O Stack e Subrotinas Permitem reusar o código Escreva e depure o código uma vez, use-o quantas vezes for preciso Uma Subrotina deve ser chamada Uma Subrotina.
Arquitetura do ARM RISC (Reduced Instruction Set Computer) – Conjunto relativamente grande de registradores – Modelo “load/store “de processamento Operações.
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
Modos de Endereçamento da família MC8051
EA869 Subrotinas Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Arquitetura ARM Subrotinas.  Implementar uma sub-rotina requer dois passos: 1.Armazenar o endereço de retorno. 2.Desviar a execução para o endereço da.
Computador MIPS Organização básica e conjunto de instruções.
Conjunto de instruções
Transcrição da apresentação:

Autor: Fernando de Mesentier Silva Revisão Comp-Prog Autor: Fernando de Mesentier Silva

CES Barramento de dados: 16 bits Barramento de endereços: 14 bits Memória: 2^14 * 16 bits = 32Kbytes

Registradores do CES RD -> Registrador de Dados (16 bits) RE -> Registrador de Endereço (14 bits) RI -> Registrador de Instrução (2 bits) RP -> Registrador apontador de programa (14 bits) RT -> Registrador de Trabalho (16 bits) RC* -> Registrador de Condição (1 bit) *(armazena o vai-um do somador)

Formato da Instrução

Instruções Lê “End” -> Lê da Memória / Cód 00 Esc “End” -> Escreve na Memória / Cód 01 Sub “End” -> Subtrai (RT = [End] - RT) / Cód 10 Task “End” -> Desvio condicional em relação ao valor de RC / Cód 11

Codificação das Instruções

Esquema do CES

Ciclos de Instrução L/E/S -> 1º ciclo: Encontra a próxima instrução Dado é lido(L/S) ou escrito(E) Dado lido/escrito é armazenado em RD L/E/S -> 2º ciclo: Próxima instrução é lida da memória Ao final do ciclo a instrução é copiada para RD, seu operando é copiado para RE e o cód. Instrução é colocado em RI *L/S -> valor produzido é armazenado em RT no final do ciclo. *S -> vai-um é armazenado no RC no final do ciclo

Ciclos de Instrução No caso da instrução T, se o valor armazenando no RC for um, essa instrução também será executada em dois ciclos de relógio: No primeiro é carregado o endereço de desvio para RP, e no segundo ciclo segue como as outras instruções Se o valor armazenado no RC for zero, a instrução T será executada em apenas um ciclo de relógio.

MIPS 32 registradores de 32 bits cada 32 bits de endereço 8 bits por posição de memória Instruções de 32 bits

Tipos de palavras Byte = 8 bits Halfword = 2 bytes Word = 4 bytes Um caractere ocupa 1 byte na memória Um inteiro ocupa 1 word(4 bytes) na memória

Endian MIPS x Intel

Instruções Aritméticas add Dest, Op1, Op2 Dest = Op1 + Op2 Ex: add $s1, $s2, $s3 => $s1 = $s2 + $s3 addi $t0, $t1, 1 => $t0 = $t1 + 1 addu $s1, $t1, $t2 => $s1 = $t1 + $t2 *sem sinal* sub Dest, Op1, Op2

Instruções Lógicas and Dest, Op1, Op2 Dest = Op1 & Op2 *bit a bit andi Dest, Op1, Imediato or Dest, Op1, Op2 not Dest, Op1

Instruções Lógicas sll Dest, Op1, Imediato srl Dest, Op1, Imediato Dest = Op1 << Imediato => equivalente a multiplicar por 2^Imediato srl Dest, Op1, Imediato Dest = Op1 >> Imediato => equivalente a dividir por 2^Imediato

Instruções de carga lw Dest, Imediato(registrador) Carrega o dado endereçado por [reg+imed], e salva em Dest sw Fonte, Imediato(registrador) Salva o valor dado por fonte na posição de memória endereçada por [reg+imed]

Instruções de comparação slt Dest, Op1, Op2 *set on less than* Dest = 0, Op1 >= Op2 Dest = 1, Op1 < Op2 slti Dest, Op1, Imediato sltu Dest, Op1, Op2 sltiu Dest, Op1, Imediato

Instruções de desvio beq Reg1, Reg2, Label bne Reg1, Reg2, Label Desvia para Label, se Reg1 == Reg2 bne Reg1, Reg2, Label Desvia para Label, se Reg1 != Reg2 j Label * jr Registrador * *Desvio incondicional

Subrotinas $a0 - $a3 => registradores usados na passagem de parâmetros $v0 e $v1 => registradores para os valores de retorno $ra => registrador de endereço de retorno

Subrotinas jal Label jr $ra Desvia para a subrotina, e salva o endeço de retorno em $ra jr $ra Desvia de volta para o endereço de retorno

Subrotinas Cuidado! Quando temos subrotinas aninhadas, o valor de retorno($ra) será perdido a cada chamada de subrotina feita em seqüência, por isso é importante que o valor de retorno seja preservado(Melhor solução é empilhar o mesmo).

Pilha $sp => registrador que aponta para o topo da pilha $fp => frame pointer (serve ao mesmo uso do EBP no intel) Manipulando o valor do registrador $sp é possível simular as instruções PUSH e POP

Codificação de Instruções Instruções costumam ser representadas em binário ou hexadecimal Os nomes dos registradores são convertidos pela tabela de registradores Cada instrução é mapeada conforme o código dado na tabela de instruções Endereço de memória e constantes se mantêm.

Tabela dos Registradores

Formato das Instruções Formato R => Instruções aritméticas Formato I => Instruções de transferências de dados ou com valores imediatos Formato J => Instruções de desvio

Formato das Instruções

Formato R op => código da operação (em R = 000000) rs => código do operador 1 (00000 em srl/sll) rt => código do operador 2 shamt => quantidade de shift (00000 exceto para srl/sll) funct => código da função

Exemplo

Exemplo

Formato I op => código da operação rs => valor do operando 1 rt => valor do operando 2(destino/fonte) Constante / Endereço

Exemplo

Formato J op => código da operação Endereço => endereço do desvio

Endereçamento nas Instruções Instruções de formato J usam o endereçamento absoluto. Instruções de formato I usam o endereçamento relativo (a partir de PC) Cuidado! O MIPS multiplica por 4 o valor de endereço da instrução, uma vez que cada instrução ocupa 32 bits (4 posições de memória) Cuidado! A contagem do endereço relativo começa a partir da instrução abaixo da atual(porque o PC já está carregado com o endereço da próxima instrução).

Exemplo

Instrução lui

Caracteres São representados pela tabela ASCII Ocupam 8 bits (1 espaço de memória) Variações de lw e sw para bytes: lb e sb - Trabalham com os 8 bits mais a direita

Strings São cadeias de caracteres Costumam ser representados em uma das 3 formas: 1) A primeira posição da string indica o tamanho dela 2) Uma variável que a acompanha guarda o tamanho da string 3) Ultima posição da string é ocupada por um caractere especial que marca o fim da string

Slides da professora Silvanna Referência Slides da professora Silvanna GOOGLE