Эта консоль имеет два процессора общего назначения.
Ведущий
Во-первых, у нас есть Motorola 68000, работающий на частоте ~7,6 МГц, популярный процессор, уже присутствовавший во многих компьютерах того времени, таких как Amiga, (оригинальный) Macintosh, Atari ST... Любопытно, что каждый из этих компьютеров сменил своего "предшественника на 6502", и хотя Master System (предшественник Mega Drive) не использовал процессор 6502, NES использовал (и в некотором роде целью Sega было завоевать потребителей Nintendo). В целом, можно увидеть некоторую корреляцию между эволюцией компьютеров и технологий игровых консолей.

Чип Motorola 68000 в Mega Drive, произведённый Hitachi.
Возвращаясь к теме, 68k отводится роль "основного" процессора, и он будет обрабатывать игровую логику, операции ввода-вывода и графические вычисления. Он обладает следующими возможностями :
- 68000 ISA: Новый набор команд с большим количеством функций, включая набор кодов умножения и деления. Некоторые инструкции имеют длину 8 бит (называются "byte"), другие - 16 бит (называются "word"), а остальные - 32 бита (называются "long-word").
- Шестнадцать 32-битных регистров общего назначения. Имейте в виду, что этот процессор делит набор на восемь "регистров данных" (где могут выполняться арифметические операции) и восемь "регистров адресов" (используемых исключительно для хранения адресов памяти).
- Тем не менее это большое улучшение по сравнению с 6502 и Z80, которые предоставляют только 8-битные регистры.
- 16-битное ALU: Это означает, что ему требуются дополнительные циклы для вычисления арифметических операций над 32-битными числами, но он прекрасно справляется с 16-битными/8-битными.
- Внешняя 16-битная шина данных: Как видите, хотя этот процессор имеет некоторые "32-битные возможности", он не был разработан как полноценная 32-битная машина. Ширина этой шины подразумевает лучшую производительность при перемещении 16-битных данных.
- Интересно, что за четыре года до выхода этой консоли компания Motorola выпустила полноценный 32-битный процессор 68020. Но я представляю, как резко возросли бы затраты, если бы Sega выбрала последний вариант.
- 24-битная адресная шина: Это означает, что возможен доступ до 16 МБ памяти. Внутри процессора адреса памяти по-прежнему кодируются 32-битными значениями (старший байт просто отбрасывается). При всём этом, в случае с Mega Drive шина физически подключена к :
- 64 КБ оперативной памяти общего назначения.
- ПЗУ картриджа (до 4 МБ).
- Два контроллера управления.
- Регистры и порты VDP (Video Display Processor) и DMA.
- Регистры материнской платы (идентифицирует консоль).
- Порты расширения (используются для "будущих" аксессуаров).
- Оперативная память второго процессора при посредничестве bus arbiter.
Если вам интересна причина, по которой используются 24-битные адреса в процессоре, способном обрабатывать 32-битные слова, то немногое оборудование того времени требовало работу с 4 ГБ памяти. Также учитывая, что внедрение неиспользуемых адресных линий дорогое с точки зрения производительности и стоимости, Motorola достигла разумного компромисса с 32-битными регистрами и 24-мя адресные линии, чем также подготовила разработчиков к будущему, полностью 32-битному процессору 68020, вышедшему через пять лет.
Интересный набор инструкций
До революции RISC в 80-х была другая волна, которая попыталась утвердить способ построения наборов инструкций. По сути, потребительские процессоры 70-х (такие, как 6502 или 8080) содержат инструкции, которые уже предопределили, как будет доступна память (это называется "режим адресации"). С 68000, Motorola отделила функцию инструкции (операционный код) от режима адресации, делая его просто ещё одним параметром (операндом). Таким образом, разработчики могут использовать одни и те же опкоды с наиболее оптимальным режимом адресации на основе их потребностей.
Этот принцип называется ортогональностью набора команд и он сильно повлиял на новое поколение процессоров конца 70-х, но быстро отошёл на второй план с появлением RISC, по сути переложившим всё самое сложное на компиляторы. В любом случае серия Motorola 68k пользовалась большим спросом в 80-х, и лишь к началу 90-х компании начали переключаться на другого поставщика.
Ведомый
В этой консоли установлен еще один процессор, Zilog Z80, работающий на частоте ~3,5 МГц. Это тот же самый процессор, который был анализирован в статье про Master System.
В основном Z80 используется для управления звуком. Таким образом, ее 16-битная шина адреса состоит из следующего :
- 8 КБ ОЗУ.
- Два звуковых чипа.
- ОЗУ 68000 (опять же, обрабатывается арбитром шины).
Наконец, важно отметить, что оба процессора работают параллельно.
Доступная память
Основной процессор содержит 64 КБ выделенной оперативной памяти для хранения данных общего назначения, а Z80 содержит 8 КБ оперативной памяти для операций, связанных со звуком.
Взаимосвязь
Sega выбрала два независимых процессора, которые не знают друг о друге, так как же игры могут управлять обоими одновременно? Так, основная программа выполняется в 68000, и этот процессор может впоследствии записывать в оперативную память Z80. Потом, 68000 может отправить программу в оперативную память Z80 и дать команду Z80 загрузить ее (посылая сигнал сброса на Z80) . Когда Z80 находится под контролем, его можно использовать для управления звуковой подсистемой и перемещения памяти с помощью ранее описанного метода, и все это в то время, когда 68000 занимается другими операциями.

Архитектура памяти в Mega Drive/Genesis.
Поскольку одному процессору придется задействовать процессорную шину другого, а оба не могут использовать ее одновременно, существует дополнительный компонент Bus arbiter, который должен быть активирован, чтобы затормозить любой из процессоров, так что память может быть записана без опасности.
Важно отметить, что данная конструкция может быть недостаточно эффективной, если ею не управлять должным образом, поэтому в играх придется уделять особое внимание арбитру шины и следить за тем, чтобы ни один из процессоров не простаивал дольше, чем нужно.