• Nenhum resultado encontrado

4.2 Modelagem e Estimativa de Potˆ encia no n´ıvel RT

5.1.1 T´ ecnicas de Macromodelagem Selecionadas

Foram selecionadas quatro t´ecnicas conhecidas de macromodelagem como candidatas `

a an´alise experimental. A partir deste ponto, elas ser˜ao referenciadas no texto como

4DTab [53], EqTab [4], eHD [64] e Analytical [50].

H´a trˆes principais raz˜oes por tr´as desta sele¸c˜ao:

1. Estas t´ecnicas modelam potˆencia de formas bem distintas, fazendo diferentes su- posi¸c˜oes, espec´ıficas a cada uma delas (i.e., elas se complementam).

2. Os resultados publicados na literatura demonstram que elas possuem, em geral, boa precis˜ao.

3. A complexidade de implementa¸c˜ao faz com que a integra¸c˜ao das t´ecnicas a um fluxo automatizado seja fact´ıvel.

Cabe mencionar que a t´ecnica 3DTab [51] foi utilizada durante o in´ıcio dos experi-

mentos, mas foi, posteriormente, suplantada pela 4DTab devido a sua maior precis˜ao.

Esta se¸c˜ao sumariza alguns fundamentos das t´ecnicas selecionadas, tais como, conceitos- chave e passos de caracteriza¸c˜ao, como base para a discuss˜ao feita na Se¸c˜ao 5.2.

Modelo 1: Tabela Tetradimensional (4DTab)

O modelo 4DTab baseia-se nas seguintes propriedades de sinal: (i) a m´edia da probabili-

a m´edia da correla¸c˜ao espacial de entradaSCin; e (iv) a m´edia da densidade de transi¸c˜ao

de sa´ıdaDout. O modelo ´e representado por uma LUT (lookup table) de quatro dimens˜oes

de forma que h´a um valor de potˆencia correspondente para cada posi¸c˜ao (Pin,Din,SCin,

Dout) da tabela.

Com o intuito de esclarecimento e conveniˆencia, as defini¸c˜oes destas propriedades s˜ao informalmente recapituladas. Probabilidade de sinal ´e a fra¸c˜ao de tempo em que um determinado sinal tem o estado l´ogico alto (ou verdadeiro). Densidade de transi¸c˜ao ´e o n´umero de transi¸c˜oes l´ogicas (alto-para-baixo, baixo-para-alto) por unidade de tempo. Correla¸c˜ao espacial ´e a probabilidade de dois sinais distintos possu´ırem o estado l´ogico alto simultaneamente. Portanto, Pin, Din e Dout s˜ao definidas como m´edias de todas

posi¸c˜oes bit-a-bit de entrada/sa´ıda, e SCin ´e a m´edia de todos os poss´ıveis pares de

distintas posi¸c˜oes de entrada bit-a-bit.

A estima¸c˜ao de potˆencia consiste em, primeiramente, executar uma simula¸c˜ao RTL para coletar as estat´ısticas de sinalPin,Din,SCin eDoute, ent˜ao, procurar na tabela pelo

valor de potˆencia correspondente. Quando as estat´ısticas de sinal n˜ao corresponderem diretamente a uma posi¸c˜ao da tabela, t´ecnicas de interpola¸c˜ao ser˜ao usadas para retornar o valor mais pr´oximo.

O processo de caracteriza¸c˜ao de potˆencia para um dado componente consiste na se- guinte sequˆencia de passos. Primeiro, para cada tupla (Pin,Din,SCin) v´alida, s˜ao geradas

v´arias streams de entrada. Em seguida, cada stream distinta ´e aplicada `as entradas do

componente, descrito num menor n´ıvel de abstra¸c˜ao (e.g., n´ıvel de portas l´ogicas). O Dout

resultante desta inje¸c˜ao de est´ımulos ´e avaliado e o consumo de potˆencia determinado. Depois disso, a m´edia de todos os valores de potˆencia obtidos para um mesmo (Pin,Din,

SCin,Dout) ´e armazenada na posi¸c˜ao adequada da tabela.

Modelo 2: Tabela de Coeficientes de Equa¸c˜ao (EqTab)

