تالار گفتمان مانشت

نسخه‌ی کامل: تعداد ریز عملهای قابل تعریف در کامپیوتر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
درصورتیکه اندازه حافظه کنترلی یک کامپیوتر 1024*20 بیت باشد و نیز فرمت کدریزدستورات شامل 2بیت برای نوع انشعاب ،3بیت برای شرط انشعاب و 3فیلد ریز عمل یکسان باشد حداکثر تعداد ریزعملهای قابل تعریف دراین کامپیوتر کدام است؟
96
48
24
12
آیا پاسخ ها درست هستند ؟
فرض کنید 1024*20 بیت رو اینطوری فرض کنیم که لگاریتم 1024 میشه 10 .
پس 10 بیت برای آدرس خونه های حافظه.
هر خونه هم بیت 20 هست.
2بیت انشعاب
3 بیت شرط انشعاب
تا اینجا 5 بیت رفت پس 15 تا میمونه.
[تصویر:  147528_1_1379087461.gif]
چون 3 بیت واسه میدون داشتیم و از اون طرف گفته 3 فیلد ریز عمل یکسان
فکر کنم دیگه این سه بیت رو بکار نمی بریم و میشه 15-3=12
========
البته من از خودم گفتم شایدم غلط باشه جوابم
لطفا بقیه دوستان هم جواب بدن
کمی گنگه ، منظور از 3 فیلد ریز عمل یکسان یعنی با بیت های یکسان دیگه.
15 بیت برای میدان ریز عمل ها باقی می مونه که به هر کدوم 5 بیت میرسه، با 5 بیت میشه 32 حالت میشه ایجاد کرد و 3 تا 32 تا هم میشه 96 ریز عمل متفاوت میشه تعریف کرد .
برای تعیین نوع ریز دستورات دیکدر با mapping آدرس شروع ریز دستور رو مشخص می کنه و این ربطی به تعداد خونه های حافظه کنترلی نداره، یعنی بیت ها لازم برای آدرس دهی دیکر باید 10 بیتی باشه که به سوال ربطی نداره.
واسه آدرس دهی داخل حافظه کنترلی هم 10 بیت آدرس دهی لازم است،2 بیت برای نوع انشعاب 3 بیت شرط انشعاب ، 10 بیت برای آدرس و یه 5 بیت می مونه که می تونه برای یه ریز عمل دیگه یا NOP باشه.
من مطمئن نیستم و هر چی توذهنم بود رو گفتم، نمیتونم تشخیص بدم که چطوری میشه بیت های میدان هر ریز عمل رو کم کرد، محدودیت دیگه نمی تونم تجسم کنم که بیت های هر فیلد ریز عمل رو کم کنم اما احساس می کنم یه جای کار می لنگه !!

اما چرا میگید 3 بیت استفاده نمیشه !!؟؟
اگر هم 3 بیت استفاده نشه با 12 بیت میشه 4^2*3 ریز عمل متفاوت یعنی 48 ریز عمل ایجاد کرد .
(16 آذر 1391 10:49 ب.ظ)csharpisatechnology نوشته شده توسط: [ -> ]آیا پاسخ ها درست هستند ؟
فرض کنید ۱۰۲۴*۲۰ بیت رو اینطوری فرض کنیم که لگاریتم ۱۰۲۴ میشه ۱۰ .
پس ۱۰ بیت برای آدرس خونه های حافظه.
هر خونه هم بیت ۲۰ هست.
۲بیت انشعاب
۳ بیت شرط انشعاب
تا اینجا ۵ بیت رفت پس ۱۵ تا میمونه.

تعداد ریز عملها مد نظره یعنی باید اون 3 میدان رو حساب کرد!
البته اگر هم اشتباهی در بیت شرط انشعاب باشه (مثلا 2تا باشه....!)
اون موقع میشه گفت 3 میدان داریم که هر کدوم 4 ریزعمل رو میتونند تعریف کنند 4*3=12!

به جاهای جالبی رسیدیم گزینه هیچکدام ندارهBig Grin
esi جان دمت گرم.
فقط دلیل اینکه گفتید:
"اشتباه نکن که طول کلمات حافظه 20 هست"
چیه ؟
لطفا بیشتر توضیح بدید.Heart
اون شکله صحیح نیست.
طول کلمات حافظه 20 است، یعنی تمام دستورات با یک قالب مشخص در این 20 بیت قرار گرفته اند، تمامی دستورات هم بخش آدرس ندارن یعنی اصلا لزومی هم نداره که بخش آدرس برای همه دستورات به صورت مجزا قرار داده بشه، بلکه نوع شرایط تعیین می کنه که دستور بعدی تو کدوم آدرس هست، مثلا اگه نوع انشعاب حالت عادی بود دیکر تصمیم میگیره که pc=pc+1 بشه، یا اگه نوع دستور پرش بود پس در قسمت فیلد ریز اعمال باید یه آدرس 10 بیتی قرار بگیره و برای دستورات شرطی نمیشه 3 بخش ریز عمل رو استفاده کرد.
داخل دستورات حافظه کنترلی داده هم وجود نداره که بخواهیم بهش آدرس دهی کنیم چون تمام دستورات کنترلی یا ریز عمل هستند ، دستورات کنترلی برای کنترل اجرای روال حافظه کنترلی و دستورات ریز عمل هم برای تولید خطوط کنترلی CPU هستش.
شما باید بخش قالب دستورات رو مشخص کنید، تعداد بیت های مورد نیاز برای ریز اعمال رو پیدا کنید، بعد تعداد ریز اعمال با توجه به اینکه طول هر میدان ریز عمل برابر است برابر خواهد بود: (تعداد بیت های لازم برای میدان ریز عمل ^2 )*3
ترکوندی داداش...خیلی آقایی...دمت گرم
بچه ها مگه نه این که طول هر خانه ی حافظه کنترلی 20 بیت؟
خوب 10بیت واسه ادرس، 5 بیت هم شرط و انشعاب پس فقط 5 بیت واسه سه فیلد F1 ,F2 ,F3, میتونیم در نظر بگیریم
که باید مساوی باشند
البته هر کدوم هو یه Nop دارند که باید از کل ریز عملیات ها کم شه
فکر کنم سوال مشکل داره
لینک مرجع