إنتل 8237


وحدة التحكم Intel 8237 هي وحدة تحكم للوصول المباشر إلى الذاكرة (DMA)، وهي جزء من عائلة المعالجات الدقيقة MCS 85. وهي تُمكّن من نقل البيانات بين الذاكرة ووحدات الإدخال/الإخراج مع تقليل الحمل على المعالج الرئيسي للنظام من خلال تزويد الذاكرة بإشارات التحكم ومعلومات عنوان الذاكرة أثناء عملية نقل DMA.
يُعدّ جهاز 8237 جهازًا رباعي القنوات قابلًا للتوسيع ليشمل أي عدد من مداخل قنوات الوصول المباشر إلى الذاكرة (DMA). يتميز جهاز 8237 بقدرته على نقل البيانات عبر DMA بمعدلات تصل إلى 1.6 ميجابايت في الثانية. تستطيع كل قناة الوصول إلى قسم كامل من الذاكرة بسعة 64 كيلوبايت، ويمكنها نقل ما يصل إلى 64 كيلوبايت ببرمجة واحدة. [ 1 ]
استُخدمت شريحة 8237 واحدة كوحدة تحكم DMA في جهازي IBM PC و IBM XT الأصليين . أضاف جهاز IBM PC AT شريحة 8237 أخرى في تكوين رئيسي-تابع، مما زاد عدد قنوات DMA من أربع إلى سبع. [ 2 ] قد تحتوي أجهزة الكمبيوتر الشخصية المتوافقة مع IBM لاحقًا على شرائح تحاكي وظائف شريحة 8237 لضمان التوافق مع الإصدارات السابقة . في الواقع، صُممت شريحة Intel 8237 بواسطة AMD (وتُسمى Am9517 [ 3 ] ). كان ذلك جزءًا من اتفاقية ترخيص متبادل، سمحت لشركة AMD بتصنيع معالجات Intel، مما أتاح التصميم لشركة Intel أيضًا. لهذا السبب، تحمل عبوة Intel عبارة "(C) AMD 1980" مطبوعة عليها. صُنعت شريحة 8237، التي تعمل بتردد 3 ميجاهرتز و5 ميجاهرتز، بواسطة Intel كما هو موضح في الإصدارات المختلفة ، بينما طورت NEC شريحة μPD71037، وهي نسخة تعمل بتردد 10 ميجاهرتز. [ 4 ]
الأوضاع
يعمل المعالج 8237 في أربعة أوضاع مختلفة، وذلك حسب عدد البايتات المنقولة في كل دورة وعدد الدوائر المتكاملة المستخدمة:
- أحادي - دورة DMA واحدة، دورة CPU واحدة متداخلة حتى يصل عداد العنوان إلى الصفر. [ 5 ]
- يستمر النقل حتى يصل عدد الكلمات إلى الصفر أو يتم تفعيل إشارة نهاية العملية. [ 5 ]
- الطلب - تستمر عمليات النقل حتى يتم تفعيل TC أو EOP أو حتى يتم تعطيل DRQ. يُسمح لوحدة المعالجة المركزية باستخدام الناقل عندما لا يتم طلب أي عملية نقل. [ 5 ]
- التتالي - يُستخدم لتوصيل وحدات تحكم DMA إضافية على التوالي. تتم مطابقة إشارات DREQ وDACK مع إشارات HRQ وHLDA من الشريحة التالية لإنشاء سلسلة أولوية. يتم تنفيذ إشارات الناقل الفعلية بواسطة الشريحة المتتالية. [ 5 ]
يمكن إجراء نقل البيانات بين وحدات الذاكرة. وهذا يعني إمكانية نقل البيانات من وحدة ذاكرة إلى أخرى. يُعد سجل العنوان الحالي للقناة 0 مصدرًا لنقل البيانات، بينما تنتهي عملية النقل عندما يصبح سجل عدد الكلمات الحالي للقناة 1 مساويًا للصفر.
في وضع التهيئة التلقائية، تُستعاد قيم العنوان والعدد عند استقبال إشارة نهاية العملية (EOP). يحدث هذا دون أي تدخل من وحدة المعالجة المركزية. ويُستخدم هذا الوضع لتكرار عملية النقل الأخيرة. [ 5 ]
يشير عداد المحطة الطرفية (TC) إلى انتهاء عملية النقل إلى بطاقات ISA. عند انتهاء النقل، ستتم عملية تهيئة تلقائية مُهيأة للقيام بذلك.
الوضع الفردي
في الوضع الفردي، يتم نقل بايت واحد فقط لكل طلب. مع كل عملية نقل، يتم إنقاص قيمة سجل العد، بينما يتم زيادة أو إنقاص العنوان حسب البرمجة. عندما يصل سجل العد إلى الصفر، تُرسل إشارة العد النهائي (TC) إلى البطاقة. [ 6 ] [ 7 ]
يجب أن يتم رفع طلب DMA DREQ بواسطة البطاقة وأن يظل نشطًا حتى يتم تأكيده بواسطة DMA acknowledge DACK . [ 6 ]
وضع نقل الكتل
يتم تفعيل عملية النقل بواسطة DREQ، ويمكن إلغاء تفعيلها بمجرد تأكيدها بواسطة DACK . تستمر عملية النقل حتى يتم تفعيل نهاية العملية EOP (سواءً كانت داخلية أو خارجية)، مما يؤدي إلى تشغيل عداد TC على البطاقة. يمكن برمجة التهيئة التلقائية في هذا الوضع. [ 6 ]
نمط التحويل عند الطلب
يتم تفعيل عملية النقل بواسطة DREQ ويتم تأكيدها بواسطة DACK ، وتستمر حتى يصبح TC أو EOP الخارجي أو DREQ غير نشط. ولا يمكن تفعيل التهيئة التلقائية إلا بواسطة TC أو EOP الخارجي إذا تمت برمجتها. [ 6 ]
السجلات الداخلية
فيما يلي السجلات الداخلية المستخدمة في جهاز 8237 لنقل البيانات:
- سجل عنوان القاعدة : لتخزين العنوان الأولي الذي سيتم منه نقل البيانات
- سجل عدد الكلمات الأساسية: لتخزين عدد عمليات النقل التي سيتم تنفيذها
- سجل العنوان الحالي: لتخزين العنوان الحالي الذي يتم منه نقل البيانات
- سجل عدد الكلمات الحالي: لتخزين عدد عمليات النقل المتبقية التي يتعين إجراؤها
- سجل العناوين المؤقت: لحفظ عنوان البيانات أثناء نقل البيانات من ذاكرة إلى أخرى
- سجل مؤقت لعدد الكلمات: لتخزين عدد عمليات النقل التي سيتم إجراؤها في عملية النقل من ذاكرة إلى ذاكرة
- سجل الوضع: سجل 8 بت يخزن القناة المراد استخدامها، ووضع التشغيل، أي وضع النقل، ومعلمات النقل الأخرى
- سجل الأوامر: سجل 8 بت يقوم بتهيئة القناة المستخدمة لنقل البيانات
- سجل الطلب: سجل 8 بت يُستخدم للإشارة إلى القناة التي تطلب نقل البيانات
- سجل القناع: سجل 8 بت يُستخدم لحجب قناة معينة من طلب خدمة الوصول المباشر إلى الذاكرة (DMA).
- سجل الحالة : سجل 8 بت يُستخدم للإشارة إلى القناة التي تخضع حاليًا لخدمة الوصول المباشر للذاكرة (DMA) وبعض المعلمات الأخرى
استخدام جهاز IBM PC
باعتباره أحد أفراد عائلة أجهزة Intel MCS-85، فإنّ المعالج 8237 هو جهاز 8 بت مع عنونة 16 بت. ومع ذلك، فهو متوافق مع المعالجات الدقيقة 8086/88 . تحتوي طرازات IBM PC وPC XT (النوعان 5150 و5160) على وحدة معالجة مركزية 8088 وبنية ناقل نظام 8 بت؛ يتصل هذا الناقل مباشرةً بالمعالج 8237، ولكن نظرًا لأنّ ناقل عناوين المعالج 8088 هو 20 بت، فقد أُضيفت أربع وحدات تخزين عناوين إضافية 4 بت (جميعها في الواقع جزء من جهاز 74LS670 واحد)، واحدة لكل قناة DMA، إلى جانب المعالج 8237 لزيادة عدادات العناوين. مع ذلك، ولأنّ هذه الوحدات الخارجية منفصلة عن عدادات عناوين المعالج 8237، فإنها لا تُزاد أو تُنقص تلقائيًا أثناء عمليات DMA، مما يجعل من المستحيل إجراء عملية DMA عبر حدود عنوان 64 كيلوبايت. ستؤدي محاولات عبور حد 64 كيلوبايت في عملية نقل DMA إلى التفاف البيانات داخل كتلة ذاكرة واحدة بحجم 64 كيلوبايت. (على سبيل المثال، إذا تمت برمجة قناة DMA ومخزن العناوين المرتبط بها لنقل 256 بايت إلى عناوين تصاعدية تبدأ من العنوان 0x3FF8C، فبدلاً من النقل إلى العناوين من 0x3FF8C إلى 0x4008B، سيتم نقل البيانات إلى العناوين من 0x3FF8C إلى 0x3FFFF ثم إلى العناوين من 0x30000 إلى 0x3008B).
استخدم جهاز IBM PC أيضًا إحدى قنوات معالج 8237 لتحديث ذاكرته الديناميكية عن طريق ربط مدخل قناة DMA بمخرج عداد المؤقت في لوحة النظام. تسبب هذا الترتيب في دورات قراءة دورية على رقائق الذاكرة، مما أدى إلى تحديثها. [ 8 ]
يستخدم جهاز IBM PC AT (النوع 5170) والأجهزة المتوافقة معه تمامًا معالج 80286 وبنية ناقل نظام 16 بت. بالإضافة إلى معالج 8237 الموجود في طرازي PC وXT، يُضاف معالج 8237 ثانٍ متصل به على التوالي، وذلك لإجراء عمليات نقل DMA 16 بت. هذا ممكن، على الرغم من أن معالج 8237 هو جهاز 8 بت، لأنه يُجري عمليات النقل بين منفذ الإدخال/الإخراج والذاكرة كعمليات نقل "سريعة"، حيث تُوضع البيانات على الناقل بواسطة ذاكرة المصدر أو منفذ الإدخال/الإخراج، وتُقرأ مباشرةً في الوقت نفسه بواسطة منفذ الإدخال/الإخراج الوجهة أو الذاكرة، دون أن يُعالجها معالج 8237. في هذا النمط من النقل، لا يُؤثر عرض ناقل البيانات بشكل أساسي على معالج 8237 (طالما أنه متصل بناقل بيانات بعرض 8 بت على الأقل، لبرمجة سجلات 8237). يُوفر مُعالج 8237 الثاني في حاسوب من فئة AT ثلاث قنوات DMA سعة 16 بت (قنواته من 1 إلى 3، وتُسمى القنوات من 5 إلى 7 في حاسوب AT). تُستخدم قناته 0 (المُسماة القناة 4 في حاسوب AT) في وضع التوصيل المتتالي لربط مُعالج 8237 لتوصيل DMA سعة 8 بت كـ"تابع" في هذا التوصيل. أما مُعالج 8237 الذي يُوفر قنوات الـ 16 بت فهو "الرئيسي". ولتمكينه من عنونة الكلمات ذات 16 بت، يتم توصيله بناقل العناوين بطريقة تُحسب فيها العناوين الزوجية (0، 2، 4، ...) بدلاً من العناوين الفردية. ومثل مُعالج 8237 الأول، فهو مُزود بأربعة سجلات لتوسيع العناوين. في حاسوب من فئة AT، يبلغ عرض جميع سجلات توسيع العناوين الثمانية 8 بت، مما يسمح بتحديد عناوين كاملة سعة 24 بت - وهو حجم ناقل عناوين 80286 . لا تزال عمليات نقل البيانات عبر DMA على أي قناة غير قادرة على تجاوز حد 64 كيلوبايت. (يقتصر DMA ذو 16 بت على 32768 كلمة من 16 بت، على الرغم من أن قناة DMA يمكنها العد حتى 65536 عنوانًا؛ حيث يتم تجاهل البت الأكثر أهمية في عداد العناوين من قناة DMA ذات 16 بت). ولأن وضع DMA من الذاكرة إلى الذاكرة في معالج 8237 يعمل عن طريق نقل بايت من موقع الذاكرة المصدر إلى سجل مؤقت داخلي ذي 8 بت في المعالج، ثم من السجل المؤقت إلى موقع الذاكرة الوجهة، فلا يمكن استخدام هذا الوضع لنقل البيانات عبر DMA من الذاكرة إلى الذاكرة ذي 16 بت، لأن السجل المؤقت غير كافٍ. إضافةً إلى ذلك، يتطلب نقل البيانات عبر DMA من الذاكرة إلى الذاكرة ذي 16 بت استخدام القناة 4، مما يتعارض مع استخدامها لتوصيل معالج 8237 الذي يتعامل مع قنوات DMA ذات 8 بت. ومع ذلك، في جهاز AT، لم تعد قناة DMA ذات 8 بت 0 تستخدم لتحديث DRAM، حيث تم استبدالها بمنطق تحديث متخصص، لذلك ينبغي أن يكون من الممكن إجراء DMA من الذاكرة إلى الذاكرة ذات 8 بت باستخدام القناتين 0 و1 دون مقاطعة تحديث DRAM.
لم يتم تحديث تصميم وحدة الوصول المباشر للذاكرة (DMA) القائمة على معالج 8237 في أجهزة الكمبيوتر المتوافقة مع معيار AT مع الانتقال إلى وحدات المعالجة المركزية 32 بت وبنية ناقل النظام 32 بت. ونتيجةً لذلك، يتمثل أحد القيود في هذه الأجهزة في أن وحدات التحكم DMA في معالج 8237، مع سجلات امتداد عناوين "الصفحة" المصاحبة لها، لا تستطيع الوصول إلا إلى 16 ميجابايت من الذاكرة، وفقًا للتصميم الأصلي الموجه نحو معالج 80286، الذي يعاني بدوره من نفس قيد العنونة. [ 9 ] هذا يعني أنه بالنسبة لمناطق الذاكرة الأخرى، يجب نقل البيانات أولاً عبر DMA من جهاز الإدخال/الإخراج إلى مخزن مؤقت وسيط في أول 16 ميجابايت من مساحة العناوين الفيزيائية ، ثم نقلها إلى الذاكرة النهائية بواسطة وحدة المعالجة المركزية؛ أو، في الاتجاه المعاكس، يجب نقلها من الذاكرة الأولية إلى المخزن المؤقت الوسيط بواسطة وحدة المعالجة المركزية قبل نقلها عبر DMA من ذلك المخزن المؤقت إلى جهاز الإدخال/الإخراج. تُسمى هذه التقنية "مخزن الارتداد" . بشكل عام، يفقد أي فائدة إجمالية في السرعة مرتبطة بـ DMA، ولكن قد يكون ذلك ضروريًا إذا تطلب الأمر الوصول إلى جهاز طرفي عن طريق DMA إما بسبب متطلبات التوقيت الصعبة أو عدم مرونة واجهة الأجهزة.
في سلسلة حواسيب PS/2 ، قامت شركة IBM بتحديث وحدة DMA لدعم البيانات والعناوين ذات 32 بت في بعض الأنظمة المزودة بمعالجات 80386، وذلك باستبدال وحدة التحكم 8237 بتصميم جديد لوحدة تحكم DMA. يتضمن التصميم الجديد وضع توافق مع 8237 لضمان التوافق مع الإصدارات السابقة من حواسيب PC AT.
التكامل في مجموعات الشرائح
على الرغم من أن هذا الجهاز قد لا يظهر كمكون منفصل في أنظمة الحواسيب الشخصية الحديثة، إلا أنه يظهر ضمن مجموعات شرائح التحكم في النظام. على سبيل المثال، دمج جهاز PIIX وحدتي تحكم 8237 لناقل ISA DMA. [ 10 ] [ 11 ]
المتغيرات
| رقم الموديل | سرعة الساعة | سرعة النقل [ القائمة 1 ] | طَرد | السعر (بالدولار الأمريكي) [ القائمة 2 ] |
|---|---|---|---|---|
| 8900 | 3 ميجاهرتز | |||
| 8237 | 3 ميجاهرتز | PLCC ذو 44 دبوسًا [ القائمة 3 ] [ 12 ] | ||
| 8237-2 | 5 ميجاهرتز | 1.6 متر/ثانية | 20.00 دولارًا [ 13 ] |
- زيادة في عدد الميغابايتات في الثانية في كتلة بحجم 64 كيلوبايت
- ↑ بكميات 100 وما فوق
- ↑ أخذ العينات الربع الثاني 1986
انظر أيضاً
- إنتل 8284 - مولد الساعة
- وحدة تحكم ناقل البيانات Intel 8288
- 8250 UART - وحدة تحكم تسلسلية غير متزامنة (EIA-232)
- Intel 8253 - مؤقت الفاصل الزمني القابل للبرمجة (PIT)
- Intel 8255 - واجهة طرفية قابلة للبرمجة (PPI)
- إنتل 8259 - وحدة التحكم في المقاطعات القابلة للبرمجة (PIC)
- محولات ATA المتوازية (P-ATA)
- بنية معيار الصناعة (ISA)
مراجع
- ↑ معالجات إنتل الدقيقة بقلم باري بي بري
- ↑ ن. ماثيفانان (2007). الأجهزة القائمة على الحاسوب الشخصي: المفاهيم والتطبيق . دار نشر PHI Learning Pvt. Ltd.، الصفحات 227-229 . ISBN 978-81-203-3076-4.
- ↑ "وحدة تحكم DMA متعددة الأوضاع Am9517A" (ملف PDF) . تم الاطلاع عليه بتاريخ 2024-01-04 .
- ↑ "وحدة تحكم الوصول المباشر إلى الذاكرة (DMA) pPD71037" (ملف PDF) . تم الاطلاع عليه بتاريخ 2024-01-04 .
- 1 2 3 4 5 aluzina.org - Intel 8237/8237-2 وحدة تحكم DMA عالية الأداء وقابلة للبرمجة (ملف PDF) - ورقة البيانات
- 1 2 3 4 books.google.com - المعالجات الدقيقة والأجهزة الطرفية المتقدمة ، 2006، ص 312/313
- ↑ pinouts.ru - مخطط توصيلات ناقل ISA ، 2008-10-20
- ↑ مرجع فني (ملف PDF) . شركة آي بي إم. أغسطس 1981. ص 2-4 . تم الاطلاع عليه بتاريخ 24 يونيو 2025 .
- ↑ brokenthorn.com - سلسلة تطوير أنظمة التشغيل
- ↑ "وحدة تحكم DMA قابلة للبرمجة عالية الأداء 8237A" (ملف PDF) . PDOS . تم الاطلاع عليه بتاريخ 7 مايو 2024 .
- ↑ "82371FB (PIIX) و82371SB (PIIX3)" (ملف PDF) . كتالوج بيانات المنتج . تم الاطلاع عليه بتاريخ 7 مايو 2024 .
- ↑ آشبورن، جيم؛ "التغليف المتقدم: القليل يُحدث فرقًا كبيرًا"، شركة إنتل، حلول، يناير/فبراير 1986، الصفحة 2
- ↑ شركة إنتل، "مكونات الحواسيب الصغيرة: وحدة التحكم الجديدة في الوصول المباشر للذاكرة من إنتل 8237 توفر حلاً للوصول المباشر للذاكرة بتردد 5 ميجاهرتز للأنظمة القائمة على 8088 و8085A-2"، معاينة إنتل، مايو/يونيو 1979، صفحة 9.
روابط خارجية
- DMA: ما هو وكيف يعمل؟ دليل مطوري FreeBSD. 1997 (أرشيف الإنترنت).
- شرائح إنتل
- أجهزة الكمبيوتر الشخصية المتوافقة مع IBM
- دوائر متكاملة للإدخال/الإخراج
