introdução a sistemas digitais - ufrgsfglima/aula26_a.pdf · aula disciplina: sistemas digitais...

30
Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 1 / 30 25 Introdução a Sistemas Digitais Introdução a Sistemas Digitais Circuitos Assincronos Referencias: www.ee.technion.ac.il/courses/048878 www.ee.technion.ac.il/courses/048878 de de Ran Ginosar

Upload: lenhan

Post on 28-Jan-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 20061 / 30

25

Introdução a Sistemas DigitaisIntrodução a Sistemas Digitais

Circuitos Assincronos

Referencias:www.ee.technion.ac.il/courses/048878www.ee.technion.ac.il/courses/048878 de de Ran Ginosar

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 2 / 30

25MotivaçãoMotivação

54 Mbps802.11

1 MbpsBluetooth

100 MbpsEtherent

133 MHzCPU

12 MbpsUSB

384 Kbps3G

75 MHzDSP

20 MHzFlash Memory

50 MHzMemory

66 MHzPCI

1 MHzCF

System-on-a-Chip (SOC) podem ter mais que 12 dominios de relógio

Desafio do projeto de sistemas com multiplos relogios (alta complexidade)

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 3 / 30

25CircuitosCircuitos SíncronosSíncronos

Todos os eventos são sincronizados com o relógio (clk) global.

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 4 / 30

25CircuitosCircuitos SíncronosSíncronos

Vantagens:• Simples de implementar sequencia• Amplamente conhecido e compreendido• Componentes disponiveis para re-uso.

Desvantagens:• A distribuição do clock é dificil devido ao clock skew.• Sensivel a variações de processo, temperatura e tensão• Não é modular• Alto consumo de potencia.

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 5 / 30

25CircuitosCircuitos AssincronosAssincronos

Sincronização é atingida sem o uso de relógio (clk) global.

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 6 / 30

25CircuitosCircuitos AssincronosAssincronos

Vantagens:• Não há problemas de distribuição de relógio• Desempenho baseado na média e não no pior caso como nos

circuitos sincronos. • Adaptavel a variações de processo e do ambiente (tensão,

temperatura, etc).• Componente modularizáveis• Baixa dissipação de potênciaDesafios:• Falta de ferramentas de CAD para o desenvolvimento• Aumento consideravel de área para reduzir hazards e glitches• A media do atraso as vezes pode ser grande• Falta de projetistas com experiência em assincronos.

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 7 / 30

25IlustraçãoIlustração

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 8 / 30

25HistoriaHistoria dos dos CircuitosCircuitos AssincronosAssincronos

• Qualquer metodo hoje em dia aplicado no desenvolvimento de circuitos assincronos refere-se a duas raízes muito importantes:

• Huffman – circuitos de modo fundamental

• David E. Muller – circuitos independentes de velocidade, atualmente professor na Universidadede Illinois.

UCSC computer scientist

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 9 / 30

25PorPor queque pensarpensar emem circuitoscircuitos assíncronosassíncronos

• Nós estamos acostumados com o projeto de circuitos sincronos. – Lógica e aspectos temporais são simples.

Argumentos comuns de pensar em circuitos Assincronos:– Tecnicas de baixa potencia funcionam– Conseguimos atingir alta frequencia– Baixa sensibilidade a variações do processo, tensão e

temperatura– Alta modularidade (SoC)– Não tem distribuição de relógio (clk) e problemas de

temporização. – Circuitos mais seguros

• Importante: mas não conseguimos todas as caracteristicas a cimaao mesmo tempo!!!

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 10 / 30

25PorPor queque nãonão usamosusamos maismais circuitoscircuitosassincronosassincronos??

• Aumento em área

• Dificil de projetar– Não é facilmente decomposto em blocos lógicos menores– Converter sincrono para assincrono é dificil– Temos que aprender algo novo!

• Poucas ferramentas de CAD tratam circuitos assincronos

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 11 / 30

25PorPor queque se se importamosimportamos com com assincronosassincronos

entãoentão??

• Porque temos que.• Circuitos sincronos pode ser um bom modelo para complexidades

pequenas mas pode ser um grande desafio para complexidadesgrandes (metaestabilidade, clock skew).

• A realidade é que circuitos assincronos podem nos trazer muitasvantagens. Exemplo de processadores, SOC com circuitos e protocolos de comunicação assincronos.

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 12 / 30

25DefiniçãoDefinição

• Circuitos Assíncronos possuem: – elementos essenciais que compõem a sua estrutura (lógica de

controle, armazenamento e processamento das informações). • Célula M de N entradas• Célula Muller (ou C-element)• Registrador Assincrono

– Protocolos de comunicação entre os blocos que gera a sincronização entre os blocos através de sinais de request e acknowledge.

• Handshake (2 ou 4 fases)• Codificação de dados na comunicação

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 200613 / 30

25

ProtocolosProtocolos de de ComunicaçãoComunicação

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 14 / 30

25SubstituindoSubstituindo o clock o clock porpor HandshakingHandshaking

R1 R2 R3CL3 R4CL4

CLK

CLK

CLK GATING SIGNAL

R1 R2 R3CL3 R4CL4

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 15 / 30

25

R1 R2 R3CL3

R4

CTL CTL CTL CTL

CL4

REQ

ACK

R1 R2 R3CL3 R4CL4

LINK / CHANNELTOKEN FLOWCL TRANSPARENT TO HANDSHAKING

REQACKDATA

EXAMPLE:

