تالار گفتمان مانشت
اموزش معماری توسط اعضا مانشت - نسخه‌ی قابل چاپ

صفحه‌ها: ۱ ۲ ۳ ۴
اموزش معماری توسط اعضا مانشت - csharpisatechnology - 22 آذر ۱۳۹۱ ۰۲:۰۷ ق.ظ

در این درس بازم میخوام یک مسئله ی مهم از حافظه ی cache رو مطرح کنیم و کمی شرح بدیم:
نمونه ی این مثال توی اینجا اومد :

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

که به درخواست دوستان من سعی می کنم کمی راجع بهش بحث کنم:
توی این مثال،و مثال های دیگه از این دست باید توجه داشته باشیم اگه data توی cache موجو بود یعنی hit(برخورد)،اگر نبود یعنی miss که همیشه داریم:
miss=1-hit و hit=1-miss
دقت کنید که hit یه نسبت هست و اگه درصد نرخ اصابت رو گفتن بدست بیاریم ،باید این نسبت رو در ۱۰۰ ضرب کنیم.
نکته دوم اینه که توی این مثال یه روشی یاد میدم که راحت اون درخت رو یاد بگیریم:
فرمول زیر رو ببینید:
[tex]T_{all}=h_{1}*T_{1} (1-h_{1})*B[/tex]
[tex]B=h_{2}*(T_{1} T_{2}) (1-h_{2})*C[/tex]
[tex]C=(T_{1} T{2} T_m)[/tex]
=
حالا فرمول فوق رو شرح میدم:
کش اول رو می گردیم.دو حالت داریم :
data توی کش ۱ هست پس : هیت کش ۱ * زمان کش ۱
data توی کش ۱ نیست پس باید علاوه بر زمان فوق ، یه زمان دیگه صرف کنیم:
کش دوم رو می گردیم. در این مرحله هم دو حالت داریم :
data توی کش ۲ هست پس : هیت کش ۲ *( زمان کش ۲ + زمانی که واسه کش ۱ هدر رفت)
data توی کش ۲ نیست ،پس باید یه زمان دیگه داشته باشیم:
اینجا ما کش ۱ رو گشتیم نبود،کش دوم رو گشتیم نبود،حافظه رو می گردیم حتما اینجا باید باشه پس:
زمان دسترسی به حافظه+زمان های هدر رفته برای جستجوی کش ۱ و کش ۲
=
نکته در هر مرحله باید نسبت مربوط رو توی زمانهای مربوط ضرب کنیم.
==
خود سوال رو هم اینجا تایپ کردم تا بعدا راحت تر بتونید کپی کنید:
سوال )
از یک کش دو لایه(L1 و L2) استفاده می کنیم.تاخیر دستیابی L1 و L2 به ترتیب ۱ns و ۱۰ns است.زمان دستیابی حافظه ی اصلی برای یک بلوک ۱۰۰ns می باشد.اگر درصد خطا(miss) برای L1 و L2 به ترتیب ۱۰% و ۵۰% باشد متوسط زمان رجوع به حافظه چقدر است ؟
حل :
[tex]T_{1}=1ns,h1=(1-0.1)=0.9[/tex]
[tex]T_{2}=10ns,h2=(1-0.5)=0.5[/tex]
[tex]T_{m}=100ns[/tex]
=
[tex]T_{all}=0.9*1 (1-0.9)*B=7[/tex]
[tex]B=0.5*(1 10) (1-0.5)*C=61[/tex]
[tex]C=1 10 100=111[/tex]

سعی کنید فرمولی که گفتم یاد بگیرید به همین روشی که گفتم شکلشو با B و C به خاطر بسپارید چون خیلی کمکتون می کنه توی درک مطلب به این مهمی

