Chip RAM [1] — это общеупотребимый термин для интегрированной оперативной памяти , используемой в линейке компьютеров Amiga компании Commodore . Chip RAM совместно используется центральным процессором (ЦП) и выделенным чипсетом Amiga (отсюда и название). [2] Также, что довольно ошибочно, она была известна как «графическая оперативная память».
В архитектуре Amiga контроллер прямого доступа к памяти (DMA) интегрирован в чип Agnus (Alice в моделях AGA ). Как ЦП, так и другие элементы чипсета должны арбитражировать доступ к общей оперативной памяти через Agnus. Это позволяет пользовательским чипам выполнять видео, аудио или другие операции DMA независимо от ЦП. Поскольку процессор 68000, используемый в ранних системах Amiga, обычно обращается к памяти только на каждом втором цикле памяти, Agnus управляет системой, в которой «нечетный» тактовый цикл выделяется для критического по времени доступа к пользовательскому чипу, а «четный» цикл выделяется ЦП: таким образом, при среднем спросе на DMA ЦП обычно не блокируется от доступа к памяти и может работать без перерыва. Однако некоторые DMA чипсета, такие как графика высокого разрешения с большей цветовой палитрой, Copper или операции блиттера , могут использовать любые свободные циклы, эффективно блокируя циклы от ЦП. В таких ситуациях циклы ЦП блокируются только при доступе к общей оперативной памяти, но никогда при доступе к быстрой (только ЦП) оперативной памяти (если она присутствует) или ПЗУ . [2]
Большинство стандартных систем Amiga были оснащены только оперативной памятью Chip RAM и поставлялись с объемом от 256 КБ до 2 МБ.
Общая шина данных RAM является 16-битной в системах OCS и ECS [c] . Более поздние системы AGA используют 32-битную шину данных, управляемую сопроцессором Alice (заменяющим Agnus), и 32-битную RAM. Тактовая частота памяти работает с удвоенной частотой в системах AGA. В результате пропускная способность RAM чипсета увеличивается в четыре раза по сравнению с более ранней 16-битной конструкцией. Однако 32-битный доступ ограничен CPU и графическим DMA и не может использоваться для других устройств. A3000 на базе ECS также имеет 32-битную Chip RAM, но доступ только 32-битный для операций CPU; чипсет остался 16-битным.
Максимальный объем Chip RAM зависит от версии Agnus/Alice. Первоначальный чип Agnus, установленный в системах A1000 и ранних A2000, представляет собой 48-контактный DIP- корпус, способный адресовать 512 КБ Chip RAM. Последующие версии Agnus выпускаются в 84-контактном PLCC- корпусе (в сокетах или для поверхностного монтажа ). Все модели, за исключением A1000, можно модернизировать до 2 МБ Chip RAM. A500 и ранние A2000B могут вместить 1 МБ, установив более позднюю версию чипа Agnus (8732A) с минимальными аппаратными модификациями; машины позднего производства обычно уже содержали этот чип, поэтому требовались только модификации перемычек . Аналогично, можно установить 2 МБ, установив 8372B Agnus и дополнительную память.
Максимальный объем Chip RAM в любой модели составляет 2 МБ. Материнская плата Amiga 4000 включает в себя нефункциональную перемычку, которая предвосхищала более поздние чипы и маркирована для 8 МБ Chip RAM — независимо от ее положения, система распознает только 2 МБ из-за ограничений чипа Alice. [3] Однако программный эмулятор UAE может эмулировать систему Amiga с проектным пределом до 8 МБ Chip RAM. [4]
Системы Amiga также могут быть расширены с помощью Fast RAM, которая доступна только для CPU. Это повышает скорость выполнения, поскольку циклы CPU никогда не блокируются, даже если пользовательский чипсет одновременно обращается к Chip RAM. Добавление Fast RAM в системы с 32-битными CPU примерно удваивает скорость выполнения инструкций , поскольку более продвинутые CPU 68020 , '030 и '040 могут использовать больше циклов памяти, чем более ранние 68000.
Сбивает с толку тот факт, что система может иметь несколько различных видов и скоростей быстрой оперативной памяти. Например, Amiga 3000 может содержать 16-битную расширенную оперативную память Zorro II , 32-битную расширенную оперативную память Zorro III , 32-битную оперативную память материнской платы и 32-битную оперативную память процессорной платы одновременно (в порядке возрастания скорости). Автоматически сконфигурированная оперативная память имеет приоритет в системе, поэтому самая быстрая память используется первой.
Ранние версии Amiga 2000B и наиболее распространенная конфигурация Amiga 500 с "расширенной памятью-лазейкой" содержат 512 КБ псевдобыстрой оперативной памяти ("медленной оперативной памяти"), контролируемой Agnus с теми же ограничениями, что и ОЗУ Chip, но непригодной для использования в качестве таковой из-за ограничений регистров . Многочисленные бюджетные расширения-лазейки [5] для 500 расширили эту концепцию "без контроллера" до 1,8 МБ медленной оперативной памяти (требующей адаптера Gary для адресации).