Найти в Дзене
ZDG

Железная память

В предыдущих выпусках я писал, что для работы над любым понятием нужна физическая память, где это понятие может существовать. Саму память можно организовать тысячами разных способов. Например, если вам нужно создать понятие "5", вы можете написать число 5 мелом на доске. В данном случае памятью служит поверхность доски, на которой в определенных местах находятся частицы мела. Эти частицы складываются в линию в форме "5", мы анализируем эту линию и понимаем, что в этой памяти хранится число 5. А можно взять бревно и делать на нем зарубки. Если вы сделаете на бревне 5 зарубок, то бревно станет памятью, в которой хранится число 5. Можно положить в коробку 5 мраморных шариков, вырастить 5 деревьев, завязать 5 узелков на шнурке, и так далее. Но если вам нужно сделать память для практического использования в компьютере, все эти способы, конечно, слишком громоздки и сложны. Нужно искать другие пути. Допустим, можно взять шестеренку и поворачивать ее. Если она повернута на 5 щелчков – значит,

В предыдущих выпусках я писал, что для работы над любым понятием нужна физическая память, где это понятие может существовать.

Саму память можно организовать тысячами разных способов. Например, если вам нужно создать понятие "5", вы можете написать число 5 мелом на доске. В данном случае памятью служит поверхность доски, на которой в определенных местах находятся частицы мела. Эти частицы складываются в линию в форме "5", мы анализируем эту линию и понимаем, что в этой памяти хранится число 5.

А можно взять бревно и делать на нем зарубки. Если вы сделаете на бревне 5 зарубок, то бревно станет памятью, в которой хранится число 5.

Можно положить в коробку 5 мраморных шариков, вырастить 5 деревьев, завязать 5 узелков на шнурке, и так далее.

Фрагмент памяти веревочного компьютера (Twenty20 Stock Photo)
Фрагмент памяти веревочного компьютера (Twenty20 Stock Photo)

Но если вам нужно сделать память для практического использования в компьютере, все эти способы, конечно, слишком громоздки и сложны. Нужно искать другие пути.

Допустим, можно взять шестеренку и поворачивать ее. Если она повернута на 5 щелчков – значит, на ней хранится число 5. Довольно логично.

Электромеханический компьютер для самонаведения торпеды (Wikimedia Commons)
Электромеханический компьютер для самонаведения торпеды (Wikimedia Commons)
Предки компьютеров – арифмометры – были именно такими, из шестеренок. Но это было всё еще очень медленно и громоздко.

С появлением электрических приборов возникла мысль – а что, если данные хранить в электрическом виде? Если накапливать в каком-то месте электрический заряд, то можно его измерять. Если напряжение 0 вольт, значит там хранится 0. Если 1 вольт, то 1. Если 5 вольт, то 5. Ну а если надо хранить миллион, тогда что, нужно сделать напряжение миллион вольт? Не подходит.

Но кроме того, возникает еще и проблема точности измерения. Если мы измерили 1 вольт с погрешностью, то может получиться 1.1 вольта или 0.9 вольта. Какое число там хранится в результате? 0.9, 1, или 1.1? Такая погрешность ставит под сомнение любые вычисления.

Поэтому решение было выбрано самое простое и такое надежное, что оно работает во всех компьютерах от самого начала и до наших дней.

Было решено, что мы не будем хранить никаких чисел, кроме двух: 0 и 1.

Если напряжение 0 – значит, там хранится 0. Если напряжение любое, но не 0 – значит, там хранится 1. Всё. Условно говоря, памятью является выключатель, который может принимать только два положения.

Это исключает любые проблемы с погрешностью измерения, но тогда возникает вопрос – а как же хранить в памяти числа, которые не 0 и не 1?

Об этом – в следующем выпуске: