50.14. ТЕНДЕНЦИИ В ENVIRONMENT



Тенденции в CPU programming-environment.

Базовое целочисленное ядро
	+ FP		(RISC)
	+ векторные целочисленные инструкции	(MMX)
	+ векторные FP инструкции		(SSE/SSE2)
        + команды иерархии памяти		(SSE2)

	матричные команды
	зацепление операций


Регистр версии процессора Удобство определять тип и возможности процессора прямо а не базируясь на косвенных признаках TODO: Пример косвенного определения для x86 и пример CPUID.


Счетчики производительности Time Base Facility (Time stamp counter) каждый такт увеличивается на 1 (минусы: когда процессор управляет своей частотой динамически, время тактов бывает различное) Performance monitoring TODO: Примеры событий и регистров по их управлению


Управление регионами памяти Cached Regions Controls В микропроцессорной системе в физическом адрессном пространстве существуют много различных видов памяти: Оперативная память Регистры ввода/вывода отображенные в память видеобуфер Очевидно что эти регионы должны иметь как минимум разные политики кэширования например память кэшировать на запись хорошо, видеобуфер кэшировать на запись плохо, а на чтение хорошо (если только его не изменяет какой нибудь 3D engine). Регистры ввода/вывода кэшировать просто нельзя. BIOS который копируется из ROM в оперативную память для быстродействия может кэшироваться, но не должен модифицироваться. Кроме того современные процессоры поддерживают out-of-order execution, а порядок операций ввода/вывода в некоторых случаях критически важен ------------------------------------------------------------- Speculative Memory Cache WB Read Ordering ------------------------------------------------------------- Write Protected Yes No Yes Speculative Write Back Yes Yes Yes Speculative Write Through Yes No Yes Speculative Write Combining No No Yes Weak Uncachable No No No Strong ------------------------------------------------------------- В принципе OS может настроить все эти параметры в таблицах страниц. Но это неэффективно, поэтому в современные процессоры добавлены регистры которые позволяют настроить эти параметры для регионов физической памяти. При обращении параметры из этих регистров как правило перебивают параметры выставленные в таблицах страниц. TODO: Примеры Uncached:



Write Combining:



Write Through

Write Back


Index Prev Next