IO المعين بالذاكرة مقابل IO المعين: الفرق والمقارنة

الوجبات السريعة الرئيسية

  1. يعامل الإدخال / الإخراج المعين للذاكرة (MMIO) أجهزة الإدخال / الإخراج كمواقع ذاكرة ، مع تعيين سجلاتهم لعناوين محددة في مساحة عنوان ذاكرة النظام. يتيح ذلك لوحدة المعالجة المركزية استخدام تعليمات التحميل / التخزين للوصول إلى أجهزة الإدخال / الإخراج ، وتبسيط البرمجة وتمكين نقل البيانات بكفاءة.
  2. I / O-mapped I / O (I / O-MMIO) يستخدم مساحة عنوان منفصلة لعمليات الإدخال / الإخراج ، مختلفة عن مساحة عنوان الذاكرة العادية. تتصل تعليمات الإدخال / الإخراج الخاصة بأجهزة الإدخال / الإخراج ، مما يوفر الفصل والمرونة.
  3. تستفيد MMIO من آليات حماية الذاكرة ومعدلات نقل البيانات الفعالة ولكن لها قيود على معالجة الفضاء والتعارضات المحتملة. تتجنب I / O-MMIO تعارضات الذاكرة وتوفر مساحة عنوان أكبر ولكنها قد تؤدي إلى تعقيد في البرمجة ومن المحتمل أن يكون الوصول أبطأ. يعتمد الاختيار على متطلبات النظام واعتبارات التصميم.

ما المقصود بـ I / O المعين بالذاكرة؟

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

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

اقرأ أيضا:  4K مقابل 1080 بكسل مقابل 720 بكسل: الفرق والمقارنة

ما هو I / O-Mapped I / O؟

الإدخال / الإخراج المعين I / O (الإدخال / الإخراج) هو بديل للإدخال / الإخراج المعين للذاكرة للتفاعل مع الأجهزة الطرفية في نظام الكمبيوتر. على عكس الإدخال / الإخراج المعين بالذاكرة ، والذي يقوم بتعيين الأجهزة الطرفية في مساحة عنوان الذاكرة ، يقوم الإدخال / الإخراج المعين I / O بتعيين مساحة عنوان منفصلة لعمليات الإدخال / الإخراج.

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

الفرق بين I / O المعين بالذاكرة و I / O-Mapped I / O

  1. في I / O المعين للذاكرة ، تتم مشاركة الذاكرة وعناوين الإدخال / الإخراج في نفس مساحة العنوان. يتم تعيين الأجهزة الطرفية لعناوين ذاكرة محددة ، ويتم استخدام تعليمات وحدة المعالجة المركزية للوصول إلى الذاكرة للتواصل مع الأجهزة. في المقابل ، I / O المعين I / O يعيّن مساحة عنوان منفصلة لعمليات الإدخال / الإخراج ، متميزة عن مساحة عنوان الذاكرة.
  2. يستخدم الإدخال / الإخراج المعين للذاكرة لتحميل وتخزين التعليمات للقراءة من أو الكتابة إلى العناوين المعينة للذاكرة للأجهزة الطرفية. من ناحية أخرى ، يتطلب الإدخال / الإخراج المعين I / O تعليمات إدخال وإخراج مخصصة مصممة خصيصًا للتفاعل مع عناوين الإدخال / الإخراج.
  3. في عمليات الإدخال/الإخراج المعينة للذاكرة، تحدد مساحة الذاكرة المتوفرة نطاق العناوين. قد تكون عناوين الذاكرة المستخدمة لعمليات الإدخال/الإخراج متناثرة في مساحة العنوان. في عمليات الإدخال/الإخراج المعينة للإدخال/الإخراج، يكون نطاق العناوين مخصصًا لعمليات الإدخال/الإخراج فقط ولا يتداخل مع عناوين الذاكرة.
  4. يوفر الإدخال / الإخراج المعين بالذاكرة نموذج برمجة أبسط ، حيث تظهر الأجهزة كجزء من التسلسل الهرمي للذاكرة. من ناحية أخرى ، يقدم الإدخال / الإخراج المعين I / O تعقيدًا إضافيًا في تطوير البرامج ، حيث يحتاج المبرمجون إلى إدارة تعليمات I / O منفصلة ومساحات العنوان.
  5. قد يكون للإدخال / الإخراج المعين بالذاكرة أمان وحماية محدودة لعمليات الإدخال / الإخراج ، حيث تشترك الأجهزة في نفس مساحة العنوان مثل الذاكرة. قد يؤثر الوصول غير المصرح به إلى مواقع الذاكرة على الأجهزة المتصلة. في الإدخال / الإخراج المعين ، توفر مساحة عنوان الإدخال / الإخراج المنفصلة عزلًا وحماية أفضل ، مما يضمن أن الوصول غير المصرح به إلى الذاكرة لا يمنح الوصول تلقائيًا إلى أجهزة الإدخال / الإخراج.
اقرأ أيضا:  PCI 2.0 مقابل PCI 2.1: الفرق والمقارنة

مقارنة بين I / O المعين بالذاكرة و I / O-Mapped I / O

معلمات المقارنةذاكرة I / O المعينةI / O المعين I / O
معالجةيتم استخدام عناوين الذاكرة لكل من عمليات الذاكرة والإدخال / الإخراج.يتم استخدام عناوين الإدخال / الإخراج المنفصلة حصريًا لعمليات الإدخال / الإخراج.
نطاق العنوانمحدودة بمساحة الذاكرة المتوفرة.مساحة عنوان مخصصة فقط لعمليات الإدخال / الإخراج ، متميزة عن الذاكرة.
تعليماتذاكرة I / O المعينةتعليمات إدخال / إخراج محددة مصممة لعمليات الإدخال / الإخراج.
واجهة الأجهزةتظهر الأجهزة كما لو كانت جزءًا من التسلسل الهرمي للذاكرة.يتطلب واجهة إدخال / إخراج منفصلة وإشارات تحكم لاتصالات الجهاز.
الأداءتُستخدم تعليمات التحميل / التخزين للوصول إلى كل من الذاكرة وعناوين الإدخال / الإخراج.قد يكون تنفيذ تعليمات الإدخال / الإخراج أبطأ مقارنة بإرشادات الوصول إلى الذاكرة ، مما يؤثر على الأداء.
مراجع حسابات
  1. https://arxiv.org/abs/2301.06689
  2. https://www.researchgate.net/profile/John-Mccalpin/publication/266375644_Low_Level_Microbenchmarks_of_Processor_to_FPGA_Memory-Mapped_IO/links/542dcd460cf27e39fa94b415/Low-Level-Microbenchmarks-of-Processor-to-FPGA-Memory-Mapped-IO.pdf
طلب واحد؟

لقد بذلت الكثير من الجهد في كتابة منشور المدونة هذا لتقديم قيمة لك. سيكون مفيدًا جدًا بالنسبة لي ، إذا كنت تفكر في مشاركته على وسائل التواصل الاجتماعي أو مع أصدقائك / عائلتك. المشاركة هي ♥ ️

هل تريد حفظ هذه المقالة لوقت لاحق؟ انقر فوق القلب الموجود في الزاوية اليمنى السفلية للحفظ في مربع المقالات الخاصة بك!

نبذة عن الكاتب

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