63
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 9-T 4. Projeto de Sistemas Digitais no Nível RT. Estudo de Caso. Prof. José Luís Güntzel [email protected] www.inf.ufsc.br/~guntzel/ine5406/ine5406.html

SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

  • Upload
    vanbao

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

Universidade Federal de Santa Catarina Centro Tecnológico

Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Aula 9-T 4. Projeto de Sistemas Digitais no Nível RT. Estudo de Caso.

Prof. José Luís Güntzel [email protected]

www.inf.ufsc.br/~guntzel/ine5406/ine5406.html

Page 2: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.2 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Revisando Memórias

•  Registradores ↑ Alta velocidade ↓ Pequena quantidade de informação

•  Memória ↑ Grande quantidade de informação ↓ Baixa velocidade

Page 3: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.3 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Organização de uma memória RAM

ende r eço e m ende r eço e m con t eúdo b i ná ri o dec im a l ( exe m p l o) 0…000 0 011…0100 0…001 1 011…0100 0…010 2 101…1100 0…011 3 101…0001 0…100 4 011…0101 0…101 5 111…0110 0…110 6 101…0001 0…111 7 000…1101

: : : :

1…110 2 n - 2 000…1100 1…111 2 n - 1 100…1100

m b its

Page 4: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.4 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Organização de uma memória RAM

Fonte: RABAEY, Jan M. et al. Digital Integrated Circuits - A Design Perspective. 2nd edition (adaptado)

Palavra 0

Célula de armazenamento

M bits

N palavras

S 0 S 1 S 2

S N-2 S N-1

Entrada-Saída (M bits)

Palavra 1 Palavra 2

Palavra N-2 Palavra N-1

...

Page 5: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.5 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Organização de uma memória RAM

Fonte: RABAEY, Jan M. et al. Digital Integrated Circuits - A Design Perspective. 2nd edition (adaptado)

K = log2N

A 0 A 1

A K-1 D

ecod

ifica

dor K

:N

Palavra 0

Célula de armazenamento

M bits

Entrada-Saída (M bits)

Palavra 1 Palavra 2

Palavra N-2 Palavra N-1

... ...

CS

Page 6: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.6 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Organização externa de uma RAM

...

...

Im-1 I1 I0

Om-1 O1 O0

An-1

A1

A0

CS

RWS

RAM 2n x m

...

I/Om-1 I/O1 I/O0

An-1

A1

A0

CS

RWS

RAM 2n x m

(a) (b)

Page 7: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.7 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Organização de Memória SRAM

Fonte: VAHID, Frank. Sistemas Digitais: projeto, otimização e HDLs. Bookman, 2008.

M bits

... ...

Page 8: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.8 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Fonte: VAHID, Frank. Sistemas Digitais: projeto, otimização e HDLs. Bookman, 2008.

Organização de Memória SRAM M bits

... ...

Page 9: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.9 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Fonte: VAHID, Frank. Sistemas Digitais: projeto, otimização e HDLs. Bookman, 2008.

Organização de Memória SRAM M bits

... ...

Page 10: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.10 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Fonte: VAHID, Frank. Sistemas Digitais: projeto, otimização e HDLs. Bookman, 2008.

Organização de Memória DRAM M bits

... ...

Page 11: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.11 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Temporização - Leitura

t0 t1 t2 t3 t4 t5

access time

output-enable time

output-hold time

output-disable time

endereço válido

RWS

CS

endereço

dados dados válidos

Diagrama de Tempos para um Ciclo de Leitura

Fonte: GAJSKI, Daniel D. Principles of Digital Design

Page 12: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.12 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Temporização - Escrita Diagrama de Tempos para um Ciclo de Escrita

t0 t1 t2 t3 t4 t5

data-setup time address-

setup time

address- hold time

endereço válido

RWS

CS

endereço

dados dados válidos

write pulse width data-

hold time

Fonte: GAJSKI, Daniel D. Principles of Digital Design

Page 13: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.13 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

•  A SAD é uma operação realizada sobre duas matrizes de pixels (A e B), gerando um valor único:

Matriz B (nxn)

Matriz A (nxn)

Exemplo 3: cálculo da SAD (Sum of Absolute Differences) Projetando um Sistema Digital

