Архитектура ЭВМ СВС
Архитектура ЭВМ СВС
ЭВМ СВС была разработана в 1980 году как более быстрая версия ЦП БЭСМ-6 на интегральных схемах. Официально она называлась Эльбрус-1К2. Она была примерно в два с половиной раза быстрее, чем БЭСМ-6. Элементной базой была 100 серия ЭСЛ, тактовая частота 20 МГц. ЭВМ СВС имела до 10 процессоров и до 4х процессоров ввода-вывода (унаследованных от Эльбрус-1).
Регистры привилегированного режима
В режиме супервизора команда РЕГ позволяет обращаться к управляющим регистрам процессора.
Запись:
Адрес | Регистр |
---|---|
000-007 | Запись содержимого сумматора в буферные регистры записи (БРЗ). |
0010-0017 | Неспользованные коды. |
0020-0027 | Запись содержимого сумматора в регистры приписки пользователя (РАФП). |
0030-0033 | Запись содержимого сумматора в регистры защиты пользователя (РЗП). |
0034 | Запись содержимого сумматора в регистр конфигурации модулей оперативной памяти (КОП). |
0035 | Гашение хранящих разрядов регистра сигналов контроля от оперативной памяти (СКООП). |
0036 | Неспользованный код. |
0037 | Гашение хранящих разрядов регистра внутренних прерываний (РПР). |
0040-0043 | Неспользованные коды. |
0044 | Запись содержимого сумматора в регистр тега (ТЕГ). |
0045 | Неспользованный код. |
0046 | Запись содержимого сумматора в главный регистр маски (ГРМ). |
0047 | Гашение хранящих разрядов главного регистра внешних прерываний (ГРВП). |
0050 | Запись содержимого сумматора в регистр прерывания центральных процессоров и процессоров ввода-вывода (ПП и ПМП). |
0051 | Запись содержимого сумматора в регистр ответов на прерывание процессора СВС-1 другим центральным процессором системы (ОПП) и в регистры гашения ПВВ и ОП. |
0052 | Гашение хранящих разрядов регистра прерываний от ЦП и ПВВ (ПОП, ПОМП). |
0053 | Гашение хранящих разрядов регистра ответов на прерывание от ЦП (ОПОП). |
0054 | Запись содержимого сумматора в регистр конфигурации ЦП в системе и регистр конфигурации ПВВ (КП, КМП). |
0055 | Гашение хранящих разрядов регистра сигналов контроля от ЦП и ПВВ (СКОП, СКОМП). |
0056 | Запись содержимого сумматора в регистр часов (ЧС). |
0057 | Запись содержимого сумматора в таймер (ТМ). |
0060-0067 | Запись содержимого сумматора в регистры приписки супервизора (РАФС). |
0070-0073 | Запись содержимого сумматора в регистры защиты супервизора (РЗС). |
0074-0077 | Запись содержимого сумматора в регистры защиты пользователя по записи (РЗПЗ). |
0100-0107 | Установка признаков ПКЛ, ПКП и БРО. |
0140 | Гашение таймера и сигнала контроля процессора (СКП). |
Чтение:
Адрес | Регистр |
---|---|
0200-0207 | Считывание содержимого буферных регистро записи (БРЗ) на сумматор. |
0210-0233 | Неспользованные коды. |
0234 | Считывание на сумматор содержимого регистра конфигурации модулей оперативной памяти. |
0235 | Считывание на сумматор содержимого регистра сигналов контроля от оперативной памяти. |
0236 | Считывание на сумматор сигналов запрета запроса в МОП от коммутаторов памяти. |
0237 | Считывание на сумматор содержимого регистра внутренних прерываний (РПР). |
0240 | Неспользованный код. |
0241 | Считывание на сумматор кода строки 1-6 дорожек перфоленты. |
0242 | Считывание на сумматор кода синхроимпульса перфоленты. |
0243 | Неспользованный код. |
0244 | Считывание на сумматор содержимого регистра тега. |
0245 | Считывание на сумматор регистра ТЕГБРЧ. |
0246 | Считывание на сумматор содержимого главного регистра маски (ГРМ). |
0247 | Считывание на сумматор содержимого главного регистра внешних прерываний (ГРВП). |
0250 | Считывание на сумматор содержимого регистра номера процессора. |
0251 | Неспользованный код. |
0252 | Считывание на сумматор содержимого регистра прерываний от ЦП и ПВВ (ПОП, ПОМП). |
0253 | Считывание на сумматор содержимого регистра ответов на прерывание от ЦП (ОПОП). |
0254 | Считывание на сумматор содержимого регистра конфигурации ЦП и ПВВ в системе (КП и КМП). |
0255 | Считывание на сумматор содержимого регистра сигналов контроля от ЦП и ПВВ (СКОП, СКОМП). |
0256 | Считывание на сумматор содержимого регистра часов. |
0257 | Считывание на сумматор содержимого таймера. |
0260-0277 | Неспользованные коды. |
20-27 - РП, регистры приписки
Регистры приписки определяют для каждой виртуальной страницы номер физической страницы. При трансляции виртуального адреса в физический биты 15:11 задают номер виртуальной страницы. По этому номеру из регистров приписки извлекается номер физической страницы.
Всего имеется 8 регистров приписки по 48 бит. Каждый регистр приписки состоит из четырёх 12-битных полей.
48 … 37 | 36 … 25 | 24 … 13 | 12 … 1 |
---|---|---|---|
ФИЗ[i+3] | ФИЗ[i+2] | ФИЗ[i+1] | ФИЗ[i] |
Поле ФИЗ[i]: номер физической страницы для виртуальной страницы с индексом i.
30-33 - РЗ, регистр защиты
Регистр защиты содержит по одному биту для каждой виртуальной страницы, всего 32 бита. Если бит установлен в единицу, обращение по чтению или записи к этой странице вызывает внутреннее прерывание “Число в чужом листе”.
При записи в РЗ биты 28:21 сумматора помещаются в биты РЗ[8:1] для адреса 30, биты РЗ[16:9] для адреса 31, биты РЗ[24:10] для адреса 32, биты РЗ[32:25] для адреса 33.
32 | 31 | … | 3 | 2 | 1 |
---|---|---|---|---|---|
Z31 | Z30 | … | Z2 | Z1 | Z0 |
Биты Z31-Z0: запрет обращения к соответствующей виртуальной странице.
37 - ГРП, главный регистр прерываний
ГРП показывает состояние внутренних прерываний процессора.
48 … 24 | 23 | 22 | 21 | 20 | 19 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 10 | 9 … 5 | 4 | 3 … 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | DZ | OVF | CK | DP | 0 | WPW | WPR | ICK | IP | IL | BP | 0 | P[i] | MCK | B[i] |
Бит DZ: деление на ноль.
Бит OVF: арифметическое переполнение. Также устанавливается в случае деления на ноль.
Бит CK: контроль числа БРЗ (ошибка чётности). Также устанавливается в случае контроля числа МОЗУ, арифметического переполнения и деления на ноль. Поле B[i] содержит номер блока памяти, вызвавшего прерывание.
Бит DP: нарушение защиты памяти “Число в чужом листе”. Поле P[i] содержит номер страницы, вызвавшей прерывание.
Бит WPW: точка останова по записи.
Бит WPR: точка останова по считыванию.
Бит ICK: попытка выполнить число как команду, “Контроль команды”.
Бит IP: передача управления в отсутствующую страницу, “Команда в чужом листе”.
Бит IL: попытка выполнить привилегированную команду в режиме пользователя, “Запрещенная команда”.
Бит BP: совпадение адреса текущей команды с регистром M34, “Останов по КРА”.
Бит P[i]: номер страницы, вызвавшей нарушение защиты памяти (бит DP).
Бит MCK: контроль числа МОЗУ (ошибка чётности). Также устанавливается в случае арифметического переполнения и деления на ноль. Поле B[i] содержит номер блока памяти, вызвавшего прерывание.
Бит B[i]: номер блока памяти, вызвавшего прерывание контроля числа (биты CK или MCK).
47 - РВП, регистр внешних прерываний
РВП показывает состояние прерываний, поступивших в процессор от внешних устройств.
48 … 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|
0 | PRG | REQ | RSP | VF | MF | TMR | PVV | MUL | BUT |
Бит PRG: ???
Бит REQ: прерывание от процессоров. Этот бит устанавливается в 1, когда в регистре ПОП (по маске РКП) присутствуют активные биты.
Бит RSP: ответ от процессоров (регистр ОПОП).
Бит VF: авария процессора или ПВВ.
Бит MF: ошибка оперативной памяти.
Бит TMR: прерывание от таймера (регистр 57).
Бит PVV: прерывание от процессора ввода-вывода (ПВВ).
Бит MUL: ???
Бит BUT: нажата кнопка “Запрос” на пульте.
50 - ПП, регистр прерываний процессорам
ПП формирует сигналы запроса для процессоров СВС, а также младшую половину байта для модуля передачи данных.
48 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 … 35 | 34 | 33 | 32 … 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ?? | ?? | ?? | ?? | R1 | R2 | R3 | R4 | TDL | RS | TS | 0 |
Биты R1-R4: запросы для процессоров СВС.
Биты TDL: младшие четыре бита данных для отправки в модуль передачи данных (МПД).
Бит RS: строб подтверждения приема от МПД. Когда этот бит равен 1, МПД обновляет значения полей RDH и RDL в регистрах ПОП и ОПОП.
Бит TS: строб передачи в МПД. Когда этот бит равен 1, четыре бита TDL пересылаются в МПД.
51 - ОПП, регистр ответов процессорам
ОПП формирует сигналы ответа для процессоров СВС, а также старшую половину байта для модуля передачи данных.
48 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 … 35 | 34 | 33 | 32 … 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ?? | ?? | ?? | ?? | L1 | L2 | L3 | L4 | TDH | ?? | TS | 0 |
Биты L1-L4: ответы для процессоров СВС.
Биты TDH: старшие четыре бита данных для отправки в модуль передачи данных (МПД).
Бит TS: строб передачи в МПД. Когда этот бит равен 1, четыре бита TDH пересылаются в МПД.
52 - ПОП, регистр прерываний от процессоров
ПОП показывает сигналы запроса от процессоров СВС и от модуля передачи данных.
48 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 … 35 | 34 | 33 | 32 … 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ?? | ?? | ?? | ?? | Q1 | Q2 | Q3 | Q4 | RDH | RI | TI | 0 |
Биты Q1-Q4: запросы от процессоров СВС.
Биты RDH: старшие четыре бита данных, принятых от модуля передачи данных (МПД).
Бит RI: в приёмный буфер МПД поступили данные для процессора.
Бит TI: передающий буфер МПД пуст и готов принять данные от процессора.
53 - ОПОП, регистр ответных прерываний от процессоров
ОПОП отображает сигналы ответов от процессоров СВС и от модуля передачи данных.
48 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 … 35 | 34 | 33 | 32 … 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ?? | ?? | ?? | ?? | T1 | T2 | T3 | T4 | RDL | 0 | 0 | 0 |
Биты T1-T4: ответы от процессоров СВС.
Биты RDL: младшие четыре бита данных, принятых от модуля передачи данных (МПД).
54 - РКП, регистр конфигурации процессоров
РКП задаёт маску процессоров СВС, процессоров ввода-вывода и модуля передачи данных.
48 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 … 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | V1 | V2 | V3 | V4 | P1 | P2 | P3 | P4 | ?? | ?? | ?? | ?? | MR | MT | 0 |
Биты V1-V4: наличие процесоров ввода-вывода (ПВВ).
Биты P1-P4: наличие процессоров СВС.
Бит MR: разрешение приёма от модуля передачи данных (МПД).
Бит MT: разрешение прерывания по передаче от МПД.