به نظر می رسد که شما عضو سایت نیستید و یا وارد نشده اید, امکان ارسال مطلب و دانلود فایل و همچنین دسترسی به انجمن هایی که فقط اعضا ثبت نام شده امکان دسترسی به آن را دارند از امتیازات ثبت نام در سایت میباشد.

لطفا از طریق این لینک برای ثبت نام اقدام نمایید.

    
You have (1) Unread PM; Click The Icon To Read It You have a new PM
جدیدترین موضوعات انجمنها


بازگشت   متارو > ميكروكنترلر > AVR

در باره ی sram

AVR

پاسخ
 
LinkBack ابزارهای موضوع نحوه نمایش
قدیمی 03-17-2011, 04:13 PM   #1
Post در باره ی sram

سلام!
وقتی گفته میشه ramمیکرویی مثله mega8 یک کیلو بایته منظور اینه که در یک دستور
یا شرط یا... نباید بیشتر از این مقدار داده پردازش بشه؟
یا اینکه درثانیه؟
یا...؟
اصلا منظور چیه؟
siavash esteki آنلاین نیست.   پاسخ با نقل قول
اين کاربران از siavash esteki به خاطر این مطلب مفید تشکر کرده اند
قدیمی 03-18-2011, 12:46 AM   #2
پیش فرض پاسخ : در باره ی sram

حافظه ی SRAM مخفف Static RAM هستش و اگه در موردش بخای بیشتر بدونین اینه که بهش میگن استاتیک چون اطلاعاتش تا زمانی که برق بهش وصله ثابت می مونه و از بین نمیره.
مدل دیگه ای از ram ها دینامیک هستن(DRAM) که اونا در حین گذشت زمان اطلاعاطشون آروم آروم از بین میره و برای اینکه اطلاعاتشون از بین نره باید تازه سازی بشن(Refresh).از این مدل رم ها در کامپیوتر های معمولی استفاده میشه و خیلی ارزان قیمت هم هستن فضای کمتری رو هم اشغال می کنن.
تفاوت اصلی این دو در ساختارشونه! دینامیک رو با یک خازن و یک ترانزیستور می سازن ولی استاتیک رو با شش تا ترانزیستور !!! به همین خاطر استاتیک گرونه ، جای بیشتری می گیره و ...
دینامیک هم که معلومه چون داخلش خازن هست باید تازه سازی بشه وگرنه خالی میشه و اطلاعات از بین میره.
خوب حالا برسیم به این که رم در میکرو به چه دردی می خوره. کلا رم فضایی که پردازشگر از فضای اون برای محاسبات استفاده می کنه پس در واقع محل وجود متغیرهای برنامه رم خواهد بود. حالا متغیر هایی که در main تعریف می کنیم یا Globalهستن همیشه در رم می مونن و فضای اون رو اشغال می کنن ولی متغیرهایی که در توابع تعریف میشن فقط تا زمانی که اون تابع داره اجرا میشه در رم می مونن و بعد از اتمام کار تابع فضایی رو که اشغال کرده بودن آزاد می کنن. این یکی از مزیت های بسیار مهم کد نویسی با c هستش که فضای رم رو می تونه در صورت عدم استفاده آزاد کنه.
خوب این فضا هم محدودیت داره و در هر میکرویی فرق داره و بعضی از میکرو هارو میشه بهشون رم اضافی از بیرون اضافه کرد.
دیگه چی می خوای بدونی؟!
__________________
_-_-_-_-_-_-_-_-_-_-_-_-_-
ذکات علم ...
---------------------------------
موفق باشین ...
Kooshan آنلاین نیست.   پاسخ با نقل قول
4 کاربر از Kooshan به خاطر این مطلب مفید تشکر کرده اند
قدیمی 03-18-2011, 03:05 PM   #3
Post پاسخ : در باره ی sram

!
یعنی یه متغیر از نوع int مقدار 16 بیت از ram رو اشغال میکنه؟
یا این که فضای اشغالی بسته به مقدار متغیره؟(مثلا int a=0 < int a=65535)

