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

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

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

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

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

Функции ЦП:

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

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

  • блока микропроцессорных секций (МПС), содержащего АЛУ и регистровое запоминающее устройство (РЗУ);
  • блока микропрограммного управления, состоящего из преобразователей начального адреса (ПНА), схемы управления адресом микрокоманды (СУАМ), управляющей памяти микропрограмм (ППЗУ И ОЗУ МП), конвейерного регистра (КР);
  • ППЗУ констант;
  • арифметических блоков, исполняющих умножение (УМН), сдвиги, поиск левой единицы (ПЛЕ) и подсчет числа единиц (N ЕД);
  • блоков обмена информацией с общей шиной на 64 разряда для команд и данных и на 8 разрядов для тега (БОИ);
  • ОЗУ модификаторов;
  • стандартизатора команд, приводящего команды БЭСМ-6 к общему виду с 8-разрядным кодом операции, и схемы размножения знака адресной части команды (АК);
  • регистров:
    • исполнительного адреса,
    • номера группы модификатиров (РНГ),
    • номера процесса (РНП),
    • регистра счетного времени процесса,
    • таймера счетного времени процесса,
    • регистра астрономического времени,
    • таймера астрономического времени;
  • блока приписок адресов;
  • блока обработки внешних и внутренних прерываний;
  • блока модификации приоритетов страниц, содержащего регистр физической страницы (РФС), ОЗУ признаков БОБР, БИЗМ, БМСП и ОЗУ приоритетов страниц;
  • арбитра;
  • блока связи с пультовым процессором, состоящего из ОЗУ обмена, микропроцессора со своими ППЗУ и ОЗУ для обслуживания линии связи с пультовым процессором и загрузки микропрограмм;
  • останова по адресу;
  • тактового генератора.

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

===^====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 - запрет записи контрольного кода Хемминга в матрицу ОЗУ;
  • 0 - нормальный режим.

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

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

  • ffff ffff - регистр синдрома (только чтение);
  • ffff fffe - регистр адреса ОЗУ (только чтение);
  • ffff fffd - статусный регистр ОЗУ.
  • 14fff, 14ffe, 14ffd - адреса этих же регистов для пультового процессора, доступных через его приписку.

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

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

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

  • 16:13 разряды - номер контроллера = 0,1,...,15;
  • 12:1 разряды - адрес внутри контроллера.

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

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

  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. Регистр состояния контроллера.

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

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

  • команду;
  • адрес по диску;
  • признак запуска обмена;
  • признак обмена с тегом;
  • признак разрешения прерывания по изменению готовности (стоит ли диск, есть ли питание);
  • признак разрешения прерывания по концу обмена.

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

  • тип ошибки;
  • текущую команду;
  • адрес заменяющей дорожки;
  • признак замены дорожек;
  • признак окончания операции;
  • текущий адрес по диску.

Типы ошибок:

  • нет питания;
  • нет диска;
  • нет готовности;
  • ошибка в дорожке;
  • нет цилиндра;
  • попытка повторного обмена;
  • неправильный заказ обмена;

Команды:

  • подвод (SЕЕК);
  • установка головок на нулевой цилиндр или калибровка (CALIBR);
  • чтение (READ);
  • запись (WRITE);
  • сравнение с памятью (VERIFY);
  • форматирование или разметка (запись заголовков без поиска) (FORMAT);
  • установка и снятие монополизации отдельного модуля (MONOPOL)
  • команда сброса с задержкой на один обмен. Она не должна влиять на текущий обмен в течение достаточно большого времени.

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

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

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

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

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

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

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

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

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

  • ffff fffc - регистр маски прерываний от ПП (только запись)
  • ffff fffb - таймер астрономического времени (рг. RG3, 64р.)
  • ffff fffa - регистр обмена с ПП (рг. RG2, 64р.)
  • ffff fff9 - регистр обмена с ПП (рг. RG1, 64р.)
  • ffff fff8 - часы астрономического времени (рг. RG0, 64р.)
  • ffff 0000 : ffff 07ff - память двойного доступа в ПП, 72р.

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. Специальные сигналы общей шины

  • INIT - общий сброс системы. Этим сигналом ЭВМ приводится в начальное состояние после включения питания, фатальных ошибок и пр.
  • UCMW - блокировка проверки тега при записи. Блокирует прерывание от ОЗУ “запрещенная запись” (PWRI) и разрешает запись в ячейку памяти даже в том случае, если установлен бит тега “запрещенная запись”.
  • BCLK и /BCLK - парафазный сигнал синхросерии общей шины. Частота сигнала меньше или равна 10 мгц. Так как это самый высокочастотный сигнал общей шины, для уменьшения перекрестных помех с другими шинами он выдается в виде парафазного тока. Нагрузка на концах шин BCLK - 50 ом. Возможно использование ИС приемника и передатчика типа К170УП2 и К170АП2.

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) - разряды тега *)

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

 
proj/besm/doc-mkb/micro-besm3.txt · Последние изменения: 2008/03/19 14:24
 
Copyright (C) 1996-2013 Serge Vakulenko
serge@vak.ru