Aula Data Dia Conte�do Recurso
1 02/03 Qua Aula inaugural: Apresenta��o da disciplina (conte�do, datas, avalia��o, bibliografia etc.)

Transpar�ncias1-OAP


Unidade 01 - Arquitetura de Processadores: Elementos e Linguagem de Montagem

 

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

2 04/03 Sex

Transpar�ncias1-OAP

Os seis (6) Elementos Definit�rios de uma Arquitetura (1 de 3)

  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 - HP 2.5 p.77
  • Modos de endere�amento principais (h� muitos outros) - imediato, direto, base-deslocamento, indexado - PH p.85
  • Modelos de acesso a mem�ria - HP 2.3 p.70
 
3 09/03 Qua

Transpar�ncias1-OAP

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

Os seis (6) Elementos Definit�rios de uma Arquitetura (2 de 3)

  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 - HP 2.5 p.77
  • Modos de endere�amento principais (h� muitos outros) - imediato, direto, base-deslocamento, indexado - PH p.85
  • Modelos de acesso a mem�ria - HP 2.3 p.70
  • Classifica��o das arquiteturas conforme o conjunto de instru��es - 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 - HP 2.7 p.79
  • Codifica��o de instru��es - HP 2.10 p.86
  • A fun��o do compilador - HP 2.11 p.89

Estudo de caso para dominar os 6 elementos definit�rios (a arquitetura MIPS 2000)

  • Arquitetura MIPS - caracter�sticas gerais
    • Uma instruction set architecture (ISA) de 32 bits
      • A CPU do MIPS possui 32 registradores de 32 bits - $0 a $31
      • A mem�ria externa � endere�ada pelo MIPS por um valor (�ndice ou endere�o) de 32 bits
      • As opera��es (l�gicas e aritm�ticas) em sua maioria trabalham sobre dados representados em 32 bits 
      • Toda instru��o possui um c�digo objeto (bin�rio) de 32 bits 
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 � este: Ap�ndice A

 
4 11/03 Sex Especifica��o do  Trabalho Pr�tico 1 (peso: 20% de G1) 
Lista de Grupos x Trabalhos Confirmados
Material de Apoio para o Trabalho TP1

Exemplo de Trabalho TP1

Os seis (6) Elementos Definit�rios de uma Arquitetura (3 de 3)

  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)

Estudo de caso para dominar os 6 elementos definit�rios (a arquitetura MIPS 2000)

  • Os modos de endere�amento fundamentais do MIPS
    • a registrador
    • imediato
    • base-deslocamento
    • impl�cito
    • relativo
    • pseudo-absoluto
  • A linguagem de montagem do MIPS
    • sintaxe de uso de instru��es em programas (155 instru��es - MARS)
      • r�tulos, mnem�nicos, operandos e coment�rios
    • pseudo-instru��es (388 pseudo-instru��es - MARS)
    • diretivas de montagem (20 diretivas - MARS)
      • defini��o de dados (n�meros e texto; escalares e vetores)
      • defini��o das regi�es de mem�ria (programas e dados)
      • alinhamento de mem�ria e reserva de espa�o em mem�ria
 
5 16/03 Qua Programa��o em Linguagem de Montagem da arquitetura MIPS (1 de 5)
  • 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)

Simulador MARS - documenta��o e tutorial

 
6 18/03 Sex Programa��o em Linguagem de Montagem da arquitetura MIPS (2 de 5)  
7 23/03 Qua

Programa��o em Linguagem de Montagem da arquitetura MIPS (3 de 5)
Procedimentos: sub-rotinas e fun��es - uso de estruturas de pilha no MIPS

  • Passagem de argumentos e retorno de valores
    • Via registradores
    • Via pilha
    • M�todos mistos
  • As instru��es JAL e JR (para chamada e retorno de procedimentos) 
 
8 25/03 Sex

Programa��o em Linguagem de Montagem da arquitetura MIPS (4 de 5)
Procedimentos: sub-rotinas e fun��es - uso de estruturas de pilha no MIPS

 
9 30/03 Qua

Data de Entrega do TP1

