Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
6502:random:branch_logic [2015/09/03 23:12]
org
6502:random:branch_logic [2020/02/10 13:04] (текущий)
org
Строка 1: Строка 1:
-==== Логика условных переходов ​====+Логика условных переходов
  
 Логика условных переходов определяет:​ Логика условных переходов определяет:​
Строка 11: Строка 11:
 {{:​6502:​random:​branch_nice.jpg?​800}} {{:​6502:​random:​branch_nice.jpg?​800}}
  
-==== Логическая схема ​====+## Логическая схема
  
 {{:​6502:​random:​branch-logic.jpg?​600}} {{:​6502:​random:​branch-logic.jpg?​600}}
  
-==== Логика BRANCH FORWARD ​====+## Логика BRANCH FORWARD
  
 Триггер BRFW обновляется значением D7 во время BR3.PHI1. В остальное время триггер хранит своё текущее значение. Триггер BRFW обновляется значением D7 во время BR3.PHI1. В остальное время триггер хранит своё текущее значение.
Строка 21: Строка 21:
 Не забываем,​ что во время второго полутакта (PHI2) все внутренние шины подзаряжаются и имеют значение 0xff. Не забываем,​ что во время второго полутакта (PHI2) все внутренние шины подзаряжаются и имеют значение 0xff.
  
-==== Логика BRANCH TAKEN ====+## Логика BRANCH TAKEN
  
 Комбинаторная логика выбирает вначале по IR6/IR7 к какой группе принадлежит инструкция перехода (то есть какой флаг она проверяет),​ а последующий XOR выбирает каким образом инструкция перехода срабатывает (флаг установлен/​сброшен). ​ Комбинаторная логика выбирает вначале по IR6/IR7 к какой группе принадлежит инструкция перехода (то есть какой флаг она проверяет),​ а последующий XOR выбирает каким образом инструкция перехода срабатывает (флаг установлен/​сброшен). ​
Строка 28: Строка 28:
 Примечание : логика BRANCH TAKEN работает постоянно и значение контрольной линии /BRTAKEN обновляется каждый такт, причем в не зависимости от того, какая инструкция обрабатывается процессором в данный момент. Примечание : логика BRANCH TAKEN работает постоянно и значение контрольной линии /BRTAKEN обновляется каждый такт, причем в не зависимости от того, какая инструкция обрабатывается процессором в данный момент.
  
-==== Verilog ​====+## Verilog
  
 <code verilog> <code verilog>
Строка 70: Строка 70:
 endmodule ​  // BranchLogic endmodule ​  // BranchLogic
 </​code>​ </​code>​
 +
 {{template>​6502:​6502_blocks}} {{template>​6502:​6502_blocks}}
  • Показать страницу