المعالجات المساعدة لإجراء أي حسابات متخصصة للغاية. المعالج المشترك - ما هو؟ وصف ومراجعات العمل. معالجات عائلة Intel x86

لإجراء العمليات الحسابية على الفاصلة العائمة، يوجد معالج حسابي خاص يسمى المعالج الثانوي. وعلى عكس وحدة المعالجة المركزية، فهي لا تتحكم في النظام، ولكنها تنتظر أمر وحدة المعالجة المركزية لإجراء العمليات الحسابية وإنشاء النتائج. وفقًا لشركة Intel، بالمقارنة مع وحدة المعالجة المركزية، يمكن للمعالج المساعد الحسابي تقليل وقت تنفيذ العمليات الحسابية مثل الضرب والأسي بنسبة 80٪ أو أكثر. تبقى السرعة التي يتم بها إجراء الجمع والطرح دون تغيير بشكل عام.

المعالج الثانوي هو مجرد اسم شائع لهذه الشريحة. يطلق عليه بالكامل المعالج الرياضي المساعد أو وحدة المعالجة الرقمية (NPU) أو وحدة معالجة النقطة العائمة (FPU).

إن وجود معالج ثانوي على اللوحة الأم ليس إلزاميا، لذلك قد يكون هناك فتحة فارغة في مكانها لمزيد من تثبيت المعالج الثانوي. الاستثناء هو جميع وحدات المعالجة المركزية 486DX والإصدارات الأحدث - حيث يتم دمج المعالج المساعد مباشرة في وحدة المعالجة المركزية.

المجال الأساسي لتطبيق المعالجات المساعدة هو التطبيقات العلمية والتقنية المرتبطة بتنفيذ عدد كبير من العمليات الحسابية. ومع ذلك، هذا ليس الحد من الاستخدام. عادة، تعمل NPU على تسريع أي برنامج - حتى برنامج معالجة النصوص، لأن العمل مع الكتل والوحدات النصية يتطلب حسابات معقدة. يعمل المعالج المشترك أيضًا على تسريع معالجة الصور الرسومية وتنفيذ برامج CAD بشكل كبير.

كبش

تشكل عناصر الذاكرة أساس الأداء الداخلي لأي نظام حاسوبي، حيث يتم تخزين البيانات بمساعدتها ويمكن قراءتها مرة أخرى أثناء المعالجة الإضافية.

لكي تتمكن وحدة المعالجة المركزية من تنفيذ البرامج، يجب تحميلها في ذاكرة الوصول العشوائي (مساحة من الذاكرة يمكن لبرامج المستخدم الوصول إليها). تتمتع وحدة المعالجة المركزية بوصول مباشر إلى البيانات الموجودة في ذاكرة الوصول العشوائي (ذاكرة الوصول العشوائي، RAM)، بينما يعمل المعالج مع الذاكرة "الطرفية" أو الخارجية الأخرى (الأقراص المرنة والأقراص الصلبة) من خلال مخزن مؤقت، وهو نوع من ذاكرة الوصول العشوائي (RAM) غير متاح للمستخدم. فقط بعد قراءة البرنامج في ذاكرة الوصول العشوائي (RAM) من وسيط تخزين خارجي، يصبح من الممكن مواصلة تشغيل النظام ككل. ذاكرة الوصول العشوائي (RAM) هي أسرع وسيلة تخزين في الكمبيوتر. ما هو مهم بشكل أساسي هو أن المعلومات يمكن كتابتها وقراءتها.

ذاكرة الوصول العشوائي لها مزاياها وعيوبها:

بفضل أوقات الوصول القصيرة للذاكرة، تزيد سرعة معالجة البيانات بشكل ملحوظ. إذا تمت قراءة المعلومات من الوسائط الخارجية فقط، فسيقضي المستخدم الكثير من الوقت في انتظار اكتمال عملية معينة

عيب ذاكرة الوصول العشوائي (RAM) هو أنها ذاكرة مؤقتة. عند إيقاف تشغيل الطاقة، يتم "مسح" ذاكرة الوصول العشوائي (RAM) تمامًا وسيتم فقدان كافة البيانات التي لم تتم كتابتها على الوسائط الخارجية إلى الأبد

تنتمي ذاكرة الوصول العشوائي (RAM) إلى فئة الذاكرة الديناميكية، أي أنه يجب "تحديث" محتوياتها على فترات زمنية معينة أثناء التشغيل.

عنصر التخزين في الذاكرة الديناميكية هو المكثف، والذي يمكن أن يكون في حالة مشحونة أو مفرغة. إذا كان المكثف مشحونًا، فسيتم كتابة الرقم المنطقي 1 للخلية، وإذا تم تفريغ المكثف، فسيتم كتابة الرقم المنطقي 0 للخلية، وفي المكثف المثالي، يمكن الحفاظ على الشحن إلى أجل غير مسمى. في المكثف الحقيقي، هناك تيار تسرب، لذلك سيتم فقدان المعلومات المسجلة في الذاكرة الديناميكية مع مرور الوقت، حيث سيتم تفريغ مكثفات عناصر التخزين بالكامل بعد بضعة أجزاء من الثانية. لتجنب فقدان المعلومات، هناك عملية تجديد الذاكرة (تحديث).

ذاكرة الوصول العشوائي (RAM) عبارة عن لوحة (باستثناء طرازات أجهزة الكمبيوتر القديمة، حيث تم تثبيت الرقائق مباشرة في اللوحة الأم)، ويبلغ طولها حوالي 8 سم، والتي توجد عليها شرائح DRAM (ذاكرة الوصول العشوائي الديناميكية). تسمى هذه اللوحة بوحدة ويتم تثبيتها في الفتحات المقابلة على اللوحة الأم. في الآونة الأخيرة، أصبحت وحدات DIMM الأكثر انتشارًا. كانت هناك أيضًا وحدات SIP و SIMM. يتم إدخال الوحدات في فتحات مصممة خصيصًا لها على اللوحة الأم، تسمى البنوك.

من الخصائص المهمة (بالإضافة إلى الحجم) لذاكرة الوصول العشوائي (RAM) وقت الوصول، الذي يميز الفاصل الزمني الذي يتم خلاله كتابة المعلومات إلى الذاكرة أو قراءتها منها. يتم التعبير عن وقت الوصول للوسائط الخارجية مثل الأقراص المرنة أو محركات الأقراص الثابتة بالمللي ثانية، بينما يتم قياسه بالنانو ثانية لعناصر الذاكرة.

تخصيص الذاكرة المنطقية

يتم تحديد التوزيع المنطقي لذاكرة الوصول العشوائي (RAM) ليس فقط من خلال نظام التشغيل المستخدم، ولكن أيضًا من خلال ميزات تنفيذ الأجهزة لأجهزة الكمبيوتر المتوافقة مع IBM.

هناك ثلاث مناطق منطقية مهمة في ذاكرة الوصول العشوائي:

الذاكرة التقليدية منطقة الذاكرة الأكثر أهمية (أول 640 كيلو بايت). فهو يضم معظم برامج التطبيقات والبيانات.

UMA (منطقة الذاكرة العليا) تحتوي على معلومات تُستخدم لربط برامج التطبيقات ببطاقات التوسعة المختلفة. (384 كيلو بايت يقع بين 640 كيلو بايت و 1 ميجابايت)

XMS (مواصفات الذاكرة الموسعة) كل الذاكرة التي يزيد حجمها عن 1 ميجابايت. المستخدمة من قبل تطبيقات ويندوز

المعالج الرياضي - معالج مساعد لتوسيع مجموعة أوامر المعالج المركزي وتزويده بوظيفة وحدة الفاصلة العائمة للمعالجات التي لا تحتوي على وحدة متكاملة.

وحدة النقطة العائمة (أو وحدة النقطة العائمة (FPU)) هي جزء من المعالج لإجراء مجموعة واسعة من العمليات الرياضية على الأعداد الحقيقية.

يتضمن النظام حوالي 80 أمرًا. تصنيفهم:

1) أوامر نقل البيانات: - البيانات الحقيقية؛ - بيانات عددية. - البيانات العشرية.

2) أوامر مقارنة البيانات: - بيانات حقيقية؛ - بيانات عددية. - تحليل؛ - من الصفر.

3) الأوامر الحسابية: - البيانات الحقيقية: الجمع والطرح والضرب والقسمة.

4) البيانات الصحيحة: الجمع، الطرح، الضرب، القسمة؛ - الأوامر الحسابية المساعدة (الجذر التربيعي، المعامل، تغيير الإشارة، الأس والجزء العشري).

5) الأوامر المتعالية: - علم المثلثات: الجيب، وجيب التمام، والظل، والظل القطبي؛ - حساب اللوغاريتمات والصلاحيات.

6) أوامر التحكم: - تهيئة المعالج المساعد. - العمل مع البيئة. - العمل مع المكدس. - تبديل الأوضاع

المعالج المساعد- معالج متخصص يعمل على توسيع قدرات المعالج المركزي لنظام الكمبيوتر، ولكنه مصمم كوحدة وظيفية منفصلة. ماديًا، يمكن أن يكون المعالج المساعد عبارة عن شريحة منفصلة أو يمكن دمجه في وحدة المعالجة المركزية (كما هو الحال مع المعالج الرياضي المساعد في معالجات الكمبيوتر بدءًا من Intel 486DX).

المعالج الرياضي 80x287 في كتلة على اللوحة الأم للكمبيوتر الشخصي.

تتميز الأنواع التالية من المعالجات المساعدة:

المعالجات الرياضية ذات الأغراض العامة، والتي تعمل عادةً على تسريع عمليات حساب الفاصلة العائمة،

· معالجات الإدخال/الإخراج (على سبيل المثال، Intel 8089)، والتي تعفي المعالج المركزي من التحكم في عمليات الإدخال/الإخراج أو توسع مساحة العنوان القياسية للمعالج،

· معالجات مساعدة لإجراء أية حسابات متخصصة للغاية.

يمكن أن تكون المعالجات المساعدة جزءًا من مجموعة منطقية تم تطويرها بواسطة شركة معينة (على سبيل المثال، أصدرت Intel المعالجات المساعدة 8087 و8089 مجمعة مع المعالج 8086) أو تم إنتاجها بواسطة جهة تصنيع خارجية (على سبيل المثال، Weitek 1064 لـ Motorola m68k و1067 لـ Intel 80286).

رقائق مولد الصوت- دوائر دقيقة متخصصة لتوليد الصوت. يمكن استخدامها لإعادة إنتاج المؤثرات الصوتية والموسيقى المركبة (انظر شيبتون) في أجهزة الكمبيوتر وأنظمة الألعاب (وحدات التحكم والآلات) والأجهزة المنزلية. الاسم الإنجليزي للدوائر الدقيقة من هذا النوع هو شريحة الصوت، في المصطلحات الفنية الروسية هناك اختصار بغز- مولد صوت قابل للبرمجة. يمكن أن تكون جميعها رقمية، أو تناظرية، أو خليطًا. قد تشمل هذه مولدات التردد (تعتمد عادةً على تقسيم تردد ساعة الإدخال مع عامل تقسيم متغير برمجيًا)، وأجهزة التحكم في الأغلفة، ودوائر تشغيل العينات، والمرشحات، ومضخمات الإشارة.

يمكن تقسيم مولدات الصوت إلى فئتين رئيسيتين - تلك التي تقوم بتركيب الصوت مباشرة، وتلك التي تنتج الأصوات الرقمية مسبقًا. يمكن أيضًا تقسيم الفئة الأولى وفقًا لمبدأ التشغيل إلى مُركِّبات تردد بسيطة (مبنية على مقسمات تردد مع مكونات إضافية) ومُركبات تستخدم طريقة تعديل التردد (توليف FM استنادًا إلى التعديل المتبادل للعديد من مولدات الصوت).

