VSPWorks Disciplina de TSDAC Érico Bastos Sergio Bressan

Preview:

Citation preview

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

Recommended