SAD = ∑ ABS ( pixel_A(i,j) – pixel_B(i,j) ) i=0, j=0

i<=7, j<=7

Page 14: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.14 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

•  O valor calculado (SAD) é utilizado como uma medida do grau de semelhança entre as duas matrizes (e portanto, da semelhança entre as imagens por elas representadas): quanto menor for o valor “SAD” entre duas matrizes, mais semelhantes elas são.

•  O objetivo deste exemplo é estudar sistemas digitais capazes de realizar o cálculo da SAD.

•  A fim de contextualizar o exemplo, as próximas transparências abordam alguns dos princípios da compressão de vídeo digital

Exemplo 3: cálculo da SAD (Sum of Absolute Differences) Projetando um Sistema Digital

Page 15: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.15 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Princípios de Vídeo Digital •  Os equipamentos (digitais ou analógios) armazenam filmes

como sequências de imagens estáticas (ou seja, sequências de fotos)

•  Em um filme, cada imagem estática é chamada de “quadro” (frame, em inglês)

•  Para que as transições entre as imagens estáticas não sejam percebidas pelo olho humano (de modo que enxerguemos um filme), é necessário que a taxa de exibição seja igual ou superior a 30 quadros por segundo (frames per second, ou simplesmente, fps)

Page 16: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.16 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Princípios de Vídeo Digital

•  A qualidade da imagem é diretamente proporcional ao número de pixels de cada quadro.

•  Se não for usada alguma técnica de compressão de vídeo, todos os pixels de todos os quadros precisarão ser armazenados. Neste caso:

–  a quantidade de memória necessária para armazenar filmes (ou trechos de filmes) será enorme

–  a taxa necessária para transmitir um vídeo será ser enorme

Page 17: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.17 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Princípios de Vídeo Digital •  Seja um vídeo sem compressão, com 10 minutos de duração, 30

quadros por segundo, sendo cada pixel armazenado com 24 bits:

Formato Resolução Memória para armazenar 10 minutos de vídeo

SDTV (e DVD) 720x480 pixels 19 GB HDTV 1920x1080 pixels 112 GB

Formato Resolução Taxa requerida p/ transmitir 10 minutos de vídeo

SDTV (e DVD) 720x480 pixels 249 Mbps HDTV 1920x1080 pixels 1,5 Gbps

Fonte: L. Agostini. Desenvolvimento de Arquiteturas de Alto Desempenho Dedicadas à Compressão de Vídeo Segundo o Padrão H.264/AVC. Porto Alegre: PPGC da UFRGS, 2007. Tese de doutorado.

Page 18: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.18 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Princípio da Compressão de Vídeo •  Boa notícia! Nos vídeos, normalmente quadros consecutivos

são bastante semelhantes (Por que será?...) •  Logo, não é necessário armazenar todos os pixels de todos os

quadros! •  Basta que se busquem semelhanças

–  entre as regiões dentro de um quadro: esta é a chamada previsão intraquadro (intraframe prediction)

–  e/ou semelhanças entre quadros próximos: esta é a chamada previsão interquadros (interframe prediction)

•  Em vídeo, a previsão interquadros é a responsável por altas taxas de compressão

Page 19: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.19 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Previsão Interquadros Princípio: •  De tantos em tantos quadros, somente um quadro é

armazenado completamente. Ele recebe o nome de quadro de referência (Qref).

•  Os demais quadros que sucedem (e às vezes, alguns que antecedem também) são armazenados de maneira simplificada, por meio de “vetores de movimento”

Page 20: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.20 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

•  Cada quadro é dividido em sub-matrizes de pixels, denominadas “blocos”. Exemplo hipotético:

4 blocos

4 blocos Origem (0,0)

Cada bloco com 8x8 pixels

Previsão Interquadros

Page 21: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.21 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Previsão Interquadros •  Um determinado quadro é escolhido para ser “referência”(Qref). Todos

os pixels deste quadro serão armazenados. •  Para os quadros Qi que sucedem Qref, serão calculados os “vetores de

movimento” (pois somente estes serão armazenados). •  Assim, para cada bloco bj ∈ Qi será encontrado um vetor de

movimento da seguinte maneira: –  É buscado o melhor “casamento” (matching) entre cada bloco bj ∈

