تالار گفتمان مانشت

نسخه‌ی کامل: چند سوال معماری
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
اگه میشه در مورد این چند سوال مرا راهنمایی کنید ممنون میشم.
1- در یک سیستم pipline 4 مرحله ای wx,ex,id,if در اجرای دو دستور زیر چند دستور nop بین آنها اضافه شود که دیگر احتیاجی به ایجاد تاخیر در هنگام اجرا نداشته باشه؟
mov r1,10
mov r2,r1
مگه این از نوع وابستگی داده نیست و mov دوم تا زمانی که mov اول از wb نگذشته نمیتواند وارد ex شود پس باید 2 تا nopداشته باشیم ولی چرا یک nop حساب شده؟
سوال دوم:سال 87 مهندسی
پردازنده ای با ساختار خط لوله دارای 4 مرحله زیر استSadهمان بالایی ها)فرض کنید با هر واکشی میتوان 3 دستور را وارد پردازنده کرد ولی به دلیل نبود واحدهای موازی کافی در مراحل بعدی دستورات فقط دو دستور از سه دستور واکشی شده همزمان قابل اجراست.حال اجرای 33 دستور در این پردازنده چند پالس ساعت طول میکشد؟
در مورد این سوال کاملا توضیح بدید
سوال سوم:فرض کنید کامپیوتر الف 50٪ دستور بیش از کامپیوتر ب اجرا کند.اما زمان کلاک سیکل ان نصف کلاک سیکل ب است اگر cpi الف 25٪ بالاتر از cpi ب باشد کدامیک سریعتر است؟چقدر؟
الف-1.3 برابر ب الف 2 برابر ب ب 1.3 برابر الف ب 2 برابر الف
ایا راه حل من درست است؟
زمان اجرا=cpi × تعداد دستورات ×clock
cpi a=1.25 cpi b
pa=1.5pb
csycle a=.5csycle b
از تقسیم دو زمان اجرا و ساده شدن تعداد دستورات
ta=1.6 tb
گزینه صحیح 3 بوده..Huh
؟؟
سوال 3
Speed B/Speed A =TA/TB=(1.5CPIB *1.25INSTRUCTIONB*0.5CCycleB)/(CPIB*INSB*CCycleB
=0.93
یعنی سرعت ب 93% سرعت A است ؟؟؟!!!
جواب سوال 2 از روی کتاب پوران‌:
فرض کنید ثبات دستور میتواند سه دستور نگه دارد و تا زمانیکه هر 3 دستور از ثبات خارج نشده اند نمیتوان 3 دستور بعدی را واکشی کرد.
طبق روال فوق 25 کلاک اجرا طول میکشد
(3 دستور اول 5 کلاک و به ازای هر 3 دستور بعدی 2 کلاک اضافه میشود)

طبق شکل در مرحله Ex سه دستور قبلی سه دستور جدید وارد میشوند.
پس جواب 25

فقط باید یه این 2 نکته دقت میکردین 1 اینکه 3 دستور با هم واکشی میشوند.(نه بصورت جداگانه)
و فقط 2 دستور همزمان میتوانند اجرا شوند (نه 3 دستور)
(12 دى 1389 06:29 ب.ظ)delta نوشته شده توسط: [ -> ]سوال سوم:فرض کنید کامپیوتر الف 50٪ دستور بیش از کامپیوتر ب اجرا کند.اما زمان کلاک سیکل ان نصف کلاک سیکل ب است اگر cpi الف 25٪ بالاتر از cpi ب باشد کدامیک سریعتر است؟چقدر؟
الف-1.3 برابر ب الف 2 برابر ب ب 1.3 برابر الف ب 2 برابر الف
ایا راه حل من درست است؟
زمان اجرا=cpi × تعداد دستورات ×clock
cpi a=1.25 cpi b
pa=1.5pb
csycle a=.5csycle b
از تقسیم دو زمان اجرا و ساده شدن تعداد دستورات
ta=1.6 tb
گزینه صحیح 3 بوده..Huh
؟؟
مثل اینکه تو این سوال اومده فقط واسه یه دستور زمان رو در نظر گرفته و جواب شده 1.3.
اصلاح نشده سوال؟
جواب دوم و سوم را که آفاق خانم زحمتشو کشیدند اما جواب اولی:

دستور دوم زمانی به مرحله اجرا میرسه که دستور اولی کلاک 4 را پشت سر گذاشته باشه . مطابق شکل‌، دستور دوم باید در کلاک 5 اجرا شد پس اول مرحله EX کلاک 5 را رسم و مراحل قبل و بعد از آن را رسم می کنیم و میبینیم که فقط یک دستور NOP بین این دو دستور اجرا شده است . یعنی دستور دوم در کلاک سوم وارد می شود.
سوال سوم همون 1.3 برابر میشه ولی الف بیشتر از ب هست و گزینه یک میشه
این سوالم اگه زحمتشا بکشید ممنون میشم:
یک برنامه با تعداد 7^10 دستورالعمل از دو مجموعه دستورالعمل a,b تشکیل شده است. کلاس a یک کلاک سایکل و کلاس b پنج کلاک سایکل است.اگر cpi برنامه 2 باشد چه تعداد از دستورات از کلاس b است؟
جواب 2.5*6^10
کاملا واضح هست . طبق تعریف CPI برابر است با تعدا کلاک های برنامه به تعداد دستورات .
خب اینجا کلاک برنامه شامل 2 بخش هست یکی کلاس a با یک کلاک و دیگری b با پنج کلاک . میزاری توی فرمول جواب بدست میاد.
[tex]CPI=2 \Rightarrow CPI = CpuClock / InstructionCount = (1*a) (5*b)/ 2*10^7 = 2 \Rightarrow b=2.5*10^6[/tex]
لینک مرجع