زمان کنونی: ۲۴ آذر ۱۳۹۷, ۱۰:۳۲ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

طول دستورات و تعداد دستورات

ارسال:
  

مازیار صفایی پرسیده:

طول دستورات و تعداد دستورات

از این تیپ سوالات هست که می گن اگه طول دستورات ۱۰ بیت باشه و فیلد های آدرس ۳ بیت.
بعد m تا دستورات دو اپرندی داریم n تا یک اپرندی... حالا صفر اپرندی چندتاستConfused

من تو هیچ کتابی پیدا نکردم اینها رو درست توضیح بده . راست و حسینیش اینه که نمی فهمم!Sad

از کجا باید تشخصی بدیم؟
اگه منبع خوب هم سراغ دارید باز هم دعا گو هستیم...

۲
ارسال:
  

pos پاسخ داده:

طول دستورات و تعداد دستورات

نمونه این سوال توی آزمون ۲۵ درصد اول پارسه بود. من هم جایی ندیده بودم چطوری حل میشه. من به روش زیر حل کردمش:

سوال این بود:
اگر طول دستور ۱۰ بیت و طول آدرس ۳ بیت باشد و ۱۴ دستور دو عملوندی و ۱۵ دستور تک عملوندی داشته باشیم چند دستور بدون عملوند می توانیم داشته باشیم؟
خوب فضای کلی دستور به این صورت هست:
---|---|---- = xxxx|yyy|zzz
پس چهار بیت برای opcode دو عملوندی داریم که میشه ۱۶ دستور ولی ما اینجا از ۱۴ تاش استفاده کردیم یعنی ۲ دستور خالی داریم. من فرض می کنم این دو دستور ۰۰۰۰ و ۰۰۰۱ هستند. حالا گفته ۱۵ تا دستور تک عملنودی داریم من از سه بیت بخش دوم (yyy) استفاده می کنم. چون یک اپرند می خوایم مشکلی پیش نمیاد. و چون ۳ بیت هست میشه باهاش ۸ دستور ایجاد کرد ولی توی مرحله قبل ما دو دستور ۰۰۰۰ و ۰۰۰۱ را خالی داریم. پس اینها را با هم ترکیب می کنیم تا بتوانیم ۱۶ دستور تک عملوندی ایجاد کنیم که میشه:
---|y|yyy---
خوب همانطور که دیدی ما می توانیم ۱۶ دستور ۲ تک عملوندی داشته باشیم که از ۱۵ تاش داریم استفاده می کنیم. من فرض می کنم دستور باقیمانده ---|۰۰۰|۰۰۰۰ باشه.
خوب پس می توانم با ترکیب این دستور و ۳ بیت باقیمانده ۸ دستور بدون عملوند استفاده کنم.

حالا با این نکته دقت کن:
اگر گفته بود ۱۶ دستور تک عملوندی داریم دیگه نمی شد دستور بدون عملوند ایجاد کرد چون ---|۰۰۰|۰۰۰۰ جزئ دستورات تک عملوندی می شد و اگر من از سه بیت باقیمانده برای دستورات صفر عملوندی استفاده می کردم کامپیوتر نمی تونست تشخیص بده این دستور بدون عملوند هست یا اینکه یک دستور تک عملوندی است.

امیدوارم تونسته باشم درست توضح بدم Wink

۲
ارسال:
  

Xilinx پاسخ داده:

طول دستورات و تعداد دستورات

نقل قول: منم این سوالو اشکال دارم
دو زاریم هنوز نیفتاده فقط کج شده Big Grinمی شه یه مثال دیگه هم بزنید

منم اینو خوندم دو زاریم کج شد ولی بعدش گرفتم چی شده Big Grin

ولی من همین توضیحات رو تکمیل میکنم (با اجازه)

نقل قول: اگر طول دستور ۱۰ بیت و طول آدرس ۳ بیت باشد و ۱۴ دستور دو عملوندی و ۱۵ دستور تک عملوندی داشته باشیم چند دستور بدون عملوند می توانیم داشته باشیم؟
خوب فضای کلی دستور به این صورت هست:
---|---|---- = xxxx|yyy|zzz
پس چهار بیت برای opcode دو عملوندی داریم که میشه ۱۶ دستور ولی ما اینجا از ۱۴ تاش استفاده کردیم یعنی ۲ دستور خالی داریم. من فرض می کنم این دو دستور ۰۰۰۰ و ۰۰۰۱ هستند. حالا گفته ۱۵ تا دستور تک عملنودی داریم من از سه بیت بخش دوم (yyy) استفاده می کنم. چون یک اپرند می خوایم مشکلی پیش نمیاد. و چون ۳ بیت هست میشه باهاش ۸ دستور ایجاد کرد ولی توی مرحله قبل ما دو دستور ۰۰۰۰ و ۰۰۰۱ را خالی داریم. پس اینها را با هم ترکیب می کنیم تا بتوانیم ۱۶ دستور تک عملوندی ایجاد کنیم که میشه:
---|y|yyy---
خوب همانطور که دیدی ما می توانیم ۱۶ دستور ۲ تک عملوندی داشته باشیم که از ۱۵ تاش داریم استفاده می کنیم. من فرض می کنم دستور باقیمانده ---|۰۰۰|۰۰۰۰ باشه.
خوب پس می توانم با ترکیب این دستور و ۳ بیت باقیمانده ۸ دستور بدون عملوند استفاده کنم.

