Download - Introdução a Sistemas Digitais - UFRGS
![Page 1: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/1.jpg)
3Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
Introdução a Sistemas DigitaisIntrodução a Sistemas Digitais
Projeto RTL: parte operativa (PO) e parte de controle (PC).
Projeto da parte operativa (PO) : multiplexadores, barramento, paralelismo, analise de área x desempenho.
Projeto da parte controle (PC) : máquina de estados, microprogramação, analise de área x desempenho.
Exemplos: fluxogramas ASM vistos anteriormente.
![Page 2: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/2.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3Parte de Controle e Parte OperativaParte de Controle e Parte Operativa
Unidade de Controle:-Modelada por FSM-Define uma sequencia de ações conforme o relógiocontrolando o datapath e blocos externos.
Unidade de Caminhos de Dados:-Modelada por transferência entreregistradores (RT)-Define transformações sincronas e assincronas de dados ao longo do bloco.
![Page 3: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/3.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ModeloModelo ParteParte OperativaOperativa –– ParteParte de de ControleControle
OperadoresRegistradores
Conexões
Máquina deEstados
status
comandos
relógio
E/S E/S
PCPO
![Page 4: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/4.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ConsideraçõesConsiderações
• A partir do fluxograma pode-se obter um bloco de controle onde cada bloco ASM do fluxograma corresponderá a um estado no controle. (desperdício x tecnicas de otimização)
• Fluxograma possui operações factiveis do ponto de vista de sistemas digitais.
• Operações que podem ser realizadas em um ciclo de relógio.
• Decisão dos recursos disponíveis na parteoperativa, interdependencia com o projeto daparte de controle.
![Page 5: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/5.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3DiferençasDiferenças entreentre LinguagemLinguagem X HardwareX Hardware
Custo das conexões
• Durante a simulação (Matlab, C, etc…), o custo de uma ligaçãoentre uma variável e outra é gratuíta. Isto não reflete a realidadedos circuitos.
• A temporização ou o atraso dos componentes envolvidos no projetoestá escondida quando se usa linguagem de alto nível.
![Page 6: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/6.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ProjetoProjeto do do BlocoBloco OperacionalOperacional (PO)(PO)
Conjunto de Registradores
Rede de Interconexões
Conjunto de Operadores
Rede de Interconexões
![Page 7: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/7.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ConexõesConexões com com MultiplexadoresMultiplexadores
• m registradores de n-bits cada• Cada registrador tem um mux de m:1 de n-bits por entrada• Se Cm é o custo de 1 mux 2:1
Custo total = m * Cm * (n-1)
n*m bits
R0 R1 Rm-1clk
enR0
C0
clk clk
enR1enR0
enRm-1
C1 Cm-1
![Page 8: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/8.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ConexõesConexões com com MultiplexadoresMultiplexadores
Transferências simultaneas = + paralelismo
R0 R1 R2clk
enR0
C0
clk clk
enR1enR0
enR2
C1 C2
Rm-1clk
enRm-1
Cm-1
R0 ← R1 ao mesmo tempo que R2 ← Rm-1
![Page 9: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/9.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ConexõesConexões com com BarramentoBarramento
• m registradores de n-bits cada• Se Cb é o custo do buffer de 3 estados
Custo total = m * Cb * n ou 2 * m * Cb * n
n bits
R0 R1 Rm-1
ENW0
ENR0
ENW1
ENR1
ENWm-1
ENRm-1
clk clk clk
![Page 10: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/10.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ConexõesConexões com com BarramentoBarramento
Serialização das transferências
R0 R1 R2
ENW0
ENR0
ENW1
ENR1
ENW2
ENR2
clk clk clkRm-1
ENWm-1
ENRm-1
clk
0
Exemplo: R0 ← R1 ciclo de clock 1
0
![Page 11: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/11.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ConexõesConexões com com BarramentoBarramento
Serialização das transferências
R0 R1 R2
ENW0
ENR0
ENW1
ENR1
ENW2
ENR2
clk clk clkRm-1
ENWm-1
ENRm-1
clk
0
Exemplo: R2 ← Rm-1 ciclo de clock 2
0
![Page 12: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/12.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ComparaçãoComparação MuxMux X X BarramentoBarramento
Custo mux para inserção de registradores
(m+1) * Cm * (n-1+m) : quadrádico em termos de m
Custo barramento para inserção de registradores
(m+1)*Cb*n
![Page 13: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/13.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ProjetoProjeto dada PO com MUXPO com MUX
• Determinar os recursos a serem disponiveis na PO paradeterminar o paralelismo das operações.
1. Montagem da tabela de transferência: tabela onde cada variávelparece em uma coluna e as linhas são ordenadas pelo estado. Todas as operações que mudam a variavel naquele estado sãoregistradas.
2. Alocação de variáveis em registradores. Determinar quantasvariaveis irão ser alocadas em registradores tentado minimizar o numero de registradores diferentes. (register alocation and life-time analysis)
3. Escolha dos operadores necessários
![Page 14: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/14.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3Exemplo: Multiplicador por somas Exemplo: Multiplicador por somas sucessivassucessivas
Início P← 0AR ← ABR ← BACC ← 0
Idle
start0
1 AR
BR
ACC ← ACC + AR
BR ← BR - 1
S1
1
1
0
0
R ← ACC
P ← 1
done
![Page 15: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/15.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3PO com PO com operadoresoperadores e e muxmux p/ p/ multiplicaçãomultiplicação
A
AR 1
Somador/Subtrator +/-
ACC BR
=0=0
B
R
Reset
![Page 16: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/16.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3PO com PO com operadoresoperadores e e muxmux p/ p/ multiplicaçãomultiplicação
A
AR ACC 1 BR
=0=0
B
R
Reset
Somador Subtrator
Aumento de Paralelismo
![Page 17: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/17.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3PO com PO com BarramentoBarramento p/ p/ multiplicaçãomultiplicação
AR BR ACC 1 R1
R2
E/S
cargaR2
cargaR1
Função +/-
1 transferência por ciclo
![Page 18: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/18.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3PO com PO com BarramentoBarramento p/ p/ multiplicaçãomultiplicação
AR BR ACC 1 R1
R2
E/S
cargaR2
cargaR1
Função +/-
2 transferências por ciclo
E/S
![Page 19: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/19.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ProjetoProjeto BlocoBloco de de ControleControle (PC)(PC)
FunçãoPróximoEstado
Função de Saída
Parte Operativa
Estado Atual
Entrada Externas
Status
![Page 20: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/20.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3TemporizaçãoTemporização PCPC--POPO
Relógio
Estado Atual
Função Saída
Parte Operativa
Função Prox.Estado
f = 1tpFF + TpFS + tpPO + tpFPE + tsetFF
![Page 21: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/21.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ProjetoProjeto BlocoBloco de de ControleControle (PC)(PC)
FunçãoPróximoEstado
Função de Saída
Parte Operativa
Estado Atual
Entrada Externas
Status
![Page 22: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/22.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3TemporizaçãoTemporização PCPC--POPO
Relógio
Estado Atual
Função Saída
Parte Operativa
Função Prox.Estado
f = 1tpFF + TpFS + tpPO + tpFPE + tsetFF
Status
Maior numero de estados na PC
![Page 23: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/23.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3ControleControle de de CargaCarga do do RegistradorRegistrador
R1relógio
Condição
R1
condição
![Page 24: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/24.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3Exemplo: Extrator de Raiz QuadradaExemplo: Extrator de Raiz Quadrada
Ler X-- inicializaçãoR=1; d=2; s=4, t=1;Enquanto (t==1) {r=r+1;d=d+2;s=s+d+1;t=ac(s,x);}devolve(r);}ac(a,b)semsinal a, b;{Se (a<=b) retorna (1); Senão retorna (0);}
Numeros inteiros e positivos
Extrator Raiz Quadrada
clkresetstart
x
ready
r
![Page 25: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/25.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3Exemplo: Extrator de Raiz QuadradaExemplo: Extrator de Raiz Quadrada
Raiz ← dado
R=1; d=2; s=4, t=1
Idle
start0
1
r ← r+1;d ← d+2;s ← s+d+1;
1
done
t ← S ≤ Raiz
S1
0
![Page 26: Introdução a Sistemas Digitais - UFRGS](https://reader030.vdocuments.pub/reader030/viewer/2022012613/6198d39936fd8d717f54d0e5/html5/thumbnails/26.jpg)
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt
3Exemplo: Extrator de Raiz QuadradaExemplo: Extrator de Raiz Quadrada
• Projetar:– Projeto da Parte Operativa (baseada em multiplexadores) – Parte de Controle (FSM)
Exercicio