Commodore Amiga Retro PC: подробный анализ оборудования

Коммодор Amiga Retro PC

Самому ветерану этого места очень понравится Amiga de Commodore, 16-битный компьютер, принадлежащий поколению второй половины 80-х - начала 90-х годов. Он запомнился своей высокой способностью воспроизводить винтажные мультимедиа, прежде всего. Ни IBM PC, ни Apple Macintosh или Atari ST не могли его затмить.

Commodore Amiga - одна из самых мифических и запоминающихся платформ в истории вычислительной техники и ее оборудования. Разработан командой под руководством Джея Майнера, который уже разработал Atari VCS консоли и 8-битных компьютеров Atari, Atari 400 и 800, Commodore Amiga была 16-битной улучшенной версией их предыдущих разработок. . Это был судорожный проект, в котором он сначала родился как игровая консоль для Atari, а затем превратился в компьютер для своего конкурента Commodore и развивался как проект независимой компании.

Коммодор Амига

Commodore Amiga был выпущен в 1985 году в форме Amiga 1000, но компьютер, который многие из нас наверняка помнят, это Commodore Amiga 500, недорогая версия первой модели, которая вышла в 1987 году по сниженной цене и уменьшенный форм-фактор. Поскольку все его аппаратное обеспечение было интегрировано в клавиатуру, как и во многих аналогичных компьютерах того времени, его окончательный вид не соответствовал огромному потенциалу, который он содержал в себе.

Как напоминание об этом мифическом компьютере, но специально для тех, кто не знал его, мы решили отдать ему небольшую дань уважения.

Архитектура Commodore Amiga

Arquitectura Amiga

Потому что в HardZone мы посвящены разговору об аппаратном обеспечении, это то, что мы собираемся делать, когда говорим об Amiga, поскольку, чтобы понять, что сделало его таким особенным, мы должны поговорить об его архитектуре. Чью организацию вы можете увидеть на диаграмме выше, это правда, что по сравнению с системами, которые существуют сегодня, это относительно простая архитектура.

Что же сделало Амигу особенной? Огромная мощность, которую он имел, благодаря тому, что в конечном итоге стало называться Original ChipSet или OCS. Комбинация трех процессоров, поддерживающих женские имена: AGNUS, DENISE и PAULA. Что касается его ядра CPU / ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР это было широко распространено Motorola 68К. Для Оперативная память, Amiga имела конфигурацию NUMA и, следовательно, с двумя разными ячейками памяти RAM, это были следующие:

  • Чип ОЗУ был включен в стандартную комплектацию системы, доступ к нему осуществлялся через сопроцессор или поддерживающий чип AGNUS. Которая служила контроллером памяти и позволяет всем компонентам получать доступ к этому типу памяти.
  • Быстрая ОЗУ предназначалась исключительно для ЦП. Система могла работать без быстрой RAM, и были даже модели, которые продавались без нее, поэтому можно было использовать Amiga без этого типа памяти, но за счет большой потери производительности.

Теперь мы собираемся сделать обзор различных компонентов Commodore Amiga.

Процессор Amiga, Motorola 68000

Motorola 68000

Основным процессором Commodore Amiga был мифический Motorola 68K, который был частью семейства процессоров со своим собственным набором регистров и инструкций, который использовался во многих системах. Из нескольких семейств 16-битных компьютеров (Amiga, Atari ST, X68000, Apple Macintosh). В огромном количестве досок для досуга от разных компаний и в игровых консолях, таких как Sega Mega Drive или Neo-Geo от SNK. На сравнительном уровне можно сказать, что 68K был в 80-е ARM сегодня ISA и архитектура для всего, чего не было Intel или, другими словами, ПК.

Это был ЦП типа CISC, такой как x86, с 32-битными регистрами, внешней 16-битной шиной данных и 24 контактами для адресации. Таким образом, лимит ОЗУ, поддерживаемый системами, составлял 16 МБ. По общему уровню мощности он был немного выше исходного 8086 и ниже 80286 AT PC, поэтому в 16-битном поколении ПК имел самый мощный процессор. Что усугублялось тем, что большинство компиляторов 68K были плохими.

