В настоящее время компьютеры общего назначения относятся к разряду компьютеров с хранимыми программами. Как видно из названия, компьютеры с хранимыми программами загружают инструкции (атомы программы) во внутреннее хранилище некоторого рода, откуда потом эти инструкции поступают на выполнение.
Компьютеры с хранимыми программами используют то же хранилище и для данных. Это отличает их от тех компьютеров, работой которых управляет оборудование (так работали старые компьютеры с коммутирующими панелями).
Хранилище программ в первых компьютерах такого рода называлось по-разному и использовало разные технологии, от пятен на электронно-лучевой трубке до пульсации давления в ртутном столбике. К счастью, в современных компьютерах используются технологии, вмещающие намного больше информации в намного меньший объём, чем раньше.
В рамках этой главы необходимо помнить, что компьютеры работают с хранилищем определённым образом. На самом деле доступ к хранилищу обычно имеет одну из следующих особенностей (или две сразу):
Последовательный характер
Локальный характер
Последовательный характер доступа означает, что если процессор обратился по адресу N, очень вероятно, что за тем он обратится к адресу N+1. Это имеет смысл, так как большинство программ состоит из больших блоков инструкций, исполняемых по порядку, одна за другой.
Локальный характер доступа означает, что если процессор обратился к адресу X, очень вероятно, что в будущем он обратится к адресам, окружающим X.
Это особенности очень важны, так как они позволяют создать менее вместительное, но более быстрое хранилище для эффективной буферизации большого, но медленного хранилища. Именно на этом основана реализация виртуальной памяти. Но прежде чем мы обсудим виртуальную память, мы должны изучить различные применяемые сегодня технологии хранения.