Programmers who have used a conventional computer are usually surprised to
learn that physical memory is organized into words because most programmers are familiar
with an alternate form of addressing known as byte addressing. Byte addressing
is especially convenient for programming because it gives a programmer an easy way to
access small data items such as characters.
When byte addressing is used, memory is organized as an array of bytes rather
than an array of words. The choice of byte addressing has two important consequences.
First, because each byte of memory is assigned an address, byte addressing requires
more addresses than word addressing. Second, because byte addressing allows a program
to read or write a single byte, the memory controller must support byte transfer.