Computadores e Programação (DCC/UFRJ)
|
|
- Márcia Andrade Festas
- 7 Há anos
- Visualizações:
Transcrição
1 Computadores e Programação (DCC/UFRJ) Aula 6:
2 1 2 3
3 A necessidade dos programadores escreverem código em linguagem de montagem tem mudado ao longo dos últimos anos: de um programador capaz de escrever programas diretamente em linguagem de montagem para um programador capaz de ler e entender o código gerado pelos compiladores
4 Compreendendo código em linguagem de montagem Ler código em linguagem de montagem gerado por um compilador envolve um conjunto de habilidades distintas daquelas necessárias para escrever código diretamente: é preciso compreender as transformações usadas pelos compiladores para converter construções da linguagem de alto nível em código de máquina Técnicas de otimização usadas pelos compiladores podem rearranjar a ordem de execução do programa: eliminando computações desnecessárias, substituindo operações lentas, ou mesmo convertendo computações recursivas por sequências iterativas
5 Linguagem de máquina Intel IA32 Tomaremos como base para nosso estudo as linguagens de máquina Intel IA32 e sua extensão para 64 bits x86-64 Usaremos um subconjunto dessas linguagens, exploradas pelo sistema de compilação GCC e pelo sistema operacional Linux A linha de processadores Intel, referenciada por x86, tem uma longa história de desenvolvimento Produto de vários grupos independentes, com cerca de 30 anos de evolução, adicionando novas características para o conjunto original de instruções
6 Histórico Início dos microprocessadores na década de 70 Arquitetura de 4 bits com processador 4004, seguida da arquitetura de 8 bits com processador , Intel 8080 (from Wikipedia) Variante estendida do projeto anterior 8008, todavia, sem compatibilidade binária. Clock máximo de 2 Mhz, tecnologia NMOS, exigindo voltagens de +12V e -5V, com instruções exigindo entre 4 a 11 ciclos, executando umas centenas de milhares de instruções por segundo. Primeiro microprocessador verdadeiramente utilizável, apesar dos anteriores terem sido usados em calculadoras e outras aplicações Influenciou decisivamente a arquitetura de 16 bits da série x86.
7 Histórico 1978 A arquitetura Intel 8086, com todos os registradores internos de 16 bits, foi anunciada como extensão compatível da arquitetura Intel 8080 de 8 bits 1980 O coprocessador de ponto-flutuante Intel 8087 é anunciado Usa a pilha em memória (ao invés de registradores) para as operações de ponto-flutuante e acrescenta 60 instruções
8 Histórico 1982 Intel estende a arquitetura 8086 incrementando o espaço de endereçamento para 24 bits 1985 Intel estende a arquitetura para 32 bits
9 Histórico Intel (1989), Pentium (1992) e Pentium Pro (1995) visam aumento de desempenho, com a adição de poucas instruções visíveis ao usuário 1997 Intel anuncia expansão do Pentium e Pentium Pro com MMX (Multimedia Extensions) 57 novas instruções que operam sobre vários elementos de dados ao mesmo tempo (SIMD)
10 Histórico 1999 Inclusão do tipo de dados de ponto-flutuante de precisão simples (Pentium III) Adição de 8 registradores 2001 Inclusão do tipo de dados de ponto-flutuante de precisão dupla (Pentium IV)
11 Histórico 2003 Outra companhia, a AMD, muda todos os registradores para 64 bits (AMD64) 2004 A Intel incorpora o AMD Anunciado processador Intel Xeon E7 v2 com 15 núcleos e 1,5 tera bytes de memória (exemplo de processador CISC - complex instruction set computer) para uso em servidores e competindo com processadores RISC (reduced instruction set computer) do PowerPC IBM
12 Dados dois programas, p1.c e p2.c, eles podem ser compilados fazendo: gcc -O1 -o p p1.c p2.c A opção -O1 diz ao compilador para usar o nível 1 de otimização
13 Em geral, quanto maior o nível de otimização, mais rápido é a execução do programa final... por outro lado, maior a chance de aumentar o tempo de compilação e dificultar a depuração... além disso, fica mais difícil compreender a relação entre código fonte e final Na prática, o nível -O2 é considerado uma boa opção em termos de desempenho
14 Código de máquina O sistema de compilação transforma programas expressos no modelo de execução da linguagem de alto nível em instruções elementares que o processador executa A habilidade de entender o código de montagem e sua relação com o código fonte é um passo essencial para compreender como os computadores executam os programas
15 Exemplo de geração de código Ver exemplo de código em anexo (ex11.c) Fazer gcc -O1 -S ex11.c Ver código em linguagem de montagem gerado em ex11.s (todas as linhas que começam com. são diretivas para o montador e o ligador, podemos em geral ignorá-las)
16 Exemplo de geração de código A referência à variável global acumulador aparece porque o compilador não determinou ainda em que endereço de memória essa variável será armazenada Os endereços globais só serão preenchidos após a link edição e geração do código executável final As demais declarações de variáveis e tipos não aparecem no arquivo de saída (ex11.s)
17 Usando um disassembler Fazendo gcc -O1 -c ex11.c geramos o arquivo objeto ex11.o No Linux, podemos usar o programa OBJDUMP para inspecionar o conteúdo de um arquivo objeto ex., objdump -d ex11.o > ex11.elf (ver exemplo em anexo)
18 Observações sobre o código de máquina gerado As instruções IA32 podem ter de 1 a 15 bytes de tamanho As instruções são codificadas de tal forma que as operações mais comuns requerem um número menor de bytes comparado às demais O formato das instruções é projetado de tal forma que a partir de uma posição inicial há uma única codificação dos bytes em instrução de máquina O disassembler determina o código em linguagem de montagem com base apenas na sequência de bytes do código de máquina e na arquitetura para a qual ele foi gerado (não depende da linguagem fonte do programa original)
19 Voltando ao exemplo de código... Para gerar o programa executável é preciso um arquivo com a função main Fazendo gcc -O1 -o main ex11.o main.c, temos o arquivo final Fazendo objdump -d main, podemos inspecionar o conteúdo do arquivo final (observar a diferença com relação ao endereço da variável global acumulador )
20 Observações sobre os diferentes formatos de código de montagem ATT versus Intel O código de montagem IA32 pode ser mostrado em diferentes formatos O formato ATT é o formato padrão das ferramentas gcc e objdump (e será usado ao longo do curso) O formato Intel é usado por outras ferramentas (ex., Microsoft), incluindo a própria documentação Intel Há várias diferenças entre os dois formatos Fazendo gcc -O1 -S -masm=intel ex11.c forçamos o uso do formato Intel (ver exemplo de código gerado)
21 Sufixos Sumário Devido a sua origem com 16 bits, a Intel usa o termo word para referenciar tipos de dados de 16 bits: b (byte), tamanho de um byte movb $0, (%eax) w (word), tamanho de dois bytes movw $0, (%eax) l (long), tamanho de quatro bytes movl $0, (%eax)
22 Nomenclatura para designar os registradores
23 Registradores de propósito geral do 80386
24 Registradores de propósito geral (GPRs) do Tinham finalidade específica nas arquiteturas anteriores de 16 bits (razão dos nomes), mas, com o endereçamento linear (flat addressing) de 4GB, o uso específico é enormemente reduzido e os seis primeiros podem ser considerados de uso geral, ainda que algumas instruções usem registradores fixos como fonte e destino EAX - Acumulador, usado em operações aritméticas. ECX - Contador, usado em loops. EDX - Registrador de dados, usado em operações de entrada/saída e em multiplicações e divisões. É também uma extensão do Acumulador. EBX - Base, usado para apontar para dados no segmento DS (8086). ESI - Índice da fonte de dados a copiar (Source Index). Aponta para dados a serem copiados para DS:EDI. EDI - Índice do destino de dados a copiar (Destination Index). Aponta para o destino dos dados a serem copiados de DS:ESI. ESP - Apontador da Pilha (Stack Pointer). Aponta para o topo da pilha (endereço mais baixo dos elementos da pilha). EBP - Apontador da base do frame (registro de ativação). Acesso a argumentos de procedimentos passados pela pilha.
25 Registradores de propósito específico do 80386
26 Registradores de segmento CS - Segmento do Código DS - Segmento de Dados ES - Segmento com dados extra FS - Segmento com mais dados GS - Segmento com ainda mais dados SS - Segmento da Pilha (Stack) Segmentos não existem em praticamente mais nenhuma arquitetura, exceto x86, pois segmentos existiam para contornar a limitação do espaço virtual Os compiladores geralmente optam por ignorar os segmentos e os SOs modernos para x86 (incluindo o Windows e o Linux) tipicamente fazem todos os registradores de segmento apontar para o mesmo segmento de 4GB, exceção aos registradores FS e o GS, que são usados para isolar as seções de dados das diferentes threads de um mesmo processo As outras arquiteturas utilizam registradores especiais chamados registradores de thread para esse efeito, os quais não existem no x86
27 Registrador das flags (EFLAGS) Armazena códigos de condições setadas por operacões lógicas e aritméticas. As condições das flags podem ser testadas por instruções específicas Utilizar um método convencional para acessar este registrador produz um erro do montador (assembler), pois o x86 não fornece nenhuma forma de acesso direto ao registrador das flags Para modificar ou ler o eflags Necessário utilizar a instrução pushf (16 bits) ou pushaf (32 bits)
28 Referências bibliográficas Computer Systems - A Programmer s Perspective (Cap.3) pt.wikipedia.org/wiki/x86
Arquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código
Leia maisNível da Arquitetura do Conjunto das Instruções
Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura
Leia maisNível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo
Nível da Arquitetura do Conjunto de Instruções Ronaldo de Freitas Zampolo Tópicos Introdução Visão geral do nível ISA Tipos de dados Formatos de instruções Endereçamento Tipos de instruções Fluxo de controle
Leia maisComputadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Leia maisOrganização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores
Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos
Leia maisUniversidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel
Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Processadores 8086 Registradores: 16 bits 1978 Data bus:
Leia maisSistemas de Computação
Sistemas de Computação Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo Gambini Santos Sistemas de Computação 1/30 Assembly
Leia maisComputadores de Programação (DCC/UFRJ)
Computadores de Programação (DCC/UFRJ) Aula 14: 04 de junho de 2013 1 2 ...antigamente.. No início da Computação, todos os programas eram escritos em linguagem de montagem Complexidade, propenso a erros,
Leia maisAULA 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 maisAntes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções
Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA 8 Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos:
Leia maisCPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados
CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)
Leia maisSistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly
Sistemas de Computação para Controle e Automação CIC132 Décima quarta aula: Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo
Leia maissumário 1 bases numéricas 1 2 sistemas de numeração em computação introdução representação de números... 3
sumário 1 bases numéricas 1 1.1 introdução... 2 1.2 representação de números... 3 1.3 transformação entre bases... 4 1.3.1 método polinomial...4 1.3.2 método de subtrações...5 1.3.3 método das divisões...6
Leia mais2º Estudo Dirigido CAP 3
2º Estudo Dirigido CAP 3 1. Cite três exemplos de aspecto na definição e implementação de uma arquitetura que são influenciados pelas características do conjunto de instruções? R.: Operações lógicas e
Leia maisUnidade de Controle. UC - Introdução
Unidade de Controle Prof. Alexandre Beletti (Cap. 3 Weber, Cap.8 Monteiro, Cap. 10,11 Stallings) UC - Introdução Para gerenciar o fluxo interno de dados e o instante em que ocorrem as transferências entre
Leia maisOrganizaçã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 maisLinguagem de Montagem e Assembly. André Luiz da Costa Carvalho
Linguagem de Montagem e Assembly André Luiz da Costa Carvalho Linguagem de Montagem Todo programa para ser executado precisar ser convertido de linguagem fonte (alto nível) para um programa equivalente
Leia maisORGANIZAÇÃO DE COMPUTADORES
ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015
Leia maisConjunto 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 maisIntrodução à Organização de Computadores. Aula 8
SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo
Leia maisWilliam 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 maisENGENHARIA DE SISTEMAS MICROPROCESSADOS
ENGENHARIA DE SISTEMAS MICROPROCESSADOS PROF. PIERRE VILAR DANTAS AULA 10 01/11/2017 TURMA: 0040- A HORÁRIO: 4N PIERREDANTASBLOG.WORDPRESS.COM 1/43 Objetivos da Aula Conhecer conceitos de processadores
Leia maisMICROPROCESSADORES. Aula 10
MICROPROCESSADORES Aula 10 Conteúdo 1. O QUE É UM PROCESSADOR? 2. HISTÓRICO 3. COMPONENTES 4. INFORMAÇÕES IMPORTANTES 5. LINHA DE PROCESSADORES DA INTEL 6. LINHA DE PROCESSADORES DA AMD 7. REFERÊNCIAS
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 maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisConjunto 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 maisNo. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).
Cap2.1 2. Arquitetura do microprocessador 8086 2.1 A família Intel iapx86 (ou 80X86) Processador Co-proc. Ano de introdução No. de bits No. de transistores Velocidade (MHz) 4004-1971 4 2.205-8008 - 1972
Leia maisProgramando em Assembly
Programando em Assembly precisa-se saber exatamente como interpretar & gerenciar a memória e como usar instruções de baixo nível para o processamento Não existem tipos e variáveis (apenas bytes na memória)
Leia mais25/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 maisESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade
ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro do Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero
Leia maisWilliam Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU
William Stallings Organização de computadores digitais Capítulo 11 Estrutura e função da CPU Encruzilhada na arquitetura de computadores 2004/2005 Antiga opinião Nova visão a energia é de graça, os transistores
Leia maisArquitetura de Computadores Aula 11 - Multiprocessamento
Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.
Leia maisFundamentos de Programação
Fundamentos de Programação ET42G Aula 2 Prof. Daniel Cavalcanti Jeronymo Fundamentos de computação. Linguagens de alto nível. Compilador/Interpretador. História e Introdução a C. Universidade Tecnológica
Leia maisSSC304 Introdução à Programação Para Engenharias
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Estrutura de um Computador GE4 Bio GE4Bio Grupo de Estudos
Leia maisUniversidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC
Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I RISC versus CISC Gabriel P. Silva 04.11.2014 Introdução Um dos objetivos de uma arquitetura de
Leia maisORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES
ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES Prof. Dr. Daniel Caetano 2014-1 Lembretes Recordar a organização interna da CPU Conhecer os registradores de controle Apresentar o ciclo de
Leia maisLinguagem de Montagem Assembly
Linguagem de Montagem Assembly Especificações O programa em Assembly Fica sobre a camada do Sistema Operacional Efetua chamadas ao Sistema Operacional O montador Chama-se Assembler Traduz a linguagem de
Leia maisOrganizaçã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 maisOrdem de Bytes: Big Endian e Little Endian
Ordem de Bytes: Big Endian e Little Endian Dependendo da máquina que se usa, tem de se considerar a ordem pela qual os números constituídos por múltiplos bytes estão armazenados. As ordem são duas: big
Leia maisAula 10 Processadores de Propósito Geral
Aula 10 Processadores de Propósito Geral Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 O que é um microprocessador? Máquina
Leia maisMSP430 - Arquitertura
Curso Técnico de Nível Médio Integrado Eletrônica - 8o Período Disciplina de Microcontroladores 2 (EL08D) Professor Gabriel Kovalhuk Email: kovalhuk@utfpr.edu.br Página pessoal: http://paginapessoal.utfpr.edu.br/kovalhuk
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. Dr. Daniel Caetano 2011-2 Lembretes Compreender a função da unidade de controle Apresentar o ciclo
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação
Leia mais3. Unidade Central de Processamento
3. Unidade Central de Processamento Um microprocessador é um chip responsável por buscar e executar instruções e dados existentes na memória RAM. Vai de regra as instruções são bastante simples, como por
Leia maisA linguagem ASSEMBLY
A linguagem ASSEMBLY Assembly é uma linguagem de baixo nível, chamada freqüentemente de linguagem de montagem É uma linguagem considerada difícil, principalmente porque o programador precisa conhecer a
Leia maisArquitetura 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 maisCONJUNTO 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 maisIntrodução à Computação: Arquitetura von Neumann
Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisOrganizaçã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 maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 5 Introdução A Unidade de Controle O Ciclo de Instrução
Leia mais14/3/2016. Prof. Evandro L. L. Rodrigues
SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Conceito de família IBM System/360 1964 DEC PDP-8 Separa arquitetura de implementação Unidade de controle microprogramada Idéia de Wilkes 1951 Produzida pela IBM S/360
Leia maisMATA49 Programação de Software Básico
MATA49 Programação de Software Básico Leandro Andrade leandrojsadcc.ufba.br PROF. LEANDRO ANDRADE 1 Arquitetura dos processadores Intel PROF. LEANDRO ANDRADE 2 Um pouco de história... Como sabemos
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. MSc. Tiago Alves de Oliveira Lembretes Compreender a função da unidade de controle Apresentar o ciclo
Leia maisRegistradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.
Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Esses espaços são parecidos com variáveis de uma linguagem de programação de alto nível, onde se guarda
Leia maisOrganização de computadores. Aula 05
Organização de computadores Aula 05 2 Níveis de um computador Computadores possuem uma série de níveis Cada um construído sobre seus antecessores Cada um representa uma abstração distinta com diferentes
Leia maisSEL-433 APLICAÇÕES DE MICROPROCESSADORES I
SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas
Leia maisAula 2 - Programação de Computadores - CI208 1/21
Aula 2 - Programação de Computadores - CI208 Professor: Leonardo Gomes leonardog@inf.ufpr.br Universidade Federal do Paraná Brazil 2016 - Segundo semestre Aula 2 - Programação de Computadores - CI208 1/21
Leia maisOrganizaçã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 maisO 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 maisMicroprocessadores. Família x86 - Evolução
Família x86 - Evolução António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt i8086 16 bits de dados 20 bits de endereços 1MByte Clock 2 [4,8] MHz i80286 24 bits de endereço
Leia maisAJProença, Sistemas de Computação, UMinho, 2017/18 1
Introdução aos Sistemas de Computação (3) 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 maisComputadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.
O uso do computador Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. Exemplos: Modelos meteorológicos. Cálculo estrutural.
Leia maisArquiteturas RISC e CISC. Adão de Melo Neto
Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções
Leia maisConjunto 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 maisArquitetura do SET de instruções Instruction SET. CISC vs RISC. What s assembly as to do with it?
Arquitetura do SET de instruções Instruction SET CISC vs RISC What s assembly as to do with it? Low-level - high-level programming language Assambley CODE section.text global _start ;must be declared for
Leia maisArquitecturas 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 maisAlgoritmos Computacionais
UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE
Leia maisMicroprocessadores CPU. Unidade de Controle. Prof. Henrique
Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um
Leia maisArquitetura 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 maisCPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3
CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas
Leia maisARQUITETURA 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 maisArquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação
1998-2010 - Volnys Bernal 1 1998-2010 - Volnys Bernal 2 Agenda Revisão: Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Arquitetura Geral Espaço de Endereçamento Processador e s Laboratório
Leia maisOrganização de Computadores 1
Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento
Leia maisGetting Started. Pedro Garcia de Janeiro de Assembly Working Party
Pedro Garcia http://www.sawp.com.br 22 de Janeiro de 2010 Assembly Working Party Laboratório de Cálculos Científicos, Instituto de Física, Universidade de Brasília, Brasil Motivação Tópicos 1 Motivação
Leia maisSistemas Operacionais João Bosco T. Junior. Sistemas Operacionais João Bosco Junior - V1.3
João Bosco T. Junior Apresentação da Disciplina Bibliografia Sistemas Operacionais Modernos (3ª Ed.) Ed Prentice Hall, A. S. Tanenbaum Sistemas Operacionais (3ª Ed.) Sagra Luzzatto, Rômulo, Alexandre e
Leia maisARQUITETURA 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 maisperiféricos: interfaces humano-computador (HCI) arquivo de informação comunicações
Introdução aos Sistemas de Computação (6) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3.
Leia maisUnidade Central de Processamento 2. Registradores
Unidade Central de Processamento 2 Registradores Conceitos Fundamentais Arquitetura da CPU Unidade de Controle Registradores Barramento interno Unidade lógica e Aritmética Registradores Conjunto de unidades
Leia maisCOMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto
COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais
Leia maisEstrutura do tema ISA do IA-32
Análise do Instruction Set Architecture (5) x86-64: 64-bit extension to Intel 64: Intel implementation of x86-64 Estrutura do tema ISA do 1. Desenvolvimento de programas no em Linux 2. Acesso a operandos
Leia maisOrganizaçã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 maisProgramação Estruturada
Programação Estruturada Organização de um ambiente computacional Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC
Leia maisIntrodução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisDisciplina: 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 maisSistemas Operacionais. Visão Geral
Sistemas Operacionais P R O F. B R U N O A L B U Q U E R Q U E S C R I G N O L I Visão Geral Organização da Apresentação Introdução Componentes de um Sistema de Computação Conceito de SO Objetivos de um
Leia maisOrganização Básica de Computadores (Parte I)
Instituto Federal de Educação, Ciência e Tecnologia Paraíba Unidade Acadêmica de Informação e Comunicação Curso Superior de Tecnologia em Redes de Computadores Organização Básica de Computadores (Parte
Leia maisARQUITETURA 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 maisMicroprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios
Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisProcessador. Processador
Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador
Leia mais16. Compilação no Linux
16. Compilação no Linux 16.1 Compilador X Interpretador Um código fonte pode ser compilado ou interpretado. Compiladores e interpretadores tratam o código de maneira diferente. Interpretador: Lê o código
Leia maisX86 - Modo Protegido (32bits) Introdução (parte 1)
X86 - Modo Protegido (32bits) Introdução (parte 1) Modo Real (16 bits) x 32 bits Na evolução de 16 bits para 32 bits, necessária para permitir um maior espaço de endereçamento, a Intel não se limitou a
Leia maisProf. 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 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 maisENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003)
William Stallings Computer Organization and Architecture 6 th Edition (2003) ENIAC Primeiro computador de Propósito Geral Electronic Numerical Integrator And Computer Chapter 2 Computer Evolution and Performance
Leia maisArquitectura e Organização de Computadores
Arquitectura e Organização de Computadores (micro-arquitectura) atributos visíveis ao programador: I.S.A. tamanho da palavra (bits) registos Componentes que realizam a arquitectura: organização do CPU
Leia maisIntrodução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)
Introdução Arquitetura de Hardware Introdução (Aula 2) Organização Estruturada de Computadores 01- Monitor 02- Placa-Mãe 03- Processador 04- Memória RAM 05- Placas de Rede, Som, Vídeo, Fax... 06- Fonte
Leia maisInfraestrutura 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