۰
subtitle
ارسال: #۱
  
سوال ۶۹ معماری ۹۰
سلام دوستان.
سوال این هست:
در یک ماشین ۳ آدرسه حجم حافظه اصلی ۱۶^۲ کلمه ۱۶ بیتی (هر کلمه معادل ۲ واحد آدرس پذیر) است. شیوه آدرس دهی در این ماشین مستقیم (ثباتی و حافظه ای) است و دستورات ماشین در قالب یک و دو کلمه ای کد می شوند. با فرض اینکه تعداد دستورات یک کلمه ای ۶۴
عدد است، تعداد دستورات دو کلمه ای چقدر است؟ (حداکثر ممکن ثبات عمومی در این سیستم استفاده می شود).
به فریادم برسید. خیلی ممنون
سوال این هست:
در یک ماشین ۳ آدرسه حجم حافظه اصلی ۱۶^۲ کلمه ۱۶ بیتی (هر کلمه معادل ۲ واحد آدرس پذیر) است. شیوه آدرس دهی در این ماشین مستقیم (ثباتی و حافظه ای) است و دستورات ماشین در قالب یک و دو کلمه ای کد می شوند. با فرض اینکه تعداد دستورات یک کلمه ای ۶۴
عدد است، تعداد دستورات دو کلمه ای چقدر است؟ (حداکثر ممکن ثبات عمومی در این سیستم استفاده می شود).
به فریادم برسید. خیلی ممنون
۲
ارسال: #۲
  
RE: سوال ۶۹ معماری ۹۰
(۱۶ بهمن ۱۳۹۱ ۰۸:۴۵ ب.ظ)azad_ahmadi نوشته شده توسط: سلام دوستان.سلام
سوال این هست:
در یک ماشین ۳ آدرسه حجم حافظه اصلی ۱۶^۲ کلمه ۱۶ بیتی (هر کلمه معادل ۲ واحد آدرس پذیر) است. شیوه آدرس دهی در این ماشین مستقیم (ثباتی و حافظه ای) است و دستورات ماشین در قالب یک و دو کلمه ای کد می شوند. با فرض اینکه تعداد دستورات یک کلمه ای ۶۴
عدد است، تعداد دستورات دو کلمه ای چقدر است؟ (حداکثر ممکن ثبات عمومی در این سیستم استفاده می شود).
به فریادم برسید. خیلی ممنون
اولین نکته: هر کلمه معادل دو واحد آدرس پذیر هست، یعنی هر بار برای دسترسی به حافظه باید pc رو دو واحد اضافه کنیم،
pc=pc+2
ّبرای هر دسترسی به حافظه باید
کد:
۲^۱۶*۲^۱=۲^۱۷
پس هر آدرس معادل ۱۷ بیت است.
آدرس دهی ثباتی :
کد:
opcode opr1,op2,op3
آدرس یک کلمه ای و یک بیت برای نوع دستور که ثباتی باشد یا حافظه ای، هر کلمه ۱۶ بیت، یک بیت هم برای نوع، ۱۵ بیت باقی مانده، برای opcode,opr، تعداد ۶۴ یعنی ۶ بیت برای opcode، ۹ بیت باقی مانده برای سه ثبات پس هر ثبات ۳ بیت لازم دارد.
آدرس دهی حافظه ای:
کد:
opcode mem,op1,op2
اینجا دستور دو کلمه ای است، ۳۲ بیت، ۱ بیت برای نوع، ۳۱ بیت، ۶ بیت برای دو ثبات، ۱۷ بیت برای آدرس، ۸ بیت باقی مانده درنتیجه تعداد دستورات دو کلمه ای ۲۵۶ است.
۰
ارسال: #۳
  
سوال ۶۹ معماری ۹۰
خواهشا جواب بدید. کتاب سنجش گفته به ۱۷ بیت برای آدرس دهی نیاز داریم.
این ۱۷ بیت رو از کجا آورده؟
این ۱۷ بیت رو از کجا آورده؟
ارسال: #۴
  
