Alternativa B - 200 ns
Para resolver esta questão, é necessário compreender a arquitetura interna do microcontrolador PIC16F877A, pertencente à família PIC de 8/16 bits da Microchip.
Análise Técnica
A característica principal dessa arquitetura é a forma como ela processa as instruções em relação ao clock do oscilador:
- Divisão por 4: No PIC16F877A, o clock interno utilizado para a execução de instruções é derivado do clock externo (f_{osc}) sendo dividido por 4.
- Motivo: Isso ocorre devido à arquitetura Harvard modificada e ao pipeline de instrução, onde o processador precisa de mais tempo para buscar e executar cada comando.
Portanto, a fórmula para calcular a duração de um ciclo de instrução (T_{cy}) é:
T_{cy} = \frac{4}{f_{osc}}
Onde:
- T_{cy} é o tempo do ciclo de instrução.
- f_{osc} é a frequência do clock externo.
Cálculo Passo a Passo
Dados fornecidos:
- Frequência (f_{osc}) = $20 \text{ MHz} = 20 \times 10^6 \text{ Hz}$
Aplicando na fórmula:
T_{cy} = \frac{4}{20 \times 10^6 \text{ Hz}}
Simplificando a fração:
T_{cy} = \frac{1}{5 \times 10^6} \text{ s}
Convertendo para notação decimal:
T_{cy} = 0.2 \times 10^{-6} \text{ s}
Convertendo para nanossegundos ($1 \text{ ns} = 10^{-9} \text{ s}$):
T_{cy} = 200 \times 10^{-9} \text{ s} = 200 \text{ ns}
Conclusão:
A duração típica de um ciclo de instrução com um clock de 20 MHz é de 200 ns, correspondendo à Alternativa B.