den21:
Memory
We will consider 3 different types of computer memory in this article.
SDR-SDRAM (Single Data Rate - Synchronous Dynamic Random Access Memory) - SDR-SDRAM was the dominant memory of the late 90s. Later version were available at speeds of 66/100/133 MHz as standard. This type of memory is/was used by both Intel and AMD for their recent offerings, even used in the i845/845G chipset with the Pentium 4 processsor. Later we will show what a mistake or distinct waste of CPU that was.
DDR-SDRAM (Double Data Rate - Synchronous Dynamic Random Access Memory) - DDR-SDRAM has taken over where SDR memory left off. Particularly with AMD systems (Thunderbird / XP / Thoroughbred) DDR memory has come to the fore as the mainstream memory for the forseeable future, with DDR-II on the horizon.
RDRAM (RAMBUS Dynamic Random Access Memory) - Although only really made popular in the mainstream computer market via the Intel Pentium 4 processor, RDRAM technology dates back earlier than DDR memory.
Bandwidth Calculations
To avoid confusion later on here is a reference table for bits, bytes, Mega, kilo, Giga etc...
1 bit is a single unit of information depicted in the form of a 1 or a 0.
There are 8 bits in a byte
There are 1024 bytes in a kilobyte
There are 1024 kilobytes in a Megabyte
There are 1024 Megabytes in a Gigabyte
And incidentally, although not used in this article...
There are 1024 Gigabytes in a Terabyte
SDR-SDRAM
To calculate memory bandwidth we need to know 2 things. Its data width and its operating frequency. The latter is easier to find out as it is usually part of the marketing/retail title.
We usually see SDR memory at 100 or 133MHz. Taking 133MHz as the example, this means that the memory can perform an operation 133 million times every second.
Finding the data width, well that's just something you have to look up. SDR memory has a data width of 64 bits or 8 bytes (8 bits in a byte).
PC100 SDR Memory
The calculation is as follows : data width * operating frequency = bandwidth (in bits/s)
To convert to more realistic and manageable figures, divide the result by 8 to give bytes/s and then divide again by 1024 to get kilobytes/s and then by 1024 again to get Megabytes/s.
Thus : 64 (bits) * 100,000,000 (Hz) = 6400,000,000 bits/s
(6400,000,000/8) / (1024*1024) = 762.9MB/s memory bandwidth.
PC133 SDR Memory
Using the same forumla as we did for PC100 SDR memory we can easily calculate theoretical memory bandwidth for PC133 SDR memory.
64 (bits) * 133,000,000 (Hz) = 8512,000,000 bits/s
(8512,000,000/8) / (1024*1024) = 1014.7MB/s or roughly about 1GB/s memory bandwidth.
DDR-SDRAM
DDR memory is slightly more complicated to understand for 2 reasons. Firstly, DDR memory has the ability to transfer data on the rising and falling edge of a clock cycle, meaning theoretically DDR memory doubles the memory bandwidth of a system able to use it.
Secondly, as a marketing push to compete with a rival technology at the time DDR was introduced, RAMBUS; DDR was sold as a measure of its approximate peak theoretical bandwidth. Similar to AMD and the PR rating of the XP processors we have today, People buy numbers, and DDR was seen to be faster if it was sold as PC1600 and PC2100 instead of PC200 and PC266.
PC1600 DDR Memory / DDR200 Memory
DDR memory has the same data width as SDR memory: 64 bits.
We use the same calculation to measure bandwidth, with the additional frequency.
64 (bits) * 200,000,000 (Hz) = 12800,000,000 bits/s
(12800,000,000/8) / (1024*1024) = 1525.9MB/s.
Notice the bandwidth is twice that of PC100 SDR memory.
PC2100 DDR Memory / DDR266 Memory
64 (bits) * 266,000,000 (Hz) = 17024,000,000 bits/s
(17024,000,000/8) / (1024*1024) = 2029.4MB/s or roughly 2GB/s memory bandwidth.
With the advent of improved memory yields, modules able to run at higher clock speeds are being released to the market. PC2700 has finally come into its own with the introduction of the AMDXP2700+/2800+ and the Intel i845PE chipset.
Here are some bandwidths for the latest memory available:
PC2700 DDR Memory / DDR333 Memory
64 (bits) * 333,000,000 (Hz) = 21312,000,000 bits/s
(21312,000,000/8) / (1024*1024) = 2540.6MB/s.
PC3200 DDR Memory / DDR400 Memory
64 (bits) * 400,000,000 (Hz) = 25600,000,000 bits/s
(25600,000,000/8) / (1024*1024) = 3051.8MB/s.
PC3500 DDR Memory / DDR434 Memory
64 (bits) * 434,000,000 (Hz) = 27776,000,000 bits/s
(27776,000,000/8) / (1024*1024) = 3311.2MB/s.
--------------------------------------------------------------------------------
RDRAM
RDRAM memory is slightly more complicated in that the bus operates at an effective 64 bit bus width ala DDR but is seperated into 2 16/32 bit channels. What does this mean? well currently 2 sticks of RDRAM have to be used in a system. DDR has the advantage (usually from a cost point of view) of being able to be used in single DIMMs.
The caclulation is basically the same however, we just need to take into account the extra channel and additional memory speed.
PC800
16 (bits) * 800,000,000 (Hz) = 12800,000,000 bits/s
(12800,000,000/8) / (1024*1024) = 1525.9MB/s. Multiplied by 2 because of the dual channel configuration - 3051.8MB/s
PC1066
16 (bits) * 1066,000,000 (Hz) = 17056,000,000 bits/s
(17056,000,000/8) / (1024*1024) = 2033.2MB/s. Multiplied by 2 because of the dual channel configuration - 4066.4MB/s
Opinion: Nice setup, however I would use NO Less than 512MB RAM(especially at the cost these days!)preferably 333(PC2700) if the mobo supports it and personally, I prefer the Intel chip when using Pentiums. I would go with ALL LiteOn(DVD,CDR,CDRW) drives and an ATI 9700Pro.