КАТЕГОРИИ: Архитектура-(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; Просмотров: 289; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |