In addition to instruction memory, we need data memory.
Now in reality, memory is memory, so when we say “Data memory,” we simply mean we a to need path the single computer working memory to load/store data in load/store instructions.
We color code data memory blue, like instruction memory, to remind us that it is the same memory, only accessed along a different path or bus.
Fig.3.5 Data Memory
We know that many instructions have immediate parts that are 16 bits in length.
The immediate is added to a 32-bit operand (register or PC contents) to create an operand or perhaps a new address, for instance in a branch instruction.
Since the immediate may be + or ─, then to add it to a 32-bit argument, we must sign extend it to 32-bits.