Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
6502:predecode [2015/09/03 23:12] org |
6502:predecode [2019/12/05 15:14] (текущий) org |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ==== Предварительное декодирование ==== | + | # Предварительное декодирование |
Схема предназначена для определения "класса" инструкции: | Схема предназначена для определения "класса" инструкции: | ||
Строка 15: | Строка 15: | ||
Также на вход Predecode-логики подается управляющая линия 0/IR, которая "инжектирует" в поток инструкций операцию BRK. Это происходит во время обработки прерываний, для инициализации BRK-последовательности (все прерывания просто имитируют инструкцию BRK, с небольшими изменениями). | Также на вход Predecode-логики подается управляющая линия 0/IR, которая "инжектирует" в поток инструкций операцию BRK. Это происходит во время обработки прерываний, для инициализации BRK-последовательности (все прерывания просто имитируют инструкцию BRK, с небольшими изменениями). | ||
- | ==== Логическая схема ==== | + | ## Логическая схема |
{{:6502:predecode_logic.jpg?600}} | {{:6502:predecode_logic.jpg?600}} | ||
Строка 24: | Строка 24: | ||
Логика предекодирования самоописательная: | Логика предекодирования самоописательная: | ||
- | * 2-х тактовые инструкции это : Инструкции с непосредственным операндом ИЛИ все однобайтовые инструкции КРОМЕ инструкций push/pull | + | * 2-х тактовые инструкции это: Инструкции с непосредственным операндом ИЛИ все однобайтовые инструкции КРОМЕ инструкций push/pull |
* Однобайтовые инструкции задаются маской XXXX10X0 (где X = 0 или 1). | * Однобайтовые инструкции задаются маской XXXX10X0 (где X = 0 или 1). | ||
- | ==== Симуляция ==== | + | ## Симуляция |
Контекст - входные значения с шины данных **DATA**, контрольный сигнал **0/IR**, защелка **PDLatch**, выходные значения **PD**, выходные контрольные линии определяющие класс инструкции - **/IMPLIED** и **/TWOCYCLE**. | Контекст - входные значения с шины данных **DATA**, контрольный сигнал **0/IR**, защелка **PDLatch**, выходные значения **PD**, выходные контрольные линии определяющие класс инструкции - **/IMPLIED** и **/TWOCYCLE**. | ||
Строка 42: | Строка 42: | ||
</code> | </code> | ||
- | ==== Verilog ==== | + | ## Verilog |
<code verilog> | <code verilog> |