Well, my question - if word addressable memory has more bytes than byte addressable memory - is derived from the fact that in word addressable memory each address addresses a word and in byte addressable memory each address addresses a byte.In the case of word addressable memory - If the word size is 4 bytes 32 bit architecture, for example, do i have 4*2^32 bytes in my memory?And in the case of byte addressable memory -will i have 2^32 bytes in my memory?How is it possible that the same ram, i.e given the ram size is 4 GB, would contain different number of bytes depending on byte/ word addressable memory?1GB RAM has 1*1024*1024*1024 bytes in it. Say our architecture is 32 bit. So in the case of byte addressable memory there will be 4*1024*1024*1024 virtual addresses per program but in reality there are 1*1024*1024*1024 physical addresses, each points to a byte. In the case of word addressable memory there will be 4*1024*1024*1024 virtual addresses per program - each address points to a word? So in this case there will be theoretically 4*4*1024*1024*1024 bytes available for each program ?There will be 1*1024*1024*1024 physical addresses, each address points to a word. So there are actually 4*1*1024*1024*1024 bytes in the memory in this case?As you can see I am super confused.
Does word addressable memory have more bytes than byte addressable memory?
computer architecture;memory management;memory hardware;memory access;memory allocation
If you had a byte addressable architecture where pointers have a fixed size, and every or almost every bit pattern is a valid pointer to a distinct byte address, and a word addressable architecture where pointers have the same fixed size, and every or almost every bit pattern is a valid pointer to a distinct word address, then the second architecture could address more memory. Which means you could buy more RAM for more money and put it into a computer and use it. That second architecture would be in big trouble with lots of data structures that require byte pointers, like typical implementations of strings, compressed data, etc. Writing an mp3 player with word addressable memory wouldn't be my kind of fun. In practice, even mobile phones are using 64 bit processors with pointers taking up 64 bits of memory, and the addressable amount of memory right now so much exceeds what anyone could reasonably pay, that it just doesn't matter. 4 GB of memory cost around 20 dollars, multiply by 4 billion, that's 80 billion dollars, and that's what you can address with byte addressability and 64 bit pointers. (An analogy: You have an order form that allows you to order boxes of eggs. There are only six digits space, so you can order at most 999,999 boxes. If you order boxes of 18 eggs instead of boxes of 6 eggs, you can order three times as many eggs. You also pay three times as much money. Now you look at your form and it has space for 20 digits. That's more than the whole worlds egg production, whether you order them in boxes of 6 or 18. )