RE: سوال ۶۹ معماری ۹۰
سلام
من اونجوری که توی کتاب مقسمی حل شده براتون توضیح میدم.
گفته که دستورات می تونن ۱ کلمه ایی یا دو کلمه ایی باشند ، که یا ثباتی اند یا حافظه ایی مسلما دستورات ۱ کلمه ایی اینجا نمی تونه حافظه ای باشه چون ۱ کلمه ۱۶ بیت بیشتر نیست و از اونجایی که ۲ به توان ۱۶ کلمه تو حافظه داریم همه این ۱۶ بیت میره برای آدرس دهی و چیزی برای کد عملیاتی نمی مونه پس دستورات ۱ کلمه ایی ثباتی اند ، چون گفته تعداد دستورات ۱ کلمه ایی ۶۴ تاست یعنی ۲ به توان ۶ پس به ۶ بیت برای opcode و ۱ بیت برای I( مشخص کردن نوع آدرس دهی) احتیاج داریم از ۱۶ تا می مونه ۹ تا که چون کد سه آدرسه است میشه اندازه هر عملوند یا همون ثباتمون ۳ بیت.
حالا برای ۲ کلمه ایی ها ، دو کلمه ۳۲ بیته و چون سه آدرسه است میشه یکی از عملوند هاش حافظه ای و ۲تای دیگه اش ثباتی ، ثبات ها که ۳ بیتی بودن پس ۶ بیت میره برای ثبات ها ، I هم ۱ بیت ، برای عملوند حافظه ای مون چون ۲ به توان ۱۶ تا حافظه اصلی داریم و چون گفته هر کلمه حافظه را دو واحد آدرس پذیر در نظر بگیرید ، پس مشه ۱۶ بیت برای عملوند حافظه ای به اضافه ۱ بیت برای مشخص شدن اینکه کدوم یکی از اون دو واحد آدرس پذیر مدنظره که سرجمع میشه ۱۷ بیت برای عملوند حافظه ای ، از ۳۲ بیتمون ۸ بیت می مونه که تعداد بیت های opcode دستور دو کلمه ای را مشخص می کنه ، ۲ به توان ۸ هم میشه ۲۵۶ تعداد دستورات ۲ کلمه ایی.
من اونجوری که توی کتاب مقسمی حل شده براتون توضیح میدم.
گفته که دستورات می تونن ۱ کلمه ایی یا دو کلمه ایی باشند ، که یا ثباتی اند یا حافظه ایی مسلما دستورات ۱ کلمه ایی اینجا نمی تونه حافظه ای باشه چون ۱ کلمه ۱۶ بیت بیشتر نیست و از اونجایی که ۲ به توان ۱۶ کلمه تو حافظه داریم همه این ۱۶ بیت میره برای آدرس دهی و چیزی برای کد عملیاتی نمی مونه پس دستورات ۱ کلمه ایی ثباتی اند ، چون گفته تعداد دستورات ۱ کلمه ایی ۶۴ تاست یعنی ۲ به توان ۶ پس به ۶ بیت برای opcode و ۱ بیت برای I( مشخص کردن نوع آدرس دهی) احتیاج داریم از ۱۶ تا می مونه ۹ تا که چون کد سه آدرسه است میشه اندازه هر عملوند یا همون ثباتمون ۳ بیت.
حالا برای ۲ کلمه ایی ها ، دو کلمه ۳۲ بیته و چون سه آدرسه است میشه یکی از عملوند هاش حافظه ای و ۲تای دیگه اش ثباتی ، ثبات ها که ۳ بیتی بودن پس ۶ بیت میره برای ثبات ها ، I هم ۱ بیت ، برای عملوند حافظه ای مون چون ۲ به توان ۱۶ تا حافظه اصلی داریم و چون گفته هر کلمه حافظه را دو واحد آدرس پذیر در نظر بگیرید ، پس مشه ۱۶ بیت برای عملوند حافظه ای به اضافه ۱ بیت برای مشخص شدن اینکه کدوم یکی از اون دو واحد آدرس پذیر مدنظره که سرجمع میشه ۱۷ بیت برای عملوند حافظه ای ، از ۳۲ بیتمون ۸ بیت می مونه که تعداد بیت های opcode دستور دو کلمه ای را مشخص می کنه ، ۲ به توان ۸ هم میشه ۲۵۶ تعداد دستورات ۲ کلمه ایی.
۰
ارسال: #۵
  
