Also what does 8 bit words mean?
In context, the word size goes with the address size to describe the memory bus. There are 16 bits gling out to the memory so it can choose 64ki locations. Then, each location contains 8 bits.
The word size here may or may not match the CPU computation unit size, and this may or may not match the logical granularity in addressing.
For example, a CPU may advertise a 16-bit bus (for this purpose). It uses 16-bit addresses in its instructions, and like your example has 64ki. But it has 15 bits of address bus and 16 bits of data bus. It only needs 32ki addresses and always gets 2 bytes with each location. (If an instruction wanted 1 byte, it would dispatch the address with the least bit missing, fetch both bytes in that step, then look at the least bit of the desired address to decide which half to use.)
Note that bank switching, PAE, etc. mentioned by others are not relevant here. A memory management unit might use 16-bit addresses and have 20-bit hardware address, so the CPU needs to switch and map things to make use of the actual 20-bit address range of RAM chips that can be addressed.
Be sure to specify units in your answers. “64ki”. Of what? 8-bit words, making it (still) 64ki bytes of addressable RAM. That step eliminates confusion and makes problems like this trivial.
16You used it indirectly: the total amount of addressable memory is 2 ^ 16 * 8 bits. Since one byte = 8 bits, that's 2 ^16 bytes, i.e. 65536 bytes, or 64 KiB. Note that K is the SI prefix for 1000. If you mean 1024, use Ki. – jcaron – 2017-06-06T09:31:20.747
2
Mind the difference between SI prefix kilobytes (1,000 bytes) and binary prefix kibibytes (1,024 bytes). 2^16 = 65,536 = 64 kibi ~ 65.5 kilo. The answer sought is probably one where kilo is taken to mean kibi, but there are times when the difference really matters. If you want to be completely certain, take the safe route and specify the number of bytes, and offer translation into more handy units such as kilobytes or kibibytes as a convenience for your teacher. Compare Wikipedia: Binary prefix. Memory chips typically specify eg 65,536x8 bits.
– a CVn – 2017-06-06T14:19:17.3273
Possible duplicate of How many memory addresses can we get with a 32-bit processor and 1gb ram?
– gronostaj – 2017-06-06T19:30:54.100You use "8 bit words" to understand that the machine is byte-addressed. – imallett – 2017-06-06T21:23:56.863
3I presume you assume no bank swapping. Most 16 bit CPUs use some form of bank swapping that makes this really hard to answer. – Joshua – 2017-06-06T21:34:38.563
1@MichaelKjörling The question say KB which has always meant 1024 bytes. – kasperd – 2017-06-07T05:32:01.043
@kasperd Except in the SI world, where a lone "k" is shorthand for "kilo" which means exactly 1000. – a CVn – 2017-06-07T06:13:12.650
1@MichaelKjörling The question never said kB. The question says KB, which means 1024 bytes and never had another meaning. KB is not an SI unit. – kasperd – 2017-06-07T06:20:47.793
@kasperd Of course kilobytes is not a SI unit; the SI system of units in this case specifies multiplier prefixes, of which kilo is one, and where it is specified to mean 10^3 or 1000. 2^10 is also a useful multiplier particularly in electronics (of which computers forms a part), but it's not what SI specifies. At least when I read something like "64 KB", I tend not to read this as "sixty-four kay-bee", but rather "sixty-four kilobytes" because that's what's meant by the abbreviation. You can argue about 10^3 ~ 2^10 all day, but that was the entire rationale for the prefix kibi and friends. – a CVn – 2017-06-07T06:26:12.610
Possible duplicate of How to find the largest size of memory?
– a CVn – 2017-06-07T08:28:23.7071@jcaron ’K’ is the SI unit for kelvin. If you want a prefix for magnitude, be sure to use
k
☺ – JDługosz – 2017-06-07T09:37:35.9231@JDługosz oops indeed (slapping self). – jcaron – 2017-06-07T09:40:26.887
@jcaron I think they dropped the degree symbol just to kill the long-running proposal to make capital
K
a synonym fork
. “There — it’s taken. Now are you happy?” – JDługosz – 2017-06-07T09:44:43.377Actually prefixes and units are different namespaces, as evidenced by
m
(prefix: milli, unit: meter). There are probably others. – jcaron – 2017-06-07T10:07:20.0371@kasperd, even though one could argue that
KB
is necessarily 1024 bytes due to the capitalK
, how many bytes would you say aMB
,GB
orTB
is? Some people say they are respectively 2^20, 2^30 and 2^40 bytes (usually the case for RAM). Others say they are respectively 10^6, 10^9, 10^12 bytes (usually the case for hard disks). It's always best to avoid ambiguity.KiB
,MiB
,GiB
andTiB
are 100% unambiguous. – jcaron – 2017-06-07T10:13:10.080I sure am glad this whole discussion is relevant to the question. Let's also discuss how he's pluralizing with an apostrophe. – J A Terroba – 2017-06-07T15:15:00.373
@MichaelKjörling Sure KB and kB are usually both pronounced the same even though they are written differently and have different meaning. As long as they are used in writing they are unambiguous. – kasperd – 2017-06-07T19:39:57.937
@jcaron Once you get to larger prefixes it is a mess I'd rather stay out of. When you are designing hardware or software it is more convenient to work with powers of two. And if you are doing marketing it is more convenient to work with powers of 10 as it makes your hardware sound bigger than the powers of tow. That's how MB came to mean 1000000, 1024000, or 1048576 depending on context. – kasperd – 2017-06-07T19:45:56.527