Agenda

Última Alteração em 07/07/2017
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

Aula DataDia Conteúdo Recurso
1 08/03 Qua Aula inaugural: apresentação da disciplina (conteúdo, datas, avaliação, bibliografia, etc.)


Revisão e complementação de conceitos prévios para Organização de Computadores

  • Circuitos combinacionais e sequenciais, oscilador em anel.

  • Definição de sistemas digitais, exemplo do tocador de MP3 (entra MP3 e sai PCM, depois um conversor DA e alto falantes)

  • Noções fundamentais de um computador: informações de dados e controle, blocos de controle e de dados, programas e instruções.

  • Conjunto de transparências a ser usado nesta aula e seguintes

 
2 10/03 Sex Especificação do Trabalho TP1
Lista de Grupos x Trabalhos Confirmados
Material de Apoio para o Trabalho TP1

Exemplo de Trabalho TP1

 

Unidade I: Introdução

Revisão e complementação de conceitos prévios para Organização de Computadores:

  • Modelo geral de um computador: a interface Processador-Memória
  • 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)
  • 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
3 15/03 Qua Unidade I: Introdução (Conclusão)

Unidade II: Programação em Linguagem de Montagem

Os seis (6) Elementos Definitórios de uma Arquitetura (1 de 2):

  1. Conjunto de Registradores Acessíveis (ao programador em linguagem de montagem)
  2. Conjunto de Instruções (da arquitetura)
  3. Formatos de Instrução (da arquitetura)
  4. Modos de Endereçamento (de cada operando de cada instrução)
  5. Linguagem de Montagem (da arquitetura)
  6. Modelo de Acesso à Memória (pelo processador)
4 17/03 Sex

Os seis (6) Elementos Definitórios de uma Arquitetura (2 de 2):

  1. Conjunto de Registradores Acessíveis (ao programador em linguagem de montagem)
  2. Conjunto de Instruções (da arquitetura)
  3. Formatos de Instrução (da arquitetura)
  4. Modos de Endereçamento (de cada operando de cada instrução)
  5. Linguagem de Montagem (da arquitetura)
  6. Modelo de Acesso à Memória (pelo processador)

Para entender melhor, leiam:

  • Sobre tipo, quantidade e tamanho de operandos (Ler HP 2.5 p.77)
  • Modos de endereçamento principais (há muitos outros) - imediato, direto, base-deslocamento, indexado (Ler PH p.85)
  • Modelos de acesso a memória (Ler HP 2.3 p.70)
5 22/03 Qua
Leiam um pouco sobre o MIPS na Wikipedia

Leiam também o Apêndice A do livro-texto (PH), disponível neste link:
Apêndice A

Sala 309
6 24/03 Sex Programação em linguagem de montagem do MIPS (1/6)
Conjunto de instruções da arquitetura MIPS
  • Classes de instruções do MIPS
  • Tudo que não é instrução em um programa do MIPS pode ser: diretiva do montador, pseudo-instrução ou comentário. Por exemplo, especificação de dados se faz com diretivas.
  • Uso da letra "u" (unsigned) em mnemônicos do MIPS
    • gerar interrupções de tratamento de exceções em instruções aritméticas (sem u) ou ignorar  tais condições (com u)
    • uso de representações numéricas em complemento de 2 (sem u) ou em binário puro (com u)
  • Instruções de controle de fluxo: saltos (branches (opcodes 10 e 11), jumps (opcode 4))
  • Instruções de comparação (test and set) (opcodes 4 e 8) slts (set if less than)

Apresentações do TP1 (1 de 5)

Grupos que Apresentam hoje (em ordem):

1. Antonio Pereira, João Almeida e Marcelo Rocha

Zilog Z80

 

Ver dicas de como preparar a apresentação do TP1 aqui

Sala 311
7 29/03 Qua Programação em linguagem de montagem do MIPS (2/6) Sala 309
8 31/03 Sex

Apresentações do TP1 (2 de 5)

Grupos que Apresentam hoje (em ordem):

8. Luiz Soares, Pedro Leite e Rafaella de Souza

Motorola MC6800

3. Junior Löff e Renato Hoffmann

Motorola MC 68000

5. Eric Friedrich e Marcelo Holgado

Intel 4004

12. Luís Castro e Icaro Keller

Microchip PIC16FXX

 

Ver dicas de como preparar a apresentação do TP1 aqui

Sala 311
9 05/04 Qua

