Gestão da Tecnologia da Informação
Por: Evandro.2016 • 11/7/2018 • 2.574 Palavras (11 Páginas) • 272 Visualizações
...
Exemplo de microprocessadores:
- ARM Cortex: A8 / A9 / A15;
- Famílias Intel: Atom e Intel Quark;
- Qualcomm: Snapdragon;
- AMD: Geode LX;
- Texas Instruments: AM335x.
Microcontroladores: Basicamente é um chip que tem uma unidade de processamento, memória para programas, memórias para armazenamento não volátil e também alguns periféricos para entrada e saída dentro do próprio chip, geralmente também possui timer, computadores, conversores ADC e outros circuitos de controle. Por conta disso, os microcontroladores são muito usados em projetos de sistemas embarcados, uma solução embarcada microcontrolada poupa espaço físico, custo e consumo energético.
Exemplo de microcontroladores:
- Família 8051 (Intel);
- Microchip PIC;
- Hitachi H8;
- Motorola 68HC 16xx;
- ARM Cortex M3/M4 (M = Microcontrolador);
- Atmel ATmega (utilizados no arduíno);
- Texas Instruments MSP430F2x;
- Texas Instruments Hercules RM.
DSP’s: São microprocessadores especializados em processamento digital de sinal, usados para processar sinais de áudio, vídeo, etc., quer seja em tempo real ou off-line. Outra grande característica do DSP é sua alta velocidade comparada a outros microcontroladores que é medida em mips (milhão de instruções por segundo).
Exemplos de processadores de sinais digitais (DSP):
- Texas Instruments C665x;
- Freescale DSP56311;
- Microchip dsPIC30F3012;
- NXP SAA7706H;
- Analog Devices ADSP-21xx.
3. Gerência de processos
Nos sistemas embarcados se tratando do gerenciamento de processos, é preciso tratar processos com prioridades e deve haver pelo menos dois níveis de prioridade:
- Nível de interrupção: Para os processos que precisam de resposta muito rápida;
- Nível de relógio: Para os processos periódicos.
Ocorre da seguinte forma:
- Programador: Escolhe processo para execução;
- Gerenciador de recursos: Aloca memória e processador;
- Despachador: Inicia execução no processador disponível.
Serviço de interrupção:
O controle é transferido automaticamente para uma posição de memória predeterminada. Essa posição contém uma instrução para pular uma rotina de serviço de interrupção e as interrupções adicionais são desabilitadas, a interrupção é atendida e o controle retorna ao processo interrompido. Rotinas de serviço de interrupção devem ser curtas, simples e rápidas.
Estratégias de programação:
- Programação não preemptiva: Uma vez que o processo foi programado para execução, será executado até a conclusão ou até que seja interrompido por alguma razão (exemplo: aguardando por E/S);
- Programação preemptiva: A execução de um processo pode ser interrompida se um processo de maior prioridade solicitar serviço;
- Algoritmos de escalonamento: Round-Robin, Rate Monotonic, Deadline mais curto primeiro.
Escalonamentos nos sistemas embarcados:
- Round-Roubin >> Processador QNX >> Oline sem prioridade: Uma pequena unidade de tempo, denominada timeslice ou quantum, é definida. Todos os processos são armazenados em uma fila circular. O escalonador da CPU percorre a fila, alocando a CPU para cada processo durante um quantum. Mais precisamente, o escalonador retira o primeiro processo da fila e procede à sua execução. Se o processo não termina após um quantum, ocorre uma preempção, e o processo é inserido no fim da fila. Se o processo termina antes de um quantum, a CPU é liberada para a execução de novos processos. Em ambos os casos, após a liberação da CPU, um novo processo é escolhido na fila. Novos processos são inseridos no fim da fila.
- Algoritmo definido para um modelo simplificado de tarefas:
- As tarefas são independentes entre si (não têm relações de precedência, nem necessidades de sincronização);
- Todas as tarefas têm uma ativação periódica, com uma meta temporal igual ao seu período (ou seja, qualquer execução deve ser finalizada antes da próxima data de ativação da tarefa);
- Todas as tarefas têm um tempo máximo de execução conhecido;
- Este algoritmo define a ordem de atribuição de prioridades a um conjunto de tarefas, na ordem inversa da periodicidade das tarefas: Desde a tarefa de menor período à qual é atribuída a maior prioridade, até à tarefa de maior periodicidade à qual é atribuída a menor prioridade;
- As situações de empate serão resolvidas arbitrariamente.
[pic 1]
Escalonamentos nos sistemas embarcados:
- Rate Monotonic online com prioridade fixa: Algoritmos baseados em prioridades fixas Cada tarefa recebe um nível de prioridade específico, algumas tarefas têm maior importância que outras. O nível de prioridade não pode ser alterado em run-time Rate Monotonic: Período mais curto >> maior prioridade >> Tarefas mais “rápidas” escalonadas em primeiro lugar.
[pic 2]
Escalonamentos nos sistemas embarcados:
- Deadline mais curto primeiro >> Oline >> prioridade dinâmica:
- Algoritmos baseados em prioridades dinâmicas:
- Algumas tarefas têm maior importância que outras;
- O nível de prioridade
...