Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Процессор Денди (CPU)




 

Как отмечалось ранее, первая (многокорпусная) модель NES строилась на базе процессора 6502 (6527). Все последующие модели сверху вниз совместимы с ней. По неподтвержденной информации контроллер UM6561 – намного более совершенен и имеет ряд новых возможностей (которые, надо понимать, в дань совместимости, никто не использует). Поэтому, говоря о процессоре Денди, – опираемся на архитектуру 6502.

Итак - CPU 6502 имеет:

· Шина Адреса – 16 бит (адресное пространство 64кб)

· Шина Данных – 8 бит

· Частота (для версии PAL) – 1.79 МГц

· Встроенный pAPU (4 аналоговых + 1 цифровой канал)

· Контроллер DMA

Подробнее о программной модели 6502 можно прочитать в приложении 1. Примеры принципиальных схем и их описания в приложении 5.

 

Здесь же мы рассмотрим, как этот процессор используется в Денди. Модель 6502 предусматривает единое адресное пространство кода и данных. Также в процессоре отсутствуют инструкции обращения к портам ввода/вывода (типа in/out) – порты должны отражаться на адресное пространство памяти. Т.е. адресное пространство процессора делится между портами и памятью. В архитектуре Денди это происходит так (кстати, по-моему, не очень рационально):

 

Адрес Размер Назначение
$0000-$07FF 2k RAM
$0800-$1FFF 6k RAM Mirror (x3)
$2000-$2007 $8 = 8 байт Registers Video
$2008-$3FFF $1FF8 = 8184 байта Registers Video Mirror (x1023)
$4000-$4017 $20 = 32 байта Registers Audio & DMA & I/O
$4018-$4FFF $0FE8 = 4072 байта Not used
$5000-$5FFF 4k Expansion ROM (for MMC5)
$6000-$7FFF 8k SRAM (WRAM)
$8000-$BFFF 16k PRG-ROM (1)
$C000-$FFFF 16k PRG-ROM (0)

 

Таблица 1.

 

RAM – 2кб. Оперативной памяти (на плате приставки или внутри контроллера) – её распределение следующее:

  • $0000-$00FF – “Нулевая страница” (Zero Page) – используется для системных целей (для программ предпочтительны адреса $10-$9F, прочие лучше не трогать). Процессор имеет отдельные инструкции, обеспечивающие быстрый доступ к нулевой странице.
  • $0100-$01FF – Аппаратный стек от старших адресов (размер, понятно, 256 байт).
  • $0200-$07FF – Пользовательская область.

Начиная с адреса $0800 из-за неполной дешифрации адреса, идут три «зеркала» оперативной памяти RAM. Т.е. обращение к ячейке $0000 эквивалентно обращению к $0800 или к $1000 или к $1800. (Интересно, что мешало разработчикам установить еще 6 килобайт памяти – лишнего, наверное, бы не было).

Registers Video – 8 шт. Через эти регистры видеопроцессора (и только через эти регистры) осуществляется связь центрального процессора с видеопроцессором, а через него и с видеопамятью. Подробнее см. главу «Видеопроцессор Денди (PPU)». Далее с адреса $2008 идут «зеркала» регистров видеопроцессора.

 

Registers Audio & DMA & I/O – 24 шт. Регистры звукового сопроцессора, контроллера DMA и портов ввода/вывода. Подробнее см. соответствующие главы. Назначение остальных ($0FE8=4072шт.) адресов не определено.

 

Expansion ROM (for MMC5) – 4кб. Расширение ОЗУ – только у маппера MMC5 (см. главу «Картридж Денди»)

 

SRAM – 4кб. (она же WRAM) – статическое ОЗУ, которое может находиться на картридже – служит для хранения игровых ситуаций (сохранение игры на время выключения питания, с возможностью последующего продолжения).

 

PRG-ROM – 2 окна по 16кб. Чтобы подробно рассмотреть назначение этих участков памяти – необходимо иметь представление об архитектуре картриджа (а вариантов тут много), о чем пойдет речь несколько позже. Здесь же рассмотрим самую простую модель картриджа: картридж содержит две ПЗУ размером 32кб и 8кб, подключаются они к шинам процессора (CPU) и видеопроцессора (PPU) соответственно (см. рис.1). Первая (в нашем примере 32кб) микросхема ПЗУ функционально называется PRG-ROM, и содержит в себе программу и возможно данные. Первые 16кб ПЗУ отображаются в окне 1 ($8000-$BFFF), последние 16кб в окне 0 ($C000-$FFFF). Организовано это на схемотехническом уровне. В конце нулевого окна располагаются вектора прерываний процессора.

 

· $FFFA – NMI (VBlink)

Немаскируемое прерывание. Поступает с видеопроцессора и сигнализирует о том, что PPU закончил прорисовку очередного кадра и «луч» пошел обратно (в начало экрана). Обработчик этого прерывания должен производить необходимые, по программе, обновления видеопамяти. Во время прорисовки кадра видеопамять недоступна. Существует возможность программного отключения видеопроцессора – NMI формироваться не будет, но также будет отсутствовать и картинка на экране – в этом режиме доступна запись (используется при начальной инициализации).

 

· $FFFC – RESET

Происходит по факту включения питания или при нажатии на клавишу «Reset». Стоит помнить, что в последнем случае изменяется только программный счетчик, все регистры, а тем более память сохраняют свои значения.

 

· $FFFE - IRQ/BRK

Единственное в системе «пользовательское» прерывание. Возникает по активному сигналу на входе процессора (выведен на разъём картриджа). Или может вызываться программно – инструкция BRK.

 

Соответственно по этим адресам должны находиться адреса обработчиков соответствующих прерываний. Приоритет прерываний следующий (от более приоритетного к менее): RESET, NMI, IRQ/BRK.

 




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 1526; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.