3.3.1.5 How Do I Port My Code To Different Device Architectures?
Microchip devices have three basic architectures: 8-bit, which is a Harvard architecture with a separate program and data memory bus; 16-bit, which is a modified Harvard architecture also with a separate program and data memory bus; and 32-bit, which is a MIPS and Arm architecture. Porting code to different devices within an architectural family requires a minimum update to application code. However, porting between architectural families can require significant rewrite.