Микросхемы 4
BitCPU и их отечественные аналоги
7493 |
ИЕ5 |
Двоичный счетчик (4 р ) |
74193 |
ИЕ7 |
Синхр. реверс . счетчик с парал. загрузкой (4 р) |
74670 |
ИР26 |
Регистровый файл 4 х 4 с тремя сост . на выходе |
74175 |
ТМ8 |
Четыре D-триггера |
7485 |
СП1 |
Компаратор A < = > B |
74374 |
ИР23 |
8-разрядный регистр (3 состояния) |
74161 |
ИЕ10 |
Синхронный двоичный счетчик (4 р ) |
74LS124 |
ГГ1 |
Два генератора управляемые напряжением |
74LS624 |
ГГ6 |
Генератор управляемый напряжением |
2716 |
573РФ2,5 |
ПЗУ (EPROM – 2К x8) |
2114 |
573РУ8 |
Статическое ОЗУ (RAM – 2Кx8) |
74LS244 |
555АП5 |
2 буферных элемента с тремя сост . на выходе |
74LS240 |
555АП3 |
2 буферных элемента с инвер. и тремя сост . на выходе |
Задающий генератор
Задающий генератор выполнен на микросхеме 74LS624(ГГ6), хотя можно применить любой другой
. 74LS624 – это ТТЛ мультивибратор. 74LS124(ГГ1) полностью ему идентичен, а 74LS629(ГГ2) – сдвоенный мультивибратор. Эта микросхема выбрана из-за того, что у неё есть вход разрешения и два противофазных выхода, один инвертированный относительно другого. Когда таймер запрещен (как, например, в режиме сброса), сигнала на выходе таймера нет. Когда мультивибратор разрешен, первый его цикл гарантированно 100%–ной длительности. Инвертированный выход, используется для синхронизации CPU. Таким образом, когда сигнал сброса снимается, выход мультивибратора удерживает низкий уровень на половину цикла. Это позволяет всем компонентам схемы CPU прийти в готовность, прежде, чем выполнение программы началось.Переключатель на три позиции выбирает одну из трех рабочих частот. Эти частоты задающего генератора составляют 10
Hz, 400 Hz и 165 kHz. Две более низких частоты, используются для отладки программ. Частота 10 Hz допускает наблюдение за содержимым аккумулятора, флагов, адреса и кода инструкции, в течение выполнения программы.Управление
Микросхема 74LS93(ИЕ5) используется для управления логикой микрокоманд в ПЗУ 2716(573РФ2,5 – 2К
x8). Код для каждой инструкции составляет четыре 16–битовых слова. Программа формируется из инструкций. Тем не менее, CPU нужно знать как выполнять эти инструкции, и это обеспечивает логика микро инструкций, или код микрокоманд. Всякий раз, когда программная инструкция выполняется, четыре 16 битовых слова кода микро инструкции извлекаются из ПЗУ. Выходы ПЗУ (EPROM) используются, чтобы управлять переключением CPU и это будет обсуждено далее.Первая группа инструкции микрокода по адресам 0 – 3 — программный код выборки инструкции
(FETCH). Инструкция выборки извлекает программную инструкцию из программной памяти. Инструкция выборки всегда выполняется перед каждой программной инструкцией, чтобы выбрать инструкцию из программной памяти. Инструкция выборки не должна никогда вызываться из программы, она должна быть использована только непосредственно CPU. Остальные инструкции CPU располагаются по адресам 4 – 7, 8 – 11 и т.д.Когда счетчик импульсов
74LS93(ИЕ5) работает, два младших бита, A и B, которые подключаются к строкам адреса A0 и A1 ПЗУ, определяют циклы (от одного до четырех) выборки 16–битового слова микрокоманды. В тактах от 0 до 3 выполняется инструкция выборки. В течение следующих четырех тактов, состояние выхода C счетчика – высокое. Выход C подключается к группе четырех вентилей И. Это позволяет любому коду через входы вентилей И, появиться на линиях адреса EPROM A2 — A5 (в противном случае они = 0). Код на входах вентилей И (обозначенный на схеме как INST0 — INST3) — программный код инструкции из памяти программы. Коды инструкции программы использованы в качестве смещения, чтобы выбрать соответствующую группу из четырех, 16–битных кодов микрокоманд.В итоге, в первые такты (0—3) выполняется микрокод выборки, чтобы выбрать программную инструкцию и следующие такты (4—7) выполняется программная инструкция. Процесс повторяется снова на тактах 8—11 и 12—15. Поскольку выход
D счетчика не использован (он не имеет значения), то на выходах A, B и C повторяется та же последовательность импульсов.Выходы
EPROM подключаются к различным микросхемам в схеме CPU в качестве сигналов синхронизации: разрешения и стробирования. Это входы счётчиков, стробы для счета в прямом и в обратном направлении, входы загрузки счетчика на 74LS193(ИЕ7) использованного в качестве аккумулятора, входы блокировки на различных защелках типа 74LS175(ТМ8) и так далее.Поскольку микросхемы EPROM включены не совсем так, как рекомендуется производителем, то когда выход 2716(573РФ2,5 – 2К
x8) содержит сигнал низкого уравня для более чем одного цикла счета (то есть содержит нули), есть сбой на выходе, когда адрес изменяется. Этот сбой выглядит на экране на осциллографа следующим образом:Конечно, эти выбросы
вызывают переключения в CPU, когда они не нужны. Выбросы не появляются, когда выход EPROM находится в состояние высокого уровня. Тогда, для решения проблемы следует удерживать все выходы EPROM в состоянии высокого уровня. Когда выход должен быть в состоянии низкого уровня для одного такта, на выход устанавливается инвертор.Есть ситуации, когда один из выходов должен быть в низким уровне для трех тактов (во время загрузки памяти и регистра – аккумулятора). Для устранения возможных сбоев из-за выбросов используются
D–триггеры, включенные как счетные триггеры.АЛУ
АЛУ — это арифметически–логическое устройство
CPU. Оно в данном случае не способно выполнять сложную арифметику. Аккумулятор может увеличиваться и уменьшаться на 1. Также, аккумулятор можно сравнить с одним из 4–разрядных регистров или 4–битной величиной в программном коде.Инструкция формируется из четырех битового кода инструкции и дополнительных четырех бит данных программы. Эти программные данные могут загружаться в аккумулятор или могут сравниваться с аккумулятором. Данные не могут быть записаны обратно в память программ во время выполнения.
Аккумулятор
Аккумулятор выполнен на микросхеме 74LS193(ИЕ7), которая является четырех битным, реверсивным счетчиком, с возможностью параллельной загрузки данных. Любые данные, поступающие из программной памяти или из устройства ввода, вначале загружаются в аккумулятор. Также, четыре регистра могут быть прочитаны и записаны через аккумулятор. Когда аккумулятор загружается, содержимое источника данных появляется на шине данных (они все тристабильние устройств) за три такта генератора. Аккумулятор загружается во второй (средний) такт цикла. Это сделано так, чтобы гарантировать, что информация на входах 74LS193(ИЕ7) стабильна, когда данные загружаются.
Регистры
Регистры выполнены на микросхеме 74LS670(ИР26), которая является аналогом
74LS170, но имеет тристабильные выходы. Это файл регистров 4 x 4 (четыре, 4 битовых слова). Адреса отдельных регистров сохраняются в четырех битовом регистре-защелке 74LS175(ТМ8). Адрес (или номер) регистра записывается в него из аккумулятора по инструкции REG. Входные и выходные адреса независимы друг от друга. Когда регистр прочитан, выход регистра активизируется на шине данных пока аккумулятор загружается. Адреса регистра формируются следующим образом:Четырех
-битовое слово: RRWWWW - Write address.
RR - Read address.
00 - Register A
01 - Register B
10 - Register C
11 - Register D
Сравнение аккумулятора и флаги
Аккумулятор
можно сравнивать с 4-битной величиной в программной памяти или регистре. Когда сравнивается 4-битная величина, программная память данных (2114) активизируется на шине данных на три такта, пока установлена блокировка флагов. Аналогично, чтобы сравнить аккумулятор с регистром, содержимое регистра активизируется на шине данных на три три такта, пока блокировка флагов установлена.Микросхема 74LS85(СП1) — четырех битовый компаратор величины, используется для операций сравнения. У него есть три выхода: менее чем, равно и более чем. Это дает нам три соответствующих флага. Выход 74LS85(СП1) запоминается в регистре-защелке 74LS175(ТМ8), когда выполняется инструкция CMPL или CMPR. Группа вентилей И и ИЛИ используются для выполнения инструкции JMP, когда данный флаг установлен. Выход LTCH SEG последнего вентиля ИЛИ высоким уровнем загрузит регистр-защелку сегмента адреса программы содержимым аккумулятора. Выходы JMPL, JMPE и JMPG, соединенные со входами вентилей И, определяют какой флаг проверить для перехода. Если флаг устанавливается, регистр сегмента программы загружается, вызывая программный переход на другой программный сегмент.
Ниже приведен список доступных инструкций
Code |
Numonic |
Description |
1 |
LIT |
Copy a literal value from program memory to the accumulator. Скопировать значение ниббла из программной памяти в аккумулятор |
2 |
LOAD |
Copy a value from a register to the accumulator. Скопировать значение из регистра в аккумулятор. |
3 |
STORE |
Copy the value in the accumulator to a register. Скопировать значение аккумулятора в регистр. |
4 |
INC |
Increment the accumulator by one. Увеличить значение аккумулятора на единицу. |
5 |
DEC |
Decrement the accumulator by one. Уменьшить значение аккумулятора на единицу. |
6 |
REG |
Copy the value in the accumulator to the register address latch. Скопировать значение аккумулятора в селектор номера регистра (выбрать регистр). |
7 |
CMPL |
Compare the accumulator to a literal value. Sets flags. Сравнить значения аккумулятора и ниббла. Выставить флаги. |
8 |
CMPR |
Compare the accumulator to a register. Sets flags. Сравнить значения аккумулятора и регистра. Выставить флаги. |
9 |
RST |
Resets the program counter. Устанавливает программный счетчик в 0. |
10 |
JUMPL |
Copy the value in the accumulator to the segment register when the less than flag is set. Скопировать значение аккумулятора в сегментный регистр, когда флаг менее чем установлен. |
11 |
JUMPE |
Copy the value in the accumulator to the segment register when the equal flag is set. Скопировать значение аккумулятора в сегментный регистр, когда флаг равно установлен. |
12 |
JUMPG |
Copy the value in the accumulator to the segment register when the greater than flag is set. Скопировать значение аккумулятора в сегментный регистр, когда флаг более чем установлен. |
13 |
IN |
Copy the value from the input to the accumulator. Скопировать значение порта ввода в аккумулятор. |
14 |
OUT |
Copy the value in the accumulator to the output latch. Скопировать значение аккумулятора в порт вывода. |
15 |
NOP |
No operation. Нет операции. |
Как видно из таблицы, существуют 15 инструкций показанных здесь вместо 16 возможных. Еще одна инструкция, ВЫБОРКА (
FETCH), всегда используется логикой микрокоманд в тактах 1 – 3 и никогда не должна использоваться программой.Память и адресация
Программная память
хранится в статических ОЗУ (RAM 2114) и адресуется счетчиком команд и сегментным регистром. Адрес памяти защелкивается в течение цикла выборки и держится в течение выполнения инструкции. Защелкивание адреса памяти необходимо поскольку счетчик команд и сегментный регистр могут измениться, когда инструкция выполнена (в течение RESTART–а или инструкций JUMP). Новые значения в счетчике команд и сегментном регистре (если они есть) будут эффективными в течение следующего цикла выборки.Адресация
Счетчик Команд
– 74LS161(ИЕ10) четырех битовый счетчик. Функция загрузки 74LS161(ИЕ10) не использована, но сброс (очистка) счетчика активным низким уровнем, используется. В ходе выполнения программы, счетчик команд увеличивается для каждой инструкции на 1 и составляет четыре младших бита адреса памяти. Счетчик Команд может обнуляться в течение сброса CPU (RESET) или инструкцией RESTART. Счетчик Команд также обнуляется, когда изменяется сегментный регистр. Вентиль И на входе сброса счетчика 74LS161(ИЕ10) пропускает команду сброса как от CPU, так и по инструкции RESTART, для обнуления счетчика команд.Сегментный регистр
– 74LS175(ТМ8) четырех битовый регистр–защелка. Он обеспечивает четыре старших бита адреса памяти. Сегментный регистр загружается из аккумулятора в течение инструкций JUMPLess, JUMPEqual или JUMPGreater если соответствующий флаг установлен.Адрес памяти
заносится в восьмибитный регистр–защелку – 74LS374(ИР23). Адрес удерживается регистром–защелкой в течение выполнения инструкции и изменяется в течение цикла выборки. Выходы регистра 74LS374(ИР23) тристабильные и устанавливаются в высоко–импедансное (Z) состояние, когда память записывается программой.Память
Память программ
выполнена на статических ОЗУ RAM 2114 (~ 573РУ8). RAM 2112 также могут использоваться. Поскольку шина адреса составляет лишь восемь бит, программа ограничена 256 инструкциями. Адрес удерживается регистром–защелкой адреса 74LS374(ИР23) в течение выполнения программы или выдаётся из интерфейса программиста в процессе программирования. ОЗУ данных инструкции подключается к шине данных, по которой его содержимое может загружаться в аккумулятор. ОЗУ кода команды инструкции подключается к схеме выборки микрокоманды и используется в качестве смещения для загрузки кода микрокоманд. Вентили И на используются, для формирования соответствующих сигналов выборки и записи для микросхем ОЗУ RAM 2114. Сигнал ЗАПИСИ ПРОГРАММЫ низкого уровня (/PRG WRITE) от интерфейса программиста осуществляет как выборку памяти, так и запись в неё. Выходы микросхем ОЗУ 2114 тристабильные и устанавливаются в высоко–импедансное (Z) состояние, когда ОЗУ не выбрано. Во время выполнения программы времени, ОЗУ кода инструкции программы всегда выбрано (режим чтения), в то время как ОЗУ данных инструкции выбирается для чтения только, чтобы загрузить аккумулятор нибблом (полубайтом) или для сравнения аккумулятора с величиной полубайта в памяти.Соединения с другими схемами
Вот листинг соединений с другими схемами.
/RESET |
Сигнал сброса низкого уровня. |
INC PC |
Сигнал с активным высоким уровнем для увеличения программного счетчика (от EPROM). |
/RESTART |
Сигнал низкого уровня для сброса программного счетчика (от EPROM). |
STB SEG |
Сигнал с активным высоким уровнем для защелкивания адреса сегмента в сегментном регистре (от ALU). |
STB INSTR |
Сигнал с активным высоким уровнем для защелкивания инструкции программы в регистр инструкции (от EPROM). |
/E INST DATA |
Сигнал низкого уровня для выдачи данных программы на шину данных (от EPROM). |
/RUN MODE |
Сигнал низкого уровня для разрешения защелки адреса по адресной шине (от интерфейса контроля / программирования). |
/PRG WRITE |
Сигнал низкого уровня для записи в память программ (от интерфейса контроля / программирования). |
Instr 0 — Instr 3 |
Линии Кода Инструкции из памяти программ. Также подключены к интерфейсу программирования. |
Data 0 — Data 3 |
Шина Данных от аккумулятора. Также подключена к интерфейсу программирования. |
AC 0 — AC 3 |
От аккумулятора. Подключены к интерфейсу программирования. |
ADR 0 — ADR 7 |
Адрес памяти из интерфейса программирования. |
Ввод / Вывод
Электрическая Схема Ввода/Вывода довольно проста. Выходные данные защелкиваются в 74LS175(ТМ8) и выводятся через половину буфера 74LS244(АП5). Аналогично входные данные вводятся через другую половину буфера 74LS244(АП5). При чтении из устройства ввода, данные должны быть активным на шине данных в течение трех тактов, пока не будет загружен аккумулятор.
Образцы Программ
Это образцы программы, которые не делают ничего более полезного, чем вывод данных в порт. Они не являются практически полезными приложениями, а предназначены продемонстрировать и протестировать возможности
CPU.Первая программа
просто загружает величину из регистра, увеличивает её, выводит в порт и записывает величину обратно в регистр. Процесс повторяется непрерывно. К порту выводу подключаются 4 светодиода. (Оригинал программы исправлен.)Numonic Address Data Instruction Comments --------------------------------------------------------------------------- Runs in segement zero. LIT 0 0000 0000 0000 0000 Put 0 in the accumulator. REG 0000 0001 0000 0110 Select register A. LOAD 0000 0010 0000 0010 Load value into accumulator from register A. OUT 0000 0011 0000 1110 Send accumulator value to output. INC 0000 0100 0000 0100 Increment accumulator. STORE 0000 0101 0000 0011 Store accumulator back to register A. RST 0000 0110 0000 1001 Restart program counter.
Вторая программа
хранит последовательность величин в регистрах и затем выводит их по порядку. Результирующий эффект является выводом в порт высокого уровня в порядке 1, 2, 4, 8. Программа непрерывно выполняется в сегментах 2 – 3. Это можно увидеть, когда порту выводу подключаются 4 светодиода.Numonic Address Data Instruction Comments --------------------------------------------------------------------------- Runs in 4 memory segments. Segment 0. Loads registers A and B. LIT 0 0000 0000 0000 0001 Put 0 in the accumulator. REG 0000 0001 0000 0110 Select register A for write. LIT 1 0000 0010 0001 0001 Put 1 in the accumulator. STORE 0000 0011 0000 0011 Put 1 in register A. LIT 1 0000 0100 0001 0001 Put 1 again in the accumulator. REG 0000 0101 0000 0110 Select register B for write. LIT 2 0000 0110 0010 0001 Put 2 in the accumulator. STORE 0000 0111 0000 0011 Put 2 in register B. CMPL 0000 1000 0010 0111 Compare to last accumulator value. Set equal flag. LIT 1 0000 1001 0001 0001 Put 1 in the accumulator. JUMPE 0000 1010 0000 1011 Jump to segment 1. Segment 1. Loads registers C and D. LIT 2 0001 0000 0010 0001 Put 2 in the accumulator. REG 0001 0001 0000 0110 Select register C for write. LIT 4 0001 0100 0100 0001 Put 4 in the accumulator. STORE 0001 0011 0000 0011 Put 4 in register C. LIT 3 0001 0100 0011 0001 Put 3 in the accumulator. REG 0001 0101 0000 0110 Select register D for write. LIT 8 0001 0110 1000 0001 Put 8 in the accumulator. STORE 0001 0111 0000 0011 Put 8 in register D. CMPL 0001 1000 1000 0111 Compare to last accumulator value. Set equal flag. LIT 2 0001 1001 0010 0001 Put 2 in the accumulator. JUMPE 0001 1010 0000 1011 Jump to segment 2. Segment 2. Sends registers A and B to output. LIT 0 0010 0000 0000 0001 Put 0 in the accumulator. REG 0010 0001 0000 0110 Select register A for read. LOAD 0010 0010 0000 0010 Load register A to accumulator. OUT 0010 0011 0000 1110 Output accumulator (register A). LIT 4 0010 0100 0100 0001 Put 4 in the accumulator. REG 0010 0101 0000 0110 Select register B for read. LOAD 0010 0110 0000 1010 Load register B to accumulator. OUT 0010 0111 0000 1110 Output accumulator (register B). CMPR 0010 1000 0000 1000 Compare accumulator to register. Set equal flag. LIT 3 0010 1001 0011 0001 Put 3 in the accumulator. JUMPE 0010 1010 0000 1110 Jump to segment 3. Segment 3. Sends registers C and D to output. LIT 8 0011 0000 1000 0001 Put 8 in the accumulator. REG 0011 0001 0000 0110 Select register C for read. LOAD 0011 0010 0000 0010 Load register C to accumulator. OUT 0011 0011 0000 1110 Output accumulator (register C). LIT 12 0011 0100 1100 0001 Put 12 in the accumulator. REG 0011 0101 0000 0110 Select register D for read. LOAD 0011 0110 0000 1010 Load register D to accumulator. OUT 0011 0111 0000 1110 Output accumulator (register D). CMPR 0011 1000 0000 1000 Compare accumulator to register. Set equal flag. LIT 3 0011 1001 0010 0001 Put 2 in the accumulator. JUMPE 0011 1010 0000 1110 Jump to back to segment 2 - loop. --------------------------------------------------------------------------- Детали системы микро-команд. Таблица начинается с нулевого адреса и увеличивается на 1 в каждой строке, содержа в строке четыре 16-битных кода для каждой инструкции CPU. ----------------------------------------------------------------------------------------- ----------------ROM 0---------------- ----------------ROM 1---------------- D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 ----------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------- /E HEX LTCH INC /LD /INC /DEC LTCH /WR LTCH /RST LTCH /RD INS /E ROM INS PC ACC ACC ACC REG REG FLAG JMPL JMPE JMPG PC OUT REG DATA INP 0 1 ----------------------------------------------------------------------------------------- FETCH 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7F FF 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- LIT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 FF FD 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 FF FD ----------------------------------------------------------------------------------------- LOAD 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 FF FB 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 FF FB ----------------------------------------------------------------------------------------- STORE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 FD FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- INC 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 EF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- DEC 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 F7 FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- REG 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 FB FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- CMPL 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 FF FD 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 FE FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 FF FD ----------------------------------------------------------------------------------------- CMPR 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 FF FB 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 FE FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 FF FB ----------------------------------------------------------------------------------------- RST 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 FF EF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- JUMPL 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 FF 7F 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 FF EF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- JUMPE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 FF BF 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 FF EF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- JUMPG 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 FF DF 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 FF EF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF ----------------------------------------------------------------------------------------- IN 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 FF FE 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 FF FE ----------------------------------------------------------------------------------------- OUT 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 FF FB 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 FF F7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 FF FB ----------------------------------------------------------------------------------------- NOP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF FF -----------------------------------------------------------------------------------------Система микро-команд.
В таблице представлена система микро-команд, содержащихся для двух EPROM: ПЗУ 0 – верхняя по схеме, ПЗУ 1 – нижняя.
ADDRESS |
ROM 0 |
ROM 1 |
0 |
FF |
FF |
1 |
7F |
FF |
2 |
BF |
FF |
3 |
FF |
FF |
4 |
FF |
FD |
5 |
DF |
FF |
6 |
FF |
FF |
7 |
FF |
FD |
8 |
FF |
FB |
9 |
DF |
FF |
10 |
FF |
FF |
11 |
FF |
FB |
12 |
FF |
FF |
13 |
FD |
FF |
14 |
FF |
FF |
15 |
FF |
FF |
16 |
FF |
FF |
17 |
EF |
FF |
18 |
FF |
FF |
19 |
FF |
FF |
20 |
FF |
FF |
21 |
F7 |
FF |
22 |
FF |
FF |
23 |
FF |
FF |
24 |
FF |
FF |
25 |
FB |
FF |
26 |
FF |
FF |
27 |
FF |
FF |
28 |
FF |
FD |
29 |
FE |
FF |
30 |
FF |
FF |
31 |
FF |
FD |
32 |
FF |
FB |
33 |
FE |
FF |
34 |
FF |
FF |
35 |
FF |
FB |
36 |
FF |
FF |
37 |
FF |
EF |
38 |
FF |
FF |
39 |
FF |
FF |
40 |
FF |
FF |
41 |
FF |
7F |
42 |
FF |
EF |
43 |
FF |
FF |
44 |
FF |
FF |
45 |
FF |
BF |
46 |
FF |
EF |
47 |
FF |
FF |
48 |
FF |
FF |
49 |
FF |
DF |
50 |
FF |
EF |
51 |
FF |
FF |
52 |
FF |
FE |
53 |
DF |
FF |
54 |
FF |
FF |
55 |
FF |
FE |
56 |
FF |
FB |
57 |
FF |
F7 |
58 |
FF |
FF |
59 |
FF |
FB |
60 |
FF |
FF |
61 |
FF |
FF |
62 |
FF |
FF |
63 |
FF |
FF |
Детали системы микро-команд приведены ранее.
Adopted by Lavr
Send questions and comments to WireHead@GalacticElectronics.com