Upload
lilia
View
29
Download
0
Embed Size (px)
DESCRIPTION
Arquitetura e Organização de Computadores 2. Introdução. Abstração. Descendo no nível de abstrações revelam-se outras informações. Objetivos. - PowerPoint PPT Presentation
Citation preview
Arquitetura e Organização de Computadores 2
Introdução
Abstração
• Descendo no nível de abstrações revelam-se outras informações
swap(int v[], int k){int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp;}
swap: muli $2, $5,4 add $2, $4,$2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31
00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000
Binary machinelanguageprogram(for MIPS)
C compiler
Assembler
Assemblylanguageprogram(for MIPS)
High-levellanguageprogram(in C)
Objetivos• Os aluno devem adquirir conhecimentos para a
programação em linguagem Assembly, através do estudo de um microprocessador típico, quanto às suas unidades internas, interface de sistema através dos barramentos de endereço, dados e controle.
• Devem conhecer detalhes das instruções desse microprocessador típico, quanto ao: formato, endereçamento de memória e registradores, codificação, e operações realizadas; bem como do formato das instruções e pseudo-instruções em Assembly; e
• o uso de programas de depuração (debug) e de montagem (assembler).
Ementa • A disciplina deve proporcionar o conhecimento de técnicas de
programação em linguagem Assembly, e para tanto é usado um microprocessador típico para o estudo do seu conjunto de instruções, como exemplo.
• Devem ser apresentados os conceitos de programação em Assembly, quanto aos elementos que compõem um comando, símbolos, rótulos, representação numérica, pseudo-instruções; e ambientes de programação e depuração de linguagem Assembly.
• A programação ao nível de linguagem Assembly deve ser exemplificada para os diversos aspectos de programação tais como, operações aritméticas e lógicas, controle, procedimentos e estruturas de dados, interrupções, exceções e hierarquia de memória, fazendo uma comparação com implementações em linguagem de alto nível.
TópicosOs tópicos a serem abordados são:
1. Introdução aos microprocessadores e sistemas computacionais;
2. Estudo da arquitetura de um microprocessador típico; 3. Representação de programas em linguagem de máquina e
Assembly ; 4. Ambientes de programação e depuração em linguagem
Assembly ; 5. Operações aritméticas e lógicas, controle, procedimentos e
estruturas de dados, em Assembly;6. Interrupções, exceções e hierarquia de memória.
Avaliação
• Nota 1: média de 2 provas (prova1 no meio do semestre e prova2 no final do semestre) (peso 70%)
(podendo uma das notas, de prova substitutiva, a ser realizada no final do semestre).
• Nota 2: exercícios ao longo do semestre (peso 30%)
• Recuperação: 1 prova no início do semestre seguinte com peso 100%
BibliografiaPrincipal:
• Kip Irvine – Assembly Language for Intel-Based Computers, 5th edition. USA, Prentice-Hall, 2007.
Complementares:• David A. Patterson & John L. Hennessy – Computer
Organization & Design – The Hardware/Software Interface, 3rd Ed., Morgan Kaufmann Publishers, USA, 2005.
• John L. Hennessy & David A. Patterson – Computer Architecture – A Quantitative Approach, 3rd Ed., Morgan Kaufmann Publishers, USA, 2003.