Информация об изменениях

Сообщение Re[6]: Свой процессор на ПЛИС от 16.02.2016 19:56

Изменено 16.02.2016 21:33 0x7be

Здравствуйте, koandrew, Вы писали:

K>Здравствуйте, 0x7be, Вы писали:


0>>Отправил.

K>Спасибо! А можно ещё ликбезглоссарий по акронимам? А то я что-то плаваю во всех этих BGU, BGR, EOM, TJC и т.д.

Поля микрокода:
BMS — Bus Master Selector. Идентификатор устройства, которое на данном такте вещает на шину процессора своё значение.
BSS — Bus Slave Selector. Идентификатор устройства, которое на данном такте читает из шины процессора значение в себя.
Коды BMS/BSS:
0-31 — согласно таблице "ЦПУ Блоки".
32 — номер устройства берется из поля машинного слова команды Register 1
64 — номер устройства берется из поля машинного слова команды Register 2

ALUOP — код операции АЛУ. См. лист "АЛУ".
TJC — флаг Test Just Condition. Если == 1, то включается логика условного перехода, использующая поле JM.
JM — Jump Mask. Трех-битовая маска, которая при TJC == 1 накладывается на значение регистра CF. Принцип такой: если операция (JM and CF) даёт нулевое значение, то генерируется сигнал EOM, т.е. выполнение микрокода для данной команды обрывается и вычитывается следующая команда. Если ненулевое, то выполнение микрокода команды продолжается.
FETCH — вычитать следующее слово из памяти по регистру IP и поместить его в внутренний регистр управляющего устройства DATA (адрес на шине — 1E). Применяется двухсловными командами, которые во втором слове содержат аргумент (константа или адрес).
EOM — End Of Microcode. Бит, которые генерирует сигнал на выборку следующей команды и сброс счётчика микрокода.

Схемы:
BGU — Bus Gate Unit. Схема, которая управляет подключением устройства к внутренней шине процессора. На вход получает свой идентификатор и управляющие сигналы шины. Пропускает сигналы от/к шине в соответсвии с тем, как шина обращается к устройствам (т.е. если BMS = идентификатор, то выводит на шину значение, если BSS = идентификатор, то читает из шины).
BGR — BGU + 16-битный регистр.
CR-8/16 — регистр-счётчик (8 и 16 бит, соответственно).

Лист "Система команд", расшифровка аргументов:
R1, R2 — обобщённое название регистра. Тут терминологическая путаница, т.к. есть конкретные регистры R1 и R2, но тут подразумевается "первый аргумент-регистр в команде" и "второй аргумент-регистр в команде"
const — слово-константа.
addr — слово-константа, которая трактуется как адрес.

Вроде всё осветил. Если что ещё — спрашивай
Re[6]: Свой процессор на ПЛИС
Здравствуйте, koandrew, Вы писали:

K>Здравствуйте, 0x7be, Вы писали:


0>>Отправил.

K>Спасибо! А можно ещё ликбезглоссарий по акронимам? А то я что-то плаваю во всех этих BGU, BGR, EOM, TJC и т.д.

Поля микрокода:
BMS — Bus Master Selector. Идентификатор устройства, которое на данном такте вещает на шину процессора своё значение.
BSS — Bus Slave Selector. Идентификатор устройства, которое на данном такте читает из шины процессора значение в себя.
Коды BMS/BSS:
0-31 — согласно таблице "ЦПУ Блоки".
32 — номер устройства берется из поля машинного слова команды Register 1
64 — номер устройства берется из поля машинного слова команды Register 2

ALUOP — код операции АЛУ. См. лист "АЛУ".
TJC — флаг Test Jump Condition. Если == 1, то включается логика условного перехода, использующая поле JM.
JM — Jump Mask. Трех-битовая маска, которая при TJC == 1 накладывается на значение регистра CF. Принцип такой: если операция (JM and CF) даёт нулевое значение, то генерируется сигнал EOM, т.е. выполнение микрокода для данной команды обрывается и вычитывается следующая команда. Если ненулевое, то выполнение микрокода команды продолжается.
FETCH — вычитать следующее слово из памяти по регистру IP и поместить его в внутренний регистр управляющего устройства DATA (адрес на шине — 1E). Применяется двухсловными командами, которые во втором слове содержат аргумент (константа или адрес).
EOM — End Of Microcode. Бит, которые генерирует сигнал на выборку следующей команды и сброс счётчика микрокода.

Схемы:
BGU — Bus Gate Unit. Схема, которая управляет подключением устройства к внутренней шине процессора. На вход получает свой идентификатор и управляющие сигналы шины. Пропускает сигналы от/к шине в соответсвии с тем, как шина обращается к устройствам (т.е. если BMS = идентификатор, то выводит на шину значение, если BSS = идентификатор, то читает из шины).
BGR — BGU + 16-битный регистр.
CR-8/16 — регистр-счётчик (8 и 16 бит, соответственно).

Лист "Система команд", расшифровка аргументов:
R1, R2 — обобщённое название регистра. Тут терминологическая путаница, т.к. есть конкретные регистры R1 и R2, но тут подразумевается "первый аргумент-регистр в команде" и "второй аргумент-регистр в команде"
const — слово-константа.
addr — слово-константа, которая трактуется как адрес.

Вроде всё осветил. Если что ещё — спрашивай