**ورودی/خروجی حافظه‌ای** و **ورودی/خروجی درگاهی** (به انگلیسی: Memory-Mapped I/O و Port-Mapped I/O به اختصار MMIO و PMIO) دو روش مکمل برای پیاده‌سازی ورودی/خروجی بین پردازنده و دستگاه‌های جانبی در یک رایانه می‌باشند. یک راه دیگر می‌تواند استفاده از یک پردازنده اختصاصی که دستورها مخصوص خود را دارا می‌باشد باشد.
این دستورها در برگیرنده اطلاعات مبادله شده می‌باشد. این پورت شباهتی به شبکه ذخیره‌سازی ناحیه ای دارد که به سرورها و اجزای خارجی اطلاعات را مبادله می‌کنند

در هر دو این روشها، پردازنده و دستگاه‌جانبی هردو دسترسی مستقیم به یک فضای حافظه‌ای (که می‌تواند بسیار کوچک باشد) که بر روی آن دستگاه‌جانبی قرار دارد، دارند و از این طریق دستورها و داده‌های خود را داخل آن فضا کپی کرده و با یکدیگر ارتباط برقرار می‌نمایند.

تفاوت این روشها در نحوه آدرس‌دهی در داخل این فضای حافظه مشترک است. یکی از این روشها از آدرسهای حافظه‌ای (Memory-Mapped I/O) استفاده نموده در حالیکه دیگری از آدرس‌دهی درگاهی (Port-Mapped I/O) استفاده می‌نماید. مسلماً پردازنده‌هایی که از آدرس‌دهی درگاهی استفاده می‌کنند با توجه به اینکه تعداد آدرسهای درگاهی به نسبت آدرسهای حافظه‌ای بسیار محدودتر می‌باشند، انتخابهای کمتری دارند.

پردازنده‌های جدید اصولاً از سیستم آدرس‌دهی ورودی/خروجی حافظه‌ای استفاده می‌کنند. هرچند که پردازنده‌های اینتل به دلایل سنتی از هر دو نوع آدرس‌دهی استفاده می‌کنند.

عملکرد
------

از آنجاییکه رابطه پردازنده و دستگاه‌های جانبی یک رابطه یکطرفه است، به این معنی که تنها پردازنده می‌تواند به حافظه به اشتراک گذاشته شده توسط دستگاه جانبی سرکشی نموده محتویات آنراخوانده یا روی آن بنویسد در حالیکه دستگاه جانبی تنها دسترسی به حافظه داخلی خود دارد و نه حافظه داخلی پردازنده، بنابراین یک روش برای ارتباط این دو **رأی‌گیری** یا Polling نام دارد، به اینصورت که دستگاه جانبی هرآنچه که می‌خواهد به پردازنده انتقال دهد را روی حافظه خود نوشته و پردازنده طی زمانهای ثابتی به این حافظه سرکشی می‌کند تا ببیند آیا دستور یا داده جدیدی برای پردازش در آن وجود دارد یا نه.

روش رأی‌گیری نارسا و ناکافی شناخته شده‌است بخاطر اینکه در صورت مشغول بودن پردازنده، کار با این روش بسیار زمانبر می‌شود.

روش جایگزین **خط وقفه** یا Interrupt line نام گرفته‌است. در این روش دستگاه جانبی هر زمان که چیزی برای پردازش داخل *ثبات* یا حافظه خود بنویسد، یک سیگنال درخواست وقفه (Interrupt Request یا IRQ) به پردازنده ارسال می‌نماید و پردازنده وقتی یک *سیگنال درخواست وقفه* دریافت نمود کارهای خود را در هرمرحله‌ای که باشد ذخیره کرده و متوقف می‌نماید. سپس پردازنده با توجه به شماره سیگنال درخواست وقفه دریافتی و مقایسه آن با جدول شماره وقفه‌ها برای فهمیدن اینکه کدام دستگاه آن درخواست وقفه را ارسال نموده‌است (مثلاً در حالت استاندارد IRQ ۰ برای ساعت سیستم، ۱ برای صفحه‌کلید و ۱۴ برای دیسک سخت اصلی می‌باشند) به آن دستگاه مراجعه نموده و پس از انجام پردازش مورد نظر به کار قبلی خود از همان نقطه که رها کرده بود بازمی‌گردد.