Тактовая частота его версии NTSC составляла 7.16 МГц, что соответствует удвоенному значению цветовой гаммы телевизионного формата NTSC. Это потому, что Amiga была разработана для подключения к стандартному телевизору, и все системные тактовые частоты были получены из 3.58 МГц этого цветового залпа. С другой стороны, версия PAL была немного медленнее при работе на частоте 7.09 МГц, мы прокомментируем эту разницу позже.

АГНУС

Коммодор Amiga AGNUS

Первый процессор, разработанный Джеем Майнером и его командой для Commodore Amiga, - это AGNUS, который содержит внутри два разных компонента. Первый - это контроллер прямого доступа к памяти, который объединяет функцию под названием Blitter или Block Transfer, а другой называется COPPER, который объединяется с DENISE для генерации системной графики.

AGNUS был не чем иным, как контроллером DMA, типом устройства, присутствующего в аппаратном обеспечении, которое отвечает за обмен данными между двумя типами памяти и создание копий данных без участия ЦП. Они также служат для передачи данных, но их главной функцией была не только возможность копировать большие объемы памяти с помощью функции блочной передачи, но и возможность делать это, манипулируя данными, хотя и очень простым способом по сравнению с сегодняшним днем, полагаясь на по инструкции. простые логические значения. По сей день Blitter все еще используется в графических процессорах, они являются ROPS графических карт, которые отвечают за отрисовку буфера изображения после GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР обработал цвет каждого пикселя на экране.

Последний компонент, входивший в состав AGNUS, назывался МЕДЬ, сокращение от термина «сопроцессор». Его можно сравнить с текущими командными процессорами GPU. Который отвечал за создание изображения через список экранов и управление этой функцией блиттером, расположенным в том же AGNUS и DENISE, истинном графическом чипе системы. Насколько любопытен COPPER была продвинутая версия ANTIC, одного из специализированных чипов для 8-битной серии компьютеров Atari. Учитывается архитектурой и теми же дизайнерами, что и истинный предшественник Amiga.

DENISE

Коммодор Амига Дениз

DENISE - это графический чип Commodore Amiga, он отвечает за создание графики на экране и является третьим дизайном графики, созданным командой Джея Майнера с этой функцией. Таким образом, его происхождение можно проследить до чипа TIA Atari VCS, но, в отличие от этого, он не отвечал за создание звука в играх.

Под именем DENISE находится процессор, отвечающий за чтение буфера изображений и отправку данных на телевизор. Это было сделано через композитный видеовыход, и, поскольку в то время существовало два телевизионных формата, для DENISE было также две версии. По одному для каждого из наиболее широко используемых телевизионных стандартов.

Внутренне DENISE - это два разных оборудования, с одной стороны, это процессор с возможностью создания буфера изображений. Что он и сделал в период рисования VBlank, когда на экране ничего не отображалось. В то время большую часть времени процессоры были заняты бездействием, ожидая, пока графическая система выведет изображение на экран. Поскольку использованная оперативная память была одноканальной. Использование Fast RAM облегчило это с точки зрения CPU, но когда DENISE рисовал изображение экрана, никакие другие системные компоненты не могли получить доступ к RAM, за исключением периодов HBlank и VBlank, в которых COPPER и CPU через Blitter могли измениться.

DENISE и битовые плоскости

Коммодор Amiga Planos de bita

Графика на Commodore Amiga, как и на других графических системах того времени, таких как EGA на ПК, создается с использованием битовых плоскостей. Они основаны на однобитовых буферах изображений, которые были объединены друг с другом. Которые отличаются от нынешней упакованной пиксельной системы, в которой собрана вся информация о цвете пикселя. В общей сложности он представлял изображение, используя в общей сложности 6 битовых плоскостей, но 1 использовался для выбора одного уровня яркости из палитры или другого, а другие 5 битов - для определения одного из 32 цветов, которые могли отображаться на экране.

Поскольку RAMDAC Amiga был 12-битным, по 4 бита на компонент RGB, давая ему палитру из 4096 цветов. Где можно было изменить значение регистров, хранящих 32 цвета в каждой строке развертки. Это позволило разместить 4096 цветов одновременно, но из-за того, что скорость передачи была недостаточно высокой, это можно было сделать только в статических изображениях или с низкой частотой обновления, что было названо режимом HAM.