Programa��o em Linguagem de Montagem da arquitetura MIPS (5 de 5)
Procedimentos: sub-rotinas e fun��es - uso de estruturas de pilha no MIPS

 
10 1ro/04 Sex

Disponibiliza��o dos TP1s para avalia��o pelos colegas

Aula 1 de 7 - Unidade 02

Unidade 02 - Organiza��o de Processadores: Fundamentos e Estudo de Caso

  • Um exemplo de Circuito - o Fibonacciero, um gerador dos "n" primeiros elementos da sequ�ncia de Fibonacci
    • Especifica��o para uma implementa��o s�ncrona - O circuito recebe duas entradas do seu ambiente: (1) uma entrada de 8 bits denominada nro_elementos, que designa quantos dos primeiros elementos da sequ�ncia de Fibonacci o circuito deve produzir antes de automaticamente parar; (2) uma entrada de controle de 1 bit denominada anda_para, que diz quando em '0' que o processo de gera��o de elementos da s�rie deve ser/estar suspenso, e quando em '1' determina que a cada borda de subida da entrada de clock seja gerado um novo elemento da s�rie, caso ainda haja valores a gerar. As entradas de controle da opera��o s�o o j� mencionado clock e o sinal de reset. A �nica sa�da do circuito � denominada Saida, e mostra, em 8 bits, o �ltimo elemento gerado da S�rie de Fibonacci. A interface assim definida do circuito aparece neste link.
    • Opera��o resumida da vers�o s�ncrona do circuito Fibonacciero: O circuito pode gerar um subconjunto de elementos da sequ�ncia de Fibonacci, limitado a sequ�ncias com at� 255 elementos (pois nro_elementos � de 8 bits, o que permite gerar n�meros entre 0 e 255 apenas). Destes, no m�ximo os 14 primeiros podem estar corretos (pois Saida � um sinal de apenas 8 bits, e o d�cimo quarto elemento da sequ�ncia de Fibonacci j� � 233). Dentro destas limita��es, a opera��o do circuito � a seguinte: (1) Tudo inicia com o sinal de reset (ass�ncrono) sendo ativado (reset='1'), o que diz que o valor da entrada nro_elementos deve ser amostrado e guardado internamente. Como efeito secund�rio, Saida deve receber o valor 0; (2) Ap�s o reset ser desativado (reset='0'), a cada borda de subida do sinal clock, se o sinal externo anda_para estiver em '1' gera-se em Sa�da o pr�ximo elemento da sequ�ncia (0, 1, 1, 2, 3, 5, 8, ...). Se, e enquanto anda_para estiver em '0', nada muda na sa�da e o processo de gera��o de elementos da sequ�ncia fica suspenso; (3) O processo de gera��o para automaticamente depois de gerar o nro_elementos-�simo elemento da s�rie. O processo pode se repetir com uma nova ativa��o do sinal de reset (passo (1) acima)
    • Quest�o a ser respondida: Como implementar o circuito Fibonacciero?
      • Princ�pios gerais da opera��o s�ncrona (Pressupostos: sens�vel apenas � borda de subida do clock e com reset ass�ncrono) - 
        1. O Clock � um sinal peri�dico com frequ�ncia e per�odo fixos
        2. Quando o clock executa uma borda de subida, nenhum sinal por ele amostrado (entradas do circuito, externas ou internas) pode estar mudando
        3. O reset, sendo ass�ncrono, inicializa todo o circuito internamente e eventualmente parte ou todas as sa�das
        4. Todos os m�dulos internos que guardam alguma informa��o s�o controlados pelo clock e pelo reset
      • A divis�o entre informa��es �teis (dados) e informa��es de controle (internas e externas)
      • Dividindo a implementa��o do circuito em Bloco de Dados e Bloco de Controle
      • Aplicando o processo de projeto acima ao Fibonacciero
      • Arquivos de apoio ao projeto l�gico do Fibonacciero (Para o software Logisim)

      * Para quem quiser usar o ambiente Xilinx Vivado, veja no Box de Material de Apoio da disciplina as instru��es para baixar e instalar este software na sua vers�o free. Este � muito �til para exercitar as descri��es execut�veis desta disciplina.

 
