Buscar

Introdução - Baixo Nvel

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMAÇÃO EM 
BAIXO NÍVEL
Professor: Leandro Balico
.
Universidade Federal de Roraima
Departamento de Ciência de Computação
DCC501 – Programação Em Baixo Nível
 
PROGRAMAÇÃO EM BAIXO NÍVEL
• Conteúdo
 Organização e Projeto de Computadores - A Interface Hardware/Software, 
J L Hennessy, D A Patterson, 3a edição, Ed Campus
 Capítulo 2: Instruções: a Linguagem do Computador
 
PROGRAMAÇÃO EM BAIXO NÍVEL
• Avaliação
• 1 (uma) Prova Parcial (PP). Assunto: 
• Todo conteúdo
• 1 trabalho prático (TP)
• Montador MIPs em Linguagem C
• Prova final (PF). Todo o assunto. 
• Média Parcial (MP): MP = (PP1 + TP1) / 2
• Média Final (MF): MF = (2 x MP + PF) / 3
 
PROGRAMAÇÃO EM BAIXO NÍVEL
Instruções: A Linguagem do 
Computador
.
 
Instruções
• Introdução
 Para comandar o hardware de um computador é preciso falar a sua língua
 As palavras da linguagem de um computador são chamadas instruções e 
o seu vocabulário chamado conjunto de instruções
 Em síntese, o conjunto de instruções é o vocabulário de comandos 
compreensíveis por uma dada arquitetura de computador
 
Instruções
• Introdução
 Vamos ver o conjunto de instruções de um computador real, na forma 
escrita pelas pessoas e na forma lida pelo computador
 Começaremos com uma notação similar a uma linguagem de programação 
restrita
 refinaremos essa linguagem passo-a-passo, até chegarmos a 
linguagem real do computador
 Veremos o conjunto de instruções MIPS 
 Usaremos o simulador SPIM para experimentar os programas MIPS
 Depois veremos outros dois conjuntos de instruções:
 ARM, popularizado em dispositivos embutidos
 Intel x86, polularizado nos PCs
 
Instruções
• Princípios de Projeto
 As linguagens de computador variam de uma arquitetura para
outra como “dialetos de uma língua”
 Os computadores são construídos a partir de hardware com princípios 
similares
 oferecer um mesmo conjunto de operações básicas
 Um conceito chave é o de programa armazenado: 
 instruções e dados de diferentes tipos podem ser armazenados na 
memória como sequências de números 
 Meta comum dos arquitetos de computador:
 uma linguagem que facilite a construção do hardware e do 
compilador
 maximize desempenho e minimize custo e consumo
 
Operações aritméticas do MIPS
• Instruções add e sub
 A notação MIPS add a,b,c
 instrui o computador a somar as duas varáveis b e c e colocar a 
soma na variável a
 A notação MIPS sub a,b,c 
 instrui o computador a subtrair as duas variáveis b e c e colocar o 
resto na variável a
 A notação é rígida: 
 significa que ela executa apenas uma operação e deve sempre ter 
três variáveis
 Manter um número rígido de operandos está em conformidade com o 
princípio de ter um hardware simples
• Primeiro Princípio de Projeto
 Simplicidade favorece regularidade!
 
Operações aritméticas do MIPS
• Exemplo: somar quatro variáveis (a = b+c+d+e)
•
•
• Observações
 Comentários sempre terminam no final da linha e começam com #
 Cada linha do programa MIPS deve conter apenas uma instrução 
(diferente de linguagens de alto nível como C)
add a,b,c #a soma de b+c está em a
add a,a,d #a soma de b+c+d está em a
add a,a,e #a soma de b+c+d+e está em a
 
Operações aritméticas do MIPS
• Outros Exemplos
•
•
• Exercício
add a,b,c #a soma  b+c está em a
sub d,a,e #a subtração a­e está em d
a=b+c;
d=a­e;
Código em C Código em MIPS
a=b+c;
d=a­e;
Código em C
f=(g+h)­(i+j)
Código em MIPS
Utilize t0 e t1 como temporários
 
Operações aritméticas do MIPS
Código em C
f=(g+h)­(i+j)
Código em MIPS
add t0,g,h   #a soma g+h está em t0
add t1,i,j #a soma i+j está em t1
sub f,t0,t1  #a subtração (g+h)­(i+j) está em f
 
Operações aritméticas do MIPS
• Implementando o Trabalho prático
 A notação MIPS add a,b,c e sub a,b,c 
 Escreva um programa em c para ler um arquivo texto de entrada 
contendo instruções do formato add e sub
 O programa deve ser capaz de reconhecer cada componente das 
instruções.
 opcode add
 registrador destino (rd) a
 Primeiro registrador fonte (rs) b
 segundo registrador fonte (rt) c
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12

Outros materiais