اتصال و اجرا

در رایانش ، یک دستگاه اتصال و اجرا (**plug and play یا به اختصار** **PnP**) یا گذرگاه رایانه‌ای، به سخت‌افزار یا استانداردی اطلاق می‌شود که امکان شناسایی خودکار یک مؤلفهٔ سخت‌افزاری را در سیستم، بدون نیاز به پیکربندی فیزیکی دستگاه یا دخالت کاربر در حل تعارض منابع فراهم می‌سازد.  اصطلاح «اتصال و اجرا» بعدها به طیف وسیعی از کاربردهایی تعمیم یافت که در آن‌ها نیز نیازی به تنظیمات دستی توسط کاربر وجود ندارد.  

دستگاه‌های توسعه‌یافته (expansion devices) برای کنترل و تبادل داده با سیستم میزبان، از طریق آدرس‌های تعیین‌شده در فضای حافظه یا درگاه‌های ورودی/خروجی (I/O) ، کانال‌های دسترسی مستقیم به حافظه (DMA) ، خطوط درخواست وقفه (DMA) سایر سازوکارهایی عمل می‌کنند که باید به‌صورت منحصربه‌فرد به یک دستگاه خاص اختصاص یابند تا عملکرد صحیح داشته باشند. در برخی رایانه‌ها، ترکیب منحصربه‌فردی از این منابع به هر شکاف (slot) مادربرد یا صفحه پشتی (backplane) اختصاص داده می‌شد. در طراحی‌های دیگر، همهٔ منابع به‌طور یکسان به تمامی اسلات‌ها ارائه می‌شدند و هر دستگاه جانبی با استفاده از مدارات رمزگشایی آدرس خاص خود، منابع مورد نیاز برای ارتباط با سیستم میزبان را تعیین می‌کرد. از آنجا که تخصیص منابع به‌صورت ثابت، گسترش سیستم را دشوار می‌کرد، برای تنظیم آدرس‌ها و سایر منابع، روش‌های دستی گوناگونی مانند جامپرهای سخت‌افزاری، پایه‌هایی که با سیم یا تسمه‌های جداشدنی متصل می‌شدند، یا سوئیچ‌هایی که برای تنظیم آدرس خاصی قابل تغییر بودند، به‌کار گرفته می‌شد.  با رایج‌شدن ریزپردازنده‌ها و در نتیجه، دسترسی عموم مردم به رایانه‌ها، پیکربندی نرم‌افزاری دستگاه‌های ورودی/خروجی مزیت یافت؛ زیرا امکان نصب دستگاه‌ها را برای کاربران غیرمتخصص نیز فراهم می‌ساخت. از جمله سیستم‌های اولیه برای پیکربندی نرم‌افزاری می‌توان به استاندارد MSX ،گذرگاه NuBus ،فناوری Amiga Autoconfig و معماریIBM Microchannel اشاره کرد. در ابتدا، همهٔ  کارت‌های توسعهٔ رایانه‌های IBM PC نیاز به تنظیمات فیزیکی مانند تسمه‌های جامپر یا سوئیچ‌های DIP برای انتخاب پیکربندی I/O داشتند، اما به‌تدریج دستگاه‌های مبتنی بر گذرگاه ISA امکان پیکربندی نرم‌افزاری را پیدا کردند.  تا سال ۱۹۹۵، سیستم‌عامل مایکروسافت ویندوز شامل روشی جامع برای شناسایی سخت‌افزار در زمان راه‌اندازی (boot) و تخصیص خودکار منابع شد؛ روشی که تحت عنوان استاندارد «Plug and Play» شناخته شد. 

دستگاه‌های Plug and Play ممکن است تنها در زمان راه‌اندازی سیستم منابع به آن‌ها تخصیص داده شود، یا ممکن است سیستم‌هایی با قابلیت اتصال در حالت روشن (hotplug) مانند USB و IEEE 1394 (FireWire). 

## تاریخچه پیکربندی دستگاه
[بندانگشتی| یک کارت رابط سریال تولید شرکت ثالث برای [سری اپل ۲|Apple II . کاربر، مسیرهای سیم‌کشی را میان مثلث‌های نازک متصل ⧓ در نقاط X1 و X3 قطع می‌کرد و در نقاط X2 و X4 در مرکز کارت، پدهای ⧑◀▶⧒ جدا از هم را با لحیم به‌هم متصل می‌کرد. ب بازگرداندن این تغییر دشوارتر بود.]]