في اللغة الروسية، غالبا ما تسمى رقائق مولد الصوت معالجات الصوت (المشتركة).. ومع ذلك، فإن هذا التعريف غير صحيح - لا تقوم شرائح مولد الصوت بمعالجة البيانات الصوتية (الوظيفة الرئيسية للمعالج)، بل تقوم بتوليد الصوت وفقًا لخوارزمية واحدة محددة بواسطة الأجهزة، وفقًا لتعليمات معالج النظام الخارجي لها. اسم معالج الصوتيمكن تطبيقه على معالجات الإشارات الرقمية المستخدمة لمعالجة الصوت (على سبيل المثال، إنشاء تأثير صدى يتم التحكم فيه بواسطة البرنامج)، بالإضافة إلى شرائح مولد الصوت التي تحتوي على معالج دقيق.

GPU(إنجليزي) وحدة معالجة الرسومات, GPU) - جهاز منفصل على جهاز كمبيوتر شخصي أو وحدة تحكم في الألعاب يقوم بعرض الرسوم. تعالج وحدات معالجة الرسومات الحديثة رسومات الكمبيوتر وتعرضها بكفاءة عالية. بفضل بنية خطوط الأنابيب المتخصصة الخاصة بها، فهي أكثر كفاءة في معالجة المعلومات الرسومية من وحدة المعالجة المركزية النموذجية. يتم استخدام معالج الرسومات في محولات الفيديو الحديثة كمسرع رسومات ثلاثية الأبعاد.

يمكن استخدامه كجزء من بطاقة فيديو منفصلة وفي الحلول المتكاملة (المدمجة في الجسر الشمالي أو المعالج المختلط).

المعالج الاحتمالييعمل مع الاحتمالات على مستوى الأجهزة. يعتمد الجهاز الرياضي على نظرية بايز

بطريقة ما، يقوم المعالج الاحتمالي بتنفيذ الحوسبة التناظرية باستخدام تقنية CMOS. هذا النهج، من الناحية النظرية، يجعل من الممكن التنفيذ الفعال للحسابات التقريبية القائمة على المنطق الغامض أو الشبكات العصبية

· 1 التطبيقات

· 2 نماذج أولية

مجالات التطبيق[عدل | تحرير النص المصدر]

المعالج الاحتمالي هو معالج متخصص وسيتم استخدامه بشكل أساسي في أنظمة التعرف على الأنماط. على سبيل المثال، في القياسات الحيوية، لتشخيص الأمراض، في أنظمة المراقبة المختلفة، في أنظمة الرؤية التقنية، وأنظمة التعرف على الصوت، وتصفية البريد العشوائي، والتصيد الاحتيالي، وتحديد الجدارة الائتمانية للمقترضين والعديد من المهام الأخرى. يتضمن النهج الاحتمالي أيضًا حل المشكلات الفنية باستخدام الطرق العشوائية (طرق مونت كارلو)، مع دقة الحل المطلوبة.

من المتصور أنه يمكن استخدام المعالج الاحتمالي في أجهزة الكمبيوتر الحديثة كمعالج مساعد آخر إلى جانب معالج الرسومات أو معالج الإشارة أو FPGA، مما يوفر سرعة وكفاءة عالية لحل مجموعة واسعة من المشكلات المتخصصة.

المعالج الرياضيات- معالج مساعد لتوسيع مجموعة أوامر المعالج المركزي وتزويده بالوظائف وحدة النقطة العائمةللمعالجات التي لا تحتوي على وحدة متكاملة.

وحدة النقطة العائمة(أو النقطة العائمة; إنجليزي وحدة النقطة العائمة (FPU)) - جزء من المعالج لإجراء مجموعة واسعة من العمليات الحسابية على الأعداد الحقيقية.

تتطلب معالجات "الأعداد الصحيحة" البسيطة للتعامل مع الأعداد الحقيقية والعمليات الرياضية إجراءات دعم مناسبة ووقتًا لتنفيذها. تدعم وحدة عمليات الفاصلة العائمة العمل معها على المستوى البدائي - تحميل أو تفريغ رقم ​​حقيقي (من/إلى السجلات المتخصصة) أو إجراء عملية رياضية عليها بواسطة أمر واحد، ونتيجة لذلك، يتم تسريع هذه العمليات بشكل كبير حقق.

· 1 معالج مساعد

o 1.1 معالجات Intel x86 المساعدة

o 1.2 المعالجات المساعدة لطرف ثالث x86

o 1.3 منصات أخرى

· عدد 2 جهاز FPU

o 2.1 تنسيقات البيانات

س 2.2 السجلات

o 2.3 نظام أوامر المعالج المساعد

· 3 أنظر أيضاً

· 4 ملاحظات

المعالجات المساعدة[عدل | تحرير النص المصدر]

المقال الرئيسي:X87

x87هي مجموعة خاصة من التعليمات للعمل مع الحسابات الرياضية، وهي مجموعة فرعية من بنية المعالج x86. لقد حصلت على هذا الاسم لأن رقائق المعالج الرياضي الفردية الأصلية كانت لها أسماء تنتهي بـ 87 . مثل الامتدادات الأخرى لمجموعة التعليمات الأساسية للمعالج، فإن هذه التعليمات ليست ضرورية تمامًا لبناء برنامج عمل، ولكن عند تنفيذها في الأجهزة، فإنها تسمح بأداء المهام الرياضية الشائعة بشكل أسرع بكثير. على سبيل المثال، في مجموعة من التعليمات x87هناك أوامر لحساب قيم الجيب أو جيب التمام.

معالجات إنتل المساعدة من عائلة x86[عدل | تحرير النص المصدر]

بالنسبة لعائلة المعالجات x86 من 8086/8088 إلى 386، تم تخصيص وحدة الفاصلة العائمة لشريحة منفصلة تسمى المعالج الرياضي. تم توفير موصل منفصل لتثبيت المعالج المساعد على لوحة الكمبيوتر.

المعالج المساعد ليس معالجًا كاملاً، لأنه لا يعرف كيفية القيام بالعديد من العمليات اللازمة لذلك (على سبيل المثال، لا يعرف كيفية العمل مع البرنامج وحساب عناوين الذاكرة)، كونه مجرد ملحق لـ المعالج المركزي.

