Linguagem de Montagem
|
|
- Ivan Santos Frade
- 8 Há anos
- Visualizações:
Transcrição
1 Linguagem de Montagem Procedimentos e a Pilha Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1
2 O que é a pilha? A pilha é uma estrutura de dados do tipo LIFO (last-in-first-out) Se vista como um array de elementos, as operações de inserção e remoção ocorrem somente de um lado do array Apenas o elemento no topo da pilha (TOS) está diretamente acessível Existem duas operações básicas: push (inserção) pop (remoção) 2
3 Exemplo de pilha inserção remoção 3
4 Implementação da pilha no Pentium O segmento de pilha é usado para implementar a pilha Os registradores SS e SP são usados SS:SP endereça o topo da pilha Características da pilha no Pentium Apenas palavras de 16 bits ou 32 bits podem ser salvas na pilha, nunca um byte simples A pilha cresce em direção ao menor endereço (ou seja, de cabeça para baixo ) O topo da pilha (TOS) sempre aponta para o último elemento inserido 4
5 Instruções de pilha O Pentium provê duas instruções básicas: push fonte pop destino fonte e destino podem ser: Registradores de uso geral de 16 ou 32 bits Um registrador de segmento Um dado de memória de 16 ou 32 bits O fonte de push pode também ser um operando imediato de tamanho 16 ou 32 bits Uma pilha vazia, de 256 bytes, é criada com:.stack 100H 5
6 Pilha no Pentium Exemplo 1 push 21ABH push 7FBD329AH Inserção na pilha cheia resultará overflow 6
7 Pilha no Pentium Exemplo 2 pop EBX Remoção em pilha vazia resulta em underflow resíduo 7
8 Tabela de operações da pilha 8
9 Instruções de pilha adicionais Operações de pilha sobre os FLAGS As instruções push e pop não podem ser usadas com o registrador de flags Existem duas instruções especiais para este fim: pushf (empilha os flags de 16 bits) popf (desempilha os flags de 16 bits) Nenhum operando é requerido pushfd e popfd devem ser usadas para os flags de 32 bits (EFLAGS) 9
10 Instruções de pilha adicionais (cont.) Operações de pilha sobre os 8 registradores de uso geral As instruções pusha e popa podem ser usadas para salvar os 8 registradores de uso geral AX, BX, CX, DX, SP, BP, SI e DI pusha empilha os oito registradores na ordem acima (AX primeiro e DI por último) popa desempilha os registradores, exceto que o valor de SP não é carregado no registrador SP Estas instruções são úteis na entrada de procedimentos para liberar os registradores de uso geral e depois recuperar seus valores 10
11 Usos da pilha Três usos principais Armazenamento temporário de dados Transferência de controle Passagem de parâmetros (chamada de procedimento) 11
12 Usos da pilha Armazenamento temporário Trocar o valor entre duas posições de memória pode ser feito usando a pilha como área temporária Dois regist=adores uso geral Quat=o acessos na memória push valor1 push valor2 pop valor1 pop valor2 Somente Quat=o acessos na memória 12
13 Usos da pilha Armazenamento temporário (cont.) Frequentemente usada para salvar o valor dos registradores ; salva BX e CX na pilha push BX push CX... << BX e CX podem ser usados agora>>... ; recupra o valor de BX e CX pop CX pop BX 13
14 Usos da pilha (cont.) Transferência de controle Em chamadas de procedimentos e interrupções, o endereço de retorno é armazenado na pilha A apresentação de procedimentos mais adiante irá esclarecer esta possibilidade Passagem de Parâmetros A pilha é extensivamente usada para a passagem de parâmetros em chamadas de procedimentos Mais adiante veremos como isso é possível 14
15 Diretivas para Procedimentos A LA provê duas diretivas para chamadas de procedimentos: PROC (inicio) e ENDP (fim) Opcionalmente, para definir um procedimento NEAR ( próximo ), usamos: nome_proc PROC [NEAR] Em procedimentos do tipo NEAR, ambos, código que chama e procedimento chamado devem ocupar o mesmo segmento de código Opcionalmente, um procedimento FAR ( distante ) pode ser definido como: nome_proc PROC [FAR] Em procedimentos do tipo FAR, o procedimento chamado e o procedimento que chama, ocupam dois segmentos distintos de código 15
16 Diretivas para Procedimentos (cont.) Se FAR ou NEAR não for especificado, é assumido NEAR (ou seja, NEAR é o default) Trabalharemos apenas com procedimentos do tipo NEAR Uma definição típica de procedimento NEAR: nome_proc PROC.... << corpo do procedimento >>.... nome_proc ENDP nome_proc deve ser igual nas diretivas PROC e ENDP 16
17 Instruções para Procedimentos O Pentium provê duas instruções para a chamada e retorno dos procedimentos: call e ret A instrução call é usada para invocar um procedimento Formato: call nome_proc nome_proc é o nome do procedimento Ações executadas durante uma chamada a procedimentos do tipo NEAR SP := SP - 2 ; reserva espaço na pilha da memória (SS:SP) := IP ; empilha o endereço atual de IP IP := IP + deslocamento_relativo_do_procedimento 17
18 Instruções para Procedimentos (cont.) A instrução ret deve ser usada para devolver o controle da execução de volta para o procedimento que chamou Como o processador sabe o endereço de retorno? Ele usa o endereço de retorno colocado na pilha como parte da execução da instrução call de chamada de procedimentos É fundamental que o topo da pilha (TOS) esteja apontando para o endereço de retorno na execução da instrução ret Ações tomadas na execução da instrução ret: IP := (SS:SP) ; desempilha o endereço de retorno SP := SP + 2 ; atualiza o topo da pilha 18
19 Instruções para Procedimentos (cont.) É possível especificar um parâmetro opcional inteiro para a instrução ret O formato é: ret Exemplo: ret 6 parâmetro_opcional As ações tomadas com a execução de ret com parâmetro opcional são: IP := (SS:SP) ; desempilha o endereço de retorno SP := SP parametro_opcional ; ex. 6 19
20 Como é feita a transferência do controle? Offset(hex) machine code(hex) offset relativo main PROC opcode (licle endian) cs:000a E8C000 call sum cs:000d 8BD8 mov BX,AX main ENDP sum PROC cs: push BP sum ENDP avg PROC cs:0028 E8EEFF call sum cs:002b 8BD0 mov DX,AX avg ENDP ForFard Backward D = 000C B = FFEE Push BP IP ret ret ret offset relativo Push BP IP offset relativo (comp de 2) 20
21 Passagem de parâmetros A passagem de parâmetros em assembly é uma tarefa diferente e um pouco mais complicada que em uma linguagem de alto nível Em assembly: Deve-se primeiro colocar todos os parâmetros em uma área de memória mutuamente acessível Então chamar o procedimento Tipos de áreas de trabalho usadas Registradores (são usados registradores de uso geral) Memória (é usada a pilha) Métodos comuns de passagem de parâmetros: Método Registrador Método Pilha 21
22 Passagem de parâmetros (cont.) Método Registrador O procedimento que chama coloca os parâmetros nos registradores de uso geral antes de invocar o procedimento chamado através do comando call Exemplos PROGRAMA PROCEX1.ASM Passagem por valor usando registradores Uma rotina simples de soma PROGRAMA PROCEX2.ASM Passagem por referência usando registradores Uma rotina de cálculo de tamanho de strings 22
23 Passagem de parâmetros (cont.) Prós e contras do método registrador Vantagens Mais conveniente e fácil Mais rápido Desvantagens Poucos parâmetros podem ser passados Pequeno conjunto de registradores disponível Frequentemente os registradores de uso geral não estão livres Usar a pilha para salvar o conteúdo dos registradores impacta a segunda vantagem 23
24 Passagem de parâmetros (cont.) Método Pilha Todos os parâmetros são empilhados antes de chamar o procedimento Exemplo: push number1 push number2 call soma 24
25 Acesso aos parâmetros na pilha Como ter acesso aos parâmetros na pilha? Podemos usar: add SP, 2 mov BX, [SP] Problema: sujeito a erros ; arlazenar retormo (IP) Consome regist=ador de Propósito geral É necessário lembrar de atualizar SP para apontar para o valor de retorno do procedimento antes do seu término Existe uma alternativa melhor? Usar o registrador BP para acessar parâmetros na pilha 25
26 Acesso aos parâmetros na pilha usando BP reg. Método preferido de acesso aos parâmetros Para acessar o número 2 do exemplo anterior: mov BP, SP mov BX, [BP+2] Problema: o conteúdo de BP foi perdido! Necessário preservar o conteúdo de BP Usado nas operações em vários procedimentos (atenção: valor do deslocamento dos parâmetros é alterado) push BP mov BP, SP Os valores dos parâmet=os, endereços de retormo e o BP anterior arlazenados na pilha, são chamados de stack Rame 26
27 Limpando os parâmetros da pilha Stack state after push BP Stack state after pop BP Stack state after executing ret 27
28 Limpando os parâmetros da pilha (cont.) Dois maneiras de limpar os parâmetros indesejados na pilha Usar inteiro opcional na instrução ret ret 4 ; usar no exemplo anterior Adicionar uma constante para SP na chamada do procedimento (C usa este método) Em C: sum(number2,number2); push number1 push number2 call sum add SP, 4 28
29 Quem deve limpar os parâmetros indesejados Na chamada do procedimento Atualizar SP a cada procedimento chamado Não é realmente necessário se os procedimentos utilizarem um número fixo de parâmetros C utiliza este método pois permite número variável de parâmetros No procedimento chamado O código se torna modular (compensação dos parâmetros é feito em um só lugar) Não pode ser usado com um número variável de parâmetros 29
30 Preservar o estado do procedimento de chamada Necessidade de preservar o estado para cada chamada de procedimento A pilha é utilizada para este propósito Que registradores devem ser salvos? Salvar os que são usados pela chamada de procedimento mas eles são modificados pelo procedimento chamado Pode causar problemas Salvar todos os registradores (método força bruta) Feito usando pusha Incrementa sobrecarga pusha leva 5 clocks para salvar todos os 8 registradores 30
31 Estado da pilha após usar pusha O offeset para number1 e number2 foi incrementado 31
32 Onde deve ser preservado o estado do registrador Na chamada do procedimento Precisa conhecer os registradores usados pelo procedimento chamado Necessário incluir instruções para salvar e restaurar os registradores para cada procedimento chamado Problemas de manutenção no programa No procedimento chamado Método preferido pois código se torna modular (preservação do estado é feito apenas uma vez e em um lugar) Evita problemas de manutenção no programa 32
33 Instruções para Stack Frame Instrução ENTER Facilita a alocação de stack frame enter bytes, level Bytes = espaço de armazenamento local Level = nível de aninhamento (nós usamos 0) Exemplo enter XX, 0 Equivalente a push BP mov BP, SP sub SP, XX 33
34 Instruções para Stack Frame (cont.) Instrução LEAVE Libera stack frame leave Não tem operandos Equivalente a mov SP, BP pop BP 34
35 Um modelo de procedimentos típico proc-name proc-name PROC enter XX, <procedure body> leave ret ENDP YY 35
36 Passagem de parâmetros na pilha: exemplos PROCEX3.ASM Chamada por valor usando método pilha Um simples procedimento de soma PROCSWAP.ASM Chamada por referência usando método pilha Os dois primeiros caracteres da string são trocados BBLSORT.ASM Implementa o algoritmo bubble sort Usa pusha e popa para salvar e restaurar registradores 36
Linguagem de Montagem
Linguagem de Montagem Organização do PC Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1 Processador Pentium Lançado em 1993 Versão melhorada
Leia maisPROJETO 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
Leia maisOrganizaçã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).
Leia maisArquitetura 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
Leia maisCAPÍ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
Leia maisConjunto 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
Leia maisNOTAS 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
Leia maisInterrupções. As interrupções são casos especiais de chamadas de procedimentos.
Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.
Leia maisULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação
Leia maisLaboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly
Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Gustavo G. Parma Lista dos comandos assembly que serão utilizados ao longo das práticas. 1 Comandos 1. ADD destino, fonte
Leia mais3. 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
Leia maisArquiteturas 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
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisNível da Arquitetura do Conjunto das Instruções
Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Fluxo Seqüencial de Controle e Desvios (1) Fluxo de Controle: É a seqüência na qual instruções são dinamicamente executadas Isto
Leia mais7. A pilha e subrotinas
Cap7.1 7. A pilha e subrotinas 7.1 Organização da Pilha (stack) Stack: estrutura de dados de uma dimensão organizada em algum trecho (segmento) da Memória; o primeiro item adicionado é o último a ser removido
Leia maisEvolução dos Processadores
Evolução dos Processadores Arquitetura Intel Arquitetura x86 Micro Arquitetura P5 P6 NetBurst Core Processador Pentium Pentium Pro Pentium II Pentium III Pentium 4 Pentium D Xeon Xeon Sequence Core 2 Duo
Leia maisULA Sinais de Controle enviados pela UC
Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números
Leia maisARQUITETURA 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
Leia maisAnálises Geração RI (representação intermediária) Código Intermediário
Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O
Leia maisA memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada
Leia maisLABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS
LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS Capítulo 15 do livro-texto, págs. 309 a 330 Impressora Scanner Monitor Flop Disk Modem Floppy drive "CPU" HD CD ROM Teclado Mouse Dispositivos
Leia maisGeraçã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
Leia maisDispositivos de Entrada e Saída
SEL-0415 Introdução à Organização de Computadores Dispositivos de Entrada e Saída Aula 9 Prof. Dr. Marcelo Andrade da Costa Vieira ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Inserção dos dados (programa)
Leia maisSOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum
SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Introdução
Leia maisComputadores 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
Leia maisFUNDAÇÃO EDUCACIONAL DE ITUIUTABA
FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@yahoo.com
Leia maisLinguagem de Montagem 2. Operações e Operandos
Linguagem de Montagem 2 Operações e Operandos Revisão Para executar uma tarefa qualquer, um computador precisa receber instruções precisas sobre o que fazer Esse conjunto de instruções chamamos de algoritmo
Leia maisESTRUTURA DE DADOS PILHA
ESTRUTURA DE DADOS PILHA CONCEITO DE PILHAS - Pilhas são listas lineares onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo. Pilha vazia Insere(A)
Leia maisUnidade: Unidade Lógica e Aritmética e Registradores. Unidade I:
Unidade: Unidade Lógica e Aritmética e Registradores Unidade I: 0 Unidade: Unidade Lógica e Aritmética e Registradores UNIDADE LÓGICA E ARITMÉTICA E REGISTRADORES O Processador é um chip com milhares de
Leia maisSistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani
Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Gerência de Arquivos É um dos serviços mais visíveis do SO. Arquivos são normalmente
Leia maisOrganizaçã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
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisPossui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.
3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades
Leia maisEstruturas de Dados Pilhas, Filas e Deques
Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem
Leia maisGeraçã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
Leia maisAlgoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 7 Estrutura de Dados: Listas Prof. Tiago A. E. Ferreira Introdução Um das formas mais usadas para se manter dados agrupados é a lista Lista de compras, itens de estoque,
Leia maisMemória Cache. Prof. Leonardo Barreto Campos 1
Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.
Leia maisPilhas. Profa Morganna Diniz
Pilhas Profa Morganna Diniz Pilhas Geralmente pilhas são úteis em situações em que dados devem ser recuperados em ordem inversa a do armazenamento É uma estrutura de dados linear que permite acesso por
Leia mais8. Instruções de multiplicação e divisão
Cap8.1 8. Instruções de multiplicação e divisão 8.1 Instruções de multiplicação MUL fonte IMUL fonte MUL (multiply) -> usada com números em representação não-sinalizada IMUL (integer multiply) -> usada
Leia mais3/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
Leia maisSistemas Operacionais
Sistemas Operacionais Gerenciamento de Memória Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Paula Prata e nas transparências
Leia maisListas Duplamente Encadeadas
Listas Duplamente Encadeadas! quando for preciso seguir a seqüência de elementos em ambos os sentidos! cada nó possui dois ponteiros: ant e prox ant prox a b c d Início Fim 1 Listas Duplamente Encadeadas
Leia maisDiminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;
Diminui o gargalo existente entre processador e memória principal; Diferença de velocidade 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Tecnologia semelhante à da CPU e,
Leia maisUnidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano
Arquitetura e Organização de Computadores 1 Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Objetivo: Apresentar as funções o mecanismo de atuação da
Leia maisArquitetura de Computadores
Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 ISA: Arquitetura de Conjunto de Instruções Roteiro Introdução Classificação de conjuntos de instruções Endereçamento
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisMáquina de estados UNIX O
Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que
Leia maisMáquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de
Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que
Leia maisOrientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Leia maisPROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 3 - O NÍVEL DA ARQUITETURA DO CONJUNTO DAS INSTRUÇÕES (ISA) (Nível Convencional de Máquina) 1. INTRODUÇÃO Este é o nível responsável por fazer a ligação entra a parte de hardware e a parte de software
Leia maisAcadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos
Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos Pilhas de Dispositivos Drivers no Windows Vista podem fazer todo trabalho sozinho; Uma requisição pode passar por uma seqüência
Leia maisCISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com
Leia maisProcessadores 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
Leia maisIntrodução à Arquitetura e Linguagem Assembly de Processadores IA-32
Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32 Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CHIP Ano MHz Transistors Mem 8086 1978 5
Leia maisConjunto 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
Leia maisSoftware Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza
Software Básico Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo
Leia maisO que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.
O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar
Leia maisOrganizaçã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
Leia maisProtótipo de Gerador de Código Executável no Ambiente FURBOL
Protótipo de Gerador de Código Executável no Ambiente FURBOL Acadêmico: Geovânio Batista André Orientador: José Roque Voltolini da Silva Trabalho de Conclusão de Curso Área/SubÁrea Compiladores/Geração
Leia maisLinguagem de Montagem
Linguagem de Montagem Uma introdução à Programação Assembly do PC Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1 A Visão do Usuário sobre
Leia maisAritmética de Ponto Flutuante
Aritmética de Ponto Flutuante Formato Padrão IEEE 32 bits, Sinal, Expoente e Mantissa, Normalização, Conversão, Unidade de Ponto Flutuante Intel (FPU), Registradores e Instruções associados à FPU Orlando
Leia maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem
Leia maisOrganizaçã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
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Leia mais28/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
Leia mais2 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
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisNotas da Aula 17 - Fundamentos de Sistemas Operacionais
Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisIntrodução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
Leia maisTais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.
Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:
Leia mais[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]
Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob
Leia maisIntrodução. ULA: Faz os Cálculos UC: Como isso tudo ocorre?
Introdução ULA: Faz os Cálculos UC: Controla a execução do programa (ordem de leitura das instruções) Traz dados da memória e dispositivos para os registradores Comanda a ULA Como isso tudo ocorre? A UNIDADE
Leia maisDisciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto
Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos
Leia maisMemória - Gerenciamento. Sistemas Operacionais - Professor Machado
Memória - Gerenciamento Sistemas Operacionais - Professor Machado 1 Partes físicas associadas à memória Memória RAM Memória ROM Cache MMU (Memory Management Unit) Processador Tabela de Páginas TLB 2 Conceitos
Leia maisQualiQuantiSoft Versão 1.3c
QualiQuantiSoft Versão 1.3c Qualiquantisoft v1.3c Pág.: 1/15 Índice Apresentação do programa... 3 Funções operacionais do programa... 3 Itens de menu... 6 Teclas de atalho... 6 Instrumento de Análise de
Leia maisComponentes básicos de um sistema computacional. Cap. 1 (Stallings)
Componentes básicos de um sistema computacional Cap. 1 (Stallings) 1 Sistema de Operação Explora recursos de hardware de um ou mais processadores Provê um conjunto de serviços aos utilizadores Gerencia
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de
Leia maisUNIVERSIDADE FEDERAL DE ITAJUBÁ MICROPROCESSADORES II
UNIVERSIDDE FEDERL DE ITJUBÁ MICROPROCESSDORES II SÉRIE DE PROGRMS 8 1) Determine a função da sub-rotina a seguir. SubRot PROC Far Repeat: fld st(3) push bp fmulp st(3),st mov bp,sp fld1 sub sp, fadd st(1),st
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
Leia maisCapítulo 4 Gerenciamento de Memória
Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição
Leia maisIntrodução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br
Introdução INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br introdução Tópicos conceitos básicos o que é um programa um programa na memória decifrando um código referência Capítulo
Leia maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia maisARQUITETURA DE COMPUTADORES - 1866
7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um
Leia maisPROFESSOR ÉVERSON MATIAS DE MORAIS SISTEMAS OPERACIONAIS. Sistemas operacionais (so) Roteiro
PROFESSOR ÉVERSON MATIAS DE MORAIS Graduação em Processamento de Dados Especialização em Ciência da Computação Mestrado em Ciência da Computação SISTEMAS OPERACIONAIS Aula 1 Sistemas operacionais (so)
Leia maisAlgoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo
Algoritmos e Estruturas de Dados I 01/2013 Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Problema 1 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em
Leia maisEntradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão
Entradas/Saídas Programação por interrupções Conceitos gerais Programação da porta série Transmissão Problemas a resolver Como identificar a interrupção? Motivo da interrupção Que rotina executar? Como
Leia maisCapítulo 6 Sistemas de Arquivos
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios 6.3 Implementação do sistema de arquivos 6.4 Exemplos de sistemas de arquivos 1 Armazenamento da Informação a Longo Prazo 1. Deve ser possível
Leia maisPersistência e Banco de Dados em Jogos Digitais
Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem
Leia maishttp://www.risesecurity.org Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@risesecurity.org
Ataques Polimórficos Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@risesecurity.org A idéia - Detectores de intrusos utilizam-se de assinaturas de ataques para identificação dos mesmos - Sistemas
Leia maisIntrodução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
Leia maisBackup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?
Backup O backup tem dois objetivos principais: Permitir a recuperação de arquivos individuais é a base do típico pedido de recuperação de arquivo: Um usuário apaga acidentalmente um arquivo e pede que
Leia maisGerenciamento de memória. Carlos Eduardo de Carvalho Dantas
Carlos Eduardo de Carvalho Dantas Motivos: 1 Manter a CPU ocupada o máximo de tempo para não existir gargalos na busca de dados na memória; 2 Gerenciar os espaços de endereçamento para que processos executem
Leia maisA Pilha. Aula 02. DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria
Engenharia de CONTROLE e AUTOMAÇÃO A Pilha Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br 1/5
Leia maisÍndices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures.
Índices* Professora Rosane Minghim * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índice Em geral, um índice fornece mecanismos para localizar
Leia mais