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

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

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

[تصویر:  239619_69.JPG]
سلام.

در مبحث کنترل ریز برنامه نویسی شده با همون microprogrammed control unit ما یک مبحث دیگه هم داریم که متاسفانه توی کتاب های مانو و کنکوری توضیح داده نشدن. مبحث کوتاهی هست.
پیشنهاد میکنم از سایت مکتب خونه ویذیوی معماری رو ببینید جلسه 17 ، اواسط جلسه در این باره صحبت میکنن و با دیدن این فیلم و حل دو سه تا تست کاملا مسلط میشید

کل مبحث به این صورت هست:
در کنترل ریز برنامه ای، حافظه کنترلیمون مثلا 9 بیت به ریزعملیات ها تخصیص میده، ولی معمولا در برنامه نویسی هامون، یک یا دو فیلد از فیلدهی ریز عملیات رو پر میکنیم .
حالا در کامپیوترهایی که پیچیده تر هستن 9 بیت به ریز عملیات ها تخصیص نمیدن بلکه بیتهای بیشتری تخصیص داده میشه مثلا 200 بیت به ریز عملیات داده میشه. این 200 بیت میتونن[tex]2^{200}[/tex] حالت داشته باشن، اما ممکنه در کل ما فقط به 60 الگو از اون نیاز داشته باشیم. خب پس مقدار زیادی ROM داریم بیخودی هدر میدیم. برای حل این مشکل میان از یک حافظه دیگری استفاده میکنن به نام حافظه نانو، در حافظه نانو، اون 60 الگوی مورد نیاز رو قرار میدن یعنی حافظه نانوی ما 60 کلمه ی 200 بیتی خواهد بود. چرا 200 بیتی؟ چون که ما برای حالات مختلف ریز عملیتمون به 200 بیت در حافظه کنترلی احتیاج داشتیم. حالا در حافظه کنترلی این 200 بیت رو حذف میکنیم و به جاش 5 بیت قرار میدیم. این 5 بیت در واقع اشاره گری به حافظه نانو هستن که 60 کلمه داشت. حالا چرا 5 بیت؟ چون [tex]2^{5}=64[/tex] و اون 60 کلمه حافظه نانو رو پوشش میده.

خب حالا در حافظه کنترلی صرفه جویی کردیم. مثلا اگه 100 ریز دستورالعمل 200 بیتی داشتیم. حالا 100 ریزدستورالعمل 5 بیتی داریم + یک حافظه نانو که 60 کلمه 200 بیتی داره. در حافظه کنترلیمون( نه خافظه نانو) [tex](100*200)-(100*5)=100*95[/tex] بیت صرفه جویی داشتیم

و اما در مورد سوال شما:
اینجا ما 100 تا سیگنال کنترلی داریم یعنی میتونیم فرض کنیم 100 بیت برای ریزعملیات هامون در حافظه کنترلی داریم. 200 جعبه انتقال و 32 جعبه شرطی هم داریم یعنی کل برناممون 232 ریز دستورالعمل داره. یعنی حافظه کنترلی ما 232 کلمه 100 بیتی هست ( با سایر فیلدها کار نداریم چون در صورت استفاده از حافظه نانو تغییری در حافظه کنترلی ایجاد نمیکنن و ثابت هستن). خب کلا 60 الگو مورد استفاده داریم بنابراین از یک حافظه نانوی [tex]60*100[/tex] استفاده میکنیم و حافظه کنترلیمونو به یک حافظه [tex]232*6[/tex] عوض میکنیم. صرفه جویی در بیتها میشه [tex]232*100 - 232*6 = 232*64= 21808[/tex]
(02 بهمن 1392 04:03 ب.ظ)nazanin_sh نوشته شده توسط: [ -> ]سلام.

در مبحث کنترل ریز برنامه نویسی شده با همون microprogrammed control unit ما یک مبحث دیگه هم داریم که متاسفانه توی کتاب های مانو و کنکوری توضیح داده نشدن. مبحث کوتاهی هست.
پیشنهاد میکنم از سایت مکتب خونه ویذیوی معماری رو ببینید جلسه ۱۷ ، اواسط جلسه در این باره صحبت میکنن و با دیدن این فیلم و حل دو سه تا تست کاملا مسلط میشید

کل مبحث به این صورت هست:
در کنترل ریز برنامه ای، حافظه کنترلیمون مثلا ۹ بیت به ریزعملیات ها تخصیص میده، ولی معمولا در برنامه نویسی هامون، یک یا دو فیلد از فیلدهی ریز عملیات رو پر میکنیم .
حالا در کامپیوترهایی که پیچیده تر هستن ۹ بیت به ریز عملیات ها تخصیص نمیدن بلکه بیتهای بیشتری تخصیص داده میشه مثلا ۲۰۰ بیت به ریز عملیات داده میشه. این ۲۰۰ بیت میتونن[tex]2^{200}[/tex] حالت داشته باشن، اما ممکنه در کل ما فقط به ۶۰ الگو از اون نیاز داشته باشیم. خب پس مقدار زیادی ROM داریم بیخودی هدر میدیم. برای حل این مشکل میان از یک حافظه دیگری استفاده میکنن به نام حافظه نانو، در حافظه نانو، اون ۶۰ الگوی مورد نیاز رو قرار میدن یعنی حافظه نانوی ما ۶۰ کلمه ی ۲۰۰ بیتی خواهد بود. چرا ۲۰۰ بیتی؟ چون که ما برای حالات مختلف ریز عملیتمون به ۲۰۰ بیت در حافظه کنترلی احتیاج داشتیم. حالا در حافظه کنترلی این ۲۰۰ بیت رو حذف میکنیم و به جاش ۵ بیت قرار میدیم. این ۵ بیت در واقع اشاره گری به حافظه نانو هستن که ۶۰ کلمه داشت. حالا چرا ۵ بیت؟ چون [tex]2^{5}=64[/tex] و اون ۶۰ کلمه حافظه نانو رو پوشش میده.

خب حالا در حافظه کنترلی صرفه جویی کردیم. مثلا اگه ۱۰۰ ریز دستورالعمل ۲۰۰ بیتی داشتیم. حالا ۱۰۰ ریزدستورالعمل ۵ بیتی داریم + یک حافظه نانو که ۶۰ کلمه ۲۰۰ بیتی داره. در حافظه کنترلیمون( نه خافظه نانو) [tex](100*200)-(100*5)=100*95[/tex] بیت صرفه جویی داشتیم

و اما در مورد سوال شما:
اینجا ما ۱۰۰ تا سیگنال کنترلی داریم یعنی میتونیم فرض کنیم ۱۰۰ بیت برای ریزعملیات هامون در حافظه کنترلی داریم. ۲۰۰ جعبه انتقال و ۳۲ جعبه شرطی هم داریم یعنی کل برناممون ۲۳۲ ریز دستورالعمل داره. یعنی حافظه کنترلی ما ۲۳۲ کلمه ۱۰۰ بیتی هست ( با سایر فیلدها کار نداریم چون در صورت استفاده از حافظه نانو تغییری در حافظه کنترلی ایجاد نمیکنن و ثابت هستن). خب کلا ۶۰ الگو مورد استفاده داریم بنابراین از یک حافظه نانوی [tex]60*100[/tex] استفاده میکنیم و حافظه کنترلیمونو به یک حافظه [tex]232*6[/tex] عوض میکنیم. صرفه جویی در بیتها میشه [tex]232*100 - 232*6 = 232*64= 21808[/tex]

از راهنمایی جامع و کاملتون ممنون .
لینک مرجع