Поскольку Amiga произошла от игровой приставки, ее режимы разрешения предназначены для воспроизведения на телевизоре с возможными разрешениями. Что касается горизонтального разрешения, то у него был буфер изображения 320 или 64o «пикселей» на строку развертки и 200 или 400 строк в зависимости от того, был ли вывод чересстрочным или прогрессивным. В первом случае частота обновления составляла 25 Гц в PAL и 30 Гц в NTSC, чтобы удвоиться в чересстрочном режиме.

Генерация спрайтов на Commodore Amiga

Turrican Sprites

У DENISE, как и у других графических чипов того времени, был генератор спрайтов, которые представляют собой шаблоны или растровые изображения, которые меняют положение в каждом кадре, поэтому их характеристики были определены в серии регистров в памяти, обозначенных обычно следующими параметрами:

  • Положение растрового изображения на экране спрайта по горизонтали и вертикали.
  • Ориентация, то есть откуда и в каком направлении было нарисовано растровое изображение.
  • Используемая цветовая палитра.
  • Предпочтение перед фоном и другими спрайтами.

Эта информация, как регистры, в которых отмечается положение спрайтов, так и составляющие их растровые изображения и их цветовые палитры, находились в микросхеме RAM. Amiga могла хранить информацию до 8 спрайтов. Но благодаря скорости смены регистров через дуэт Blitter-COPPER количество показываемых спрайтов намного больше. Что касается их размера, они могут иметь размеры 1, 2, 4, 8 или 16 пикселей как по горизонтали, так и по вертикали.

Троица МЕДЬ-Блиттер-ДЕНИЗ

Amiga 500 внутри

Графическая мощь Amiga была обусловлена ​​использованием этих трех поддерживающих процессоров, которые в сочетании с 68K отвечали за создание графики на экране. Хотя, чтобы понять огромный потенциал Amiga, мы должны принять во внимание способность перемещать графику, мы должны понимать, каким образом компьютеры генерировали графику в то время.

В настоящее время используемая память VRAM является как минимум двухканальной или достаточно быстрой, чтобы не было конфликтов при доступе к памяти при рендеринге. В то время, когда графическая система считывала видеопамять, она не разрешала доступ другим процессорам. Следовательно, для изменения значений в памяти, которые использовались для рисования сцены, необходимо было использовать мертвые времена, в которые перемещается электронный луч ЭЛТ-экрана.

С другой стороны, COPPER, будучи командным процессором, давал инструкции DENISE. Например, вы можете изменить видеоинформацию в середине кадра, вы также можете дать команду Blitter изменить адреса памяти, соответствующие значениям графики. Что позволило отобразить на экране больше элементов, чем теоретически разрешено записями. Более того, когда COPPER прекратил управлять DENISE и Blitter для рисования сцены, как только он достиг периода Overscan, + VBlank вернул управление чипом RAM CPU, не создавая для него никаких программных подпрограмм.

PAULA, аудио и периферия на Commodore Amiga

Паула Амига

Третий чип, который сопровождает 68K, называется PAULA, он выполняет две функции. Первый из них - это создание звука для приложений, в котором он выделяется среди своих современников, включая Commodore 64, который на тот момент имел самый продвинутый звуковой чип того времени. Не будем забывать, что в большинстве систем раньше был чип, способный генерировать звук через 3 фиксированных канала прямоугольной формы и канал шума. Первые звуковые карты для ПК, которые могли воспроизводить звук с модуляцией FM, еще не появились на рынке.

Аудио PCM

Но что сделало Полу такой особенной? Дело в том, что это была первая аудиосистема, способная воспроизводить звук в формате PCM и, следовательно, сэмплы. Благодаря этому процессору не приходилось тратить время на управление аудиовыходом. Ему нужно было только отметить в памяти, где сэмплы находились внутри микросхемы RAM, поддерживая до 4 одновременных каналов, чтобы их можно было преобразовать в 2 стереоканала, по одному для каждой стороны.

Другая функция PAULA - это то, что мы оставили для определения полного компьютера, и это то, что он отвечал за управление периферийными устройствами, которые были подключены к Commodore Amiga, помимо работы в качестве контроллера для дисковода гибких дисков 3.5, который был интегрирован в Коммодор. Друг.