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

حافظه کنترلی تعداد بیتها - homaaa - 25 فروردین ۱۳۹۰ ۱۱:۱۰ ب.ظ

سلام
طول یک دستورالعمل در یک کامپیوتر۱۶بیت است که ۴ بیت آن برای کدعملیاتی opcodeدستوراستفاده میشود.درصورتیکه درطراحی واحدکنترل آنها ازروشریزبرنامه ریزی استفاده شود و هردستورالعمل دارای ۴ ریزدستورالعمل درحافظه کنترل باشد مطلوبست اولا ظرفیت حافظه کنترل چندکلمه است ؟ثانیا نحوه تبدیل کدعملیاتیOPcode به ادرس اولین ریزدستور پیست و هردستور به چه صورتی خواهد بود؟
جواب: ۱۲۸کلمه ظرفیت حافظه کنترل و دوبیت صفرسمت راست کدعملیاتی و یک بیت صفرسمت چپ کدعملیات می باشد.


میشه جواب رو توضیح بدید؟
خودش توضیحش اینه:
از انجا که هردستورالعمل دارای۴ریزدستورالعمل در عمل مپینگ می باشد باید دو بیت در سمت راست کدعملیات اضافه شود تاریزدستورالعمل‌ها بصورت متوالی در حافظه کنترل واقع باشد.
از انجا که گزینه های الف و ج یک بیت سمت چپ نیز برای مپینگ ارائه شده مجموعا ادرس حافظه کنترل۷بیتی می باشد که۱۲۸کلمه کنترلی را پیشتیبانی میکنه اگرچه ۶۴ کلمه کفایت می کند.

این قسمت قرمز رو از کجا فهمید؟

حافظه کنترلی تعداد بیتها - Msccom - 08 بهمن ۱۳۹۰ ۱۲:۵۸ ب.ظ

معمولا بیت های ارزش پایین‌تر اعداد زودتر مقدار میگیرند.مثلا اگر شما ۴ بیت داشته باشید و به ترتیب مقادیر باینری رو توسط این ۴ بیت زیر هم بنویسید میبینید که بیتهای پایین ترتیب رو نشون میدن.مثلا
۰۰۰۰
۰۰۰۱
۰۰۱۰
۰۰۱۱
...
میبینید که اعداد از بیتهای با ارزش پایینتر شروع مشن و به همین ترتیب ارزش های بالاتر به ترتیب مقدار می گیرند

RE: حافظه کنترلی تعداد بیتها - homa - 08 بهمن ۱۳۹۰ ۰۷:۰۷ ب.ظ

(۲۵ فروردین ۱۳۹۰ ۱۱:۱۰ ب.ظ)homaaa نوشته شده توسط:  سلام
طول یک دستورالعمل در یک کامپیوتر۱۶بیت است که ۴ بیت آن برای کدعملیاتی opcodeدستوراستفاده میشود.درصورتیکه درطراحی واحدکنترل آنها ازروشریزبرنامه ریزی استفاده شود و هردستورالعمل دارای ۴ ریزدستورالعمل درحافظه کنترل باشد مطلوبست اولا ظرفیت حافظه کنترل چندکلمه است ؟ثانیا نحوه تبدیل کدعملیاتیOPcode به ادرس اولین ریزدستور پیست و هردستور به چه صورتی خواهد بود؟
جواب: ۱۲۸کلمه ظرفیت حافظه کنترل و دوبیت صفرسمت راست کدعملیاتی و یک بیت صفرسمت چپ کدعملیات می باشد.

هر دستور در سیستم ما دارای ۴ بیت opcode است که هر یک از این opcode‌ها دارای ۴ ریز عمل است.
مثلا اگه ما opcode‌: ۰۰۰۱ رو داشته باشیم به ازای این opcode (که فرض کن دستور واکشی باشه) ۴تا ریز عمل تو حافظه‌ی کنترلی داریم. ۴ دستور رو میشه با ۲ بیت تولید کرد.
تو حافظه‌ی کنترلی دست یابی به ادرس‌ها به صورت متوالی هست مگر اینکه انشعاب رخ بده.پس برای اینکه دستوری که از سیستم میاد تا ریز عمل هاش اجرا بشه بهتر اینه که به صورت متوالی پشت سر هم قرار بگیرن.برای اینکار ۲ بیت در محل بیت های کم ارزش opcode قرار میدیم