Creo que no estás calculando el tiempo de instrucción correctamente. Un reloj de 4 MHz está dividido por 4 fases (captura, decodificación, ejecución, almacenamiento), por lo que tiene un tiempo de instrucción de 1 us, el menor retraso a 4 MHz.
Sin embargo, miré la hoja de especificaciones del PIC18F452 y dice que ejecutará un oscilador externo de DC a 40 MHz. 40MHZ significa un tiempo de instrucción de 100 ns.
4 de esos ciclos te dan exactamente 400 ns. O puede ejecutar 3 ciclos durante 300 ns y usar una red RC para extender otros 75 ns.
Si alternar un pin de E / S, lo mejor que puedes hacer en una ráfaga es 10 MHz / 2.
Tenga en cuenta que podría comprar un buen oscilador de 32 MHz que le daría exactamente 375 ns ciclos de instrucciones, como sugiere @winny.
Esto se cita en la hoja de datos PIC18F4xx :
• Operación de hasta 10 MIPs:
• Instrucciones de 16 bits de ancho, ruta de datos de 8 bits de ancho
• Niveles de prioridad para interrupciones
• 8 x 8 Multiplicador de hardware de ciclo único