Voyager 2 talks in code! Scientists need Enigma Machine to decode science
data!
Voyager 2 is sending back garbled data. The current hypothesis is that a bit has been flipped somewhere in its tiny computer memory by a passing cosmic ray. Hopefully its a reversible failure.
I've encountered bit flip errors under more mundane situations - we all have had a PC crash through 'Memory Parity Error' at one time or another.
( I used to have a PC that when overheated would die due to RAM errors ( A 386-SX at ambient temperatures of >30C (In a little shop with no air conditioning )))
However I ran into this problem one day with a cheap ($1 Cdn) calculator.
We were adding up long columns of numbers. My assistant was using the calculator, and I was doing it with a pencil. There were (legal) reasons for getting a accurate answer. I came up with one total, and she got another.
So we did it again.
Again the totals disagreed,but her total also disagreed with her previous
total!
I took the calculator this time, and we tried several more times.
The manual addition came to the same total every time, but it wasn't the same as the calculator offered.
What was happening was that if we added this column:
24
30
55
37
23
--
159
we would get 139 if we entered it as 24 + 30 + 55 + 37 + 23
But if we mentally grouped figures as we worked, to speed things up:
54 + 55 + 60 we would get, say 142
And of course, 24 + 30 + 55 + 60 would get 146.
A pocket calculator has a very small chunk of RAM that is divided into registers. I doubt very much that any kind of parity check is run on them at boot.
These registers are used to store the intermediate values of each calculation.
Somewhere in one of the registers there was a stuck bit ( Chances favor that it was stuck on binary 0 )which served to mutate each value when it was entered into the register. 11111111 (255) would become 11111101 (253), perhaps, 00011000 (24) would stay unchanged, but 00011110 (30) would become 00011100 (28), 00110111(55) would become 00110101 (53), and so on.
If the damaged register was being used for the sum total, then the answer would be wrong by the same amount (in binary) every time, no matter how the parts were added up.
It was sobering to realize I was holding a calculator that appeared to give correct answers , but was wrong. We take those little machine's accuracy for granted.
I regret not keeping the calculator: it was a novelty then, but philosophically the event has stayed with me.
Labels:
bit flip,
calculator,
parity,
voyager
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment