OHA101%URIACC.BITNET@mitvma.mit.edu (F. Michael Theilig) (08/11/89)
It is my understanding that each memory location is 8 bits wide even on a 16 bit machine. And that this holds true for 32 bit machines. What (without getting TOO technical) is the difference between 16 and 32 bit RAM? Someone refered to 32 bit RAM as being wider. I'm confused. /* F. Michael Theilig OHA101 at URIACC.Bitnet "There is no Dark Side in the Moon, really ... matter of fact it's all dark." */
ckp@grebyn.com (Checkpoint Technologies) (08/12/89)
In article <21467@louie.udel.EDU> OHA101%URIACC.BITNET@mitvma.mit.edu (F. Michael Theilig) writes: > > It is my understanding that each memory location is 8 bits wide > even on a 16 bit machine. And that this holds true for 32 bit machines. > What (without getting TOO technical) is the difference between 16 and 32 > bit RAM? Someone refered to 32 bit RAM as being wider. I'm confused. > Good question. All memory *addresses*, to the programmer, are the address of a particular byte. However, the memory organization can be different. The memory 'width' indicates the number of bits that can be moved between the CPU and memory in one 'memory cycle', whose duration depends on the machine; on the Amiga, one 'memory cycle' is usually 4 clock cycles, each being 1/7,160,000th of a second). On an 8 bit CPU, you can get 8 bits at a time, exactly one 'byte'. On the 68000 in the Amiga, it can get 16 bits at one time, meaning it can move twice as many bits in the same amount of time. (It doesn't *always* use 16 bits at a time; it depends on the program.) The 68020 can get 32 bits at a time, twice as many as the 68000. -- First comes the logo: C H E C K P O I N T T E C H N O L O G I E S / / \\ / / Then, the disclaimer: All expressed opinions are, indeed, opinions. \ / o Now for the witty part: I'm pink, therefore, I'm spam! \/
451061@UOTTAWA.BITNET (Valentin Pepelea) (08/12/89)
"F. Michael Theilig" <OHA101%URIACC.BITNET@mitvma.mit.edu> writes in Message-ID: <21467@louie.udel.EDU> > It is my understanding that each memory location is 8 bits wide > even on a 16 bit machine. And that this holds true for 32 bit machines. > What (without getting TOO technical) is the difference between 16 and 32 > bit RAM? Someone refered to 32 bit RAM as being wider. I'm confused. Each memory location contains a byte. (8 bits) On 16-bit systems, you can read or write 16 bits at a time. (2 bytes) On 32-bit systems, you can access 32 bits at a time. That is much faster, because the hardware has to specify the address accessed only once instead of 4 times. Depending on the architecture, it is also much faster to access 32-bit data on 4-byte aligned an instant address error. (That's Guru 00000003 for you and me) Valentin _________________________________________________________________________ The godess of democracy? "The Name: Valentin Pepelea tyrants may destroy a statue, Phonet: (613) 231-7476 but they cannot kill a god." Bitnet: 451061@Uottawa.bitnet Usenet: Use cunyvm.cuny.edu gate - Confucius Planet: 451061@acadvm1.UOttawa.CA
jam@lonex.radc.af.mil (Joel A. Mussman) (08/14/89)
>> It is my understanding that each memory location is 8 bits wide >> even on a 16 bit machine. And that this holds true for 32 bit machines. >> What (without getting TOO technical) is the difference between 16 and 32 >> bit RAM? Someone refered to 32 bit RAM as being wider. I'm confused. >> > Good question. All memory *addresses*, to the programmer, are >the address of a particular byte. However, the memory organization can >be different. At least on most *normal* modern machines, there are exceptions to every rule (see Honeywell?). > The memory 'width' indicates the number of bits that can be >moved between the CPU and memory in one 'memory cycle', whose duration >depends on the machine; on the Amiga, one 'memory cycle' is usually 4 >clock cycles, each being 1/7,160,000th of a second). On an 8 bit CPU, >you can get 8 bits at a time, exactly one 'byte'. On the 68000 in the >Amiga, it can get 16 bits at one time, meaning it can move twice as >many bits in the same amount of time. (It doesn't *always* use 16 bits >at a time; it depends on the program.) The 68020 can get 32 bits at a >time, twice as many as the 68000. This sounds a little complicated, I would like to make my humble attempt at enlightenment. The movement of data from memory to the processor is divided into two parts. The first depends on the size of the machine, be it 8bit, 16bit, or 32bit. What this really means is that the smallest memory unit you can work with is normally a byte, and the largest is normally the size of a register in your particular processor (68000 = 32 bit registers). The second part is how data is moved from memory to the registers and back. This takes place over a device named the 'data bus', which you may envision as a series of wires, each corresponding to a bit in memory (or a register). For example, if you want to move 32 bits of memory, and have a 32bit data bus, you can move it in one swoop. If you have a 16bit bus you have to make two "grabs". Of course you are allowed to move memory elements smaller than the data bus, a byte only takes up eight bits of the bus. Also it should be apparent that this only takes one "grab". Side note: the bitsize of a machine is ususally calculated from the register size, not the data path. Anyways, the 68020/30 has a wider data bus than the 68000, so it can make 32bit moves. The Amiga, being designed around the 68000, has its main memory centered around a smaller data bus. Thats why third party vendors sell memory boards which offer a separate connection to add-on processor boards, so you can add memory that is accessible at a higher rate. Joel A. Mussman jam@lonex.radc.af.mil
451061@uottawa.bitnet (Valentin Pepelea) (08/14/89)
The line eater ate up a the 14th line of one of my previous postings. This is how it should have looked like: ----------------------------Corrected message---------------------------- "F. Michael Theilig" <OHA101%URIACC.BITNET@mitvma.mit.edu> writes in Message-ID: <21467@louie.udel.EDU> > It is my understanding that each memory location is 8 bits wide > even on a 16 bit machine. And that this holds true for 32 bit machines. > What (without getting TOO technical) is the difference between 16 and 32 > bit RAM? Someone refered to 32 bit RAM as being wider. I'm confused. Each memory location contains a byte. (8 bits) On 16-bit systems, you can read or write 16 bits at a time. (2 bytes) On 32-bit systems, you can access 32 bits at a time. That is much faster, because the hardware has to specify the address accessed only once instead of 4 times. Depending on the architecture, it is also much faster to access 32-bit data on 4-byte aligned addresses. On the 68000, accessing 16-bit data on odd addresses will produce an instant address error. (That's Guru 00000003 for you and me) Valentin _________________________________________________________________________ The godess of democracy? "The Name: Valentin Pepelea tyrants may destroy a statue, Phonet: (613) 231-7476 but they cannot kill a god." Bitnet: 451061@Uottawa.bitnet Usenet: Use cunyvm.cuny.edu gate - Confucius Planet: 451061@acadvm1.UOttawa.CA