يتم تنفيذ أحد مخططات التفاعل بين المعالج المركزي والمعالج المساعد، المستخدم، على وجه الخصوص، في المعالجات المساعدة x86، على النحو التالي:

· يرتبط المعالج المساعد بنواقل المعالج المركزي، كما يحتوي على عدة إشارات خاصة لمزامنة المعالجات مع بعضها البعض.

· بعض رموز أوامر المعالج المركزي محجوزة للمعالج المساعد؛ فهو يراقب تدفق الأوامر، متجاهلاً الأوامر الأخرى. وعلى العكس من ذلك، يتجاهل المعالج المركزي أوامر المعالج المساعد، ولا يحسب العنوان في الذاكرة إلا إذا كان الأمر يتضمن الوصول إليه. تقوم وحدة المعالجة المركزية بإجراء دورة قراءة وهمية، مما يسمح للمعالج المساعد بقراءة العنوان من ناقل العناوين. إذا كان المعالج المساعد يحتاج إلى وصول إضافي إلى الذاكرة (لقراءة النتائج أو كتابتها)، فإنه يقوم بذلك عبر التقاط الناقل.

· بعد استلام الأمر والبيانات اللازمة، يبدأ المعالج المساعد في تنفيذه. أثناء قيام المعالج المساعد بتنفيذ الأمر، يستمر المعالج المركزي في تنفيذ البرنامج، بالتوازي مع حسابات المعالج المساعد. إذا كانت التعليمات التالية هي أيضًا تعليمات للمعالج المساعد، فسيتوقف المعالج وينتظر حتى يكمل المعالج الثانوي التعليمات السابقة.

· يوجد أيضًا أمر انتظار خاص (FWAIT)، والذي يوقف المعالج بالقوة حتى تنتهي الحسابات (إذا كانت نتائجها مطلوبة لمواصلة البرنامج). حاليًا، يتم استخدام الأمر فقط للتعامل مع الاستثناءات عند العمل مع النقطة العائمة، حيث تتم مزامنة عمل المعالج والمعالج المساعد بشفافية مع المبرمج.

بدءًا من معالج Intel486DX، تم دمج وحدة النقطة العائمة في المعالج المركزي وأطلق عليها اسم FPU. في خط Intel486SX، تم تعطيل وحدة FPU (في البداية، تضمن هذا الخط معالجات بها FPU معيبة). بالنسبة لمعالجات Intel486SX، تم أيضًا إصدار "معالج مساعد" Intel487SX، ولكنه في الواقع كان معالج Intel486DX وعند تثبيته، تم تعطيل معالج Intel486SX.

على الرغم من التكامل، فإن FPU في معالجات i486 عبارة عن معالج مساعد لم يتغير، يتم تنفيذه على نفس الشريحة؛ علاوة على ذلك، فإن دائرة i486 FPU مطابقة تمامًا للجيل السابق من المعالج المساعد 387DX وصولاً إلى تردد الساعة (نصف تردد المعالج المركزي). بدأ التكامل الحقيقي لوحدة FPU مع المعالج المركزي فقط في معالجات Pentium من طراز MMX.

جزء مهم من بنية معالجات Intel الدقيقة هو وجود جهاز لمعالجة البيانات الرقمية بتنسيق النقطة العائمة يسمى المعالج الرياضياعتمدت بنية أجهزة الكمبيوتر المعتمدة على المعالجات الدقيقة في البداية بشكل حصري على حساب الأعداد الصحيحة. مع نمو القوة، بدأت تظهر أجهزة لمعالجة أرقام الفاصلة العائمة. في بنية عائلة المعالجات الدقيقة Intel 8086، ظهر جهاز لمعالجة أرقام الفاصلة العائمة كجزء من جهاز كمبيوتر يعتمد على المعالج الدقيق i8086/88 وكان يُطلق عليه اسم المعالج الرياضي المساعد أو مجرد معالج مساعد. وكان اختيار هذا الاسم يرجع إلى حقيقة أن

  • أولا، كان الهدف من هذا الجهاز هو توسيع قدرات الحوسبة للمعالج الرئيسي؛
  • ثانياً، تم تنفيذه كشريحة منفصلة، ​​أي أن وجودها كان اختيارياً. كانت شريحة المعالج المساعد للمعالج الدقيق i8086/88 تسمى i8087.

مع ظهور نماذج جديدة من معالجات Intel الدقيقة، تحسنت المعالجات المساعدة أيضًا، على الرغم من أن نموذج برامجها ظل دون تغيير تقريبًا. كأجهزة منفصلة (وبالتالي اختيارية في تكوين كمبيوتر معين)، تم الاحتفاظ بالمعالجات المساعدة حتى طراز المعالج الدقيق i386 وتمت تسميتها i287 وi387، على التوالي. بدءًا من طراز i486، يتم تنفيذ المعالج الثانوي في نفس الحزمة مثل المعالج الدقيق الرئيسي، وبالتالي فهو جزء لا يتجزأ من الكمبيوتر.

الملامح الرئيسية للمعالج الرياضي:

  • دعم كامل للمعايير الحسابية للفاصلة العائمة IEEE-754 و854. تصف هذه المعايير تنسيقات البيانات التي يجب أن يعمل بها المعالج المساعد ومجموعة الوظائف التي ينفذها؛
  • دعم الخوارزميات العددية لحساب قيم الدوال المثلثية واللوغاريتمات وما إلى ذلك؛
  • معالجة الأعداد العشرية بدقة 18 بت، مما يسمح للمعالج المساعد بإجراء العمليات الحسابية دون تقريب الأعداد العشرية الكاملة بقيم تصل إلى 10 18؛
  • معالجة الأعداد الحقيقية من المدى ±3.37x10 -4932 ...1.18x10 +4932.

تم وصف شكل تمثيل أرقام الفاصلة العائمة.

يشير الشكل العام لتمثيل الأعداد الحقيقية إلى إمكانية وضع الأنواع التالية في شبكة البتات.

