Aula | Data | Dia |
Conteúdo | Recurso |
1 |
05/03 |
Qua |
Aula inaugural: apresentação da disciplina (conteúdo, datas, avaliação)
Unidade I: Introdução
- Modelo geral de um computador: a interface Processador-Memória
|
|
2 |
07/03 |
Sex |
- Modelos gerais de organizações de computadores: von Neumann e Harvard
- Classificação das arquiteturas conforme o conjunto de instruções (Ler
HP 2.2 p.67)
- máquina de pilha, máquinas com acumulador, máquinas com conjunto
de registradores (de uso geral) (subdivididas em registrador-memória
e registrador-registrador)
|
|
3 |
12/03 |
Qua |
- Elementos definitórios de uma arquitetura:
- (i) Registradores, (ii)
Modos de Endereçamento, (iii) Conjunto de Instruções, (iv) Formatos
de Instrução, (v) Linguagem de Montagem
- Tipo, quantidade e tamanho de operandos (Ler
HP 2.5 p.77) - Modos
de endereçamento - imediato, direto, base-deslocamento, indexado
- Endereçamento de memória (Ler HP 2.3 p.70)
|
|
4 |
14/03 |
Sex |
- Tipos de operações (Ler HP 2.7 p.79)
- Codificação de instruções (Ler HP 2.10 p.86)
- A função do compilador (Ler HP 2.11 p.89)
- Arquitetura MIPS: características
|
|
5 |
19/03 |
Qua |
Unidade II: Programação em Linguagem de Montagem
- Conjunto de instruções da arquitetura MIPS
- Modos de endereçamento (Ler PH p.85)
- Conjunto de registradores
- Operações registrador-registrador
- Acesso à memória via instruções load/store
- Formato do código objeto
- Exemplo a ser apresentado em aula:
|
|
|
21/03 |
Sex |
FERIADO: Sexta-feira Santa |
|
6 |
26/03 |
Qua |
Programação em linguagem de montagem
do MIPS (1/5)
Leiam um pouco sobre o MIPS na
Wikipedia
- SIMULADOR SPIM - Documentação e tutorial:
- Simulador SPIM - versão para Windows -
spimwin.exe
Instalação (caso não exista grupo PCSPIM for Windows no
Strat Menu --> Programs): (1) salve o simulador em um diretório de trabalho;
(2) execute o instalador; (3) para simular, execute o pcspim.exe;
(4) a primeira vez que se executa o simulador ele pede para achar o arquivo "trap.handler" que se encontra no diretório de instalação do SPIM.
- Apêndice A de PH - documentação do processador MIPS
-
cod-appa.pdf
- Simulador SPIM - documentação introdutória -
spimwin.pdf
- Simulador SPIM - documentação mais completa -
spim_documentation.pdf
- Simulador SPIM - tutorial introdutório -
spim_tutorial.pdf
- Exemplos a serem apresentados em aula:
|
Salas 310/311
|
7 |
28/03 |
Sex |
Programação em linguagem de montagem
do MIPS (2/5)
Conjunto de instruções da arquitetura MIPS
|
Salas 310/311
|
8 |
02/04 |
Qua |
Programação em linguagem de montagem
do MIPS (3/5)
- Instruções de comparação (test and set) (opcodes 4 e 8) slts (set if less than)
- Exemplo a ser apresentado em aula:
|
Salas 310/311
|
9 |
04/04 |
Sex |
Programação em linguagem de montagem
do MIPS (4/5)
|
|
10 |
09/04 |
Qua |
Programação em linguagem de montagem
do MIPS (5/5)
Procedimentos - uso de estrutura de pilha no MIPS
- Chamadas não aninhadas - subrotinas folha e a instruções JAL
e JALR
- Chamadas aninhadas -
rotinas aninhadas com uso da pilha
- Chamadas recursivas - caso especial de chamadas aninhadas
- Laboratório com exercício de chamada a procedimentos
- Exemplo de programa com chamadas recursivas de subrotina:
fatorial
- Exercício de recursão:
divisão por dois recursiva
|
|
11 |
11/04 |
Sex |
|
Salas 310/311 |
12 |
16/04 |
Qua |
Prova P1 (peso: 30% de G1) |
|
13 |
18/04 |
Sex |
Medidas de Desempenho - Ver
transparências dos
Capítulos 1-4 do livro texto (Ler PH 2 p.26-46)
|
|
14 |
23/04 |
Qua |
Medidas de Desempenho - Conclusão
Unidade III: Bloco de Dados e Bloco
de Controle
Leiam um pouco sobre o MIPS na
Wikipedia
- Componentes básicos do bloco de dados:
- Revisão de blocos digitais básicos - decodificadores,
multiplexadores, demultiplexadores, registradores, memórias RAM
e ROM - conclusão
|
|
15 |
25/04 |
Sex |
- Revisão de blocos digitais básicos - decodificadores,
multiplexadores, demultiplexadores, registradores, memórias RAM
e ROM - conclusão
- Controle do PC: memória de instruções, registrador, somador
- Banco de Registradores
- ULA; Unidade lógico-Aritmética
- Memória de dados
Implementação do bloco de dados monociclo (1/6) (Ler PH
5 p.196-217)
- Discussão da estrutura do processador para implementar
algumas das
instruções com formato R (ADDU, SUBU, AND, OR, XOR, NOR) e as
algumas das instruções com formato I (ORI, LW e SW). Siga o link para
explicações dos
4
formatos básicos de instruções do MIPS.
- Abrir o projeto VHDL da versão inicial do MIPS, disponível
em mips_V0.zip
|
Salas 310/311 |
16 |
30/04 |
Qua |
Implementação do bloco de dados monociclo (2/6) (Ler PH
5 p.196-217)
- Abrir o projeto VHDL da versão inicial do MIPS, disponível
em mips_V0.zip
|
Salas 310/311 |
17 |
02/05 |
Sex |
Implementação do bloco de dados monociclo (3/6)
(Ler PH
5 p.196-217)
- Discussão das implementações multiciclo e monociclo
- Características temporais de sistemas síncronos - como
calcular freqüência máxima de operação de sistemas síncronos
- Apresentação do código
VHDL para este processador
- Simulação do bloco de dados monociclo
- Sua CPU é Little ou Big Endian?
little_big.c Execução no PC (x86): "Little endian".
Execução na Sun (SPARC): "Big endian"
|
|
18 |
07/05 |
Qua |
Implementação do bloco de dados monociclo (4/6) (Ler PH
5 p.196-217)
- Usar como programa de teste o
prog2.asm
- Programa de teste utilizado:
prog1.asm (neste exemplo,
antes de se gerar o Dump do código no MARS
substituir a primeira instrução pelo ori da segunda, ou seja, a
primeira e segunda instrução serão iguais)
|
Salas
310/311
|
19 |
09/05 |
Sex |
Implementação do bloco de dados monociclo (5/6) (Ler PH
5 p.196-217)
Especificação do
Trabalho T2
Inclusão dos saltos condicionais no VHDL
- Atenção, implementação do MIPS_V0 revisada para o ambiente MARS, com bug
no ORI corrigido (mips_V0.zip)
- Exemplo: inclusão da capacidade de executar a instrução LUI na
organização MIPS_V0 monocico. Nova versão,
mips_V1.zip.
|
Salas
310/311
|
20 |
14/05 |
Qua |
Implementação do bloco de dados monociclo (6/6) (Ler PH
5 p.196-217)
- Exercício para Aula Prática: alterar a implementação mips_V1 para dar a
esta capacidade de executar as seguintes instruções adicionais:
ADDIU, ANDI,
XORI
- Inclusão dos saltos condicionais / incondicionais (J) e do JAL
| |
21 |
16/05 |
Sex |
Desempenho e limitações da implementação monociclo
Implementação do bloco de dados multiciclo(1/2)
(Ler PH 5 p.217-236)
Lâminas da aula (1-26):
multi_ciclo_apresentacao.pdf . Se o
PDF estiver rotacionado, use o botão de girar do Acrobat Reader - ao lado do zoom.
- Lâminas da aula (27-40), mesmo conjunto de lâminas da aula anterior
- Bloco de controle com máquina de estados
- Tempo de execução de programas
| |
22 |
21/05 |
Qua |
Simulação do bloco de dados multiciclo
|
|
23 |
23/05 |
Sex |
Exercícios
|
Salas
310/311
|
24 |
28/05 |
Qua |
Prova P2 (peso: 30% de G1) Data Final de Entrega do
Trabalho T2 (peso: 10% de G1) |
|
25 |
30/05 |
Sex |
Unidade IV: Projeto de sistemas digitais utilizando VHDL
- Algoritmo de multiplicação serial
- Integração do multiplicador ao processador MIPS
- Arquivos para a aula: mult_div.ppt
e mult_div.zip
- O arquivo mult_div.ppt corresponde às lâminas com a explicação da multiplicação e divisão seriais
- O arquivo mult_div.zip corresponde ao projeto Active-HDL a ser usado na próxima aula
| |
26 |
04/06 |
Qua |
Integração do multiplicador e do divisor ao MIPS
|
|
27 |
06/06 |
Sex |
- Continuação da aula anterior, com a apresentação do projeto mult/div
|
Salas 310/311 |
28 |
11/06 |
Qua |
Especificação do Trabalho Prático 3 (T3) (peso:
20% de G1)
- projeto completo do MIPS_S resultante do estudo dirigido completado na
aula de hoje. Cada Grupo deve gerar sua implementação, a partir da
Descrição VHDL do mips_multiciclo.vhd.
Não será fornecido outro código fonte.
|
Salas 310/311 |
29 |
13/06 |
Sex |
Desenvolvimento do Trabalho Prático T3 |
|
30 |
18/06 |
Qua |
Desenvolvimento do Trabalho Prático T3 |
Salas 310/311 |
31 |
20/06 |
Sex |
Desenvolvimento do Trabalho Prático T3 |
Salas 310/311 |
32 |
25/06 |
Qua |
Aula de Dúvidas do o Trabalho Prático T3 | |
33 |
27/06 |
Sex |
Aula de Dúvidas do o Trabalho
Prático T3 Data Final de Entrega do
Trabalho T3 (para TODOS os grupos, peso: 20% de G1) |
|
34 |
02/07 |
Qua |
Prova P4 (SUBSTITUI P1 ou P2 se Aluno ausente a uma destas. INCLUI CONTEÚDO DE TODAS AS UNIDADES, INCLUSIVE
UNIDADE IV) |
|
35 |
04/07 |
Sex |
Aula disponível para dúvidas sobre
o G2 |
|
36 |
09/07 |
Qua |
Prova G2 (INCLUI CONTEÚDO DE TODAS AS UNIDADES, INCLUSIVE
UNIDADE IV) |
|