۰
subtitle
ارسال: #۱
  
طول دستورات و تعداد دستورات
از این تیپ سوالات هست که می گن اگه طول دستورات ۱۰ بیت باشه و فیلد های آدرس ۳ بیت.
بعد m تا دستورات دو اپرندی داریم n تا یک اپرندی... حالا صفر اپرندی چندتاست
من تو هیچ کتابی پیدا نکردم اینها رو درست توضیح بده . راست و حسینیش اینه که نمی فهمم!
از کجا باید تشخصی بدیم؟
اگه منبع خوب هم سراغ دارید باز هم دعا گو هستیم...
بعد m تا دستورات دو اپرندی داریم n تا یک اپرندی... حالا صفر اپرندی چندتاست
من تو هیچ کتابی پیدا نکردم اینها رو درست توضیح بده . راست و حسینیش اینه که نمی فهمم!
از کجا باید تشخصی بدیم؟
اگه منبع خوب هم سراغ دارید باز هم دعا گو هستیم...
۲
ارسال: #۲
  
طول دستورات و تعداد دستورات
نمونه این سوال توی آزمون ۲۵ درصد اول پارسه بود. من هم جایی ندیده بودم چطوری حل میشه. من به روش زیر حل کردمش:
سوال این بود:
اگر طول دستور ۱۰ بیت و طول آدرس ۳ بیت باشد و ۱۴ دستور دو عملوندی و ۱۵ دستور تک عملوندی داشته باشیم چند دستور بدون عملوند می توانیم داشته باشیم؟
خوب فضای کلی دستور به این صورت هست:
---|---|---- = xxxx|yyy|zzz
پس چهار بیت برای opcode دو عملوندی داریم که میشه ۱۶ دستور ولی ما اینجا از ۱۴ تاش استفاده کردیم یعنی ۲ دستور خالی داریم. من فرض می کنم این دو دستور ۰۰۰۰ و ۰۰۰۱ هستند. حالا گفته ۱۵ تا دستور تک عملنودی داریم من از سه بیت بخش دوم (yyy) استفاده می کنم. چون یک اپرند می خوایم مشکلی پیش نمیاد. و چون ۳ بیت هست میشه باهاش ۸ دستور ایجاد کرد ولی توی مرحله قبل ما دو دستور ۰۰۰۰ و ۰۰۰۱ را خالی داریم. پس اینها را با هم ترکیب می کنیم تا بتوانیم ۱۶ دستور تک عملوندی ایجاد کنیم که میشه:
---|y|yyy---
خوب همانطور که دیدی ما می توانیم ۱۶ دستور ۲ تک عملوندی داشته باشیم که از ۱۵ تاش داریم استفاده می کنیم. من فرض می کنم دستور باقیمانده ---|۰۰۰|۰۰۰۰ باشه.
خوب پس می توانم با ترکیب این دستور و ۳ بیت باقیمانده ۸ دستور بدون عملوند استفاده کنم.
حالا با این نکته دقت کن:
اگر گفته بود ۱۶ دستور تک عملوندی داریم دیگه نمی شد دستور بدون عملوند ایجاد کرد چون ---|۰۰۰|۰۰۰۰ جزئ دستورات تک عملوندی می شد و اگر من از سه بیت باقیمانده برای دستورات صفر عملوندی استفاده می کردم کامپیوتر نمی تونست تشخیص بده این دستور بدون عملوند هست یا اینکه یک دستور تک عملوندی است.
امیدوارم تونسته باشم درست توضح بدم
سوال این بود:
اگر طول دستور ۱۰ بیت و طول آدرس ۳ بیت باشد و ۱۴ دستور دو عملوندی و ۱۵ دستور تک عملوندی داشته باشیم چند دستور بدون عملوند می توانیم داشته باشیم؟
خوب فضای کلی دستور به این صورت هست:
---|---|---- = xxxx|yyy|zzz
پس چهار بیت برای opcode دو عملوندی داریم که میشه ۱۶ دستور ولی ما اینجا از ۱۴ تاش استفاده کردیم یعنی ۲ دستور خالی داریم. من فرض می کنم این دو دستور ۰۰۰۰ و ۰۰۰۱ هستند. حالا گفته ۱۵ تا دستور تک عملنودی داریم من از سه بیت بخش دوم (yyy) استفاده می کنم. چون یک اپرند می خوایم مشکلی پیش نمیاد. و چون ۳ بیت هست میشه باهاش ۸ دستور ایجاد کرد ولی توی مرحله قبل ما دو دستور ۰۰۰۰ و ۰۰۰۱ را خالی داریم. پس اینها را با هم ترکیب می کنیم تا بتوانیم ۱۶ دستور تک عملوندی ایجاد کنیم که میشه:
---|y|yyy---
خوب همانطور که دیدی ما می توانیم ۱۶ دستور ۲ تک عملوندی داشته باشیم که از ۱۵ تاش داریم استفاده می کنیم. من فرض می کنم دستور باقیمانده ---|۰۰۰|۰۰۰۰ باشه.
خوب پس می توانم با ترکیب این دستور و ۳ بیت باقیمانده ۸ دستور بدون عملوند استفاده کنم.
حالا با این نکته دقت کن:
اگر گفته بود ۱۶ دستور تک عملوندی داریم دیگه نمی شد دستور بدون عملوند ایجاد کرد چون ---|۰۰۰|۰۰۰۰ جزئ دستورات تک عملوندی می شد و اگر من از سه بیت باقیمانده برای دستورات صفر عملوندی استفاده می کردم کامپیوتر نمی تونست تشخیص بده این دستور بدون عملوند هست یا اینکه یک دستور تک عملوندی است.
امیدوارم تونسته باشم درست توضح بدم
۲
ارسال: #۳
  
