الرئيسيةبحث

فاصلة عائمة

فهرس

مقدمة

من المعلوم أن المعالج يتعامل مع الأرقام المؤشرة و غير المؤشرة ، وإضافة إلى ذلك فإنه يتعامل مع الأرقام الكسرية والتي تعرفها الرياضيات على أنها الأرقام الحقيقية Real .

مثلاً لدينا الأرقام التالية: 3.14159265 ، 2.71828 ، 33.155760000 نلاحظ هنا أن الرقم الأخير يمتلك قيمة كبيرة جداً لدرجة يصعب فيهاعلى المعالج تمثيله لهذا الرقم وكذلك تطبيق العمليات الحسابية عليه لذلك تم البحث عن حل يحقق:

• إمكانية تمثيل الأعداد الكبيرة جداً .

• توسيع مجال التمثيل في الاتجاهين الموجب والسالب .

ومن هنا ظهر مبدأ الفاصلة العائمة .


تمثيل الأرقام بطريقة الفاصلة العائمة

أسلوب خاص لتمثيل الأرقام الكسرية حيث يكتب فيها الرقم بشكل كسر وأس و إشارة لكل منهم مكانه المخصص .


حيث أن خانة الإشارة تأخذ القيمة / 0 / إذا كان العدد الممثل موجباً، وتأخذ القيمة / 1 / إذا كان العدد الممثل سالب.

وقد توخى مصمموا الفاصلة العائمة تحقيق موازنة بين اهتمامهم بتوسيع مجال التمثيل وتحقيق دقة أعلى في التمثيل ، وبناء على ذلك اعتمدت IEEE الأنماط التالية لتمثيل الأعداد بطريقة الفاصلة العائمة ليصبح بعدها بالإمكان تحقيق العمليات على الفاصلة العائمة ، وهذه الأنماط هي :


• النمط أحادي الدقة .

• النمط مضاعف الدقة .

• النمط مضاعف الدقة الموسعة .


أنماط التمثيل

1- النمط أحادي الدقة

وفيه يحجز الرقم 32 خانة موزعة على النحو التالي :


2- النمط مضاعف الدقة

وفيه يحجز الرقم 64 خانة موزعة على النحو التالي :



نلاحظ مما سبق أنه :

• زيادة عدد خانات القوة يؤدي إلى توسيع المجال بالاتجاهين الموجب والسالب .

• زيادة عدد خانات الكسر يؤدي إلى زيادة الدقة .


3- النمط مضاعف الدقة الموسعة

تحتوي معالجات إنتل الحديثة ( ابتداء من 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

المراجع