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