پاسخ : sram خارجی میکرو
آدمیزاد تا قلبش کار نکنه نمیتونه کاری انجام بده. یعنی میشه گفت قلب آدم مرده نمیزنه. وقتی هم نیاز به فعالیت شدیدی داشته باشه سرعت زدن قلب بالا میره و موقع استراحت پایین میاد.
حالا میکرو برای اینکه کار کنه باید قلبش بزنه. برای این کار بهش کلاک میدیم. این کلاک میتونه داخلی باشه یا خارجی. اما سرعت کارش به فرکانس این کلاک بستگی داره. چون تنها کار یک میکرو (در پایه ترین سطح) اجرای دستورالعمل ها هست؛ و هر دستوری در طول زمان یک یا چند کلاک اجرا میشه عملا از تعداد کلاک های مصرفی میشه فهمید یک دستور در طی چه مدت زمانی اجرا میشه. هر کلاک در طی یک مدت زمانی اجرا میشه که بهش میگیم یک سیکل ساعت. یا با کمی تخفیف؛ سیکل.
نه تا این حد! دسترسی به رم خارجی کند تر هست. اما در حد میکرو ثانیه یا چند نانو ثانیه. اما خوشبختانه اغلب عملیات بر اساس رم داخلی و رجیسترهای میکرو انجام میشه که سرعت بالایی دارن و از طرف دیگه دسترسی به رم برای انجام کاری مثل نوشتن روی LCD خیلی محدود تر از بقیه کار ها هست. بنا براین افت سرعت کمی پیش میاد که اغلب چون با میزان زمان قابل تشخیص توسط چشم و گوش ما قابل مقایسه نیست عملا میتونیم صفر در نظر بگیریم. اما مسلما اگر قرار باشه تعداد عملیات بسیار زیادی روی حافظه انجام بدیم این تفاوت آشکار میشه. مثلا فرض کنیم میخواییم یک ماتریس رو transpose کنیم. یا یک بیت مپ در حافظه تشکیل بدیم. اما چون این کارها رو نمیشه (فرضا) در حافظه داخلی به خاطر حجم محدودش انجام داد این کاهش سرعت یک مورد بی اهمیت هست. مگر اینکه حساسیتی روی تعداد دسترسی ها به رم خارجی داشته باشین. که تنها راهش استفاده از میکرویی با سرعت بالاتر هست.
اولا شما برای افزایش میزان حافظه احتیاجی به رم بالای 32 کیلو ندارین. گرچه اگر رم بالایی وجود داشته باشه بهتر از استفاده از دو تا آی سی هست. اگر به ساختار مگا 64 یا مگا 128 نگاه کنین میبینین که AVR فقط میتونه 64 کیلو بایت حافظه دیتا رو آدرس دهی کنه (از ایکس مگا بگذریم). و یک سری از این آدرس ها هم رزرو هست. مثلا رجیستر های میکرو. فضای IO و رم داخلی. حتی اگر 64 کیلو بایت هم رم داشته باشین نمیتونین بطور ساده تمام این 64 کیلو بایت رو استفاده کنین. چون دسترسی به آدرسهایی که داخل میکرو وجود داره منجر به دسترسی به داخل میکرو میشه؛ نه رم خارجی....اما!
.... (به خاطر محدودیت حجم پیغام؛ بعدی رو ببینید!)
ببخشید توی خیلی جاها نوشته سیکل سیکل یعنی چی
حالا میکرو برای اینکه کار کنه باید قلبش بزنه. برای این کار بهش کلاک میدیم. این کلاک میتونه داخلی باشه یا خارجی. اما سرعت کارش به فرکانس این کلاک بستگی داره. چون تنها کار یک میکرو (در پایه ترین سطح) اجرای دستورالعمل ها هست؛ و هر دستوری در طول زمان یک یا چند کلاک اجرا میشه عملا از تعداد کلاک های مصرفی میشه فهمید یک دستور در طی چه مدت زمانی اجرا میشه. هر کلاک در طی یک مدت زمانی اجرا میشه که بهش میگیم یک سیکل ساعت. یا با کمی تخفیف؛ سیکل.
مثلا اگر از رم داخلی استفاده کنیم 1 ثانیه زمان میره که روی ال سی دی یه چیزی بنویسه اگر از رم خارجی استفاده کنم 2 ثانیه زمان میبره که بنویسه
گه میشه چند مدل Sram رو هم معرفی کنید که حجمشون حدود 64KByte باشه یرای کار با mega 64 or 128 ؟
.... (به خاطر محدودیت حجم پیغام؛ بعدی رو ببینید!)
دیدگاه