برخی از دستگاه‌های جانبی اولیه برای ریزرایانه‌ها نیاز داشتند که کاربر نهایی برای ایجاد تغییر در پیکربندی، برخی سیم‌ها را به‌صورت فیزیکی قطع کند و برخی دیگر را با لحیم‌کاری به‌هم متصل کند؛  نین تغییراتی به‌گونه‌ای طراحی شده بودند که برای کل دورهٔ عمر سخت‌افزار، عمدتاً دائمی باقی بمانند.

با دسترسی بیشتر عموم به رایانه‌ها، نیاز شکل گرفت تا کاربران عادی – که در استفاده از هویه مهارت نداشتند – بتوانند تغییرات پیکربندی را با سهولت بیشتری اعمال کنند. به‌جای بریدن و لحیم‌کردن اتصالات، این تغییرات از طریق جامپرها یا سوئیچ‌های DIP انجام می‌شد. در مراحل بعد، این فرایند پیکربندی خودکار شد: Plug and Play. 

### ام اس ایکس (MSX)
سیستم MSX که در سال ۱۹۸۳ منتشر شد،  از ابتدا به گونه‌ای طراحی شده بود که از قابلیت اتصال و اجرا (Plug and Play) پشتیبانی کند، و این هدف را با استفاده از ساختاری مبتنی بر شکاف‌ها (slots) و زیرشکاف‌ها (subslots) محقق کرد؛ به‌طوری‌که هر شکاف دارای فضای آدرس مجازی مستقل خود بود، و بدین‌ترتیب تعارض در آدرس‌دهی دستگاه‌ها از اساس حذف می‌شد. هیچ نیازی به جامپر یا هرگونه پیکربندی دستی وجود نداشت، و فضای آدرس‌دهی مستقل برای هر شکاف اجازه می‌داد تا تراشه‌های بسیار ارزان و رایج، همراه با منطق اتصال ارزان (glue logic)، مورد استفاده قرار گیرند. در بخش نرم‌افزاری، درایورها و افزونه‌ها در حافظهٔ ROM خود کارت قرار داشتند و بنابراین نیازی به دیسک یا هیچ‌گونه دخالت کاربر برای پیکربندی نرم‌افزار وجود نداشت. افزونه‌های ROM تفاوت‌های سخت‌افزاری را انتزاع کرده و رابط‌های برنامه‌نویسی استاندارد (API) ارائه می‌دادند، همان‌طور که شرکت ASCII Corporation مشخص کرده بود.

### نوباس (NuBus)
بندانگشتی|141x141پیکسل| یک کارت توسعه NuBus بدون جامپر یا سوئیچ DIP
در سال 1984، معماری NuBus توسط موسسه فناوری ماساچوست (MIT)  به عنوان یک رابط جانبی مستقل از پلتفرم که پیکربندی دستگاه را به طور کامل خودکار می‌کرد، توسعه داده شد. این مشخصه به‌اندازه‌ای هوشمندانه طراحی شده بود که می‌توانست با هر دو نوع معماری رایانه‌ای big endian و little endian کار کند، که پیش‌تر با یکدیگر ناسازگار بودند. با این حال، این رویکرد بی‌طرف، باعث افزایش پیچیدگی در واسط‌ها می‌شد و نیازمند تراشه‌های پشتیبان روی هر دستگاه بود، که در دههٔ ۱۹۸۰ هزینه‌بر تلقی می‌شد. که در دهه ۱۹۸۰ انجام آن پرهزینه بود و جدا از کاربرد آن در اپل مکینتاش و ماشین‌های NeXT ، این فناوری به‌طور گسترده مورد استفاده قرار نگرفت.

