نوشته شده توسط
the king
نه. هر سخت افزاری برای هر پورتی که بهش مربوطه مشخصات و قاعده خاص خودش رو داره، موردی که مثال زدید قطعا برای یکسری موارد درسته، اما فقط یکی از این شرایط ئه، همیشه اینطوری نیست.
ممکنه حتی یک پورت فقط برای خواندن یا فقط برای نوشتن باشه و مقداری که در جهت معکوس نوشته یا خونده میشه مقداری همیشه ثابت یا تصادفی و در کل بی ربط باشه.
ممکنه مقداری که در یک پورت نوشته میشه فقط یک کد باشه که خودش مشخص کننده کارکرد داده ای باشه که از پورت دیگری خونده میشه، یعنی داده یک پورت فقط برای فلان موضوع خاص نباشه، برای توصیفش باید توجه بشه که در فلان پورت دیگه چه مقداری قرار داره. مثلا یک سخت افزار بخواد یک رشته string رو ارائه کنه، بجای اینکه 20 تا پورت با شماره متوالی رو بکار ببره، فقط از دو پورت A و B استفاده کنه، بگه در پورت A اگر بنویسی 0 در پورت B طول رشته رو تحویل میدم و اگر اعداد بزرگتر 0 رو در پورت A بنویسی کاراکتر اون خانه از رشته رو در پورت B تحویل میدم.
ممکنه برای خواندن دادن از یک پورت خاص حتما لازم باشه که اول فلان مقدار در پورت دیگری نوشته بشه تا flip flop مربوط به فلان بخش سخت افزار در وضعیت بهمان قرار بگیره، و نباید پیش از تکرار این عملیات مجددا از اون پورت داده خونده بشه. یعنی اگر در دو کد متوالی از اون پورت داده خونده بشه، تکراری نخواهند شد، دومی یک مقدار نامعتبر و متفاوت میشه.