ДС18в09-иерархия-памятей (1238912), страница 2
Текст из файла (страница 2)
Например при старте.¢Конфликтный промах§ Большинство кэшей ограничивает (вплоть до 1) количество позицийразмещения в кэше для каждого кэш-блока памяти.§ Пример: блок i в памяти должен размещаться в (i mod 4) позициикэша.§ Конфликтный промах, если в кэше есть место, но несколько блоковпамяти претендуют на одно место в кэше.§ Пример: обращения к блокам 0, 8, 0, 8, 0, 8, ... промахиваютсявсегда.¢Промах ёмкости§ Множество используемых кэш-блоков, рабочий набор (working set)превышает размер кэша.56Пример кэширования в иерархииЗадержка(циклов)Ктоуправляет?Тип кэшаЧто кэшируем?Где кэшируем?РегистрыСлова 4-8 байтЯдро ЦП0 КомпиляторTLBТрансляцияадресовTLB на кристалле ЦП0 АппаратураКэш уровня 1Блок 64 байтаНа кристалле ЦП1 АппаратураКэш уровня 2Блок 64 байтаНа кристалле ЦП10 АппаратураВиртуальная пам.Страница 4-KБОсновная память100 Аппарат.+ОСКэш-буферЧасти файловОсновная память100 ОСКэшдискаКэш сетиСектора дисковКонтроллер дискаЧасти файловМестный диск10,000,000 Клиентсетевой ФСКэш браузераВеб-страницыМестный диск10,000,000 Веб браузерВеб-кэшВеб-страницыУдалённый сервер100,000 ПО в диске1,000,000,000 Веб проксисервер57Сводка¢¢¢Различия в скорости ЦП,ОЗУ и дисков продолжаютнарастать.Хорошо написанные программы демонстрируютсвойство, называемое «локальность».Иерархии памятей основанные на кешированиинивелируют различия используя локальность.58Дополнительные слайды59Обычная организация DRAM¢d x w DRAM:§ dw бит организуются в d макроячеек размером w битИнтегральная схема DRAM 16 x 802 бита/адрес(к/от CPU)контроллерпамятистолбцы12301строкимакроячейка(2,1)28 бит/3данныеВнутренний буфер строки60Чтение макроячейки DRAM (2,1)Шаг 1(a): Выбор строки 2 по сигналу «Row access strobe» (RAS).Шаг 1(b): Строка 2 копируется из массива DRAM в буфер стоки.Интегральная схема DRAM 16 x 8RAS02 бита/столбцы1230адрес = 2строкиконтроллерпамяти128 бит/3данныеВнутренний буфер строки61Чтение макроячейки DRAM (2,1)Шаг 2(a): Выбирается столбец 1 по сигналу «Column access strobe» (CAS)Шаг 2(b): Макроячейка (2,1) копируется из буфера на шину данных, изатем в CPU.Интегральная схема DRAM 16 x 8CAS02 бита/30адрес = 1в CPUстрокиконтроллерпамятимакроячейка(2,1)столбцы12128 бит/3данныемакроячейка(2,1)Внутренний буфер строки62Модули памятиадрес (строка = i, столбец = j): макроячейка (i,j)DRAM 064 MBмодуль памятисостоит извосьми 8Mx8 DRAMsDRAM 7биты биты56-63 48-556356 5548 47биты40-4740 39биты32-39биты24-31биты16-2332 3124 2316 15биты биты8-15 0-78 7064-битное двойное слово основной памяти по адресу AКонтроллерпамяти64-битное двойное слово63Усовершенствованные DRAM¢Основная ячейка DRAM практически не менялась смомента изобретения в 1966.§ Коммерциализована Intel в 1970.¢DRAM-массивы с улучшенной логикой ввода/вывода :§ Синхронная DRAM (SDRAM)Использует синхронное управление вместо асинхронного§ Повторно использует адрес строки (например: RAS, CAS, CAS, CAS)§ Синхронная DRAM удвоенного быстродействия (DDR SDRAM)§ Отсылка по одному проводу двух бит за цикл синхронизации§ Различия в размере небольших буферов предвыборки:– DDR (2 бита), DDR2 (4 бита)…§ Типично в 2010г.
для для большинства серверов и настольных ПК§ Intel Core i7 поддерживает только DDR3 SDRAM§64Тенденции развития памятиSRAMПараметр19851990199520002005201020152015:1985$/MБдоступ (нс)2,90015032035256151003752601.532020011611519851990199520002005201020152015:19851001004307016160640.1502,0000.06408,0000.022016.00044,0001062,5001990199520002005201020152015:198530010110820551600.331,5000.0333,0003,333,33325300,000DRAMПараметр$/MБ880доступ (нс)200тип.
ёмкость (ГБ) 0.256ДискПараметр1985$/ГБ100,000 8,000доступ (мс)7528тип. ёмкость (ГБ) 0.010.1665Тактовая частота ЦП Переломная точка в компьютерной истории.Столкновение со “стеной энергопотребления”2003200520102010:1980Pentium P-IIIP-4Core 2Core i7---201506003300200025002500Времятакта (нс) 10005061.60.30.500.42500Ядер11112445061.60.30.250.110,00019801990199580803861ЦПТактоваяч-та (МГц)1Эффект.время 1000цикла (нс)200066.