Описание процессоров серии 1801-1806: различия между версиями
Panther (обсуждение | вклад) (http://www.vak.ru/doku.php/proj/bk/1801vm-series) |
Panther (обсуждение | вклад) мНет описания правки |
||
Строка 1: | Строка 1: | ||
{{ДИ|Источник=http://www.vak.ru/doku.php/proj/bk/1801vm-series}} | {{ДИ|Источник=http://www.vak.ru/doku.php/proj/bk/1801vm-series}} | ||
<small>{{TOCright}}</small> | |||
Внимание! Обе серии имеют большой набор БИС обвязки, реализованных на универсальных вентильных матрицах 1801ВП1 и 1806ВП1, среди которых есть: контроллеры клавиатуры, контроллеры графики, схемы управления памятью, в том числе со встроенным контролем по Хэммингу, контроллеры последовательных и параллельных интерфейсов, контроллеры дисководов, таймеры и другие устройства. Набор ПЗУ 1801РЕ2 содержит программы пультового терминала, поддержки реализации дополнительных команд, другие программы. Специально под шину QBUS разработано ППЗУ 573РФ3. Информация о прошивках ПЗУ имеется в файле 1801RE.DOC, о прошивках матричных БИС — в файле 1801VP.DOC. Имеются ППЗУ с электрической сменой информации и интерфейсом QBUS. Как дополнение серии 1801 разработана серия 1809. В ней отсутствует процессор, но есть многоканальные коммутаторы, контроллеры клавиатуры, видеоконтроллеры, контроллер накопителя на магнитофоне, контроллеры последовательных каналов, байтовый программируемый интерфейс, статическое ОЗУ 1кХ16 с циклом 400 нс, интерфейсом QBUS и программируемыми старшими разрядами адреса, масочные ПЗУ. Указанные серии совместимы и могут использоваться совместно с сериями 588, 1811, 1802, 1804. | Внимание! Обе серии имеют большой набор БИС обвязки, реализованных на универсальных вентильных матрицах 1801ВП1 и 1806ВП1, среди которых есть: контроллеры клавиатуры, контроллеры графики, схемы управления памятью, в том числе со встроенным контролем по Хэммингу, контроллеры последовательных и параллельных интерфейсов, контроллеры дисководов, таймеры и другие устройства. Набор ПЗУ 1801РЕ2 содержит программы пультового терминала, поддержки реализации дополнительных команд, другие программы. Специально под шину QBUS разработано ППЗУ 573РФ3. Информация о прошивках ПЗУ имеется в файле 1801RE.DOC, о прошивках матричных БИС — в файле 1801VP.DOC. Имеются ППЗУ с электрической сменой информации и интерфейсом QBUS. Как дополнение серии 1801 разработана серия 1809. В ней отсутствует процессор, но есть многоканальные коммутаторы, контроллеры клавиатуры, видеоконтроллеры, контроллер накопителя на магнитофоне, контроллеры последовательных каналов, байтовый программируемый интерфейс, статическое ОЗУ 1кХ16 с циклом 400 нс, интерфейсом QBUS и программируемыми старшими разрядами адреса, масочные ПЗУ. Указанные серии совместимы и могут использоваться совместно с сериями 588, 1811, 1802, 1804. |
Текущая версия от 18:21, 25 января 2008
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. |
Внимание! Обе серии имеют большой набор БИС обвязки, реализованных на универсальных вентильных матрицах 1801ВП1 и 1806ВП1, среди которых есть: контроллеры клавиатуры, контроллеры графики, схемы управления памятью, в том числе со встроенным контролем по Хэммингу, контроллеры последовательных и параллельных интерфейсов, контроллеры дисководов, таймеры и другие устройства. Набор ПЗУ 1801РЕ2 содержит программы пультового терминала, поддержки реализации дополнительных команд, другие программы. Специально под шину QBUS разработано ППЗУ 573РФ3. Информация о прошивках ПЗУ имеется в файле 1801RE.DOC, о прошивках матричных БИС — в файле 1801VP.DOC. Имеются ППЗУ с электрической сменой информации и интерфейсом QBUS. Как дополнение серии 1801 разработана серия 1809. В ней отсутствует процессор, но есть многоканальные коммутаторы, контроллеры клавиатуры, видеоконтроллеры, контроллер накопителя на магнитофоне, контроллеры последовательных каналов, байтовый программируемый интерфейс, статическое ОЗУ 1кХ16 с циклом 400 нс, интерфейсом QBUS и программируемыми старшими разрядами адреса, масочные ПЗУ. Указанные серии совместимы и могут использоваться совместно с сериями 588, 1811, 1802, 1804.
1801ВМ1
- 16-разрядный микропроцессор
- технология n-MOS, быстродействие до 500—600 тыс. регистровых сложений/с
- тактовая частота 100 кГц — 6 МГц
- напряжение питания +5В±10 %
- потребляемая мошность до 1.2 Вт
- входное напряжене 0..Uип
- емкость нагрузки <100 пФ
- электростатический потенциал <100В
- корпус металлокерамический 42-выводный 429.42-5
- системная магистраль МПИ (QBUS)
- 69 команд: базовый набор +XOR +SOB (+MUL для 1801ВМ1Г)
- 8 регистров общего назначения
- 4 уровня запросов прерываний
- адресное пространство 64 Кбайт
- имеются аппаратные средства построения многопроцессорных систем с числом процессоров до 4
Цоколевка
1 | CLCI | вх | вход тактовой частоты |
2 | SACK | вх/вых | подтверждение захвата ПДП |
3 | DMGI | вх | вход предоставления ПДП |
4 | DMGO | вых | выход предоставления ПДП |
5 | DMR | вх/вых | требование ПДП |
6 | ? | вх | назначение неизвестно. Соединить с +5 |
7 | SEL1 | вых | выборка первого внешнего регистра |
8 | SEL2 | вых | -”- второго |
9 | AD0 | вх/вых | разряд шины адреса-данных |
10 | AD1 | вх/вых | разряд шины адреса-данных |
11 | AD2 | вх/вых | разряд шины адреса-данных |
12 | AD3 | вх/вых | разряд шины адреса-данных |
13 | AD4 | вх/вых | разряд шины адреса-данных |
14 | AD5 | вх/вых | разряд шины адреса-данных |
15 | AD6 | вх/вых | разряд шины адреса-данных |
16 | AD7 | вх/вых | разряд шины адреса-данных |
17 | AD8 | вх/вых | разряд шины адреса-данных |
18 | AD9 | вх/вых | разряд шины адреса-данных |
19 | AD10 | вх/вых | разряд шины адреса-данных |
20 | AD11 | вх/вых | разряд шины адреса-данных |
21 | GND | общий | |
22 | AD12 | вх/вых | разряд шины адреса-данных |
23 | AD13 | вх/вых | разряд шины адреса-данных |
24 | AD14 | вх/вых | разряд шины адреса-данных |
25 | AD15 | вх/вых | разряд шины адреса-данных |
26 | PA1 | вх | адрес процессора в системе |
27 | PA0 | вх | адрес процессора в системе |
28 | BSY | вых | занятость шины |
29 | DCLO | вх | авария источника питания |
30 | ACLO | вх | авария питаюшей сети |
31 | IRQ1 | вх | запрос радиального прерывания "пульт” |
32 | IRQ2 | вх | запрос прерывания от таймера, задний фронт, вект.100 |
33 | IRQ3 | вх | запрос радиального прерывания, задний фронт, вект.270 |
34 | INIT | вх/вых | сброс устройств на магистрали/сброс процессора |
35 | VIRQ | вх | требование векторного прерывания |
36 | IAKO | вых | предоставление прерывания |
37 | DOUT | вых | сопровождение записи |
38 | DIN | вых | сопровождение чтения |
39 | RPLY | вх | ответ пассивного устройства |
40 | WTBT | вых | запись/байт |
41 | SYNC | вых | синхронизация активного устройства |
42 | Ucc | +5В |
В состав процессора входят: операционный блок ОБ, блок микропрограммного управления БМУ, блок прерываний БПР, интерфейсный блок ИБ, блок согласования БС, буферный регистр команд БРК. ОБ предназначен для вычисления и хранения адреса, приема и хранения данных, выполнение арифметических и логических операций, выдача данных на системную шину, формирование состояний. Основу ОБ составляют четырнадцать 16-разрядных регистров, 16-разрядное АЛУ, регистр состояния процессора (PSW), регистр адреса и данных. Восемь из четырнадцати регистров операционного блока и PSW программно доступны. Остальные регистры доступны только микропрограммно.
В АЛУ выплняются арифметические и логические операции и вырабатываются признаки. После этого, если необходимо, выполняется сдвиг на один разряд. Связь ОБ с внутренней шиной микропроцессора осуществляется через регистры адреса и данных. БМУ предназначен для преобразования команды микропроцессора в последовательность микрокоманд. Основу БМУ составляет ПЛМ, имеющая 250 логических произведений.
Блок прерываний предназначен для организации логики приоритетных прерываний микропроцессора. Информация с БПР поступает в БМУ. Интерфейсный блок обеспечивает обмен между внешней шиной и внутренней магистралью микропроцессора.
В интерфейсном блоке осуществляется анализ положения данного микропроцессора в многопроцессорной системе. В зависимости от этого меняются характеристики отдельных выводов: DMR, SACK, DMGI, DMGO. Первые два сигнала, в зависимости от того, является ли данный кристалл главным или не главным, будут входами или выходами. Интерфейсный блок управляет также системной магистралью и осуществляет арбитраж запросов на обмен по принципу "первым пришел — первым обслужился”.
Блок синхронизации управляет приемопередатчиками шины адрес — данные. Буферный регистр команд служит для приема и хранения текущей команды. В микропроцессоре осуществляется совмещение процессов выполнения текущей команды и приема следующей. Текущая команда хранится в БМУ, а новая может приниматься в БРК.
Величина тайм-аута зависания шины составляет 64 такта процессора. В случае отсутствия сигнала SYNC в течение указанного промежутка времени после установки сигналов DIN или DOUT, произойдет прерывание по 4 ячейке.
Микропроцессор может работать в многопроцессорных системах в качестве главного процессора или подчиненного. Не главное устройство сигналом DMR запрашивает разрешение на захват шины у главного, который формирует сигнал DMGO. Этот сигнал проходит через каждый неглавный процессор по цепи обслуживания прямого доступа последовательно. Если DMR не был выставлен данной микросхемой, происходит транслирование сигнала на вывод DMGO этой микросхемы. Если данный неглавный процессор, выставив сигнал DMR, получил сигнал на выводе DMGI, он блокирует дальнейшее распространение сигнала подтверждения прямого доступа и выставляет SACK. После этого процессор, захвативший шину, выставляет адрес и сигнал BSY, снимая DMR; сигнал SACK снимется одновременно с сигналом DIN или DOUT в зависимости от вида обмена.
Блокирование прохождения сигнала разрешения захвата прекращается после снятия сигнала RPLY пассивным устройством. Выставив следующий запрос DMR, микропроцессор может выполнять еще один цикл обмена, не сбрасывая SACK. Если главному процессору нужно захватить системную шину, он блокирует выдачу DMGO на не главные устройства до окончания собственного цикла обмена и микропроцессор может выйти на шину лишь в случае отсутствия запросов DMR и SACK от не главных устройств. Если эти сигналы выставляются во время цикла захвата шины главным процессором, сигналы запросов приостановят новый цикл захвата. Шина будет предоставлена не главному процессору, сформировавшему запрос. Наивысшим приоритетом в системе будет обладать процессор, непосредственно соединенный с главным процессором по цепи DMGO — DMGI.
Микропроцессор имеет два сигнала для обращения к внешним регистрам SEL1 и SEL2.
Адреса внешних регистров:
номер МП | SEL1 | SEL2 |
---|---|---|
00 | 177716 | 177714 |
01 | 177736 | 177734 |
10 | 177756 | 177754 |
11 | 177776 | 177774 |
Тип обмена с внешним регистром можно определить по сигналу DIN или DOUT. Сигнал RPLY не требуется.
Для инициирования процессора необходимо подать на него питающее напряжение, при этом произойдет начальная установка управляющих элементов и будет выставлен сигнал INIT. На начальные установки требуется не менее 4 мс. Далее необходимо подать DCLO, после чего INIT перейдет в высокий уровень, и не менее, чем через 70 мс снять DCLO. После этого процессор начнет работать. Сначала будет считан SEL1 по адресу 177716. В PC будет занесен старший байт SEL1 в старший, и нули — в младший. В PSW будет загружена константа 340Q. Назначение битов слова состояния соответствует стандартному.
Времена выполнения одноадресных команд:
Метод адресации | Время выполнения |
---|---|
0 | 8 T + tn |
1 | 21 T + 3 tn |
2 | 20 T + 3 tn |
3 | 27 T + 3 tn |
4 | 21 T + 3 tn |
5 | 28 T + 4 tn |
6 | 27 T + 4 tn |
7 | 34 T + 5 tn |
Времена выполнения двухадресных команд:
Метод адресации | Время выполнения | |
---|---|---|
Источник | Приемник | |
0 | 0 | 8 T + tn |
1 | 0 | 18 T + 2tn |
2 | 0 | 18 T + 2tn |
3 | 0 | 25 T + 3tn |
4 | 0 | 20 T + 2tn |
5 | 0 | 26 T + 3tn |
6 | 0 | 25 T + 3tn |
7 | 0 | 32 T + 3tn |
0 | 1 | 26 T + 2tn |
0 | 2 | 28 T + 2tn |
0 | 3 | 31 T + 3tn |
0 | 4 | 28 T + 2tn |
0 | 5 | 32 T + 3tn |
0 | 6 | 31 T + 3tn |
0 | 7 | 40 T + 4tn |
1 | 1 | 28 T + 3tn |
2 | 2 | 30 T + 3tn |
3 | 3 | 40 T + 5tn |
4 | 4 | 31 T + 3tn |
5 | 5 | 42 T + 5tn |
6 | 6 | 40 T + 5tn |
7 | 7 | 56 T + 7tn |
Время выполнения:
- команд управления — HALT = 54 T + 7 tn;
- команд IOT, BPT, EMT, TRAP — 42 T + 5 tn;
- команд установки и очистки признаков — 8 T + tn;
- максимальное время ожидания ПДП — 8 T + 2 tn для цикла ввод-пауза-вывод;
- максимальное время от момента запроса прерывания до выборки первой команды нового процесса — 98 T + 12 tn (время выполнения самой длинной команды + IOT).
В таблицах приведены времена иполнения для одноадреных команд COM, INC, DEC, ADC, SBC, ASR, ASL, ROL, ROR, CLR, и для двухадресных ADD, SUB, BIC, BIS, XOR. За T обозначен период тактовой частоты процессора, tn-время между выдачей DIN/DOUT и приходом RPLY.
Н1806ВМ2
16-разрядный микропроцессор с PDP11-совместимой системой команд. Технология CMOS. Допускает воздействие внешних факторов:
- механические факторы:
- синусоидальная вибрация 1-5000Гц 400м/(с*с)=40g
- акустический шум 50-10000Гц звуковое давление (относительно 2Е-5 Па) 170 дБ;
- механический удар одиночного действия max 1500g, длительность действия 0.1-2.0мс
- механический удар многократного действия max 150g 1-5мс, линейное ускорение 500g
- климатические факторы:
- рабочее давление 1.33Е-4Па (10Е-6 мм.рт.ст.) — 3атм.
- температура среды −60..+125 град. Цельсия
- влажность для исполнения УХЛ при +35 град. Цельсия 98 %
- соляной (морской) туман
- атмосферные конденсированные осадки (иней, роса)
- биологические факторы:
- плесневые грибы
Параметры:
- минимальная наработка не менее 50 000 часов
- питание +5В±10 %, потребляемая мошность 25 мВт.
- 64-выводный металлокерамический корпус типа Н18.64-2В УФО.481.005 ТУ.
- уровней запроса прерывания — 2
- 77 команд, наборы команд:
- базовый набор инструкций
- EIS Extended Instruction Set
- FIS Floating Instruction Set if system ROM is able to emulate
- тактовая частота 0-5 МГц
- регистровое сложение при 5МГц 1.2 мкс
- регистровое умножение при 5МГц 18 мкс
- регистровое деление при 5МГц 25 мкс
- Uпит.max=6В
- 0<Uвх<Uпит
- емкость нагрузки не более 100 пФ
- системная магистраль соответствует стандарту МПИ (QBUS)
Цоколевка:
1 | земля усилителей AD 0-15 и SEL |
13-11, 6-2, 63-60, 53-50 | 16 двунаправленных входов-выходов шины адреса-данных AD 0-15: логическая единица — низкий уровень |
14,15 | WRQ1,WRQ2 — выходы сигналов запроса на захват магистралей, видимых через окно. Запрос идет низким уровнем. |
16 | WACK — вход разрешения захвата магистрали через окно. Разрешение обмена-низкий уровень.(при наличии низкого уровня раньше выдачи WRQ запрос окна не формируется) |
17 | DMR — вход требования прямого доступа(L) |
18 | SACK — вход подтверждения получения запроса на прямой доступ(L) |
19 | DMGO — выход разрешения прямого доступа(L) |
20 | CLCO — выход внутренней тактовой частоты. Повторяет CLCI с небольшой задержкой в той же фазе. |
21 | CLCI — вход тактовых импульсов от 0 до 5 МГц: процессор статический. |
22 | U3 + питания |
27 | RPLY — вход СИП(L) |
28 | DOUT — выход ВЫВОД(L) |
29 | WTBT — выход БАЙТ(L) |
30 | земля внутренних узлов процессора |
31 | SYNC — выход СИА(L) |
32 | U2 + питания |
33 | DIN — выход ВВОД(L) |
34 | AR — вход АДРЕС ПРИНЯТ(L) |
35 | IAKO — выход разрешения прерывания(L) |
36 | ACLO — вход аварии сетевого питания. Отрицательный фронт прерывает программу по вектору 24. Положительный фронт инициирует микропрограммный пуск |
37 | DCLO — авария постоянного питания. Низкий уровень транслируется на INIT и приводит процессор в начальное состояние. |
44 | INIT — выход сброса внешних устройств(L) |
45 | VIRQ — вход требования векторного прерывания(L) |
46 | HALT — вход перехода в пультовый режим(L) |
47 | EVNT — вход запроса прерываний от таймера по отрицательному фронту. Вектор 100 формируется процессором |
48 | WIR — вход требования прерывания от окна по отрицательному фронту. Немаскируемое, вектор 250 |
49 | SEL — выход обращения к пультовой памяти или безадресному регистру(L). При появлении в фазе выдачи адреса выбирает системную память, при появлении одновременно с DIN выбирает безадресный регистр |
64 | U1 + питания |
7,8,9,23,24,25,26,38,39,40,41,42,43,54,55,56,57,58,59 — пустые.
Процессор состоит из следующих блоков:
- ОБ — операционный блок
- БМУ — блок микропрограммного управления
- БРА — блок расширенной арифметики
- БПР — блок прерываний
- БОВ — блок обработки условий ветвления
- ИБ — интерфейсный блок
В состав ОБ входят: буферный регистр данных (БРД), регистр адреса (РА), регистр копии счетчика команд (PC’), компаратор адресов (КОМП), буферный регистр команд ОБ (БРК ОБ), регистр команд ОБ (РК ОБ), блок констант, регистр состояния процессора (PSW), копия регистра состояния процессора (PSW’), регистры общего назначения (R0..R7), аккумулятор (АК), регистр источника (РИ), 16-разрядное АЛУ, сдвигатель (СДВ), блок обмена байтов и схема записи (БОБ и СхЗп). В БРД принимаются данные из внешнего ЗУ. При записи во внешнее ЗУ в БРД данные подготавливаютбуферный регистр команд ОБ (БРК ОБ), регистр команд ОБ (РК ОБ), блок констант, регистр состояния процессора (PSW), копия регистра состояния процессора (PSW’), регистры общего назначения (R0..R7), аккумулятор (АК), регистр источника (РИ), 16-разрядное АЛУ, сдвигатель (СДВ), блок обмена байтов и схема записи (БОБ и СхЗп). В БРД принимаются данные из внешнего ЗУ. При записи во внешнее ЗУ в БРД данные подготавливаютаратор.
В PC’ хранится адрес следующего за командой слова, то есть PC+2. Перед циклом записи адрес на РА сравнивается компаратором с содержимым PC’ и в случае равенства после окончания записи происходит чтение команды по адресу из PC’, то есть происходит повторный прием следующей команды. Ранее принятая следующая команда не выполняется. Процедура повторного чтения происходит аппаратно-микропрограммно. Регистр состояния процессора и регистр копии регистра состояния служит для хранения признаков (состояний), выребатываемых в процессе выполнения операций. В регистре PSW’ сохраняется слово состояния при обработке некоторых прерываний. В ОБ имеется десять регистров, восемь из которых доступны программисту как регистры общего назначения. Оставшиеся два — аккумулятор и регистр источника используются процессором для промежуточного хранения информации при выполнении некоторых команд и доступны только микропрограммно. АЛУ имеет схему ускоренного переноса, благодаря которой перенос распространяется последовательно не более, чем через три разряда. Из АЛУ результат попадает на сдвигатель, где в командах сдвига происходит сдвиг операнда на один разряд вправо или влево и содержится логика формирования арифметического или циклического сдвига. Может сдвигаться слово или байт. После сдвигателя получается окончательный результат операции, который записывается в специальный регистр. На этом заканчивается фаза чтения цикла выполнения микрокоманды. В цикле записи выполнения микрокоманды информация с регистра, на котором хранится результат операции, поступает через блок обмена байтов на схему записи. В БОБ меняются местами байты слова при выполнении команды SWAB. БОБ также используется при выдаче старшего байта в байтовых командах. Благодаря использованию в процессоре раздельных внутренних шин записи и чтения совмещается дешифрация адреса чтения с циклом записи и адреса записи с циклом чтения, благодаря чему уменьшается цикл выполнения микрокоманды.
Схема формирования состояния (СФС) на основе сигналов, приходящих из АЛУ, сдвигателя и блока расширенной арифметики формирует признаки результата операции N, Z, V, C, которые запоминаются в слове состояния и затем используются в командах ветвления.
Блок расширенной арифметики предназначен для аппаратной поддержки выполнения команд умножения, деления, и параметрического сдвига MUL, DIV, ASH, ASHC. Для выполнения содержательной части команды используется одна микрокоманда, которая модифицируется по определенному алгоритму схемой управления блоком расширенной арифметики в процессе выполнения операции. Каждая команда РА выполняется за определенное число тактов. Внутренние регистры блока расширенной арифметики доступны по адресу в микрокоманде.
Работой БМУ и его синхронизацией с другими блоками управляет блок синхронизации БС БМУ. Если нет сигналов торможения, БС БМУ запускается сигналом готовности ОБ. БМУ может останавливаться в случае ожидания приема команды по сигналу КК "конец команды”, ожидания выработки состояния по сигналу ЖС "жду состояния”, и при обработке некоторых прерываний по сигналу торможения от БПР. Сигналы ПП "принять прерывание” , ЖС, КК, вырабатываются ПЛМ накопителя микрокоманд (содержащей 190 логических произведений).
Блок прерываний служит для приема и предварительной обработки сигналов прерываний. В блоке находится логика аппаратной поддержки выполнения команды RESET. В БПР входят: регистр источников прерываний, ПЛМ, состоящая из матриц М1 и М2 и содержащая 30 логических произведений, 9-разрядный счетчик, блоки управления и синхронизации. Все сигналы прерываний поступают на регистр источников прерываний. При выполнении команды WAIT триггер "ждать” в РИП устанавливается в специальном формате микрокоманды микропрограммно. Из РИП сигналы прерываний поступают на первую матрицу ПЛМ. На ней реализована схема приоритета прерываний. Если выставлено одновременно два прерывания, то сначала обслуживается прерывание с большим приоритетом. Если 7-й разряд PSW установлен в единицу, внешние не фатальные прерывания маскируются. Для отсчета интервала времени, воспринимаемого как зависание, и формирования сигнала INIT при выполнении команды RESET служит 9-разрядный счетчик. Счетчик запускается сигналом DIN или DOUT при отслеживании зависаний или микропрограммно при выполнении команды RESET. Момент достижения счетчиком нужного значения отслеживается схемой управления.
Интерфейсный блок служит для организации обменов между процессором и устройствами на системной магистрали. В интерфейсном блоке содержится арбитр прямого доступа к памяти, совмещенный со схемой запроса окон. Арбитр прямого доступа отслеживает поступление запроса на прямой доступ. После поступления запроса процессор заканчивает текущий цикл обмена и выдает разрешение на прямой доступ. Во время прямого доступа процессор останавливается. После вычисления адреса и записи его в регистр адреса в интерфейсный блок поступает запрос на обмен. Если системная магистраль, или дополнительная магистраль, захваченная через окно, свободна, то начинается выдача адреса на магистраль.
Процессор имеет средства коррекции интерфейса, позволяющие менять временные диаграммы интерфейса при помощи внешних схем. Имеется возможность расширения системы команд путем реализации 4 дополнительных команд на системной (скрытой) памяти. Адресация системной и пользовательской памяти не перекрывается. Системная память доступна только при помощи специальных команд.
Процессор принимает команды с опережением. Алгоритм приема команд построен так, что к концу выполнения команды следующая команда уже принята на буферный регистр команд, и начинается прием еще одной команды. При выполнении любых команд, загружающих PC, аппаратно осуществляется повторный прием следующей команды. Для восстановления опережения в этой же команде подготавливается прием еще одной команды. Нарушение опережения происходит и тогда, когда по счетчику команд читается не команда, а данные. В конце команды с адресацией данных по счетчику команд также произвoдится восстановление опережения путем организации чтения двух последующих команд. Дешифратор команд запускается, если команда принята на буферный регистр команд и установлен признак того, что предыдущая команда окончилась. В последней микрокоманде команды запускается блок прерываний, и если есть незамаскированное прерывание, процессор запускает микропрограмму обработки прерывания. Если в поле обмена микрокоманды есть признак обращения к системной магистрали, операционный блок вырабатывает сигнал запроса на обмен, поступающий в интерфейсный блок. Если системная магистраль свободна, интерфейсный блок выполняет цикл обмена по магистрали, а операционный блок в это время может выполнять микрокоманды, не связанные с обменом или связанные с подготовкой к следующему обмену.
Принципы организации интерфейса и пояснения к временным диаграммам
Установкой SYNC в низкий уровень процессор сообщает, что адрес выставлен на системной магистрали. Адрес не снимается и процесс не продолжается, пока на входе AR процессор не получит низкий уровень. В процедуре чтения установкой DIN в низкий уровень процессор сообщает, что выдача адреса окончена и подготовлен прием данных в процессор. Процедура чтения не продолжается до тех пор, пока на входе RPLY не появится низкий уровень. Признаком окончания ввода является установка процессором сигнала DIN в высокий уровень. В процедуре записи признаком наличия данных на магистрали является установка низкого уровня на выходе DOUT. Процесс записи не продолжается, пока на RPLY не появится низкий уровень. Признаком окончания записи является установка на DOUT высокого уровня.
Процессор начинает обмен только тогда, когда свободна магистраль. Признаком того, что системная магистраль свободна, является для процессора наличие на входах DMR, SACK, AR, RPLY высоких уровней. Признаком того, что свободна магистраль, видимая через окно, является для процессора наличие высокого уровня на выводах DMR, SACK, AR, RPLY, WACK.
Если в процессе работы процессор надо остановить, можно воспользоваться установкой сигнала DMR в низкий уровень. При этом процессор выполнит до конца текущий обмен и остановится. После восстановления на входе DMR высокого уровня процессор продолжит выполнение команд с точки останова. При таком останове пользоваться стстемной магистралью нельзя, поскольку процессор будет держать на шине активный высокий уровень. Чтобы иметь возможность пользоваться магистралью во время останова, достаточно после снятия сигнала DIN или через 1/2 Т сигнала CLCO после снятия сигнала DOUT текущего обмена подать на вход SACK низкий уровень. При этом процессор, закончив текущий обмен, остановится, и по всем выходам, кроме CLCO, DMGO, SEL, IAKO, перейдет в третье состояние. При восстановлении на входе SACK высокого уровня выполнение программы будет продолжено с точки останова. Внешняя тактовая частота, поступающая на CLCI, синхронизирует работу всех блоков внутри процессора и транслируется с некоторой задержкой на CLCO. Прием входных и выдача выходных сигналов привязывается к внутренней частоте синхронизации и в дальнейшем рассматривается относительно сигнала CLCO. Сигналы DMR, AR, WACK по переднему и заднему фронтам принимаются в фазе низкого уровня CLCO. Сигнал RPLY принимается в фазе высокого уровня. Сигнал SACK по переднему фронту принимается асинхронно, а по заднему в фазе низкого уровня CLCO. Когда процессор работает с быстрыми внешними устройствами, например с ОЗУ, находящимся на одной плате с процессором, для достижения максимального быстродействия нужно выдачу сигналов AR и RPLY согласовать с их приемом в процессор.
Сигналы DMR и SACK используются в процедуре передачи управления по прямому доступу, а WACK — в процедуре доступа к дополнительной магистрали через окно, и на быстродействие системы влияют мало. Длительность выдачи адреса при адресном обмене регулируется сигналом AR. Чтобы эта фаза была минимальной длительности, сигнал AR нужно выставить низким уровнем в той же фазе сигнала CLCO, в которой сигнал SYNC переходит в низкий уровень. Если это требование выполняется, то процессор с некоторой задержкой относительно отрицательного фронта AR снимет адрес с магистрали.
Для всех видов адресного обмена окончание текущего цикла и переход к новому происходит одинаково. При получении сигнала RPLY низким уровнем процессор выполняет процедуру чтения или записи и снимает свои сигналы DIN, DOUT, SYNC независимо от поступления высокого уровня сигнала RPLY. Если во время текущего цикла обмена процессор сформировал запрос на следующий цикл обмена и при этом нет запроса на ПДП, а сигнал AR снят не позже того, как процессор снимет сигнал DIN или DOUT, то процессор независимо от снятия сигнала RPLY выставит адрес следующего цикла обмена одновременно со снятием сигнала SYNC текущего обмена и начнет следующий обмен. В этом случае, если RPLY от закончившегося обмена не снят, а AR для начавшегося обмена установлен, то процессор выставит сигнал DIN или DOUT в соответствующей им фазе привязки к CLCO только после снятия RPLY от предыдущего обмена. Если процессор не сформировал запрос на следующий обмен в течение текущего цикла обмена, или в это время пришел запрос на прямой доступ к памяти, начало следующего цикла обмена будет зависеть не только от состояния сигнала AR, но и от состояния сигнала RPLY закончившегося обмена или прямого доступа. Если в процессе текущего обмена AR снимается позже снятия сигнала DIN или DOUT, то следующий обмен начнется только после установки AR и RPLY в высокий уровень.
Начало следующего за процедурой приема адреса вектора прерывания обмена определяется высоким уровнем на выводе RPLY.
Поскольку в определенных случаях следующий обмен начинается независимо от состояния сигнала на входе RPLY, то для задержки запуска процессора пользоваться этим сигналом нельзя. С этой целью можно использовать задержку снятия сигнала AR. Если снятие AR производить по снятию сигнала SYNC, то произойдет дополнительная задержка следующего обмена на один период тактовой частоты. Сигналы на временных диаграммах приведены для быстрых внешних устройств (максимальное быстродействие).
Процессор имеет специальную процедуру безадресного чтения (синхронный обмен). Она выполняется при начальном пуске для чтения условий, и по специальной команде. Если в цикле предыдущего обмена сигналы AR (и RPLY в оговоренных выше случаях) были сняты до снятия сигнала SYNC, то при безадресном чтении через 1/2 T CLCO относительно сигнала SYNC процессор выставляет сигналы DIN,SEL, и в это же время устанавливает на AD0-AD15 режим входов. SYNC при этом остается в высоком уровне. RPLY не используется. Длительность фазы низкого уровня DIN,SEL составляет всегда 2Т. Для обеспечения надежного приема информации ведомое устройство должно выставить данные на шину не позже, чем через Т после фронта CLCO, по которому были выданы DIN и SEL. После снятия DIN и SEL процессор через Т/2 выставляет на шину активный высокий уровень или адрес. Если до снятия сигнала DIN не получен запрос на прямой доступ, то после перевода магистрали в активный высокий процессор выставляет на магистраль адрес следующего обмена, если он сформирован процессором.
Адресное чтение применяется для чтения ячейки памяти или регистра внешнего устройства. По окончании выдачи адреса процессор выставляет DIN низким уровнем и одновременно устанавливает на шине режим входов. Если за 64 Т после выставления DIN на RPLY не появится низкий уровень, процессор переводит в высокий уровень SYNC и DIN и прерывается по зависанию. Если RPLY пришел вовремя, то процессор выполняет чтение и сбрасывает DIN и SYNC. Чтобы время между установкой RPLY и сбросом DIN было наименьшим, надо сигна RPLY выставлять в первую половину фазы высокого уровня CLCO. Для надежного приема данные надо выставлять не позже, чем через Т/2 после выставления RPLY и снимать их не ранее снятия DIN. Через Т/2 после снятия DIN процессор выставляет на шине активный высокий или адрес и сбрасывает SYNC. Если AR был снят до сигнала SYNC и не было запросов прямого доступа, процессор после снятия SYNC выставляет адрес в цикле следующего обмена, если обмен сформирован процессором. Если происходит процедура чтения из системной (скрытой) памяти, SEL в фазе выдачи адреса выдается низким уровнем и совпадает по времени с сигналами на шине адреса-данных.
Процедура записи применяется для записи в память или в регистр внешнего устройства. Фаза выдачи адреса такая же, как и при любом адресном обмене. После выдачи адреса сигнал на выходах магистрали переходит в активный высокий и затем в зависимости от метода адресации через 1.5Т или 3.5Т на шину выставляются данные. Через Т после выдачи данных на выводе DOUT появлается низкий уровень. После прихода RPLY прицессор заканчивает запись, снимая сначала DOUT, затем через Т/2 данные и еще через Т/2 SYNC. Если RPLY не выставлен низким за 64 Т после выставления DOUT, процессор снимает DOUT,SYNC и данные с магистрали и прерывается по зависанию. Чтобы интервал между приходом RPLY и снятием DOUT был минимальным, RPLY надо выставлять в первую половину фазы высокого уровня CLCO. Если AR был снят раньше SYNC, и не было запроса прямого доступа, через Т/2 после снятия данных процессор выставляет на шину адрес в цикле следующего обмена. В процедуре записи WTBT выдается низким уровнем в фазе выдачи адреса. Низким уровнем выдается SEL вфазе выдачи адреса при обращении к системной памяти. В фазе выдачи данных WTBT выдается низким уровнем при записи байта и высоким при записи слова. По времени WTBT совпадает с сигналами на выводах адреса-данных.
Чтение-модификация-запись состоит из трех фаз: выдачи адреса, чтения и записи. Выдача адреса как при любом адресном обмене. Фаза чтения-как при адресном чтении, за исключением того, что после сброса DIN не сбрасывается SYNC. Фаза записи начинается только после того, как будет снят RPLY фазы чтения. Минимальный интервал между снятием DIN и выставлением данных в фазе записи равен 3Т. Чтобы не задерживать процедуру обмена, RPLY надо снять в пределах этого интервала. Выполнение фазы записи, окончание цикла обмена и переход к следующему циклу точно такие, как при обычной записи. WTBT выдается высоким уровнем в фазе выдачи адреса и фазе чтения. В фазе записи аналогично обычной записи. AR не влияет на переход от фазы чтения к фазе записи, его сброс влияет только на начало следующего обмена. SEL выдается низким в фазе выдачи адреса, если идет обмен с системной памяью.
Прием адреса вектора прерывания является составной частью обработки векторного прерывания по сигналу VIRQ. При низком уровне на VIRQ, если прерывание не замаскировано и магистраль свободна, процессор начинает процедуру обработки прерывания. -(SP)←PC, -(SP)←PSW, далее чтение адреса вектора прерывания: выставляется DIN и через Т сигнал IAKO. Процессор ждет RPLY в течение 64 Т после установки DIN, если не пришел, то прерывание по зависанию. После прихода RPLY процессор выполняет чтение и снимает DIN. Требования к выставлению данных относительно RPLY и сбросу относительно DIN такие же, как при адресном чтении. SYNC, WTBT, SEL при приеме адреса вектора находятся в высоком уровне. AR не задействован. Начало следующего обмена определяется снятием RPLY. Для того, чтобы между снятием DIN и началом выдачи адреса в следующем цикле обмена была минимальная задержка, RPLY надо снять не позже, чем через 2Т после снятия DIN. VIRQ надо снять не позже загрузки нового PSW, иначе он воспримется как новый запрос на прерывание. Прием адреса вектора прерывания является особым видом безадресного обмена.
Предоставление ПДП
Разрешение на прямой доступ может быть представлено после любого цикла обмена процессора по магистрали, независимо от его вида, в том числе и во время обработки прерываний. DMR принимается процессором при низком уровне CLCO. DMGO выдается в фазе низкого уровня CLCO. Если процессор не ведет обмен в момент поступления DMR, то через 1..1.5 Т после DMR по спаду CLCO выставится DMGO низкий. Если процессор ранее прихода DMR начал обмен, то есть выставил адрес при адресном обмене или DIN при безадресном (в том числе и при чтении адреса вектора) то он выполнит обмен до конца и дает разрешение на прямой доступ по окончании обмена. DMGO выставляется при этом через Т после снятия DIN в процедуре чтения и через 1.5 Т после снятия DOUT в в процедурах записи и чтения-модификации-записи. После процедуры чтения адреса вектора прерывания DMGO будет выставлен не позднее, чем через 1.5 Т после снятия RPLY. При получении DMGO устройство должно выставить SACK и затем снять DMR. Процессор снимает сигнал DMGO в низком уровне CLCO либо при появлении сигнала SACK с задержкой не более Т, либо по снятию DMR через 0.5-1.5 Т. Одновременно с установкой DMGO процессор переводит в третье состояние SYNC, DIN, DOUT, WTBT, AD0-AD15. Чтобы эти выходы вновь стали активными, должны быть сняты SACK, RPLY, AR. После освобождения магистрали устройством процессор начинает выдачу адреса очередного обмена не более, чем через 1.5 Т после снятия последнего из них.
Если адрес обмена попадает в области адресов, отведенные под окна (W1:160000..163777; W2:164000..167777), процессор, прежде чем начать обмен, выставляет запрос окна WRQ1/WRQ2. Если окно свободно, внешняя схема обслуживания окна должна выставить низкий WACK. Только после получения этого сигнала процессор начнет цикл обмена. Чтобы обращение к адресному пространству окон не отличалось от остальной памяти, надо WACK соединить с землей. При этом обмены будут выполняться обычным образом, а сигналы WRQ возникать не будут. WRQ выставляются процессором в фазе низкого CLCO, WACK принимается в фазе низкого CLCO. Не позже, чем через Т после появления WACK процессор снимает WRQ в фазе высокого CLCO и начинает процедуру обмена с окном при условии окончания предыдущего обмена. Если предыдущий обмен не завершен, обмен с окном откладывается до его завершения. WACK должен сниматься не позже 1.5 Т после SYNC процедуры обмена с окном. Сигнал DMR имеет более высокий приоритет, чем сигнал запроса окна. Для защиты памяти окна можно использовать вход WIR: по переходу его в низкий произойдет высокоприоритетное немаскируемое прерывание.
Опытные образцы микросхемы имеют ряд особенностей:
- в процедурах чтения от момента выставления DIN до момента появления данных магистраль должна находиться в "подброшенном” состоянии. Категорически запрещается в это время наличие ложного электрического нуля;
- в процедурах запись и чтение-модификация-запись изменен передний фронт появления данных, сигналов DOUT,WTBT относительно фазы CLCO;
- на входе RPLY необходимо обеспечить привязку сигнала по схеме:
- SACK,RPLY через резисторы по 1..3 кОм на +5;
- прямой выход 533ТМ2 (вывод 9) на RPLY (вывод 27);
- SACK соединить со входом S ТМ2 (вывод 10);
- CLC (20-й вывод) подать на вход C ТМ2 (вывод 11);
- RPLY подать на вход D ТМ2 (вывод 12);
- на вход R ТМ2 подать единичку (вывод 13);
- в процедурах адресных обменов отсчет интервала времени зависания ведется от выставления SYNC;
- прерывание по сигналу WIR прекращает выполнение команды на любой ее фазе, вызывает выработку сигнала общего сброса внутренних блоков процессора и передачу управления по адресу вектора 250 с сохранением в стеке текущего состояния процессора.
Длительность WIR должна быть не менее 4Т, активный — низкий, обработка прерывания происходит после снятия сигнала (переход в высокий уровень).
Процедура начального пуска
Сначала все сигналы в низком уровне. После включения питания не ранее, чем через 40 мс перевести DCLO в высокий уровень. По снятию DCLO на INIT будет выставлен высокий уровень. Еще не менее чем через 70 мс снять ACLO, при этом начнет работать микропрограмма пуска и процессор начнет обмены по магистрали. Во время низкого уровня DCLO процессор сбрасывает в начальное состояние внутренние схемы. После снятия ACLO процессор читает безадресный регистр (SEL), затем формирует адрес вектора начального пуска АВП(15..8)=SEL(15..8), АВП(7..0)=0. PC←(АВП), PSW←2(АВП), проверяет источники прерываний, и если есть незамаскированные, то прерывается, если нет, то грузит очередную команду и начинает выполнение.
PSW
PSW содержит информацию о текущем состоянии процессора.
Бит | Название | Описание |
---|---|---|
0 | C | carry — перенос, устанавливается, если был перенос из самого старшего разряда или при сдвиге за пределы разрядной сетки выдвинулась единичка |
1 | V | overflow — арифметическое переполнение |
2 | Z | zero — нулевой результат |
3 | N | negative — отрицательный результат |
4 | T | trap — бит трассировки: если "1”, то прерывание по 14 ячейке после каждой команды |
5, 6 | не используются | |
7 | Prty | приоритет процессора |
8 | H | halt — признак пультового режима |
В режиме HALT (H=1) во время выдачи адреса на магистраль выдается низкий уровень SEL. В ситуации включения питания, фатальных состояний или выполнения команды HALT (обработки сигнала HALT) после загрузки PC и PSW происходит принудительная установка H=1 для того, чтобы погрузить новые значения PC и PSW из адресного пространства режима HALT. Окончательно режим работы процессора определится значением загружаемого слова состояния.
Изменение PSW при выполнении команд и прерываний:
- MTPS
- PSW (7..5, 3..0) — load
- PSW (4, 8) — keep
- RTI, RTT
- PSW (7..0) — load
- PSW (8) — keep, if new PC < 160000
- PSW (8) — load, if new PC > 157777
- TRAP, IOT, EMT, vector interruptions
- PSW (7..0) — load
- PSW (8) — zeroed
- power on, fatal errors, HALT, STEP, START
- PSW (8..0) — load
Реакция на загрузку в буфер команд кодов FIS: считывается безадресный регистр, если SEL(7)=1, то TRAP TO 10, если нет, то переход в режим HALT по адресу вектора АВП(15..8)=SEL(15..8), АВП(7..0)=00001000.
Алгоритмы выполнения команд режима HALT см. в описании системы команд.
Прерывания происходят только по окончании текущей команды. Только зависание прерывает команду на любой стадии ее выполнения. Источники прерываний: резервный код, запрещенный код (передача управления команде в регистре общего незначения), зависание, Т-бит, низкий уровень HALT или VIRQ, отрицательный фронт ACLO, EVNT, WIR. Установка и очистка бита Т возможна только при выполнении RTT, RTI, STEP, START и при загрузке вектора прерывания. Если бит Т установлен при загрузке вектора прерывания, то первое прерывание по этиому биту произойдет до выполнения первой команды нового процесса. Если прослеживаемая команда RTI, RTT чистит Т-бит, после выполнения команды произойдет прерывание по Т, но в стеке сохранится PSW с очищенным Т- разрядом. Трассируемая команда START, STEP чистит Т, после выполнения прерывание не происходит. START, RTI ставят Т, по выполнении — прерывание. Команда прерывания или HALT чистит Т, прерывания нет. Прерывание или HALT устанавливает Т и по выполнении прерывается. При выполнении трассируемой команды-зависание, новое PSW без Т: прерываний не будет. WAIT игнорирует бит Т.
Приоритеты прерываний:
- вис
- трап то 10
- WIR
- T
- ACLO
- нога HALT
- EVNT
- VIRQ
Двойной вис — зависание в канале при микропрограммной процедуре обработки прерывания.
PSW биты 8, 7 | Маскирует |
---|---|
0 0 | нет маскирования |
0 1 | EVNT, VIRQ |
1 0 | HALT |
1 1 | HALT, ACLO, EVNT, VIRQ |
В режиме USER PC’, PSW’ дублируют основные. При переходе в HALT и установленном бите 7 PSW они замораживаются до сброса бита 7 или 8.
Источник | АВП | Хранение состояния предыдушего процесса |
---|---|---|
вис, запрещ.код | 004 | стек |
резерв.код | 010 | стек |
Т-бит, BPT | 014 | стек |
IOT | 020 | стек |
ACLO | 024 | стек |
EMT | 030 | стек |
TRAP | 034 | стек |
EVNT | 100 | стек |
WIR | 250 | стек |
VIRQ | из канала | стек |
power on | #000 | нет |
вис в HALT | #004 | PC’, PSW’ |
рез. код в HALT | #010 | стек в halt |
Т-бит,BPT в HALT | #014 | стек в halt |
IOT в HALT | #020 | стек в halt |
ACLO в HALT | #024 | стек в halt |
EMT в HALT | #030 | стек в halt |
TRAP в HALT | #034 | стек в halt |
EVNT в HALT | #100 | стек в halt |
HALT, HALT | #170 | PC’, PSW’ |
двойной вис | #174 | PC’, PSW’ |
WIR в HALT | #250 | стек в halt |
вис приема АВП | #274 | PC’, PSW’ |
VIRQ в HALT | из канала | стек в halt |
Примечание: процессор не обрезает старшие биты АВП по VIRQ.
- = SEL (15..8).
Использование очистки разряда разрешения прерывания в CSR устройства может вызвать зависание АВП, если при выполнении этой команды произошло прерывание от этого устройства. Чтобы избежать:
MTPS #200 CLR @#регистр_устройства MTPS #0
КМ1801ВМ2
Технология n-MOS; потребляемая мошность 1.75 Вт. Корпус металлокерамический 40-выводной 2123.40-6
Цоколевка
1 | 0V | общий усилителей шины адреса-данных |
2 | AD7 | 7-й разряд шины адреса-данных, активный — низкий |
3 | AD6 | 6-й разряд шины адреса-данных, активный — низкий |
4 | AD5 | 5-й разряд шины адреса-данных, активный — низкий |
5 | AD4 | 4-й разряд шины адреса-данных, активный — низкий |
6 | AD3 | 3-й разряд шины адреса-данных, активный — низкий |
7 | AD2 | 2-й разряд шины адреса-данных, активный — низкий |
8 | AD1 | 1-й разряд шины адреса-данных, активный — низкий |
9 | AD0 | 0-й разряд шины адреса-данных, активный — низкий |
10 | WRQ(L) | запрос обмена с окном межпроцессорного обмена |
11 | WAKI(L) | разрешение обмена с окном |
12 | DMR(L) | запрос ПДП |
13 | SACK(L) | подтверждение захвата шины ПДП |
14 | DMGO(L) | разрешение ПДП |
15 | CLCO | выход тактовой частоты F(CLCO)=1/2F(CLCI) |
16 | CLCI | вход тактировки |
17 | RPLY(L) | ответ устройства |
18 | DOUT(L) | сопровождение записи |
19 | WTBT(L) | запись/байт |
20 | 0V | общий внутренних схем процессора |
21 | SYNC(L) | синхросигнал обмена |
22 | DIN(L) | сопровождение чтения |
23 | AR(L) | адрес принят |
24 | IAKO(L) | разрешение прерываний |
25 | ACLO(L) | авария сетевого питания — немаскируемое прерывание |
26 | DCLO(L) | авария +5V — сброс схем процессора |
27 | INIT(L) | сброс внешних устройств |
28 | VIRQ(L) | запрос векторного прерывания |
29 | HALT(L) | переключатель работа/пульт. Прерывание в HALT-область. |
30 | EVNT | прерывание по таймеру (фронтом) по вектору 100(octal) |
31 | SEL(L) | выбор безадресного регистра/обращение к системному ЗУ |
32 | AD15 | 15-й разряд шины адреса-данных, активный — низкий |
33 | AD14 | 14-й разряд шины адреса-данных, активный — низкий |
34 | AD13 | 13-й разряд шины адреса-данных, активный — низкий |
35 | AD12 | 12-й разряд шины адреса-данных, активный — низкий |
36 | AD11 | 11-й разряд шины адреса-данных, активный — низкий |
37 | AD10 | 10-й разряд шины адреса-данных, активный — низкий |
38 | AD9 | 9-й разряд шины адреса-данных, активный — низкий |
39 | AD8 | 8-й разряд шины адреса-данных, активный — низкий |
40 | +5V | питание |
Отличия от 1806ВМ2
Выходная тактовая частота равна половине входной. Максимальная тактовая частота ПРОЦЕССОРА (выходная!) равна 10МГц по ТУ, реально до 12-15МГц при хорошей форме входного тактового сигнала. Паспортное быстродействие 1 млн регистровых сложений в секунду, реально до 2-3 млн. Паспортное быстродействие команд умножения 100000 оп/с. Выход запроса окна-один; адреса окна: 160000-163777; вход прерывания от окна отсутствует; изменены времена тайм-аутов шины: зависание магистрали возникает после 54 тактов процессора; процедура безадресного чтения: 3такта-чтение, затем 6 тактов шина свободна, затем выдача адреса следуюего обмена (минимум 2 такта процессора). Рекомендуется формировать на всех выходах процессора и на двунаправленных выводах потенциал 3-3.5В делителями с сопротивлением 2кОм-560 Ом в зависимости от емкости нагрузки и тактовой частоты. При сопротивлении делителей 560 Ом измеренный на макете потенциал нуля не превышал 0.5В. Процессор как правило выдерживает короткое замыкание произвольного одиночного вывода на любой из проводников питания (0В,+5В); ни один из исследовавшихся экземпляров процессора не удалось выжечь незаземленным паяльником (40Вт,220В); на торце процессора имеется технологическая площадка-вывод подложки. Нормальное напряжение на ней около −2В, замеренное прибором со входным сопротивлением 1МОм. Для получения максимального быстродействия (более 2 млн оп/с) может потребоваться подключить между общим проводом и этой плошадкой керамический конденсатор 47н. Некоторые процессоры имеют заниженное значение отрицательного смещения на подложке (менее 1.5 В), что приводит к перегреву процессора на тактовых частотах выше 50 %-75 % от максимальной. Подключение конденсатора мжду подложкой и общим проводом увеличивает смещение на подложке на 15-20 %. В настоящее время выпускаются процессоры групп А и Б по тактовой частоте: группа А до 10 МГц и группа Б до 8 МГц CLCO по ТУ. Процессоры группы Б маркируются точкой на корпусе возле даты изготовления. Для получения в системе команд набора FIS (плаваюшая арифметика) рекомендуется использовать ПЗУ 1801РЕ2.055, его код расположен с адреса 140000. Для нормальной работы программы этого ПЗУ нужно наличие около 1К памяти с адреса 160000 в пультовой области. Само ПЗУ должно также находиться в пультовой области. Программные загрузчики переписываются перед запуском с адреса 010000q в пользовательское ОЗУ. Временные диаграммы процессоров и стандартных интерфейсов имеются в файле INTERF.HLP.
КМ1801ВМ3
16-разрядный микропроцессор. Технология n-MOS. На кристалле около 200000 вентилей. Корпус металлокерамический 2136.64-1.
Адресное пространство 4Мбайт+32кбайт ПЗУ и ОЗУ пультового режима Быстродействие выполнения операций типа регистровых сложений по разным источникам до 1.5-2 млн оп/с, реально, при оптимальной схеме включения, вероятно, до 5 млн оп/с и более. Стандарту соответствующего класса процессоров фирмы DEC соответствует не полностью, поскольку значительная часть аппаратуры вынесена в кристалл КМ1801ВМ4, в котором реализованы сопроцессор плавающей запятой и примерно половина стандартного диспетчера памяти. Имеет совместимые со стандартом особенности пультового режима. Потребляемая мощность 1.5-2.0 Вт по разным источникам. Корпус с радиатором способен отвести до 4-6 Вт, и, учитывая примерно линейный рост потребления с ростом тактовой частоты на больших частотах, быстродействие процессора ограничено по перегреву примерно 5-6 млн регистровых сложений/с. Структура процессора несколько отличается от описанных выше. Передача информации в операционный блок происходит по двум шинам чтения и отдельной шине записи, что позволило при наличии быстродействующего АЛУ сократить время цикла работы блока. Команды умножения, деления, параметрических двигов выполняютя с помощью регистра — счетчика тактов, что уменьшило время выполнения команд расширенной арифметики по сравнению с чисто микропрограммным методом. Увеличена глубина конвейера до 4 команд; цикл преобразования виртуального адреса в физический не занимает тактов в цикле обращения к памяти.
Разводка выводов:
1 | o | DIN(L) | ввод |
2 | o | DOUT(L) | вывод |
3 | oi | SYNC(L) | сиа |
4 | i | SSYNC(L) | адрес принят (логика отлична от ВМ2) |
5 | io | RPLY(L) | сип |
6 | o | DMGO(L) | разрешение прямого доступа |
7 | io | SACK(L) | подтверждение захвата шины |
8 | io | DMR(L) | запрос ПДП |
9 | - | GND=42 | земля |
10 | io | AD0 | шина адреса/данных |
11 | io | AD1 | шина адреса/данных |
12 | io | AD2 | шина адреса/данных |
13 | io | AD3 | шина адреса/данных |
14 | io | AD4 | шина адреса/данных |
15 | io | AD5 | шина адреса/данных |
16 | io | AD6 | шина адреса/данных |
17 | io | AD7 | шина адреса/данных |
18 | io | AD8 | шина адреса/данных |
19 | io | AD9 | шина адреса/данных |
20 | io | AD10 | шина адреса/данных |
21 | io | AD11 | шина адреса/данных |
22 | io | AD12 | шина адреса/данных |
23 | io | AD13 | шина адреса/данных |
24 | io | AD14 | шина адреса/данных |
25 | io | AD15 | шина адреса/данных |
26 | o | A16 | шина адреса |
27 | o | A17 | шина адреса |
28 | o | A18 | шина адреса |
29 | o | A19 | шина адреса |
30 | o | A20 | шина адреса |
31 | o | A21/NS | шина адреса/признак чтения команды/данных |
32 | - | GND1=38 | земля |
32.1 | - | CRYSTALL | подложка |
33 | io | INIT(L) | сброс |
34 | o | BS(L) | выбор старшего банка памяти (страницы ввода/вывода) |
35 | o | SEL(L) | признак безадресного чтения |
36 | o | TA(L) | выдача адреса в цикле чтения |
37 | o | UMAP(L) | разрешение преобразования адресов поля DATA |
38 | - | GND1=32 | земля |
39 | - | - | не подключены к кристаллу |
40 | - | - | не подключены к кристаллу |
41 | - | - | не подключены к кристаллу |
42 | - | GND2=9 | земля |
43 | + | Ucc=64 | +5В |
44 | i | EVNT | вход прерывания по таймеру |
45 | i | ET(L) | разрешение зависания магистрали |
46 | i | ACLO(L) | авария сетевого питания |
47 | i | HLT(L) | вход прерывания в моду HALT |
48 | i | IRQ3(L) | запрос векторного прерывания |
49 | i | IRQ2(L) | запрос векторного прерывания |
50 | i | IRQ1(L) | запрос векторного прерывания |
51 | i | IRQ0(L) | запрос векторного прерывания |
52 | i | DCLO(L) | авария постоянного питания |
53 | io | FPPTRP(L) | прерывание от сопроцессора (вход/выход) |
54 | i | FPPRD(L) | вход готовности сопроцессора |
55 | o | HLTM(L) | индикация пультового режима |
56 | i | DRA(L) | готовноть данных сопроцессора |
57 | i | FL | двойная точность |
58 | i | FD | длинное целое |
59 | i | WO | режим начального пуска |
60 | i | CLC | тактировка |
61 | o | LIN(L) | загрузка команды в сопроцессор |
62 | o | IAKO(L) | разрешение прерывания |
63 | o | WTBT(L) | запись/байт |
64 | + | Ucc=43 | +5В |
Операционный блок предназначен для приема данных и хранения их в регистрах, приема и расшифровки микрокоманды, формирования виртуальных адресов и операндов, выполнения арифметических операций между регистрами и константами и между парами регистров, выдачи данных на системную магистраль, формирования адресов векторов прерываний, формирования состояния. Операционный блок содержит 16 основных регистров, из них 8 — регистры общего назначения, один регистр — счетчик команд, один-слово состояния процессора, остальные шесть — служебные регистры процессора. Программно доступны все регистры общего назначения и слово состояния процессора.
Блок микропрограммного управления преобразует команду в последовательность микрокоманд. Он состоит из:
- ПЛМ предварительного разбора команд;
- основной ПЛМ;
- ПЛМ анализа состояния;
- блока синхронизации.
Блок вырабатывает последовательность 30 — разрядных микрокоманд и управляет работой всех блоков. Быстродействующая ПЛМ предварительного разбора команд параллельно с загрузкой кода команды формирует начальный адрес микропрограммы в основной ПЛМ. Основная ПЛМ хранит алгоритмы выполнения всех команд. ПЛМ анализа состояния формирует сигналы, приводящие к переходу к новой последовательности команд. Блок синхронизации синхронизирует работу всего блока синхронизации.
Блок прерываний предназначен для организации приоритетных прерываний и вырабатывает соответствующие сигналы для блока микропрограммного управления и операционного блока. Блок прерываний формирует адрес вектора прерываний, сигнал HALT перехода к пультовому режиму, сохраняет информацию об источнике прерывания до окончания обработки. Фатальные аппаратные ошибки магистрали и диспетчера памяти вызывают немедленное прерывание на любой стадии выполнения команды. Анализ других аппаратных прерываний (внешние сигналы HALT, EVNT, VIRQ, переполнение стека в моде KERNEL…) производится после завершения очередной команды в соответствии с приоритетом.
Приоритеты обслуживания:
- HALT instruction
- нечетный адрес команды
- ошибка диспетчера памяти
- зависание магистрали
- команды прерываний
- Т-бит в PSW
- переполнение стека
- авария источника питания
- внешний сигнал HALT
- запрос прерывания от таймера (маскируется при приоритете процессора >5)
- IRQ3 (маскируется при приоритете процессора >6)
- IRQ2 (маскируется при приоритете процессора >5)
- IRQ1 (маскируется при приоритете процессора >4)
- IRQ0 (маскируется при приоритете процессора >3)
- выполнение очередной команды.
Адреса векторов прерываний:
004 | зависание магистрали, переполнение стека |
010 | резервная инструкция |
014 | BPT |
020 | IOT |
024 | выключение питания |
030 | EMT |
034 | TRAP |
100 | таймер |
244 | сопроцессор плавающей запятой |
250 | ошибка диспетчера памяти |
При получении сигналов IRQ процессор считывает вектор прерывания из магистрали. При возникновении фатальной ошибки (кроме диспетчера памяти) при выполнении микропрограммы обработки прерывания, процессор переходит в моду HALT. Для упрощения аппаратуры адрес микропрограммы обработки двойного зависания совпадает с адресом микропрограммы начального пуска.
Процедура начального пуска выполняется различно в зависимости от потенциала на входе WO. Если при включении процессора после выработки блоком питания сигналов DCLO,ACLO на WO низкий уровень, в PSW загружается восьмиричное 340, в PC адрес 173000 и начинается исполнение команд. Если при включении на WO присутствовал высокий уровень, PSW загружается содержимым ячейки 26, в PC заносится содержимое ячейки 24 и начинается выполнение программы; последний режим позволяет выполнять процедуру восстановления системы после сбоя питания. Если при включении процессора был установлен сигнал HLT(L), то процессор выйдет в пультовый режим.
В режим HALT процессор выходит, если:
- выполнена команда HALT в моде KERNEL;
- возникла двойная ошибка шины;
- внешний сигнал HALT имеет низкий уровень и нет более приоритетных прерываний.
При входе в моду HALT процессор загружает в регистр R1Oq константу 100000, используя его в качестве указателя стека; загружает в этот стек содержимое слова состояния и счетчика команд, заносит в слово состояния константу 340, обнуляет счетчик команд, включает диспетчер памяти на преобразование адресов в 22-разрядные физические и начинает исполнять программу. В режиме HALT блокируются прерывания от диспетчера памяти. При возникновении ошибки шины не происходит прерывания, а в PC заносится виртуальное значение 4. При обращении к программе HALT — моды процессор вырабатывает сигнал SEL , позволяющий не занимать под пультовый режим обычное адресное пространство. Для поддержки пультового режима в диспетчер памяти введены четыре дополнительных регистра, три из них имеют постоянные значения, а один доступен по чтению и записи по адресу 172512 (виртуальному, в HALT-моде). Если в режиме HALT процессор обращается к младшей половине памяти, то виртуальный адрес транслируется в физический без изменений, при этом одновременно с физическим адресом выдается сигнал SEL. Если в этом режиме процессор обращается к четверти памяти, начинающейся с виртуального адреса 100000, для получения физического адреса виртуальный адрес складывается с содержимым программно доступного регистра PARH2 с (виртуальным) адресом 172512, сдвинутым влево на 6 разрядов. Адресация области регистров внешних устройств в физическом адресном пространстве происходит аналогично через программно доступный регистр PARH3, в который предварительно заносится (процессором) код 177600;
В пультовом режиме нельзя использовать прерывания и команды MUL, ASH, ASHC, DIV, EMT, TRAP, IOT, BPT, MTPD, MTPI, MFPD, MFPI. Выход из пультового режима происходит по командам RTI, RTT.
Команда MTPS выполняется процессором только в моде USER. Для доступа к слову состояния в моде KERNEL используются непосредственные засылки в слово состояния, которое откликается на магистрали по адресу 17777776; в слове состояния биты соответствуют стандарту. Процессор не поддерживает режим SUPERVISOR.