Agenda

Última Alteração em 11/06/2008.
Legenda:
    PH refere-se ao livro de Patterson e Hennessy (referência [1] da bibliografia da disciplina) - Segunda Edição em Português
    HP refere-se ao livro de Hennessy & Patterson (referência [2] da bibliografia da disciplina) - Edição em Português

AulaDataDia ConteúdoRecurso
1 05/03 Qua Aula inaugural: apresentação da disciplina (conteúdo, datas, avaliação)
Unidade I: Introdução
 
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)

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)
  • Instruções executadas
  • Tempo de execução
  • CPI: ciclos de ciclos de relógio (clocks) por instrução - CPI
  • MIPS, SPEC, etc.

    Data Final  de Entrega do Trabalho T1 (peso: 10% de G1)

 
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)

  1. 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)