11 06/04 Qua

Aula 2 de 7 - Unidade 02

  • Tipos de Organiza��es Sequenciais de Processadores 
      • Organiza��es monociclo versus organiza��es multiciclo
      • Organiza��es Harvard e von Neumann
      • Organiza��es h�bridas
  • Uma especifica��o para uma organiza��o - MIPS-S
    • Princ�pios b�sicos
    • Os 6 elementos definit�rios da MIPS-S
    • O diagrama de blocos da MIPS-S
  • Instru��es tipo R
      • O formato R de instru��es do MIPS
      • Execu��o da instru��o ADDU ilustrada com o Diagrama de Blocos da MIPS
     
    12 08/04 Sex
    Aula 3 de 7 - Unidade 02
    • Mem�rias e Hierarquias de Mem�ria em Organiza��o e Arquitetura de Processadores
        • Diferentes tipos de mem�ria usadas em processadores: registradores, caches, mem�ria principal, etc.
    • Temas acess�rios em Organiza��o e Arquitetura de Computadores (outra disciplina)
      • Entrada e Sa�da em sistemas computacionais
      • Hierarquias de Mem�ria
      • Paralelismo
    • O formato I de instru��es do MIPS
      • A instru��o BEQ  -especifica��o e execu��o
      • Limites determinados pelo campo de offset
      • Execu��o e rela��o com o Diagrama de Blocos da MIPS-S
    • O formato J de instru��es do MIPS e a instru��o JR
      • Instru��es J e JAL
      • A instru��o JR
     
    13 13/04 Qua

    Entrega das Avalia��es deTP1 dos colegas

    Aula 4 de 7 - Unidade 02

    • Revis�o/Detalhamento da execu��o de instru��es de salto
        • Instru��es LW, LBU e o Diagrama de Blocos da MIPS-S
        • Instru��es SW, SB e o Diagrama de Blocos da MIPS-S 
    • A estrutura geral da implementa��o VHDL da MIPS-S
        • Os m�dulos principais: BD, BC, registrador de 32b, ALU, banco de registradores, FSM
        • Hierarquia da implementa��o
        • Um pouco sobre o testbench
        • Simula��o da MIPS-S
    14 20/04 Qua

    Especifica��o do  Trabalho Pr�tico 2 (Peso: 20% de G1)

    Aula 5 de 7 - Unidade 02
    • Os m�dulos de multiplica��o e divis�o da MIPS-S

    • Princ�pios do projeto dos m�dulos: Hw mais simples poss�vel
      • M�dulos s�ncronos
      • Estrutura similar a algoritmos l�pis e papel 
      • Multiplica��o - gera��o de produtos parciais e soma destes
      • Divis�o - subtra��es sucessivas do divisor do dividendo e teste
    • Princ�pios de simula��o da MIPS

      • Testbench capaz de carregar programas e dados em mem�rias externas
    • Prepara��o do arquivo de entrada (programa e dados gerados no MARS)
    • Execu��o clock a clock de um programa via simula��o
    • Estrutura do Banco de Registradores - Ideia geral

     
    15 22/04 Sex
    Aula 6 de 7 - Unidade 02
    • O Banco de Registradores - detalhamento do c�digo
      • Comandos for-generate e if-generate
      • Instancia��o dos registradores do Banco
      • Cria��o do decodificador - a porta de escrita do banco
      • Os multiplexadores que produzem as portas de leitura do banco
    • A Unidade L�gico-Aritm�tica
      • Tabela de opera��es (Tabela 3 da especifica��o do MIPS-S)
        • Opera��es b�sicas - soma, subtra��o, and, or, xor, nor
        • Opera��es especiais - suporte a LUI, J/JAL etc.
     
    16 27/04 Qua

    Aula 7 de 7 - Unidade 02

    • A estrutura geral da implementa��o da organiza��o MIPS-S
      • Os 6 pares Entidade/Arquitetura - Registrador B�sico, ALU, Banco de Registradores, o Bloco de Dados, o Bloco de Controle, a MIPS-S
      • O package p_MIPS_MCS
      • O Bloco de Dados
        • Detectores de instru��es R/I/branch
        • Est�gios 2/3/4/5 da organiza��o
        • Os multiplexadores M3 a M11
        • O comparador
        • Instancia��o do multiplicador e do divisor
        • Os registradores Hi e Lo
      • O Bloco de Controle
        • Microinstru��es, microopera��es
      • O primeiro est�gio da organiza��o - PC/IR/NPC
      • O Testbench da MIPS-S
    • Estrutura geral do VHDL da MIPS-S - O Bloco de Controle
      • O PC, seu incrementador e o NPC
      • A decodifica��o de instru��es
      • A m�quina de estados de controle
      • O registrador IR

    Entrega dos Resultados do TP1

     
    17 29/04 Sex
    Prova P1 - Unidades 01 e 02 (peso: 20% de G1) 
     
    18 04/05 Qua Unidade 03 - Organiza��o de Processadores: Paralelismo B�sico e Aceleradores
    • Introdu��o - Pipelines e Aceleradores Aritm�ticos
    • Pipelines - Aula 1 de 3
     
    19 06/05 Sex
    • Pipelines e Hazards - Aula 2 de 3
      • Ideia fundamental - paralelismo temporal
      • Problemas para pipelines em sistemas computacionais e bolhas
      • Exerc�cios
     
    20 11/05 Qua
    • Pipelines e Hazards - Aula 3 de 3
      • Hazards - defini��o e classifica��o
      • Solu��es para Hazards de dado, de controle
      • Otimiza��es em software - o papel do compilador
      • Exerc�cios
     
    21 13/05 Sex

    Data de Entrega do TP2

    • Aceleradores de Hardware - Aula 1 de 4
      • Aritm�tica Computacional 
        • Aritm�tica com Naturais (N)
        • Aritm�tica com Inteiros (Z)
        • Aritm�tica com Racionais (Q) - o padr�o IEEE-754
     
    22 18/05 Qua

    Entrega dos Resultados da P1

     
    23 20/05 Sex
    • Aceleradores de Hardware - Aula 3 de 4
      • Aritm�tica Computacional 
        • Aritm�tica com Naturais (N)
        • Aritm�tica com Inteiros (Z)
        • Aritm�tica com Racionais (Q) - o padr�o IEEE-754
     
    24 25/05 Qua
    • Aceleradores de Hardware - Aula 4 de 4
      • Aritm�tica Computacional 
        • Aritm�tica com Naturais (N)
        • Aritm�tica com Inteiros (Z)
        • Aritm�tica com Racionais (Q) - o padr�o IEEE-754
     
    25 27/05 Sex

    Unidade 04 - Arquitetura de Processadores: T�picos Fundamentais Adicionais

    • Entrada e Sa�da em Processadores - Aula 1 de 4

    Entrega dos Resultados do TP2

     
    26 1ro/06 Qua
    • Entrada e Sa�da em Processadores - Aula 2 de 4
    27 03/06 Sex
    • Entrada e Sa�da em Processadores - Aula 3 de 4
    28 08/06 Qua
    • Entrada e Sa�da em Processadores - Aula 3 de 4
    29 10/06 Sex
    • Hierarquia de Mem�ria em Processadores - Aula 1 de 3
     
    30 15/06 Qua
    • Hierarquia de Mem�ria em Processadores - Aula 2 de 3
     
    31 17/06 Sex
    • Hierarquia de Mem�ria em Processadores - Aula 3 de 3
    32 22/06 Qua

    Prova P2 - Unidades 03 e 04 (peso: 20% de G1)

     
    33 24/06 Sex Aula de D�vidas: PS e G2  
    34 29/06 Qua Prova PS - Inclui Conte�dos de todas as Unidades  
    35 1ro/07 Sex Aula de D�vidas: G2  
    -- 06/07 Qua

    Prova de G2 - Inclui Conte�dos de todas as Unidades

     

    This page was last updated on March, 1st, 2022.

    If you find problems in this page, please send an e-mail to ney dot calazans at pucrs dot br
    We will fix it in the shortest possible delay. Thanks for your help!