X87

Поделись знанием:
Перейти к: навигация, поиск

x87 — это специальный набор инструкций для работы с математическими вычислениями, являющийся подмножеством архитектуры процессоров x86. Такое название он получил, потому что первоначальные отдельные математические сопроцессоры имели названия, заканчивающиеся на 87. Как и другие расширения базового набора инструкций процессора, эти инструкции не являются строго необходимыми для построения рабочей программы, но будучи аппаратно реализованными, общие математические задачи они позволяют выполнять гораздо быстрее. Например, в наборе инструкций x87 присутствуют команды для расчёта значений синуса или косинуса.



Описание

Все процессоры Intel и AMD, начиная с 486DX, имеют встроенный математический сопроцессор, и в отдельном сопроцессоре не нуждаются (за исключением Intel486SX). Тем не менее, термин x87 всё ещё используется для выделения той части инструкций процессора, которая занимается вычислениями с использованием плавающей запятой; компиляторы могут использовать эти инструкции для производства кода, который работает быстрее, нежели тот, что использует вызовы к библиотекам для выполнения операций с плавающей запятой.

Инструкции x87 совместимы со стандартом IEEE-754. Однако, x87 выполняют операции не в строгом соответствии с форматами IEEE-754, из-за использования более широких регистров. Поэтому последовательность арифметических операций может выполняться несколько по-разному на наборе x87 и на процессоре, строго следующем формату IEEE-754.

x87 организует свои регистры не как массив, как большинство других архитектур, а как регистровый стек, работающий по принципу обратной польской записи. Это означает, что в один момент времени, только два верхних регистра доступны для проведения операций, а доступ к другим регистрам требует манипуляций со стеком. Хотя такая организация получается и удобной для программистов, она делает трудоёмким построение эффективного кода x87 для компиляторов.

Начиная с Pentium III, вычисления с помощью инструкций SSE осуществляются с одинарной точностью, а в более поздних версиях — с двойной точностью форматов IEEE-754. После появления SSE2, использование x87 в значительной степени умаляется в 64-разрядных архитектурах x86-64 и связанных с ней 64-битных реализациях операционных систем, таких как Microsoft Windows, Mac OS X, Solaris, FreeBSD и Linux, хотя он по-прежнему хорошо поддерживается для полной совместимости со старыми приложениями.

Напишите отзыв о статье "X87"

Ссылки по теме

  • [www.coprocessor.info Coprocessor.info : x86 Coprocessor development & history knowledge]
  • [wiretap.area.com/Gopher/Library/Techdoc/Cpu/coproc.txt Everything you always wanted to know about math coprocessors]

См. также


Отрывок, характеризующий X87

– Comment ca? – строго нахмурившись, перебил государь. – Mes Russes se laisseront ils abattre par le malheur… Jamais!.. [Как так? Мои русские могут ли пасть духом перед неудачей… Никогда!..]
Этого только и ждал Мишо для вставления своей игры слов.
– Sire, – сказал он с почтительной игривостью выражения, – ils craignent seulement que Votre Majeste par bonte de c?ur ne se laisse persuader de faire la paix. Ils brulent de combattre, – говорил уполномоченный русского народа, – et de prouver a Votre Majeste par le sacrifice de leur vie, combien ils lui sont devoues… [Государь, они боятся только того, чтобы ваше величество по доброте души своей не решились заключить мир. Они горят нетерпением снова драться и доказать вашему величеству жертвой своей жизни, насколько они вам преданы…]
– Ah! – успокоенно и с ласковым блеском глаз сказал государь, ударяя по плечу Мишо. – Vous me tranquillisez, colonel. [А! Вы меня успокоиваете, полковник.]
Государь, опустив голову, молчал несколько времени.
– Eh bien, retournez a l'armee, [Ну, так возвращайтесь к армии.] – сказал он, выпрямляясь во весь рост и с ласковым и величественным жестом обращаясь к Мишо, – et dites a nos braves, dites a tous mes bons sujets partout ou vous passerez, que quand je n'aurais plus aucun soldat, je me mettrai moi meme, a la tete de ma chere noblesse, de mes bons paysans et j'userai ainsi jusqu'a la derniere ressource de mon empire. Il m'en offre encore plus que mes ennemis ne pensent, – говорил государь, все более и более воодушевляясь. – Mais si jamais il fut ecrit dans les decrets de la divine providence, – сказал он, подняв свои прекрасные, кроткие и блестящие чувством глаза к небу, – que ma dinastie dut cesser de rogner sur le trone de mes ancetres, alors, apres avoir epuise tous les moyens qui sont en mon pouvoir, je me laisserai croitre la barbe jusqu'ici (государь показал рукой на половину груди), et j'irai manger des pommes de terre avec le dernier de mes paysans plutot, que de signer la honte de ma patrie et de ma chere nation, dont je sais apprecier les sacrifices!.. [Скажите храбрецам нашим, скажите всем моим подданным, везде, где вы проедете, что, когда у меня не будет больше ни одного солдата, я сам стану во главе моих любезных дворян и добрых мужиков и истощу таким образом последние средства моего государства. Они больше, нежели думают мои враги… Но если бы предназначено было божественным провидением, чтобы династия наша перестала царствовать на престоле моих предков, тогда, истощив все средства, которые в моих руках, я отпущу бороду до сих пор и скорее пойду есть один картофель с последним из моих крестьян, нежели решусь подписать позор моей родины и моего дорогого народа, жертвы которого я умею ценить!..] Сказав эти слова взволнованным голосом, государь вдруг повернулся, как бы желая скрыть от Мишо выступившие ему на глаза слезы, и прошел в глубь своего кабинета. Постояв там несколько мгновений, он большими шагами вернулся к Мишо и сильным жестом сжал его руку пониже локтя. Прекрасное, кроткое лицо государя раскраснелось, и глаза горели блеском решимости и гнева.