Организация центрального процессора ЭВМ "Электроника 79"

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

Программа в ЭВМ «Электроника 79» может выполняться в трех режимах: внутреннем, супервизора и пользователя. Внутренний режим характеризуется тем, что выполняемая программа полностью управляет работой ЭВМ и ЦП и выполняет все команды. Программа, работающая в этом режиме, может обращаться в любую область ОЗУ и адресного пространства ЭВМ, включая регистры внешних устройств и регистры состояния процессора.

В двух других режимах (супервизора и пользователя) центральному процессору запрещается выполнять команды HALT (Останов), RESET (Сброс) и SPL (Установить уровень приоритета). Эта аппаратная особенность используется для организации мультипрограммного режима работы.


Формат регистра состояния процессора

Центральный процессор содержит 16 программно доступных регистров общего назначения, которые используются, как обычно, в качестве накопителей, индексных регистров и указателей адреса (стека). Четыре из них имеют специальное назначение: R7 используется как счетчик команд (т.е. содержит адрес следующей команды), а три других — в качестве указателей стека для каждого режима работы. Оставшиеся 12 регистров разбиты на два набора по шесть регистров, могут быть использованы для повышения быстродействия обработки данных в реальном времени и для организации мультипрограммного режима работы. Например, регистры одного набора используются как накопители и (или) индексные регистры при решении задач или обслуживании устройств в реальном масштабе времени в режиме пользователя или супервизора, а регистры другого набора — в режиме пользователя. Регистр состояния процессора (адрес 17777776) содержит информацию о текущем состоянии процессора (рис. 3.18,а), включающую дополнительно по сравнению с РСП мини-ЭВМ «Электроника 100-2.5» указатель используемого набора РОН (разряд 11). Разряды, указывающие на текущий (14, 15) и предыдущий (12, 13) режимы работы процессора, определяют один из трех режимов, в том числе новый, по сравнению с ЭВМ «Электроника 100-25» — режим супервизора (код 0,1). Следует также отметить, что в режимах супервизора и пользователя команда HALT вызывает прерывание с адресом вектора прерывания 4, а команды RESET и SPL выполняются как команда NOP (нет операции). Регистр границы стека имеет адрес 1777774 и задает нижнюю границу стека для внутреннего режима. Нарушение границы стека (желтой и красной зон) вызывает прерывание с адресом вектора прерывания 4.

Таймер, как и в мини-ЭВМ «Электроника 100-25», позволяет процессору решать задачи в реальном масштабе времени, с разделением времени и ресурсов. Работа таймера аналогична работе таймера ЭВМ «Электроника 100-25».

Аппаратный загрузчик размещен в ПЗУ и содержит (как и загрузчик мини-ЭВМ «Электроника 100-25») программы диагностики процессора и памяти, а также программы начальной загрузки данных с устройств внешней памяти.