What every programmer should now about the memory

топ 100 блогов itman30.10.2011 Прочитал первую часть оной статьи. Я в шоке. Нет, я конечно знал, что память медленнее процессора, но я не думал, что все так плохо: обращение к L1-кешу - это ожидание длиной несколько инструкций процессора, обращение к L2-кешу - десятки инструкций, а обращение к основной памяти означает ожидание порядка 200 инструкций! Процессоры кешируют абсолютно все: инструкции, данные, а также таблицы преобразование виртуальных адресов (Translation Lookaside Buffer). Любой промах - ожидание. Особенно нехорош промах в TLB: трансляция виртуального адреса для многоуровневой таблицы памяти может быть очень долгой.

Более того, даже обычные, последовательные обращения к DDR памяти далеко не всегда происходят с максимальной скорость, потому что процессы по обновлению заряда, перодически вклиниваются и тормозят чтение (пока не обновили заряд в конденсаторах, все стоят по стойке смирно). В рамках прочитанного возникает интересный вопрос о скорости работы DDR на обычной commodity hardware. Общеизвестное знание заключается в том, что скорость работы памяти, ну там, 10 ГБ/секунду. Данные по DDR3 вроде подтверждают это. Опять-таки, не стоит забывать, что burst transfer rate - это не тоже самое, что и средняя скорость считывания, которая зачастую в два раза меньше.

Ну, вот теперь пара тупых вопросов к знатокам: а когда несколько DDR3 чипов ставишь, то они работают параллельно, то бишь ведут к увеличению скорости или нет? Мое личное впечатление, что нет, но может я и не прав. Второй вопрос: раньше в Википедии была статья со страшными цифрами аж до 80 ГБ/сек, а сейчас я ее не могу найти. Лажа, которую заботливо удалили модераторы? Вроде как DDR4 должен быть раза в 1.5 быстрее DDR3, а это все-таки до 30 ГБ/сек, а не до 80.

UPDATE: о нашел потерянную Википедийную ссылку. Действительно есть процессоры, которые поддерживают double и triple-channel считывание данных, но говорится, что это максимально достижимая скорость, но на практике получается часто ближе к одноканальному считыванию. Значит, по всей видимости, реальные скорости считывания из памяти все еще не сильно превышают 10 ГБ/сек.

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
...
Ну что, дорогие мои молчаливые зрители. Опять я вас буду развлекать? Я поняла, чукча не читатель, чукча писатель. Сегодня отчёт о проведённом Празднике 9 мая. Люблю я путешествовать. Желательно конечно по заграницам, но дорого стало, и доктор запретил часто. Поэтому в деревню Калицино, ...
Наступила долгожданная пятница. Предлагаю развлекалку. Не далее, как вчера-сегодня мы с классным парнем Мишей Воскресенских слегка поспорили по поводу мимолётных объектов желания . Вопросов нет. Любую машинку можно расхвалить и обосрать ...
5 фраз, которые доказывают: все женщины иногда лгут, даже самые честные ! ;) Просыпаясь от телефонного звонка, поднимая трубку и услышав раздраженный голос друга: “Где ты? Я жду тебя полчаса!“, любая женщина, быстро осознав ситуацию, уверенно лжет: “Я буду через 5 минут!“. Если ...
Нет ничего приятнее реальной статистики. Застройщики могут ныть, лаять на банки и говорить самые нелицеприятные вещи, но всё это один делают ради одного. Обратить на себя внимание.