Отмечу, что в двадцатом веке никакие отрасли знания не развивались столь стремительно, как кибернетика, микроэлектроника и программирование. Первые ламповые компьютеры появились в пятидесятых годах, назывались тогда ЭВМ (электронно-вычислительные машины) и занимали зал площадью сто или двести квадратных метров. Сам я приобщился к программированию в двадцать лет, на четвёртом курсе университета, и работал ещё на легендарной М-20, одной из последних ламповых машин; потом пошли ЭВМ второго, третьего и так далее поколений, на интегральных схемах, на БИСах и СБИСах – БЭСМ-3М, М-220, М-6000, СМ-1, 2, 3 и 4, отечественные и зарубежные персоналки типа ИБМ; а потом забылось и понятие поколения, и слово «ЭВМ», и перфокарты, и перфоленты, и язык Алгол, и многое другое – и появился Его Величество Компьютер. Мог ли я тридцать лет назад, переступая порог обширного зала М-20, предвидеть, что когда-нибудь на моём столе окажется неизмеримо более мощный компьютер, и что я буду его использовать в качестве пишущей машинки и станции сверхбыстрой почтовой связи? Когда я думаю об этом, то сожалею, что начал писать фантастические романы в пятьдесят лет, а не в двадцать.
Но общая архитектура компьютера с тех пор не изменилась.
Должен вам сказать, что основные узлы этой архитектуры имелись уже в самом первом вычислительном устройстве, спроектированном и построенном Чарльзом Бэббиджем, английским математиком из Кембриджа, ещё в первой половине прошлого века. Разумеется, его машина была механической, а не электронной, но в ней имелись процессор, оперативная память и устройства ввода. Во всём мире Бэббиджа считают первым проектировщиком вычислительных машин, ибо он ближе всех подошёл к устройству, которое мы сегодня называем компьютером. Интересно, а кто же был первым программистом? Женщина, друзья мои, обаятельная женщина, графиня Лавлейс, добрый гений Чарльза Бэббиджа. Так что программирование – традиционно женская профессия, да ещё с налётом британского аристократизма.
После этих исторических замечаний, рассмотрим основные узлы компьютера.
Процессор является главным компьютерным модулем; во-первых, именно он производит все арифметические и логические операции (выполняет команды программы), а, во-вторых, все остальные модули связаны друг с другом через процессор. Скорость его работы очень велика – он производит сотни тысяч/миллионы операций в секунду.
Оперативная память, состоящая из отдельных ячеек – второй по важности модуль компьютера. В оперативной памяти хранится исполняемая программа, и записана она там покомандно в ячейках в двоичном коде. Процессор выбирает команду за командой на свои регистры и выполняет их – тем самым выполняя и всю программу. Объём оперативной памяти сравнительно невелик, зато скорость обмена с процессором очень высока; это – «быстрая» память. Кроме программы или программ (последовательности команд), в ней могут ещё лежать данные – числа и символы (например, численные массивы, буквенные массивы – тексты на различных языках, особым образом закодированные изображения – картинки). Все эти данные – программы, тексты, массивы чисел или логической информации – организованы в некие функциональные блоки, имеющие определённые имена; такой блок называется файлом или записью.
Твёрдый магнитный диск (МД, так называемый «винчестер») является устройством долговременной памяти, встроенным в компьютер. На нём тоже хранятся файлы программ и данных, но процессор не может непосредственно отработать программу, которая находится на МД; для этого её сначала нужно считать и переписать в оперативную память. Таким образом, МД представляет собой долговременное хранилище, в котором находится множество программ и данных, ожидающих, когда их вызовут в оперативную память для исполнения и использования. Ёмкость МД велика и обычно в сто раз превосходит ёмкость оперативной памяти, но время доступа гораздо больше; это – «медленная» память.
Гибкие магнитные диски (ГМД или дискеты), лазерные диски, магнитная лента тоже являются различными типами долговременной памяти с большим временем доступа, предназначенной для хранения всевозможных файлов. Ёмкость у них разная – как правило, меньше, чем у МД, а для некоторых типов устройств – меньше, чем у оперативной памяти. Но главное их достоинство в ином – они могут быть физически введены в компьютер (вставлены в щель дисковода или в магнитофонный модуль) и выведены из него. Значит, с этих транспортируемых носителей можно переписать через процессор на МД программы и данные, а также совершить обратную операцию – списать данные со своего компьютера. Значит, эти носители обеспечивают обмен между разными компьютерами, и обмен этот такого типа: пришёл в магазин, купил дискету с нужной программой (или списал её с машины приятеля), сунул дискету в карман, вернулся домой, ввёл её в свой компьютер. Я надеюсь, читатель, что вы видели лазерный диск или дискету диаметром 3,5 дюйма и понимаете, что в вашем кармане таких дискет поместится два десятка.