Whats the deal with byte addressing vs word addressing?
Bottom line: • CPU data accesses are all word (16-bit) accesses, i.e. MAU=16-bit • CPU program accesses are all byte (8-bit) accesses, i.e. MAU=8-bit When accessing program space (i.e. CPU executing an instruction) it utilizes a byte address. When accessing data space (i.e. CPU reading a variable in RAM) it utilizes a 16-bit address. As an example let’s consider the case of locating code at the beginning of the DARAM4 block on a 5502. This would correspond to byte address 0x8000. If instead we located a data array at that same place it would be accessed at address 0x4000 (i.e. byte_addr >> 1).