logo
Основы автоматизации производства

2. Организация работы вычислительной машины

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

Примем, что алгоритм и исходные данные задачи заданы и записаны на одном из листков бумаги. В процессе вычислений сначала появятся промежуточные значения, а затем конечные результаты. Их мы также будем фиксировать на листах бумаги. Согласно первой фазе алгоритма, т. е. первому указанию к действию, определяем последовательность действий. Выполнение оператора алгоритма сводится к следующему: нужно отыскать на листах бумаги исходные данные, считать их и перенести на клавиатуру калькулятора, затем можно нажать на кнопку со знаком операции, заданной в операторе. Вычисленный результат операции необходимо занести на лист, если он не будет использован в качестве аргумента следующей операции. Далее вновь обращаемся к алгоритму, чтобы продолжить вычисления. И так до тех пор, пока не будет выполнен оператор «Закончить вычисления».

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

Для автоматизации вычислений необходимо листы бумаги, используемые для описания алгоритма и хранения результатов, заменить каким-либо устройством. Оно должно как бы помнить алгоритм, исходные данные, промежуточные и конечные результаты, т. е. должно служить машинной памятью. Машинная память является «складом информации» (рис. 146). В ячейке памяти может храниться одно число или оператор алгоритма. Ячейки нумеруются числами 0, 1, 2 и т. д., называемыми адресами ячеек. Если необходимо записать в память слово, то следует указать адрес ячейки, в которую надо его поместить, и подать слово на вход памяти. Память устроена таким образом, что заданное слово будет передано в ячейку с указанным адресом и будет храниться там как угодно долго. В любой момент, обратившись к памяти, можно получить значение хранимого там слова. Для этого в память нужно послать адрес, определяющий местонахождение требуемого слова, и она через некоторое время выдаст копию слова. При этом содержимое ячейки останется без изменения, так что, записав один раз слово, можно получить его копии сколь угодно раз.

Рис. 146. Схема машинной памяти

Рис. 147. Структура команды

Из-за специфики машинной памяти алгоритм приходится представлять в форме, допускающей реализацию на вычислительной машине. Такая форма называется программой. В программе операторы алгоритма представляются в виде команд. Команда – это слово информации, предписывающее операцию над определенными величинами. Команда имеет структуру, показанную на рис. 147. В данном случае команда состоит из четырех частей. Каждая часть команды – это группа из определенного числа символов, обычно цифр. Первая часть команды соответствует наименованию операции и называется кодом операций. Три последние части команды – адреса величин, участвующих в операции. Операции можно кодировать цифрами, например, так: сложить – 01, вычесть – 02 и т. д.

Рассмотрим пример, по которому необходимо вычислить Р = Р + х. Пусть величина Р хранится в ячейке с адресом 146, а величина х – в ячейке с адресом 166. При таком размещении величин в памяти команда будет выглядеть в следующем виде:

01 146 166 146

Это означает, что содержимое ячейки с адресом 146 и содержимое ячейки 166 необходимо сложить и результат послать в ячейку с адресом 146.

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

Перед началом вычислений процессору должен быть указан адрес ячейки начала программы. Только после этого процессор может приступить к выполнению вычислений по заданной программе. При этом процессор выполняет операции: чтение команд, дешифровку кода, выборку операндов, вычисление и запись результатов.

Чтение команды. Адрес ячейки команды известен. Процессор посылает его в память и получает оттуда команду.

Дешифрование кода операции. В коде операции указывается, что должен сделать процессор. В результате дешифрования процессор определяет наименование операции, выполняемой на данном шаге.

Выборка операндов. Операндами называют величины, участвующие в операции (слагаемые и т. д.). При команде «сложить» процессор выбирает из памяти операнды – слагаемые. Для этого он выделяет в команде адрес первого операнда и посылает его в память. Точно так же читается второй операнд – второе слагаемое.

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

Запись результата. Определенный процессором результат записывается в память, для чего процессор выделяет в команде адрес для результата и посылает его в память по этому адресу. Затем процессор приступает к выполнению следующей команды.

Циклы выполнения все новых и новых команд повторяются до тех пор, пока процессор не дойдет до выполнения команды «Стоп». Эта команда показывает, что программа вычислений закончена.

Для автоматического выполнения вычисления необходимо соединить в одно целое, процессор и память. Но чтобы ввести в память машины исходные данные и программу вычислений, необходимо специальное устройство – устройство ввода. Для вывода результатов вычислений из памяти машины требуется еще одно устройство – устройство вывода. Таким образом, простейшая вычислительная машина должна содержать следующие части: память, процессор, устройство ввода и устройство вывода.

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

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

Емкость памяти – это предельное количество информации, которое можно разместить в памяти. Емкость памяти указывается в байтах, а чаще – в тысячах байтов. Это дает представление о предельном числе символов, с которыми может работать машина.

Быстродействие – это число операций, выполняемых процессором за одну секунду. В зависимости от применения выпускаются ЭВМ с быстродействием от десятков тысяч до миллионов операций в секунду.