Why does 8gb of ram display like 8192mb and not 8000mb?

413 views

In informatics parts there’s always a little bit more when talking about GB or similars. Why it’s like that?

In: 0

10 Answers

Anonymous 0 Comments

Three wires can have eight possible patterns: 000 001 010 011 100 101 110 111.

Four wires can have sixteen possible patterns: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111.

If you want to have ten memory cells, all identified by different patterns, you can’t use three wires because you won’t have enough patterns. You have to use four wires, but then you have some leftover patterns, and then you have to decide: How do you check whether the pattern’s one of the “invalid” leftovers? What do you do if you receive an invalid pattern?

However you answer these questions, you’ll need to build extra circuits to implement your answer, and that is not be free: Invalid pattern handling circuits will need design and testing, use valuable power and area, and take time to operate.

And so it was decided to simply avoid leftover patterns: “Let’s always pick the number of memory cells so we can wire it up without leftover patterns. Therefore we’ll never make memory with ten memory cells, we will always have eight or sixteen.”

In general you have 2x2x2 = 8 patterns for 3 wires, 2x2x2x2 = 16 patterns for 4 wires, 2x2x2x2x2 = 32 patterns for 5 wires, and in general 2x2x … x2x2 = 2^n patterns for n wires. 8192 fits this pattern (8192 = 2^13 ).

[1] Actually 8192 MB in this context 2^33 . One megabyte (MB) is traditionally defined to be 2^20 = 1048576. Except some people got grumpy at the computer people about this definition around in the late 1990’s, because the metric system used by the rest of science defines mega- / M- to mean 1000000. They proposed redefining MB to be 1000000 to be consistent, and instead use [MiB / mebibyte](https://en.wikipedia.org/wiki/Byte#Multiple-byte_units) to mean 1048576. A lot of people thought this was reasonable and changed to the new definitions. A lot of other people ignored the change and continued using the traditional definition. (If you’re, say, selling memory as a commercial product, it doesn’t help that “megabyte” is the word that got embedded in the public consciousness when computers first became popular in the 1980’s and 1990’s, and “mebibyte” is a rather silly sounding word.)

So if you agree with the grumpy people, your 8192 MB is actually 8192 MiB. But “MB” might be displayed by your BIOS, OS, and/or the box your memory came in.

You are viewing 1 out of 10 answers, click here to view all answers.