نوع الأرقام لافتة درجة جميع الجزء العشري
+∞ 0 11…11 1 00…00
إيجابي
تطبيع
0 00…01 — 11…10 1 00…00 — 11…11
إيجابية غير موحدة 0 00…00 0 00…00 — 11…11
0 0, 1 00…00 0 00…00
سلبية غير موحدة 1 00…00 0 00…00 — 11…11
تطبيع سلبي 1 00…01 — 11…10 1 00…00 — 11…11
-∞ 1 11…11 1 00…00
لا يحصى
(NaN - ليس رقمًا)
* 11…11 1 **…** ≠0

لا يمكن تمثيل الأرقام البسيطة والمزدوجة الدقة (العائمة (DD) والمزدوجة (DQ) على التوالي) إلا في شكل موحد. في هذه الحالة، يتم إخفاء بت الجزء الصحيح من الرقم ويعني 1 منطقيًا. أما الـ 23 (52) بت المتبقية فتقوم بتخزين الجزء العشري الثنائي للرقم.

يمكن تمثيل الأرقام الدقيقة الموسعة المزدوجة (المزدوجة الطويلة (DT)) إما بشكل طبيعي أو غير قياسي، نظرًا لأن البت الصحيح للرقم غير مخفي ويمكن أن يأخذ القيم 0 أو 1.

نوع البيانات الرئيسي الذي يعمل عليه المعالج الرياضي هو بيانات 10 بايت (DT).

نموذج برنامج المعالج

نموذج البرنامج الخاص بالمعالج المساعد عبارة عن مجموعة من السجلات، لكل منها غرض وظيفي خاص به.

في نموذج برنامج المعالج المشترك، يمكن تمييز ثلاث مجموعات من السجلات:

  • ثمانية سجلات r0…r7، والتي تشكل أساس نموذج برنامج المعالج الثانوي - مكدس المعالج المساعد . حجم كل سجل هو 80 بت. تعتبر هذه المنظمة نموذجية للأجهزة المتخصصة في معالجة الخوارزميات الحسابية.
  • ثلاثة سجلات الخدمة:
    — سجل حالة المعالج المساعد swr (تسجيل كلمات الحالة) - يعكس معلومات حول الحالة الحالية للمعالج الثانوي؛
    - سجل التحكم في المعالج الثانوي cwr (سجل كلمات التحكم) - يتحكم في أوضاع تشغيل المعالج الثانوي؛
    - سجل العلامات twr (تسجيل الكلمات بالعلامات) - يُستخدم لمراقبة حالة كل سجل من سجلات المكدس.
  • سجلان للمؤشر - أوامر dpr (تسجيل نقطة البيانات) وipr (تسجيل نقطة التعليمات). وهي مصممة لتخزين معلومات حول عنوان التعليمات التي تسببت في الاستثناء وعنوان معاملها. تُستخدم هذه المؤشرات عند التعامل مع الاستثناءات (ولكن ليس لجميع الأوامر).

كافة السجلات المحددة يمكن الوصول إليها برمجياً. ومع ذلك، فإن الوصول إلى بعضها سهل للغاية، ولهذا الغرض، توجد أوامر خاصة في نظام أوامر المعالج الثانوي. يكون الوصول إلى السجلات الأخرى أكثر صعوبة لأنه لا توجد أوامر خاصة بذلك، لذا يجب تنفيذ خطوات إضافية.

سجل حالة swr– يعكس الحالة الحالية للمعالج الثانوي بعد تنفيذ الأمر الأخير. يحتوي سجل swr على حقول تسمح لك بتحديد: أي سجل هو الجزء العلوي الحالي من مكدس المعالج الثانوي، وما هي الاستثناءات التي حدثت بعد تنفيذ الأمر الأخير، وما هي ميزات آخر تنفيذ للأمر (نوع من التناظرية لسجل الأعلام المعالج الرئيسي).

من الناحية الهيكلية، يتكون سجل swr من:

  • 6 أعلام استثناء PE وOE وUE وZE وDE وIE.
    الاستثناءات هي نوع من المقاطعة، حيث يقوم المعالج بإبلاغ البرنامج ببعض ميزات التنفيذ الفعلي. يتمتع المعالج الثانوي أيضًا بالقدرة على رفع مثل هذه المقاطعات عند حدوث مواقف معينة (ليست بالضرورة خاطئة). يتم تقليل كافة الاستثناءات الممكنة إلى 6 أنواع، كل منها يتوافق مع 1 بت في سجل swr. لا يتعين على المبرمج كتابة معالج للرد على الموقف الذي أدى إلى بعض الاستثناءات. يمكن للمعالج المساعد الاستجابة بشكل مستقل للعديد منها. وهذا ما يسمى معالجة الاستثناء الافتراضي. للتعامل مع نوع معين من الاستثناءات بشكل افتراضي، يجب ترك الاستثناء بدون قناع. يتم تنفيذ هذا الإجراء عن طريق تعيين البت المقابل في سجل التحكم في المعالج المساعد cwr على 1. أنواع الاستثناءات التي تم التقاطها باستخدام سجل swr:
    • IE (خطأ تشغيل غير صالح) - رمز تشغيل غير صالح؛
    • DE (خطأ في المعامل غير الطبيعي) - المعامل غير الطبيعي؛
    • ZE (قسمة على خطأ صفر) - خطأ القسمة على صفر؛
    • OE (خطأ تجاوز السعة) - خطأ تجاوز السعة. يحدث عندما يتجاوز ترتيب الرقم الحد الأقصى المسموح به؛
    • UE (خطأ التجاوز) - خطأ في مكافحة التجاوز. يحدث عندما تكون النتيجة صغيرة جدًا (قريبة من الصفر)؛
    • PE (خطأ في الدقة) - خطأ في الدقة. قم بتعيين الوقت الذي يجب فيه على المعالج الثانوي تقريب النتيجة لأنه لا يمكن تمثيلها بدقة. وبالتالي، لن يتمكن المعالج المساعد أبدًا من تقسيم 10 على 3 بدقة.

    عند حدوث أي من أنواع الاستثناءات الستة هذه، يتم تعيين البت المقابل في سجل swr إلى واحد، بغض النظر عما إذا كان الاستثناء مقنعًا في سجل cwr أم لا.

  • بت خطأ مكدس المعالج الثانوي SF (خطأ المكدس). يتم تعيين البت على 1 في حالة حدوث إحدى حالات الاستثناء الثلاثة - PE أو UE أو IE. على وجه الخصوص، يُبلغ تثبيته عن محاولة الكتابة إلى مكدس كامل، أو على العكس من ذلك، محاولة القراءة من مكدس فارغ. بعد تحليل قيمة هذه البتة، يجب إعادة تعيينها إلى 0 مرة أخرى، جنبًا إلى جنب مع بتات PE وUE وIE (إذا تم ضبطها)؛
  • بت من الخطأ الإجمالي للمعالج المساعد ES (ملخص الخطأ). يتم تعيين البت إلى 1 في حالة حدوث أي من الاستثناءات الستة المذكورة أعلاه؛
  • أربع بتات c0...c3 (رمز الشرط) - رمز الشرط. الغرض من هذه البتات مشابه للأعلام الموجودة في سجل EFLAGS للمعالج الرئيسي - لتعكس نتيجة تنفيذ الأمر الأخير للمعالج الثانوي.
  • حقل TOP بثلاثة بتات. يحتوي الحقل على مؤشر تسجيل إلى الجزء العلوي الحالي من المكدس.
  • المعالج المساعد مشغول بالبت B.

