Возможности вычислительных машин и человеческий разум



         

Глава 3. Как работают вычислительные машины - стр. 25


Итак, в рабочий лист следует ввести еще один прямоугольник Р (для счетчика команд), в котором всегда содержится номер строки (т. е. адрес) выполняемой команды. В таком случае приходится назначать "координатора", его обязанность - сообщать исполнителю, в какой строке он может обнаружить соответствующую команду, т. е. строку, адрес которой хранится в прямоугольнике Р. Когда исполнитель сообщает координатору, что предписанная команда выполнена, тот прибавляет 1 к содержимому прямоугольника Р, фиксирует в нем новое значение счетчика и сообщает исполнителю очередное задание. В результате появления команды, нарушающей естественную последовательность управления, приходится заменять содержимое прямоугольника Р адресом той команды, очередь выполнения которой наступает. Например, в результате выполнения строки

(120. Переходите к работе со строкой 105)

исполнитель переносит число 105 в прямоугольник Р и немедленно приступает к выполнению команды, записанной в строке 105, не сообщая координатору о том, что он кончил выполнение предыдущей команды.

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

Не будем останавливаться на подобных подробностях, поскольку это увело бы слишком далеко от наших главных задач. Я выделяю, однако, идею управления ходом выполнения программы, так как это действительно важная концепция. Обратите внимание на две линии, расположенные сбоку программы (см. табл. 3.1). Они иллюстрируют управление ходом выполнения программы или, иначе говоря, структуру данной программы.


Содержание  Назад  Вперед