تالار گفتمان مانشت
سوال از DMA - آزاد IT86 - نسخه‌ی قابل چاپ

سوال از DMA - آزاد IT86 - MSZ - 02 مهر ۱۳۹۱ ۰۸:۱۶ ق.ظ

امکان انتقال یک کلمه توسط واحد DMA در کدام نقطه از یک چرخه دستورالعمل وجود ندارد؟

۱) پس از واکشی عملوند ها
۲) پس از کدگشایی دستورالعمل
۳) پس از ذخیره نتایج
۴) پس از اجرای دستور العمل

گزینه اعلام شده: گزینه ۱

لطفا دلیلش رو توضیح بدین که چرا این گزینه انتخاب شده و گزینه های دیگه جواب نیستن.
سپاس

سوال از DMA - آزاد IT86 - azad_ahmadi - 02 مهر ۱۳۹۱ ۱۰:۰۱ ق.ظ

سلام.
واکشی دستورالعمل اولین مرحله از سیکل اجرای دستورالعمل هاست(۱-واکشی ۲-رمزگشایی ۳-اجرا ۴-نتیجه وذخیره .)
هنگامی که یک وقفه از طرف dma داده می شود در سیکل بعدی این وقفه توسط cpu شناسایی می شود (R = 1) و cpu دستورات وقفه را اجرا می کند. پس باید از همان ابتدا (واکشی دستورالعمل) رفتار dma مشخص شود.
------------------
(دلیلی که نوشتم مستند نیست، اگه کسی دلیل محکم تری داره لطف کنه بنویسه. ممنون)

سوال از DMA - آزاد IT86 - MSZ - 02 مهر ۱۳۹۱ ۱۱:۲۴ ق.ظ

البته اینایی که شما نوشتین مربوط به واکشی دستورالعمل هست. روی گزینه اول نوشته واکشی عملوند
ضمنا این مطلبی که میگین فکر نمی کنم استدلال درستی باشه... البته با توجه به سوال. چون اگر فرض کنیم که گزینه ۱ جواب سوال باشه (که طبق کلید، هست)، پس به عنوان مثال طبق گزینه های بعدی، امکان انتقال از DMA پس از کدگشایی دستور یا پس از اجرا یا پس از ذخیره نتایج که هست! در صورتی که اینها بعد از واکشی دستورالعمل هستن و طبق گفته شما وقتی قبل از واکشی دستور العمل باید تکلیف DMA روشن شده باشه، پس اصولا تو این موارد که دیگه اصلا نباید امکان انتقال باشه!

سوال از DMA - آزاد IT86 - azad_ahmadi - 02 مهر ۱۳۹۱ ۰۲:۵۹ ب.ظ

سلام خدمت اقای MSZ، همونطور که گفتم، دلیل من موثق(یا موصق یا موسق، نمی دونم به خدا کدوم درسته Smile ) نیست و باید دوستان بیان رو این سوال بحث کنیم. اما برای انقال یک کلمه توسط dma، اولا cpu باید ثبات های اون دستگاه رو مقدار دهی کنه (آدرس، شمارنده بایت و کلمه ...) و بعد اون cpu گذرگاه رو در اختیار dma بگذاره. اما حالا، برگردیم به عقب، وقتی که dma یک وقفه رو برای cpu ارسال میکنه، flag، R که مربوط به رخداد وقفه س، برابر مقدار یک میشه، پس تو سیکل بعدی دیگه cpu اجرای عادی دستورات رو انجام نمی ده و وارد سیکل وقفه می شه. یعنی قبل واکشی دستور(یا عملوند، یا دستورالعمل) باید وقفه رو بگیره و تکلیف dma رو مشخص کنه.
---------------------------------------
پاسخ من رو نقض کنید.

سوال از DMA - آزاد IT86 - MSZ - 02 مهر ۱۳۹۱ ۰۳:۰۵ ب.ظ

مجددا قسمت آخر پست قبلم رو میذارم:
اگر فرض کنیم که گزینه ۱ جواب سوال باشه (که طبق کلید، هست)، پس به عنوان مثال طبق گزینه های بعدی، امکان انتقال از DMA پس از کدگشایی دستور یا پس از اجرا یا پس از ذخیره نتایج که هست! در صورتی که اینها بعد از واکشی دستورالعمل هستن و طبق گفته شما وقتی قبل از واکشی دستور العمل باید تکلیف DMA روشن شده باشه، پس اصولا تو این موارد که دیگه اصلا نباید امکان انتقال باشه!

پس با این حساب باید همه گزینه ها جواب سوال باشن!

سوال از DMA - آزاد IT86 - azad_ahmadi - 02 مهر ۱۳۹۱ ۰۳:۲۲ ب.ظ

ببینید، اگه "پس از واکشی عملوندها" امکان انتقال از dma نباشه، دیگه "پس از واکشی" یا "پس از اجرا" یا "پس از ذخیره" دیگه معنی نداره، چون اون سه تا بعد از واکشی عملوندها انجام می شن، و امکان انتقال باید قبل از واکشی هم صورت بگیره.(واکشی دستورالعمل جدید).
------------------------------
اون سه تای آخری برای گمراه کردن نوشته شدن.چون واضحه که امکان انتقال باید قبل از همه اونها صورت بگیره و واکشی دستورالعمل که اولین مرحله س، باید قبلش انتقال از dma فراهم بشه نه پس از اون.

RE: سوال از DMA - آزاد IT86 - comp_s - 02 مهر ۱۳۹۱ ۰۵:۰۵ ب.ظ

سلام،این سوال مشکل منم هست ممنون که مطرح کردید
به طور کلی dma فقط بعد از پایان یک دستورالعمل و قبل از واکشی دستورالعمل جدید میتونه از گذرگاه آدرس استفاده کنه؟ من نمیفهمم اگه این طوری باشه که در گزینه های ۱و۲و۳ dma بیکاره!! اما پس از اجرای دستورالعمل میشه از گذزگاه استفاده کنه؟

سوال از DMA - آزاد IT86 - MSZ - 02 مهر ۱۳۹۱ ۰۵:۲۰ ب.ظ

من هنوز نمیتونم این پاسخ رو قبول کنم
البته قصد جسارت ندارم

فقط طبق چیزایی که گفتم با پاسخ شما، این تست یک پاسخ صریح نداره.

سپاس

RE: سوال از DMA - آزاد IT86 - azad_ahmadi - 02 مهر ۱۳۹۱ ۰۶:۵۲ ب.ظ

(۰۲ مهر ۱۳۹۱ ۰۵:۲۰ ب.ظ)MSZ نوشته شده توسط:  من هنوز نمیتونم این پاسخ رو قبول کنم
البته قصد جسارت ندارم
فقط طبق چیزایی که گفتم با پاسخ شما، این تست یک پاسخ صریح نداره.
سپاس

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

سوال از DMA - آزاد IT86 - MSZ - 03 مهر ۱۳۹۱ ۱۱:۴۴ ب.ظ

تاپیک بیا بالا!