Sorry to re-post, but the last thread didn't really help much. Mainly because things weren't explained to me and my goal is to understand. At this point I am looking for the answers, but also anything and everything leading up to the answers. I have done a lot of work, read a lot of material and still can't get it right.
Questions:
--------------------------------------
1)
Given a supply of 4 bit wide DRAM chips containing 2^29 locations, you are asked to design a memory system for a machine with 8 DIMM slots where each DIMM slot provides word (32bit) wide data transfers and has a capacity of 2GB. How many chips are required per DIMM?
2)
Given a 32 bit address: <A31 A30 … A2 A1 A0>, which bits will be used to:
a) select a location on a given chip,
b) select between chips on a DIMM and
c) select between DIMM slots.
3)
Real-world memory systems commonly allow you to choose between different sized DIMMs (e.g. you can plug in either 1GB or 2GB DIMM sticks). How does this affect the address bits used in selecting chips, DIMMs, etc.? How do you think this is done?
Notes:
----------
*need main memory word width of W bits made out of chips of width w
-main memory word width W = 32 bits
-chip width w = 4 bits
-need 32/4 = 8 chips in parallel to form a word
*if address space is M and memory chip has N locations
-address space M is...?
-locations N is 2^29
-need M/2^29 = ? rows
*You will need M/N rows of W/w chips where M >= N and W >= w (where N is a multiple of M and w is a multiple of W)
Issues:
---------
-What notation is N = 2^29 in? bits, bytes etc..?
-How do I find M, is it 2GB? If so, what units do I use to represent it, bits, bytes etc...? M is supposed to represent the address space, isn't 2GB the the main memory size
-So the overall amount of chips needed per DIMM is rows*columns?