• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2022

Share "Introdução a Sistemas Digitais Introdução a Sistemas Digitais"

Copied!
56
0
0

Texto

(1)

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 Ran Ginosarde

(2)

Motivação

25

Motivação

133 MHz CPU

12 Mbps USB 384 Kbps

3G 75 MHz

DSP 20 MHz

Flash Memory 50 MHz Memory

66 MHz PCI

1 MHz CF

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

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

(3)

Circuitos

25

Circuitos Síncronos Síncronos

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

(4)

Circuitos

25

Circuitos Síncronos Sí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.

(5)

Circuitos

25

Circuitos Assincronos Assincronos

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

(6)

Circuitos

25

Circuitos Assincronos Assincronos

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ência Desafios:

• 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

(7)

Ilustração

25

Ilustração

(8)

Historia

25

Historia dos dos Circuitos Circuitos Assincronos Assincronos

• 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 Universidade de Illinois.

UCSC computer scientist

(9)

Por

25

Por que que pensar pensar em em circuitos circuitos assíncronos assí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 cima ao mesmo tempo!!!

(10)

Aula 25

Por Por que que não não usamos usamos mais mais circuitos circuitos assincronos

assincronos ? ?

• 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

(11)

então

25

então ? ?

• Porque temos que.

• Circuitos sincronos pode ser um bom modelo para complexidades pequenas mas pode ser um grande desafio para complexidades grandes (metaestabilidade, clock skew).

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

(12)

Definição

25

Definiçã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

(13)

25

Protocolos

Protocolos de de Comunicação Comunicação

(14)

Substituindo

25

Substituindo o clock o clock por por Handshaking Handshaking

R1 R2 CL3 R3 CL4 R4

CLK

CLK

CLK GATING SIGNAL

R1 R2 CL3 R3 CL4 R4

(15)

25

R1 R2 R3

CL3

R4

CTL CTL CTL CTL

CL4

REQ ACK

R1 R2 CL3 R3 CL4 R4

LINK / CHANNEL

TOKEN FLOW CL TRANSPARENT TO HANDSHAKING

REQ ACK

EXAMPLE: DATA

Substituindo

Substituindo o clock o clock por por Handshaking Handshaking

(16)

Fluxo

25

Fluxo de dado de 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.

(17)

Classificação

25

Classificação dos dos Protocolos Protocolos

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), or

1-of-n (e.g. 1-of-4), or m-of-n, …

(18)

25

Preservação Preservaçã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 suas entradas

– Gera m dados em suas saidas.

n m

(19)

Nos

25

Nos canais canais , , portas portas

• 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.

(20)

Protocolos

25

Protocolos de Handshake de 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

(21)

Protocolos

25

Protocolos de Handshake de 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

(22)

Pressuposição

25

Pressuposição Bundling Bundling

• 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

(23)

4

25

4 - - phase phase vs vs 2 2 - - phase phase

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

• “sinaliza por nível”

• “não retorna para zero” (NRZ), assim apresenta menos

aumento de potencia

• “sinaliza por transição”

• Implementação é mais complexa

4-phase Protocol 2-phase Protocol

(24)

Protocolo

25

Protocolo 4 4 - - phase dual rail phase dual rail

• Cada bit de dado é codificado por 2 fios

ACK

DATA PUSH CHANNEL

ACK DATA

2n

EMPTY 0 0 VALUE d.t d.f VALID “0” 0 1 VALID “1” 1 0 Not used 1 1

EMPTY VALID EMPTY VALID EMPTY VALID

E 1

0

(25)

Protocolo

25

Protocolo 4 4 - - phase dual rail phase 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

(26)

Bundled Data

25

Bundled Data ÅÆ ÅÆ Dual Rail Dual Rail

a a.t

a a.f

b b.t b

b.f

C

REQ

req

Single Rail Dual Rail

(27)

Codificação

25

Codificação : 1 : 1 - - de de - - 4 4 Sinalizações Sinalizaçõ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