طول دستورات و تعداد دستورات
نقل قول: منم این سوالو اشکال دارم
دو زاریم هنوز نیفتاده فقط کج شده Big Grinمی شه یه مثال دیگه هم بزنید
منم اینو خوندم دو زاریم کج شد ولی بعدش گرفتم چی شده
ولی من همین توضیحات رو تکمیل میکنم (با اجازه)
نقل قول: اگر طول دستور ۱۰ بیت و طول آدرس ۳ بیت باشد و ۱۴ دستور دو عملوندی و ۱۵ دستور تک عملوندی داشته باشیم چند دستور بدون عملوند می توانیم داشته باشیم؟
خوب فضای کلی دستور به این صورت هست:
---|---|---- = xxxx|yyy|zzz
پس چهار بیت برای opcode دو عملوندی داریم که میشه ۱۶ دستور ولی ما اینجا از ۱۴ تاش استفاده کردیم یعنی ۲ دستور خالی داریم. من فرض می کنم این دو دستور ۰۰۰۰ و ۰۰۰۱ هستند. حالا گفته ۱۵ تا دستور تک عملنودی داریم من از سه بیت بخش دوم (yyy) استفاده می کنم. چون یک اپرند می خوایم مشکلی پیش نمیاد. و چون ۳ بیت هست میشه باهاش ۸ دستور ایجاد کرد ولی توی مرحله قبل ما دو دستور ۰۰۰۰ و ۰۰۰۱ را خالی داریم. پس اینها را با هم ترکیب می کنیم تا بتوانیم ۱۶ دستور تک عملوندی ایجاد کنیم که میشه:
---|y|yyy---
خوب همانطور که دیدی ما می توانیم ۱۶ دستور ۲ تک عملوندی داشته باشیم که از ۱۵ تاش داریم استفاده می کنیم. من فرض می کنم دستور باقیمانده ---|۰۰۰|۰۰۰۰ باشه.
خوب پس می توانم با ترکیب این دستور و ۳ بیت باقیمانده ۸ دستور بدون عملوند استفاده کنم.
نکته ای که باید بگم اینه: ما این نکته رو میدونیم که با مثلا ۴تا بیت میشه ۲ به توان ۴ تا حالت (یعنی ۱۶ تا حالت) ایجاد کرد.حالا ما از اون قسمت xxxx می تونیم ۱۶ تا حالت (یا همون ۱۶ تا دستور) میتونیم داشته باشیم در حالی که قسمت yyy و zzz برای دو آدرس بکار بره (چون توی سوال گفته که طول آدرس ۳ بیت هست) پس میتونیم ۱۶ تا دستور دو آدرسه(یا دو عملوندی) داشته باشیم.ولی توی سوال گفته ما ۱۴ تاشو رزرو کردیم. پس ما این (با تفکر بقالی) دو حالت واسه خودمون داریم.(۱۶-۱۴=۲) خب حالا نکته ای که باید بگم اینه که ما دیگه از این ۴بیت اول xxxx هیچ استفاده ای نمیتونیم بکنیم(در واقع فقط از همون دو حالت میتونیم استفاده کنیم) پس به این فکر کنید که ۴ بیت از ۱۰ بیت رفته و ۶ بیت مونده.حالا این ۶ بیت خب ۳ بیتش واسه آدرس همون ۱ عملوندمون استفاده میشه.با این ۳ بیت yyy ما میتونیم ۲ به توان ۳تا دستور داشته باشیم(یعنی ۸تا) حالا دوتا حالت هم از xxxxها مونده بود(یادتونه ؟! الان احساس کردم دارم تدریس میکنم) بقول دوستومون فرض کنید اونا ۰۰۰۰ یا ۰۰۰۱ باشند ماتونیم جدا از اون ۱۴ حالت دستورای تک عملوندی یه دفعه ۰۰۰۰ رو جای اوی ۴ بیت xxxx در نظر بگیریم و بعدشم با استفاده از yyy هشت تا دستور تعریف کنیم و یا ۰۰۰۱ رو بذاریم و ۸تای دیگه رو تعریف کنیم (خلاصه اینکه ۲ ضربدر ۸ تا حالت میتونیم دستور تک عملوندی تعریف کنیم.خب توی سوال گفته ۱۵تا دستور از ۱۶ تایی که میتونیم تعریف کنیم رو رزرو کردیم.پس ۱ حالتش می مونه) بنابراین این ۳ بیت yyy هم استفاده شد(بجز یه حالتش.زیرا ۱۵-۱۶=۱) حالا تعداد دستورات هیچ عملوندی رو با این zzz تعریف میکنیم.یعنی میشه ۲ به توان ۳ یا همون ۸/پس هیچ عملوندیمون میشن ۸تا.(به نکته آخری که دوستمون گفت توجه کنید)))
با تشکر !!!
۰
ارسال: #۴
  
