
I/O به نحوه تبادل داده ها بین حافظه داخلی یک رایانه و دستگاه های خارجی مانند هارد دیسک ، چاپگر یا سیستم های دیگر اشاره دارد.این ارتباط بین سیستم و جهان خارج است ، و با استفاده از سیگنال ها یا داده ها از هر دو جهت استفاده می شود.به عنوان مثال ، وقتی روی صفحه کلید تایپ می کنید یا روی ماوس کلیک می کنید ، این ورودی ها هستند.به همین ترتیب ، صفحه نمایش روی مانیتور یا صدای بلندگوهای شما خروجی است.
دستگاه هایی مانند صفحه کلید ، موش ، مانیتور و چاپگرها نمونه های متداول سخت افزار I/O هستند.آنها به کاربران کمک می کنند تا با رایانه ارتباط برقرار کنند.حتی دستگاه های شبکه مانند مودم ها و کارت های شبکه عملیات I/O را انجام می دهند و ارتباط بین رایانه ها را امکان پذیر می کنند.
رابط I/O ارتباط صاف بین مدارهای CPU ، I/O و دستگاه های محیطی را از طریق اتوبوس سیستم تضمین می کند.این رابط ها بر اساس پیچیدگی طراحی آنها و دستگاه هایی که به آنها وصل می شوند طبقه بندی می شوند.
تراشه های رابط I/O مدارهای یکپارچه کوچک و یکپارچه هستند که ارتباط بین CPU و دستگاه های محیطی را مدیریت می کنند.این تراشه ها به CPU اجازه می دهند تا دستورات و پارامترها را ارسال کند و دستگاه ها را قادر می سازد تا عملکردهای خاص خود را انجام دهند.به عنوان مثال ، پیشخوان های تایمر عملیات حساس به زمان را مدیریت می کنند ، کنترل کننده های قطع درخواست از دستگاه ها به CPU را کنترل می کنند ، و کنترل کننده های DMA دسترسی به حافظه مستقیم را بدون اینکه به شدت درگیر CPU باشند ، امکان پذیر می کنند.از طرف دیگر ، رابط های موازی با ارسال چندین بیت به طور همزمان ، انتقال سریع داده ها را تسهیل می کنند و آنها را برای دستگاه هایی مانند چاپگرها مفید می کنند.
کارتهای کنترل رابط I/O مؤلفه های مدولار هستند که از چندین مدارهای یکپارچه که به طور منطقی مرتب شده اند ساخته شده اند.این کارت ها یا می توانند از قبل در مادربرد از قبل نصب شوند یا بعداً به عنوان افزونه ها از طریق اتوبوس سیستم اضافه شوند.نوع اتصال به اتصال دستگاه بستگی دارد.رابط های سریال داده ها را یک بیت به طور همزمان منتقل می کنند و اغلب با مودم استفاده می شوند.رابط های موازی ، که به طور همزمان چندین بیت ارسال می کنند ، با چاپگرها و اسکنرها به خوبی کار می کنند.رابط های صفحه کلید برای کنترل سیگنال های ورودی از صفحه کلیدها تخصص دارند ، در حالی که رابط های دیسک ارتباط قابل اعتماد با دستگاه های ذخیره سازی مانند درایوهای سخت و SSD را تضمین می کنند.هر نوع اتصال برای دستگاه خاصی که از آن پشتیبانی می کند بهینه می شود و از عملکرد کارآمد و قابل اطمینان اطمینان می یابد.
تعامل بین CPU و دستگاه های محیطی شامل غلبه بر چندین چالش است.این چالش ها از تفاوت در سرعت ، زمان بندی ، قالب های داده و انواع سیگنال ناشی می شود.در اینجا نگاهی دقیق تر به این موضوعات می دهیم:
سرعتی که دستگاه های I/O در آن کار می کنند معمولاً بسیار کندتر از سرعت پردازش CPU است.به عنوان مثال ، یک چاپگر ممکن است برای چاپ یک صفحه ثانیه طول بکشد ، در حالی که CPU می تواند هزاران دستورالعمل را در همان زمان پردازش کند.علاوه بر این ، حتی در بین دستگاه های I/O ، سرعت بسیار متفاوت است.یک دیسک سخت سریعتر از چاپگر داده ها را منتقل می کند.سیستم باید این عدم تطابق را به طور مؤثر مدیریت کند تا از تاخیر یا ناکارآمدی جلوگیری شود.
هر دستگاه I/O با کنترل زمان بندی خاص خود عمل می کند ، به این معنی که داده ها را با سرعت خود پردازش می کند.این زمان بندی اغلب با ریتم پردازش پردازنده مطابقت ندارد.به عنوان مثال ، یک صفحه کلید ممکن است داده ها را در فواصل نامنظم بر اساس ورودی کاربر ارسال کند ، در حالی که CPU انتظار جریان مداوم اطلاعات را دارد.رابط برای اطمینان از ارتباط صاف ، این اختلافات را همزمان می کند.
دستگاه های مختلف از قالب های مختلف برای ذخیره و پردازش اطلاعات استفاده می کنند.به عنوان مثال ، برخی از دستگاه ها داده ها را با فرمت باینری ، برخی دیگر در رمزگذاری ASCII و برخی دیگر در BCD (اعشاری با دودویی) اداره می کنند.علاوه بر این ، برخی از دستگاه ها داده ها را به صورت سریال ، یک بیت در هر زمان منتقل می کنند ، در حالی که برخی دیگر از انتقال موازی برای ارسال چندین بیت به طور همزمان استفاده می کنند.رابط به ترجمه و تراز این قالب ها کمک می کند تا CPU بتواند داده ها را به درستی تفسیر کند.
دستگاه ها ممکن است با انواع مختلف سیگنال کار کنند.برخی از سیگنال های دیجیتالی که گسسته هستند استفاده می کنند ، در حالی که برخی دیگر به سیگنال های آنالوگ متکی هستند که مداوم هستند.به عنوان مثال ، یک میکروفون ممکن است سیگنال های آنالوگ تولید کند ، در حالی که CPU فقط اطلاعات دیجیتالی را پردازش می کند.رابط این سیگنال ها را در صورت لزوم تبدیل می کند و CPU را قادر می سازد تا با انواع مختلفی از دستگاه ها به طور مؤثر ارتباط برقرار کند.
براساس دلایل ذکر شده ، تبادل داده بین CPU و لوازم جانبی به رابط کاربری متکی است که چندین کارکرد را انجام می دهد:
• ثبت نام و بافر برای رسیدگی به اختلافات سرعت و فعال کردن انتقال دسته ای با تراشه های بزرگتر.
• تبدیل فرمت داده ها ، مانند سریال به تحولات موازی.
• هماهنگی سطح و نوع با استفاده از مبدل ها برای سازگاری سیگنال.
• هماهنگ سازی زمان بندی برای تراز کردن دستگاه و عملیات CPU.
• رمزگشایی آدرس و انتخاب دستگاه برای ارتباط دقیق محیطی.
• قطع و کنترل DMA برای مدیریت درخواست ها و اطمینان از انتقال کارآمد داده ها.
این روش شامل CPU است که به طور مکرر وضعیت یک جانبی را بررسی می کند تا مشخص کند آیا آماده انتقال داده است یا خیر.اگر دستگاه آماده باشد ، CPU مبادله را انجام می دهد.در غیر این صورت ، منتظر است و همچنان به پرس و جو ادامه می دهد.مزیت این روش در سادگی آن نهفته است ، زیرا به حداقل سخت افزار نیاز دارد.با این حال ، این ناکارآمد است زیرا CPU بیشتر وقت خود را در حالت انتظار می گذراند ، که باعث می شود بهره وری آن هنگام انجام کارهای دیگر کاهش یابد.
در این روش ، جانبی در صورت آماده شدن برای انتقال داده ، سیگنال قطع را به CPU می فرستد.CPU به طور موقت کار فعلی خود را مکث می کند ، وقفه را پردازش می کند و تبادل داده را انجام می دهد.پس از اتمام ، CPU کار قبلی خود را از سر می گیرد.این روش با آزاد کردن CPU از نظرسنجی مداوم ، کارایی کلی را بهبود می بخشد.با این حال ، نیاز به اختصاص شماره درخواست قطع به هر دستگاه و ایجاد برنامه های خدمات خاص دارد.وقفه های مکرر ، به ویژه در هنگام انتقال داده های بالا ، به دلیل زمان لازم برای مدیریت هر وقفه ، می تواند عملکرد سیستم را کاهش دهد.
دسترسی مستقیم به حافظه (DMA) انتقال داده ها بین لوازم جانبی و حافظه را بدون دخالت در CPU امکان پذیر می کند.یک کنترلر DMA قبل از شروع انتقال ، از کنترل اتوبوس از CPU درخواست می کند.پس از اعطای ، کنترل کننده انتقال داده را به طور مستقل تکمیل می کند و کنترل را پس از آن به CPU باز می گرداند.این رویکرد با بارگذاری بار کار انتقال ، کارآیی CPU را به طور قابل توجهی افزایش می دهد.این امر به ویژه برای تبادل داده با سرعت بالا مؤثر است.
حالت کانال یک پردازنده یا کانال اختصاصی برای مدیریت عملیات I/O معرفی می کند.این پردازنده ارتباط بین لوازم جانبی و سیستم را انجام می دهد و بار کار را روی CPU کاهش می دهد.با بارگیری این مسئولیت ، CPU می تواند روی کارهای پیچیده تر متمرکز شود در حالی که پردازنده کانال ارتباطات محیطی صاف و قابل اعتماد را تضمین می کند.این روش برای سیستمهایی که نیاز به عملیات I/O مکرر یا گسترده دارند ایده آل است.
بعضی اوقات ، دستگاه های I/O کار را متوقف می کنند ، مانند زمانی که رابط های خارجی شکست می خورند ، صفحه کلید روی لپ تاپ ها پاسخگو نمی شوند ، یا صفحه لمسی تشخیص ورودی را متوقف می کند.این مشکلات می تواند ناشی از اشکالات نرم افزاری ، مشکلات درایور یا نقص سخت افزار باشد.اطمینان از به روزرسانی درایورهای دستگاه و انجام تعمیر و نگهداری منظم می تواند به حل این مشکلات کمک کند.
هنگام استفاده از ابزارهای نگهداری رایانه مانند کارتهای تشخیصی مادربرد ، کدهای خطا مانند FF ، 00 یا DD ممکن است ظاهر شود ، یا ممکن است سیستم به طور مکرر کدهایی مانند C1 تا C5 را نمایش دهد.این کدها حاکی از مشکلات سخت افزاری یا پیکربندی هستند.مراجعه به دفترچه راهنمای ابزار تشخیص می تواند به شناسایی مشکل و راهنمایی اصلاحات لازم کمک کند.
مدارهای کوتاه در دستگاه های I/O می توانند به مؤلفه هایی مانند خازن ها و دیودها آسیب برساند ، که اغلب در هنگام اتصال دستگاه های خارجی در اثر برق استاتیک ایجاد می شوند.این می تواند منجر به نتایج شدید شود ، مانند سیستم عدم قدرت.استفاده از اقدامات احتیاطی ضد استاتیک و اطمینان از زمین مناسب می تواند خطر آسیب را کاهش دهد.
دستگاه های I/O ظریف هستند و در هنگام استفاده به مراقبت نیاز دارند.از استفاده از آنها در محیط های با درجه حرارت بالا یا مرطوب خودداری کنید ، زیرا این شرایط می تواند به اجزای آنها آسیب برساند.تمیز کردن منظم ، کار با ایمن و ذخیره مناسب می تواند طول عمر آنها را افزایش داده و خطر شکست را به حداقل برساند.شرایط مناسب محیطی و بررسی های منظم بهترین راه ها برای حفظ عملکرد آنها است.
در یک تنظیم اصلی که CPU بسیار قدرتمند نیست ، کارهای I/O می توانند کارها را کاهش دهند.هنگامی که CPU ها نازک هستند ، مشاغل دسته ای - معمولاً پایین ترین اولویت - با عملکرد I/O حرکت می کنند.آنها به سختی می توانند I/O را اجرا کنند زیرا باید منابع را با فرآیندهای آنلاین به اشتراک بگذارند.هر بار که یک کار دسته ای سعی در انجام یک عملیات I/O دارد ، مجبور است زمان پردازنده را به کارهای اولویت بالاتر واگذار کند.حتی اگر I/O به سرعت تمام شود ، کار دسته ای هنوز باید منتظر CPU باشد تا مراحل بعدی خود را برنامه ریزی کند.
فرآیندهای آنلاین به طور معمول زمان CPU مورد نیاز خود را دریافت می کنند بدون اینکه باعث تأخیر در سیستم هایی مانند CICS یا IMS شوند زیرا عملیات I/O آنها به یکدیگر گره خورده است.با این حال ، برخی از کارهای خاص هنوز هم در هنگام شلوغ بودن CPU با مشکلات روبرو هستند.به عنوان مثال ، در CICS ، پس از انجام معامله I/O ، از طریق برنامه ریزی زنجیره CICS می رود که می تواند در حین کار سنگین خطوط انتظار طولانی ایجاد کند.
به طور مشابه ، در IMS ، هنگامی که یک بانک اطلاعاتی I/O تکمیل می شود ، منطقه پردازش پیام (MPR) را آگاه می کند ، که قبل از ادامه پردازش باید برای منابع CPU رقابت کند.این بدان معنی است که حتی سریعترین عملیات I/O نمی تواند در این شرایط به سرعت کامل خود برسد.
برای جلوگیری از این کندی ، استفاده از حافظه ورودی داده تا حد ممکن مفید است.این شامل استفاده از استخرهای بافر ، جداول مرجع و فضای حافظه پنهان داده برای جلوگیری از تبدیل شدن CPU از تنگنا است.
لطفاً یک سؤال ارسال کنید ، ما بلافاصله پاسخ خواهیم داد.
در 2025/01/5
در 2025/01/5
در 8000/04/18 147750
در 2000/04/18 111921
در 1600/04/18 111349
در 0400/04/18 83714
در 1970/01/1 79502
در 1970/01/1 66872
در 1970/01/1 63005
در 1970/01/1 62954
در 1970/01/1 54078
در 1970/01/1 52092