Introdução - Baixo Nvel
12 pág.

Introdução - Baixo Nvel


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