Qi e alguma porção (sub-matriz) de Qref

–  Encontrado o melhor casamento, o bloco de Qi será representado como um par {xi,yi} denominado de “vetor de movimento”, que aponta para a aresta superior esquerda da porção (sub-matriz) em Qref que contém os pixels que serão usados para representar o bloco bj (∈ Qi)

Page 22: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.22 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Etapa de “Estimação de Movimento”

Qref Qi

Page 23: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.23 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento”

Page 24: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.24 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento”

Page 25: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.25 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento”

Page 26: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.26 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento”

Page 27: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.27 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento” Comparando bj ∈ Qi com bloco ∈ Qref cuja origem é x=0, y=0

Page 28: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.28 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento” Comparando bj ∈ Qi com bloco ∈ Qref cuja origem é x=1, y=0

Page 29: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.29 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento” Comparando bj ∈ Qi com bloco ∈ Qref cuja origem é x=2, y=0

Page 30: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.30 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento” Comparando bj ∈ Qi com bloco ∈ Qref cuja origem é x=3, y=0

Page 31: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.31 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Etapa de “Estimação de Movimento” Comparando bj ∈ Qi com bloco ∈ Qref cuja origem é x=4, y=0

Page 32: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.32 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Melhor casamento! Logo, vetor de movimento: x=5, y=0

Etapa de “Estimação de Movimento”

Page 33: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.33 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

(x0,y0) (x1=5, y1=0) (x2,y2) (x3,y3)

(x4,y4) (x5,y5) (x6,y6) (x7,y7)

(x8,y8) (x9,y9) (x10,y10) (x11,y11)

(x12,y12) (x13,y13) (x14,y14) (x15,y15)

Qref Qi

Cada bloco de bj ∈ Qi será representado por um vetor de movimento (ao invés 8x8 pixels)

Etapa de “Estimação de Movimento”

Page 34: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.34 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Qref Qi

Cada vez que se compara um bloco bj ∈ Qi com um bloco de Qref, é preciso calcular a SAD entre duas matrizes de pixels

Etapa de “Estimação de Movimento”

Page 35: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.35 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Cálculo do SAD (Sum of Absolute Differences) Cada vez que se compara um bloco bj ∈ Qi com uma porção de Qref, é preciso calcular a SAD entre duas matrizes

Matriz B: bj ∈ Qi

Matriz A: Porção de 8x8 pixels ∈ Qref

Calcular para cada par de pixels { pixel_A(i,j), pixel_B(i,j) } com i ∈[0,7] e j ∈[0,7]

SAD = ∑ ABS ( pixel_A(i,j) – pixel_B(i,j) ) i=0, j=0

i<=7, j<=7

Page 36: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.36 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetar um sistema digital capaz de realizar o cálculo da SAD entre um bloco bj ∈ Qi e uma porção de pixels (de mesmo tamanho) ∈ Qref.

•  Cada pixel é representado por 1 byte (8 bits) •  O bloco bj e a porção de Qi tem 8x8 pixels cada e (já) estão armazenados

nas memórias B e A, respectivamente.

Exemplo 3: cálculo da SAD (Sum of Absolute Differences) Projetando um Sistema Digital

Contém 8x8 pixels ∈ bj

Contém 8x8 pixels ∈ Qref

Cálculo do SAD

? ? ?

SAD ck

início reset pronto

end read pA pB end read

? ?

Memória A

Memória B

Page 37: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.37 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

•  O sinal início=1 indica que um cálculo de SAD deve iniciar. •  Funcionamento de cada memória: um pixel pode ser lido a cada ciclo de

relógio; basta atualizar o “end” e manter “read=1”. •  O projeto deste sistema digital deve favorecer a otimização do custo.

Exemplo 3: cálculo da SAD Projetando um Sistema Digital

Contém 8x8 pixels ∈ bj

Contém 8x8 pixels ∈ Qref

Cálculo do SAD

? ? ?

SAD ck

início reset pronto

end read pA pB end read

? ?

Memória A

Memória B

Page 38: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.38 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Matriz B: bj ∈ Qi

Matriz A: Porção de 8x8 pixels

∈ Qref

Calcular para cada par de pixels { pixel_A(i,j), pixel_B(i,j) } com i ∈[0,7] e j ∈[0,7]

