پاسخ : آموزش winavr و avrlib
بخاطر قابلیت اپتیمایز کامپایلره
وقتی اکتیو باشه کامپایلر هوشمندانه میفهمه که واسه سه تا nop که سه سیکل میبره نیاد چندتا دستور جامپ و مقایسه اضافه کنه که هم تعداد سیکلها حدودا دو یا سه برابرمیشه و هم فلش بیشتری حروم میشه.
ولی مثلا برای صدتا nop که صد سیکل میبره، نوشتن صدتا خونه فلش یه مقدار دور از عقله واسه همین میاد مثلا یه لوپ 50 تایی با nop درست میکنه که حدودا 100 سیکل تاخیر ایجاد کنه(هرچند شاید دقیقا 100 سیکل نشه) ولی تعداد خونه های فلشی که استفاده میشه شاید درحد 10بایت هم نباشه.
با تنظیم پارامترهای مختلف اپتیمایز میشه به کامپایلر فهموند که از چه روشی استفاده بشه.
عدد و رقمهایی که گفتم فقط واسه مثاله و دقیقش رو میتونید با مراجعه به دیتاشیت و instruction set میکرو بدست بیارید
درضمن اگه اشتباه نکنم فکرکنم جناب طراح هم قبلا درمورد این موضوع بحث کرده
بخاطر قابلیت اپتیمایز کامپایلره
وقتی اکتیو باشه کامپایلر هوشمندانه میفهمه که واسه سه تا nop که سه سیکل میبره نیاد چندتا دستور جامپ و مقایسه اضافه کنه که هم تعداد سیکلها حدودا دو یا سه برابرمیشه و هم فلش بیشتری حروم میشه.
ولی مثلا برای صدتا nop که صد سیکل میبره، نوشتن صدتا خونه فلش یه مقدار دور از عقله واسه همین میاد مثلا یه لوپ 50 تایی با nop درست میکنه که حدودا 100 سیکل تاخیر ایجاد کنه(هرچند شاید دقیقا 100 سیکل نشه) ولی تعداد خونه های فلشی که استفاده میشه شاید درحد 10بایت هم نباشه.
با تنظیم پارامترهای مختلف اپتیمایز میشه به کامپایلر فهموند که از چه روشی استفاده بشه.
عدد و رقمهایی که گفتم فقط واسه مثاله و دقیقش رو میتونید با مراجعه به دیتاشیت و instruction set میکرو بدست بیارید
درضمن اگه اشتباه نکنم فکرکنم جناب طراح هم قبلا درمورد این موضوع بحث کرده







استفاده کنی.

)
به هر حال ممنون میشم که یه کمی توضیح بدید.


دیدگاه