Memory map: Difference between revisions

Line 104:
Accesses in this area are affected by a simplified hardware implementation of the RCP SysAD bus, so '''''access size is ignored'''''. This means that:
 
* Reads: RCP will ignore the requested access size and will just put the requested 32-bit word on the bus. Luckily, this is the correct behavior for 8-bit and 16-bit accesses (as explained above), so the VR4300 will be able to extract the correct portion. For 64-bit accesses,reads theinstead 32-bitwill wordcompletely stays onfreeze the busVR4300 for(and twothus cycles,the sowhole basicallyconsole), thebecause VR4300it will seestall awaiting 64-bitfor valuethe whichsecond containsword to appear on the 32-bitbus valuethat duplicatedthe inRCP bothwill MSB andnever LSBput.
* Writes: RCP will ignore the requested access size and just write the word that was put on the bus directly into the hardware register. For 8-bit and 16-bit accesses, this means that the shifted value prepared by the VR4300 is the one that will be written verbatim. Reprising the example above, if <code>S0=0x1234'5678</code>, <code>A0=0x0460'0011</code>, running <code>SB S0, 0(A0)</code> will write the value <code>0x5678'0000</code> to the RCP hardware register <code>0x0460'0010</code>. For 64-bit accesses, as they are written on the bus MSB-first, the RCP will write the MSB to the hardware register, ignoring the LSB.