Компьютерное железо

Почему элементы кэш-памяти работают быстрее оперативной? желательно развернутый ответ: ) желательно развернутый ответ:)

Gia Tskhadiashvili
Gia Tskhadiashvili
129
объем памяти не значителен и она имеет прямой доступ без использования контроллера (северного моста) отсюда и скорость. почитайте http://www.osp.ru/cw/2000/15/4418/ . : ))
АБ
Алексей Бельков
31 151
Лучший ответ
1.Кеш память (любого уровня) работает на больших частотах в разы чем оперативная
2.Находится на одном кристале с процессором.
Eldos Aibekov
Eldos Aibekov
88 416
Потому что динамическиая память (то что оперативкой называете) конденсаторная. Ей нужны циклы регенерации и считывания строки и потом подача даных пользователю проге. КЭШ память хранит часть образа кусочками нужными из денамической. Самая быстрая полно ассоциативнная. Кэж может быт полуассоциативным и быть медленее. Но основной КЭШ всегда полно ассоциативен. Затраты в транзисторах более чем 6 раз. Да мощности они жрут мног коль транзюков много и скорость обращения больше. А первые процы обходились без КЭШа. максимум была очередь команд. Даже своп это тоже память только на диске. Вот и считайте цепочку КЭШ 1 уровня самый быстрый, КЭШ второго уровня чуть помедленее, КЭШ 3 уровня ущё медленее , оперативная память и далее диск. В итоге получается куча памяти по обьёму с разно скоростью. Но КЭШ всегда синхронизирован с оперативкой. Нет изменений нет изменений в оперативке. Чем короче код чтоб сдаными лёг в КЭШ тем быстрее прога. А теперь ещё смешнее. У многоядерных были КЭШи одним размером на ядро, а потом появился динамический размер. Если одному ядру много не надо , то другое забирает свободное. Ускорение существеное. Если физических процов многоядерных много, то это происходит внутри аждого проца между ядрами. Жаль не помните пенёк первый с отдельной статическими микрухами и микросхемой тегов памяти.
Ну, чувак! Тут все просто. Оператива неизменно обращается к процу через контроллер памяти, который помимо ограничений по шине вынужден еще проводить кучу алгоритмов как то установка бита четности на каждом из тактов и синхронизировать это все с частотой CPU. Другое дело кэш. Эта ерунда служит буфером и стоком (для каждого из ядер проца, например) . Проц напрямую обращается в кэш со считыванем - записью типичных тактовых циклов (это в общем. На деле кэш подразделяется на уровни использующие отдельно команды, данные, инструкции)
Жанат Джигит
Жанат Джигит
5 899
потому что кэш память располагается на одном кристале с процессором (по крайней мере первого и второго уровня)