VSPWorks Disciplina de TSDAC Érico Bastos Sergio Bressan.
Transcript of VSPWorks Disciplina de TSDAC Érico Bastos Sergio Bressan.
VSPWorks
Disciplina de TSDAC
Érico Bastos
Sergio Bressan
Sumário
Características Conceitos Gerais VSP Tratamento de interrupções Kernel Escalonamento Tarefas Escalabilidade Conjunto de ferramentas Categorias de utilização Referências
Características
VSPWorks é um sistema operacional de tempo real que suporta uma gama de aplicações;
Possui duas versões: SP (Single Processor)
• Tarefas e dados estão no mesmo processador;• Comunicação otimizada;• Métodos de sincromização.
VSP (Virtual Single Processor)• Tarefas e dados podem ser movidos de um processador para outro de
modo transparente mas manipulando todos os detalhes;• Troca da topologia do processador não afeta o comportamento da
aplicação;• Programação é feita exatamente igual a uma programação para um
único processador.
Características
Fácil programação; Remoção automática de código não utilizado
do kernel; Suite de aplicações gráficas (SO windows)
para simplificar e acelerar o desenvolvimento de aplicações.
Host Server gerencia toda a comunicação entre as ferramentas é o processador alvo.
Características
Hosts suportadosWindows NT/2000.
Alvos suportadosAnalog Devices: SHARC (ADSP-2106x),
HammerHead SHARC (ADSP-2116x);PowerPC 74xx;Texas Instruments: TMS320C6x;Windows NT - simulador.
Conceitos Gerais
VSPWorks foi projetado para uso em: ambientes DSP, onde a velocidade de resposta
para interrupções é crítica (assembly);ambientes escaláveis multi-processados, aonde
fácil programação é importante.
VSPWorks combina tratamento rápido de interrupções com multi-tarefas escaláveis utilizando acesso multi-nível.
VSP
VSPWorks possui uma avançada arquitetura VSP para simplificar o desenvolvimento de aplicações para multi-processadores embarcados e aplicações distribuídas.
A tecnologia gerencia todas as complexidades da comunicação entre processadores com o mínimo de overhead.
VSP
A utilização do VSP resulta em rápido desenvolvimento e em ganho de desempenho.
O desenvolvedor da aplicação especifica tarefas e objetos as quais podem residir em qualquer processador do sistema, e o VSPWorks manipula a comunicação entre os processadores.
Tratamento de interrupções
Dois tipos de tratamento de interrupçõesNível baixo - ISR0:
• Trata interrupções vindas diretamente do hardware;• Outra interrupções ficam desabilitadas;• O processamento da interrupção deve ser rápido.
Nível alto - ISR1:• Trata interrupções mais complexas vindas da ISR0;• Se comunica com ISR0 por system call;• Trata a interrupção da mesma forma que ISR0, mas
deixa as outras interrupções habilitadas.
Kernel
VSPWorks opera em dois níveis de kernel para otimizar o desempenho.
Baixo Nível (nanokernel)• Processos geralmente são escritos em
assembly;• Possibilidade de redução do contexto(usando
menos registradores de processos).
Kernel
Alto Nível (microkernel)• Tarefas:
• são escritas em C • podem acessar mais de 100 serviços do kernel;• são preemptivas;
• Escalonamento é dirigido a prioridade:• Tarefa com alta prioridade deve rodar imediatamente.• Tarefas com baixa prioridade dão a vez as de maior
prioridade.
Escalonamento
Quando muitas tarefas querem utilizar o processador, o escalonador deve procurar atender a todas antes do seu deadline.
Solução é se ter prioridade para cada tarefa baseado na importância dela para o sistema, o desenvolvedor pode atribuir as propriedades de várias maneiras: Atribuir:
• Alta prioridade a tarefas que necessitam resposta rápida;• Baixa prioridade a tarefas que não possuem tempo crítico.
Atribuir:• Alta prioridade a tarefas que necessitam rodar mais
frequentemente.• Baixa prioridade a tarefas que rodam raramente.
Escalonamento
Prioridade das tarefas podem ser alteradas dinamicamente em tempo de execução (usando microkernel).
O escalonador da acesso ao processador somente a tarefas de alta prioridade que estejam prontas para rodar.
Escalonamento
Tarefas
Cada tarefa é um modulo independente que executa uma função ou um conjunto de funções.
Uma tarefa existe independente de outras, e se comunica através de fila de mensagens, semáforos etc.
Quando uma tarefa esta rodando ela tem controle total do processador, mas o kernel da a impressão de que múltiplas tarefas estão sendo executadas.
Tarefas
Uma tarefa para de executar quando o:Processamento acabou;Está esperando por um evento ou algum dado;Está esperando que um recurso se torne
disponível;Foi interrompida por uma interrupção.
Tarefas
Escalabilidade
Os projetistas podem escrever o mesmo código para qualquer processador do sistema.
O kernel do VSPWorks é modular fazendo com que as ferramentas de linker, descartem todos objetos não utilizados no momento de compilação.
Escalabilidade
À medida que os processadores são substituídos por outros mais poderosos, ou novos processadores são adicionados as aplicação podem ser re-configuradas e as tarefas redistribuídas.
Conjunto de ferramentas
Project Manager (simplifica o desenvolvimento de aplicações);
Host Server (faz o download do VSPWorks para o processador alvo na rede);
Level Debugger (verifica o estado de objetos em qualquer processador);
Workload Monitor (calcula a carga de utilização de cada processador);
Conjunto de ferramentas
Tracing Monitor (faz um trace back do sistema, através do seu histórico – útil em caso de falhas);
Host Extension Kit (ferramenta para extender o VSPWorks para host e alvos particulares);
Runtime Libraries (permite que uma tarefa em qualquer processador da rede faça entrada e saída no host).
Categorias de utilização
O projetado do VSPWorks foi otimizado para ser utilizado em várias categorias de desenvolvimento de aplicações como:Aplicações com restrições de memória;Aplicações multi-processadas;Aplicações que combinam DSPs e CPUs.
Referências
VSPWorks™ The RTOS for DSP and ASIC Cores - Disponível em http://www.windriver.com/products/device_technologies/os/vspworks/vspworks_tech_brief.pdf - Consultado em 05/07/2004
Development of DSP and heterogeneous designs using VSPWorks tools and run-time components - Disponível em: http://www.windriver.com/products/device_technologies/os/vspworks/vspworks.pdf - Consultado em 05/07/2004
VSPWorks WebSite - http://www.windriver.com/products/device_technologies/os/vspworks/
Virtuoso – The RTOS for DSP and ASIC cores – Multicore Programming Made Simple
Technical Brief – Virtuoso the SoftStealth RTOS for DSP and ASIC cores
FIM