====== Описание процессоров серии 1801/1806 ====== Внимание! Обе серии имеют большой набор БИС обвязки, реализованных на универсальных вентильных матрицах 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 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.