جستارهای وابسته
---------------

* ورودی/خروجی
* درخواست وقفه
* وقفه

منابع
-----

1. ↑  Wikipedia contributors, "Memory-mapped I/O,", December 13, 2012.

| * ن
* ب
* و
رایانه |
| --- |
| سخت‌افزار | 

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| واحدسیستم | 

|  |  |
| --- | --- |
| واحد پردازش مرکزی | واحد کنترل •  واحد محاسبه و منطق •  واحد مدیریت حافظه |
| حافظهٔ اصلی | حافظه دسترسی تصادفی (RAM) •  حافظه غیرفرار بایوس (BIOS memory) |
| کارت‌های توسعه | کارت گرافیک •  کارت صدا •  کارت شبکه •  کارت فاکس مودم •  کارت‌های توسعه |
| گذرگاه و درگاه | 

|  |  |
| --- | --- |
| گذرگاه | ورودی/خروجی حافظه‌ای •  گذرگاه ۳۲بیتی •  گذرگاه ۶۴بیتی |
| درگاه | درگاه سریال  •  PS/2  •  درگاه موازی  •  USB |

 |

 |
| وسایلورودی / خروجی | 

|  |  |
| --- | --- |
| ورودی | صفحه‌کلید •  موشواره •  تاچ‌پد •  پویشگر •  وب‌کم •  میکروفون •  قلم نوری |
| خروجی | نمایشگر (CRT - LCD - LED - OLED) •  چاپگر (جوهرافشان و لیزری) •  رسام •  بلندگو (و گوشی) |

 |
| حافظه‌هایجانبی | 

|  |  |
| --- | --- |
| حافظه مغناطیسی | دیسک نرم •  دیسک سخت •  نوار مغناطیسی |
| دیسک‌های نوری | لوح فشرده (CD) •  دی‌وی‌دی (DVD) •  دیسک بلو-ری |
| حافظه‌های فلش | درایو حالت جامد (SSD)  •  حافظه فلش (USB Flash disk) |

 |

 |
| نرم‌افزار | 

|  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| نرم‌افزارهایسیستم | 

|  |  |
| --- | --- |
| سیستم عامل | یونیکس •  لینوکس •  ویندوز •  مک‌ اواس •  اواس/۲ •  ام‌اس-داس •  سیستم‌عامل‎های موبایل •  بیشتر... |
| راه‎انداز ابزار | راه‎انداز ابزار (Device Driver) |
| نرم‌افزار سودمند | پارتیشن‌بندی •  یکپارچه‌سازی دیسک سخت •  ضدویروس •  فشرده‌سازی داده‌ها •  سامانه مدیریت بسته •  مدیر پرونده •  محافظ صفحه نمایش |

 |
| نرم‌افزارهایکاربردی | 

|  |  |
| --- | --- |
| برنامه‌هایکاربردی عمومی | برنامه‌های واژه‌پرداز •  برنامه‌های صفحه‌گسترده •  برنامه‌های مدیریت بانک‌های اطلاعاتی •  برنامه‌های ارائهٔ گرافیکی مطالب •  برنامه‌های مرورگر وب |
| برنامه‌های کاربردی تخصصی | برنامه‌های گرافیکی •  برنامه‌های ایجاد صفحات وب •  برنامه‌های ایجاد واقعیت مجازی •  برنامه‌های مدیریت پروژه |
| برنامه‌هایکاربردیسرگرم‌کننده | خالی |
| برنامه‌های کاربردیآموزشی و مرجع | خالی |
| برنامه‌های کاربردی سفارشی | خالی |

 |

 |