سجل التحكم في المعالج الثانوي CWR– يحدد ميزات معالجة البيانات الرقمية. باستخدام الحقول الموجودة في سجل cwr، يمكنك ضبط دقة الحسابات الرقمية والتحكم في التقريب واستثناءات القناع.

إنها تتكون من:

  • ستة أقنعة استثناءية PM، UM، OM، ZM، DM، IM؛
  • مجالات التحكم في دقة الكمبيوتر (التحكم الدقيق)؛
  • RC (التحكم في التقريب) حقول التحكم في التقريب.

تم تصميم أقنعة الاستثناءات لإخفاء الاستثناءات، والتي يتم تسجيل حدوثها باستخدام ستة بتات من سجل swr. إذا تم تعيين أي بتات قناع استثناء في سجل cwr على 1، فسيتم معالجة الاستثناءات المقابلة بواسطة المعالج الثانوي نفسه. إذا كانت بتة قناع الاستثناء المقابلة لسجل cwr تحتوي على 0 لأي استثناء، فسيتم رفع المقاطعة int 16 (10h) عند حدوث استثناء من هذا النوع. يجب أن يحتوي نظام التشغيل (أو يجب أن يكتب المبرمج) على معالج لهذه المقاطعة. ويجب عليه معرفة سبب الانقطاع ثم تصحيحه إذا لزم الأمر واتخاذ إجراءات أخرى أيضًا.

يتم استخدام جهاز الكمبيوتر الخاص بمجال التحكم الدقيق ذو 2 بت لتحديد طول الجزء العشري. القيم المحتملة في هذا المجال تعني:

  • PC = 00 - طول الجزء العشري 24 بت؛
  • PC = 10 - طول الجزء العشري 53 بت؛
  • PC = 11 - طول الجزء العشري 64 بت.

قيمة الحقل الافتراضية هي PC = 11.

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

  • 00 - يتم تقريب القيمة إلى أقرب رقم يمكن تمثيله في شبكة البت الخاصة بسجل المعالج الثانوي؛
  • 01 - تم تقريب القيمة إلى الأسفل؛
  • 10 - تم تقريب القيمة؛
  • 11- يتم تجاهل الجزء الكسري من الرقم. يُستخدم لتقليل قيمة إلى نموذج يمكن استخدامه في العمليات الحسابية للأعداد الصحيحة.

البت 12 في سجل cwr غائب فعليًا ويتم قراءته كـ 0.

تسجيل علامة twr- عبارة عن مجموعة من الحقول ذات البتتين. يتوافق كل حقل مع سجل مكدس فعلي محدد ويميز حالته الحالية. تستخدم تعليمات المعالج الثانوي هذا السجل، على سبيل المثال، لتحديد ما إذا كان يمكن كتابة القيم في هذه السجلات. ينعكس التغيير في حالة أي سجل مكدس في محتويات حقل 2 بت لسجل العلامات المقابل لهذا السجل. القيم التالية ممكنة في حقول تسجيل العلامات:

  • 00 - سجل مكدس المعالج الثانوي مشغول بقيمة صالحة غير صفرية؛
  • 01 - يحتوي سجل مكدس المعالج الثانوي على قيمة صفر؛
  • 10 - يحتوي سجل مكدس المعالج الثانوي على إحدى القيم الرقمية الخاصة، باستثناء الصفر؛
  • 11- السجل فارغ ويمكن الكتابة إليه . لا تعني هذه القيمة في حقل تسجيل العلامات ثنائي البت أن جميع البتات في سجل المكدس المقابل يجب أن تكون صفرًا.
كيف يعمل المعالج المساعد

يتم تنظيم مكدس التسجيل الخاص بالمعالج المساعد وفقًا لمبدأ الحلقة. من بين السجلات الثمانية التي تشكل المكدس، لا يوجد أي سجل في أعلى المكدس. جميع سجلات المكدس متطابقة تمامًا ولها حقوق متساوية من وجهة نظر وظيفية. الجزء العلوي في مكدس حلقة المعالج الثانوي عائم. يتم التحكم في الرأس الحالي في الأجهزة باستخدام الحقل العلوي 3 بت لسجل swr.


