Aula |
Data | Dia |
Conteúdo |
Recurso |
1 |
06/03 |
Ter |
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 |
08/03 |
Qui |
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 |
13/03 |
Ter |
Especificação do
Trabalho TP1
Lista de Grupos x Trabalhos Confirmados
Material de Apoio para o Trabalho TP1
Exemplo
de Trabalho TP1
Unidade II: Programação em Linguagem de Montagem
Os seis (6) Elementos Definitórios de uma
Arquitetura (1 de 2):
- Conjunto de Registradores Acessíveis (ao
programador em linguagem de montagem)
- Conjunto de Instruções (da arquitetura)
- Formatos de Instrução (da arquitetura)
- Modos de Endereçamento (de cada operando de cada
instrução)
- Linguagem de Montagem (da arquitetura)
- Modelo de Acesso à Memória (pelo processador)
|
|
4 |
15/03 |
Qui |
Os seis (6) Elementos Definitórios de uma
Arquitetura (2 de 2):
- Conjunto de Registradores Acessíveis (ao
programador em linguagem de montagem)
- Conjunto de Instruções (da arquitetura)
- Formatos de Instrução (da arquitetura)
- Modos de Endereçamento (de cada operando de cada
instrução)
- Linguagem de Montagem (da arquitetura)
- 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 |
20/03 |
Ter |
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)
Leiam
um pouco sobre o MIPS na
Wikipedia
Leiam também o Apêndice A do HP Seções A.1, A.2, A.3 e A.10. O link para o
material é:
Apêndice A
- Exemplos a serem apresentados em aula:
|
Sala 309 |
6 |
22/03 |
Qui |
Programação em linguagem de montagem
do MIPS
(2/6)
- Exemplos a serem apresentados em aula:
|
Sala 309 |
7 |
27/03 |
Ter |
Programação em linguagem de montagem
do MIPS
(3/6)
-
SIMULADOR MARS - Documentação e tutorial:
-
Assuntos a abordar nesta aula depois de
mostrar o MARS: (1) Como escrever um programa e a relação deste com
o código objeto gerado pelo montador (processo de montagem e
desmontagem de código); (2) Como trabalhar com escalares (primeiro
programa), (3) e vetores de escalares (segundo programa)
|
Sala 309 |
|
29/03 |
Qui |
Feriado - Quinta-feira Santa
|
|
8 |
03/04 |
Ter |
Programação em
linguagem de montagem do MIPS
(4/6)
- Assuntos a abordar nesta aula:
|
Sala 310 |
9 |
05/04 |
Qui |
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
|
Sala 310
|
10 |
10/04 |
Ter |
Programação em linguagem de montagem
do MIPS
(6/6)
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
|
Sala 310 |
11 |
12/04 |
Qui |
Data Final de Entrega do Trabalho TP1 - Moodle
Aula de exercícios para a Prova P1
- Lista mínima aconselhada de material de consulta para a prova:
|
|
12 |
17/04 |
Ter |
Prova P1 (peso: 30% de G1)
Quando o gabarito
estiver disponível, Clique Aqui |
|
13 |
19/04 |
Qui |
Correção da P1
Especificação do
Trabalho TP2
Definidas as datas e ordem das apresentações do TP1. Ver dados a partir do dia
26/04
|
|
14 |
24/04 |
Ter |
Unidade III: Bloco de Dados e Bloco de
Controle - Introdução
Revisão e complementação de conceitos
prévios para Organização de Computadores (Circuitos Digitais e VHDL):
Implementação do bloco de dados monociclo (1/6)
(Ler PH 5 p.196-217)
- A questão de como organizar hardware para criar um
processador
- Uma especificação de um processador simples, o
MIPS_V0
- Nove instruções: ADDU, SUBU, AND, OR, XOR,
NOR, LW, SW, ORI
- Dois formatos de instrução: Tipo R e Tipo I
- Três modos de endereçamento: a Registrador,
Imediato e Base-deslocamento
- Linguagem de montagem - subsconjunto da
linguagem do MIPS
- Modelo de acesso à memória - organização
Harvard com uma ROM que contém o programa (acessível a palavra) e
uma RAM acessível a palavra, ambas endereçadas a byte
- Registradores - Os mesmos 32 do banco de
registradores do MIPS e o PC
|
|
15 |
26/04 |
Qui |
Implementação do bloco de dados monociclo (2/6)
(Ler PH 5 p.196-217)
- O processador MIPS_V0
- Conjunto de Instruções
- Formatos (R e I)
- Pressupostos do processador:
- Monociclo (1 instrução = 1 ciclo de relógio)
- Sensível apenas à borda de subida do relógio
(cada borda de subida inicia uma nova instrução e completa a
anterior)
- Organização Harvard (memória de instruções inicia
no endereço 0x00400000 e memória de dados inicia no endereço
0x10010000)
- Interface entre processador e memórias (i_address,
instruction; d_address, data, ce, rw)
-
Memórias possuem acesso assíncrono
(ROM-instruções e RAM-dados)
Apresentações do TP1 (1 de 3)
Grupos que Apresentam hoje
(em ordem):
1.
G5 - Gabriel Teiga e Rafael Silva: Atmel AVR
2.
G7 - Guilherme Schäfer, Rodrigo Perozzo e Rodrigo Basso: Motorola
MC68HC11
|
Ver dicas de como preparar a
apresentação do TP1
aqui
|
|
|
01/05 |
Ter |
Feriado - Quinta-feira Santa |
|
16 |
03/05 |
Qui |
Implementação do bloco de dados monociclo (3/6)
(Ler PH 5 p.196-217)
- O processador MIPS_V0 (continuação)
Apresentações do TP1 (2 de 3)
Grupos que Apresentam hoje
(em ordem):
1.
G9 - William Nascimento: Intel 8051
2. G6 - Guilherme Doering e Gustavo
Koefender: Motorola MC68000
|
Ver dicas de como preparar a
apresentação do TP1
aqui
|
|
17 |
08/05 |
Ter |
Apresentações do TP1 (3 de 3)
Grupos que Apresentam hoje
(em ordem):
1.
G4 - Christian Bosin, Joaquim Lucena e Rafael Geiss: Microchip
PIC10FXX
2.
G8 - Leonardo: Motorola MC6809
3.
G2 - Arthur D´Arisbo e Lucas Ribeiro:
Intel 8085
4. G3 - Artur Rodrigues e Douglas
Carvalho: MOS Technology 6502
5. G1 - Antonio Pereira, Clodoaldo
Lambiase e Renan Silva: Zilog Z80
|
Ver dicas de como preparar a
apresentação do TP1
aqui
|
|
18 |
10/05 |
Qui |
Implementação do bloco de dados monociclo (4/6)
(Ler PH 5 p.196-217)
Estrutura da Implementação VHDL da MIPS_V0 e simulação
-
Descrições VHDl de apoio: Package
p_MIPS_V0, registrador de 32 bits;
-
Descrições VHDL dos blocos fundamentais: ULA, Banco de
Registradores, Decodificação de instruções
-
Módulos de mais alto nível: Bloco de Controle, Bloco de Dados,
Processador
-
Conceitos para executar programas: O testbench MIPS-V0_tb.vhd,
Criação do software com o Mars.
Simulação de um exemplo
Um conjunto de descrições VHDL para elementos básicos de hardware
Módulos básicos em VHDL.
Conjunto de
transparências - 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
|
|
19 |
15/05 |
Ter |
Implementação do bloco de dados monociclo (5/6)
(Ler PH 5 p.196-217)
Simulação da MIPS_V0 - Continuação
|
|
20 |
17/05 |
Qui |
Implementação do bloco de dados monociclo (6/6)
(Ler PH
Seções 5.1 a 5.3)
|
Sala 309 |
21 |
22/05 |
Ter |
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 309 |
22 |
24/05 |
Qui |
Continuação do Exercício de alteração da
MIPS_V0.
|
Sala 310 |
23 |
29/05 |
Ter |
Data Final de Entrega do Trabalho TP2 - Moodle
Implementação do bloco de dados
multiciclo(1/4)
(Ler PH
Seções 5.4 e 5.7 a 5.10)
|
|
F |
31/05 |
Qui |
Feriado - Corpus Christi |
|
24 |
05/06 |
Ter |
Implementação do bloco de dados
multiciclo(2/4)
(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
|
Sala 309 |
25 |
07/06 |
Qui |
Implementação do bloco de dados multiciclo(3/4)
(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:
Especificação do
Processador MIPS-S 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
Conclusão da simulação da MIPS_V1 -
Material para simulação MIPS_V1
|
Sala 310 |
26 |
12/06 |
Ter |
Implementação do bloco de dados multiciclo(4/4)
(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 310 |
27 |
14/06 |
Qui |
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
|
|
28 |
19/06 |
Ter |
Aula de exercícios para a Prova P2 |
|
29 |
21/06 |
Qui |
Prova P2 (peso: 30% de G1)
Quando o gabarito
estiver disponível, clique aqui
|
|
30 |
26/06 |
Ter |
Data Final de Entrega do Trabalho TP3 - Moodle 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 310 |
31 |
28/06 |
Qui |
- 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 310 |
32 |
03/07 |
Ter |
Prova PS
Quando o gabarito
estiver disponível, Clique Aqui |
|
33 |
05/07 |
Qui |
Professor disponível para resolução de dúvidas. |
|
--- |
10/07 |
Ter |
Prova de G2 (INCLUI CONTEÚDO DE TODAS AS UNIDADES, INCLUSIVE
UNIDADE IV) |
|