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