نکته ای که باید بگم اینه‌: ما این نکته رو میدونیم که با مثلا ۴تا بیت میشه ۲ به توان ۴ تا حالت (یعنی ۱۶ تا حالت) ایجاد کرد.حالا ما از اون قسمت xxxx می تونیم ۱۶ تا حالت (یا همون ۱۶ تا دستور) میتونیم داشته باشیم در حالی که قسمت yyy و zzz برای دو آدرس بکار بره (چون توی سوال گفته که طول آدرس ۳ بیت هست) پس میتونیم ۱۶ تا دستور دو آدرسه(یا دو عملوندی) داشته باشیم.ولی توی سوال گفته ما ۱۴ تاشو رزرو کردیم. پس ما این (با تفکر بقالی) دو حالت واسه خودمون داریم.(۱۶-۱۴=۲) خب حالا نکته ای که باید بگم اینه که ما دیگه از این ۴بیت اول xxxx هیچ استفاده ای نمیتونیم بکنیم(در واقع فقط از همون دو حالت میتونیم استفاده کنیم) پس به این فکر کنید که ۴ بیت از ۱۰ بیت رفته و ۶ بیت مونده.حالا این ۶ بیت خب ۳ بیتش واسه آدرس همون ۱ عملوندمون استفاده میشه.با این ۳ بیت yyy ما میتونیم ۲ به توان ۳تا دستور داشته باشیم(یعنی ۸تا) حالا دوتا حالت هم از xxxx‌ها مونده بود(یادتونه ؟! Big Grin الان احساس کردم دارم تدریس میکنمBig GrinBig GrinTongue) بقول دوستومون فرض کنید اونا ۰۰۰۰ یا ۰۰۰۱ باشند ماتونیم جدا از اون ۱۴ حالت دستورای تک عملوندی یه دفعه ۰۰۰۰ رو جای اوی ۴ بیت xxxx در نظر بگیریم و بعدشم با استفاده از yyy هشت تا دستور تعریف کنیم و یا ۰۰۰۱ رو بذاریم و ۸تای دیگه رو تعریف کنیم (خلاصه اینکه ۲ ضربدر ۸ تا حالت میتونیم دستور تک عملوندی تعریف کنیم.خب توی سوال گفته ۱۵تا دستور از ۱۶ تایی که میتونیم تعریف کنیم رو رزرو کردیم.پس ۱ حالتش می مونه) بنابراین این ۳ بیت yyy هم استفاده شد(بجز یه حالتش.زیرا ۱۵-۱۶=۱) حالا تعداد دستورات هیچ عملوندی رو با این zzz تعریف میکنیم.یعنی میشه ۲ به توان ۳ یا همون ۸/پس هیچ عملوندیمون میشن ۸تا.(به نکته آخری که دوستمون گفت توجه کنید)))

با تشکر !!!

۰
ارسال:
  

مازیار صفایی پاسخ داده:

طول دستورات و تعداد دستورات

توضیحاتتون عالی بود
بسیار متشکرم!
من هر وقت می خوام از معماری یک نفس راحت بکشم یک چیزی هست که .....!

باز هم متشکر

۰
ارسال:
  

Xilinx پاسخ داده:

طول دستورات و تعداد دستورات

دقت کنید توی تست های آخر فصل پوران ۳تا سوال این مدلی هست ;-) آپلود کنم ؟؟!

۰
ارسال:
  

مازیار صفایی پاسخ داده:

طول دستورات و تعداد دستورات

دستتون درد نکنه!
دارمشون....

۰
ارسال:
  

firouzi.s پاسخ داده:

RE: طول دستورات و تعداد دستورات

منم این سوالو اشکال دارم
دو زاریم هنوز نیفتاده فقط کج شده Big Grinمی شه یه مثال دیگه هم بزنید Tongue
ممنون

۰
ارسال:
  

firouzi.s پاسخ داده:

RE: طول دستورات و تعداد دستورات

مرسی
الان دیگه افتادBig Grin



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تعداد کلاک برای fetch & decode ! m@hboobe ۱۰ ۳,۶۵۴ ۱۷ آذر ۱۳۹۱ ۰۲:۰۰ ب.ظ
آخرین ارسال: azad_ahmadi
  تعداد ریز عملهای قابل تعریف در کامپیوتر hana.rahmati ۷ ۲,۶۰۵ ۱۶ آذر ۱۳۹۱ ۱۱:۵۶ ب.ظ
آخرین ارسال: nina69
  سوال تعداد بیت های آدرس در یک کامپیوتر hana.rahmati ۲ ۱,۲۱۱ ۱۴ آذر ۱۳۹۱ ۰۲:۲۴ ق.ظ
آخرین ارسال: csharpisatechnology
  حافظه کنترلی تعداد بیتها homaaa ۲ ۱,۶۴۱ ۰۸ بهمن ۱۳۹۰ ۰۷:۰۷ ب.ظ
آخرین ارسال: homa
  شمارش تعداد کلاکها StudentSE ۶ ۱,۴۹۰ ۰۹ آذر ۱۳۹۰ ۱۲:۳۸ ق.ظ
آخرین ارسال: homa
  تعداد دستورات در واحد کنترل ریز برنامه سازی شده si.mozhgan ۸ ۲,۷۹۵ ۰۲ آذر ۱۳۹۰ ۱۱:۴۷ ب.ظ
آخرین ارسال: variant20002000
  تعداد عملیات جمع و تعداد شیفت در روش Add&Shift؟ sos006 ۱ ۲,۷۴۴ ۱۳ دى ۱۳۸۹ ۰۳:۲۱ ب.ظ
آخرین ارسال: ۵۴m4n3h

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close