(28)

Bundled Data

25

Bundled Data ÅÆ ÅÆ 1 1 - - of of - - 4 4

a

a

b b

C

REQ

req

Single Rail 1-of-4

(29)

1

25

1 - - of of - - 2 ( 2 ( 2 2 - - phase phase ) ) Sinalização Sinalizaçã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-rail

00 01

10 11

x

V

x

P

Even Odd

(30)

Acknowledgement /

25

Acknowledgement / Indicação Indicação

• A porta / circuito indica acknowledge da sua entrada se para cada mudanç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}

(31)

25

Elementos

Elementos Básicos Básicos da da Lógica Lógica Assíncrona

Assíncrona

(32)

Celula

25

Celula Threshold Threshold ou ou M de N M de N

• A célula Threshold gera zero na saida, somente se todas as entradas forem zero, do contrario, se a maioria dos dados de

entrada forem 1 entao a célula gera 1 na saida, em todos os outros casos, não há mudanças na saida.

• Porem haver células 2 out-of- 3, 3 out-of- 4, 4 out-of- 5, etc…

• Esta célula tende a gravar mais valore ‘1’s que ‘0’s.

n m

(33)

Exemplo

25

Exemplo de dados de dados da da célula célula 2 2 - - out out - - of of - - 3 3

Exemplo de 2-out-of-3

Em VHDL…

(34)

Células

25

Células Muller Muller ou ou C C - - element element

• Os circuitos funcionam garantidamente independente do atraso das portas assumindo que o atraso dos fios pode ser desconsiderado.

• Esta célula pode ser vista como um latch com set e reset assincrono.

• A célula Muller pode ser de n entradas.

Função Lógica:

Cout = [Cin . (a+b)] + (a.b) onde Cin = Cout.

Logo há uma realimentação, que caracteriza um elemento de armazenamento.

(35)

Muller C

25

Muller C - - Element Element

Especificação alternativa (VHDL):

If a=b then z:=a a=b Æz:=a z:=ab+z(a+b) 0 0 0

a b z

0 1 no change 1 0 no change 1 1 1

(36)

Muller C

25

Muller C - - Element Element

0 0 0 0

0 0 1 no change a b c z

0 1 0 no change 0 1 1 no change 1 0 0 no change 1 0 1 no change 1 1 0 no change 1 1 1 1

C

ARCHITECTURE AA OF CC IS SIGNAL ctemp: std_logic;

BEGIN

PROCESS(a,b,c) begin

if (a=b and a=c) then ctemp <= a;

else

ctemp <= ctemp;

end if;

a b c

z

(37)

Porta

25

Porta Muller Muller ou ou C C - - element element

Implementação 2

Implementação 3

Implementação 4

(38)

Exemplo

25

Exemplo

DIMS (Delay Insensitive Minterm Synthesis) Duas entradas

em dual-rail

Para portas de 3-entradas, usa-se 8 C-elementos de 3 entradas.

Exemplo de porta de 2-entradas:

af at

bf bt

zf zt

(39)

Exemplo

25

Exemplo de Dual de Dual - - rail Latch rail Latch

(40)

25

Exemplos

Exemplos

(41)

Estilo

25

Estilo de Pipeline de Pipeline

• Todos baseados em Muller Pipeline

• 4-phase bundled data:

– Similar ao pipeline sincrono

– Baseado em pressuposições temporais.

• 2-phase bundled data:

– Conhecido como micropipeline

• 4-phase dual rail:

– Conhecido como o Muller pipeline original

(42)

Muller Pipeline

25

Muller Pipeline

“The” delay-insensitive handshake machine

C[i] accepts 1/0 from C[i-1] only if C[i+1]=0/1

Think of 1010101.. as waves: 10 10 10 1..

The C-elements propagate waves precisely

Timing depends on local delays, may vary along the pipe

If RIGHT is quiet, pipe will fill and stall

Same for 4-phase, 2-phase

Symmetric – same right-to-left (like electrons and holes)

C

C[i+2]

C

C[i+1]

C

C[i]

C

C[i-1]

ACK ACK ACK ACK

REQ REQ REQ REQ

ACK

REQ ACK

REQ LEFT

ACK

REQ

RIGHT

4-phase single rail (bundled data)

(43)

Micropipelines

25

• Transições de sinalização

• Possui “capture-pass” latches que alternam entre capturar e passar

C C

ACK ACK

REQ REQ

ACK

REQ

LATCH LATCH

C P C P

C

LATCH

C P

ACK

REQ

2-phase single rail (bundled data)

(44)

4

25

4 - - phase bundled data circuits phase bundled data circuits

• Parecem como um pipeline sincrono com clock locais.

• Quando full, os C-elements são 1010101…,

Æ apenas metade dos latches guardam os valores

• Similar aos flip-flops mestre-escravos

• A velocidade é limitada pelo handshake

(45)

4

25

4 - - phase bundled data circuits phase bundled data circuits

C

ACK ACK

REQ REQ

LATCH

EN

FUNC.

BLOCK DELAY C

LATCH

EN

FUNC.

BLOCK DELAY

ACK

REQ

C

ACK

REQ

LATCH

EN

FUNC.

BLOCK DELAY

C C

C

ACK ACK ACK

REQ REQ REQ

ACK

REQ

LATCH LATCH LATCH

EN EN EN

(46)

Circuitos

25

Circuitos 4 4 - - phase dual rail phase dual rail

• Muller pipeline

• Sem REQ – embutido no dado

C

C C

C C C

ACK

ACK

d.t

d.f

d.t

d.f

(47)

4

25

4 - - phase dual rail phase dual rail many bits many bits

C

C C

C C C

C

C C

C C C

C C C

ACK

d[0].t

d[0].f d[1].t

d[1].f

ACK

d[0].t

d[0].f d[1].t

d[1].f

(48)

Exemplo

25

Exemplo

Especificação do problema da Loja de Vinho:

(49)

Canais

25

Canais de de Comunicação Comunicação

(50)

25

(51)

25

(52)

25

(53)

Circuito

25

Circuito que que implementa implementa protocolo protocolo

Muller Cell

(54)

Two

25

Two - - phase Protocol with Bundled Data phase Protocol with Bundled Data

(55)

Two

25

Two - - phase Protocol with Dual Rail phase Protocol with Dual Rail

Request está embutido no dado

(56)

Two

25

Two - - phase Protocol with Bundled Data phase Protocol with Bundled Data

Com uma nova loja

Referências

Documentos relacionados

No modelo, é descrito que a descarga parcial é causada por um aumento do campo elétrico na cavidade que é, em geral, provocado pela contribuição do campo devido à tensão aplicada

Contudo, não se observou diferença na taxa de sobrevivência em relação ao número de imunizações; o Imunizações com parasitos vivos induzem elevados níveis de IL-10 em

Através das informações apresentadas, concluiu-se que deve haver planejamento estruturado para a inserção das micro e pequenas empresas nas redes sociais principal ferramenta

The objective of this work was to assess the energy balance components such as net radiation and sensible, latent and soil heat fluxes by using the Surface Energy Balance Algorithm

A análise à oferta turística na região Norte do país teve como intuito centrar o estudo nos estabelecimentos associados ao Turismo no espaço rural e Turismo

Na 30º Reunião Ordinária do Conselho Nacional de Recursos Hídricos – CNRH, realizada no dia 17 de dezembro de 2013, em Brasília/DF, foi discutido e aprovado

Em relação ao ambiente, para compor esse breve panorama sobre a atuação do terapeuta ocupacional foram usados os autores: Martins, Barbosa e Gonzaga (2002) e

Cada vez mais competitivo, está gradativamente difícil se inserir e se manter no mercado de trabalho. A comunidade trans*, pertencente a este grupo, enfrenta