Table of Contents

3. Основные методические и технические характеристики процессора-эмулятора

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

		      --------------------
		      |     О  З  У      |
		      --------------------
			       ^
			       |
			       v
  ==============================================================
	    Общая  шина  (адрес, данные, управление)
  ==============================================================
     ^            ^           ^              ^             ^
     |            |           |              |             |
     v            v           v              v             v
  -------     --------     --------      ---------     ---------
  | П П |     | ЦП 1 | ... | ЦП N |      | КВУ 1 | ... | КВУ64 |
  -------     --------     --------      ---------     ---------
     ^		  ^	      ^
     |            |           |
     v            v           v
  ---------------------------------
    последовательная линия связи

3.1. Центральный процессор

Центральный процессор (ЦП) предназначен для исполнения команд, записанных в ОЗУ.

Функции ЦП:

  1. Вычисление физических адресов команд и операндов;
  2. Чтение из ОЗУ машинных команд;
  3. Приведение команд к единому внутреннему виду;
  4. Извлечение операндов;
  5. Выполнение команд;
  6. Запись результатов в память.

Центральный процессор (ЦП) состоит из:

Структурная схема ЦП

===^====100=разрядов========^====общая=шина===================
 х |8                     х |64
---v----    ----------------v----------------    ----------
| БОИ  |    |             Б О И             |    |        |
| тег: |    |  RG0  :  RG1  :  RG2  :  RG3  |    |  ППЗУ  |
|1-ком.|    |  физ. :команда:операнд:резуль-|    |  кон-  |
|2-oпep|    | адрес :  л,п  :       :  тат  |    | стант  |
|3-рез.|    ---------------------------------    ----------
-С^--В--      ^ С  ^ В        ^ А                    |
 ||  ^  ----- |64  |64        |64                    |64
 vv  |  |кэш|-|    |          v                      v
прер.|  ----- |  ==+===шина=d===============64=разряда========
 по  |  ------v- ^ |      |        ^     ^     ^     ^     ^
тегу |  |станд.| | |      |64      |32   |64   |64   |7    |7
     |  |команд| | |      v        |     |     |     |     |
     |  -------- | | ----------- ----- ----- ----- ----- -----
     |  | |  | 32| | |   МПС   | |OЗY| |сд-| |   | |   | | n |
     |  |4|  v20 | | | РЗУ:АЛУ | |moд| |виг| |YMH| |ПЛE| |ед.|
     |  v |  ----- | ------||||- ----- ----^ ----- ----- -----
     |  ИP|  |АК | | |     vvvv    ^   ^   |   ^     ^     ^
     |    |  ----- | |  D ------   |   |  ---- |     |     |
     |8   |8       | |  <-|CYCC|   |32 |  |ПC| |64   |64   |32
     |    |        | |64  --^---   |   |  -^-- |     |     |
     v    |        v v      |4     |   |64 |7  |     |     |
==========+====шина=Y================64=разряда===============
| |   ^   |        ^    |   |    |                        ^
| |32 |   ---------+----+---+--- | -----                  |
| |   |            |    |8  |5 | ->| ШФ|--------          V
| | -----   -----  |  --v-- |  |   -----  |    |12    --------
| | |РГ.|   |   |  |  |PHП| |  --->|ПHA|  |  --v---   |  ОЗУ |
| ->|иcп|-->|OЗY|<--  ----- v      |KOП|--|  |CYAM|   |oбмена|
|   |aдp|   |пр.|       | -----    -----  |  ------   --------
|   -----   -----       v |PHГ|    |ПHA|  |    |<----     ^
|     |  ------------   D --|--    |i/o|--|    v    |     |
|     -->|ост.по aдp|-->    v6     -----  |  ------ |     v
|10      ------------halt   D  --->|ПHA|  |  |ППЗY| | --------
|    ->D                       vect|int|--|  | OЗY| | | блок |
|    |      --------               -----  |  | МП | |-| связи|
|    |      | БОБР |  2            |ПHA|  |  ------ | | с ПП |
| -------   | БИЗМ |<--->d         |гр.|---    |    | --------
->| РФС |-->|------|  1            -----       |<----     |
  -------   | БМСП |<--->d                   --v---       v
     |      --------                         | КР |      к ПП
     |      -------                          ------
     |      | ОЗУ |<---Y                     |....|
     ------>|пpиop|--->D                     v....v
            | стр.|                        управление
            -------

   ------    упр-------     у -------     КОП -------- упр-е
-->|блoк|    -->|такт.|    -->| тай-|     арб.|      |  БОИ,
...|пре-|       |гене-|->1    | мер,|->D  --->|apбитр|------>
-->|рыв.|--->   |paтop|->2    |часы |-->      |      |магист-
   ------vест   -------...    -------прер.    -------- ралью

3.2. ОЗУ

Максимальная емкость оперативного запоминающего устройства - 1 миллион 72 - разрядных слов (9 мбайт). В ОЗУ используется БИС динамической памяти К565РУ5 емкостью 64к - 1р. Слов. В связи с повышенным коэффициентом отказов указанной БИС необходим блок коррекции и исправления ошибок - генератор кода Хемминга.

Оперативное запоминающее устройство должно работать в следующих режимах:

  1. Регенерация памяти;
  2. Чтение слова с коррекцией 1-кратной ошибки, перезапись исправленного слова и фиксация ошибок кратности 2 и более;
  3. Запись слова с проверкой и без проверки бита тега “запрещенная запись” (при проверке необходимо предварительное считывание слова);
  4. Чтение семафорного слова;
  5. Чтение и запись в режиме блочной передачи;
  6. Тестирование генератора Хемминга.

Тестирование генератога Хемминга осуществляется с помощью статусного регистра ОЗУ, установленного в блоке управления.

Значения разряда статусного регистра ОЗУ:

Под нормальным режимом подразумеваются режимы 1-5. Адресуются к статусному регистру как ко внешнему устройству (ВУ).

Адреса регистров в блоке управления памятью:

3.3. О внешних устройствах

Каждый тип устройств (диски, ленты, терминалы) подключается к машине через свой контроллер. С каждым контроллером связано некоторое количество последовательных “адресов физической памяти” из диапазона [f0000 н - fffff н].

Структура адреса внешних устройств :

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

В заказе на обмен находится следующая информация:

  1. Код операции (8 бит);
  2. Физический адрес начала массива в памяти (20 бит);
  3. Длина обменной порции в байтах (16 бит);
  4. Поле дополнительной информации (20 бит);
  5. Режим и направление обмена (16 бит);
  6. Адрес на внешнем устройстве (32 бита);
  7. Бит запуска контроллера (1 бит).

Таким образом, заказ на работу внешнего устройства должен занимать как минимум 2 слова.

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

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

3.3.1. Магнитная лента

Наиболее целесообразно в процессоре-эмуляторе применять ленты с ЕС - форматом записи, работающие на плотности 800-1600 бит/дюйм. Для управления лентами должен использоваться ленточный контроллер типа СМ ЭВМ.

Минимальный набор операций :

  1. Чтение блока
  2. Запись блока заданной длины (в байтах)
  3. Движение вперед на 1 блок
  4. Движение назад на 1 блок
  5. Запись маркера
  6. Поиск маркера в прямом направлении
  7. Поиск маркера в обратном направлении
  8. Стирание (по счетчику байтов)
  9. Перемотка
  10. Разгрузка

Режим НМЛ БЭСМ-6 предполагается имитировать программно при наличии следующих возможностей контроллера :

  1. Обмен должен совершаться в зависимости от заданного режима, как с тегами слов, так и без них.
  2. Должен быть режим чтения, когда в память попадает все: ЦКС, ПКС, биты четности каждого байта (их можно собирать в теге слова!).
  3. В заказе на обмен кроме 20-разрядного физического адреса начала обменной порции можно дополнительно указывать еще и номер физической страницы, где продолжается массив информации.
  4. Окончание обмена происходит по концу блока на ленте либо по исчерпанию заданного счетчика байтов.
  5. Непременным условием должно быть наличие счетчика прочитанных байтов и признака, что считан маркер. Режима чтения с наложением здесь не потребуется.

3.3.2. Магнитный диск (НМД)

