- •Основы функционирования и построений эвм общие сведения о представлении и обработке информации в эвм
- •1.1. Две формы представления информации
- •1.2. Способы представления дискретной информации
- •1.3. Системы счисления, используемые в вычислительной технике
- •Структура и принцип функционирования эвм
- •Базовая эвм
- •2.1. Назначение и структура базовой эвм
- •Программа вычисления суммы двух чисел
- •2.2. Кодирование программ и система команд
- •Выполнение машинных команд
- •3.2. Устройства ввода-вывода базовой эвм
- •3.3. Программно-управляемая передача информации
- •Микропрограммное устройство управления Многоуровневые эвм и их микропрограммный уровень
- •4.2. Компоненты процессора и основные операции
- •Микропрограммное управление вентильными схемами
- •4.5. Другие варианты построения микрокоманд
Программа вычисления суммы двух чисел
|
Ячейки |
Комментарии |
|
|
Адрес |
Содержимое |
|
|
20 21 22 23 24 25 26 27 |
0053 0106 0000 CLA ADD 20 ADD 21 MOV 22 HLT |
Первое слагаемое. Второе слагаемое. Ячейка, предназначенная для результата. Аккумулятор содержит 0000 (очистка). Аккумулятор содержит 53. Аккумулятор содержит 159 (53+106). В ячейку с адресом 22 записывается 159. Останов машины (прекращение выборки команд). |
Программа записана в память ЭВМ начиная с ячейки 23, а числовые данные — с ячейки 20. Ячейка с номером 22 отведена для записи суммы. Для выполнения программы необходимо установить в счетчик команд число 23 и пустить ЭВМ. Тогда выполнение программы начнется с чтения содержимого ячейки 23. Команда CLA установит аккумулятор в нуль. При выполнении этой команды содержимое счетчика команд увеличится на 1, и следующая команда будет считываться из ячейки 24. Это команда ADD 20 складывает содержимое ячейки 20 с содержимым аккумулятора, т. е. 53 с 0. По окончании выполнения команды в аккумуляторе содержится число 53, а в счетчике команд — 25 (он опять наращивается на 1).
Следующая команда читается из ячейки 25, выполняется суммирование содержимого ячейки 21 и аккумулятора, т. е. 106 и 53. По окончании команды в аккумуляторе содержится сумма 106 + 53 = 159, а в счетчике команд — 26. Следующая команда — MOV 22 пересылает содержимое аккумулятора в ячейку с адресом 22. Теперь в этой ячейке и аккумуляторе содержится число 159, а в счетчике команд — 27. Из ячейки 27 выбирается команда HLT, счетчик команд наращивается на 1 (в нем содержится число 28), но по команде HLT прекращается выборка команд, т. е фиксируется окончание выполнения программы (содержимое ячейки 28 не выбирается в регистр команд и не интерпретируется как команда).
Рассмотрим теперь подробнее выполнение одной из команд этой программы, например команды ADD 21. Перед ее выполнением в регистре команд хранится предыдущая команда (ADD 20), в регистре адреса — адрес ее операнда (20), в регистре данных и аккумуляторе — значение этого операнда (53) и в счетчике команд — адрес рассматриваемой команды (25).
Сначала адрес команды пересылается из счетчика команд в регистр адреса (рис. 2.2, а). Здесь следует отметить, что в базовой ЭВМ все пересылки между регистрами выполняются через АЛУ (при необходимости пересылаемое значение инвертируется, к нему добавляется единица и т. п.). Затем из памяти в регистр данных выбирается содержимое ячейки памяти, адрес которой расположен в регистре адреса, и производится увеличение на единицу содержимого счетчика команд (рис. 2.2, б, в).
Наконец, содержимое регистра данных пересылается в регистр команд, и устройство управления начинает анализировать это содержимое, т. е. команду ADD 21
(рис. 2.2, г). Перечисленные действия относятся к «Выборке команды».

Рис.2.2. Выполнение команды ADD 21.
Расшифровав код операции команды ADD 21, устройство управления пересылает ее адресную часть (адрес 21) в регистр адреса (рис. 2.2, д). Пересылка осуществляется из регистра данных, где еще сохраняется копия команды. Затем из памяти в регистр данных считывается содержимое ячейки памяти, адрес которой расположен в регистре адреса (рис. 2.2, е). Это действие аналогично действию на рис. 2.2, б, но устройство управления будет теперь рассматривать содержимое регистра данных не как команду, а как слагаемое, которое на следующем шаге складывается с содержимым аккумулятора (рис. 2.2, ж). Наконец, полученная в АЛУ сумма пересылается в аккумулятор (рис. 2.2, з) и тем самым завершается «Исполнение команды». Набор и (или) порядок выполнения операций в этом цикле уникальны для каждой из команд ЭВМ и будут рассмотрены ниже.
