Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SSE-Tech - Новые команды процессора Pentium III.doc
Скачиваний:
23
Добавлен:
02.05.2014
Размер:
836.1 Кб
Скачать

3.6. Преобразование из fp в целое

В расчетах освещенности 3D-объектов и во многих других задачах целесообразно использовать новые SIMD-команды для обработки данных с плавающей запятой. Поскольку графические адаптеры считывают только целочисленные данные, то при выводе результатов расчета на экран дисплея необходимо преобразовать полученные результаты расчета из FP-представления в целое.

Этот код выполняет преобразование четырех SPFP-чисел XMM регистра в целые числа двух MMX регистрах.

Определим следующие константы:

;Convert

movaps xmm0,[Convert]

cvttps2pi mm0, xmm0

shufps xmm0,xmm0,Eh

cvttps2pi mm1, xmm0

; end

3.7. Упреждающее кэширование

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

Этот код уменьшает задержки за счет использования команды prefetch.

loop

movaps xmm1, [edx + ebx]

movaps xmm2, [edx + ebx + 16]

prefetcht1 [edx + ebx + 32] ;Кэшировать данные заранее

;...

add ebx,32

cmp ebx, buff_size

jl loop

Литература:

1. Руководству программиста по архитектуре Intel, Том 1. (Intel Architecture Software Developer's Manual, Volume 1: Basic Architecture)

2. Руководству программиста по архитектуре Intel, Том 2. (Intel Architecture Software Developer's Manual, Volume 2: Instruction Set Reference Manual)

3. Руководству программиста по архитектуре Intel, Том 3. (Intel Architecture Software Developer's Manual, Volume 3: System Programming Guide).

45