Какой же выход из подобной, в известном смысле парадоксальной ситуации? Выходом стал принцип микропрограммирования. Система переработки информации, сколь сложна бы она ни была, составляется в основном из элементов, способных выполнять простейшие операции Булевой алгебры. Кроме того, в состав системы входит постоянное запоминающее устройство (ПЗУ). Задача ПЗУ сводится к следующему. На его вход поступает команда, то есть указание выполнять некоторую, подчас сложную операцию, например перемножить два многозначных числа, упорядочить список, состоящий из данного количества элементов, отыскать в словаре русский эквивалент английского слова и т. п. В ответ на эту команду из ПЗУ извлекается последовательность сигналов. Они приводят в рабочее состояние нужную группу из общего числа логических элементов, а также выполняют заданные межсоединения этих элементов.
Иными словами, с помощью ПЗУ каждой команде ставится в соответствие требуемая комбинация операций Булевой алгебры. ПЗУ вместе с его содержимым можно заменять. Таким образом, пользователь способен не только подобрать для себя требуемую конфигурацию технических средств, но и иметь систему обработки данных, список операций которой в наибольшей степени отвечает его потребностям. Например, при слежении за траекториями межпланетных космических станций и корректировках этих траекторий довольно часто приходится переходить из одной системы координат в другую. Такой пересчет координат может выполняться в бортовой ЭВМ межпланетной станции в форме одной-единственной операции.
Принцип микропрограммирования, непрерывно совершенствуясь, вошел и в четвертое, и в пятое поколения.
Средства программного обеспечения ЭВМ третьего поколения разрослись до гигантских размеров. Развитие этих средств шло по трем основным направлениям.
Первое — создание библиотек. Стали говорить об ЭВМ, обученной вычислительной математике, или ЭВМ-бухгалтере. Более того, ЭВМ третьего поколения дали возможность поставить и успешно решать задачи созданий объединенных отраслевых и даже национальных фондов стандартных программ.
Второе направление связано с созданием сервисных средств, в число которых входят трансляторы с различных алгоритмических языков (общее число которых, заметим, к настоящему времени достигло нескольких тысяч), разнообразные редакторы и компоновщики программ, дающие возможность составить единую программу из фрагментов, написанных на разных языках разными людьми и даже в разных странах. Сюда же относятся программные средства организации общения ЭВМ с пользователем.
К третьему направлению относятся программные средства организации процесса обработки информации, которые до сих пор по инерции продолжают называть вычислительными. Так и подмывает поразмышлять о том, насколько быстро в наши дни развивается техника. Термин, родившийся каких-нибудь двадцать лет тому назад, сегодня становится архаизмом. Существенное значение в этой группе играют программные средства, обеспечивающие реализацию режима разделения времени, режима, обеспечивающего одновременное обращение к ЭВМ большого числа пользователей.
ЭВМ четвертого поколения строятся на основе больших интегральных схем (БИС). В них в полной мере используется принцип микропрограммирования и особого развития достигли средства программного обеспечения. Для ЭВМ этого поколения характерны многомашинные и многопроцессорные системы, содержащие несколько параллельно работающих систем обработки информации.
У ЭВМ четвертого поколения есть еще много примечательных отличительных особенностей, но всему свое время. Мы и без того слишком увлеклись проблемой преемственности поколений. Пора вспомнить, что разговор о поколениях начался с того, что, обсуждая свойства системы обработки информации, мы коснулись того исторического процесса, в котором формировались эти свойства.
Подведем итог. Противоречия между стремлением обеспечить каждому пользователю максимум удобств за счет специализации и стремлением сделать ЭВМ пригодной для наибольшего числа пользователей (которые могут обращаться к одной и той же ЭВМ в режиме разделения времени) за счет повышения степени универсальности нашли свое разрешение при использовании принципа микропрограммирования. Каждая конкретная система переработки информации характеризуется своим набором выполняемых операций, но наборы эти по желанию можно менять, заменяя ПЗУ вместе с его содержимым.