2009-12-04 18 views
20

पर x87 के लाभ मुझे पता है कि x87 में उच्च आंतरिक परिशुद्धता है, जो संभवतः लोगों और एसएसई संचालन के बीच लोगों का सबसे बड़ा अंतर है। लेकिन मुझे आश्चर्य है, क्या x87 का उपयोग करने के लिए कोई अन्य लाभ है? मेरे पास किसी भी प्रोजेक्ट में स्वचालित रूप से -mfpmath=sse टाइप करने की आदत है, और मुझे आश्चर्य है कि क्या मुझे कुछ और याद आ रहा है जो x87 FPU ऑफ़र करता है।एसएसई

उत्तर

14

x87 में कुछ निर्देश हैं जो एसएसई निर्देश सेट में मौजूद नहीं हैं।

सिर से बाहर यह सभी त्रिकोणमितीय सामग्री जैसे fsin, fcos, fatan, fatan2 और कुछ घातीय/लघुगणक सामग्री है।

यदि आपका कोड त्रिकोणमित्री करने में अधिकतर समय व्यतीत करता है तो आप x87 का उपयोग करते हुए थोड़ा सा प्रदर्शन बढ़ा सकते हैं। कुछ डीएसपी एल्गोरिदम इस श्रेणी में आ जाएंगे।

हालांकि, कोड गणित कोड के लिए जहां आप अपना अधिकांश समय जोड़, गुणा ईक्विटी करते हैं। एसएसई आमतौर पर तेज़ है।

+0

@LiraNuna वास्तव में? मुझे किसी भी ऑपोड के बारे में पता नहीं है जो सीधे एसएसई निर्देश सेट से पाप या कॉस की गणना करता है। –

+5

कृपया एक स्रोत, Quonux प्रदान करें। – asdf

+0

http://gruntthepeon.free.fr/ssemath/ – MickLH

16
  1. यह वास्तव में पुरानी मशीनों पर मौजूद है।

EOF

4
  • वहाँ काफी विरासत और x87 के साथ छोटे प्रणाली संगतता है: SSE एक अपेक्षाकृत नए प्रोसेसर सुविधा है। यदि आपका कोड एम्बेडेड माइक्रोकंट्रोलर पर चलाना है, तो एक अच्छा मौका है कि यह एसएसई निर्देशों का समर्थन नहीं करेगा।

  • यहां तक ​​कि जिन प्रणालियों में एफपीयू स्थापित नहीं है, वे अक्सर 80x87 अनुकरणकर्ता प्रदान करेंगे जो कोड को पारदर्शी रूप से चलाएंगे (अधिक या कम)। मुझे किसी भी एसएसई अनुकरणकर्ताओं के बारे में पता नहीं है-निश्चित रूप से मेरे सिस्टम में से कोई भी नहीं है, इसलिए नवीनतम एडोब फोटोशॉप तत्व संस्करण चलाने से इनकार करते हैं।

  • 80x87 निर्देशों में अच्छी समांतर ऑपरेशन विशेषताओं हैं जिनकी 1982 या उससे भी अधिक में इसकी शुरुआत के बाद से पूरी तरह से खोज और विश्लेषण किया गया है। X86 के विभिन्न क्लोन एसएसई निर्देशों पर रोक सकते हैं।

+2

तो आपकी निचली पंक्ति है: (ए) x87 में अच्छा विरासत समर्थन है (बी) x87 का अच्छी तरह से अध्ययन किया गया है। –

+0

और (सी) x87 स्थापित किया गया है। – asdf

+0

मैं 100% सकारात्मक नहीं हूं, लेकिन मेरा मानना ​​है कि एफपीयू के बिना 32-बिट प्रोसेसर पर, फ्लोटिंग-पॉइंट गणित को 64-बिट मानों की तुलना में 80-बिट मानों पर अधिक तेज़ी से किया जा सकता है [53-बिट मंटिसा और 12 -बीबी एक्सपोनेंट 64-बिट मंटिसा और 16-बिट एक्सपोनेंट के साथ काम करने के लिए तेज़ नहीं है, लेकिन पैक करने और अनपैक करने के लिए अतिरिक्त समय की आवश्यकता है]।मैं वास्तव में परेशान हूं कि 80-बिट प्रारूप पिछले कुछ दशकों से क्यों रहा है, क्योंकि * गणना * प्रारूप के रूप में यह 64-बिट डबल तक हर तरह से बेहतर प्रतीत होता है। – supercat

7

एफपीयू निर्देश SSE निर्देश तुलना में छोटे होते हैं, तो वे demoscene सामान के लिए आदर्श होते

+0

मैं इसे नहीं खरीदता; निश्चित रूप से गंभीर डेमो दृश्य प्रोग्रामर उनके निर्देश धाराओं को संपीड़ित करते हैं; डोमेन-विशिष्ट संपीड़न उपकरण एसएसई निर्देशों के साथ-साथ x87 निर्देशों को संपीड़ित करने में सक्षम होना चाहिए। –

+0

@StephenCanon (असम्पीडित), लेकिन आपका बिंदु सही है यदि आप किसी भी प्रकार के संपीड़न का उपयोग करते हैं – Quonux

0

float और double x87 (आम तौर पर स्वतंत्र) के साथ तेजी से SSE के साथ तुलना में है के बीच रूपांतरण। X87 के साथ, आप रजिस्टर स्टैक से या float, double या long double को लोड और स्टोर कर सकते हैं और इसे अतिरिक्त लागत के बिना विस्तारित परिशुद्धता में या परिवर्तित किया जा सकता है। एसएसई के साथ, टाइप प्रकारों को मिश्रित करने के लिए अतिरिक्त निर्देशों की आवश्यकता होती है, क्योंकि रजिस्टरों में float या double मान होते हैं। ये रूपांतरण निर्देश काफी तेजी से हैं लेकिन अतिरिक्त समय लेते हैं।

असली फिक्स float और double मिश्रण से बचना है, ज़ाहिर है कि x87 का उपयोग न करें।

संबंधित मुद्दे