Computadores e Programação (DCC/UFRJ)
|
|
|
- Márcia Andrade Festas
- 9 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 [email protected] Conceitos básicos Linguagem/código
Ní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
Ní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
Computadores 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
Organizaçã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
Universidade 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:
Sistemas 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
AULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
Antes 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:
CPU. 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)
Sistemas 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
2º 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
Unidade 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
Linguagem 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
ORGANIZAÇÃ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
Conjunto de Instruções e Modelos de Arquiteturas
Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira
Introduçã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
William Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções
MICROPROCESSADORES. 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
Evoluçã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
Linguagens 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
Conjunto de Instruções. Alisson Brito
Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas
No. 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
Programando 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)
ESTRATÉ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
William 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
Arquitetura de Computadores Aula 11 - Multiprocessamento
Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br [email protected] 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.
Universidade 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
ORGANIZAÇÃ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
Linguagem 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
Ordem 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
Aula 10 Processadores de Propósito Geral
Aula 10 Processadores de Propósito Geral Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 O que é um microprocessador? Máquina
MSP430 - Arquitertura
Curso Técnico de Nível Médio Integrado Eletrônica - 8o Período Disciplina de Microcontroladores 2 (EL08D) Professor Gabriel Kovalhuk Email: [email protected] Página pessoal: http://paginapessoal.utfpr.edu.br/kovalhuk
ARQUITETURA 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
ORGANIZAÇÃ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 [email protected] Colegiado de Engenharia de Computação
3. 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
A 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
CONJUNTO DE INSTRUÇÕES
CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar
Introdução à Computação: Arquitetura von Neumann
Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
ARQUITETURA 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
14/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
ARQUITETURA 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
Registradores. 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
Organizaçã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
SEL-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
Aula 2 - Programação de Computadores - CI208 1/21
Aula 2 - Programação de Computadores - CI208 Professor: Leonardo Gomes [email protected] Universidade Federal do Paraná Brazil 2016 - Segundo semestre Aula 2 - Programação de Computadores - CI208 1/21
Organização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas
O Funcionamento do Processador
O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O
Microprocessadores. Família x86 - Evolução
Família x86 - Evolução António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal [email protected] i8086 16 bits de dados 20 bits de endereços 1MByte Clock 2 [4,8] MHz i80286 24 bits de endereço
Computadores 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.
Arquiteturas 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
Conjunto de Instruções e Modelos de Arquiteturas
Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira
Arquitetura 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
Algoritmos 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
Microprocessadores 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
Arquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes
CPU. 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
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Arquitetura 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 [email protected] http://www.lsi.usp.br/~volnys Arquitetura Geral Espaço de Endereçamento Processador e s Laboratório
Organizaçã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
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores
perifé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.
Unidade 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
COMPUTADORES 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
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características
Introdução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Disciplina: Arquitetura de Computadores
Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na
Sistemas 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
Microprocessadores 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
Processador. Processador
Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine [email protected] [email protected] 1 Processador Organização básica de um computador: 2 Processador
X86 - 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
Prof. Leonardo Augusto Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados
Introduçã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
ENIAC 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
Introduçã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
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
