logo search
Методичка

10.5.3 Предвыборка данных и инструкций

Напомним, что исполнение кода процессором начинается с процесса выборки инструкций и данных из кэша L1. Однако для того, чтобы инструкции и данные попали в этот кэш, их нужно предварительно туда загрузить из оперативной памяти. Такой процесс, как говорилось ранее, называется предвыборкой данных и инструкций из оперативной памяти.

В процессорах с архитектурой К8 имеются два блока предвыборки (Fetch Unit): один для предвыборки данных, а другой для предвыборки инструкций. Блок предвыборки данных производит предвыборку в кэш L2.

В микроархитектуре AMD K10 предвыборка данных осуществляется непосредственно в кэш L1, что, по утверждению представителей компании AMD, способствует повышению производительности, несмотря на вероятность засорения кэша L1 ненужными данными. Кроме того, в блоках предвыборки процессоров с микроархитектурой К10 реализован механизм адаптивной предвыборки данных, позволяющий динамически изменять глубину предвыборки, что дает возможность избежать засорения кэша L1 ненужными данными. Ну и последнее новшество, связанное с предвыборкой данных и инструкций, – это наличие нового блока предвыборки, расположенного в контроллере памяти. Этот блок предвыборки анализирует запросы к памяти, предсказывает, какие данные понадобятся процессору, и извлекает их в собственный буфер, не занимая кэш процессора.