Я понимаю, что скорость доступа к внутренним регистрам очень высока по сравнению с кэш-памятью L1 и кэш-памятью L1 можно получить быстрее, чем кэш-память L2, к которой, в свою очередь, можно обращаться быстрее, чем в оперативной памяти. Но мне интересно, почему размер внутренних регистров всегда меньше размера кэша L1 и почему размер кэша L1 в основном меньше размера кэша L2, который, в свою очередь, всегда меньше размера оперативной памяти?

2 ответа2

5

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

Чтобы улучшить производительность, кто-то решил сделать кэш L1 с памятью, которая немного дешевле, но все же быстрее, чем RAM. Конечно, поскольку он дешевле, мы можем поставить его больше, чем регистры, но все же дешевле дешевой оперативной памяти. Так что дизайнер нашел баланс и здесь.

И история продолжается до Lx кеша ...

1

В основном регистры встроены в ЦП и, следовательно, могут напрямую обрабатываться процессорами. Если бы вы захотели построить такой L1, было бы слишком много проводов - также задержка проводов влияла бы на скорость доступа к таким большим регистрам.

Также дорого сделать оперативную память такой же быстрой, как кэш-память L1/L2.

Для более точной и подробной информации читайте, что каждый программист должен знать о памяти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .