I have a question after looking at this stackoverflow question (Loading and storing bytes in MIPS).
How does MIPs processor store a byte in the memory? Since the memory is word addressed. As in the question (Loading and storing bytes in MIPS) it can be seen that when we store a byte e.g, we have the following data at the following memory address locations
byte: 4 5 6 7
FF FF FF FF
When we do store byte at memory location 6 and the data stored is 90, we get the following memory state after the store byte is executed.
byte: 4 5 6 7
FF FF 90 FF
My question is how exactly does store byte work then?
From this example I infer that for store byte, first the processor loads the word from the required address and then replaces the byte to be stored and then stores the whole word at the memory address it was loaded from.
Is that correct?
(Update)
I think the byte enable lines or also known as the strobe lines in buses enable the processor to write a single byte instead of the whole word. So I don't think the processor needs to load the whole word first to do a store byte. If that makes sense.