SAD = ∑ ABS ( pixel_A(i,j) – pixel_B(i,j) ) i=0, j=0

i<=7, j<=7

pixel(0,0) pixel(0,1) …. pixel(0,7)

pixel(1,0) pixel(1,7)

Exemplo 3: cálculo da SAD Possível Organização da “Memória A” e da “Memória B”

Page 39: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.39 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Matriz A: Porção de 8x8 pixels ∈ Qref

pixel(0,0) pixel(0,1) pixel(0,2) pixel(0,3) pixel(0,4) pixel(0,5) pixel(0,6) pixel(0,7) pixel(1,0) pixel(1,1)

… pixel(7,7)

Memória A

Matriz B: bj ∈ Qi

pixel(0,0) pixel(0,1) pixel(0,2) pixel(0,3) pixel(0,4) pixel(0,5) pixel(0,6) pixel(0,7) pixel(1,0) pixel(1,1)

… pixel(7,7)

Memória B

Exemplo 3: cálculo da SAD Possível Organização da “Memória A” e da “Memória B”

Page 40: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.40 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital Exemplo 3: cálculo da SAD

Cálculo do SAD

8 8 ?

SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A

Memória B

pixel(0,0) pixel(0,1) pixel(0,2) pixel(0,3) pixel(0,4) pixel(0,5) pixel(0,6) pixel(0,7) pixel(1,0) pixel(1,1)

… pixel(7,7)

64 li

nhas

Memória A (Memória B)

Dec

odifi

cado

r 6

:64

PA (PB)

6

8

end

read

habilitação do decodificador

pixel lido

Page 41: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.41 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

• Quantos bits deve ter a saída SAD? Exemplo 3: cálculo da SAD Projetando um Sistema Digital

Cálculo do SAD

8 8 ?

SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A

Memória B

Page 42: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.42 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

• Quantos bits deve ter a saída SAD?

Ou seja, qual é o valor máximo que SAD pode atingir? Para responder, imaginar que todos os pixels armazenados na matriz A valham zero e todos os pixels armazenados na matriz B valham 255 (ou vice-versa)

Exemplo 3: cálculo da SAD Projetando um Sistema Digital

Matriz B: bj ∈ Qi

Matriz A: Porção de 8x8 pixels

∈ Qref

Calcular para cada par de pixels { pixel_A(i,j), pixel_B(i,j) } com i ∈[0,7] e j ∈[0,7]

SAD = ∑ ABS ( pixel_A(i,j) – pixel_B(i,j) ) i=0, j=0

i<=7, j<=7

Page 43: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.43 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

• Quantos bits deve ter a saída SAD?

Resp.: 64 x 255 ~= 26 x 28 = 214 => 14 bits (O cálculo exato seria 64 x 255 = 16.320 => 14 bits...)

Exemplo 3: cálculo da SAD Projetando um Sistema Digital

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A

Memória B

Page 44: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.44 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Exemplo 3: Passo 1 (captura do comportamento com FSMD) Projetando um Sistema Digital

Início pronto ← 0; soma ← 0; i ← 0; Enquanto i<64 faça { soma ← soma + ABS(pA – pB); i ← i +1; } SAD_reg ← soma; pronto ← 1; Fim

Cálculo a ser feito Cálculo expresso como um algoritmo

SAD = ∑ ABS ( pixel_A(i,j) – pixel_B(i,j) ) i=0, j=0

i<=7, j<=7

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A Memória B

Page 45: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.45 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Exemplo 3: Passo 1 (captura do comportamento com FSMD) Projetando um Sistema Digital

Início pronto ← 0; soma ← 0; i ← 0; Enquanto i<64 faça { soma ← soma + ABS(pA – pB); i ← i +1; } SAD_reg ← soma; pronto ← 1; Fim

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A Memória B

Observar que: Para cada i ∈ {0, 1, ..., 63}: pA = Memória_A[i] pB = Memória_B[i]

Onde Memória_A[i] é um acesso de leitura à posição “i” de Memória A

Page 46: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.46 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Exemplo 3: Passo 1 (captura do comportamento com FSMD) Projetando um Sistema Digital