يسجل الحقل العلوي رقم سجل المكدس r0…r7، والذي يمثل حاليًا الجزء العلوي الحالي من المكدس.
تعليمات المعالج الثانوي لا تعمل مع الأرقام المادية لسجلات المكدس r0…r7، ولكن مع أرقامها المنطقية st(0)…st(7). باستخدام الأرقام المنطقية، يتم تنفيذ العنونة النسبية لسجلات مكدس المعالج الثانوي. على سبيل المثال، إذا كانت القمة الحالية قبل الكتابة إلى المكدس هي سجل المكدس الفعلي r3، فبعد الكتابة إلى المكدس، تصبح القمة الحالية هي سجل المكدس الفعلي r2. أي أنه أثناء كتابة المكدس، يتحرك المؤشر الموجود أعلى المكدس نحو الأعداد الأقل للسجلات الفعلية (يتناقص بمقدار واحد). إذا كانت القمة الحالية هي r0، فبعد كتابة القيمة التالية إلى مكدس المعالج الثانوي، ستصبح القمة الحالية هي السجل الفعلي r7. أما بالنسبة للأرقام المنطقية لسجلات المكدس st(0)…st(7) فإنها تتحرك مع التغير في الجزء العلوي الحالي للمكدس. يُسمى الجزء العلوي المنطقي للمكدس دائمًا st(0) .
نظرًا لأن المطور يتعامل مع أرقام تسجيل المكدس النسبية وليس المطلقة عند كتابة برنامج، فقد يواجه صعوبة في تفسير محتويات سجل علامة twr مع سجلات المكدس الفعلية المقابلة. كرابط اتصال، من الضروري استخدام المعلومات من الحقل العلوي لسجل swr. هذه هي الطريقة التي يتم بها تنفيذ مبدأ الحلقة.
يتمتع تنظيم المكدس هذا بمرونة كبيرة، خاصة عند تمرير المعلمات إلى الإجراء. لزيادة مرونة تطوير واستخدام الإجراءات، لا يُنصح بربطها بموارد الأجهزة (أرقام السجل الفعلي للمعالج المساعد) من حيث المعلمات المرسلة. يعد تحديد ترتيب المعلمات المرسلة في شكل أرقام تسجيل منطقية أكثر ملاءمة. ستكون طريقة النقل هذه واضحة ولا لبس فيها ولن تتطلب من المطور معرفة تفاصيل غير ضرورية حول تطبيقات الأجهزة الخاصة بالمعالج المساعد. الترقيم المنطقي لسجلات المعالج الثانوي، المدعوم على مستوى مجموعة التعليمات، ينفذ هذه الفكرة بشكل مثالي. في هذه الحالة، لا يهم السجل الفعلي لمكدس المعالج المساعد الذي تم وضع البيانات فيه قبل استدعاء الروتين الفرعي؛ فقط ترتيب المعلمات الموجودة على المكدس هو الذي يحدد. لهذا السبب، من المهم أن يعرف الروتين الفرعي فقط الترتيب الذي يتم به وضع المعلمات التي تم تمريرها على المكدس.

مبدأ تشغيل المعالج المساعد مع المعالج المركزي
يمتلك المعالج والمعالج المساعد أنظمة تعليمات منفصلة خاصة بهم وتنسيقات بيانات معالجة. على الرغم من أن المعالج الثانوي عبارة عن جهاز حاسوبي منفصل من الناحية المعمارية، إلا أنه لا يمكن أن يوجد بشكل منفصل عن المعالج الرئيسي. المعالج والمعالج المساعد، كونهما جهازين حاسوبيين مستقلين، يمكن أن يعملا بالتوازي. لكن هذا التوازي ينطبق فقط على تنفيذ الأمر. يرتبط كلا المعالجين بناقل نظام مشترك ويتمتعان بإمكانية الوصول إلى نفس المعلومات. يبدأ المعالج الرئيسي دائمًا عملية جلب التعليمات التالية. بعد أخذ العينات، يصل الأمر إلى كلا المعالجين في وقت واحد. يحتوي أي أمر للمعالج المساعد على رمز تشغيل، تكون البتات الخمس الأولى منه ذات قيمة 11011. وعندما يبدأ رمز التشغيل بهذه البتات، يحدد المعالج الرئيسي، بناءً على المحتويات الإضافية لرمز التشغيل، ما إذا كان هذا الأمر يتطلب الوصول إلى الذاكرة . في هذه الحالة، يقوم المعالج الرئيسي بإنشاء العنوان الفعلي للمعامل والوصول إلى الذاكرة، وبعد ذلك يتم عرض محتويات خلية الذاكرة لحافلة البيانات. إذا لم تكن هناك حاجة للوصول إلى الذاكرة، فسينتهي المعالج الرئيسي من العمل على التعليمات المحددة (دون محاولة تنفيذها) ويبدأ في فك تشفير التعليمات التالية من تدفق تعليمات الإدخال الحالي. يدخل الأمر المحدد إلى المعالج الثانوي في نفس الوقت مع المعالج الرئيسي. يبدأ المعالج المساعد، بعد أن يحدد من البتات الخمس الأولى، أن الأمر التالي ينتمي إلى نظام التعليمات الخاص به، في تنفيذه. إذا كانت التعليمات تتطلب معاملات من الذاكرة، فإن المعالج المساعد يصل إلى ناقل البيانات لقراءة محتويات خلية الذاكرة، والتي يتم توفيرها في تلك اللحظة بواسطة المعالج الرئيسي.

