سوال درباره مبادله داده و اطلاعات به صورت سنکرون و آسنکرون

arm84

New Member
سلام دوستان. این که میگن داده ها در پورت سریال به صورت سنکرون و آسنکرون مباداه میشن یعنی چی؟ و انقش پالس ساعت تو این فرآیند چیه؟ لطفا تحلیل خودتون بگین و اگر مقدور با مثال توضیح بدین.با تشکر
 

the_king

مدیرکل انجمن
سلام دوستان. این که میگن داده ها در پورت سریال به صورت سنکرون و آسنکرون مباداه میشن یعنی چی؟ و انقش پالس ساعت تو این فرآیند چیه؟ لطفا تحلیل خودتون بگین و اگر مقدور با مثال توضیح بدین.با تشکر

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

Synchronous و Asynchronous دو شیوه اساسی برای ایجاد کردن این هماهنگی بین فرستنده و گیرنده است.

Synchronous میگه ریتم فرستنده و گیرنده بر اساس یک ساعت خارجی منظم و ثابت باشه، فرضا فرستنده هر 5 ثانیه یک محموله رو ارسال کنه
و گیرنده هم هر 5 ثانیه منتظر دریافت یک محموله باشه. سرعت این ریتم به چابکی فرستنده و گیرنده و رسانه ارتباطی بین ایندو تا بستگی داره،
باید سرعت طوری تعیین بشه که گیرنده از پس اش بر بیاد. یعنی سریعترین فرستنده دنیا هم وقتی با یک گیرنده کند در ارتباطه باید از یک ریتم
کند برای ارسال هاش استفاده کنه. پالس ساعت به فرستنده زمانی که باید داده رو ارسال کنه نشون میده. فرضا فرستنده و گیرنده توافق می کنند
که به ازای هر 10 پالس ساعت، یک داده ارسال بشه، یعنی داده ارسال بشه و بعد برای ارسال بعدی فرستنده 10 پالس ساعت مکث کنه.
در ارتباط Synchronous ، فرستنده کاری به واکنش گیرنده نداره، اگر گیرنده به هر دلیلی مکث تو کارش پیش بیاد و معطل بشه، محموله جدید
از راه می رسه و چون گیرنده آمادگی دریافت رو نداره، یا محموله از دست میره یا آجر تو سر گیرنده می خوره. از طرف دیگه اگر گیرنده خیلی چابک تر از فرستنده باشه،
یا برعکس فرستنده خیلی چابکتر از گیرنده باشه، این سرعت بیشتر فایده ای در ارتباط نداره، چون مجبور اند ریتم تبادل داده رو بر اساس کند ترین شون تنظیم کنند،
یعنی فرد چابکتر همیشه مجبوره معطل بشه، در ارتباط Synchronous ریتم رو بر اساس کند ترین تعیین می کنند، نه سریعترین.

Asynchronous میگه ریتم ثابت و یکنواخت نباشه، بر اساس ساعت هم نباشه. فرستنده ببینه کی گیرنده محموله قبلی رو دریافت کرد، بعدش محموله جدید رو ارسال کنه.
لازمه این شیوه Asynchronous اینه که یک ارتباط از گیرنده به فرستنده هم وجود داشته باشه که رسیدن محموله قبلی رو اطلاع بده.
فرستنده یک محموله رو ارسال می کنه و بعد منتظر می مونه تا سیگنالی از گیرنده بهش برسه. از طرف دیگه گیرنده منتظر رسیدن محموله می مونه، هر وقت که
محموله رو دریافت کرد به فرستنده یک سیگنال ارسال می کنه که محموله دریافت شد. در ارتباط Asynchronous فرستنده و گیرنده از چابکی شون بخوبی استفاده می کنند،
ریتم ارتباط به اندازه چابکی فرستنده و گیرنده بستگی داره و می تونه دائم تغییر کنه. اینکه گیرنده معطل بشه، خطری برای محموله بعدی ایجاد نمی کنه چون فرستنده
محموله بعدی رو ارسال نخواهد کرد، مگر اینکه گیرنده با یک سیگنال آمادگی اش رو اعلام کرده باشه.
 

جدیدترین ارسال ها

بالا