Симуляция
Адресная шина
Хотя 6502 общается с внешним миром по 16-разрядной адресной шине, но так как процессор по своей природе 8-битный - внутри него адресная шина делится на две 8-разрядные половинки: верхнюю (ADH) и нижнюю (ADL).
Внутренняя шина адреса ADH/ADL соединяется с внешней 16-разрядной шиной через регистры ABH/ABL, которые содержат последнее записанное значение.
Адресная шина однонаправленная. Управлять ей может только 6502.
Обновляется значение регистров ABH/ABL с помощью команд ADH/ABH и ADL/ABL.
Транзисторная схема
Все 16 выходных схем практически идентичны, за исключением небольших отличий:
- Младшие 3 разряда шины ADL могут быть принудительно обнулены командами 0/ADL0, 0/ADL1 и 0/ADL2. Это происходит при установке вектора прерываний.
- Разряд 0 шины ADH может быть обнулен командой 0/ADH0 (зачем?)
- Разряды 1-7 (все одновременно) могут быть обнулены командой 0/ADH17 (зачем?)
- Значение шины ADL поступают на младшие 8 разрядов адресной шины, которое хранится в регистре ABL.
- Соответственно шина ADH соединяется с регистром ABH.
Хотя у команд ADH/ABH и ADL/ABL нет специального PHI2-"отсекателя", как у других команд, выходные схемы устроены так, что значение с шин ADH/ADL может быть записано на регистры ABH/ABL только во время PHI1.
Во время PHI2 значение регистров ABH/ABL "рефрешится".
Flow
- Во время PHI1 происходит загрузка новых значений с шины ADH/ADL в регистры ABH/ABL
- Во время PHI2 регистры ABH/ABL рефрешатся.
Примечание : во время PHI2 все внутренние шины "подзаряжаются", то есть они соединены с питанием, в результате чего значение шин равно 0xFF (если отдельные разряды не сливаются на землю в некоторых случаях). Поэтому если во время PHI1 внутренние адресные шины не затрагиваются другими командами (на них не выгружаются другие регистры), то значение шин ADH/ADL будет таким же, как и на момент предыдущего полутакта PHI2. Это значение хранится в виде заряда на затворах транзисторов, которые присоединены к шинам.
Логическая схема
В плане логики работа этих схем похожа на работу регистра инструкций, за исключением того, что регистр инструкций не имеет цепочки push/pull инверторов, для усиления выходного сигнала.
Поэтому виртуально работу регистров ABH/ABL можно представить себе как массив D-latchей, значение с которых выходит на контакты внешней шины адреса.