Материал опубликован - 05/03/2001
Новое ядро ХТ
С выпуском нового процессора К6-2 400 было анонсировано и новое ядро, которое
в нем использовано. Оно получило название XT или CoreXT (CXT). Перепроектирование
регистра управления записью(Write Handling Control Register ) и функции распределения
записи (Write Alllocation) позволило увеличить производительность прцессоров
К6-2 новых серий приблизительно на 8-10% на той же частоте.
С выпуском оригинального К6 одним из путей повышения производительности стала
поддержка BIOS' ом материнской платы функции распределенной записи (Write Allocation).
Эта функция определяется сочетаниям трех понятий: запись в кешируемую область,
запись в сектор памяти и граница распределенной записи. Основное отличие нового
ядра состоит в изменении границ распределенной записи и появлении 8-байтного
буфера объединения записи(Write Merge Buffer). Границы распределенной записи
задаются в регистре управления записью.
WA используемая в архитектуре К6, срабатывает, если процессор выполняет чикл
записи в строку кеша, а эта строка лежит за пределами кеша данных первого уровня.
Если WA разрешен, то процессор в этом случае выполняет пакетный цикл чтения
для заполнения этой строки кеша. Данные, связанные с циклом записи, ассоциируются
с последней строкой кеша и помещаются в кеш данных первого уровня. Во время
WA вместо обычного цикла записи выполняется пакетный 32-байтовый цикл чтения,
который выполняется дольше. Выигрыш в производительности ожидается при попадании
следующих циклов записи в заполненную строку кеша. Исходя из характеристик современного
программного обеспечения, вероятность таких попаданий очень велика, что приводит
к росту суммарной производительности.
Теперь давайте рассмотрим изменения, произошедшие при перепроектировании регистра
WHCR. Таков формат у стандартного процессора К6-2 (Stepping 7:0) :
А вот так выглядит этот регистр у процессоров с новым ядром XT (Stepping F:8)
Как видите, поле отвечающее за границы распределенной записи, расширено с 7
до 10 бит в новом ядре. Это увеличивает теоретические границы распределенной
записи с 508Мб в оригинальном ядре до 4Гб в ядре ХТ( Напомню, что значение этого
регистра умножается на 4Мб). Само по себе это изменение практически не вносит
прироста производительности, но в сочетании с буфером объединения записи(WMB),
рост производительности довольно значителен. Вместо простого исключения циклов
записи в память, буфер объединения записи объединяет все обращения к сегменту
памяти в один 8-байтовый буфер. Объединение 8-ми некешируемых циклов записи
в один пакетный цикл чтения и записью в кеш первого уровня(в идеале, конечно)
сильно разгружает шину процессора и уменьшает его простои - именно в этом секрет
повышения быстродействия ядра ХТ. Буфер объединения записи напрямую связан с
регистрами MTRR (Memory Type Range Register), котрые определяют сегмент памяти.
Наиболее часто последовательные обращения происходят к видеопамяти. Поэтому
выгодно настраивать регистры MTRR на область видеопамяти. В современных видеоадаптерах
доступ к видеопамяти производится не через окно в 64Кб, а, через так называемый,
линейный буфер кадров - Linear Frame Buffer(LFB). Настройка функции WA на LFB
позволит получить более высокую скорость заполнения видеопамяти, т.е. FILLRATE.
Эти пояснения должны помочь вам правильно использовать программу SetK6.
Теперь рассмотрим в чем заключается поддержка BIOS. Во-первых, биты WAELIM
должны указывать на верхнюю границу памяти, чтобы функция WA работала для всей
памяти. Биты в новом ядре смещены в область старших разрядов и поэтому устанавливаются
в "0". В результате верхняя граница памяти для WA равна нулю и функция
WA НЕ РАБОТАЕТ. К примеру: у вас установлено 32Мб памяти, тогда значения битов
WAELIM должны быть выставлены в 0000001000 , т.к. 8*4Мб=32Мб. Бит WAE15M отвечает
за работу функции WA в диапазоне 15-16Мб. Эта область памяти используется адаптерами
с отображением на память, например SCSI. Если у вас есть такой адаптер, то WA
должна быть выключена, т.е. бит WAE15M должен быть установлен в "0".
В связи с тем, что у новых процессоров этот бит смещен, то могут возникнуть
проблемы с некоторыми устройствами.
В выходящем К6-3 будет использовано ядро ХТ в сочетании с 256Кб кеш-памяти
второго уровня, работающей на частоте процессора. Таким образом кеш-память материнской
платы становится кешем третьего уровня. Узким местом архитектуры Super7 является
обмен процессора с кешем второго уровня. Эту проблему фирма Intel решила переносом
кеша второго уровня на плату процессора и тактированием кеша половиной частоты
ядра процессора. Применение кеша работающего на полной частоте процессора в
CeleronA и Xeon еще больше увеличило производительность. Поэтому можно ожидать
заметного увеличения производительности процессора К6-3 по сравнению с К6-2
и опережения интеловских процессоров. В пользу последнего утверждения говорят
три факта:
- по сравнению с PII, кеш работает наполной частоте процессора, а не на половинной,
также есть кеш третьего уровня
- по сравнению с Celeron, есть кеш второго и тетьего уровня
- по сравнению с CeleronA, кеш имеет вдвое больший размер и присутствует кеш
третьего уровня
Это подтверждают результаты, полученные Анандом
в его эксклюзивном обзоре. Если принимать во внимание его результаты, 2Мб кеш
третьего уровня дает прирост производительности 9%. Кеш второго уровня, работающий
на частоте процессора, дает преимущество в 8%. Применение ядра ХТ в среднем
прибавляет еще 6%. Суммарный прирост производительности может составить 23%.
Хочу отметить, что это предварительные результаты и мои предположения. Сам я
новый процессор К6-3 еще не испытывал и поэтому не могу утверждать, что результат
не изменится в ту или другую сторону. Это покажет практика.
Первоисточник: hardware.ul.ru
