SEM 544 Desenvolvimento de Produtos Mecatrônicos >>>> Sistemas de Tempo Real <<<<< Glauco Caurin, Rafael Aroca, Aula 2 09/03/2012
Aula de Hoje - Revisão Aula 1 RTOS Da pra rodar SO em PIC? Arquitetura Geral - Considerações de Hardware
SO e Hardware Revisão Kernel Sistema Operacional precisa de suporte de hardware Escalonador de tempo real
Estados de uma tarefa TCB Pronta Executando Dormindo Suspensa Terminada
Arquitetura de Hardware Arquitetura básica.
Interfaceamento de Hardware Latches Edge X Level Triggered Tristate Barramentos MIL-STD-1553B SCSI FireWire
CPU Registradores : PC, MAR, MDR, IR Barramento interno e externo ALU Ciclo: Fetch/Execute (simplificado) Pegar instrução via PC Colocar no IR Decodificar e executar Reiniciar processo
CPU - Instruções Formato das instruções Precisam de parâmetros 1 ou 0 argumentos ADD 10 NOP 2 argumentos ADD 0x01, &i 3 argumentos ADD 0x01, &i, &i
CPU - Instruções - Instruções principais Lógicas/Horizontais AND, IOR, XOR, NOT Verticais RRL, RRR, SHR, SHL Controle JMP, BRC, CLI, TRAP, EPI, DPI Real Time LCK, HLT, BTS
CPU - Instruções - Instruções principais Lógicas/Horizontais AND, IOR, XOR, NOT Verticais RRL, RRR, SHR, SHL Controle JMP, BRC, CLI, TRAP, EPI, DPI Real Time LCK, HLT, BTS
CPU - Instruções - Instruções principais Matemáticas ADD, SUB, MUL(*), DIV(*) Movimento de Dados MOV, LOAD, STORE, IN, OUT
CPU - Endereçamento Endereçamento nas instruções Imediato ADD 10 Direto ADD 0xf7a1 Indireto Ponteiro ADD 0xf7a1
CISC RISC X CISC Complex Instruction Set Computers Hardware complicado Cada instrução é um microprograma Algumas levam vários ciclos Ex.: Comprar String RISC Restricted Instruction Set Computers 1 ciclo por instrução Hardware simples Recomendado para tempo Real Menor latência ao tratar interrupções, devico a ciclo menor
Memória Acesso a memória Tempo de acesso importante em RT Linha DST
Tecnologias de Memória Volátil/Não Volátil RAM/ROM DRAM Capacitiva, precisa de refresh Barata SRAM Estática Cara, rápida, consome pouca energia
Tecnologias de Memória Ferrite Core Semicondutores SRAM, NVRAM Refresh faz processador esperar Fusível Ultra Violeta EEPROM Flash
Hierarquia de Memória velocidade, + espaço Interno CPU Registradores Cache Memória principal Memória Externa
Entrada/Saída (E/S) (I/O) I/O Programada IN, OUT Ocupa processador DMA Acesso direto a memória. Circuito dedicado Deixa processador livre I/O Mapeado em Memória Endereços de memória são mapeados para dispositivos => Mapa de bits
Interrupções Suporte de Hardware Externas (hardware) ou internas (div/0) EPI, DPI ISR Escalonador precisa de interrupções Normalmente processador só tem uma linha de interrupção
Interrupções - PIC Interrupções (A)PIC Advanced Programmable Interrupt Controller Intel 82053AA 24 ints, level ou edge INTCLR Interrupt Mask Register (IMR) Interrupt Status Register (ISR)
Interrupções I/O Interfaceamento de Hardware via Interrupção Interrupt Request Line (IRL) Hardware pede algo para CPU Chip Select (CS) WDT WatchDog Timer)
Cache Performance - Cache Guarda dados e instruções que são usadas frequentemente Algoritmos de substituição (LRU, MRU) Exemplo Acesso a RAM: 100ns Acesso a Cache: 30ns Taxa de acerto na cache = 60% 0,6.30ns + 0,4.100ns = 58ns
Performance - Cache
Arquitetura!= Von Neumann Sistemas Paralelos Taxonomia de Flynn SISD MISD SIMD MIMD Harvard
Outros Dispositivos FPGA Transdutor Sensor de Temperatura Acelerometro Giroscópio Resolver Conversores A/D e D/A
Real Time Killers (*) System Maintence Interrupt SMI Gerenciamento de Energia APM, ACPI, Frequency Scaling DMA USB Aceleração Gráfica
Impacto Latência Jitter Real Time Killers 2(*)» With timers, it's also common to have specifications that limit jitter. That is, the timer tick must happen on time; it must come neither too late, nor too early it must come regularly. (*) Livro não tem este material
Laplante Leitura Recomenada Capítulo 2 Hardware Considerations http://www.linuxdevices.com/articles/at5 709748392.html http://en.wikipedia.org/wiki/device_driver http://microcontroller.com/wp/devicedriv ers/device_drivers.htm