### تنظیمات خودکار آمیگا و باس زورو (Amiga Autoconfig and Zorro bus)
در سال ۱۹۸۴، شرکت Commodore پروتکل  Autoconfig و  گذرگاه توسعهٔ Zorro را برای خط تولید کامپیوترهای قابل‌گسترش آمیگا خود توسعه داد. اولین نمایش عمومی آن در نمایشگاه رایانهٔ CES در لاس‌وگاس در سال ۱۹۸۵ و با نمونهٔ اولیه‌ای به نام «Lorraine» انجام شد. مهمانند NuBus، دستگاه‌های Zorro هیچ جامپر یا کلید DIP نداشتند. اطلاعات پیکربندی در یک دستگاه فقط‌خواندنی (ROM) روی هر سخت‌افزار جانبی ذخیره می‌شد، و در زمان راه‌اندازی سیستم، منابع درخواستی به‌طور خودکار توسط سیستم میزبان به کارت نصب‌شده تخصیص می‌یافت. معماری Zorro در بیرون از محصولات آمیگا به‌طور گسترده در دنیای رایانش گسترش نیافت، اما در نسخه‌های بعدی رایانه‌های آمیگا به Zorro II و Zorro III ارتقاء یافت.

### معماری میکروکانال
بندانگشتی|200x200پیکسل| یک کارت توسعه MCA بدون جامپر یا سوئیچ DIP
در سال ۱۹۸۷، شرکت IBM به‌روزرسانی‌ای برای رایانهٔ IBM PC با نام سری Personal System/2 (یا به‌اختصار PS/2) معرفی کرد که از معماری Micro Channel استفاده می‌کرد.  PS/2رایانه‌های PS/2 قادر به پیکربندی کاملاً خودکار بودند. هر قطعه سخت‌افزار توسعه‌ای (expansion hardware) همراه با یک دیسک فلاپی عرضه می‌شد که شامل فایلی ویژه برای پیکربندی خودکار سخت‌افزار جهت سازگاری با رایانه بود. کاربر، دستگاه را نصب می‌کرد، رایانه را روشن می‌کرد، اطلاعات پیکربندی را از روی دیسک بارگذاری می‌کرد و سخت‌افزار به‌طور خودکار وقفه‌ها (interrupts)، کانال‌های DMA، و سایر تنظیمات مورد نیاز را دریافت می‌کرد.

با این حال، در صورت آسیب‌دیدگی یا گم‌شدن دیسک‌ها، مشکلی پیش می‌آمد؛ زیرا در آن زمان تنها راه‌های جایگزین برای تهیهٔ دیسک‌ها از طریق پست یا خدمات BBS شماره‌گیری‌شونده (dial-up) IBM بود. در نبود این دیسک‌ها، هر سخت‌افزار جدید کاملاً بی‌استفاده می‌شد و گاهی اوقات رایانه حتی روشن نمی‌شد تا زمانی که دستگاه پیکربندی‌نشده از سیستم جدا گردد.

معماری Micro Channel حمایت گسترده‌ای کسب نکرد،  زیرا IBM قصد داشت تولیدکنندگان رایانه‌های همسان را از این پلتفرم نسل جدید رایانش کنار بگذارد. هر کسی که می‌خواست برای MCA توسعه انجام دهد، باید توافق‌نامه‌های عدم افشا امضا می‌کرد و بابت هر دستگاه فروخته‌شده، حق امتیازی به IBM می‌پرداخت؛ همین موضوع باعث افزایش قیمت دستگاه‌های MCA می‌شد. کاربران نهایی و سازندگان رایانه‌های همسان با IBM مخالفت کردند و گذرگاه استاندارد باز خود را با نام EISA توسعه دادند. در نتیجه، استفاده از MCA محدود شد و تنها در رایانه‌های Mainframe شرکت IBM باقی ماند.

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

ISA PnP یا Plug & Play ISA (legacy) یک سیستم اتصال و اجرای خودکار بود که از ترکیبی از تغییرات در سخت‌افزار، بایوس سیستم و نرم‌افزار سیستم‌عامل برای مدیریت خودکار تخصیص منابع استفاده می‌کرد. این فناوری در اواسط دهه ۱۹۹۰ با گذرگاه PCI جایگزین شد.

قابلیت Plug and Play یا پیکربندی خودکار در گذرگاه PCI، بر پایهٔ مشخصات PCI BIOS در دههٔ ۱۹۹۰ بنا شده بود. مشخصات PCI BIOS در دههٔ ۲۰۰۰ با استاندارد ACPI جایگزین شد.

