Принцип линейности и однородности памяти

Память машины Фон Неймана – это линейная (упорядоченная) и однородная последовательность некоторых элементов, называемых ячейками. В любую ячейку памяти другие устройства машины (по толстым стрелкам на схеме рис. 1) могут записать и считать информацию, причём время чтения из любой ячейки одинаково для всех ячеек. Время записи в любую ячейку тоже одинаково (это и есть принцип однородности памяти). Разумеется, время чтения из ячейки памяти может не совпадать со временем записи в неё. Такая память в современных компьютерах называется памятью с произвольным доступом (Random Access Memory – RAM). На практике многие современные ЭВМ могут иметь участки памяти разных видов. Например, некоторые области памяти поддерживают только чтение информации (по-английски эта память называется Read Only Memory, ROM), данные в такую память записываются один раз при изготовлении этой памяти. Другие области памяти могут допускать запись, но за значительно бóльшее время, чем в обычную память (это так называемая полупостоянная память, такой памятью комплектуется популярные в настоящее время карты флэш-памяти) и др.

Ячейки памяти в машине Фон Неймана нумеруются от нуля до некоторого положительного числа N (это и означает, что память линейная), причёт число N в "настоящих" ЭВМ часто является степенью двойки, минус единица. Адресом ячейки называется её номер. Каждая ячейка состоит из более мелких частей, именуемых разрядами и нумеруемых также от нуля и до определённого числа. Количество разрядов в ячейке обозначает разрядность памяти. Каждый разряд может хранить одну цифру в некоторой системе счисления. В большинстве ЭВМ используется двоичная система счисления, т.к. это более выгодно с точки зрения аппаратной реализации. В этом случае каждый разряд хранит одну двоичную цифру или один бит информации. Восемь бит составляют один байт. Сам Фон Нейман тоже был сторонником использования двоичной системы счисления, что позволяло хорошо описывать архитектуру узлов ЭВМ с помощью логических (булевских) выражений.

Содержимое ячейки называется машинным словом. С точки зрения архитектуры, машинное слово – это минимальный объём данных, которым могут обмениваться между собой различные узлы машины по толстым стрелкам на схеме (не надо, однако, забывать о передаче сигналов по тонким стрелкам). Из каждой ячейки памяти можно считать копию машинного слова и передать её в другое устройство компьютера, при этом оригинал не меняется. При записи в память старое содержимое ячейки пропадает и заменяется новым машинным словом.

Заметим, что на практике решение задачи сохранения исходного машинного слова при чтении из ячейки для некоторых видов памяти является нетривиальным и достаточно трудоемким. Дело в том, что в этой памяти (она называется динамической памятью, её использование экономически более выгодно) при чтении оригинал разрушается, и его приходится каждый раз восстанавливать после чтении данных. Кроме того, хранимые в динамической памяти данные разрушаются и сами по себе с течением времени (они теряют электрический заряд), поэтому приходится часто (через каждые несколько миллисекунд) восстанавливать содержимое этой памяти.

В компьютерах может использоваться и другой вид памяти, которая называется статической памятью, при чтении из неё и при хранении данные не разрушаются (пока подаётся электрическое напряжение). Статическая память, по сравнению с динамической, работает быстрее, однако она более дорогая и требует при реализации больше электронных схем.

Приведём типичные характеристики памяти современных ЭВМ.

1. Объём памяти – от сотен миллионов до нескольких миллиардов ячеек (обычно восьмиразрядных).

2. Скорость работы памяти: это время доступа (access time – минимальная задержка на чтение слова из памяти на некоторый регистр) и время цикла (cycle time – минимальная задержка на повторное чтение из памяти) – порядка единиц наносекунд (1 секунда = 109 наносекунд). Заметим, что для упомянутой выше динамической памяти время цикла больше, чем время доступа, так как надо ещё восстановить разрушенное при чтении содержимое ячейки.

Чтобы почувствовать, насколько мало это время, учтём, что за одну наносекунду электромагнитный сигнал (или, как часто не совсем правильно говорят, свет) проходит в пустоте всего около 30 сантиметров (а в медных проводах ещё меньше, около 22 сантиметров). Следовательно, быстрые компьютеры просто не могут быть слишком большими, при таком времени доступа расстояние от центрального процессора до оперативной памяти не должно превышать 20 сантиметров! Если уменьшить время доступа ещё в десять раз, то вся центральная часть мощного компьютера должна размещаться в кубике размером несколько сантиметров. Вероятно, конструкторы ЭВМ с тоской вспоминают время, когда одна машина занимала большой зал со шкафами, набитыми электроникой.

3. Стоимость. Для основной памяти ЭВМ пока достаточно знать, что чем быстрее такая память, тем она, естественно, дороже. Конкретные значения стоимости памяти меняются весьма быстро с развитием вычислительной техники, и не представляют интереса в рамках данного изучения архитектуры ЭВМ.

Наши рекомендации