Início pronto ← 0; soma ← 0; i ← 0; Enquanto i<64 faça { soma ← soma + ABS(pA – pB); i ← i +1; } SAD_reg ← soma; pronto ← 1; Fim

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

soma ← soma + ABS(pA – pB) i ← i +1

i < 64

i >= 64

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A Memória B

Page 47: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.47 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Quais variáveis são usadas para armazenar dados?

• Duas: “soma” e “SAD_reg” (“pA” e “pB” são entradas que ficam estáveis, já que provem das memória A e B)

• Logo, teremos dois registradores: “soma” e “SAD_reg”

Exemplo 3: Passo 2 (projeto do BO)

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

soma ← soma + ABS(pA – pB) i ← i +1

i < 64

i >= 64

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A Memória B

Page 48: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.48 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Porém: • Note que há uma variável (“i”) que armazena o endereço a ser acessado nas memórias e também serve para controlar o laço. Logo, será preciso um registrador (decrementador) para esta variável. Chamemo-lo de “i”.

Exemplo 3: Passo 2 (projeto do BO)

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

soma ← soma + ABS(pA – pB) i ← i +1

i < 64

i >= 64

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A Memória B

Page 49: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.49 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Quais operações são realizadas sobre dados ?

• Dentro do laço há: uma subtração, uma extração de módulo e uma adição.

Exemplo 3: Passo 2 (projeto do BO)

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

soma ← soma + ABS(pA – pB) i ← i +1

i < 64

i >= 64

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A Memória B

Page 50: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.50 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Quais operações são realizadas sobre variáveis de controle ?

• Dentro do laço há: um incremento sobre “i”.

• Também há comparação com 64

Exemplo 3: Passo 2 (projeto do BO)

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

soma ← soma + ABS(pA – pB) i ← i +1

i < 64

i >= 64

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A Memória B

Page 51: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.51 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

soma ← soma + ABS(pA – pB) i ← i +1

i < 64

i >= 64

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

Exemplo 3: Passo 2 (projeto do BO)

– 8 8

pA pB

ABS

8

+

8

zsoma soma

SAD_reg

SAD

14

14

14

csoma

csad_reg

< 64? menor

i

zi

7

inci

end 6

Page 52: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.52 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Exemplo 3: Passo 2 (projeto do BO) Projetando um Sistema Digital

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

soma ← soma + ABS(pA – pB) i ← i +1

i < 64

i >= 64

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

< 64? menor

i

zi

7 –

8 8

pA pB

ABS

8

+

8

inci

14

6

0

end 6

zsoma soma

SAD_reg

SAD

14

14

14

csoma

csad_reg

Page 53: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.53 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

pA

8

14

zsoma csoma

csad_reg

SAD

BC (controle)

início

ck

Reset BO

(datapath) ck

pronto

menor

zi inci

pB

8

end

6

read

Exemplo 3: Passo 3 (Esboçando o diagrama BO/BC)

Projetando um Sistema Digital

Cálculo do SAD

8 8

14 SAD ck

início reset pronto

end read pA pB end read

6 6

Memória A Memória B

Page 54: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.54 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Exemplo 3: Passo 3 (Um diagrama BO/BC mais detalhado…)

Projetando um Sistema Digital

BC (controle)

início

ck

Reset

pronto

read

zsoma

menor

zi

inci

csoma

csad_reg

< 64?

i 7

– 8 8

pA pB

ABS

8

+

8

14

6

0

end 6

soma

SAD_reg

SAD

14

14

14

Page 55: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.55 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Exemplo 3: Passo 4 (Derivando a FSM a partir do BO e da FSMD)

Projetando um Sistema Digital

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

soma ← soma + ABS(pA – pB) i ← i +1

i < 64

i >= 64

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

pronto=0 zsoma=1; zi=1

S0

Reset

S2

início

início

S3

S4

csoma=1 inci=1

menor

menor

S1

pronto=1; read=0

csad_reg=1 read=0

read=1

BC (controle)

início

ck

Reset

pronto

read

zsoma

menor

zi inci

csoma

csad_reg

< 64?

i 7

– 8 8

pA pB

ABS

8

+

8

14

6

0

end 6

soma

SAD_reg

SAD

14

14

14

Page 56: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.56 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Exemplo 3: Estimativa Informal do Desempenho Projetando um Sistema Digital

