Memory banks


So far we have concentrated on identifying the type and speed of memory  device that is needed, but you cannot add extra memory in any amount. For example, it seems reasonably  obvious that you cannot add a single  1MBit chip . The reason is simply that supplying 1  bit of each storage location in a megabyte  of memory doesn't allow you to store  a complete byte in any of the  locations. To be of any use , each location has to have a full complement of 8 bits (9 including parity) and so you have to fit  memory devices to give this number of bits at each location. For example, by fitting eight (or nine including parity) 1MBit chips. Another way of saying  this is that memory  has to be at  least eight (or nine) bits wide.
This restriction of fitting memory  in whole bytes seems reasonable enough, but the  386SX gets data form memory in 16-bit chunks and the rest of the  386  family  works  in 32-bit chunks. The argument about fitting memory in complete eight-bit  blocks also applies  to the 16-  and 32-bit  blocks used by the  386SX and rest of the 386 family. That is when the  processor tries to retrieve a 16-bit or 32-bit item of data from memory all 16 or 32 bits have to be there!
In other words:
Ø  For the 386SX you have to add memory in 13-bit  wide chunks
And
Ø  For the 386DX, 486DX and 486SX you have to add memory in 32-bit wide chunks.
The smallest  chunk of memory that you can add to a machine is usually referred to as a  bank and so the 386SX uses 16-bit banks and the rest use 32-bits banks.
The number of banks and the type  of memory device  that a machine  accepted  can have important implications for memory expansion. For example, suppose  you have a 386SX machine  with four SIMM sockets talking either 256Kx9Bit, 1Mx9Bit or 4Mx9Bit SIMMs. Simple minded  reasoning  suggest that you can reach any memory capacity by fitting mixtures of different types of SIMM in each socket (for example, two 256Kx9Bit SIMMs, one 1Mx9Bit SIMM and a 4Mx9Bit SIMM to give a total of 5.5 Mbytes). In fact you cannot and this configuration would most definitely be illegal! The reason is that  although there are four SIMM sockets these are  organized  as a pair of  banks each  consisting of two of the sockets. Each bank has to  be filled  or empty, i.e you can not have a  half used bank and is has to be filled  with the same type of  memory device. This severely restricts the possible  memory configuration and certainly makes the example configuration  illegal!
Once you realize that memory devices have to be added in whole banks, many of the strange  rules that apply to which memory sizes are reachable  and which are not  become clear some machines are even more restrictive than this and  demand not only  that you fit the  same type of  memory device to each bank  but to all of the banks. In this case configurations such as 2x256Kx9Bit SIMMs in bank 0 and 2x1Mx9Bit SIMMs in bank 1, giving a total of 3.5 Mbytes, would be illegal!
You can also see that having a limited number of banks can stop you  reaching the maximum configuration  of any given machine. For example in the  case of a  386DX or a 486,each bank would  have to consist of four  SIMM sockets. If there are two banks  then fitting all 4Mx9Bit  SIMMs would produce a total of 32 bytes. However, If the machine was initially  delivered  with 4Mbytes of RAM fitted  then this could only be supplied as four 1Mx9Bit SIMMs i.e  filling one bank. Notice that it is  impossible to supply this small amount of memory in any other  way as a single 4Mx9Bit SIMM wouldn't fill a whole bank. When you subsequently consider the upgrade  options you can only fill  the second  bank with more 1Mx9Bit SIMMs, giving a total of 8 Mbytes, or if you are allowed to mix the type of memory device, use four 4Mx9Bit SIMMs, giving a total  of  20 Mbytes. To reach the maximum memory you would  have no choice  but to remove the initial bank of 1Mx9Bit SIMMs.

The same  arguments apply to the  use of  DIL chips, only in this case the  numbers  involved are larger. That is for a 386SX, a bank of DIL chips consists of 16 (18 including parity) 1-bit devices and for the 386DX and 486 a bank consists of 32 (36 including parity) 1-bit devices. With chips having to be fitted  in multiples of 32 or 36 you can start  to see the  advantage  of memory  modules!


EmoticonEmoticon