Микросхемы 4BitCPU и их отечественные аналоги

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 A2A5 (в противном случае они = 0). Код на входах вентилей И (обозначенный на схеме как INST0INST3) — программный код инструкции из памяти программы. Коды инструкции программы использованы в качестве смещения, чтобы выбрать соответствующую группу из четырех, 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. Входные и выходные адреса независимы друг от друга. Когда регистр прочитан, выход регистра активизируется на шине данных пока аккумулятор загружается. Адреса регистра формируются следующим образом:

Четырех-битовое слово: RRWW

WW - 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


Hosted by uCoz