انتقال سری غیرهمزمان

Download Report

Transcript انتقال سری غیرهمزمان

‫مهدی ایل بیگی‬
‫دانشگاه پیام نور دماوند‬
‫•‬
‫وسایل ورودی خروجی که بین انسان و کامپیوتر ارتباط برقرار می کنند معموال اطالعات الفبا عددی‬
‫را تبادل می نمایند‪ .‬این اطالعات بقرار زیر است‪:‬‬
‫•‬
‫‪ 94‬کرکتر قابل چاپ در ‪:ASCII‬‬
‫– ‪ 52‬حروف بزرگ و کوچک‬
‫– ‪ 10‬کرکتر ارقام‬
‫– ‪ 32‬کرکترهای خاص نظیر ‪%,#,@,$‬‬
‫•‬
‫‪ 34‬کرکتر کنترلی در ‪:ASCII‬‬
‫– کرکتر های فرمت دهی مثل ‪(Carriage Return) CR, (Backspace) BS‬‬
‫– کرکترهای جداسازی اطالعات مثل ‪(Record/File Separator) RS, FS‬‬
‫– کنترل ارتباط مانند ‪(Start/End of Text) STX, ETX‬‬
‫‪2‬‬
‫• کامپیوتر‬
‫– الکترونیکی‬
‫– انتقال سریع داده ها‬
‫– قابل آدرس دهی در سطح کلمه‬
‫• وسایل جانبی‬
‫– مکانیکی و مغناطیس ی (نیاز به تبدیل سیگنال ها)‬
‫– انتقال کند داده ها‬
‫– قابل آدرس دهی در سطح گروهی از کلمات مثل سکتور‪ ،‬شیار‪ ،‬بلوک‬
‫‪3‬‬
‫• مولف ه ههه ر ه ههیت افه ه هزاری ب ه ههین وس ه ههیله ج ه ههانبی و گه ه ه ر اه ردازن ه ههده ک ه ههه واح ه ههد واس ه ههطه نامی ه ههده م ه ههی ش ه ههود‬
‫(‪ ،)Interface Unit‬بر تمام ورودی و خروجی ها نظارت کرده و آن ها را هماهنگ می کند‪.‬‬
‫‪4‬‬
‫• خطوط داده‪:‬‬
‫–برای خواندن و نوشتن داده ها‬
‫• خطوط آدرس‪:‬‬
‫–برای آدرس دهی وسایل جانبی (انتخاب یک وسیله جانبی)‪.‬‬
‫• خطوط کنترل‪ :‬دستورات را به واسط منتقل می کند‪ .‬سه دسته دستور کنترلی وجود دارد‪:‬‬
‫‪ .1‬دسههتورات کنترلههی‪ :‬بههه وسههیله جههانبی دسههتور مههی دهنههد (دسههتوری ماننههد اینکههه واح هد نههوار‬
‫مغناطیس ی یک رکورد به عقب برگردد)‪.‬‬
‫‪ .2‬دس ههتورات و ههعی ی‪ :‬گه هزاری و ههعیت وس ههیله ج ههانبی را از وی م ههی گیرن ههد (م ههثال اط ههالع از‬
‫آماده بودن دستگاه جانبی)‪.‬‬
‫‪ .3‬دستورات ورودی‪-‬خروجی‪ :‬جهت دریافت و ارسال داده به‪/‬از وسیله جانبی بکار می روند‪.‬‬
‫‪5‬‬
‫• برای نوشتن بر روی نوار مراحل زیر طی می شود‪:‬‬
‫‪ .1‬کامپیوتر دستوری را جهت فعال سازی مکانیزم انتقال و حرکت نوار صادر می کند‪.‬‬
‫‪ .2‬کامپیوتر دستور و عی ی را جهت نظارت بر حرکت نوار صادر می کند‪.‬‬
‫‪ .3‬زم ههانی ک ههه ن ههوار در موقعی ههت مناس ههبی ق هرار گرف ههت‪ ،‬ک ههامپیوتر دس ههتور انتق ههال داده را ص ههادر م ههی‬
‫کند‪.‬‬
‫‪ .4‬مدار واسط داده ها را از گ ر اه ورودی‪-‬خروجی خوانده و بهرای نوشهتن روی نهوار بهه دسهتگاه‬
‫جانبی ارسال می کند‪.‬‬
‫‪6‬‬
‫• برای ارتباط کامپیوتر با حافظه و ‪ I/O‬سه روی وجود دارد‪:‬‬
‫‪ .1‬دو گذرگاه مجزا یکی براای ‪ I/O‬و یکری براای فاه ر ‪ :‬در ایهن روی نیهاز بهه یهک ‪Processor I/O‬‬
‫ب هرای انتق ههال اطالعههات از وس ههیله جههانبی ب ههه حافظ ههه باههورت مس ههتقل‪ ،‬دسههتورات خ ههاص ب هرای ک هار ب هها‬
‫‪ I/O‬و آدرس های متفاوت برای ‪ I/O‬و حافظه داریم‪.‬‬
‫‪ .2‬دو گ ررذرگاه نیم ر مش ر ‪ :‬خط ههوط آدرس و داده مک ههترک و خطههوط کنترل ههی (م ههثال ‪ I/O Read‬و‬
‫‪ I/O Write‬و ‪ MEM read‬و ‪ )MEM write‬جدا انههه خواهههد بههود‪ ،‬اههد ردازنههده دارای‬
‫دستورات متفاوت برای حافظه و ورودی خروجی می باشهد‪ .‬ایهن روی را ‪ ISOLATED I/O‬مهی‬
‫نامند‪.‬‬
‫‪ .3‬یررگ گررذرگاه مشر برراای فاه ر و ‪ :I/O‬در ایههن روی دسههتورات خابه ی بهرای ‪ I/O‬وجههود نههدارد و‬
‫بخشه ی از آدرس هههای حافظههه بههه ‪ I/O‬نگاشههته شههده انههد بههه همههین دلیههل ایههن روی را ‪Memory‬‬
‫‪ Mapped I/O‬می نامند‪.‬‬
‫‪7‬‬
‫• ثبات کنترل‪ ،‬اطالعات کنترلی را از ‪ CPU‬دریافت می نماید‪( .‬مثال ورت ‪ A‬بعنوان ورودی معرفی می شود)‪.‬‬
‫• ثبات و عیت برای و عیت و ثبت خطاهایی که ممکن است رخ دهد استفاده می شود‪.‬‬
‫• وق ی آدرس واسطه بوسیله آدرس گ ر اه انتخاب شود مداری ورودی ‪ Chip Select‬را فعال می کند‪.‬‬
‫‪8‬‬
‫• اگههر ثبههات هههای ‪ CPU‬و ثبههات هههای داخدههی مههدار واسههطه از ههالد سههاعت مکههترک اسههتفاده ننماینههد و ههر‬
‫واحههد از ههالد سههاعت مسههتقل خههود اسههتفاده نمایههد‪ ،‬در ایههن صههورت انتقههال بههین دو واحههد را یرهمزمههان‬
‫(‪ )Asynchronous‬می نامیم‪.‬‬
‫• در انتقههال یرهمزمههان نیههاز بههه روی هههاای جهههت برق هراری ارتبههاط بههین ‪ CPU‬و دسههتگاه هههای جههانبی مههی‬
‫باشد‪ .‬برای این منظور دو روی وجود دارد‪:‬‬
‫• روی بارقههه (‪ :)Strobe‬در ایههن روی یکههی از واحههدها بهرای م ههین کههردن زمههان وقههوع انتقههال بههه واحههد‬
‫دیگههر‪ ،‬یههک ههالد (‪ )Strobe‬ایجههاد مههی نمایههد‪ .‬عیههب ایههن روی ایکسههت کههه واحههدی کههه انتقههال را شههروع‬
‫می کند قادر نیست که بداند آیا مقاد توانسته اطالعات را دریافت کند یا نه‪.‬‬
‫• روی دس ههت ده ههی )‪ :(Handshaking‬ای ههن روی از دو خ ههط کنترل ههی اس ههتفاده م ههی نمای ههد‪ ،‬یک ههی به هرای‬
‫مطلههع سههاختن مقاههد از آمههاده بههودن وجههود داده معترههر بههر روی گه ر اه و دیگههری منبههع را مطلههع مههی سهازد‬
‫که آیا مقاد می تواند داده بپ یرد یا خیر‪.‬‬
‫‪9‬‬
‫• انتقههال داده بهها اسههتفاده از سههیگنال ‪ Strobe‬از مبههدا ‪ :‬در ایههن روی ابتههدا منبههع داده را روی بههاس داده‬
‫ق هرار م ههی ده ههد و س ه د س ههیگنال ‪ Strobe‬را فع ههال م ههی کن ههد‪ .‬معم ههوال در لب ههه ههایین رون ههده ای ههن س ههیگنال‬
‫اطالع ههات توس ههط مقا ههد خوان ههده م ههی ش ههود‪( .‬مث ههال‪ :‬نوش ههتن اطالع ههات در ی ههک خان ههه از حافظ ههه توس ههط‬
‫‪)CPU‬‬
‫‪10‬‬
‫• انتقال داده با استفاده از سیگنال ‪ Strobe‬از مقاد‪ :‬در ایهن روی ابتهدا مقاهد آمهاد ی خهود را بهرای‬
‫دریافهت اطالعهات بها فعهال کهردن ‪ Strobe‬اعهالم مهی کنهد و سه د منبهع اطالعهات را بهر روی بهاس داده‬
‫قرار می دهد‪( .‬مثال‪ :‬خواندن داده توسط ‪ CPU‬از حافظه)‬
‫‪11‬‬
‫• انتقه ههال داده به هها اسه ههتفاده از روی دسه ههت دهه ههی از سه ههوی مبه ههدا اینگونه ههه آ ه ههاز مه ههی شه ههود که ههه ابته ههدا مبه ههدا‬
‫اطالعههات را بههر روی بههاس داده ق هرار مههی دهههد و س ه د سههیگنال ‪ Data Valid‬را فعههال مههی نمایههد‪ .‬در‬
‫ادامهه مقاهد داده را از روی گه ر اه خوانهده و سهیگنال ‪ Data accept‬را فعهال مهی کنهد‪ ،‬سه د‬
‫مبهدا سهیگنال ‪ Data Valid‬را یهر فعهال کهرده و در یتایهت مقاههد سهیگنال ‪ Data Accept‬را‬
‫یر فعال می کند و سیستم به حالت اولیه خود باز می گردد‪.‬‬
‫‪12‬‬
‫• تاویر زیر چهار مرحلع برای انتقال داده از سوی مبدا با روی دست دهی را نمایش می دهد‪:‬‬
‫‪13‬‬
‫• انتق ههال داده ب هها اس ههتفاده از روی دس ههت ده ههی از س ههوی مقا ههد اینگون ههه آ ههاز م ههی ش ههود ک ههه ابت ههدا مقا ههد‬
‫سهیگنال ‪ Ready To Data‬را فعهال مهی نمایهد‪ ،‬سه د مقاهد اطالعهات را بهر روی بهاس داده قهرار‬
‫‪ Data‬را فع ههال م ههی نمای ههد‪ .‬در ادام ههه مقا ههد داده را خوان ههده و س ههیگنال‬
‫داده و س ههیگنال ‪Valid‬‬
‫‪ Ready To Data‬را یهر فعهال مهی کنهد و در یتایهت مبهدا نیهز سهیگنال ‪ Data Valid‬را یهر‬
‫فعال خواهد کرد‪.‬‬
‫‪14‬‬
‫• تاویر زیر چهار مرحله برای انتقال داده از سوی مقاد با روی دست دهی را نمایش می دهد‪:‬‬
‫• نکته‪ :‬در انتقال داده بروی دست دههی اگهر یکهی از طهرفین آمهاده بهرای برقهراری ارتبهاط نباشهند بها مکهانیزم‬
‫‪ Timeout‬این مککل شناسایی می شود‪ .‬در واقع از زمهانی کهه یکهی از سهیگنال ههای کنتهرل دسهت دههی‬
‫فعهال مهی شهود یهک سهاع ی داخدههی فعهال شهده و در صهورت عهدم ارههن بهه سهیگنال کنترلهی در مهدت زمههان‬
‫معین‪ ،‬سیگنالی برای رخداد خطا ایجاد می شود و س د روال مناسبی برای رفع خطا اجرا خواهد شد‪.‬‬
‫‪15‬‬
‫• انتقهال داده بهین دو واحههد مهی توانههد بهروی سهری یهها مهوازی صههورت بگیهرد‪ .‬در روی مهوازی بههه ازا ههر بیههت‬
‫ی ههام نی ههاز ب ههه ی ههک س ههیم جدا ان ههه ب هرای انتق ههال داری ههم‪ .‬در روی انتق ههال س ههری بی ههت ه ههای ی ههام یک ههی ا هد از‬
‫دیگههری بهها اسههتفاده از یههک جفههت رسههانا (یههک سههیم زمههین و یههک سههیم داده) انتقههال داده مههی شههود‪ .‬انتقههال‬
‫بروی سری می تواند همزمان یا یر همزمان صورت بگیرد‪.‬‬
‫• انتق ررای ه ررای مزم ررا ‪ :‬در ای ههن روی ه ههر دو واح ههد ی ههک فرک ههاند س ههاعت مک ههترک دارن ههد و ب هها ه ههر ههالد‬
‫ساعت انتقال اطالعهات صهورت مهی گیهرد‪ .‬در انتقهال سهری از راه دور ههر واحهد بوسهیله یهک هالد سهاعت‬
‫جدا انه ولی با فرکاند یکسان راه اندازی می شود‪ ،‬برای همگام کهردن واحهدها‪ ،‬سهیگنال ههای همزمهان‬
‫سازی بطور متناوب بین دو واحد ارسال می گردد‪.‬‬
‫• انتقررای هررای ما مزمررا ‪ :‬در ایههن روی اطالعههات زمههانی ارسههال مههی شههود کههه وجههود داشههته باشههد و هههر‬
‫زمههان اطالعههاری بهرای انتقههال وجههود نداشههته باشههد خههط انتقههال بیکههار مههی مانههد‪ .‬در انتقههال سههری همزمههان‪،‬‬
‫خههط هههیب وقههت بیکههار ناههی مانههد و ب هرای همگههام کههردن گیرنههده و فرسههتده همیکههه بایههد بیههت هههایی ارسههال‬
‫شوند‪.‬‬
‫‪16‬‬
‫• در روی انتقال سری یرهمزمان از بیت های خاب ی در ابتدا و انتتهای کهد کرکتهر بهرای م هین کهردن ابتهدا‬
‫و انتتای اطالعات‪ ،‬استفاده می گردد‪ .‬این تکنیک بکرح زیر است‪:‬‬
‫• در زمان بیکاری‪ ،‬سیم داده حالت ‪ 1‬منطقی (مثال ‪ 5‬ولت) را دارد‪.‬‬
‫• هر کرکتر با یک بیت صفر شروع می شود‪.‬‬
‫• بیت های کرکتر معموال ‪ 8‬بیت است‪.‬‬
‫• یک یا دو بیت انتتایی بنام بیت توقف که همواره ‪ 1‬می باشد‪ ،‬به اطالعات ا افه می شود‪.‬‬
‫• گیرنههده رعههدادبیت هههای کرکتههر را مههی دانههد و اههد از دریافههت بیههت هههای کرکتههر بهها دریافههت یههک یهها دو بیههت ‪ 1‬زمههان‬
‫الزم برای دریافت کرکتر به گیرنده داه می شود‪.‬‬
‫• خط انتقال تا دریافت کرکتر بعدی در حالت ‪ 1‬باقی خواهد ماند‪.‬‬
‫‪17‬‬
‫• سرعت انتقال اطالعات بر اساس رعداد بیت در ثانیه را نرخ باود (‪ )Baud Rate‬می نامند‪.‬‬
‫• بعنههوان مثههال اگههر هههر کرکتههر ‪8‬بی ههی بهرای انتقههال دارای یههک بیههت شههروع و دو بیههت خاتمههه باشههد‪ ،‬اههد بههرای‬
‫انتقال یک کرکتر به ‪ 11‬بیت نیازمندیم‪.‬‬
‫• حههال اگههر سههرعت انتقههال ‪ 110‬بههاود باشههد یعرههی در هههر ثانیههه ‪ 110‬بیههت ارسههال مههی شههود و ایههن بههدین معرههی‬
‫است که در هر ثانیه ‪ 10‬کرکتر (‪11‬بی ی) ارسال خواهد شد‪.‬‬
‫• مثههال‪ :‬اگههر هههر کرکتههر ‪8‬بی ههی ب هرای ارسههال سههری یرهمزمههان بهها یههک بیههت شههروع و یههک بیههت خاتمههه ارسههال‬
‫گردد‪ ،‬در صورری که سرعت ارسال ‪ 300‬باود باشد‪ ،‬در هر ثانیه چند کرکتر ارسال خواهد شد؟‬
‫• جواب‪ :‬برای ارسال هر کرکتر به ‪ 10‬بیهت (‪1‬بیهت شهروع‪8 ،‬بیهت داده و ‪1‬بیهت خاتمهه) نیازمنهدیم‪ ،‬درنییجهه‬
‫با سرعت ‪ 300‬بیت در ثانیه (‪ 300‬باود)‪ ،‬می توانیم ‪ 30‬کرکتر را در هر ثانیه ارسال نماییم‪.‬‬
‫‪18‬‬
19
‫• ب ههافر ‪ FIFO‬واح ههد حافظ ههه ای اس ههت ک ههه در آن اطالع ههات خی ههره م ههی ش ههود‪ .‬در ای ههن واح ههد اول ههین فق ههره‬
‫ورودی داده اولین فقره خروجی هم خواهد بود (‪.)FIFO‬‬
‫• سرعت ورود و خروج داده ها می تواند با هم متفاوت باشد‪.‬‬
‫‪20‬‬
‫• ورودی خروجی برنامه ریزی شده‬
‫• ورودی خروجی مبتری بر وقفه‬
‫• دسترس ی مستقیم به حافظه (‪)DMA‬‬
‫‪21‬‬
‫• ورودی خاوجی بانام ریزی شده‪ :‬انتقال داده ها تحت کنترل برنامه انجام می شود‪:‬‬
‫– انتقال داده ها از‪/‬به ثبات های ردازنده به‪/‬از وسیله جانبی‬
‫– انتقال داده ها از‪/‬به ثبات های ردازنده به‪/‬از حافظه‬
‫– و عیت وسایل جانبی بطور مداوم توسط‬
‫ردازنده نظارت می شود‪.‬‬
‫‪22‬‬
‫• وسه ههیله جه ههانبی در زمه ههان آمه ههاده به ههودن جهه ههت انجه ههام عمه ههل ورودی خروجه ههی به ههه‬
‫ردازنده یام وقفه می دهد‪.‬‬
‫• ردازنه ههده جهه ههت سه ههروید دهه ههی به ههه وقفه ههه ورودی خروجه ههی‪ ،‬که ههار فعده ههی خه ههود را‬
‫متوقف می کند‪.‬‬
‫• در زمان تکمیل ورودی خروجهی‪ ،‬ردازنهده جههت انجهام کهار نیمهه تمهام خهود‪ ،‬بهه‬
‫مکان قبل از وقوع وقفه در برنامه جاری بر می گردد‪.‬‬
‫‪23‬‬
‫• در این روی یهک خهط مکهترک بهین تمهامی وسهایل جهانبی و ردازشهگر بهرای ایجهاد وقفهه وجهود دارد‪ .‬اهد از‬
‫ایج ههاد وقف ههه ردازش ههگر به هرای اینک ههه دس ههتگاهی را ک ههه درخواس ههت وقف ههه داش ههته شناس ههایی نمای ههد تم ههامی‬
‫دسههتگاه ههها را بههه ترتیههب بررسه ی مههی نمایههد‪ .‬ترتیههب بررسه ی دسههتگاه ههها اولویههت هههر دسههتگاه را م ههین مههی‬
‫کند‪.‬‬
‫‪24‬‬
25
26
27
‫• در انتتای چرخه اجرای هر دستور‬
‫– ردازنده ‪ IEN‬و ‪ IST‬را بررس ی می کند‪.‬‬
‫– اگر این فلیپ فالپ ها یک بودند ردازنده وارد چرخه وقفه می شود‪:‬‬
‫• قبل فراخوانی روال سروید دهی به وقفهه‪ ،‬ابتهدا شهمارنده برنامهه )‪ (PC‬را در اکهته قهرار مهی‬
‫دهه ههیم و س ه ه د سه ههیگنالی ب ه هرای تاه ههدی وقفه ههه (‪ )INTACK‬ارسه ههال مه ههی کنه ههیم س ه ه د واحه ههد‬
‫اولویههت وقفههه آدرس بههردار وقفههه منحاههر بههه فههرد را روی بههاس داده قهرار مههی دهههد‪ .‬بهها قهرار دادن‬
‫این آدرس در ‪ ،PC‬ردازنده ‪ IEN‬را صفر می کند و به سراغ اجرای روال سروید وقفه می‬
‫رود‪.‬‬
‫‪28‬‬
29
‫• عملیات آمازین‪:‬‬
‫‪ .1‬صفر کردن بیت های اییری ثبات وشش‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫اک کردن بیت و عیت وقفه (‪)IST‬‬
‫خیره کردن محتوای ثبات های ردازنده‬
‫یک کردن بیت ‪ IEN‬برای اجازه دادن به رخداد وقفه های با اولویت باال‬
‫اجرای روال سروید دهی به وقفه‬
‫• عملیات پایانی‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫اک کردن بیت ‪ IEN‬برای اینکه در حین عملیات ایانی وقفه رخ ندهد‪.‬‬
‫بازگرداندن محتوای ثبات های ردازنده‬
‫اک کردن بیت متعل به دستگاه جانبی که به آن سروید داده شده در ثبات وقفه‬
‫یک کردن بیت های با اولویت ایین تر در ثبات وشش‬
‫‪ .5‬بازگرداندن آدرس بازگکت در ‪ PC‬و یک کردن ‪IEN‬‬
‫‪30‬‬
‫• برای اینکه حجم باالیی از اطالعات را بین یهک وسهیله جهانبی سهریع و حافظهه انتقهال دههیم تتهر اسهت کهه‬
‫‪ CPU‬را بههه عنههوان واسههطه در ایههن انتقههال ح ه ف کنههیم‪ ،‬یعرههی انتقههال اطالعههات بههین حافظههه و دسههتگاه‬
‫جههانبی باههورت مسههییم صههورت گیههرد‪ .‬بههه ایههن روی دسترس ه ی مسههتقیم بههه حافظههه مههی وینههد‪ .‬ب هرای ایههن‬
‫منظور‪:‬‬
‫– ردازنده آدرس شروع و رعداد کلمات را به مدار واسط می دهد‪.‬‬
‫– مدار واسط باورت مستقیم با حافظه کار می کند و جهت انجام ایهن کهار از گه ر اه داده اسهتفاده‬
‫می کند‪.‬‬
‫– مدار واسط در زمان اتمام کار به ‪ CPU‬یام (وقفه) می دهد‪.‬‬
‫• روی دیگری وجود دارد که باعث می شود ‪ CPU‬در تمامی مدت زمان انتقهال اطالعهات بیکهار نمانهد‪.‬‬
‫ای ههن روی ب ههه ‪ DMA‬اج ههازه ی ههک کلم ههه داده را انتق ههال ده ههد و سه ه د کنت ههرل گه ه ر اه را ب ههه ‪ CPU‬ب ههاز‬
‫گرداند‪ .‬در واقع این ‪ CPU‬است که فقط به اندازه یهک سهیکل حافظهه کهار خهود را بهه تهاخیر مهی انهدازد‬
‫و سه د بهها رنههودن سههیکل حافظههه بههه کهار خههود ادامههه مههی دهههد‪ .‬بههه همهین دلیههل بههه ایههن روی سههرقت سهیکل‬
‫)‪ (Cycle Stealing‬می ویند‪.‬‬
‫‪31‬‬
‫• ب هرای انتق ههال اطالع ههات ب ههروی ‪ ،DMA‬ابت ههدا کنت ههرل کنن ههده ‪ DMA‬ی ههک درخواس ههت ب هرای واگ ه اری گ ه ر اه‬
‫داده به ‪ CPU‬مهی فرسهتد و سه د ‪ CPU‬بها قطهع کهردن ارتبهاط خهود بها گه ر اه‪ ،‬توسهط سهیگنال ‪Bus‬‬
‫‪ DMA ،Grant‬را از واگ اری گ ر اه مطلع می کند‪.‬‬
‫‪32‬‬
33
‫• بجای ارتباط هر مدار واسط با ‪ ،CPU‬یک کامپیوتر می تواند یک یا چند ردازنده خارجی برای ارتبهاط‬
‫با وسایل ‪ I/O‬داشته باشد‪.‬‬
‫• در ایههن ص ههورت انج ههام وی ههایف ورودی‪-‬خروجههی دیگ ههر ب ههر عه ههده ردازنههده نخواه ههد ب ههود و ردازن ههده ورودی‪-‬‬
‫خروجی (‪ ،)IOP‬این وییفه را بر عهده دارد‪.‬‬
‫• به ههر خه ههالف کنته ههرل کننه ههده ‪ DMA‬که ههه بایه ههد تمامه هها بوسه ههیله ‪ CPU‬کنته ههرل شه ههود‪ ،‬یه ههک ‪ IOP‬مه ههی توانه ههد‬
‫مسههتقال دسههتورات خههود را از حافظههه برداشههت و اج هرا نمایههد‪ .‬بههدین ترتیههب ‪ CPU‬فقههط برنامههه ‪ I/O‬را‬
‫مقدار دهی اولیه می کند و س د ‪ IOP‬انتقال اطالعات را بر عهده می گیرد‪.‬‬
‫‪34‬‬
35
‫• ردازنده ورودی‪-‬خروجی که داده ها را از رعداد زیادی از وسایل ‪ I/O‬که از طری خطوط تلفن (یا دیگر‬
‫‪(Data‬‬
‫خط ه ههوط ارتب ه ههاطی) وص ه ههل هس ه ههیند‪ ،‬جم ه ههع آوری م ه ههی کن ه ههد‪ ،‬ردازن ه ههده تب ه ههادل داده ه ه هها‬
‫)‪ Communication Processor‬نامیده می شود‪.‬‬
‫• ردازنه ههده هه ههای ورودی‪-‬خروجه ههی )‪ (IOP‬از طری ه ه گ ه ه ر اه مک ه ههترک ب ه هها وسه ههایل ‪ I/O‬محه ههاوره مه ههی کنن ه ههد‬
‫درصورری که ردازنده های تبادل داده )‪ ،(DCP‬از طری دو رشته سیم با هر ایانه ارتبهاط برقهرار مهی‬
‫کنند‪ .‬اطالعات داده ای و کنترلی از یک سیم و باورت سریال انتقال داده می شوند‪.‬‬
‫• اگر از خطوط تلفن برای برقراری ارتباط استفاده شود بدلیل اینکه جهت ارسال صدا از ارسال آنالوگ‬
‫اسههتفاده مههی شههود‪ ،‬سههیگنال هههای رقاههی بایههد توسههط مههودم ارسههال کننههده بههه صههدا تبههدیل شههوند‪ .‬از طههرف‬
‫دیگر سیگنال های صوری توسط مودم گیرنده به سیگنال های رقای تبدیل می شوند‪.‬‬
‫• ارسال ممکن است به شیوه همزمان یا یرهمزمان صورت گیرد‪.‬‬
‫• در انتقال همزمان هر مودم کهالک داخدهی خهود را دارد کهه بها توجهه بهه فرکهاند رشهته بیهت ههای داده ای‬
‫دریافههت شههده‪ ،‬بهها کههالک مههودم فرسههینده همگههام مههی شههود‪ .‬در ایههن نههوع انتقههال‪ ،‬یههک گههروه از کرکتره ها در‬
‫قالب یک بالک با کرکترهای کنترلی خاص برای م ین کردن ابتدا و انتتای بالک‪ ،‬ارسال می شوند‪.‬‬
‫‪36‬‬
‫• انتقای ما مزما ‪ :‬جهت ارسال هر کاراکتر از بیت های شروع و ایان استفاده می شود‪.‬‬
‫– صحت ارسال هر کاراکتر بوسیله بیت توازن کنترل می شود‪.‬‬
‫– کاراکترهههای ارسههال شههده در ایانههه مرنههوط بههه کههارنر باههورت باههری نمههایش داده مههی شههود ت ها بههدین‬
‫وسیله تائیدیه باری کارنر را برای صحت ارسال‪ ،‬داشته باشیم‪.‬‬
‫• انتقررای مزمررا ‪ :‬در انتقههال همزمههان هههر مههودم کههالک داخدههی خههود را دارد کههه بهها توجههه بههه فرکههاند رشههته‬
‫بیت های داده ای دریافت شده‪ ،‬با کالک مودم فرسینده همگام می شود‪ .‬در این نوع انتقال‪ ،‬یهک گهروه‬
‫از کرکتره هها در قال ههب ی ههک ب ههالک ب هها کرکتره ههای کنترل ههی خ ههاص ب هرای م ههین ک ههردن ابت ههدا و انتت ههای ب ههالک‪،‬‬
‫ارسال می شوند‪.‬‬
‫• کنترل خطا در انتقال همزمان‪:‬‬
‫– هر کاراکتر دارای بیت توازن می باشد‪.‬‬
‫– در انتتههای بلههوک کرکتههر ‪ LRC‬یهها کرکتههر ‪ CRC‬بهرای کنتههرل تههوازن کههل کرکترهههای بلههوک‪ ،‬ارسههال مههی‬
‫گردد‪.‬‬
‫‪37‬‬
‫• یکطاه‬
‫– فقط در یک جهت‬
‫– مثل ارسال شبکه های تلویزیونی‬
‫• نیم دو طاه‬
‫– دو طرفه (معموال با استفاده از دو مودم بعنوان گیرنده و فرسینده)‬
‫– در هر لحظه فقط در یک جهت و نیاز به دوسیم برای انتقال اطالعات است‪.‬‬
‫– وق ی انتقال از یک جهت ایهان یابهد نقهش مهودم هها عهوو مهی شهود‪ .‬زمهان الزم بهرای ایهن کهار را زمهان‬
‫تحویل می نامند‪.‬‬
‫• دو طاه کامل‬
‫– دو جهته بطور همزمان‬
‫– نیه ههاز به ههه ‪ 4‬رشه ههته سه ههیم (دو خه ههط دو سه ههیای) داریه ههم‪ ،‬همینه ههین مه ههی ته ههوان از دو سه ههیم وله ههی به هها دو بانه ههد‬
‫فرکانس ی یرهمپوی استفاده نمود‪.‬‬
‫‪38‬‬
‫• ارسال منظم اطالعات در یک خط ارتباط داده براساس یک قرارداد )‪ (Protocol‬انجام می شود‪.‬‬
‫• ‪ Protocol‬مجموعههه ای از قههوانین ب هرای ارسههال مطمههان و صههحیح اطالعههات بههین گیرنههده و فرسههتده مههی‬
‫باشد‪.‬‬
‫• ‪Protocol‬ها بر اسهاس روی کادرننهدی یهام )‪ (Message-Framing‬بهه دو دسهته تقسهیم مهی‬
‫شوند‪:‬‬
‫– ‪ Protocol‬مبتره ههی به ههر کرکته ههر‪ :‬در ایه ههن روی از یه ههک اسه ههتاندارد ماننه ههد ‪ ASCII‬ب ه هرای که ههد گ ه ه اری‬
‫کرکترههها اسههتفاده مههی شههود و س ه د بهها اسههتفاده از کرکترهههای کنترلههی خاب ه ی مههتن ههها در ی هک قالههب‬
‫برای ارسال قرار داده می شوند‪.‬‬
‫– ‪ Protocol‬مبتر ههی ب ههر بی ههت‪ :‬در ای ههن روی از کرکتره هها ب هرای م ههین ک ههردن ابت ههدا و انتت ههای ی هام ه هها‬
‫اسهتفاده ناههی شههود و بجههای آن ههها از بیهت هههایی بهرای م ههین کههردن ابتهدا و انتتههای کههادر و بیههت هههای‬
‫دیگری برای کنترل صحت انتقال استفاده می شود‪.‬‬
‫‪39‬‬