فهرس |
من المعلوم أن المعالج يتعامل مع الأرقام المؤشرة و غير المؤشرة ، وإضافة إلى ذلك فإنه يتعامل مع الأرقام الكسرية والتي تعرفها الرياضيات على أنها الأرقام الحقيقية Real .
مثلاً لدينا الأرقام التالية: 3.14159265 ، 2.71828 ، 33.155760000 نلاحظ هنا أن الرقم الأخير يمتلك قيمة كبيرة جداً لدرجة يصعب فيهاعلى المعالج تمثيله لهذا الرقم وكذلك تطبيق العمليات الحسابية عليه لذلك تم البحث عن حل يحقق:
• إمكانية تمثيل الأعداد الكبيرة جداً .
• توسيع مجال التمثيل في الاتجاهين الموجب والسالب .
ومن هنا ظهر مبدأ الفاصلة العائمة .
أسلوب خاص لتمثيل الأرقام الكسرية حيث يكتب فيها الرقم بشكل كسر وأس و إشارة لكل منهم مكانه المخصص .
حيث أن خانة الإشارة تأخذ القيمة / 0 / إذا كان العدد الممثل موجباً، وتأخذ القيمة / 1 / إذا كان العدد الممثل سالب.
وقد توخى مصمموا الفاصلة العائمة تحقيق موازنة بين اهتمامهم بتوسيع مجال التمثيل وتحقيق دقة أعلى في التمثيل ، وبناء على ذلك اعتمدت IEEE الأنماط التالية لتمثيل الأعداد بطريقة الفاصلة العائمة ليصبح بعدها بالإمكان تحقيق العمليات على الفاصلة العائمة ، وهذه الأنماط هي :
• النمط أحادي الدقة .
• النمط مضاعف الدقة .
• النمط مضاعف الدقة الموسعة .
وفيه يحجز الرقم 32 خانة موزعة على النحو التالي :
وفيه يحجز الرقم 64 خانة موزعة على النحو التالي :
نلاحظ مما سبق أنه :
• زيادة عدد خانات القوة يؤدي إلى توسيع المجال بالاتجاهين الموجب والسالب .
• زيادة عدد خانات الكسر يؤدي إلى زيادة الدقة .
تحتوي معالجات إنتل الحديثة ( ابتداء من 486 فما فوق ) على وحدة فاصلة عائمة متطورة تؤمن القدرة على معالجة الأرقام ذات الفاصلة العائمة بكفاءة عالية .
تتألف هذه الوحدة من ثمانية مسجلات معطيات منظمة على شكل مكدس بالإضافة إلى مسجلات خاصة هي: مسجل الحالة ومسجل التحكم ومسجل الإشارات ومسجل مؤشر التعليمة الأخيرة ومسجل مؤشر المعطيات الأخيرة ومسجل شيفرة التعليمة .
تتألف مسجلات المعطيات من 80 بت ، تخزن المعطيات في هذه المسجلات بتنسيق الفاصلة العائمة ذو الدقة المضاعفة الموسعة تكون موزعة على النحو التالي :
عندما يحمل عدد ذو فاصلة عائمة أو صحيح أو بتنسيق BCD من الذاكرة إلى أحد هذه المسجلات فإنه يحول تلقائياً إلى تنسيق الدقة المضاعفة الموسع ، وعند تخزين النتائج إلى الذاكرة يمكن تخزينها بهذا التنسيق أو بتنسيق فاصلة عائمة أقصر أو كرقم صحيح أو بتنسيق BCD ويستخدم تنسيق IEEE754 من أجل تمثيل أرقام الفاصلة العائمة .
يتم التعامل مع هذه المسجلات الثمانية بطريقتين إما بشكل منفصل حيث ترقم هذه المسجلات من 0 وحتى 7 ، أو بشكل مكدس حيث يحتفظ الحقل TOP في مسجل الحالة برقم يشير إلى قمة المكدس .
لذلك يوجد لكل تعليمة عدة أشكال يتعامل كل شكل مع المسجلات بطريقة مختلفة ما عدا بعض التعليمات تتعامل مع المسجل فقط بطريقة المكدس مثل تعليمة الجذر التربيعي .
يرمز للمسجلات بـ (St(i حيث تدل i على رقم المسجل بالنسبة إلى قمة المكدس ، أما قمة المكدس فيشار إليها بـ (St(0 أو St .
كما تملك هذه الوحدة عدداً من التعليمات صنفت ضمن ثلاث مجموعات :
• تعليمات نقل المعطيات .
• تعليمات تحميل الثوابت .
• التعليمات الحسابية البسيطة .
• التعليمات المثلثية واللوغاريتمية .
1- تحويل العدد من النظام العشري إلى النظام الثنائي :
الأعداد الصحيحة يتم تحويلها بالقسمة على 2 وأخذ الباقي ، أما القسم الكسري ( على يمين الفاصلة ) فنضربه بـ 2 .
مثال: تحويل الرقم 25.875 يتم على النحو التالي :
أ- تحويل القسم الصحيح:
ب- تحويل القسم الكسري :
0.875 × 2 = 1.75 ، 1
0.75 × 2 = 1.5 ، 1
0.5 × 2 = 1 ، 1
إذاً الناتج هو :
25.875 = 11001.111
2- كتابة الرقم بالشكل القياسي - - -.1 × 2e أي يكتب الرقم السابق كما يلي : 1.1001111 ×24
3- كتابة القوة باستخدام طريقة القوة المزاحة حيث يضاف إلى e القيمة 127 في حال استخدام التمثيل أحادي الدقة أو نضيف 1023 في حال استخدام التمثيل مضاعف الدقة .
وبالعودة إلى مثالنا وباستخدامنا للتمثيل أحادي الدقة يكون :
4 = e ومنه يكون 131 = eb أي 10000011
4- كتابة العدد ممثلاُ بطريقة الفاصلة العائمة :
5- كتابة الناتج بالتمثيل الست عشري :
أما إذا أردنا تمثيل العدد السابق باستخدام التمثيل مضاعف الدقة فإنه بالعودة إلى البند / 3 / يكون :
4 = e ومنه يكون 1027 = eb أي 10000000011
مثال:
إذا كان لدينا العدد التالي ممثلاً بطريقة الفاصلة العائمة CF350000 فإنه لإيجاد المكافئ العشري له نتبع الخطوات التالية :
1- نلاحظ أن العدد المعطى مكون من ثمان أرقام كل منها يمثل بـ 4 خانات ( 8×4=32 ) ومنه نجد أن التمثيل المستخدم هو أحادي الدقة .
2- نكتب الخانات الأربعة الممثلة لكل خانة ستة عشرية أي :
• الإشارة = –
• الأس = 10011110 = eb أي 158 ومنه 31 = e
• العدد = 1.0110101
=1 + 4/1 + 8/1 + 32/1 + 128/1
= 1.4140625