Предложена новая архитектура процессорного кэша на базе памяти DRAM, которая позволяет увеличить пропускную способность без снижения отклика. Разработка исследователей из Массачусетского технологического института, Intel и Швейцарской высшей технической школы Цюриха была представлена на конференции MICRO-50 ’17.
Одним из основных «бутылочных горлышек» в компьютерной технике является связь между процессором и памятью. Для того, чтобы ускорить это взаимодействие, производители процессоров устанавливают память и процессор в один модуль и тем самым увеличивают как пропускную способность шины, так и улучшают время отклика памяти. В такой схеме эта память используется в качестве кэша, хранящего наиболее часто используемые данные.
Для увеличения эффективности памяти уже существуют разные подходы, например, хэш-таблицы. Они устроены таким образом, что зная хэш-функцию и применяя ее к тэгу искомых данных, процессор может узнать расположение этих данных в памяти, вместо того, чтобы перебирать все ячейки памяти подряд. Хэш-функции всегда возвращают одно значение для одного и того же аргумента, но могут возвращать одинаковые значения для разных аргументов.
Как правило, для небольших объемов данных и требовательных к скорости применений используется память типа SRAM, а для больших объемов, к примеру, оперативной памяти используют более простая и дешевая DRAM. SRAM и DRAM устроены по-разному, одно из основных отличий заключается в том, что, когда процессор запрашивает данные из SRAM-кэша, он просто посылает соответствующий тэгу этой записи хэш, а память самостоятельно сопоставляет его с имеющимися тэгами и возвращает соответствующие данные. В случае с DRAM-кэшем задача по сопоставлению записей в кэше с требуемыми данными ложится на сам процессор. Эта особенность «забивает» канал взаимодействия процессора с памятью не самими данными, а метаданными, и тем самым снижает его пропускную способность.
Исследователи предложили новую схему, при которой к каждой записи к страничной таблице добавляются биты о том, можно ли найти данные в кэше, а также о расположении данных с тем или иным тэгом относительно данных с таким же хэшем. Помимо этого программного алгоритма, исследователи также предложили применять аппаратный компонент, называемый ими буфером тэгов, который позволит гораздо реже обновлять содержимое таблиц памяти. По заявлению разработчиков, такая архитектура позволяет увеличить производительность на 15 процентов, а трафик между процессором и памятью на 35 по сравнению с существующими схемами DRAM-кэширования.
Недавно австралийские ученые предложили схему кратковременной памяти для оптических компьютеров. Для этого они предложили с помощью специальной схемы преобразовывать оптический сигнал в звуковые колебания, которые распространяются на несколько порядков медленнее.
Григорий Копиев