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

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Tópicos em System-Level
Conceitos de Programação Paralela
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
WebDesign Redes de Computadores Aula 07
O Sistema de Computação
Redes de computadores I
Arquitetura e organização de computadores.
Entrada e Saída Introdução.
Técnicas para operações E/S
UML Visões – Parte 2.
Engenharia de Software
ARQUITETURA DE COMPUTADORES II
Sistemas Digitais Projeto RTL – Unidade de Execução
Unidades de Execução e de Controle Sistemas Digitais.
Advanced Microcontroler Bus Architecture
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
ArchC: Uma linguagem de descrição de arquiteturas
Sistemas Operacionais
Descrição de hardware em SystemC
Universidade Federal do Rio Grande do Sul Programa de Pós-Graduação em Computação Exploração do espaço de projeto para uma arquitetura de processamento.
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Complexidade de Algoritmos
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Threads.
Sistemas Operacionais
HARDWARE do CLP Os controladores lógicos programáveis são equipamentos com uma aplicação muito vasta dentro dos diversos processos de automação. Desta.
Sistemas Operacionais I
REDUNDÂNCIA POR SOFTWARE
Unidade 1-1 Processos e Threads
Sistemas Operacionais
Paralelismo Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; -
Algoritmos paralelos eficientes para alguns problemas de processamento de Cadeia de Caracteres Alunos: Diego Alencar dos Santos Melo Felipe Formagini Brant.
Linguagem de Programação IV
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Arquitetura de computadores
Sistemas Operacionais
Sistemas Operacionais I
Arquitetura de computadores
Verificação Baseada em Simulação MO801/MC912. Ambiente Completo Testbench –Todo código utilizado para criar, observar e verificar características do circuito.
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Sistemas Operacionais
Documentação de Software
Fundamentos de Arquitetura da Computação
Processos.
Sistemas Operacionais
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo
BRAZIL IP The BrazilIP Network SystemVerilog para Verificação funcional com OVM Curso do Brazil-IP Elmar Melcher UFCG
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Sistemas em Tempo Real Jadsonlee da Silva Sá
Tópicos em System-Level
Relação entre Requisitos e Arquitetura de Software num ambiente Multi-Agente SIRA Framework Análise dos temas de Lúcia Bastos e Turah Almeida Apresentação.
MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre.
Slides before 1st Section Divider
MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre.
MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre.
MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre.
Estrutura de Interconexão
Estilos Arquiteturais
Sistemas de Memória Cache em Multiprocessadores
Arquitetura de computadores
Arquitetura de computadores
Desenvolvimento de Software I
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/41 Análise e Projeto de Sistemas Arquitetura de Software.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre de 2006 Transaction Level Modeling

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 6 Terminologia para Abstração

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 8 Untimed TLM Modelo da arquitetura Desenvolvimento antecipado de software Verificação funcional Velocidade de simulação Conhecido por Programmer’s View (PV)

MO801: Tópicos em Arquitetura e Hardware 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)

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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

MO801: Tópicos em Arquitetura e Hardware 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.