Найти тему
miti-mti

Процессор 6502. разбираем пины и разбираемся в инициализации!

процессор 6502
процессор 6502


что ж, у нас всего 40 контактов, это не так уж и много в отличие от современных процессоров))
для начала я приведу таблицу с распиновкой. Она одновременно на русском и на английском, так как обозначения английские и когда понимаешь например, что
RDY это Ready, это проще потом запоминается и воспринимается.

таблица распиновки процессора 6502
таблица распиновки процессора 6502

Теперь мы знаем распиновку процессора, и можно теперь разобрать за что отвечают некоторые пины. в смысле только те, которые нам нужны в данной статье.

(RESB) Reset

Вход сброса (RESB) используется для инициализации микропроцессора и запуска выполнения программы. RESB сигнал должен поддерживаться на низком уровне в течение как минимум двух тактовых циклов после того, как VDD достигнет рабочего напряжения. Ready (RDY) не действует, пока RESB находится на низком уровне. Все регистры инициализируются программным обеспечением, кроме десятичного. и биты выбора режима отключения прерывания в регистре состояния процессора (P) инициализируются аппаратно. При обнаружении положительного фронта будет выполняться последовательность сброса продолжительностью семь тактов. программный счетчик загружается вектором сброса из ячеек FFFC (младший байт) и FFFD (старший байт). Это начальное место для управления программой. RESB должен поддерживаться высоким после сброса для нормальной работы.

(VPB) Vector Pull

Выходной сигнал Vector Pull (VPB) указывает на то, что во время последовательности прерывания выполняется адресация местоположения вектора. VPB имеет низкий уровень во время последних циклов последовательности прерываний, в течение которых процессор считывает вектор прерывания. Сигнал VPB может использоваться для выбора прерываний из нескольких источников и определения их приоритета путем изменения адресов векторов.

векторные адреса
векторные адреса

Инициализация процессора 6502

процессор 6502
процессор 6502

Теперь самое интересное, чтобы понять инициализацию процессора, нам потребуется прочитать всего лишь два пункта выше. Такие, как (RESB) Reset и Vector Pull (VPB)

-5

и так, в объяснении про пин (RESB) Reset вход сброса, нам уже известно, что процессор при инициализации делает 7 тактов и после начинает выполнение программы с адресов FFFC (младший байт) и FFFD (старший байт). Об этом так же было описано в Vector Pull (VPB) по этим адресам процессор ищет начало нашей программы.

Теперь мы знаем в каких адресах нужно указывать адрес начала нашей программы. то-есть если наша программа начинается по адресу 0001 то в памяти устройства (компьютера) по адресу FFFC должно быть 01 а FFFD - 00.

Но что это за 7 тактов? На самом деле я понятия не имею, они всегда разные и на шину данных никак не влияют, только на шину адресов.


спасибо, что дочитали, если статьи про процессор 6502 вам будут интересны, то я буду и дальше капаться в нём, и писать об этом))