Escolar Documentos
Profissional Documentos
Cultura Documentos
- Proposições possíveis
● Quanto ao tipo de processador:
● Processador de propósito geral (orientado a programa)
● Processador de propósito mais específico (quase sempre orientado a
programa)
● Processador dedicado (quase sempre não orientado a programa)
● Quanto a conjunto de instruções
● RISC ou CISC
● Quanto a localização de programas e dados
● Harvard ou Von Neumann
● Quanto ao tempo de execução de suas instruções
● De ciclo de máquina único
● De múltiplos ciclos de máquina
1
Concepção a partir do conhecimento da Arquitetura do
seu Conjunto de Instruções (ISA)
2
Concepção a partir do conhecimento da Arquitetura do
seu Conjunto de Instruções (ISA)
● Operações envolvidas na execução de qualquer instrução
● Busca, Decodificação e Execução
3
Concepção a partir do conhecimento da Arquitetura do
seu Conjunto de Instruções (ISA)
● Exemplo de possíveis representações em linguagem de máquina:
● Caso sejam considerados as referências:
● Para identificação dos registradores Ra = 01 e Rb = 10
● Como endereços de Var1 = 0000, de Var2 = 0001 e de Var3= 0011
● Como códigos de instruções LD = 0001, ADD = 0011 e ST = 0010
● Para o formato da instrução:
Código de operação Operando 1 Operando 2
(4 bits) (rRg - 2 bits) (rRg – 2bits ou EndMem – 4 bits)
4
Concepção a partir do conhecimento da Arquitetura do
seu Conjunto de Instruções (ISA)
● Exemplo de possíveis representações em linguagem de máquina:
● Para identificação dos registradores Ra = 01 e Rb = 10 e Rc = 11
● Como endereços de Var1 = 0000, de Var2 = 0001 e de Var3= 0011
● Como códigos de instruções LD = 0001, ADD = 0011 e ST = 0010
● Formatos das instruções:
Código de Oper. destino Operando fonte 1 Oper. fonte 2 (Rs2 de 2 bits
operação de 4 bits (Rd de 2 bits) (Rs1 - 2 bits) ou EndMem de 4 bits)
Código de Operando fonte ou destino Operando 2
operação de 4 bits (Rs ou Rd de 2 bits) (EndMem de 4 bits)
6
Modelo conceitual básico para microcontroladores
orientados a programa (de uso geral ou específico)
7
Operações típicas de movimentação em um datapath
8
Operações típicas de movimentação em um datapath
9
Dicas
● Modelo de FSMD
Ref. Vahid
10
Dicas
● Modelo correspondente para a FSM
Ref. Vahid
11
Projeto RTL de um microcontrolador de 16 bits:
Atividades propostas
● Parte 1
● Definição do conjunto de instruções (a serem sugeridas)
● Definição do formato das instruções com 32 bits (a ser sugerido)
● Propor uma MdED (FSMD) para o microcontrolador
● Descrever a máquina de estado de dados por ASMChart
● Procurar identificar blocos que possam compor o Datapath
12
Projeto RTL de um microcontrolador de 16 bits:
Sugestões para definição do conjunto de instruções
● Instruções de operação com registradores:
● ADD, SUB, AND, OR, XOR, SHL, SHR Exs: ADD rd, rs1, rs2
● SHR Rd, Rs1, DImd
● Instruções de operação com registradores e dado imediato
● ADDI, SUBI, ANDI, ORI, XORI Ex: ADDI rd, rs1, DImd
● Instruções de transferência entre endereço de memória e registrador
● LD, ST Ex: LD rd, [EndMD]
● Instruções de desvio condicional
● JEQ, JLT Ex. JEQ Rd, Rs1, EndMP
● Instruções de desvio incondicional, chamada e retorno de subrotina (função)
● JMP, CALL, RET Ex. JMP EndMP
● Instruções de transferência entre registradores de E/S e registradores de trabalho
● IN, OUT Exs. IN rd, RegIn
● OUT rs1, RegOut
13
Projeto RTL de um microcontrolador de 16 bits:
Sugestões para definição do formato das instruções
● Formato das instruções, todas com 32 bits:
31 28 23 19 15 3 0
Ident. Op Code Rd Rs1 Complemento Rs2
de 3 de 5 de 4 de 4 de 12 bits de 4
bits bits bits) bits) bits)
DImed
EndMD
EndMP
14
Atividades
● Parte 2
● Construir o Datapath
● Identificar sinais de controle e de status para o conjunto
Datapath/Controlador
● Transformar a FSMD em uma FSM que possa controlar o fluxo de
dados
15
Atividades
● Parte 3
● Descrever por HDL o controlador, seguindo modelo a ser sugerido
● Descrever por HDL os blocos construtivos do Datapath
● Descrever por HDL o Datapath, instanciando seus blocos construtivos
● Instanciar o Datapath e o controlador no Microcontrolador
● Sugestões: procurar fazer simulações e testes de todos os módulos
projetados no Quartus II
● Escrever um pequeno programa em Assembly para testes e simulações.
● Sugestões*: usar as chaves do kit DE2 para entrada de instruções e dados
e os LEDS da DE2 para visualizar os resultados. Usar push-buttons ou
chaves da DE2 para sinais de clock e de comando necessários a
sincronização das operações desejadas. * Se possível usar a DE2.
16