Arquitectura de Computadores Y86 Instruções
|
|
- Vítor Borges Cavalheiro
- 6 Há anos
- Visualizações:
Transcrição
1 Arquitectura de Computadores Y86 Instruções Créditos Randal E. Bryant António Pina e Luís Paulo Santos DI/UM
2 Arquitectura do Jogo de Instruções Linguagem de montagem Estado do processador Registos, memória, Instruções addl, movl, leal, Codificação da instruções Níveis de Abstracção Superior: como programar Execução sequencial Inferior: requisitos Técnicas execução rápida Múltiplas instruções Programa de Aplicação Compilador SO Jogo de Instruções Desenho de CPU Desenho de Circuitos Arranjo de Integrado António Pina e Luís Paulo Santos DI/UM 2
3 Y86 - Estado do Processador Registos Programa %eax %ecx %edx %ebx %esi %edi %esp %ebp Códigos condição OF ZF SF PC Memória Registos de Programa Os mesmos (8) do IA32 (32 bits) Códigos de Condição Instruções aritméticas e lógicas Condição de bit - simples» OF: Transbordo ZF: Zero SF: Negativo Contador de Programa Endereço da próxima instrução Memória Sequência de octetos endereçáveis Ordem little-endian António Pina e Luís Paulo Santos DI/UM 3
4 Y86 - Instruções António Pina e Luís Paulo Santos DI/UM 4
5 Y86 - Jogo de Instruções Octeto nop 0 0 halt 1 0 rrmovl ra, rb 2 0 ra rb irmovl V, rb rb V rmmovl ra, D(rB) 4 0 ra rb D mrmovl D(rB), ra 5 0 ra rb D OPl ra, rb 6 fn ra rb jxx Dest 7 fn Dest call Dest 8 0 Dest ret 9 0 pushl ra A 0 ra 8 popl ra B 0 ra 8 addl 6 0 subl 6 1 andl 6 2 xorl 6 3 jmp 7 0 jle 7 1 jl 7 2 je 7 3 jne 7 4 jge 7 5 jg 7 6 António Pina e Luís Paulo Santos DI/UM 5
6 Y86 - Instruções 1 a 6 octetos de informação lidos da memória Leitura do 1º octeto determina o comprimento da instrução Esquema de codificação mais simples que o IA32 Menos tipos de instruções Acedem e modificam partes do estado do programa António Pina e Luís Paulo Santos DI/UM 6
7 Codificação dos Registos ID 4 bits para identificação Mesmo formato que o IA32 ID = 8 para não registo Utilizada em múltiplas fases do projecto do processador %eax %ecx %edx %ebx %esi %edi %esp %ebp António Pina e Luís Paulo Santos DI/UM 7
8 Exemplo de Instrução Instrução de adição Forma Genérica addl ra, rb 6 0 ra rb Codificação Soma o valor no registo ra com o valor no registo rb Guarda o resultado no registo rb Operandos e resultados no Y86 apenas em registos Ajuste dos códigos de condição baseado no resultado e.g., addl %eax,%esi Codificação: Codificação em dois octetos 1. Tipo de instrução 2. Registos na origem e no destino António Pina e Luís Paulo Santos DI/UM 8
9 Operações Lógicas e Aritméticas Código Instrução Código Função Soma addl ra, rb 6 0 ra rb Subtração (ra de rb) E subl ra, rb 6 1 ra rb Comummente OPl Apenas diferem no código função Ajuste dos códigos de condição, por efeito lateral andl ra, rb 6 2 ra rb Ou exclusivo xorl ra, rb 6 3 ra rb António Pina e Luís Paulo Santos DI/UM 9
10 Operações Mover rrmovl ra, rb 2 0 ra rb Registo --> Registo irmovl V, rb rb V Imediato --> Registo rmmovl ra, D(rB) 4 0 ra rb D Registo --> Memória mrmovl D(rB), ra 5 0 ra rb D Memória --> Registo Idêntica à instrução movl no IA32 Formato mais simples para endereçar a memória Uso de nomes diferentes para facilitar a distinção António Pina e Luís Paulo Santos DI/UM 10
11 Instruções Mover - Exemplos IA32 Y86 Codificação movl $0xabcd, %edx irmovl $0xabcd, %edx cd ab movl %esp, %ebx rrmovl %esp, %ebx movl -12(%ebp),%ecx mrmovl -12(%ebp),%ecx f4 ff ff ff movl %esi,0x41c(%esp) rmmovl %esi,0x41c(%esp) c movl $0xabcd, (%eax) movl %eax, 12(%eax,%edx) movl (%ebp,%eax,4),%ecx António Pina e Luís Paulo Santos DI/UM 11
12 Instruções de Salto Salto Incondicional jmp Dest 7 0 Dest Salto se Menor ou Igual jle Dest 7 1 Dest Salto se Menor jl Dest 7 2 Dest Salto se Igual je Dest 7 3 Dest Salto se Não Igual jne Dest 7 4 Dest Salto se Maior ou Igual jge Dest 7 5 Dest Salto se Maior jg Dest 7 6 Dest Comummente jxx Apenas diferem no código função Baseadas nas condições de código Idênticas às equivalentes em IA32 Codificam endereços de destino absolutos Diferente do endereço PC-relativo no IA32 António Pina e Luís Paulo Santos DI/UM 12
13 Y86 - Pilha de Programa Endereços Crescentes Base Topo %esp Região de memória com dados de programa Usado no Y86/IA32 para suporte à chamada de funções Topo de pilha em %esp Endereço do elemento no topo Pilha cresce para endereços mais baixos Elemento no topo tem o endereço mais alto da pilha Para inserir elemento diminui-se o apontador de pilha Para retirar elemento incrementase o apontador de pilha António Pina e Luís Paulo Santos DI/UM 13
14 Operações na Pilha pushl ra a 0 ra 8 Diminui %esp (- 4) Salvaguarda ra no endereço em %esp Idêntico ao IA32 popl ra b 0 ra 8 Retira palavra da memória em %esp Salvaguarda em ra Incrementa %esp (+ 4) Idêntico ao IA32 António Pina e Luís Paulo Santos DI/UM 14
15 Chamada/Retorno de Sub-rotina call Dest 8 0 Dest Insere endereço da próxima instrução na pilha Inicia execução de instruções em Dest Idêntico ao IA32 ret 9 0 Retirar valor da pilha Usado como endereço para a próxima instrução Idêntico ao IA32 António Pina e Luís Paulo Santos DI/UM 15
16 Miscelânea de Instruções nop 0 0 Não faz nada halt 1 0 Termina a execução de instruções O IA32 tem uma instrução comparável, mas não pode ser executada em modo utilizador Usada para parar o simulador António Pina e Luís Paulo Santos DI/UM 16
17 Y86 - Escrita de Código Usar o compilador C quanto Possível Escrever código em C Compilar para IA32 usando gcc -S Transcrever para Y86 Exemplo de Codificação Descobrir o número de elementos de uma lista terminada por nulo int len1(int a[]); a António Pina e Luís Paulo Santos DI/UM 17
18 Y86 - Geração de Código - Exemplo #1 Começar por Usar código com listas /* Encontrar o número de elementos de uma lista terminada por nulo */ int len1(int a[]) { int len; for (len = 0; a[len]; len++) ; return len; } Problema Difícil indexar no Y86 Porque não tem modos de endereçamento indexáveis e escaláveis L18: incl %eax cmpl $0,(%edx,%eax,4) jne L18 Compilar com gcc -O2 -S António Pina e Luís Paulo Santos DI/UM 18
19 Y86 - Geração de Código - Exemplo #2 Em seguida Usar código com apontadores /* Encontrar o número de elementos de uma lista terminada por nulo */ int len2(int a[]) { int len = 0; while (*a++) len++; return len; } Resultado Prescindir de indexação L24: movl (%edx),%eax incl %ecx L26: addl $4,%edx testl %eax,%eax jne L24 Compilar com gcc -O2 -S António Pina e Luís Paulo Santos DI/UM 19
20 Y86 - Geração de Código - Exemplo #3 Código IA32 Arranque CódigoY86 Arranque len2: pushl %ebp xorl %ecx,%ecx movl %esp,%ebp movl 8(%ebp),%edx movl (%edx),%eax jmp L26 len2: pushl %ebp # Salva %ebp xorl %ecx,%ecx # len = 0 rrmovl %esp,%ebp # define limites mrmovl 8(%ebp),%edx# Obtém a mrmovl (%edx),%eax # Obtém *a jmp L26 # Salta para L26 António Pina e Luís Paulo Santos DI/UM 20
21 Y86 - Geração de Código - Exemplo #4 Código IA32 Ciclo + Ajuste Código Y86 Ciclo + Ajuste L24: movl (%edx),%eax incl %ecx L26: addl $4,%edx testl %eax,%eax jne L24 movl %ebp,%esp movl %ecx,%eax popl %ebp ret L24: mrmovl (%edx),%eax # Obtém *a irmovl $1,%esi addl %esi,%ecx # len++ L26: # Entrada: irmovl $4,%esi addl %esi,%edx # a++ andl %eax,%eax # *a == 0? jne L24 # Sai-ciclo rrmovl %ebp,%esp # Ajusta rrmovl %ecx,%eax # Retn len popl %ebp ret António Pina e Luís Paulo Santos DI/UM 21
22 Y86 Estrutura de Programa.pos 0x0 irmovl Stack,%esp rrmovl %esp,%ebp irmovl List,%edx pushl %edx call len2 halt.align 4 List:.long 5043.long 6125.long 7395.long 0 # Função len2:... # Aloca espaço para a pilha.pos 0x100 Stack: # Início código # Inicia pilha # Delimita função # Insere argumento # Chama Funcão # Pára # Elementos Início do código Definir pilha Não sobrepor com código Definir os dados Podem usar-se nomes simbólicos António Pina e Luís Paulo Santos DI/UM 22
23 Y86 Simulação de Programa unix> yis eg.yo Simulador de jogos de instruções Calcula o efeito de cada instrução no estado do programa Mostra as mudanças de estado relativas ao estado inicial Stopped in 41 steps at PC = 0x16. Exception 'HLT', CC Z=1 S=0 O=0 Changes to registers: %eax: 0x x %ecx: 0x x %edx: 0x x %esp: 0x x000000fc %ebp: 0x x %esi: 0x x Changes to memory: 0x00f4: 0x x x00f8: 0x x x00fc: 0x x António Pina e Luís Paulo Santos DI/UM 23
24 Y86 Montagem de Programa unix> yas eg.ys Gera código objecto saída para eg.yo Resultado idêntico a saída de desmontagem (gas) 0x000: # Início código 0x000: irmovl Stack,%esp # Inicia pilha 0x006: 2045 rrmovl %esp,%ebp # Delimita função 0x008: irmovl List,%edx 0x00e: a028 pushl %edx # insere argumento 0x010: call len2 # Chama Função 0x015: 10 halt # Pára 0x018:.align 4 0x018: List: # Elementos 0x018: b long x01c: ed long x020: e31c0000.long x024: long 0 António Pina e Luís Paulo Santos DI/UM 24
25 Simulador - Controlo António Pina e Luís Paulo Santos DI/UM 25
26 Simulador Execução Vista da execução Vista da Memória António Pina e Luís Paulo Santos DI/UM 26
27 CISC - Jogos de Instruções Computadores com Jogos Complexos de Instruções Modelo dominante até meados dos anos 80 Jogos de instruções orientados à pilha Pilha usada para passar argumentos e salvaguardar o contador de programa Instruções de inserção e extracção explícita da pilha Instruções aritméticas ticas com acesso à memória addl %eax, 12(%ebx,%ecx,4) Implica a leitura e escrita da memória Cálculos complexos de endereços Códigos de condição Resultantes da execução de instruções aritméticas e lógicas Filosofia Juntar instruções para efectuar tarefas típicas de programação António Pina e Luís Paulo Santos DI/UM 27
28 RISC Jogos de Instruções Computador com Jogos Reduzidos de Instruções Projecto Interno da IBM - Hennessy and Patterson Menos instruções e mais simples Podem requerer mais tempo para efectuar uma tarefa Podem ser executadas por menos recursos e mais rapidamente Jogos de instruções orientados ao registo Mais registos (tipicamente 32) Para argumentos, valores temporários e de retorno Acesso à memória apenas para instruções ler/escrever Semelhante às instruções mrmovl e rmmovl no Y86 Não háh lugar para códigos c de condição Instruções de prova retornam valor 0/1 em registo António Pina e Luís Paulo Santos DI/UM 28
29 CISC vs. RISC Debate Original Opiniões radicalizadas CISC --- facilidades para compiladores, menos código RISC --- vantagem para compiladores optimizados que podem fazer correr mais rápido apesar do hardware simples Status Actual Nos processadores de secretária a escolha do ISA não é uma questão técnica Com hardware capaz tudo pode ser executado mais depressa O mais importante é a compatibilidade do código RISC projecto significativo em processadores embebidos Mais pequenos, mais barato e menor consumo potência António Pina e Luís Paulo Santos DI/UM 29
30 Discussão Y86 Arquitectura do Jogo de Instruções Estado e instruções similares ao IA32 Codificação simplificada A meio caminho entre os modelos CISC e RISC ISA Instruction Set Architecture (anglo-saxónico) Quão Importante é o Projecto ISA? Menor que no passado Com hardware capaz é sempre possível obter velocidade Intel está a repensar o IA32 Incompatível com a execução paralela Introdução do IA64» 64-bits para ultrapassar as limitações de endereçamento» Jogo de instruções com paralelismo explícito» Requer compiladores sofisticados António Pina e Luís Paulo Santos DI/UM 30
Arquitectura de Computadores Y86 Sequencial. Créditos Randal E. Bryant http://csapp.cs.cmu.edu
Arquitectura de Computadores Y86 Sequencial Créditos Randal E. Bryant http://csapp.cs.cmu.edu Y86 - Jogo de Instruções Octeto 0 1 2 3 4 5 nop 0 0 halt 1 0 rrmovl ra, rb 2 0 ra rb irmovl V, rb 3 0 8 rb
Leia maisArquitetura de Computadores. Prof. João Bosco Jr.
Arquitetura de Computadores Prof. João Bosco Jr. Unidade II Aula 1 Nível ISA Posicionado entre a microarquitetura e o SO Define a arquitetura (Conjunto de Instruções) É a interface entre o Software e o
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 maisT1: T2: T3: T4: T5: T6: T7: T: P: TEÓRICA
T1: T2: T3: T4: T5: T6: T7: T: P: Arquitectura de Computadores I - 2002/03 TEÓRICA As questões devem ser respondidas na própria folha do enunciado. As questões 1 a 4 são de escolha múltipla, e apenas uma
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 maisConjunto de Instruções e Arquitectura p.1
Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização
Leia maisSistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br
Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico
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 maisARQUITETURA DE COMPUTADORES INTRODUÇÃO
CURSO TÉCNICO DE REDES DE COMPUTADORES Disciplina de Arquitetura de Computadores Juliana Cristina dos Santos ARQUITETURA DE COMPUTADORES INTRODUÇÃO Processamento de Dados Computador máquina capaz de coletar,
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 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 maisHow to write Shellcodes por Luiz Fernando Camargo
How to write Shellcodes por Luiz Fernando Camargo 1. Introdução Shellcode é um grupo de instruções assembler em formato de opcode para realizar diversas funções como chamar uma shell, ou escutar em uma
Leia maisArquitectura de Computadores II. Medição de desempenho
Arquitectura de Computadores II LESI - 3º Ano Medição de desempenho João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Abril 2002 1. Introdução A medição de desempenho pretende
Leia maisConjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas
Conjunto de instruções O Conjunto de Instruções ISA Instruction Set Architecture Alguns conceitos... Linguagem máquina Combinação de 0 s e 1 s organizados segundo palavras que são as instruções que o processador
Leia maisO Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel
O Nível ISA Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel Nível ISA (Instruction Set Architecture) Tipos de dados Inteiros (1, 2, 4 ou 8 bytes) Servem também para representar
Leia mais10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções...
10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10 4 10. CPU (CENTRAL PROCESSOR UNIT) Como vimos no capítulo
Leia maisFundamentos de Programação. Diagrama de blocos
Fundamentos de Programação Diagrama de blocos Prof. M.Sc.: João Paulo Q. dos Santos E-mail: joao.queiroz@ifrn.edu.br Página: http://docente.ifrn.edu.br/joaoqueiroz/ O processo de desenvolvimento (programação),
Leia maisMICROPROCESSADORES. Arquitectura do Conjunto de Instruções. Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico
MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções Unidade Central
Leia maisArquitectura de Computadores
Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento
Leia maisHardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização
Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de
Leia maisDo alto-nível ao assembly
Do alto-nível ao assembly Compiladores Cristina C. Vieira 1 Viagem Como são implementadas as estruturas computacionais em assembly? Revisão dos conceitos relacionados com a programação em assembly para
Leia maisSIS17 - Arquitetura de Computadores
SIS17 - Arquitetura de Computadores Organização Básica B de Computadores (Parte I) Organização Básica B de Computadores Composição básica b de um Computador eletrônico digital Processador Memória Memória
Leia maisBuffer Overflow e Mecanismos de Defesa
Buffer Overflow e Mecanismos de Defesa Alex Van Margraf Especialização em Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, fevereiro de 2013 Resumo Este artigo é o resultado
Leia mais28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86
Arquitetura de Computadores Arquitetura dos Processadores Intel 80x86 Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Família Intel 80x86 Ao se falar
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 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 maisModos de entrada/saída
Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Modos de entrada/saída Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo
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 maisOganização e Arquitetura de Computadores
Oganização e Arquitetura de Computadores Capítulo 14 e 15 Unidade de Controle Parte I Operação da Unidade de Controle 1 Micro-Operações Um computador executa um programa Ciclo: Busca/Executa Cada ciclo
Leia maisProgramação ao nível da máquina. Operações lógicas e aritméticas
Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic
Leia maisAssembly na arquitetura IA-32 com NASM no Linux
Assembly na arquitetura IA-32 com NASM no Linux Prof. Dr. Luciano José Senger 1 Introdução A Figura 1 mostra os registradores principais para a arquitetura IA-32. Essa arquitetura trabalha com palavras
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 maishttp://www.ic.uff.br/~boeres/fac.html! Conteúdos: Debora, Edcarllos, livros! slides disponíveis!
http://www.ic.uff.br/~boeres/fac.html! 1 Conteúdos: Debora, Edcarllos, livros! slides disponíveis! Unidade central de Processamento realiza operações básicas codificadas em 0s e 1s instrução contém código
Leia maisDepois do estudo deste capítulo, o estudante deve ser capaz de:
1 Introdução 1.1 Objetivos: Depois do estudo deste capítulo, o estudante deve ser capaz de: Definir o modelo de Turing de um computador; Definir o modelo de von Neumann do computador; Descreve os três
Leia maisFlávia Rodrigues. Silves, 26 de Abril de 2010
Flávia Rodrigues STC5 _ Redes de Informação e Comunicação Silves, 26 de Abril de 2010 Vantagens e Desvantagens da Tecnologia Acessibilidade, quer a nível pessoal quer a nível profissional; Pode-se processar
Leia maisNotas de Aula Guilherme Sipahi Arquitetura de Computadores. Arquitetura de von Neumann
Notas de Aula Guilherme Sipahi Arquitetura de Computadores Burks, Goldstine e von Neumann (1946): Arquitetura de von Neumann Concluído em 1952 - IAS (Institute for Advanced Studies) Computer Na proposta
Leia maisLista de Exercícios 1
Conceitos envolvidos: a) Memória de Dados (interna e externa) b) Memória de Programa (interna e externa) c) Operações aritméticas e lógicas d) Portas e) Endereçamento a Bit f) Contadores e Temporizadores
Leia maisArquitetura e Organização de Computadores. Histórico. Gerações
Histórico Gerações 00001 As gerações dos computadores Os computadores são máquinas capazes de realizar vários cálculos automaticamente, além de possuir dispositivos de armazenamento e de entrada e saída.
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 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 maisIntrodução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16
Introdução aos Computadores Introdução à Ciência de Computadores Nelma Moreira Departamento de Ciência de Computadores da FCUP Outubro 2011 Introdução aos Computadores Introdução à Ciência de Computadores
Leia maisMODELO DE S.O. DEFINIÇÕES
MODELO DE S.O. Organização em camadas A: hardware B: núcleo (kernel) drivers, gerenciador de tarefas, controlador de interrupções, gerenciador de memória C: Gerenciador de arquivos e controle de I/O D:
Leia maisLinguagem de Montagem Funcionamento de CPU e Assembly Rudimentar
Componentes de um Computador (5) Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/01 - INF02597 Com slides de Roberta Lima Gomes
Leia maisFundamentos de Arquitetura e Organização de Computadores
Fundamentos de Arquitetura e Organização de Computadores Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e Organização de computadores. O termo arquitetura refere-se
Leia maisMestrado em Informática
Sistemas de Computação e Desempenho Understanding Performance Mestrado em Informática 2010/11 A.J.Proença Tema Revisitando os Sistemas de Computação (2) Algorithm Determines number of operations executed
Leia maisIntrodução à Informática
Introdução à Informática Alexandre Meslin (meslin@nce.ufrj.br) Objetivo do Curso Apresentar os conceitos básicos de informática, de software e de hardware. Introduzir os conceitos relativos à representação
Leia maisConteúdo programático
Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha
Leia maisData Path / Control Path Controle do MIPS
Organização e Arquitetura de Computadores Unidade de Controle Uniciclo A unidade de controle deve, a partir do código da instrução, fornecer os sinais que realizam as instruções na unidade operativa. Sequência
Leia maisControlador de DMA. Gustavo G. Parma
Controlador de DMA Gustavo G. Parma Controlador de DMA Transferência de um dado de um dispositivo I/O para a memória Iniciada pela CPU Transferência efetuada e terminada pelo controlador de DMA CPU pode
Leia maisInteligência Artificial
Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?
Leia maisCAPÍTULO 3 NÍVEL ISA. 3.1 Introdução ao Nível de Arquitetura do Conjunto de Instruções
CAPÍTULO 3 NÍVEL ISA 3.1 Introdução ao Nível de Arquitetura do Conjunto de Instruções O Nível de Arquitetura do Conjunto de Instruções (ISA - Instruction Set Architecture) é a interface entre software
Leia maisOrganização de Computadores 2005/2006 Processadores Intel
Organização de Computadores 2005/2006 Processadores Intel Paulo Ferreira paf a dei.isep.ipp.pt Março de 2006 Pré História 2 8080.............................................................................................
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 maisObjetivos Gerais. Arquitetura de Computadores. Arquiteturas estudadas. O Computador Neander
Objetivos Gerais Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2005 ISA Parte II: Arquiteturas-Exemplo Simuladores e Máquinas Reais Demonstrar os conceitos genéricos
Leia maisProfessor Marcelo Josué Telles Porta LPT, programação, componentes eletrônicos, sistema binário...
Objetivos: - Conhecer a porta paralela LPT (explore as referências!) - Explorar uma linguagem de programação - Montagem de um circuito de comunicação via LPT - Revisão do sistema numérico binário INTRODUÇÃO
Leia maisProcessamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores
1 Processamento de Dados aplicado à Geociências AULA 1: Introdução à Arquitetura de Computadores UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CURSO SUPERIOR DE TECNOLOGIA EM GEOPROCESSAMENTO
Leia maisIntrodução à programação em linguagem assembly
Introdução à programação em linguagem assembly Espaço de endereçamento Instruções de acesso à memória Modos de endereçamento Diretivas Tabelas Pilha Rotinas Arquitetura de Computadores Introdução à programação
Leia mais4-1. Parte2: A Arquitetura do Conjunto de Instruções
4-1 Parte2: A Arquitetura do Conjunto de Instruções 4-2 Bibliografia [1] Miles J. Murdocca e Vincent P. Heuring, Introdução à Arquitetura de Computadores [2] Marcelo Rubinstein Transparências do curso
Leia maisSISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 3ª. Lista de Exercícios Data
Leia maisProjetando um Computador
Objetivo Projetando um Computador Parte II (2) Projetando um Computador Parte II Arquitetura do Processador BIP Apresentar as noções do funcionamento de um computador através da descrição da arquitetura
Leia maisIntrodução. Nível da Linguagem de Montagem. Linguagem de Montagem (2) Linguagem de Montagem (1) Linguagem de Montagem
Nível da Linguagem de Montagem (Aula 15) Linguagem de Montagem Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Introdução Tradutores Programas que convertem um programa
Leia maisExperiência 04: Comandos para testes e identificação do computador na rede.
( ) Prova ( ) Prova Semestral ( ) Exercícios ( ) Prova Modular ( ) Segunda Chamada ( ) Exame Final ( ) Prática de Laboratório ( ) Aproveitamento Extraordinário de Estudos Nota: Disciplina: Turma: Aluno
Leia maisO Processador: Via de Dados e Controle
O Processador: Via de Dados e Controle Ch5A Via de Dados e Controle Implementação da arquitetura MIPS Visão simplificada de uma arquitetura monociclo Instruções de memória: lw, sw Instruções lógicas aritméticas:
Leia maisNivel de Linguagem de Montagem (Assembly)
Nivel de Linguagem de Montagem (Assembly) Orlando Loques setembro 2006 Referências: Structured Computer Organization (capítulo 7), A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization and
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 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 maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Introdução Slide 1 Nielsen C. Damasceno Introdução Tanenbaum (2007) definiu que um sistema distribuído é aquele que se apresenta aos seus usuários como um sistema centralizado, mas
Leia maisConceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1
Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação
Leia mais3 Introdução às chamadas ao sistema
3 Introdução às chamadas ao sistema 3.1 Chamadas ao sistema e à BIOS As chamadas ao sistema ou System Calls consistem nos serviços disponibilizados pelo núcleo do sistema operativo. O principio é semelhante
Leia maisNemesiz Security Group. The Underground For Brazilian Hacking www.nemesiz.forum.st. Tutorial Basico de Assembly Para Linux/i386 (AT&T)
Nemesiz Security Group The Underground For Brazilian Hacking www.nemesiz.forum.st Tutorial Basico de Assembly Para Linux/i386 (AT&T) Title: Tutorial Basico de Linguagem Assembly Para Linux/i386 na sintaxe
Leia maisSoftware Básico. nível de linguagem de montagem (assembly) Tanembaum, capítulo 7
Software Básico nível de linguagem de montagem (assembly) Tanembaum, capítulo 7 Linguagem de montagem (Assembly) Abstração simbólica da linguagem de máquina Traduzida pelo programa assembler Mapeada diretamente
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 maisAula 03. Processadores. Prof. Ricardo Palma
Aula 03 Processadores Prof. Ricardo Palma Definição O processador é a parte mais fundamental para o funcionamento de um computador. Processadores são circuitos digitais que realizam operações como: cópia
Leia maisMicrocontroladores e Microprocessadores
Microcontroladores e Microprocessadores Prof. Alison Lins Microcontrolador Agenda - Histórico da Evolução da Eletrônica - Microprocessadores - Memórias - Microcontroladores - Microcontrolador x Microprocessador
Leia maisDesenho do Processador
Desenho do Processador Lís Nogeira lis@dei.isep.ipp.pt Departamento Engenharia Informática Institto Sperior de Engenharia do Porto Desenho do processador p. Introdção Definindo o seginte sbconjnto da ISA
Leia maisSimulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Leia maisComponentes de um Computador: Modelo Von Neumann
Componentes de um Computador: Modelo Von Neumann Modelo de Von Neumann O nome refere-se ao matemático John Von Neumann que foi considerado o criador dos computadores da forma que são projetados até hoje.
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 maisEstrutura do tema ISC
Introdução aos Sistemas de Computação (3) num computador (1) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. num computador 4. O
Leia maisAssembly para o Assemblador da GNU Arquitectura Intel IA-32. Versão 0.4
Assembly para o Assemblador da GNU Arquitectura Intel IA- Versão 0.4 Filipe Machado de Araújo Outubro de 2005 Assembly para o Assemblador da GNU Arquitectura Intel IA- Versão 0.4 UNIVERSIDADE DE LISBOA
Leia mais1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18
ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados
Leia maisLógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto
Lógica de Programação Profas. Simone Campos Camargo e Janete Ferreira Biazotto O curso Técnico em Informática É o profissional que desenvolve e opera sistemas, aplicações, interfaces gráficas; monta estruturas
Leia maisOperadores lógicos (bit a bit)
Operadores lógicos (bit a bit) Instrução AND Instruções: AND OR XOR NOT Os operandos destas instruções podem ser de 8 ou 16 bits 10010011
Leia maisMicroprocessadores. Memórias
s António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Arquitectura de Microcomputador Modelo de Von Neumann Barramento de Endereços µprocessador Entrada/Saída Barramento
Leia maisTECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I
TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 02: Organização e Arquitetura de Computadores / Lógica Digital (Parte I) O conteúdo deste documento tem por objetivo
Leia maisO hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware
1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador
Leia maisArquitectura de um Sistema PC
Arquitectura de um Sistema PC MotherBoard Processadores Memórias (RAM e SRAM) Realizado Por: Rafael Pais Gisela Silva 1º E.I Índice: 1 MotherBoard 1.1 - Introdução... 3 1.2 Como Tudo Começou... 3 1.3 Constituição
Leia mais34 dígitos 28 dígitos 62 dígitos significativos! (base 10!)
Programação ao nível da máquina Representação de números em vírgula flutuante Programação da unidade de vírgula flutuante no IA-32 A arquitectura Intel IA-32 na sua totalidade Representação de números
Leia maisx86 Assembly Mini-Course
x86 Assembly Mini-Course Part 1 Bruno P. Evangelista bpevangelista@gmail.com Introdução Assembly é uma linguagem de programação de baixo nível em formato mnemonico Ela possibilita trabalhar diretamente
Leia maisProgramação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009
Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome
Leia maisO processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.
O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);
Leia maisOFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO
OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Evolução dos processadores Arquitetura
Leia maisTESTES SOCIOMÉTRICOS
TESTES SOCIOMÉTRICOS Docente: Mestre Mª João Marques da Silva Picão Oliveira TESTES SOCIOMÉTRICOS * O Teste Sociométrico ajuda-nos a avaliar o grau de integração duma criança/jovem no grupo; a descobrir
Leia maisPrimeiro nível desenvolvido, historicamente Atualmente existente entre o nível da microarquitetura e do sistema operacional
Capítulo 5 Nível ISA Primeiro nível desenvolvido, historicamente Atualmente existente entre o nível da microarquitetura e do sistema operacional Compatibilidade com os níveis ISA anteriores!! => Pressão
Leia maisIntrodução. Modelo de um Sistema de Comunicação
I 1 Comunicação de Dados e Redes de Computadores Introdução FEUP/DEEC/CDRC I 2002/03 MPR/JAR Modelo de um Sistema de Comunicação» Fonte gera a informação (dados) a transmitir» Emissor converte os dados
Leia maisALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS
ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS Algoritmos e Complexidade 1 Plano Problemas e algoritmos. Estrutura de um algoritmo e dados manipulados. Métodos algorítmicos para resolução de problemas.
Leia maisPrimeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna
Execução de um O executa um Quais os seus componentes? Como estes se organizam e interactuam? entrada de dados processador, memória, input bits periféricos,etc bits saída de dados output Primeiros "es"
Leia maisUnidade Central de Processamento
Unidade Central de Processamento heloar.alves@gmail.com Site: heloina.com.br 1 CPU A Unidade Central de Processamento (UCP) ou CPU (Central Processing Unit), também conhecida como processador, é responsável
Leia maisBIOS - Códigos de erro
Durante o boot, o BIOS realiza uma série de testes, visando detectar com exatidão os componentes de hardware instalados no micro. Este teste é chamado de POST, acrônimo de "Power-On Self Test". Os dados
Leia mais