Программное обеспечение и его разработка - страница 13

стр.

Выбор действия из множества заранее установленных: Человек вводит несколько альтернативных вариантов последовательностей операций, а вычислительная машина в соответствии со своими собственными внутренними процессами «выбирает» ту ветвь, которую надо выполнять в данный момент. Все ветви заранее определяются человеком, который программирует для этой машины.

Это определение подходит для всех вычислительных машин, а не только для универсальных. Попробуем теперь обрисовать различия между специализированными и универсальными ЭВМ. Наиболее четкое из всех когда-либо встречавшихся мне разграничений проведено в высказывании знаменитого Джона фон Неймана, написавшего в 1946 г. меморандум, навсегда связавший его имя стой архитектурой ЭВМ, которая используется нами и до сих пор. В этом меморандуме впервые появилась четкая формулировка определения универсальной вычислительной машины. Там говорилось, что во всех специализированных машинах, которые применялись уже много лет, все команды были встроены таким образом, что являлись неотъемлемой частью самого устройства. Другими словами, алгоритм, выполняемый машиной, является частью конструкции этой машины. Фон Нейман указал, что машина может и другим способом контролировать ход операций — с помощью чисел, заносимых в машину.

Очевидно, что машина должна иметь возможность запоминать некоторым образом не только цифровую информацию, необходимую для проведения данных вычислений, например граничные значения, таблицы функций и промежуточные результаты вычислений, а также и команды, которые управляют последовательностью операций, выполняемые с числовыми данными. В специализированной машине эти команды являются неотъемлемой частью устройства и составляют часть разрабатываемой структуры. Универсальная машина должна иметь возможность проводить любые вычисления, которые могут быть выражены как вычисления над числами.


Определение универсальной вычислительной машины

Универсальная вычислительная машина — это такая вычислительная машина, команды которой записаны в память и могут быть достаточно быстро заменены там другими командами без какого-либо инженерного вмешательства.

Даже если бы смена команд происходила медленно (скажем, за несколько часов), мы все же имели бы универсальную машину, хотя и медленную.

Это определение отделяет универсальную цифровую вычислительную машину (ЦВМ) от ручного калькулятора и от сложных автоматов, плотно заселивших наше технологическое общество.

Это определение может быть применимо к замечательным и недорогим устройствам, которые производятся на основе больших интегральных схем (БИС). Оно проводит различие между электрической схемой и вычислительной машиной, между калькулятором и ЭВМ.

Это определение охватывает все вычислительные машины, будь то микро-, мини-, миди- или макси-машины. Различие между микро- и мини-ЭВМ очень нечеткое, и постепенно сотрется по мере прогресса БИС. Через несколько лет все вычислительные машины станут микро-ЭВМ и будут целиком располагаться на одном полупроводниковом кристалле.

Не будем продолжать обсуждение этого определения. Это уведет нас в сторону от вопросов программного обеспечения. Всякое определение важно, а это к тому же точно и полезно.


Вычислительная машина: орудие труда нового типа

То, как будет использоваться вычислительная машина, определяет и потребность в программном обеспечении. Здесь нам полезно будет взглянуть, как человек использует орудия труда. Мак Лухан утверждает, что каждое орудие представляет собой продолжение функций человеческих органов.

Дополняемый органОрудие
НогаКолесо, велосипед, автомобиль, самолет
КулакКамень, дубинка, ружье
КожаОдежда
ГлазТелескоп, микроскоп, радиолокатор
Рот, ухоРадио, микрофон
МозгБумага (память), калькулятор, арифмометр
МозгВычислительная машина
Воля[3]Вычислительная машина

Какие же способности людей расширяются с помощью вычислительных машин? Оказывается, две очень разные человеческие характеристики — его ум и воля.

«Новинка» — популярная телевизионная передача рассказала однажды о вычислительной машине, названной «умной машиной». Однако ЭВМ это больше, чем просто дополнительный мозг, и этот факт имеет глубокое влияние на программное обеспечение, которое мы должны разрабатывать с учетом того, что вычислительная машина является еще и продолжением нашей воли.