3 operações encadeadas:

BC (controle)

início

ck

Reset

pronto

read

zsoma

menor

zi

inci

csoma

csad_reg

< 64?

i 7

– 8 8

pA pB

ABS

8

+

8

14

6

0

end 6

soma

SAD_reg

SAD

14

14

14

tp(8bits)

tp(8bits)

tp(14bits)

Podem determinar o período do ck...

Page 57: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.57 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Exemplo 3: Estimativa Informal do Desempenho Projetando um Sistema Digital

BC (controle)

início

ck

Reset

pronto

read

zsoma

menor

zi

inci

csoma

csad_reg

< 64?

i 7

+

8

14

6

0

end 6

soma

SAD_reg

SAD

14

14

14

temp ctemp

– 8 8

pA pB

ABS

8

8

Solução: inserir um registrador (quebrando assim, esta operação em dois ciclos de relógio)

Consequências: • 1 ciclo a mais dentro do laço (logo, x64)

• 1 registrador a mais • 1 sinal de controle a mais

(analisar se vale a pena...)

Page 58: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.58 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

zsoma

menor

zi

inci

csoma

csad_reg

< 16?

i 5

end

4

– 8 8

pA3 pB3

ABS

8

+

8

soma

SAD_reg

SAD

9

10

14

– 8 8

pA2 pB2

ABS

8

8

– 8 8

pA1 pB1

ABS

8

+

8

9

– 8 8

pA0 pB0

ABS

8

8

+

+ 14

14 Processa 4 pares de pixels por vez!! Quantos ciclos de relógio para fazer o laço?

Page 59: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.59 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital Quantos ciclos de relógio para fazer o laço?

i < 16

i >= 16

pronto← 0 soma ← 0; i ← 0

S0

Reset

S2

início

início

S3

S4

S1

pronto ← 1; read ← 0

SAD_reg ← soma read ← 0

read ← 1

soma ← soma + ∑ ABS(pAi – pBi) i ← i +1 i=0

i<4

Page 60: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.60 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Qual foi o aumento de custo do B.O.?

zsoma

menor

zi

inci

csoma

csad_reg

< 16?

i 5

end

4

– 8 8

pA3 pB3

ABS

8

+

8

soma

SAD_reg

SAD

9

10

14

– 8 8

pA2 pB2

ABS

8

8

– 8 8

pA1 pB1

ABS

8

+

8

9

– 8 8

pA0 pB0

ABS

8

8

+

+ 14

14

Page 61: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.61 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Qual é o reflexo no bloco de controle?

• Número de estados? • Número de sinais? pronto=0

zsoma=1; zi=1

S0

Reset

S2

início

início

S3

S4

csoma=1 inci=1

menor

menor

S1

pronto=1; read=0

csad_reg=1 read=0

read=1

Page 62: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.62 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Projetando um Sistema Digital

Quais as consequências na organização das memórias?

zsoma

menor

zi

inci

csoma

csad_reg

< 16?

i 5

end

4

– 8 8

pA3 pB3

ABS

8

+

8

soma

SAD_reg

SAD

9

10

14

– 8 8

pA2 pB2

ABS

8

8

– 8 8

pA1 pB1

ABS

8

+

8

9

– 8 8

pA0 pB0

ABS

8

8

+

+ 14

14

Page 63: SD aula9T-2011-2 PB - inf.ufsc.brguntzel/ine5406/SD_aula9T.pdf · INE/CTC/UFSC Slide 9T.14 Prof. José Luís Güntze Sistemas Digitais - semestre 2011/2 • O valor calculado (SAD)

4. Projeto de Sistemas Digitais no Nível RT

Prof. José Luís Güntzel Slide 9T.63 INE/CTC/UFSC Sistemas Digitais - semestre 2011/2

Indo Mais Além: Pipeline Aritmético!

registradores de pipeline

(são barreiras temporais)

– 8 8

pA3 pB3

ABS

8

+

8

soma

SAD_reg

SAD

9

10

14

– 8 8

pA2 pB2

ABS

8

8

– 8 8

pA1 pB1

ABS

8

+

8

9

– 8 8

pA0 pB0

ABS

8

8

+

+ 14

14

ck