اگه میشه یه توضیحی درباره ی این که 6تا ترانزیستور چطوری داده ذخیره میکنند، بدین؟
siavash esteki آنلاین نیست.   پاسخ با نقل قول
قدیمی 03-19-2011, 12:01 AM   #4
Lightbulb پاسخ : در باره ی sram

بله یک int ساده که 16 بیتیه 16 خانه ی حافظه رو اشغال میکنه
اینم شماتیک SRAM:


حالشو نداشتم ترجمش کنم ...
SRAM operation

A SRAM cell has three different states it can be in: standby where the circuit is idle, reading when the data has been requested and writing when updating the contents. The SRAM to operate in read mode and write mode should have "readeability" and "write stability" respectively. The three different states work as follows:
[] Standby

If the word line is not asserted, the access transistors M5 and M6 disconnect the cell from the bit lines. The two cross coupled inverters formed by M1 – M4 will continue to reinforce each other as long as they are connected to the supply.
[] Reading

Assume that the content of the memory is a 1, stored at Q. The read cycle is started by precharging both the bit lines to a logical 1, then asserting the word line WL, enabling both the access transistors. The second step occurs when the values stored in Q and Q are transferred to the bit lines by leaving BL at its precharged value and discharging BL through M1 and M5 to a logical 0. On the BL side, the transistors M4 and M6 pull the bit line toward VDD, a logical 1. If the content of the memory was a 0, the opposite would happen and BL would be pulled toward 1 and BL toward 0. Then these BL and BL-bar will have a small difference of delta between them and then these lines reach a sense amplifier, which will sense which line has higher voltage and thus will tell whether there was 1 stored or 0. The higher the sensitivity of sense amplifier, the faster the speed of read operation is.
[] Writing

The start of a write cycle begins by applying the value to be written to the bit lines. If we wish to write a 0, we would apply a 0 to the bit lines, i.e. setting BL to 1 and BL to 0. This is similar to applying a reset pulse to a SR-latch, which causes the flip flop to change state. A 1 is written by inverting the values of the bit lines. WL is then asserted and the value that is to be stored is latched in. Note that the reason this works is that the bit line input-drivers are designed to be much stronger than the relatively weak transistors in the cell itself, so that they can easily override the previous state of the cross-coupled inverters. Careful sizing of the transistors in an SRAM cell is needed to ensure proper operation.
[] Bus behavior

A RAM memory with an access time of 70 ns will output valid data within 70 ns from the time that the address lines are valid. But the data will remain for a hold time as well (5-10 ns). Rise and fall times also influence valid timeslots with approximately ~5 ns. By reading the lower part of an address range bits in sequence (page cycle) one can read with significantly shorter access time (30 ns). [7]
__________________
_-_-_-_-_-_-_-_-_-_-_-_-_-
ذکات علم ...
---------------------------------
موفق باشین ...
Kooshan آنلاین نیست.   پاسخ با نقل قول
4 کاربر از Kooshan به خاطر این مطلب مفید تشکر کرده اند
قدیمی 03-19-2011, 10:15 AM   #5
Post پاسخ : در باره ی sram

یعنی وقتی متغیری global ویا تو main تعریف میشه،هم رمو و هم حافظه ی flash رو اشغال میکنه؟
siavash esteki آنلاین نیست.   پاسخ با نقل قول
قدیمی 03-19-2011, 11:39 AM   #6
پیش فرض پاسخ : در باره ی sram

تعريف يك متغير 16 بيتي مانند int از فضاي flash اين مقدار را اشغال نمي كند.
در هنگام تعريف متغير فضاي كامل براي ان رزرو مي شود، مثلا اگر در يك متغير int چه 1 بريزيد چه 10000هيچ فرقي در گرفتن حافظه نمي كند. به همين علت است كه توصيه مي شود در هنگام تعريف متغيرها توجه داشته باشيد كه از چه نوع داده اي استفاده مي كنيد.
__________________
خدایا... می خواهم آنگونه زنده ام نگه داری که نشکند دلی از زنده بودنم و آنگونه مرا بمیرانی که کسی به وجد نیاید ازنبودنم

