Aula | Data | Dia |
Conteúdo | Recurso |
1 |
02/03 |
Sex |
Aula inaugural: apresentação da disciplina (conteúdo, datas, avaliação)
- Unidade I: Introdução:
- Modelo geral de um computador: interface Processador-memória
|
|
2 |
07/03 |
Qua |
Aula com o Prof. Moraes (substituição Prof. Ney)
- Modelos gerais de organizações de computadores: von Neumann e Harvard
- Classificação das arquiteturas conforme o conjunto de instruções (Quant. 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 |
09/03 |
Sex |
- 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 (Quant. 2.5 p.77) - Modos
de endereçamento - imediato, direto, base-deslocamento, indexado
- Endereçamento de memória (Quant. 2.3 p.70)
|
|
4 |
14/03 |
Qua |
- Tipos de operações (Quant. 2.7 p.79)
- Codificação das instruções (Quant. 2.10 p.86)
- A função do compilador (Quant. 2.11 p.89)
- Arquitetura MIPS: características
|
|
5 |
16/03 |
Sex |
Unidade II: Programação em Linguagem de Montagem
- Conjunto de instruções da arquitetura MIPS
- Modos de endereçamento (HS 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:
|
|
6 |
21/03 |
Qua |
Programação em linguagem de montagem
do MIPS ( 1/2 )
- 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 da Bibliografia 1 - 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
- Exemplo a ser apresentado em aula:
|
Sala 310 |
7 |
23/03 |
Sex |
Especificação do Trabalho TP1
Conjunto de instruções da arquitetura MIPS:
- Instruções de controle de fluxo: branches (10+11), jumps (4)
- Instruções de comparação (test and set) (4+8) slts (set if less than)
- Exemplo a ser apresentado em aula:
|
Sala 310 |
8 |
28/03 |
Qua |
Programação em linguagem de montagem do MIPS (
2/2 )
| Sala 310 |
9 |
30/03 |
Sex |
|
|
10 |
04/04 |
Qua |
- Procedimentos especiais: uso da pilha no MIPS
- Chamadas não aninhadas - subrotinas folha e a instruções JAL
e JALR
- Chamadas aninhadas
- 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
|
|
|
06/04 |
Qua |
FERIADO: Semana Santa - Sexta-Feira Santa |
|
11 |
11/04 |
Qua |
| Sala 310 |
12 |
13/04 |
Sex |
Prova P1 (peso 30%) |
|
13 |
18/04 |
Qua |
Medidas de Desempenho Ver Capítulo 2 das
transparências do livro texto
- Instruções executadas
- Tempo de execução
- CPI: ciclos de ciclos de relógio (clocks) por instrução - CPI
- MIPS, SPEC, etc.
|
|
14 |
20/04 |
Sex |
Medidas de Desempenho
- Conclusão
Unidade III: Bloco de Dados e Bloco
de Controle
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 |
Qua |
- 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/4 )
- 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 (LW e SW). Link para
explicações dos
4
formatos básicos de instruções do MIPS.
|
|
16 |
27/04 |
Sex |
Especificação do trabalho de programação
Baixe e leia a especificação!! Versão 1.1 liberada (com
erro corrigido!)
Implementação do bloco de dados monociclo (
2/4 )
- Abrir o projeto VHDL da versão inicial do MIPS, disponível
em mips.zip
|
|
17 |
02/05 |
Qua |
Implementação do bloco de dados monociclo (
3/4 )
- 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 |
04/05 |
Sex |
Implementação do bloco de dados monociclo (
4/4 )
- Usar como programa de teste o
prog2.asm
- Programa de teste utilizado:
prog1.asm (neste exemplo, ao se gerar o spim.log
substituir a primeira instrução pelo ori da segunda, ou seja, a
primeira e segunda instrução serão iguais)
- Aula prática: incluir
a capacidade de executar as seguintes instruções adicionais pela
organização da aula passada:
ADDIU, ANDI,
ORI, XORI, LUI - Obs: Alterar o código VHDL
- Solução - a organização MIPS_V1:
- Inclusão dos saltos condicionais / incondicionais (J) e do JAL
- Desempenho e limitações da implementação monociclo
|
Sala 310 |
19 |
09/05 |
Qua |
Inclusão dos saltos condicionais no VHDL
- Abrir o arquivo com as instruções para a aula inclusao_beq.doc
- Usar o programa prog3.asm para teste do BEQ
|
|
20 |
11/05 |
Sex |
Implementação do bloco de dados multiciclo( 1/2 )
- Lâminada 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.
| |
21 |
16/05 |
Qua |
Implementação do bloco de dados multiciclo( 2/2 )
- Lâminada 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 |
18/05 |
Sex |
Simulação do bloco de dados multiciclo
|
|
23 |
23/05 |
Qua |
Exercícios
|
|
24 |
25/05 |
Sex |
Prova P2 (peso 30%) |
|
25 |
30/05 |
Qua |
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 mult_div.ppt corresponde às lâminas com a explicação da multiplicação e divisão seriais
- O mult_div.zip corresponde ao projeto do ActiveHDL a ser usado na próxima aula
| |
26 |
01/06 |
Sex |
Integração do multiplicador e do divisor ao MIPS
|
|
27 |
06/06 |
Qua |
- Continuação da aula anterior, com a apresentação do projeto mult/div
|
|
28 |
08/06 |
Sex |
- Periféricos com entrada/saída mapeada em memória
- Código VHDL necessário à aula: tx_simplificado.vhd
Versão incompleta do VHDL do periférico e testbench simples
|
|
29 |
13/06 |
Qua |
- Módulos periféricos
- Integração do periférico ao processador MIPS
- Atenção: Disponibilizado projeto (Active-HDL) completo do
periférico, funcionando, com novo testbench (duas transmissões
simultâneas). Baixe o arquivo
trans_serial.zip
|
|
30 |
15/06 |
Sex |
Especificação do Trabalho Prático (TP) final
trabalho_prático final_org.doc
projeto com o sistema MIPS e periférico de transmissão serial
integrado: mips_tr_serial.zip
| |
31 |
20/06 |
Qua |
Desenvolvimento do Trabalho Prático (TP) final | |
32 |
22/06 |
Sex |
Desenvolvimento do Trabalho Prático (TP) final
| |
33 |
27/06 |
Qua |
Apresentação do Trabalho Prático (TP) final
| |
34 |
29/06 |
Sex |
Prova P4 (INCLUI CONTEÚDO DA UNIDADE IV) |
|
|
04/07 |
Qua |
Sem atividade prevista (período de G2 já iniciado) |
|
35 |
06/07 |
Sex |
Prova G2 (INCLUI CONTEÚDO DA UNIDADE IV) |
|