طول دستورات و تعداد دستورات
توضیحاتتون عالی بود
بسیار متشکرم!
من هر وقت می خوام از معماری یک نفس راحت بکشم یک چیزی هست که .....!
باز هم متشکر
بسیار متشکرم!
من هر وقت می خوام از معماری یک نفس راحت بکشم یک چیزی هست که .....!
باز هم متشکر
۰
ارسال: #۵
  
طول دستورات و تعداد دستورات
دقت کنید توی تست های آخر فصل پوران ۳تا سوال این مدلی هست ;-) آپلود کنم ؟؟!
۰
۰
ارسال: #۷
  
RE: طول دستورات و تعداد دستورات
منم این سوالو اشکال دارم
دو زاریم هنوز نیفتاده فقط کج شده می شه یه مثال دیگه هم بزنید
ممنون
دو زاریم هنوز نیفتاده فقط کج شده می شه یه مثال دیگه هم بزنید
ممنون
۰
موضوعهای مرتبط با این موضوع... |
|||||
موضوع: | نویسنده | پاسخ: | بازدید: | آخرین ارسال | |
تعداد برگ درخت؟؟؟؟؟؟؟ | rad.bahar | ۴ | ۴,۸۳۲ |
۱۵ آذر ۱۴۰۲ ۱۱:۵۳ ق.ظ آخرین ارسال: mohamadrra |
|
تعداد جواب | mostafaheydar1370 | ۲۱ | ۱۹,۴۱۴ |
۰۱ مهر ۱۳۹۹ ۱۱:۴۱ ب.ظ آخرین ارسال: miinaa |
|
تعداد روش های نوشتن عدد n | ss311 | ۲ | ۳,۳۷۲ |
۱۳ بهمن ۱۳۹۸ ۰۵:۲۷ ب.ظ آخرین ارسال: ss311 |
|
تعداد مسیرها در گراف | ss311 | ۰ | ۲,۰۳۱ |
۰۸ بهمن ۱۳۹۸ ۱۲:۴۷ ب.ظ آخرین ارسال: ss311 |
|
تعداد درخت فراگیر | ss311 | ۰ | ۲,۳۲۱ |
۰۶ بهمن ۱۳۹۸ ۰۵:۰۶ ب.ظ آخرین ارسال: ss311 |
|
تعداد توابع پوشا | ss311 | ۰ | ۲,۰۹۰ |
۰۶ بهمن ۱۳۹۸ ۰۴:۵۷ ب.ظ آخرین ارسال: ss311 |
|
تعداد اعداد ۵ رقمی هم ارز | ss311 | ۲ | ۲,۶۵۱ |
۰۶ بهمن ۱۳۹۸ ۰۴:۳۹ ب.ظ آخرین ارسال: ss311 |
|
تعداد رشته های n بیتی | hamedsos | ۲ | ۳,۱۴۱ |
۱۸ آبان ۱۳۹۸ ۰۹:۰۶ ب.ظ آخرین ارسال: Jooybari |
|
تعداد درختهای پوشا | ss311 | ۰ | ۱,۷۲۴ |
۱۹ بهمن ۱۳۹۷ ۱۲:۰۸ ب.ظ آخرین ارسال: ss311 |
|
تفاوت تعداد مقایسه های مورد نیاز در الگوریتم های متفاوت | porseshgar | ۰ | ۲,۱۷۱ |
۱۵ بهمن ۱۳۹۷ ۱۲:۳۳ ب.ظ آخرین ارسال: porseshgar |
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close