0
$\begingroup$

In MIPS processor, address bus is of 32 bits. So on addressing an instruction, a whole 32 bit instruction is fetched. How is it byte addressable then? I mean if on addressing a particular address, the memory sends 32 bits as a wholesome, how is it byte addressable?

$\endgroup$
  • $\begingroup$ I guess you are mixing the concepts a bit here. I would suggest you to learn more about the concept and gain the much needed conceptual clarity. try the resources mentioned below courses.cs.washington.edu/courses/cse378/09au/lectures/… If you still have any doubts then you can let me know. Much happy to help :) . $\endgroup$ – Anonymous Developer Dec 19 '18 at 19:52
  • $\begingroup$ Address bus is for addresses, data bus is for data. 32 bit address bus doesn't tell you anything about the amount of data. $\endgroup$ – gnasher729 Jan 19 at 15:29
1
$\begingroup$

"Byte addressable" means that a 32-bit address points to a single byte of memory, so if you increment that address, it points one byte further.

The opposite is "word addressable", where (on a 32-bit processor) every 32-bit address points to a 32-bit word, so if you increment that address, it points four bytes further in memory.

EDIT: As Ran G points out, byte addressable machines can address words too. But for the naming, we're concerned with the smallest unit they can address.

$\endgroup$
  • $\begingroup$ Just to complete the answer, the fact that the memory is byte-addressable (each address = 1byte) doesn't mean you can't reference a word in the memory. That is, if you tell the processor to work with words, it will reference the word (4bytes) that lies in addresses (addr, addr+1, addr+2,addr+3) assuming addr=0 mod 4. $\endgroup$ – Ran G. Jan 19 at 7:44
  • $\begingroup$ @RanG. Fair; added a note $\endgroup$ – Draconis Jan 19 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.