## اتصال و اجرا (قدیمی) (Legacy Plug and Play)
در سال ۱۹۹۵، شرکت مایکروسافت  ویندوز ۹۵ را منتشر کرد؛ این سیستم‌عامل تلاش می‌کرد تا تشخیص و پیکربندی دستگاه‌ها را تا حد امکان به‌صورت خودکار انجام دهد، اما در صورت نیاز همچنان امکان استفاده از تنظیمات دستی وجود داشت. در طول فرآیند نصب اولیه ویندوز ۹۵، سیستم به‌طور خودکار تلاش می‌کرد تا همهٔ دستگاه‌های نصب‌شده در سیستم را شناسایی کند. از آن‌جایی که فرآیند شناسایی کامل دستگاه‌ها فرایندی جدید بود و هنوز پشتیبانی کامل صنعت را نداشت، در حین فرآیند شناسایی، اطلاعات دائماً در یک فایل گزارش پیگیری پیشرفت (progress tracking log) نوشته می‌شد. در صورتی که جست‌وجوی دستگاه‌ها با شکست مواجه می‌شد و سیستم هنگ می‌کرد، کاربر می‌توانست رایانه را مجدداً راه‌اندازی کند، فرآیند شناسایی را از نو آغاز کند، و نصب‌کننده از فایل پیگیری استفاده می‌کرد تا از نقطه‌ای که باعث بروز مشکل شده بود عبور کند. 

در آن زمان، امکان وجود ترکیبی از دستگاه‌ها در یک سیستم وجود داشت: برخی دارای قابلیت پیکربندی خودکار و برخی دیگر همچنان با تنظیمات کاملاً دستی از طریق جامپر و کلید DIP. دنیای قدیمی داس (DOS) همچنان زیر پوستهٔ ویندوز ۹۵ وجود داشت و سیستم‌ها می‌توانستند به یکی از سه روش زیر دستگاه‌ها را بارگذاری کنند:

* فقط از طریق درایورهای مدیر دستگاه (Device Manager) ویندوز ۹۵
* با استفاده از درایورهای DOS که در فایل پیکربندی CONFIG.SYS و AUTOEXEC.BAT بارگذاری شده‌اند.
* با استفاده از ترکیبی از درایورهای DOS و درایورهای مدیر دستگاه ویندوز ۹۵

مایکروسافت نمی‌توانست کنترل کامل روی همهٔ تنظیمات دستگاه‌ها داشته باشد، بنابراین فایل‌های پیکربندی می‌توانستند شامل ترکیبی از ورودی‌هایی باشند که توسط فرآیند پیکربندی خودکار ویندوز ۹۵ اضافه شده‌اند، و همچنین ورودی‌هایی که توسط کاربران به‌صورت دستی وارد یا ویرایش شده‌اند. مدیر دستگاه ویندوز ۹۵ همچنین می‌توانست به کاربران گزینه‌هایی از پیکربندی‌های نیمه‌خودکار ارائه دهد تا منابع را برای دستگاه‌هایی که همچنان به پیکربندی دستی نیاز داشتند، آزاد کند.
بندانگشتی| مثالی از یک کارت رابط ISA با گزینه‌های بسیار محدود برای انتخاب وقفه (Interrupt)، که یکی از مشکلات رایج در رابط‌های ISA در رایانه‌های شخصی بود.<br />کارت Kouwell KW-524J شامل دو پورت سریال و دو پورت موازی، ۸-بیتی، ساخت سال ۱۹۹۲:<br /> * سریال ۱: IRQ 3/4/9<br /> * سریال ۲: IRQ 3/4/9<br /> * موازی ۱: IRQ 5/7<br /> * موازی ۲: IRQ 5/7<br />(هیچ دلیل فنی وجود ندارد که چرا وقفه‌های ۳، ۴، ۵، ۷، و ۹ نتوانند برای هر پورت به‌عنوان گزینه‌های قابل انتخاب در دسترس باشند.)
همچنین، اگرچه برخی از دستگاه‌های ISA در سال‌های بعدی قابلیت پیکربندی خودکار داشتند، اما معمولاً کارت‌های توسعه ISA کامپیوتر خود را به تعداد بسیار کمی از انتخاب‌ها برای خطوط درخواست وقفه محدود می‌کردند. برای مثال، یک کارت شبکه ممکن بود فقط از وقفه‌های ۳، ۷ و ۱۰ استفاده کند، در حالی که یک کارت صدا ممکن بود فقط به وقفه‌های ۵، ۷ و ۱۲ محدود شود. این موضوع در صورت اشغال بودن برخی از این وقفه‌ها توسط دستگاه‌های دیگر، امر منجر به محدودیت در گزینه‌های پیکربندی می‌شود.

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

