Общая графическая память: принципы работы и применение.
Shared graphics memory
Общая графическая память: что это такое? Объяснение принципа работы, плюсы и минусы использования системной RAM для видеокарты. Оптимизация и производительность.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
В компьютерной архитектуре общая графическая память относится к конструкции, в которой графический чип не имеет собственной выделенной памяти, а вместо этого совместно использует основную оперативную память системы с центральным процессором и другими компонентами. Эта конструкция применяется во многих интегрированных графических решениях для снижения стоимости и упрощения разработки материнской платы, поскольку не требуется установка дополнительных микросхем памяти на плату. Обычно предусмотрен механизм (через BIOS или перемычку) для выбора объема системной памяти, выделяемого для графики, что позволяет графической системе использовать только необходимое количество оперативной памяти, оставляя остальное свободным для приложений. Побочным эффектом является то, что после выделения части оперативной памяти для графики, она становится недоступной для других задач. Например, компьютер с 512 МБ оперативной памяти, при выделении 64 МБ для графики, будет отображаться в операционной системе и для пользователя как имеющий только 448 МБ оперативной памяти. Недостатком такой конструкции является более низкая производительность, поскольку системная оперативная память обычно работает медленнее, чем выделенная графическая память, и возникает больше конфликтов при совместном использовании шины памяти. Это также может привести к снижению производительности других компонентов системы, если при разработке не учитывалось выделение части оперативной памяти для графики. Схожий подход, дающий аналогичные результаты, использовался в некоторых компьютерах SGI, в частности в моделях O2/O2+, где память представляла собой единый быстрый пул (2,1 ГБ/с в 1996 году), совместно используемый системой и графикой. Распределение памяти происходит по требованию, включая перенаправление указателей между основной системой и графической подсистемой. Эта архитектура называется Единой Архитектурой Памяти (UMA).
In computer architecture, shared graphics memory refers to a design where the graphics chip does not have its own dedicated memory, and instead shares the main system RAM with the CPU and other components. This design is used with many integrated graphics solutions to reduce the cost and complexity of the motherboard design, as no additional memory chips are required on the board. There is usually some mechanism (via the BIOS or a jumper setting) to select the amount of system memory to use for graphics, which means that the graphics system can be tailored to only use as much RAM as is actually required, leaving the rest free for applications. A side effect of this is that when some RAM is allocated for graphics, it becomes effectively unavailable for anything else, so an example computer with 512 MiB RAM set up with 64 MiB graphics RAM will appear to the operating system and user to only have 448 MiB RAM installed. The disadvantage of this design is lower performance because system RAM usually runs slower than dedicated graphics RAM, and there is more contention as the memory bus has to be shared with the rest of the system. It may also cause performance issues with the rest of the system if it is not designed with the fact in mind that some RAM will be 'taken away' by graphics. A similar approach that gave similar results is the boost up of graphics used in some SGi computers, most notably the O2/O2+. The memory in these machines is simply one fast pool (2.1 GB per second in 1996) shared between system and graphics. Sharing is performed on demand, including pointer redirection communication between main system and graphics subsystem. This is called Unified Memory Architecture (UMA).
История
Большинство первых персональных компьютеров использовали архитектуру с общей памятью, где графическое оборудование совместно использовало память с центральным процессором. Такие решения позволяли экономить средства, так как для отображения и программ использовался один модуль DRAM. Примерами являются компьютеры Apple II, Commodore 64, Radio Shack Color Computer, Atari ST и Apple Macintosh. Заметным исключением был IBM PC. Отображение графики обеспечивалось за счет использования карты расширения с собственной памятью, подключаемой в слот ISA. Первым IBM PC, использовавшим SMA, был IBM PCjr, выпущенный в 1984 году. Видеопамять совместно использовалась с первыми 128 КБ оперативной памяти. Точный размер видеопамяти можно было перенастраивать программно в зависимости от потребностей текущей программы. Ранней гибридной системой была Commodore Amiga, которая могла работать в режиме общей памяти, но при наличии свободной "быстрой памяти" предпочтительно загружала туда исполняемый код.
Most early personal computers used a shared memory design with graphics hardware sharing memory with the CPU. Such designs saved money as a single bank of DRAM could be used for both display and program. Examples of this include the Apple II computer, the Commodore 64, the Radio Shack Color Computer, the Atari ST, and the Apple Macintosh. A notable exception was the IBM PC. Graphics display was facilitated by the use of an expansion card with its own memory plugged into an ISA slot. The first IBM PC to use the SMA was the IBM PCjr, released in 1984. Video memory was shared with the first 128KiB of RAM. The exact size of the video memory could be reconfigured by software to meet the needs of the current program. An early hybrid system was the Commodore Amiga which could run as a shared memory system, but would load executable code preferentially into non shared "fast RAM" if it was available.