Служебная информация на диске:

  1. Регистр номера модуля;
  2. Регистр адреса служебных слов;
  3. Регистр номера физической страницы с информацией;
  4. Регистры монополизации (по числу модулей), где записывается номер процесса и номер процессора, захватившего диск;
  5. Командный регистр контроллера;
  6. Регистр состояния контроллера.

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

Командный регистр контроллера содержит:

Регистр состояния контроллера содержит:

Типы ошибок:

Команды:

3.4. Пульт-процессор

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

  1. Загрузка памяти микропрограмм ЦП.
  2. Имитация инженерного пульта машины: считывание и запись содержимого регистров ЦП, запуск микропрограммнных тестов.
  3. Ввод двоичных программ в общую память.
  4. Запуск диспетчера или тестов на ЦП.
  5. “Пультовая” отладка программ в ЦП: пошаговое выполнение команд, останов по адресу.
  6. Обслуживание операторского терминала.

Пультовой процессор может прерывать ЦП или приостанавливать его работу. В свою очередь, деятельность самого ПП может быть прервана по одной из следующих причин :

  1. По запросу от ЦП;
  2. По аварии в ЦП;
  3. По сбою в памяти;
  4. По инициативе оператора.

В связи с разнородностью исполняемых функций, обмен информацией ПП с различными узлами машины осуществляется 2 способами:

  1. Через последовательную линию связи - с центральными процессорами (если их несколько) для доступа к регистрам и памяти ЦП, памяти микропрограмм, для организации пультового останова;
  2. Через общую шину данных - для обмена с общей памятью и внешними устройствами, подключенными к общей шине.

Для реализации функций операторского терминала обмен информацией между ПП и системой предполагается осуществлять следующим образом. Система, сформировав сообщение по известному адресу ОЗУ, посылает запрос ПП, который, получив запрос и зная адрес, принимает сообщение. Аналогично наоборот.

Адреса ВУ в пультовом процессоре:

3.5. Описание общей шины

Обмен информацией между блоками ЭВМ (процессор, пультовой процессор, общая память, контроллеры внешних устройств) осуществляется через общую шину асинхронно-синхронного типа (обмен информацией между пультовым процессором и центральными может поисходить также по последовательной линии связи). Все блоки ЭВМ могут быть как ведущими, так и ведомыми, кроме блока общей памяти, который всегда ведомый. Асинхронно-синхронный тип обмена позволяет легко связывать блоки с разным быстродействием при затрате минимальных аппаратных средств для выхода на шину. Асинхронизм обмена поддерживается сигналами BRQ (запрос шины), BUSY (шина занята), BRDC, BWRC, BRMWC (команды чтения, записи, чтения-модификации-записи) и АСК (подтверждение обмена), длительность которых может дискретно изменяться на определенное число периодов синхросигнала шины BCLK (см. Сигналы общей шины).

3.5.1. Захват шины

Захват шины осуществляется специальным блоком - арбитром. Известны многие варианты схем арбитража общей шины. Это последовательный, параллельный, децентрализованный с жестким приоритетом, демократичный децентрализованный и другие арбитры. Каждый способ имеет свои достоинства и недостатки. В данной ЭВМ реализован децентрализованный арбитраж. Основная идея арбитража заключается в следующем. Если шина свободна (сигнал BUSY высокого уровня), то каждый из блоков, требующих общую шину, выдает сигналы BRQ0:BRQ7 с кодом своего приоритета и одновременно считывает код приоритета, установившийся на шине. Если код приоритета, считанный с шины, равен коду собственного приоритета, то блок захватывает шину, в противном случае ждет следующего цикла захвата. Блок, получивший шину, устанавливает сигнал BUSY и начинает обмен. При появлении сигнала АСК обмен заканчивается и шина отпускается. Это так называемый одноактный обмен. В случаях экстренной передачи информации блоку необходимо установить сигнал BTR (блочная передача), запрещающий сброс BUSY на время удержания сигнала BTR. Коды приоритетов BRQ0:BRQ7 на общей шине логически суммируются (проводное ИЛИ) и имеют следующий вид:

