Взяты мы из шахт, из руд, из-под земли,
Нас в горниле, в тигле, в пекле жар калил,
Закаляли нас, ковали, гнули, жгли,
Резал фрезер и напильник опилил.
Р. Киплинг. Секрет машин
Человек и машина - немного истории
Вернемся к системам "человек - машина". Задачу их описания - в том числе в историческом аспекте - облегчает несколько то обстоятельство, что других технических систем почти что и нет.
Началась история "отношений" человека и машины давно, когда собственно машины еще не было, а были примитивные орудия труда - топор, мотыга и т. п., изобретением и освоением которых ознаменовалось превращение обезьяны в человека. Появление орудий труда положило начало целесообразной деятельности Человека, направленной на видоизменение и приспособление окружающей среды для удовлетворения своих потребностей. Явились все уже упоминавшиеся признаки Разума: желания, цели, поиск средств их достижения, конечно, в самой примитивной форме. От каменного топора до космической ракеты было еще так далеко!
Мы с вами принадлежим к особой части материального Мира, которую отличает целесообразная активность (отличная от широко распространенной в природе стихийной активности). Причем, как уже говорилось, цели, которые вырабатывал и вырабатывает Человек Разумный (он же - Человек Деятельный), далеко выходят за рамки обеспечения жизнедеятельности (пища, комфорт, размножение, пропитание, обучение и защита потомства).
Первые орудия служили в основном обеспечению жизнедеятельности - облегчали охоту и быт. Они действовали не только благодаря управлению со стороны Человека, но и за счет его физических сил. Из внешних источников энергии долгое время использовался только огонь. Значительно позже заставили "работать" ветер.
Машины появились, когда стали доступными (т. е. управляемыми в смысле времени и границ использования) внешние источники энергии. Практически это стало возможным уже в средние века, с развитием гидравлической техники, использовавшей энергию падающей (текущей) воды. Но "золотой век" машин начался только с обузданием энергии пара в конце XVIII в. Дальнейшая история "машинного" лица цивилизации вам хорошо известна.
Для нашего разговора о возможностях ЭВМ этих сведений пока достаточно, потому что нас интересуют не машины-двигатели, движители и им подобные, осуществляющие силовое воздействие на предметы труда или объекты природы, а машины, управляющие машинами первого рода, преобразующими энергию.
Где берет свое начало идея создания управляющих машин? Видимо, его следует искать в истории создания и развития орудий, а потом уж и машин, предназначенных для счета.
В постройке пирамиды Хеопса участвовали тысячи людей, длилась она много лет. Невозможно представить себе успешное выполнение такого грандиозного замысла без количественных оценок - потребностей в людях, материалах, сроков выполнения тех или иных работ и т. п.
И мы точно знаем, что такие количественные оценки делались. И даже известно древнейшее орудие, с помощью которого осуществляли счет. Оно называлось абак. Примитивно механизированные операции счета были обычным элементом управления сложными системами (а к таковым следует, бесспорно, отнести строительство пирамиды Хеопса - процесс, включающий "физические" и абстрактные элементы и имеющий пространственно-временные характеристики).
Уровень управления всегда точно соответствовал уровню развития техники и технологии: пока "царствовал" ручной труд и простые орудия, для управления было более чем достаточно ручного же счета с использованием простых орудий.
Но времена менялись. Ручное управление сперва стало неудобным, потом трудным, затем просто неэффективным, не соответствующим целям и вытекающим из них задачам!
Человеческая мысль, как правило, не ожидает социального заказа на изобретение, а предвосхищает этот заказ. Изобретатели "провидят" будущие потребности техники и технологии и первыми находят эффективные технические и организационные решения. Причем технические решения, как правило, опережают организационные.
Так произошло и с вычислительными машинами, которые отличались от вычислительных орудий механизацией ряда операций. Вычислительная машина Блеза Паскаля (1641 г.) содержала устройство ввода исходных данных (в виде натуральных чисел), механизм арифметических операций, механизм переноса десятков (машина работала в десятичной системе исчисления) и устройство представления результата вычисления. И хотя привод был ручным, это уже была вычислительная машина! Ее структура почти полностью соответствует структуре некоторых современных вычислительных машин, например механического арифмометра.
Уровень управления такой машиной мы будем считать первичным, начальным. Выбор исходных данных, их ввод, приведение машины в действие, считывание результата и возврат в исходное состояние для осуществления следующего цикла счета - все это выполнял сам Человек.
Общественная потребность в количественных оценках различных видов, типов и способов управления (в строительстве, банковском деле, военных операциях, для астрономических вычислений и т. п.) даже в XVII-XVIII веках уже не могла быть удовлетворена суммирующими машинами типа паскалевской: низкая скорость счета, ограниченный набор операций и трудности их промежуточного контроля ограничили использование таких машин.
Им на смену пришли вначале клавишные суммирующие машины, в которых ввод данных был значительно ускорен. В машины была введена еще одна операция - умножение (изобретение Г. В. Лейбница).
И все же эпоха ручного управления продолжалась. А раз так - вычислительные машины не могли играть существенной роли в управлении. Удалось создать лишь отдельные автоматически управляемые приборы и машины - механические часы, центробежный регулятор числа оборотов и т. п. Но эти отдельные автоматы не стыковались между собой, поэтому управление, хотя и несколько облегченное, оставалось все же ручным.
Автоматический счет был впервые предложен и частично осуществлен Ч. Беббиджем в 20-е - 60-е годы XIX века. Его "аналитическая машина" имела структуру, предвосхитившую на целое столетие устройство цифровых ЭВМ! Машина Беббиджа имела: память, арифметическое устройство, управляющее устройство и устройство ввода-вывода данных.
Автоматическое действие машины осуществлялось реализацией управляющим устройством введенной в него программы. Такая программа - с объяснением операционной природы дискретного счета - была составлена для машины Беббиджа в 1843 г. графиней Адой Лавлейс - дочерью Дж. Г. Байрона. В сущности, с этого времени дорога, ведущая к сегодняшним суперкомпьютерам, была открыта, и технический прогресс более с нее не сворачивал.
После того как основные идеи автоматического счета были высказаны и реализованы, шло лишь их совершенствование и техническое воплощение. Сформировалось целое научное направление - вычислительная математика, которое взяло на себя решение проблем и задач автоматического счета. Техническое же воплощение меняло свой облик по мере появления тех или иных базовых средств, пригодных для физического осуществления автоматического счета.
Так, последовательно появились и были использованы в автоматических ВМ следующие технические средства: механические, электромеханические, электронно-вакуумные, полупроводниковые, микроэлектронные. Сейчас предпринимаются попытки создать оптико-волоконные машины.
Для продолжения нашего разговора вам будет полезно получить некоторое представление о современном компьютере (ЭВМ). Сделаем это на примере большой цифровой электронно-вычислительной машины - суперкомпьютера типа "Кибер 205" (фирмы СДС, США). Выбор объясняется тем, что структура и программное обеспечение такой ЭВМ (сохраним и за суперкомпьютером принятую в изложении терминологию) являются характерными для современного уровня развития вычислительной техники за рубежом.
Структура ЭВМ "Кибер 205" приведена рис. 2. Обратите внимание - она включает два процессора, каждый из которых способен выполнять большой объем арифметических и логических операций. Память (пассивного типа) хранит команды и результаты вычислений. До начала работы в память загружают все команды, из которых состоит программа. Она определяет последовательность извлечения команд соответствующим процессором при выполнении счета. Программная последовательность команд передается в процессор обработки данных, который их исполняет, осуществляя операции над поступающими сигналами - носителями данных. Результаты операций заносятся в память временно, если они промежуточные, либо "навсегда", если они конечные.
Рис. 2. Структура ЭВМ 'Кибер 205'
В ЭВМ "Кибер 205" используется поточная организация обработки данных. Оба процессора обладают возможностью организации двух или четырех процессов поточной обработки - конвейеров. (Поточной обработка названа из-за явного сходства с действием механического конвейера.) Таким образом, в один и тот же отрезок времени (такт) параллельно происходит обработка ряда данных. Память ЭВМ "Кибер 205" имеет сложную организацию и включает "малую (по объему) очень быструю", "большую быструю" (центральную, основную) и "очень большую медленную" память.
На всех конвейерах процессоров могут выполняться операции сложения, вычитания, умножения, деления и извлечения квадратного корня. Все большие ЭВМ типа "Кибер 205" являются векторными (содержание понятия вектора в вычислительной математике отличается от общепринятого: в программе ЭВМ вектор - упорядоченный список данных, число элементов которого называется длиной вектора). Векторная операция осуществляется над операндом. Чтобы отличить традиционные арифметические операции от векторных, их называют скалярными.
Высокая скорость обработки больших объемов исходных данных, характерных для многих современных направлений научно-исследовательских работ,- не главное достоинство ЭВМ типа "Кибер 205". Гораздо важнее, что они преобразуют результаты вычислений (которые могут представлять собой труднообозримые "поля" из миллионов числовых значений) к виду, удобному для восприятия оператором. Например, весьма компактной формой представления является трехмерная картина исследуемого процесса (на рис. 3 показана такая картина для моделируемого на ЭВМ аэродинамического потока).
Мы не будем здесь касаться программирования и его принципов, речь о которых пойдет в гл. 4, а пока обсудим некоторые технологические возможности ЭВМ типа "Кибер 205". Речь пойдет об операционных системах - совокупностях способов (специальных, "внутренних" программах) исполнения заданных программ. Выполнение каждой отдельной команды представляет собой последовательность событий (элементарных действий) на нескольких уровнях иерархии программ, составляющих в совокупности операционную систему ЭВМ.
Рис. 3. Изображение на экране графического дисплея поверхности, описывающей сложный аэродинамический процесс
Современная операционная система содержит "иерархию функций" (табл. 1), ранг функции в которой зависит от ее сложности (числа операций, масштаба времени выполнения, уровня абстракции). Каждый уровень осуществляет управление своим множеством "подчиненных объектов" - в их число могут входить как аппаратные, так и программные средства. Иерархический подход позволяет облегчить согласование ("стыковку") входа операционной системы ЭВМ с реальным миром, в котором физические объекты и события обладают пространственными и временными масштабами, различающимися на многие порядки.
Таблица 1. Иерархия абстракций или Принцип организации операционных систем ЭВМ [28]
Рабочие характеристики ЭВМ (производительность, емкость различных видов памяти, число обслуживаемых процессов, разрядность и т. п.) непрерывно растут, и нет оснований предполагать, что в будущем этот рост приостановится.
Что стоит за тенденцией усложнения аппаратной структуры и операционной системы ЭВМ, наращивания их характеристик? Закономерна она или случайна? Что мы, вообще говоря, хотим от ЭВМ?
Пока не будем пытаться перечислить все требования, а сконцентрируем внимание только на одной стороне вопроса - повышении производительности. Ее обычно характеризуют числом элементарных операций (типа сложения), которые ЭВМ может выполнять в единицу времени. Сейчас уже практически достигнута производительность 109 оп./с. Много это или мало?
ЭВМ сейчас обрабатывает сигналы (считайте, что они - входные данные) со скоростью, в миллионы раз превышающей возможности человека (например, зрительно-слуховой сенсорный комплекс человека обладает средней пропускной способностью по дискретным сигналам порядка десятков-сотен бит в секунду). Надежность (особенно устойчивость работы во времени) ЭВМ также несоизмеримо выше, чем у человека: согласитесь, что вряд ли мы с вами выдержим соревнование с ЭВМ по многочасовому приему последовательных сигналов - да еще следующих с большой (для нас, а не для ЭВМ) скоростью.
Таким образом, если мы предполагаем использовать ЭВМ в управлении каким-либо процессом (от научно-исследовательской работы до полета космического корабля), то существующая ситуация обнадеживает. Ведь "можно" все больше и больше в плане восприятия объема потока сигналов и скорости его "протекания" через машину.
Но машины - только часть Нового Мира, хотя и постоянно растущая, требующая все больше духовных сил и внимания со стороны их творцов и операторов. Какова же роль Человека в системах "человек-машина", в частности - в системе "человек-ЭВМ"?
- Что с его именем? Решили что-нибудь?- Шеф еще раз, но уже строго, оглядел присутствующих.- Неужели так ничего и не придумали?
- Придумали,- за всех уныло ответил Майонез.
- И что же вы придумали, если, конечно, это не секрет?- ехидно улыбнулся Шеф.
- Вася,- совсем загрустил Майонез и стыдливо опустил глаза.
Шеф оторопело помолчал немного, пожевал губами и мрачно заметил:
- Оригинальное имя... Главное - нестандартное и вполне в духе нашего изобретения.
Теперь уже все старались не глядеть в глаза Шефу, помятуя о его крутом нраве. Да, имечко можно было придумать поинтересней, а то - Вася!... Почему Вася?! Робот - и Вася... Действительно, не очень...
Но справедливого, в общем-то, разноса не последовало. Шеф задумался о чем-то, заулыбался и сказал вдруг бодро:
- А что, неплохо, совсем неплохо, можно сказать, где-то даже хорошо! - Лаже хорошо?- воспрянул духом Майонез.
- И еще как,- подтвердил Шеф.- Просто замечательно!
Он укоризненно посмотрел на Майонеза:
- А вы шутники, однако... Вася! Сказали одно, а имели в виду совсем другое?!
- Что мы имели в виду,- испугался Майонез.- Ничего мы не имели...
- Ну, хватит,- оборвал его Шеф,- и не такие ребусы разгадывали. Квази - вот что вы придумали. Квази - "как будто"! Как будто человек!
- Да?- удивился Майонез.- И вправду недурно - Квази.
- Утверждаю,- солидно сказал Шеф и распорядился:- Занесите ему в память. Это единственное, чего он пока еще не знает.
- Так уж и единственное?- не утерпел Майонез и тут же замолк под суровым взглядом Шефа.
- Наш Квази знает и умеет абсолютно все! Все, что сегодня доступно человеку... вернее, всему человечеству! Вот так - не больше и не меньше!
Шеф посмотрел на часы:
- Перерыв. Через полчаса начнем отработку автономного режима. Пора нашему Квази выходить на свободу. В пределах лаборатории, разумеется. Всем ясно?
- Ясно,- привычно за всех ответил Майонез и в подтверждение своих слов машинально ткнул пальцем в широкую красную кнопку с белой надписью "Автономный режим".
Колоколом боевой тревоги загремел звонок, и лаборатория вмиг опустела...