Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Логические операции SSE

ANDPS - логическое И

ANDNPS – штрих шифера, логическое не И

ORPS - логическое ИЛИ

XORPS - обратное ИЛИ, xorps sse,see же регистру получается 0

 

Целочисленные команды.

PAVGB/W mmx,src64; – каждый элемент источника добавляется к соответствующему элементу приемника mmx как без знаковое целое

результаты сдвигаются вправо на 1 бит затем в старший бит добавляется бит переноса в результате имеем среднеарифметическое целое.

PEXTRW cpu32,mmx,imm;imm=00,01,10,11 выделяет 16 битное слово из источника с номером определяя как 2 элемента индекса и помещает в младшую половину приемника старшая половина его

обнуляется.

PINSRW mmx,cpu32/mem16,imm;imm=3,2,1,0 считывает слово из источника помещает его в приемник регистр mmx, остальные слова приемника не изменяются.

PMAXUB mmx,src;– байтовые без знаковые

PMAXSW – слова знаковые, для каждого элемента в приемник попадает максимальное.

PMINUB mmx,src

PMINSW - тоже самое

PMOVMSKB cpu32,mmx mmx

| | | | | | | |

\/ \/ \/ \/ \/ \/ \/ \/

CPU | ________ |7|6|5|4|3|2|1|0| CPU

Заполняются младшие биты регистра CPU старшими битами Байт регистра mmx

 

Команды упаковки.

SHUFPS sse,src,imm;Помещается в старшие два вещественные числа приемника любые числа приемника, младшие 2 числа приемника помещаются любые два числа находящиеся в приемнике, какие именное

(a+ib)(c+if)=(ac-bf)+i(af+bc)

xmm0 | B|A|b|a | для мнимого xmm0 | A |B |a | b |

xmm1 | F|C|f|c | 10 11 01 11

movUPS xxm2,xmm0

mulps xmm2,xmm0; | BF|AC|bf|ac |

mulps xmm2,xmm3; | -1|+1|-1|+1 |

10 11 00 01 = 177d = 0B1h

shufps xmm0,xmm0,B1h;; ААААААААААААААААААААААААААААА

mulps xmm0, xmm1; | AF|BC|af|bc |

И еще стопицот shufps

 

Другой вариант.

xmm0 = | | | |a| movups xmm4,xmm0

xmm1 = | | | |b| mulss xmm4,xmm2; = a*c

xmm2 = | | | |c| movups xmm5,xmm1

xmm3 = | | | |f| mulss xmm5,xmm3; =b*f

subss xmm4,xmm5; =ac-bf

mulss xmm3,xmm0; =a*f

mulss xmm2,xmm1; =b*c

addss xmm2,xmm3; =af+bc

 

Управление хешированием.

movntps src128,sse - содержимое источника записывается в приемник мимо кэша.

PREFETCH0/1/2/NTA mem – эти команды заставляют процессор заранее помещать данные в кэш,

0-кэш нулевого/1-первого/2-второго/NTA-всех уровней

Это необязательные команды это рекомендуемые.

SFENCE – при работе с памяти современные процессоры могут выполнять обращения к памяти не так как они записаны в программе, команда гарантирует, что все операции записи в память, расположенные до нее будут выполнены.

НЕ РЕКОМЕНДУЕТСЯ ПОЛЬЗОВАТСЯ ЭТОЙ ЙУХНЁЙ.

 

FPU не является составной частью

 

IEEE 754/854

4 типа данных – 3 из которых короткие, длинные и расширенные

вещественные

 

float 32бит – короткое вещественное, количество значащих цифр десятичных 7, пределы +/- 1,18*10e-38*3,40*10e38

double 64bit – 15-16 значащих 2.23*10e-308 * 1,79*10e308

long double 80 bit – 19 – 3,37*10e-4932 * 1,18*10e4932

 

0,625-1/2=0,125 0,1

0,125-1/4=- 0,10

0,125-1/8=0 0,101 B

допустим:

1/3=0,(3)=0,3333 ограничимся 4-мя знаками после запятой.

0,3333-1/2=- 0,0

0,3333-1/4=0,0833 0,01

0,0833-1/8=- 0,010

0,0833-1/16=0.0208 0,0101

0,0208-1/32=- 0,01010

0,0208-1/64=0,005175 0,010101

0,0051-1/128=- 0,0101010

0,0051-1/256=0,0012 0,01010101

 

¼+1/16+1/64+1/256=0,25+0,0625+0,015625+0,00390625=0,33 203125

АААААААААААААААААААААААААААААААААААААААААААААААААААААААААААА

басраца!

МАНТИССА -> 1,01 * 2^(-1) <- ЭКСПОНЕНТА

Используется из за невозможности представления формата и тосамое.

 

Экспонента хранится в виде суммы с некоторым числом чтобы она была положительной.

 

Представление процессорное:

float, 31 бит - знак мантиссы, 30-23 восемь бит на экспоненту+127, 22-0 мантисса

double, 63 bit – знак, 62-52 11бит знаков+1024, 51-0 мантисса

long double, 79bit – знак, 78-64 15бит+16383, 63-0 мантисса

 

Положительные ноль - все биты = 0

Неопределенность – сигнальное не число, реагировать на проц

«Тихое» не число – не реагировать на проц.

Не поддерживаемое число – непонятное все остальное.

 

FPU содержит 8 – 80битрных регистров

8 – вычислений

5 – состояний и управлений.

ГАРВАДСКЭ система

R0..R7, st – вершина стека регистров

R0 [] 3

R1 [] 4

R2 [] 5

R3 [] 6

R4 [] 7

R5 [] st <-

R6 [] st(1)

R7 [] 2

 

SR – флаговый регистр - состояния

CR – способ округления – управления – двубитовое поле 11-10

 

ЛАБА ТАКАЯТО

0.Чо хачу получить

1.Что делаю

 

<== предыдущая лекция | следующая лекция ==>
Сложение | 
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 272; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.