خدایا ... به من زیستنی عطا کن که در لحظه مرگ،
بر بی ثمری لحظه ای که برای زیستن گذشته است، حسرت نخورم و مُردنی عطا کن که، بر بیهودگیش، سوگوار نباشم.

بگذار تا آن را، خود انتخاب کنم، اما آنچنان که تو دوست می داری ...


-------------------------------------------------

برای تشکر فقط از دکمه استفاده کنید

با سپاس
Razavi آنلاین نیست.   پاسخ با نقل قول
3 کاربر از Razavi به خاطر این مطلب مفید تشکر کرده اند
قدیمی 03-19-2011, 04:06 PM   #7
Post پاسخ : در باره ی sram

اگه متغیری به صورت eeprom ودر تابع main تعریف بشه بازم دائم تو ram میمونه؟
وطبق گفته های آقای کوشان(حضوری)که هربار خوندن یا نوشتن روی eeprom چهار میلی ثانیه طول میکشه پس اگه دائم بخواد تو ram بمونه که پدر میکرو در میاد!!!!!!!

ویرایش توسط siavash esteki : 03-19-2011 در ساعت 11:40 PM. دلیل: غلط املایی
siavash esteki آنلاین نیست.   پاسخ با نقل قول
قدیمی 03-20-2011, 12:07 AM   #8
Post پاسخ : در باره ی sram

مجید دلبندم!
اگه Globalباشه یا تو main باشه همیشه می مونه ولی وقتی Local باشه فقط در زمان نیاز فضا میگیره
اگه eeprom باشه که پرفسور دیگه رو رم نیست مگه اینکه بیاریش رو رم خودت!
اگه هم اولش flash بزاری میره رو فلش و دیگه خود میکرو نمی تونه مقدارشو عوض کنه میشه ثابت(Constant)
افتاد!؟
__________________
_-_-_-_-_-_-_-_-_-_-_-_-_-
ذکات علم ...
---------------------------------
موفق باشین ...
Kooshan آنلاین نیست.   پاسخ با نقل قول
2 کاربر از Kooshan به خاطر این مطلب مفید تشکر کرده اند
قدیمی 03-20-2011, 12:29 AM   #9
Post پاسخ : در باره ی sram

من گیج شدم!!!!!!!!!!!!!
پس اگه تعریف کنی که متغیر تو eepromباشه،حتی اگه Globalم باشه تو ram نمیمونه؛ درسته؟
__________________
دو کس رنج بیهوده برند و سعی بی فایده کردند:یکی آنکه اندوخت ونخورد و دیگر آنکه آموخت و نکرد.
علم چندانکه بیشتر خوانی چون عمل درتو نیست نادانی
نه محقق بود نه دانشمند چارپایی براو کتابی چند
آن تهی مغز را چه علم و خبر که برو هیزم است یا دفتر؟
siavash esteki آنلاین نیست.   پاسخ با نقل قول
قدیمی 03-20-2011, 12:45 AM   #10
پیش فرض پاسخ : در باره ی sram

متغیر EEPROM که رو EEPROM ایجاد میشه ، چیکار به RAM داره!
ولی معمولا (همیشه) متغیر EEPROM رو Global تعریف می کنن.
__________________
_-_-_-_-_-_-_-_-_-_-_-_-_-
ذکات علم ...
---------------------------------
موفق باشین ...
Kooshan آنلاین نیست.   پاسخ با نقل قول
اين کاربران از Kooshan به خاطر این مطلب مفید تشکر کرده اند
پاسخ

علاقه مندی ها (Bookmarks)

« موضوع قبلی | موضوع بعدی »
ابزارهای موضوع
نحوه نمایش

انتخاب سریع یک انجمن


اکنون ساعت 04:09 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.


تمامي حقوق مادي و معنوي اين مجموعه متعلق به شركت ربات گستران آپادانا مي‌باشد Persian Skin By : Vbskin