MOS Technology 8502 — это 8-битный микропроцессор , разработанный MOS Technology и используемый в Commodore 128 (C128). Это улучшенная версия MOS 6510 , используемого в Commodore 64 (C64). Он был изготовлен с использованием процесса HMOS , что позволило ему иметь более высокую плотность транзисторов и более низкую стоимость, рассеивая при этом меньше тепла. 8502 позволяет C128 работать на удвоенной тактовой частоте C64 с некоторыми ограничениями.
Обычный оперативный накопитель (ОЗУ) эпохи Commodore C64 позволял осуществлять доступ на частоте 2 МГц. Если бы ЦП и чип дисплея совместно использовали одну и ту же память для связи, что было обычным решением в эпоху, когда ОЗУ была дорогой, то обычно приходилось бы, чтобы ЦП и чип дисплея опосредовали доступ к шине, так что только один из них использовал ее в каждый момент времени, обычно заставляя один из них приостанавливать другой. Если предположить, что двум чипам требуется примерно равный доступ, это означает, что чипы приостанавливаются половину времени, эффективно работая на частоте 1 МГц. [a]
Семейство 6502 имело функцию, которая упрощала проектирование таких систем. 6502 использовал двухфазный тактовый сигнал для управления своей внутренней схемой, но обращался к памяти только во время одной из двух фаз. Это означало, что чип дисплея мог обращаться к памяти во время чередующихся фаз тактового сигнала без необходимости приостанавливать работу ЦП. Главное преимущество этого стиля доступа заключается в том, что двум чипам не нужно было взаимодействовать, чтобы приостанавливать работу друг друга, они просто наблюдали за уже существующим тактовым сигналом, присутствующим на контактах 6502. В оригинальном C64 этот трюк с синхронизацией использовался, чтобы позволить VIC-II чередовать свой доступ к основной памяти с доступом 6510. [b]
8502 в основном является конверсией оригинального 6502 для производства по технологии Intel HMOS-II, представленной в 1979 году и доступной для использования третьими лицами. Этот процесс использовал меньшие размеры элементов, что позволяло производить тот же чип на меньшей площади и, таким образом, иметь меньшую стоимость. В результате того, что чип был меньше, он также требовал меньше энергии для работы и рассеивал меньше тепла. Это сделало его полезным в некоторых ролях, где оригинальный 6502 мог быть неподходящим.
Оригинальный 6502 выпускался в трех версиях, A, B и C, различающихся максимальной скоростью, 1, 2 или 4 МГц соответственно. Физической разницы между этими конструкциями не было; если конкретный чип успешно работал на частоте 2 МГц при тестировании, он обозначался как B, в противном случае как A. С переходом на процесс HMOS большинство 8502 могли работать на частоте 2 МГц, что эквивалентно 6502B.
Изменение скорости работы процессора на базе 6502 так же просто, как изменение входного тактового сигнала, что означало, что 8502 мог легко переключаться между 2 МГц и 1 МГц 6510. Когда тактовый генератор работал на удвоенной скорости, он сталкивался с проблемой, что у VIC не было достаточно времени для доступа к памяти во время свободных полуциклов. По этой причине 8502 мог работать на удвоенной скорости только полный рабочий день при использовании с 80-колоночным VDC в C128, который имел отдельную память для дисплея, к которому ЦП не обращался напрямую.
При запуске режима отображения VIC два чипа начали делить доступ, как это было в случае с C64, и это означало, что ЦП должен был вернуться к своей обычной скорости ~1 МГц. Программы могли отключать экран во время интенсивных вычислений ЦП, чтобы позволить ЦП работать на более высокой скорости. Меньший прирост скорости, около 35%, также был возможен при сохранении активного отображения VIC путем переключения ЦП на 2 МГц только во время того, как VIC рисует пустую границу вдоль верхней и нижней части экрана, поскольку в это время VIC не выполняет доступ к ОЗУ.
Распиновка немного отличается от 6510. У 8502 есть дополнительный вывод ввода-вывода (встроенный порт ввода-вывода, сопоставленный с адресами 0 и 1, расширен с 6 до 7 бит) и отсутствует вывод ϕ2, который был у 6510. Семейство 8502 также включает MOS 7501, 8500 и 8501.