Ao inv´es de basear-se na m´edia geral das densidades de transi¸c˜ao de entrada/sa´ıda (como ´e feito no 4DTab), o modelo EqTab leva em considera¸c˜ao a contribui¸c˜ao individual de cada

posi¸c˜ao bit-a-bit de entrada e sa´ıda. Sejam Din(x) e Dout(x) as transi¸c˜oes de entrada

medidas na x-´esima posi¸c˜ao bit-a-bit para uma stream de vetores de entrada e sa´ıda,

respectivamente. Sejam n e m, respectivamente, as larguras dos vetores de entrada e sa´ıda. Dado um componente, seu consumo de potˆencia ´e modelado pela seguinte equa¸c˜ao, onde ci denota um coeficiente:

A t´ecnicaEqTab baseia-se numa LUT que ´e indexada por (Pin, Din). Para cada entrada

desta tabela, ao inv´es de diretamente armazenar um valor de potˆencia, a entrada cor- respondente, na verdade, armazena os coeficientes da equa¸c˜ao acima. Como resultado, a estimativa consiste em trˆes passos:

1. Uma simula¸c˜ao RTL ´e executada e as densidades de transi¸c˜ao bit-a-bit s˜ao coletadas, juntamente com as propriedades Pin,Din e Dout.

2. Os coeficientes armazenados na entrada (Pin, Din) s˜ao retornados. Se (Pin, Din)

n˜ao representarem uma entrada v´alida, o ponto mais pr´oximo, de acordo com a distˆancia Euclidiana, ´e utilizado.

3. Finalmente, os coeficientes retornados e as estat´ısticas coletadas s˜ao combinadas de acordo com a equa¸c˜ao acima.

Ao contr´ario do que ocorre com o4DTab, o processo de caracteriza¸c˜ao com o EqTab

emprega apenas umastream de vetores de entrada para cada par (Pin,Din) e consiste em

determinar o respectivo conjunto de coeficientes. Para encontrar o devido conjunto de coeficientes, um sistema de equa¸c˜oes ´e constru´ıdo como segue.

SejaSW uma matriz com um n´umero de linhas igual ao n´umero de pares sucessivos de vetores nastream (S pares) e com um n´umero de colunas equivalente `a largura composta do vetor (n + m). Uma linha da matriz SW armazena as densidades de transi¸c˜ao bit- a-bit obtidas entre um par de vetores sucessivos. Uma coluna armazena a densidade de transi¸c˜ao de uma dada posi¸c˜ao de bit ao longo dastream de entrada. Seja P uma matriz

S× 1, onde cada entrada pi armazena a potˆencia consumida pelo i-´esimo par de vetores

de entrada.

A caracteriza¸c˜ao consiste em primeiro calcular as densidades de transi¸c˜ao bit-a-bit para cada par sucessivo de vetores de entrada (armazenando-os numa linha da matriz SW ) e medindo seu respectivo consumo de potˆencia (armazenando-o numa entrada da matriz P ). Ent˜ao, o conjunto de coeficientes2 C ´e obtido resolvendo-se o sistema de

equa¸c˜oesSW×C = P com t´ecnicas de regress˜ao convencionais (ex., m´ınimos quadrados). Finalmente, tais coeficientes s˜ao armazenados na entrada (Pin,Din).

Modelo 3: Distˆancia de Hamming Aperfei¸coada (eHD)

Basicamente, o macromodeloeHD ´e uma equa¸c˜ao que expressa potˆencia como uma fun¸c˜ao

de duas propriedades de sinal distintas: (i) a distˆancia de Hamming e (ii) o n´umero de

2

bits est´aveis entre dois vetores de entrada sucessivos (a t´ecnica n˜ao emprega sinais de sa´ıda). Dados dois vetores de entradau e v com n bits cada, a distˆancia de Hamming (h) e o n´umero de bits est´aveis (s) com valor ‘1’ s˜ao definidos, respectivamente, como:

h(u, v) =|{i|(ui 6= vi)}|, para 1 ≤ i ≤ n; e

s(u, v) =|{i|(ui =vi = 1)}|, para 1 ≤ i ≤ n.

De forma oposta `as t´ecnicas anteriores, o macromodelo eHD calcula a potˆencia por

