What are they and what are their differences?
- Unbanked access
- Banked access
- Common memory access
This question is originated from my reading of MPLAB XC8 PIC Assembler User's Guide where the latest XC8 compiler requires a preprocessor directive to contain or wrap assembly codes in sections called PSECT. I have a basic understanding of memory management where instructions are stored in program memory (ROM), variables are stored in data memory (RAM) and temporary instructional data are stored in the stack etc. My understanding of memory banking is to divide the RAM into pair just so to enable writing or reading two bytes from two different memory location simultaneously in one cycle, but I'm not sure if this mechanism is device dependent or is that a general concept in computer science. And the term of unbanked, banked and common access is rather confusing - is that a grouping mechanism of memory or different ways of accessing memory? Hence my question.