تالار گفتمان مانشت
حافظه ی نانو - نسخه‌ی قابل چاپ

حافظه ی نانو - skali - 02 بهمن ۱۳۹۲ ۰۱:۳۳ ب.ظ

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

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

[تصویر:  239619_69.JPG]

RE: حافظه ی نانو - nazanin_sh - 02 بهمن ۱۳۹۲ ۰۴:۰۳ ب.ظ

سلام.

در مبحث کنترل ریز برنامه نویسی شده با همون 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]

RE: حافظه ی نانو - skali - 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]

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