توی فرمول قبلی:
T_1 زمان دسترسی به کش ۱ هست و T_2 زمان دسترسی به کش ۲ .
T_m زمان دسترسی به حافظه ی اصلی.
h_1 همون hit کش ۱
h_2 هم hit کش ۲
==
رابطه ی زیر هم به خاطر داشته باشید:
همیشه داریم :
hit=1-miss
miss=1-hit
====
یه نکته ی خیلی مهم واسه ی همین سوال آخری که حل کردیم رو مد نظر داشته باشید که به راحتی ممکنه گول سوال رو بخورید:
خوب دقت کنید اگه توی سوال گفته شد (مدیریت حافظه از نوع paging یا صفحه بندی هست) فقط باید یه تغییر جزئی توی فرمول فوق انجام بدیم:
اونم اینه که :
لحظه ی دوم دیگه T1 رو نداریم و فقط T2 رو داریم.
لحظه ی سوم دیگه T1+T2 رو نداریم و فقط T3 رو داریم.
لحظه ی چهارم دیگه T1+T2+T3 رو نداریم و فقط T4 رو داریم
و همینجور الی آخر،در هر لحظه دیگه زمانهای ماقبل رو اضافه نمی کنیم و فقط زمان همون لحظه رو خواهیم داشت یعنی:
لحظه ی n ام (T1+T2+...+T_(n-1 رو نداریم و فقط T_n رو داریم.
یعنی:
[tex]T_{all}=h_{1}*T_{1} (1-h_{1})*B[/tex]
[tex]B=h_{2}*(T_{2}) (1-h_{2})*C[/tex]
[tex]C=(T_m)[/tex]
==
مثال (برگرفته از معماری کامپیوتر _پوران پژوهش_هادی یوسفی_ فصل ۷ _سازمان حافظه):
در یک کامپیوتر که مدیریت حافظه ی آن paging(صفحه بندی) است ،زمان دسترسی به کش L1 برابر ۲۰نانوثانیه،کش L2 برابر ۴۰ns ،و حافظه ی اصلی برابر ۱۲۰ نانوثانیه و هارددیسک بابر ۸۰۰ نانو ثانیه هست. missRatio کش L1 برابر ۴۰% و کش L2 نصف کش L1 و حافظه ی اصلی نصف L2 است.زمان دسترسی موثر به حافظه چقدر است؟
حل: من اینجا همون راه حل خودمو که در بالا توضیح دادم بکار می برم چون از پوران هم آسون تره و این فرمول رو خودم بدست آوردم:
[tex]h_{1}=(1-miss_{1})=0.6,h_{2}=(1-miss_{2})=1-(0.4/2)=0.8,h_{3}=(1-miss_{3})=1-((0.4/2)/2)=0.9 ,T_{1}=20ns,T_{2}=40ns,T_{3}=120ns,T_{4}=800ns[/tex]
[tex]T_{all}=h_{1}T_{1}*(1-h_{1})*B[/tex]
[tex]B=h_{2}T_{2}*(1-h_{2})*C[/tex]
[tex]C=h_{3}T_{3}*(1-h_{3})*D[/tex]
[tex]D=T_{4}[/tex]
[tex]T_{all}=0.6*20 (1-0.6)*B[/tex]
[tex]B=0.8*40 (1-0.8)*C[/tex]
[tex]C=0.9*120 (1-0.9)*D[/tex]
[tex]D=800[/tex]
[tex]\Rightarrow T_{all}=39.84[/tex]

اموزش معماری توسط اعضا مانشت - teacherpc - 22 آذر ۱۳۹۱ ۰۲:۳۶ ق.ظ

افرین تلاشت ستودنیه من تازه امشب رسیدم سر بحث حافظه ها تموم شد یکسری سوالات کنکور رو میزارم تو بخش درخواست اعضا و اونایی که سوال گذاشتن و کسی ج نداده اگه برسم واسشون ج میزارم بچه ها تو جواب سوالات و درخواست اعضا کمک کنید یا سوال بزارید یا کمک کنید البته اگه از جواب مطمئن نیستید هم جواب بدین تا روشون بحث کنیم

اموزش معماری توسط اعضا مانشت - csharpisatechnology - 22 آذر ۱۳۹۱ ۰۱:۱۶ ب.ظ

تو این درس یاد می گیریم چطوری تعداد بیت های آدرس Tag و Index و BlockInCache و WordInCache رو در نگاشت مستقیم یا Direct Mapping محاسبه کنیم:
توجه کنید که آدرس تولیدی CPU شامل یه فیلد Tag و یه فیلد Index هست.
فیلد index مجموعه دو فیلد دیگه ی block و word هست که به ترتیب تعداد بیت های لازم برای آدرس دهی کل بلوک ها در کش و کل کلمات در هر بلوک رو مشخص می کنند.
آدرس تولیدی پردازنده =Tag+Index
Index=Block+Word
==
نکته :در برخی منابع به ازای هر کلمه ،یک بیت valid(اعتبار) و یک فیلد tag ذخیره شده داریم.اما در تست ها به ازای هر بلاک(نه هر کلمه) یک بیت valid و یک فیلد tagذخیره شده داریم.
نکته:اگر حافظه ی اصلی شامل (۲ به توان m) کلمه ی d بیتی و حافظه ی کش شامل(۲ به توان c) کلمه و اندازه ی هر بلاک (۲ به توان w)کلمه باشد آنگاه فرمت آدرس در نگاشت مستقیم به صورت زیر خواهد بود:
(این دو تا شکلو از کتاب پوران پژوهش هادی یوسفی فصل هفتم سازمان حافظه آوردم )
[تصویر:  148527_1_1379087221.gif]
[تصویر:  148527_2_1379087221.gif]
مثال :
سیستم دیجیتالی دارای واحد حافظه ای به گنجایش ۶۴k*16 و حافظه نهان(cache) به اندازه یک کیلو کلمه می باشد . چنانچه حافظه نهان از روش direct mspping با بلوکی به اندازه ۴ کلمه استفاده کند تعداد بیت های tag , index block و کلمه را در فرمت آدس به ترتیب مشحص کنید.
حل : چون ۴ کلمه توی هر بوک داریم پس ۲ بیت برای آدرس دهی این ۴ کلمه نیاز هست یعنی w=4
چون حافظه ی ما شامل ۶۴ کیلو کلمه ی ۱۶ بیتی هست پس ظرفیت حافظه اصلی میشه ۶۴*۱۰۲۴ کلمه یعنی (۲ به توان ۱۶) پس m=16
حالا اگه بخواهیم تعداد بیت های آدرس دهی کل بلاک های موجود در کش رو حساب کنیم باید ببینیم چند بلوک توی کش جا میشه.یعنی باید ظرفیت کش رو تقسیم به ظرفیت هر بلوک کنیم.
چون اندازه ی کش ۱ کیلو کلمه هست یعنی ۱۰۲۴ کلمه توش جا میشه. و ظرفیت هر بوک ۴ کلمه هست.پس ۱۰۲۴/۴=۲۵۶ بلوک توی کش داریم که بریا آدرس دهی این ۲۵۶ تا بلوک نیاز به ۸ بیت برای فیلد block هست.
word=2 شد
block=8 شد
پس index=block+word=8+2=10
tag=m-index=16-10=6
===
توی درس بعدی یاد میدم چطوری کل بیت های کش رو حساب کنیم که عبارت است از :
ظرفیت خود کش بر حسب بیت + بیت های V + ظرفیت فیلد تگ
==
دوستانی که سپاس رو بزنن در صورت آپدیت این درس ها از طریف پی.ام مطلع خواهند شد.
ضمنا آیدی منو اد کنید تا کار سریع تر دنبال بشه.

اموزش معماری توسط اعضا مانشت - csharpisatechnology - 22 آذر ۱۳۹۱ ۰۸:۲۸ ب.ظ

ارسال ۳۶ همین تاپیک رو ببینید ویرایش شد و مثالی از یک مسئله ی مهم از زمان دسترسی موثر رو آوردیم و گفتیم که اگر مدیریت حافظه از نوع paging باشه چه فرقی با حالت قبلی داره.(نتیجه ی کلی ای که میشه گرفت اینه که اگه سیستم از روش paging استفاده کنه زمان دسترسی موثر به حافظه کمتر می شه و یعنی کارایی بالاتر می ره_البته نکات دیگه ای هم هست که اونا تو مبحث کوبیدگی سیستم عامل هستند که میگه اگه صفحه بندی هم نرخش خیلی بالا بره خوب نیست و این حرفا که مربوط به این بخش نمیشه)

البته اگه سوالی دارید اینجا مطرح نکنید و سعی کنید پیام خصوصی کنید یا از سیستم گفتگو زیر سایت استفاده بفرمایید که باید flash player هم فکر کنم روی مرورگر فایرفاکس شما نصب باشه)
==
دوستان هرشب این تاپیک درس معماری کامپیوتر شامل درس های جنجالی و بسیار مهم و جالبی هست که من به کمک دوستم teacherpc اونو ادامه خواهیم داد.
==
افرادی هم که دکمه ی سپاس رو بزنن در صورت به روز رسانی این درسها از طریق پیام بهشون خبر داده میشه.
دقت کنید که آخرین افرادی که دکمه سپاس رو بزنن همیشه زودتر از بقیه با خبر خواهند شد.

اموزش معماری توسط اعضا مانشت - csharpisatechnology - 23 آذر ۱۳۹۱ ۰۷:۳۲ ب.ظ

امشب میخوام فرمول speedUp یا نسبت سرعت سیستم غیر لوله ای (noPipe)به سیستم لوله (pipe) رو براتون اثبات کنم.تا چند لحظه دیگه درس رو دنبال خواهم کرد.

[tex]speedup=\frac{n*T_{noPipe}}{(1*k (n-1)*1)*T_{Pipe}}=\frac{nT_{noPipe}}{(k n-1)T_{Pipe}}[/tex]

توضیح فرمول بالا :
صورت کسر عبارت است از : کل زمان اجرای n دستور بدون خط لوله
مخرج کسر عبارت است از : کل زمان اجرای n دستور با خط لوله ی k بندی(یا k قسمتی یا k نخی هم میگن )
==
ابتدا کل زمان بدون پایپ لاین (یا غیر لوله ای)رو توضیح میدم:
اگه n کار داشته باشیم ،و زمان اجرای هر کار برابر T_noPipe باشه،کل زمان مصرفی میشه n*T_noPipe
حالا کل زمان پایپ لاین(یا لوله ای)رو توضیح میدم :
اگر n کار داشته باشیم و بخوایم اونو از طریق لوله ی k قسمتی اجرا کنیم، دستور اول k کلاک لازم داره تا اجراش تکمیل بشه پس (عدد ۱ رو در k ضرب کردیم)، بقیه ی دستورات هر کدومشون به یک کلاک نیاز دارن تا اجراشون تموم بشه و از لوله خارج بشن،پس n-1 دستور باقیمانده رو ضرب در ۱ کلاک می کنیم.
یعنی کلا k+n-1 کلاک نیاز هست تا n دستور توسط خط لوله ی k قسمتی اجراش تموم بشه که هر کلاک هم به اندازه ی T_pipe واحد زمانی مصرف می کنه پس k+n-1 رو ضربدر T_pipe کردیم.
====
فعلا تا اینجا داشته باشید .
تا چند لحظه دیگه خواهم گفت چرا ممکنه این فرمول در بعضی جاها کمی تغییر کنه.
==

افرادی هم که دکمه ی سپاس رو بزنن در صورت به روز رسانی این درسها از طریق پیام بهشون خبر داده میشه.
دقت کنید که آخرین افرادی که دکمه سپاس رو بزنن همیشه زودتر از بقیه با خبر خواهند شد.

اموزش معماری توسط اعضا مانشت - csharpisatechnology - 23 آذر ۱۳۹۱ ۰۹:۰۵ ب.ظ

Ideaفرض کنیم (زمان اجرای هر کار در سیستم غیرلوله ای)،K برابر (زمان اجرای هر کار در سیستم لوله ای) بشه.پس داریم:
یعنی T_noPipe=K*T_pipe پس فرمولی که ذکر کردیم به صورت زیر در میاد (البته یادگیری این فرمول اجباری نیست فقط سعی کنید همون فرمول قبلی رو درک کرده و بعدش طبق داده ی های سوال،مسئله ی دلخواه رو حل کنید):
[tex]speedUp=\frac{n*(k*T_{pipe})}{(1*k (n-1)*1)*T_{pipe}}=\frac{nkT_{pipe}}{(k n-1)T_{pipe}}=\frac{nk}{k n-1}[/tex]
(این اثبات رو رو از توی کتاب معماری کامپیوتر مقسمی ویرایش هفتم_فصل ۹-کارایی و پردازش لوله ای_حل مسئله ی ۶۴ ص ۳۱۷ پیدا کردم_توی کتاب مانو+پارسیان+یوسفی+پترسون+کتب دیگه ای که داشتم خوب اثبات نشده بود_البته سعی کنید کتاب اول رو همون هادی یوسفی پوران قرار بدید+موریس مانو+اجلالی(استاد دانشگاه خواجه نصیره فکر کنم)،در نهایت اگه جایی اشتباه بود به مراجع دیگه سر بزنید)
البته فرمولش با اثبات کامل به این زیبایی که من آوردم جایی ندیدم خودم زیباش کردمBig Grin
==
افرادی هم که دکمه ی سپاس رو بزنن در صورت به روز رسانی این درسها از طریق پیام بهشون خبر داده میشه.
دقت کنید که آخرین افرادی که دکمه سپاس رو بزنن همیشه زودتر از بقیه با خبر خواهند شد.

اموزش معماری توسط اعضا مانشت - csharpisatechnology - 25 آذر ۱۳۹۱ ۰۱:۳۹ ق.ظ

فعلا درس معماری رو تعطیل می کنیم تا یه چند روز دیگه انشاءا... انرژی مند برمی گردیمBig Grin
ممنون از همه دوستانی که با تشکر خودشون دل مارو شاد کردند...
==
یک چند بکودکی باستاد شدیم یک چند به استادی خود شاد شدیم
پایان سخن شنو که ما را چه رسید از خاک در آمدیم و بر باد شدیم
==
یک روز ز بند عالم آزاد نیم یک دمزدن از وجود خود شاد نیم
شاگردی روزگار کردم بسیار در کار جهان هنوز استاد نیم
==
ای دوست بیا تا غم فردا نخوریم وین یکدم عمر را غنیمت شمریم
=========
چند روز میریم تا سیستم عامل و نظریه و ساختمان و زبان های برنامه سازی و پایگاه رو یه نیمچه نیگاهی بندازیم و کمی خودمون رو سامان بدیم...
دوستان لطفا کسی تاپیک رو دست نزنه/ بر میگردیم.
===
آنان که خاک را به نظر کیمیا کنند/آیا شود که طلا را خاک کربلا کنند؟!
لطفا فقط سپاس رو بزنید اگه خوشتون اومد.
روحیه چیزی نیست که برگرده الا با استقبال شما دوستان

اموزش معماری توسط اعضا مانشت - csharpisatechnology - 30 آذر ۱۳۹۱ ۱۲:۲۳ ق.ظ

یه سری سوال بسیار مهم رو گفتم بیارم با جواب .
چون خودش جزوی از درس میشد و دیگه نمی خوام اینجا تکرار بشه واس همین لینک می ذارم :
سوال مهمی از فرمول تسریغ سیستم غیر لوله ای به سیستم لوله ای:

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

==
سوال مهمی از محاسبه ی کل اندازه ی کش در روش دایرکت مپ ( نگاشت مستقیم)(direct mapped cache):

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

==
یک سوال بسیار مهم دیگه که راجع به محاسبه ی زمان تاخیر در BCD-Adder میشه:

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

==
اگه تذکری هم هست امیدوارم مدیریت محترم هر چه زودتر زیر نویس کنه تا من بلافاصله اصلاح کنم.

فرمول تسریع یک پردازنده نسبت به p پردازنده - csharpisatechnology - 30 آذر ۱۳۹۱ ۰۱:۳۲ ق.ظ

این فرمول رو از کتاب پوران پژوهش (هادی یوسفی)براتون ذکر می کنم :
[tex]\huge \frac {1}{(f \frac {1-f}{p})t}[/tex]
==
f : درصدی از دستورات که به طور سریال اجرا میشوند و قابل اجرای موازی نیستند.
t:زمان اجرای ۱ پردازنده
p:تعداد پردازنده هایی که برنامه های در حال اجرا را بین آنها توزیع یا تقسیم کردیه ایم.
===
کارایی یا بازدهی p پردازنده هم از فرمول زیر بدست میاد:
[tex]\huge E=\frac {s}{p}[/tex]
s: نسبت تسریع: (نکته :تقسیم یک سرعت بر سرعت دیگه میشه نسبت تسریع)
مثال:
اگر برنامه ای روی یک پردازنده در ۱۰ ثانیه اجرا شود روی ۵ پردازنده در ۲/۵ ثانیه،آنگاه تسریع و بازدهی را بدست آورید(ص ۱۶۴ پوران):
حل :
s=10/2.5=4
E=4/5=0.8

درس امروز : مثالی از مراجعات در روش direct mapp(نگاشت مستقیم) - csharpisatechnology - 06 دى ۱۳۹۱ ۰۶:۰۹ ق.ظ

درس امروز : مثالی از مراجعات در روش direct mapp(نگاشت مستقیم) هست و یک فایل word پیوست می کنم که مطالعه کنید و یاد بگیرید این نمونه سوالات رو چطوری حل کنید.(ضمنا توی اکثر کتابا این همه توضیحی که من دادم نیومده و خیلی ناقص درس دادن)(حتی منابع اینترنتی هم با بدبختی پیدا کردم که همشون دارای اشکالات اساسی بودند)

امیدوارم مفید باشه.بی زحمت اگه خوشتون اومد سپاس رو بزنید.

اموزش معماری توسط اعضا مانشت - سارا محمدی - ۰۷ دى ۱۳۹۱ ۰۱:۴۰ ق.ظ

(۰۶ دى ۱۳۹۱ ۰۶:۰۹ ق.ظ)csharpisatechnology نوشته شده توسط:  درس امروز : مثالی از مراجعات در روش direct mapp(نگاشت مستقیم) هست و یک فایل word پیوست می کنم که مطالعه کنید و یاد بگیرید این نمونه سوالات رو چطوری حل کنید.(ضمنا توی اکثر کتابا این همه توضیحی که من دادم نیومده و خیلی ناقص درس دادن)(حتی منابع اینترنتی هم با بدبختی پیدا کردم که همشون دارای اشکالات اساسی بودند)

امیدوارم مفید باشه.بی زحمت اگه خوشتون اومد سپاس رو بزنید.

توضیحاتتون خیلی عالیه،ممنون!

اموزش معماری توسط اعضا مانشت - shima_24 - 22 دى ۱۳۹۱ ۱۰:۴۸ ب.ظ

چقدر اینجا عالیه .حیف که دیر پیداش کردم .واقعا ازتون ممنون

اموزش معماری توسط اعضا مانشت - teacherpc - 01 بهمن ۱۳۹۱ ۰۴:۲۴ ب.ظ

سلام
امیدوارم این اخرین سلام نباشه و بازهم باشیم منتهی در مدارج بالاتر علمی
از مدیریت محترم که این امکان رو جهت اموزش دوستان در اختیارمون قرار دادند تشکر میکنم
بخاطر کنکور نتونستم اون طور که باید حق مطلب رو ادا کنم از همه دوستانم که تاپیک ها رو میخوندند تشکر میکنم و معذرت خواهی میکنم بخاطر اینکه نتونستم کاملش کنم چون بخاطر وقت محدودی که داشتم واسه درسهام نشد دیگه ادامه بدم درس معماری جز شیرین ترین درس هاست منتهی برای تسلط تو این درس نیاز به حل مسائل زیاد هست
برا قبولی مانشتی ها دعا کنید
موفق و پیروز باشید
teacherpc

اموزش معماری توسط اعضا مانشت - csharpisatechnology - 04 اسفند ۱۳۹۱ ۰۴:۲۷ ق.ظ

سلام از نو
---
من دوباره برگشتم
کنکور دادم با اینکه سنم داره میره میخوام توی این مانشت تا زمانی که وقت می کنم معماری رو آموزش بدم تا جایی که بلد باشم و خودم درک کنم پیش می رم و به شما هم یاد میدم. دوستانی که هنوز هستند و علاقه مندن به یادگیری، پس دکمه ی سپاس رو بزنن تا ببینم چند نفر استقبال می کنن و هنوز سرپا هستن واسه کنکور ۹۳

اموزش معماری توسط اعضا مانشت - shahbazi - 04 اسفند ۱۳۹۱ ۰۵:۰۲ ق.ظ

من به این درس علاقه دارم اما واقعا منبع خوب برای این درس نمیدونم چیه!!!!