SubstituindoSubstituindo o clock o clock porpor HandshakingHandshaking

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 16 / 30

25FluxoFluxo de dadode dado

• Tranferencia de um dado = um ciclo de handshake• Registrador k está FULL quando tem dado• Quando registrador k+1 recebe o dado de k,

– Registrador k+1 torna-se FULL– Registrador k agora tem BUBBLE (≡ dado já foi copiado)

• FULL registrador não pode receber dado.• Apenas BUBBLE registrador pode receber dado.

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 17 / 30

25ClassificaçãoClassificação dos dos ProtocolosProtocolos

• Handshake / Sinalização: 2-phase or 4-phase

• Direção: Push or pull• Codificação: Bundled data (single rail), or

dual rail (1-of-2), or1-of-n (e.g. 1-of-4), orm-of-n, …

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 18 / 30

25““PreservaçãoPreservação” do dado” do dado

• Dados não disaparecem• Dados não aparecem (de nenhum lugar)• Um dado não substitui o outro• Um bloco (registrador ou CL) com n entradas e m saídas:

– (quando está em BUBBLE) espera por n dados em suasentradas

– Gera m dados em suas saidas.

n m

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 19 / 30

25NosNos canaiscanais, , háhá portasportas

• As portas conectadas nos canais de comunicação podem ser passivas e ativas

– Um canal possui uma porta ativa e uma passiva.

– As portas ativas iniciam a comunicação– As portas passivas pacientemente esperam.

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 20 / 30

25ProtocolosProtocolos de Handshakede Handshake

• Bundled data (conhecido como “single rail”)

REQ

ACK

DATA

PUSH CHANNEL(DATA & REQ

SAME DIRECTION)

REQ

ACK

DATA

4 PHASE PROTOCOL:ALWAYS LIKE THIS

SOME VARIATIONS

n

(pacote)

Codificação Single Rail

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 21 / 30

25ProtocolosProtocolos de Handshakede Handshake

• Bundled data (conhecido como “single rail”)

REQ

ACK

DATA

PUSH CHANNEL(DATA & REQ

SAME DIRECTION)

REQ

ACK

DATA

2 PHASE PROTOCOL

n

(pacote)

Codificação Single Rail

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 22 / 30

25PressuposiçãoPressuposição BundlingBundling

• Cada linha de dado é um unico fio– “Bundled data” é conhecido como “single rail”

• Um lado de emissor (sender), time(DATA) < time(REQ)

• A ordem dos dados e do request:

Valid(DATA) ° REQ [≡ data valid precedes REQ=1 ]

• Diferenças de atraso nas linhas devem ser analisadas:– Posicionamento e roteamento– Margem de segurança– Inserção de buffer

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 23 / 30

2544--phase phase vsvs 22--phasephase

• “retorna para zero” (RZ), assimgasta tempo e potencia

• “sinaliza por nível”

• “não retorna para zero” (NRZ), assim apresenta menosaumento de potencia

• “sinaliza por transição”• Implementação é mais

complexa

4-phase Protocol 2-phase Protocol

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 24 / 30

25ProtocoloProtocolo 44--phase dual railphase dual rail

• Cada bit de dado é codificado por 2 fios

ACK

DATA

PUSH CHANNEL

ACK

DATA

2n

EMPTY 0 0VALUE d.t d.f

VALID “0” 0 1VALID “1” 1 0Not used 1 1

EMPTY EMPTY EMPTYVALID VALID VALID

E 10

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 25 / 30

25ProtocoloProtocolo 44--phase dual railphase dual rail

• Insensivel ao atraso– Cada bit pode ser propagado em diferente velocidade.

• 4 phase:1. O emissor (sender) envia uma palavra valida (V)2. O receptor (receiver) seta o ACK↑3. Emissor envia palavra vazia (E) (retira do dado)4. Receptor (receiver) seta ACK↓

• Cada mudança é indicada por um acknowledged• Problemas: Glitches, hazards

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 26 / 30

25Bundled DataBundled Data Dual RailDual Rail

aa.t a

a.f

bb.t b

b.f

C REQ

reqSingle Rail Dual Rail

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 27 / 30

25CodificaçãoCodificação: 1: 1--dede--4 4 SinalizaçõesSinalizações

• 2-bits usam 4 fios:– 00 1000– 01 0100– 10 0010– 11 0001– Null 0000

• Ainda usa 2x fios

• Metade das transições necessárias (metade da potência)

• Menos sensibilidade a ruidos

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 28 / 30

25Bundled DataBundled Data 11--ofof--44

a

ab b

C REQ

reqSingle Rail 1-of-4

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 29 / 30

2511--ofof--2 (2 (22--phasephase) ) SinalizaçãoSinalização (dual(dual--rail)rail)

• Cada bit em dois fios• Um fio (xV) indica o valor (0, 1)• O outro fio (xP) ajuda com a fase• Para mudar de um valor para outro:

– Se valor diferente então inverter xV

– Se de mesmo valor então, inverter xP

• Cada bit alterna de valido/valido/… – Não tem valor nulo

• Potencialmente mais rápido que 4-phase dual-rail00 01

10 11

xV xP

Even Odd

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2006 30 / 30

25Acknowledgement / Acknowledgement / IndicaçãoIndicação

• A porta / circuito indica acknowledge da sua entrada se para cadamudança de entrada, existe uma mudança na saída.

• Examplo: fio• Examplo que não apresenta indicação: porta AND

– Indica Acknowledge para todos os 1s: {01,10} 11– Porem não indica acknowledge para 00 {01,10}