Electronic – the meaning of 16 Bit instruction format in 8 bit microcontroller

microcontrollerpic

While studying about PIC18 I came across this weird thing. I understand what instruction format means and I also know what '8 bit' means in case of 8 bit Microcontroller. But my doubt is that, "If the Microcontroller is having 8bit architecture then how does it have 16 bit instruction format?"

Best Answer

When the PIC18 series are referred to as 8-bit microcontrollers, its the size of the data words which these micros use which is being specified.
Their registers and RAM are 8-bit wide, and computations and operations are typically done on 8-bits at a time.

However, since the PICs use a Harvard architecture, their data and program memories are kept completely separate.

This means that there is no link between the size of the data words and the size of the program code words.

When looking at the different sub-groups in the 8-bit PIC family, you can see that there are different groups with different code word sizes. The PIC18's have 16-bit code words, while the PIC12's have 12-bit code words.
Once upon a time there was also a PIC14 with a 14-bit code word.

You may have noticed that PIC12=12-bit, PIC14=14-bit, but PIC18 doesn't correspond with an 18-bit code word.
This is because the PIC18's were developed as an upgrade to the PIC16 series and PIC16=16-bit.