Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на вопросы_ABC.doc
Скачиваний:
11
Добавлен:
17.09.2019
Размер:
6.14 Mб
Скачать

36) Виртуальная память.

Virtual Channel SDRAM преподносится как революционное новшество для создания новых типов ОЗУ, рассчитанных на многозадачные системы, в которых чередуются обращения различных процессов к разным участкам памяти и построен на основе технологии VCM.

VCM (Virtual Channel Memory) - разработанная NEC и Siemens технология, позволяющая оптимизировать доступ к оперативной памяти нескольких "процессов" (насколько можно судить, в качестве отдельных процессов могут быть рассмотрены, например, запись данных центральным процессором, перенос содержимого оперативной памяти на жесткий диск, обращения графического процессора и т.п.) таким образом, что переключение между процессами не приводит к падению производительности. В отличие от традиционной схемы, когда все процессы делят одну и ту же шину ввода-вывода, в технологии VCM каждый из них использует "виртуальную" шину. Организованное на уровне чипа взаимодействие "виртуальных" и реальной шины позволяет достичь прироста производительности системы до 25%. Схема VCM может быть реализована в рамках уже существующей технологии.

VCM была анонсирована компанией NEC Electronics на выставке "Comdex/Fall'97". Фирма определила новый протокол и схемные решения, разрешающие подсистемам, обращающимся к памяти, управлять виртуальными каналами (VC) - независимыми интерфейсными блоками DRAM. Любой прибор, скажем, L2-контроллер или графический процессор, должен иметь свой виртуальный канал. Каждый канал содержит статический буфер страниц. Прибор может читать или писать в буферы, копировать их или загружать из накопителя DRAM. Операционная система, распознающая архитектуру VCM, могла бы назначить и собственный виртуальный канал.

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

Рис. 4.13.

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

Виртуальный канал может отфильтровывать большинство пропусков страниц. Когда процесс обращается к каналу, он все еще находит SRAM-буфер страниц неизменным после последнего обращения к нему. Вставленные непосредственно в периферию DRAM, буферизированные контроллеры виртуального канала позволят уменьшить паузы в работе системы при обращении ее подсистем к разным страницам памяти.

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

По данным NEC увеличение эффективности может достичь до 90%, а вообще по тестам VCM133 SDRAM превосходит PC133 процентов на 10-30. Это и уменьшившиеся задержки, и более высокая пропускная способность, и уменьшение энергопотребления (примерно на те же 30 процентов) за счет того, что в тот момент, когда происходит передача результатов приказа системному устройству, вся фоновая активность по другую сторону виртуального канала может быть заморожена.

По выводам чипы VCM полностью аналогичны обычным чипам SDRAM, совместимы они с ними и по используемому интерфейсу, BIOS может легко распознать модули VCM SDRAM путем использование SPD. Модули, естественно, абсолютно взаимозаменяемы с обычными SDRAM DIMM, причем все последние чипсеты от SiS, ALI, VIA VCM полностью поддерживают. Увеличение площади чипа по сравнению с тем же SDRAM составляет всего 1-3%, при этом используется то же производственное и тестовое оборудование, что и для обычного SDRAM, а за счет несколько более высокого выхода, себестоимость, скажем, VCM133 для производителей должна быть примерно равна себестоимости PC133 SDRAM. Причем VCM полностью независима от типа памяти, и с легкостью может быть в дальнейшем встроена, например, в DDR SDRAM

Динамическая память фирмы NEC требует, чтобы контроллер памяти явно заказал все перемещения между SRAM-буферами и DRAM-массивом. Это позволит достаточно "умному" контроллеру полностью скрыть большинство тактов ожидания, выполняя перемещение данных, в то время как другие каналы используют буферы ввода/вывода. В результате DRAM улучшает производительность системы без увеличения тактовой частоты работы шины.

В соответствии с технологией VCM в VCSDRAM любое системное устройство (Memory Master) может сделать запрос, обладающий уникальными характеристиками - адресом, размером блока данных к памяти, посредством виртуальных каналов. По идее, системный контроллер памяти ассоциирует каналы с процессами, что ускоряет работу системы, как если бы каждому процессу выделялся отдельный ресурс доступ к памяти. Каждый канал может выполнить обмен данными с любой строкой любого банка ядра.

По этой технологии при записи данные не сразу заносятся в ядро, а помещаются в буфер — виртуальный канал — и хранятся там до тех пор, пока ядро не будут готовы их принять (оно, например, может быть занято регенерацией или обменом с другим устройством).   Запись данных в VCSDRAM выполняет следующим образом: вначале данные записываются в виртуальный канал, а потом по мере освобождения контроллера DRAM происходит запись непосредственно в ячейки памяти SDRAM .

Чтение данных осуществляется путем запроса данных у виртуального канала, который в соответствии с запросом напрямую считает содержимое блока ячеек SDRAM, содержащий необходимые данные, и дополнительно выполнит упреждающее чтение.

Чтобы при одновременном обращении к памяти нескольких процессов не снизилась производительность, число каналов доведено до 16 по 1024 бита каждый (в модулях по 256Mb каждый канал может передавать до 2048 бит). Работает VC SDRAM при частоте вплоть до 143 МГц. Тип корпуса — стандартный, совместимый по контактам и набору команд (“сверху вниз”) с SDRAM.