Programação em linguagem de montagem do MIPS (3/6)

Apresentações do TP1 (3 de 5)

Grupos que Apresentam hoje (em ordem):

7. Lucas dos Santos, Pedro de Aguiar e Rafael da Silva

             ATMEL ATmega8

 

Ver dicas de como preparar a apresentação do TP1 aqui

Sala 309
10 07/04 Sex

Programação em linguagem de montagem do MIPS (4/6)

  • Assuntos a abordar nesta aula:
    • (1) Como trabalhar com cadeias de caracteres ou strings (programa toupper.asm) e (2) como modelar a chamada de funções e subrotinas
    • Exemplo de manipulação de cadeias de caracteres: toupper.asm
    • Como trabalhar com cadeias de caracteres ou strings (programa toupper.asm)
    • Como modelar a chamada de funções e subrotinas
    • Exercícios: Especificação dos três exercícios a serem feitos na aula

Apresentações do TP1 (4 de 5)

Grupos que Apresentam hoje (em ordem):

4. Nicolas Moura, Pedro Bergamin e Rebeca Gomes

Intel I8085

9. Eduardo Porto, Johannes Dias e Rafael Basso

Motorola MC6809

11. Douglas Carvalho, João Bartinski e Pietro Silva

ATMEL ATtiny

6. Fernando Soares e Willian Dias

MOS Technology 6502

 

Ver dicas de como preparar a apresentação do TP1 aqui

Sala 311
11 12/04 Qua

Ver dicas de como preparar a apresentação do TP1 aqui

 
F 14/04 Sex Feriado - Páscoa
12 19/04 Qua Prova P1 (peso: 30% de G1)
Quando o gabarito estiver disponível, Clique Aqui
 
F 21/04 Sex Feriado - Tiradentes
13 26/04 Qua

Correção da P1

Programação em linguagem de montagem do MIPS (5/6)

Procedimentos - uso de estrutura de pilha no MIPS

Mais exemplos de programas: Compilação da estrutura switch (uso de ponteiros), teste_subr.asm
Mais um exemplo de programa (complicado) que chama uma subrotina recursiva: fatorial_trad_de_C.asm
 

 
14 28/04 Sex

Especificação do Trabalho TP2

 

Programação em linguagem de montagem do MIPS (6/6)

Procedimentos - uso de estrutura de pilha no MIPS

Mais exemplos de programas: Compilação da estrutura switch (uso de ponteiros), teste_subr.asm
Mais um exemplo de programa (complicado) que chama uma subrotina recursiva: fatorial_trad_de_C.asm
 

15 03/05 Qua Procedimentos - uso de estrutura de pilha no MIPS

Apresentações do TP1 (5 de 5)

Grupos que Apresentam hoje (em ordem):

2. João Lima e Pablo Vieira

Intel I8051

10. Henrique Bittencourt, Matheus Ferronato e Rodrigo Gonçalves

Motorola MC68HC11


Ver dicas de como preparar a apresentação do TP1 aqui

 

16 05/05 Sex Procedimentos - uso de estrutura de pilha no MIPS

17 10/05 Qua Procedimentos - uso de estrutura de pilha no MIPS

Unidade III: Bloco de Dados e Bloco de Controle - Introdução

Implementação do bloco de dados monociclo (1/8) (Ler PH 5 p.196-217)

Revisão e complementação de conceitos prévios para Organização de Computadores (Circuitos Digitais e VHDL):

  • Conjunto de transparências a ser usado nesta aula e na próxima - Uma introdução a conceitos de hardware para Org. Comp

  • Multiplexadores, demultiplexadores e decodificadores
  • Circuitos aritméticos
  • O Paradigma Síncrono e Máquinas de Estado Finitas
  • Memórias ROM e RAM - Interface externa e estrutura internaa
  • flip-flops D e registradores

 

 
18 12/05 Sex

 

Unidade III: Bloco de Dados e Bloco de Controle - Introdução

Implementação do bloco de dados monociclo (2/8) (Ler PH 5 p.196-217)

Revisão e complementação de conceitos prévios para Organização de Computadores (Circuitos Digitais e VHDL):

  • Conjunto de transparências a ser usado nesta aula e na próxima - Uma introdução a conceitos de hardware para Org. Comp

  • Multiplexadores, demultiplexadores e decodificadores
  • Circuitos aritméticos
  • O Paradigma Síncrono e Máquinas de Estado Finitas
  • Memórias ROM e RAM - Interface externa e estrutura internaa
  • flip-flops D e registradores

