A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre.

Apresentações semelhantes


Apresentação em tema: "MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre."— Transcrição da apresentação:

1 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 1 Tópicos em System-Level Design Sandro Rigo sandro@ic.unicamp.br 2 o Semestre de 2006 Transaction Level Modeling

2 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 2 Modelagem TLM É comum ser exigido de um módulo TLM as seguintes características: –Comportamento bit-true – Interface register-accurate –Sincronização com o sistema gerenciada pelo componente –Não incluir detalhes da micro-arquitetura: pipeline ou estruturas Para garantir um funcionamento correto: –Transações devem ser bloqueantes –Pontos de sincronização devem ser potenciais pontos para re- scheduling da simulação

3 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 3 Modelagem TLM Sincronização deve ser modelada por eventos, sinais e/ou interrupções Onde implementar a sincronização? –Se ela ocorre em pontos demais o modelo tende a ser muito próximo do RTL, prejudicando o desempenho –Se faltarem pontos de sincronização, a execução pode estar incorreta

4 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 4 Modelagem TLM S1 S2 F TLM S1 S2 F RTL Computação cycle-accurate para levar de S1 a S2 Função para levar de S1 a S2

5 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 5 Modelagem TLM No modelo TLM, a computação não envolve clock Normalmente são funções escritas em linguagens de alto nível, C ou C++ Haverá basicamente apenas execução de códigos sequenciais entre S1 e S2 Comparado ao RTL, envolve muito menos processos paralelos Speed-up é estimado em 1000x

6 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 6 Terminologia para Abstração

7 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 7 Precisão da Modelagem Granularidade da Comunicação de Dados. Ex: Video IP frame based –Application Packet: Frame por frame –Bus Packet: linha por linha –Bus size: pixel por pixel Precisão de tempo –Untimed –Precisão de ciclos TML: Untimed e Timed

8 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 8 Untimed TLM Modelo da arquitetura Desenvolvimento antecipado de software Verificação funcional Velocidade de simulação Conhecido por Programmer’s View (PV)

9 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 9 Timed TLM Modelo com mais detalhes da micro- arquitetura Anotações de tempo para funcionalidade e/ou comunicação Desenvolvimento de software de tempo-real Estimativa de desempenho Conhecido por Programmer’s View plus Timing (PVT)

10 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 10 Precisão da Modelagem TLM-PV Algoritmo. TLM-PV TLM-PVT TLM-PVT BCA RTL CA Bus Size Bus Packet Application Packet UTATCA Timing Accuracy Data Granularity

11 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 11 Untimed TLM Os IPs do projeto devem ser desenvolvidos nesse nível, com exceção dos barramentos Modelo de computação: –Execução concorrente de processos independentes –Eventuais dependências devem ser resolvidas por sincronização –Bit-true behavior –Bit-true communication

12 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 12 Práticas de Modelagem Organize o modelo de forma que o algoritmo interno possa ser facilmente atualizado Aproveite o máximo de modelos em C já disponíveis encapsulados em wrappers Determine a granularidade dos dados em função da precisão do algoritmo e da precisão esperada para as tranferências Modele as interfaces de maneira bit-accurate, principalmete registradores

13 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 13 Práticas de Modelagem Modele a funcionalidade de maneira bit- accurate Foque na funcionalidade, não inclua detalhes de micro-arquitetura Modele explicitamente a sincronização necessária –Inter-processo: eventos –Inter-módulo: protocolos Não use variáveis globais

14 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 14 Timed TLM O comportamento de tempo de um componente especifica o delay entre cada ativação e cada suspensão/sincronização É capaz de identificar totalmente a ordem que os eventos do SoC

15 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 15 Timed TLM Avaliação de desempenho Ajuste fino de micro-arquitetura Otimização de software real-time Modelagem flexível e refinamento da temporização Reuso de modelos untimed

16 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 16 Timed TLM Usar modelos de temporização diferentes no mesmo modelo untimed Ligar/desligar temporização dinâmicamente Otimização de software real-time Desenvolvimento concorrente, embora integrado, entre os times de untimed verification e timed architecture

17 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 17 Modelagem: Timed TLM Considerar dois aspectos: –Computação: tempo necessário cálculos específicos num dado comportamento ou função –Comunicação: tempo gasta na transferência e acesso a dados ou informação –Pode ser importante considerar restrições físicas como tamanho do barramento, vazão do barramento, tamanho da memória, etc Duas abordagens para modelagem: –Modelo anotado –Modelo standalone

18 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 18 Modelo Anotado Os atrasos (delays) são anotados em um modelo untimed Esses atrasos são a informação de temporização da micro-arquitetura É diferente de atrasos funcionais (vídeo decodifica a 30 quadros/s) Definido com base do fluxo de controle do componente

19 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 19 Modelo Anotado Pode usar estimativas de melhor caso, pior ou médio Processos com fluxo complicado inserem muita informação de atraso –Pode ser necessário adotar uma abordagem conservativa, baseada nos pontos de sincronização O processo é simplificado se o modelo untimed tem uma estrutura próxima da micro-arquitetura

20 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 20 Modelo Anotado É importante conseguir reaproveitar os modelos untimed –De preferência sem alterações ou com alterações mínimas É importante proteger a informação de temporização com diretivas de pré- processamento –#ifdef ANNOTATED_MODEL –Possibilita selecionar execução untimed e timed

21 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 21 Modelo Standalone Atrasos são computados durante a execução do modelo standalone Aplicável em IPs de hardware e processadores Indicado quando a estrutura do algoritmo é muito diferente da da micro- arquitetura –Ex: Aplicação de vídeo modelada em nível de frames –Somente os atrasos referentes à decodificação de frame podem ser anotados

22 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 22 Modelo Standalone Standalone timed models são modelos analíticos de temporização em alto nível sem informação de funcionalidade Podem ser modelados como geradores de tráfico –Modelam o tráfico nos canais ou interconexões com temporização Se a temporização depende da funcionalidade, pode ser acoplado a um modelo untimed

23 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 23 Modelo Standalone Um trace dos eventos ocorridos na execução untimed é fornecido ao modelo standalone Uma unidade de controle de temporização manipula essa informação entre os dois modelos

24 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 24 Combinando Untimed e Timed Standalone Untimed TLM Architectural States Data Threads Micro-architectural States and timing constraints Threads Standalone timed TLM Time control Traces Data Bus

25 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 25 Vantagens Facilidade de desenvolvimento paralelo entre modelos untimed e timed Múltiplos cenários de temporização –Alto nível –Precisão de ciclos Modelos untimed são reutilizáveis para verificação sem alterações Simulações envolvendo timed e RTL são factíveis

26 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 26 Vantagens Equipes de arquitetura e micro- arquitetura podem trabalhar em paralelo em modelos complementares Velocidade otimizada pelo switching entre untimed e timed em tempo de execução

27 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 27 Referências SystemC from the Ground-up - David C. Black e Jack Donovan, Kluwer Academic Press, 2004 Transaction Level Modeling in SystemC – Adam Rose, Stuart Swan, John Pierce, Jean-Michel Fernandez, OSCI TLM Working Group SystemC Tutorial. Forte Design Systems. http://www.forteds.com


Carregar ppt "MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre."

Apresentações semelhantes


Anúncios Google