Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
6502:decoder [2013/10/28 08:57] org [Особенные линии] |
6502:decoder [2020/02/10 13:10] (текущий) org |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ==== Декодер ==== | + | # Декодер |
Декодер 6502 (англ. PLA) - это обыкновенный демультиплексор, но очень большой. Формула демультиплексора получается 21-to-130, но с некоторыми исключениями (об этом ниже) | Декодер 6502 (англ. PLA) - это обыкновенный демультиплексор, но очень большой. Формула демультиплексора получается 21-to-130, но с некоторыми исключениями (об этом ниже) | ||
Строка 14: | Строка 14: | ||
{{6502:decoder_nice.jpg?1000}} | {{6502:decoder_nice.jpg?1000}} | ||
- | ==== Особенные линии ==== | + | |
+ | ## Особенные линии | ||
Кроме перечисленных выше значений в качестве дополнительных входов могут выступать специальные контрольные линии. | Кроме перечисленных выше значений в качестве дополнительных входов могут выступать специальные контрольные линии. | ||
Строка 23: | Строка 24: | ||
Есть мнение что эти специальные управляющие линии хотя и территориально входят в декодер - на самом деле просто части рандомной логики, а в декодер попали просто потому что так удобней было развести соединения. | Есть мнение что эти специальные управляющие линии хотя и территориально входят в декодер - на самом деле просто части рандомной логики, а в декодер попали просто потому что так удобней было развести соединения. | ||
- | ==== Содержимое PLA ==== | + | |
+ | ## Содержимое PLA | ||
Онлайн-декодер : http://breaknes.com/files/6502/decoder.htm | Онлайн-декодер : http://breaknes.com/files/6502/decoder.htm | ||
Строка 169: | Строка 171: | ||
|K09 |128 |000000011000000000000 |XXXX10X0 |TX |IMPL| | |K09 |128 |000000011000000000000 |XXXX10X0 |TX |IMPL| | ||
- | ==== Что значит Raw bits ==== | + | ## Что значит Raw bits |
Если представить себе декодер как ROM 21x130, где каждый бит представляет собой транзистор, образуемый пересечением полисиликона и диффузии, то raw bits будут представлять одну линейку декодера. | Если представить себе декодер как ROM 21x130, где каждый бит представляет собой транзистор, образуемый пересечением полисиликона и диффузии, то raw bits будут представлять одну линейку декодера. | ||
- | Для примера на картинке представлена 5я линейка декодера. Счёт бит начинается снизу-вверх. 0 означает отсутствие транзистора, 1 - наличие. | + | Для примера на картинке представлена 5-я линейка декодера. Счёт бит начинается снизу-вверх. 0 означает отсутствие транзистора, 1 - наличие. |
{{6502:decoder_line.jpg}} | {{6502:decoder_line.jpg}} | ||
- | ==== Branch T0 skipping ==== | + | ## Branch T0 skipping |
- | С контакта [[6502:pads#rdy_sync|RDY]] через линию задержки приходит специальная линия **/PRDY**. Если процессор был не готов на момент завершения //предыдущей// инструкции, то если следующая инструкция является инструкцией условного перехода (branch), то её 0й цикл (T0) пропускается. | + | С контакта [[6502:pads#rdy_sync|RDY]] через линию задержки приходит специальная линия **/PRDY**. Если процессор был не готов на момент завершения //предыдущей// инструкции, то если следующая инструкция является инструкцией условного перехода (branch), то её 0-й цикл (T0) пропускается. |
Зачем они это сделали - не известно. | Зачем они это сделали - не известно. | ||
- | ==== Симуляция ==== | + | |
+ | ## Симуляция | ||
Существует два подхода в симуляции декодеров : | Существует два подхода в симуляции декодеров : |