ببه‌دلیل این محیط عملیاتی پیچیده، فرآیند شناسایی خودکار گاهی نتایج نادرستی تولید می‌کرد، به‌ویژه در سیستم‌هایی با تعداد زیادی دستگاه توسعه‌ای. این موضوع منجر به تداخل میان دستگاه‌ها در ویندوز ۹۵ می‌شد و باعث می‌گشت برخی از دستگاه‌هایی که قرار بود کاملاً خودپیکربندی‌شونده باشند، کار نکنند. غیرقابل اعتماد بودن فرآیند نصب دستگاه باعث شد که Plug and Play گاهی به‌طعنه  *Plug and Pray* (وصل کن و دعا کن) یاد شود. 

تا حدود سال ۲۰۰۰، همچنان رایانه‌های شخصی‌ای وجود داشتند که ترکیبی از شکاف‌های ISA و PCI داشتند، بنابراین هنوز امکان نیاز به پیکربندی دستی دستگاه‌های ISA وجود داشت. اما با انتشار پیاپی سیستم‌عامل‌های جدید مانند ویندوز ۲۰۰۰ و ویندوز XP، مایکروسافت قدرت کافی پیدا کرده بود تا اعلام کند که دیگر برای دستگاه‌های قدیمی‌ای که از شناسایی خودکار پشتیبانی نمی‌کردند، درایور ارائه نخواهد شد. در برخی موارد، کاربران مجبور بودند برای پشتیبانی از سیستم‌عامل جدید، دستگاه‌های توسعه‌ای جدید یا حتی یک رایانهٔ کاملاً جدید تهیه کنند.

## رابط‌های فعلی plug and play
دآیا مایل هستی که این متن‌ها را به قالب مقالهٔ ویکی‌پدیای فارسی تبدیل کنیم؟ شامل قالب‌بندی مناسب، پیوندها، رفرنس‌ها، دسته‌بندی و استانداردهای نگارشی؟  این رابط‌ها شامل موارد زیر هستند:

* IEEE 1394 (FireWire)
* PCI, Mini PCI
* PCI Express, Mini PCI Express, Thunderbolt
* PCMCIA, PC Card, ExpressCard
* SATA, Serial Attached SCSI
* USB
* DVI, HDMI

برای اکثر این رابط‌ها،  اطلاعات فنی بسیار کمی در اختیار کاربر نهایی دربارهٔ عملکرد آن‌ها قرار دارد. اگرچه FireWire و USB هر دو دارای پهنای باندی هستند که باید بین همهٔ دستگاه‌ها به اشتراک گذاشته شود، بیشتر سیستم‌عامل‌های مدرن نمی‌توانند میزان استفاده‌شده یا باقی‌ماندهٔ این پهنای باند را نظارت و گزارش کنند یا تشخیص دهند که کدام دستگاه‌ها در حال حاضر از رابط استفاده می‌کنند.&#x5B; *[[ویکی‌پدیا:نیازمند منبع|<span title="This claim needs references to reliable sources. (March 2021)">نیازمند منبع</span>]]* &#x5D;

## همچنین ببینید

* قرارداد بر سر پیکربندی (اصل PnP)
* پیکربندی خودکار (آمیگا)
* تعویض داغ
* فضای پیکربندی PCI

## منابع

## پیوندهای خارجی

* ویندوز ۲۰۰۰ را در ZDNet وصل و اجرا کنید
* https://community.rapid7.com/docs/DOC-2150   

رده:مادربورد
رده:دستگاه‌های جانبی رایانه