0   0000 0000 - самый высокий приоритет
1   0000 0001          (сигнал активный низкий)
2   0000 0011
. . . . . . .
6   0111 1111
7   1111 1111 - самый низкий приоритет

Например, код логической суммы 1 и 6 приоритетов равен коду 1 приоритета. Код приоритета устанавливается с помощью переключателя, расположенного на плате.

3.5.2. Процесс обмена

С целью уменьшения количества проводников общей шины 20-разрядная адресная шина (А0:А19) совмещена с шиной данных, поэтому процесс обмена происходит в 2 фазы: фазы передачи адреса и фазы передачи данных. Фаза передачи адреса сопровождается сигналом ASTB (строб адреса). Направление передачи данных определяют сигналы BRDC и BWRC. Сигнал чтение-модификация-запись (BRMWC) используется лишь при обращении к семафорной ячейке общей памяти. Эти сигналы выдает ведущий блок, т.е. Блок, инициирующий обмен. Конец благополучного считывания или записи информации подтверждает ведомый блок сигналом АСК, после чего ведущий блок дезактивирует обмен.

При обращении к блоку общей памяти возможны следующие ненормальные ситуации:

  1. Запись данных в выбранную ячейку ОЗУ запрещена;
  2. Блок коррекции ошибок (генератор кода Хемминга) обнаружил двойную или многократную ошибку;
  3. Обращение к физически несуществующей матрице памяти.

Для привязки таких случаев к конкретному активному ведущему блоку каждая ситуация сопровождается своим сигналом (PWRI, DERI, AMBI) на общей шине, которые фиксируются на триггерах схемы-арбитра этого блока передним фронтом сигнала АСК.

3.5.3. Обработка прерываний

Для экономии проводников общей шины прерывания от контроллеров внешних устройств также передаются по шине данных (D0:D63). Все прерывания конкретного контроллера внешнего устройства логически суммируются и поступают на шину IRQ (запрос прерывания), на которой могут также суммироваться (проводное ИЛИ) запросы на прерывание и от других контроллеров. Реагируя на сигнал IRQ, процессор выдает, предварительно захватив общую шину, сигнал INTA (подтверждение прерывания), который совместно с BRDC открывает шинные формирователи для выдачи активных прерываний на шину данных. Для сброса активных прерываний от одного или нескольких контроллеров одновременно процессор производит выдачу принятых прерываний на шину данных, сопровождая их сигналами INTA и BWRC.

3.5.4. Специальные сигналы общей шины

3.5.5. Сигналы общей шины

  1. AD0:AD19 (ts) - адрес, данные *)
  2. D20:D63 (ts) - данные *)
  3. /BRQ0:/BRQ7 (ок) - запросы ОШ
  4. /BUSY (ок) - шина занята
  5. /АСК (ок) - подтверждение обмена
  6. /BRDC (ок) - команда “чтение”
  7. /BWRC (ок) - команда “запись”
  8. /BRMWC (ок) - команда “чтение-модификация-запись”
  9. /INTA (ок) - подтверждение прерывания
  10. ./IRQ (ок) - запрос прерывания от контроллеров внешних устройств
  11. ./SERI (ок) - прерывание пультовому процессору “однократная ошибка”
  12. ./PWRI (ок) - прерывание “запрещенная запись” озу
  13. /DERI (ок) - прерывание “многократная ошибка” озу
  14. /AMBI (ок) - прерывание “отсутствующий блок памяти” озу
  15. /BTR (ок) - режим блочной передачи
  16. /ASTB (ок) - строб адреса (фаза передачи на ОШ адреса)
  17. /UCMW (ок) - блокировка проверки тега при записи (unconditional memory write) (19 разряд регистра режимов - БПТЗ).
  18. /INIT (ок) - инициализация (общий сброс системы)
  19. BCLK - синхросерия ОШ (ток)
  20. /BCLK - — “ — ” —
  21. /РЗВ0:РЗВ2 - резервные шины
  22. Т0:Т7 (ts) - разряды тега *)

Примечание. *) - шины с тремя состояниями. Все остальные - с выходом “открытый коллектор”. Символ “/” - указатель сигнала низкого активного уровня.