بازدیدها: 71
خطوط آدرس و داده ها
ریزپردازنده های 8086 و 8088 هر دو 16 بیتی هستند و بنابراین در حالت کلی بطور همزمان قادر به پردازش 16 بیت داده می باشند.
در ریزپردازنده 8086 شانزده بیت داده به صورت یکجا دسترس پذیر است، یعنی دارای 16 خط داده می باشد که همه 16 بیت باهم می توانند به صورت ورودی یا خروجی عمل کنند. البته به دلیل اینکه قادر به پردازش اطلاعات 8 بیتی هم می باشد بنابراین امکان استفاده از 8 خط داده نیز (باهم) وجود دارد و بسته به برنامه می توان از 8 خط کم ارزش یا 8 خط پرارزش داده ها استفاده کرد؛ که بعدا توضیح داده خواهد شد.
ولی در ریزپردازنده 8088 شانزده بیت داده به صورت یکجا دسترس پذیر نیست، زیرا خطوط داده ی آن 8 بیتی است. بنابراین در هر زمان فقط هشت بیت داده را می تواند بخواند یا بنویسد. (هر چند که ثبات ها و ALU آن 16 بیتی است و قادر به پردازش همزمان 8 یا 16 بیت داده است) برای عمل خواندن یا نوشتن 16 بیتی داده ها در طی دو مرحله بر روی گذرگاه داده ی 8 بیتی قرار می گیرند و البته دلیل اصلی ساخت ریزپردازنده 8088 هم همین بوده است که بتواند با ریزپردازنده های 8 بیتی سازگار باشد. بنابراین برای خواندن یا نوشتن داده 16 بیتی دو بار از خطوط داده آن استفاده می شود.
از نظر آدرس دهی حافظه، هر دو ریزپردازنده 8086 و 8088 قادرند حداکثر تا یک مگا بایت فضای حافظه را آدرس دهی نمایند (در فهرست مقالات سایت میکرو رایانه جستجو کنید) و این بدان معنی است که 20 بیت اطلاعات آدرس مورد نیاز است ، یعنی خطوط آدرس در هر دو ریزپردازنده 20 بیتی است. (تعداد حالت های آدرس دهی برابر 2 به توان 20 یا برابر 1048576 است که معادل یک مگا می باشد و چون هر محل حافظه 8 بیتی استفاده می شود لذا یک مگا بایت خواهد بود.)
به منظور قرار دادن 16 بیت داده در 8086 و 8 بیت داده در 8088، به همراه 20 بیت اطلاعات آدرس بر روی یک قطعه 40 پایه، این اطلاعات به صورت زمانی باهم ادغام شده و مشترکا از پایه های تراشه استفاده می کنند. بدین ترتیب که:
در ریزپردازنده 8086 شانزده بیت کم ارزش گذرگاه آدرس با 16 بیت گذرگاه داده باهم ادغام شده و بنام های AD0 الی AD15 نامیده می شوند.
ولی در ریزپردازنده 8088 ؛ به دلیل آنکه فقط 8 بیت اطلاعات داده وجود دارد؛ 8 بیت کم ارزش گذرگاه آدرس با 8 بیت گذرگاه داده ها باهم ادغام گردیده که آنها بنام خطوط AD0 الی AD7 نامیده می شوند. بقیه خطوط آدرس یعنی A8 الی A15 به تنهایی استفاده می شود.
در هر دو ریزپردازنده مابقی چهار خط آدرس یعنی خطوط A16 , A17 , A18 , A19 با اطلاعات وضعیت ریزپردازنده ادغام شده که در ادامه بحث توضیح داده خواهد شد.
خطوط AD0 الی AD7 (خطوط دو جهته و سه حالته)
در این 8 پایه سیگنال های آدرس و داده در هر دو ریزپردازنده 8086 و 8088 به صورت زمانی باهم ادغام شده و به طور مشترک هر دو سیگنال از یک پایه استفاده می کنند. یعنی در طی اولین پریود پالس ساعت از سیکل اجرا، این پایه ها دارای اطلاعات آدرس هستند و در طی سایر پریود های سیکل اجرا، داده بر روی این پایه ها قرار می گیرد. در واقع طراحان ریزپردازنده با بکار گیری این ترفند موفق شده اند تعداد پایه های ریزپردازنده را به شدت کم کنند.
دلیل اینکه از این خطوط بنام خطوط دوجهته نام برده شد آن است که اگر بر روی این خطوط سیگنالهای آدرس قرار بگیرند، صرفا به صورت خروجی عمل می کنند ولی وقتی داده ها بر روی این خطوط قرار بگیرند به صورت دو طرفه عمل می کنند، به همین دلیل در حالت کلی دو جهته ذکر شد.
دلیل سه حالته بودن آنها نیز این است که ریزپردازنده در شرایطی که این خطوط مورد استفاده قرار نمی گیرند (نظیر استفاده DMA یا سایر کنترل کننده های گذرگاه از این خطوط) آنها را به حالت امپدانس بالا می برد.
خطوط AD8 الی AD15 در ریزپردازنده 8086 (خطوط دو جهته و سه حالته)
خطوط A8 الی A15 در ریزپردازنده 8088 (خطوط خروجی و سه حالته)
خطوط AD8 الی AD15 در ریزپردازنده 8086 دقیقا مشابه خطوط AD0 الی AD7 هستند که توضیح داده شد. تنها تفاوت آنها در این است که خطوط AD8 الی AD15 هشت بیت دوم و پرارزش آدرس و داده ها را در بر دارند. در ریزپردازنده 8088 نیز این خطوط صرفا خطوط آدرس بوده و هشت بیت دوم پرارزش آدرس بر روی این خطوط قرار دارد و لذا خطوطی صرفا خروجی هستند.
نکته قابل توجه و مهم آنکه در هر دو ریزپردازنده برای آدرس دهی I/O فقط از 16 خط کم ارزش آدرس استفاده می شود(تعداد حالت های آدرس دهی برابر 2 به توان 16 خواهد بود) و از بقیه خطوط آدرس بدین منظور استفاده نمی شود و لذا حداکثر تعداد دستگاه های I/O که می تواند در این ریزپردازنده آدرس دهی شود 64K (معادل 65536 پورت I/O) است.
خطوط A16 الی A19 در ریزپردازنده 8086/8088 (خطوط خروجی و سه حالته)
در هر دو ریزپردازنده این چهار خط به عنوان خطوط در بردارنده چهار بیت پرارزش آدرس هاست (فقط در آدرس دهی حافظه). لذا مجددا تاکید می شود که این پایه ها صرفا در اولین پریود پالس ساعت از سیکل اجرای یک دستورالعمل دارای اطلاعات آدرس هستند و در بقیه پریودهای سیکل اجرا، سیگنال های وضعیت بر روی این پایه ها قرار می گیرد که در بخش بعدی توضیح داده خواهد شد.
در حالت آدرس دهی I/O از این 4 پایه استفاده نمی شود و مقدار آنها برابر صفر منطقی است.
منبع: microrayaneh.com