في بعض الحالات، من الضروري تنسيق تشغيل كلا الجهازين. على سبيل المثال، إذا كان الأمر من المعالج الثانوي يتبعه على الفور أمر من المعالج الرئيسي في دفق الإدخال، والذي يستخدم نتائج الأمر السابق، فلن يكون لدى المعالج الثانوي الوقت الكافي لتنفيذ أمره قبل المعالج الرئيسي، بعد تخطيه ينفذ أمر المعالج الثانوي أمره الخاص. في هذه الحالة، سيتم كسر منطق البرنامج. حالة أخرى ممكنة أيضا. إذا كان تدفق أوامر الإدخال يحتوي على تسلسل من عدة أوامر للمعالج المساعد، فسيقوم المعالج بتمريرها بسرعة كبيرة، ولكن يجب أن يوفر واجهة خارجية للمعالج الثانوي. تؤدي هذه المواقف وغيرها الأكثر تعقيدًا إلى الحاجة إلى مزامنة عمل معالجين مع بعضهما البعض. في نماذج المعالجات الدقيقة المبكرة، تم ذلك عن طريق إدخال أمر انتظار أو fwait خاص قبل أو بعد كل أمر للمعالج الثانوي. كان عمل هذا الأمر هو تعليق عمل المعالج الرئيسي حتى ينتهي المعالج الثانوي من العمل على الأمر الأخير. في نماذج المعالجات الدقيقة (بدءًا من i486)، يتم إجراء هذه المزامنة تلقائيًا. لكن بالنسبة لبعض الأوامر من مجموعة أوامر التحكم في المعالج الثانوي، من الممكن الاختيار بين الأوامر المتزامنة (الانتظار) وبدونها.

المعالج الرياضي المساعد عبارة عن وحدة نمطية خاصة لتنفيذ عمليات الفاصلة العائمة التي تعمل جنبًا إلى جنب مع المعالج المركزي.
المعالج الرياضي ليس عنصرًا إلزاميًا في الكمبيوتر الشخصي. من حيث المبدأ، يمكنك رفض ذلك. وقد تم ذلك في الماضي لأسباب اقتصادية.
ومع ذلك، عند حل المشكلات التي تتطلب عددا كبيرا من الحسابات الرياضية، على سبيل المثال، في الحسابات العلمية أو الهندسية، أصبحت مسألة زيادة أداء الكمبيوتر حادة.
للقيام بذلك، قرروا استخدام معالج خاص إضافي، والذي "تم ضبطه" لإجراء العمليات الحسابية وتنفيذها عدة مرات أسرع من المعالج المركزي. وبالتالي، كان من الممكن زيادة أداء المعالج المركزي من خلال وحدة خاصة - المعالج الرياضي.
على عكس المعالج المركزي، لا يتحكم المعالج الرياضي في الجزء الأكبر من دوائر الكمبيوتر. بدلاً من ذلك، يتم تحديد جميع أنشطة المعالج الرياضي الثانوي بواسطة المعالج المركزي، الذي يمكنه إرسال أوامر إلى المعالج الرياضي المساعد لتنفيذ البرامج وإنشاء النتائج. في الوضع العادي، تقوم وحدة المعالجة المركزية بجميع وظائف الكمبيوتر. وفقط عند مواجهة مهمة يمكن للمعالج الرياضي المساعد التعامل معها بشكل أفضل، يتم إعطاؤه البيانات والأوامر، وينتظر المعالج المركزي النتائج. تتضمن مثل هذه المسائل، على سبيل المثال، العمليات الحسابية بين الأعداد الحقيقية (العمليات بين أرقام الفاصلة العائمة)، حيث يتم تمثيل الأرقام بواسطة العشرية والإحداثيات (القوة العشرية للرقم الذي يحدد موضع العلامة العشرية).
إذا كان في وقت سابق، في أجهزة الكمبيوتر من الأجيال الأولى (i80386، i80486)، تم تثبيت وحدة المعالج الرياضي المشترك على اللوحة الأم كشريحة منفصلة، ​​\u200b\u200bففي أجهزة الكمبيوتر الحديثة، لا يلزم استخدام المعالج المساعد الرياضي كشريحة منفصلة، ​​لأنه بنيت بالفعل في المعالج المركزي.
تعتمد الفوائد التي تحصل عليها من استخدام المعالج الرياضي المساعد على نوع المسائل التي تحلها على جهاز الكمبيوتر الخاص بك.
وفقًا لـ INTEL، يمكن للمعالج الرياضي المساعد تقليل وقت تنفيذ العمليات الحسابية مثل الضرب والقسمة والأسي بنسبة 80 بالمائة أو أكثر. وتبقى سرعة العمليات الحسابية البسيطة، مثل الجمع والطرح، دون تغيير.
من الناحية العملية، لا يمكن تحسين أداء الكمبيوتر الشخصي فيما يتعلق بإعداد النص وصيانة قاعدة البيانات (الوظائف التي لا تتطلب حسابات رياضية معقدة) بواسطة معالج رياضي مساعد. ومع ذلك، سوف تحصل على زيادة ملحوظة في الإنتاجية عند إجراء الحسابات العلمية والهندسية، ومعالجة البيانات الإحصائية، وكذلك عند العمل مع الرسومات، لأن الأخير يتطلب حسابات رياضية مكثفة.

عادة لا يفكر المستخدمون العاديون أبدًا في ماهية المعالج المساعد، والغالبية العظمى منهم لا يعرفون حتى عن وجوده. يتغير كل شيء عندما يبدأ نظام التشغيل في العمل بإصرار يحسد عليه ويعرض رسائل تفيد بعدم العثور على برنامج التشغيل المقابل. ماذا تفعل في مثل هذه الحالة؟ هناك الكثير من الحلول التي يمكن العثور عليها، ولكن دون فهم كامل لما هو هذا الجهاز، لن يحل أي منهم المشكلة التي نشأت بشكل كامل.

ما هو المعالج المساعد: الفهم العام

كنت قد تكون مهتمة في:

أولا وقبل كل شيء، دعونا نلقي نظرة على ما هو عليه وما هو الغرض منه. بناء على اسم هذا الجهاز، من السهل أن نستنتج أن هذا هو نوع من المعالج الإضافي المثبت في نظام الكمبيوتر إلى جانب المعالج الرئيسي (المركزي). مثل وحدة المعالجة المركزية، يتم تثبيت المعالج الثانوي على اللوحة الأم. ومع ذلك، فمن الضروري التمييز بين الخيارات الرئيسية لتثبيته. أما بالنسبة لجهاز المعالج الثانوي، فيمكن تقديمه في شكل دائرة كهربائية صغيرة منفصلة (رقاقة)، ​​حيث يتم تخصيص موقع تركيب خاص (حافلة) على اللوحة الأم، وفي شكل مكون مدمج مباشرة في المعالج المركزي .