The PIC 18F46K22 has a 21bit address for a max program memor

The PIC 18F46K22 has a 21-bit address for a max program memory capacity of 2 MB, why the PIC diagram shows it only uses 20 bits of the PC? Why the Am486 32-bit CPU doesn\'t provide A1 and A0 address bits in its address bus? Why the ARM v7 32-bit CPU has an address space of 2^30 - 1 words? What is the machine code for the instruction \"go to Next\" where Next is located at 0x 1234? Why the MPLAB\'s view Program Memory shows ACCESS and BANKED in the disassembled instruction next to its machine code?

Solution

a.

The Most significant bit (MSB) is used to recognise the access to data memory or programme memory, that\'s why PIC18 shows only 20bits of the PC.

b.

Address bits A0 and A1 of the physical operand\'s base address are created when
necessary. The byte enables can also be decoded to generate BLE (Byte Low Enable) and BHE (Byte High
Enable). These signals are needed to address i6-bit memory systems.

c.

ARM uses word address to fetch an instruction from the memory. The two Least significant bits of the word addresses are set to zero always. While the other bits are used to determine which word is required. That\'s why for 32 bit CPU only 30 bits are used for addressing, the address space is of 230 - 1 words only.

d.Opcode for goto is EF which can be written in binary as 1110 1111.

Machine Code for \"goto next\" 1110 1111 0001 0010 0011 0100

 The PIC 18F46K22 has a 21-bit address for a max program memory capacity of 2 MB, why the PIC diagram shows it only uses 20 bits of the PC? Why the Am486 32-bit

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site