وأوضح موانئ الإدخال والإخراج بواسطة Semalt Expert

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

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

عنوان المنفذ

للتحكم في تبادل البيانات بين أجهزة الكمبيوتر ، يتم تعيين رقم منفذ فريد لكل منفذ IO. في الكمبيوتر الشخصي ، يتم استخدام رمز 16 بت لمعالجة منافذ الإدخال / الإخراج. لذلك ، هناك 216 = 65 536 منفذًا ، مرقمة من OOOOh إلى FFFFh. نطاق الإدخال / الإخراج القياسي لأجهزة الكمبيوتر المتوافقة مع IBM هو 0-3FFh. وتشمل هذه المنافذ وحدات تحكم لوحة المفاتيح ، والأقراص الصلبة والأقراص المرنة ، ومحولات الفيديو EGA / VGA ، وبطاقات الصوت ، والواجهات التسلسلية والمتوازية ، ومنافذ الألعاب وأي أجهزة طرفية أخرى. جهاز طرفي قادر على استخدام منافذ إدخال / إخراج متعددة. لاحظ أنه يمكنك بالفعل استخدام عناوين حتى FFFFh. على سبيل المثال ، تحتوي منافذ معالج التوليف WT لبطاقة الصوت على نطاق IO 620h-E23h.

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

يمكن أن يكون عنوان IO الأساسي للجهاز الطرفي أي عنوان من نطاق IO. يحتفظ BIOS بجزء من نطاق IO للأجهزة القياسية التي لا يمكن استخدامها من قبل الأجهزة الطرفية الأخرى. على سبيل المثال ، بالنسبة لواجهة LPT1 نطاق IO 378h - 37Eh محجوز حيث يمكن تحديد عنوان IO الأساسي. ثم سيتم استبعاد إمكانية حدوث تعارضات عند معالجة المنافذ على مستوى برامج الأجهزة. نظرًا لأنه يتم استخدام ثلاثة سجلات للتحكم في LPT1 ومراقبتها ، في نطاق IO هذا ، هناك 5 قيم محتملة لعنوان القاعدة - 378h-s-37Ch.

IO المبرمج

لتبادل البيانات مع الموانئ يتم استخدام الإدخال / الإخراج المبرمج (PIO). ينقل الكلمات بعمق بت 8 أو 16 أو 32 بت باستخدام أوامر السلسلة. يمكن إرسال الكلمة لدورة حافلة واحدة أو أكثر مع الإشارة إلى العنوان المقابل في كل دورة وصول للذاكرة. تبدأ دورات تبادل الحافلات أثناء تنفيذ أمر الإدخال / الإخراج. يعتمد عدد الدورات على محاذاة العنوان على طول حد الكلمة وعمق بت البيانات للناقل المستخدم. تتجاوز سرعة تبادل البيانات PIO سرعة تبادل قناة الوصول المباشر للذاكرة (DMA) القياسية.