Depende del PIC en particular, ya que algunos PIC pueden ejecutar una instrucción por ciclo y otras, por ejemplo, ejecutar una instrucción por cada cuatro ciclos del reloj del sistema.
Aunque el OP solicitó información sobre un PIC16 de 20 MHz, como ya se ha abordado, estoy mostrando información para la versión más rápida en todas las diferentes familias de PIC. Donde hay diferencias significativas entre partes en varias subfamilias, como PIC24F / PIC24EP y PIC32MX / PIC32MZ, las muestro por separado.
Obtuve los números yendo al sitio web Digi-Key , buscando partes para cada familia y luego seleccionando la velocidad más alta . Luego saqué una hoja de datos en una parte de ejemplo, que también verificó el valor MIPS.
Family Clock Speed I/O toggle time
PIC10F 16 MHz 4 MIPS 250 ns
PIC12F 20 MHz 5 MIPS 200 ns
PIC16F 20 MHz 5 MIPS 200 ns <--- example in the original question
PIC16F 48 MHz 12 MIPS 83 ns
PIC18F 64 MHz 16 MIPS 62 ns
PIC24F 32 MHz 16 MIPS 62 ns
PIC24EP 70 MHz 70 MIPS 28 ns
dsPIC30 40 MHZ 30 MIPS 33 ns
dsPIC33EP 70 MHz 70 MIPS 28 ns
PIC32MX 100 MHz 100 MIPS 10 ns
PIC32MZ 200 MHz 200 MIPS 5 ns
Si alguien tiene que hacer correcciones en esta tabla, no dude en editarla.
MIPS es de millones de instrucciones por segundo. El tiempo de conmutación de E / S es la cantidad de tiempo que el pin de E / S estará activado o desactivado en nanosegundos (ns), y se calcula como un millón dividido por el número MIPS.
Todos estos procesadores tienen la capacidad de activar o desactivar un pin de E / S en una sola instrucción. Las instrucciones varían según el procesador.