سوال ۶۹ معماری ۹۰
دستورات در قالب یک کلمه ای و دو کلمه ای هستن
قالب یک کلمه ای:
۱ بیت برای نوع دستور اینکه ثباتی هست یا حافظه ای تعداد دستورات یک کلمه ای داریم که به ۶ بیت نیاز داریم خب الان ۹ بیت دیگه مونده. دستورات یک کلمه ای هر سه فیلد آدرس باید کد ثبات باشه هر کدوم ۳ بیت!
(من فکر کنم واسه ماشین ۳ آدرسه ثباتی باید ۳ ثبات داشته باشیم!)
قالب دو کلمه ای:
۱ بیت برای تشخیص نوع/ بیتهای آدرس چون که نوشته هر کلمه معادل ۲ واحد آدرس هست ۱۶+۱ = ۱۷
و در دستورات دوکلمه ای حتما یک فیلد آدرس (۱۷ بیت) و ۲ فیلد ثبات (۳ بیتی) نیاز داره جمعا ۸ بیت میمونه!
۲۵۶ دستور
نقل قول از پوران
قالب یک کلمه ای:
۱ بیت برای نوع دستور اینکه ثباتی هست یا حافظه ای تعداد دستورات یک کلمه ای داریم که به ۶ بیت نیاز داریم خب الان ۹ بیت دیگه مونده. دستورات یک کلمه ای هر سه فیلد آدرس باید کد ثبات باشه هر کدوم ۳ بیت!
(من فکر کنم واسه ماشین ۳ آدرسه ثباتی باید ۳ ثبات داشته باشیم!)
قالب دو کلمه ای:
۱ بیت برای تشخیص نوع/ بیتهای آدرس چون که نوشته هر کلمه معادل ۲ واحد آدرس هست ۱۶+۱ = ۱۷
و در دستورات دوکلمه ای حتما یک فیلد آدرس (۱۷ بیت) و ۲ فیلد ثبات (۳ بیتی) نیاز داره جمعا ۸ بیت میمونه!
۲۵۶ دستور
نقل قول از پوران
۰
ارسال: #۶
  
سوال ۶۹ معماری ۹۰
میشه ۲۵۶ ؟
ببینید برای یک کلمه ۲ آدرس لازمه پس برای ۱۶^۲ که حجم حافظه است، میشه ۲x 2^16 که برابر میشه با ۱۷^۲
یعنی ۱۷ بیت برای آدرس لازمه.
دستورات دو کلمه ای و یک کلمه ای هستند. که یک کلمه ای میشه ۱۶ بیت که آدرس حافظه توش جا نمیشه پس ۳ تا reg داره. یک بیت mode هم داریم. تعداد دستورات هم که ۶۴ تاست که ۶ تا بیت لازمه. پس ۷ بیت از ۱۶ کم میکنیم که میشه ۹ بیت که هر reg میشه ۳ بیت.
حالا برای دستورات دو کلمه ای ، میشه یک آدرس حافظه قرار داد : ۱۷ بیت
دو تا هم reg گذاشت : ۶ بیت
یک بیت هم mode
پس ۳۲ -۲۴ = ۸
تعداد میشه ۸^۲ = ۲۵۶
ببینید برای یک کلمه ۲ آدرس لازمه پس برای ۱۶^۲ که حجم حافظه است، میشه ۲x 2^16 که برابر میشه با ۱۷^۲
یعنی ۱۷ بیت برای آدرس لازمه.
دستورات دو کلمه ای و یک کلمه ای هستند. که یک کلمه ای میشه ۱۶ بیت که آدرس حافظه توش جا نمیشه پس ۳ تا reg داره. یک بیت mode هم داریم. تعداد دستورات هم که ۶۴ تاست که ۶ تا بیت لازمه. پس ۷ بیت از ۱۶ کم میکنیم که میشه ۹ بیت که هر reg میشه ۳ بیت.
حالا برای دستورات دو کلمه ای ، میشه یک آدرس حافظه قرار داد : ۱۷ بیت
دو تا هم reg گذاشت : ۶ بیت
یک بیت هم mode
پس ۳۲ -۲۴ = ۸
تعداد میشه ۸^۲ = ۲۵۶
۰
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close