Um conjunto de descrições VHDL para elementos básicos de hardware Módulos básicos em VHDL.

 

 
19 17/05 Qua

 

Unidade III: Bloco de Dados e Bloco de Controle - Introdução

Implementação do bloco de dados monociclo (3/8) (Ler PH 5 p.196-217)

Revisão e complementação de conceitos prévios para Organização de Computadores (Circuitos Digitais e VHDL):

  • Conjunto de transparências a ser usado nesta aula e na próxima - Uma introdução a conceitos de hardware para Org. Comp

  • Multiplexadores, demultiplexadores e decodificadores
  • Circuitos aritméticos
  • O Paradigma Síncrono e Máquinas de Estado Finitas
  • Memórias ROM e RAM - Interface externa e estrutura internaa
  • flip-flops D e registradores

Um conjunto de descrições VHDL para elementos básicos de hardware Módulos básicos em VHDL.

 

Sala 309
20 19/05 Sex

 

Implementação do bloco de dados monociclo (4/8) (Ler PH 5 p.196-217)

 
22/05 Sex Data Final de Entrega do Trabalho TP2 - Moodle
21 24/05 Qua

 

Implementação do bloco de dados monociclo (5/8) (Ler PH Seções 5.1 a 5.3)

Inclusão dos saltos condicionais no VHDL

 

Simulações do Processador MIPS_V0 completo, usando memórias externas preenchíveis a partir de arquivos em disco.

  • Processo de geração do arquivo de carga de memórias - uso do MARS, edição manual de texto e limitação ao subconjunto de instruções do MIPS_V0.
  • 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)
  • Usar como programa de teste o prog2.asm
Sala 309
22 26/05 Sex

Implementação do bloco de dados monociclo (6/8) (Ler PH Seções 5.1 a 5.3) 

Evolução do processador MIPS_V0

  • Como acrescentar novas instruções
  • Estudos de caso das instruções BEQ e LUI
  • Expansão do MIPS_V0 para acomodar a instrução LUI
  • Expansão do MIPS_V0 para acomodar a instrução BEQ

Estrutura do Testbench da arquitetura MIPS_V0

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

Sala 311
23 31/05 Qua

 

Implementação do bloco de dados monociclo (7/8) (Ler PH Seções 5.1 a 5.3)  

 

Sala 309
24 02/06 Sex Implementação do bloco de dados monociclo (8/8) (Ler PH Seções 5.1 a 5.3)  
25 07/06 Qua

 

Implementação do bloco de dados multiciclo(1/3) (Ler PH Seções 5.4 e 5.7 a 5.10)

 

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. Desempenho e limitações da implementação monociclo

  • 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
  • O arquivo mult_div.zip corresponde ao projeto a ser usado na próxima aula
 
26 09/06 Sex

Implementação do bloco de dados multiciclo(2/3) (Ler PH Seções 5.4 e 5.7 a 5.10)

Especificação do trabalho_prático 3 org.docx  (peso: 20% de G1)

Material para realizar o trabalho:

  1. Especificação do Processador MIPS-S

  2. Arquivos para montar projeto do MIPS multiciclo. Descrição VHDL do mips_multiciclo.

Simulação avançada do MIPS Multiciclo - Integração do multiplicador ao MIPS Multiciclo - Continuação

Sala 311
27 14/06 Qua Exercícios para a prova P2  
28 16/06 Sex

 Prova P2 (peso: 30% de G1)
Quando o gabarito estiver disponível, Clique Aqui

 
29 21/06 Qua Implementação do bloco de dados multiciclo(3/3) (Ler PH Seções 5.4 e 5.7 a 5.10)

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. Desempenho e limitações da implementação monociclo

Sala 309
30 23/06 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
Sala 309
31 28/06 Qua Prova PS
Quando o gabarito estiver disponível, Clique Aqui
32 30/06 Sex Aula de dúvidas e exercícios de toda a matéria
33 05/07 Qua

Data Final de Entrega do Trabalho TP3 - Moodle

 
34 07/07 Sex Aula de dúvidas e exercícios de toda a matéria
--- 12/07 Qua Prova de G2
(INCLUI CONTEÚDO DE TODAS AS UNIDADES, INCLUSIVE UNIDADE IV)
 

Material Adicional (Antigo):