ciclo, como segue.

SejaEh,s uma classe de evento de chaveamento representando as propriedades de um

par de vetores, onde h ´e sua distˆancia de Hamming es ´e seu n´umero de bits est´aveis em 1. Sejam P ower(c) o consumo de potˆencia no c-´esimo ciclo de simula¸c˜ao en o n´umero de bits de entrada. A equa¸c˜ao do macromodeloeHD ´e definida como segue, onde ph,sdenota

a contribui¸c˜ao do evento de chaveamento Eh,s para o consumo de potˆencia eδh,s denota

se tal evento ocorreu ou n˜ao no ciclo c.

P ower(c) =h p1,n−1 · · · pn,0 i    δ1,n−1 .. . δn,0    (5.1)

Em [64],δh,s´e chamado deativador e ´e definido como:

δh,s=

(

1, se Eh,s ocorrer no ciclo c;

0, se Eh,s n˜ao ocorrer no ciclo c.

Dada umastream de entrada, a estimativa come¸ca calculando-se h(u, v) e s(u, v) para

cada par (u, v) de vetores sucessivos. Ent˜ao, os ativadores associados com eventos ocor- rendo num dado cicloc s˜ao determinados e a Equa¸c˜ao 5.1 retorna o consumo de potˆencia para aquele ciclo. O consumo de potˆencia total ´e obtido agregando-se a contribui¸c˜ao de todos os ciclos.

A caracteriza¸c˜ao de componentes come¸ca com a gera¸c˜ao destreams de entrada criadas

aleatoriamente. Ent˜ao, para todas as streams, cada par (u, v) de seus sucessivos vetores

´

e injetada nas entradas do componente e as fun¸c˜oes h(u, v) e s(u, v) s˜ao avaliadas. O consumo de potˆencia resultante ´e determinado com um modelo de potˆencia pr´e-existente do componente, descrito em um n´ıvel de abstra¸c˜ao inferior. Finalmente, para todas as

Modelo 4: Anal´ıtico (Analytical)

Comparando ao4DTab, o macromodelo Analytical baseia-se nas mesmas propriedades de

sinal: (i) a correla¸c˜ao espacial de entrada SCin; (ii) a probabilidade de sinal de entrada

Pin; (iii) a densidade de transi¸c˜ao de entradaDin; e (iv) a densidade de transi¸c˜ao de sa´ıda

Dout. O modelo ´e representado por uma equa¸c˜ao que combina estes sinais da seguinte

forma:

P ower = c0+c1∗ Pin+c2∗ Din+c3∗ SCin+c4∗ Dout+c5∗ Pin∗ Din+c6∗ Pin∗ SCin

+c7∗ Pin∗ Dout+c8∗ Din∗ SCin+c9∗ Din∗ Dout+c10∗ SCin∗ Dout+c11∗ Pin2

+c12∗ D2in+c13∗ SCin2 +c14∗ D2out

A estimativa de potˆencia nesta t´ecnica consiste em se executar uma simula¸c˜ao RTL para coletar as estat´ısticas de sinal (Pin, SCin, Din, Dout), seguida pela avalia¸c˜ao da

equa¸c˜ao acima. Nenhum outro mecanismo ´e necess´ario (e.g., interpola¸c˜ao), dado que a

equa¸c˜ao usa somente as estat´ısticas coletadas e os coeficientes obtidos durante a fase de caracteriza¸c˜ao de potˆencia.

A etapa de caracteriza¸c˜ao de componentes ´e efetuada em trˆes passos:

1. Para cada tupla v´alida (Pin,SCin, Din), diversas streams s˜ao geradas, tentando-se

cobrir ao m´aximo o espa¸co de entrada.

2. Cada stream distinta ´e aplicada `as entradas do componente e o Dout e consumo de

potˆencia resultantes s˜ao determinados.

3. Os valores resultantes (Pin, SCin,Din, Dout, P ower) s˜ao usados, de acordo com a

equa¸c˜ao acima, num m´etodo de an´alise de regress˜ao de forma a obter-se os coefici- entes (c0, c1, ..., c14) da equa¸c˜ao do macromodelo.