Agenda

Última Alteração: 15/06/2007. Cronograma totalmente atualizado

AulaDataDia ConteúdoRecurso
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
 
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:

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:

  1. Revisão de blocos digitais básicos - decodificadores, multiplexadores, demultiplexadores, registradores, memórias RAM e ROM - conclusão
 
15 25/04 Qua
  1. Revisão de blocos digitais básicos - decodificadores, multiplexadores, demultiplexadores, registradores, memórias RAM e ROM - conclusão
  2. Controle do PC: memória de instruções, registrador, somador
  3. Banco de Registradores
  4. ULA; Unidade lógico-Aritmética
  5. 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 )
  1. Usar como programa de teste o prog2.asm
  2. 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)
  3. 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
  4. Solução - a organização MIPS_V1:
  5. Inclusão dos saltos condicionais / incondicionais (J) e do JAL
  6. Desempenho e limitações da implementação monociclo
Sala 310
19 09/05 Qua    Inclusão dos saltos condicionais no VHDL
  1. Abrir o arquivo com as instruções para a aula inclusao_beq.doc
  2. 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)