آشنایی بیبشتر با زمان های تاخیر حافظه ها (تایمینگ ها)
به نام حق
با سلام خدمت همه ی دوستان عزیز........
مقاله ای که میخوام ارائه بدم درباره ی زمان های تاخیر حافظه ها هستش و امیدوارم مفید واقع بشه.
مقدمه: حافظه های DRAM که ما در کامپیوتر ها ازشون استفاده میکنیم یک نوع واسطه بین پردازنده ی مرکزی (CPU) و هارد هستند و برای اینکه شما بتونید به اطلاعاتتون در هارد دسترسی کنید این داده ها باید پردازش بشن و در این بین حافظه های رم مسئول هستند تا این داده ها از هارد گرفته و به پردازنده ی مرکزی منتقل کنند تا بعد از پردازش در اختیار کاربر قرار بگیره در این حافظه های رم با یک سرعتی این کار رو انجام میدهند .
سرعت خواندن و نوشتن حافظه ها در کاربرد های تاثیر بسزایی داره و هر چی فرکانس کاری (فرکانس واقعی که ضربدر 2 برابر با فرکانس کاری یا موثر میشه) حافظه ی شما بالاتر و زمان تاخیر پایین باشه این عملیات ها با سرعت بیشتر و بهتری انجام میشه .
زمان تاخیر حافظه (DRAM):
قبل از پرداختن به زمان تاخیر توضیحی در مورد تیتر زیر میدم..... سیکل:
1 سیکل مدت زمان تاخير بين دستور داده شده از طرف CPU تا هنگام ارسال جواب هستش . ( زمان بين درخواست CPU و ارسال داده از طرف حافظه)
یا مجموعه فعالیتهای هست که صورت میگره تا اطلاعات مورد نیاز توسط رم درر دسترس CPU قرار بگیره و از دستور سپیو به رم مبنی بر خواندن اطلاعات شروع میشه تا زمانیکه که رم اطلاعات رو تحویل CPU بده و برای فعالیت مجدد یعنی دریافت دستور جدید آماده بشه
و معمولا این زمان رو سیکل یا Command Rate میگن که مثلا 1t بیانگر یک چرخه مورد نیاز هست ...... 2tBookmark دو چرخه یا همون دو سیکل هست 1t مخفف 1clock cycel هستش.
در DDR2 این عملیات ها در یک ثانیه 4 بار انجام میشه(4 سیکل ) و در DDR3 این عملیات ها در یک ثانیه 8 بار انجام میشه یعنی انتقال دوبرابر داده ها در حافظه های DDR3 به این صورت که نرخ انقال اطالاعات در سلول های حافظه از 4x در رم های DDR2 به 8xدر حافظه های DDr3 افزایش پیدا کرده است
و حالا میپردازیم به خود زمان تاخیر......
زمان تاخیر حافظه های DRAM مدت زمانی است که برای دسترسی به داده ها در یک یا چند واحد خاص نیاز است . برای بیان زمان تاخیر از سیکل های کلاک گذرگاه خافظه استفاده میشه.
تاخیر کلی حافظه ها در حال حاضر یکی از فاکتور های مهم برای افزایش سرعت سیستم ها محسوب میشه.
واحد های حافظه به صورت شبکه های متشکل از میلیون سطر و ستون مرتب میشوند و با مشخص کردن آدرس یک واحد میتوان به داده های هر یک از ان ها دسترسی پیدا کرد .
برای دسترسی تاخیر ها در هر مرحله به صورت زیر محاسبه میشود:
1.ابتدا RAM در حالت بیکاری است.
2.کنترل کننده ی حافظه یک دستور فعال سازی را ارسال میکند . این دستور یک خط خاص را که با استفاده از خط ادرس مشخص شده فعال میکند. این عملیات همیشه دارای چند سیکل کلاک تاخیر هست.
3.پس از این تاخیر ادرس ستون داده شده و کار خواندن و نوشتن نیز به پایان رسیده . فرمان های خواندن و نوشتن میتوانند در هر سیکل کلاک و برای آدرس های ستون متفاوت اجرا شوند (حتی میتوان یک دستور نوشتن را به دنبال هم روی چندین واحد صادر کرد . البته در این صورت اجرای هر یک از دستور ها که منظور خواندن یا نوشتن است دستور دیگر تا چند سیکل کلاک در دسترس نخواهد بود. این موضوع به این دلیل است که حافظه به صورت خطی طراحی شده است.
4.هنگامی که درخواستی برای دسترسی به سطر دیگر دریافت میشود , سطر ی که در همان زمان باز است باید غیر فعال شده و یک دستور شارژ اولیه نیز برای سطر مورد نظر ارسال شود. عملیات شارژ اولیه نیز تا زمانی که امکان صدور فرمان فعال سازی فراهم شود به چند سیکل کلاک زمان نیاز خواهد داشت.
در حافظه های SDRAM نسل های بعد از ان مثل DDR ,DDR2, DDR3 چهار مرحله تاخیر با توجه به کنترل کننده حافظه موجود در کامپیوتر از بقیه مهمتر هستند . میزان این تاخیر با توجه به فرکانس مشخص میشود که قسمت بعدی توصیح داده شده:
زمان تاخیر حافظه ها بر حسب فرمول زیر محاسبه میشه:
(CAS ÷ DATA RATE) × 2000 = X ns
یعنی تایمینگ تقسیم بر فرکانس کاری ضربدر 2000 = زمان تاخیر بر حسب نانو ثانیه
مثال:
حافظه ی DDR3 با فرکانس کاری 1333 مگاهرتز داریم و دارای تایمینگ های 7-7-7-21 میباشد برای بدست اوردن زمان تاخیر این حافظه این گونه محاسبه میکنیم:
(7 ÷ 1333) × 2000 = 10.5026 ns
و ممکنه شما حافظه های DDR2 رو بیابید که دارای زمان تاخیر پایینتری باشه برای مثال:
یک حافظه ی DDR2 با فرکانس 1200 مگاهرتز و دارای تایمینگ ها 5-5-5-15 هست(مانند CSX DIABLO 1200 CL5) و حافظه ی DDR3 داریم که دارای فرکانس کاری 1866 مگاهرتز و تایمینگ های 7-7-6-20 هستش... حالا بیایید زمان تاخیر این دو حافظه رو محاسبه کنیم:
مشاهده کردید که زمان تاخیر حافظه ی DDR2 ما بهتر و پایین تر بوده که باورش در مقابل حافظه ی TRIDENT کمی سخته اما همیشه این قضیه درست نیست و در تمام کارها نمیتونیم حافظه ی DDR2 ذکر شده رو سریعتر از حافظه ی DDR3 ذکر شده بدونیم که در این مورد در تاپیک زیر مفصل توضیح داده شده و تست هایی نیز موجود هست و میتونید برتری ها در هر تست مشاهد کنید و اینکه در کدام یک دیگری قویتر بوده و در کدام تست نتایج تقریبا یکسانی بدست اومد:
[Only registered and activated users can see links. ]
در قسمت بعد 4 مرحله ی تاخیر رو توضیح میدیم:
tCAS: تعداد سیکل های کلاکی که برای دسترسی به یک ستون خاص نیاز است رو tCAS مینامند . CL) CAS Latency) یا ساده تر بگیم CAS به عنوان "تاخیر سیگنال دسترسی به ادرس ستون " شناخته میشه بعضی اوقات نیز با نام tCL شناخته میشه
tRCD:به تعداد سیکل های کلاکی که در بین یک ادرس سطر خاص و یک CAS نیاز است RCD میگن. و زمانی هست که کامپیوتر از زمان تشخیص دادن یک سطر وستون مشخص تا خواندن یا نوشتن روی ان امکان خاص نیاز است. این حالت وقفه بین ادرس خط و ادرس ستون نامیده میشه.
tRP(پیش نیاز شارژ RAS): تعداد سیکل های کلاکی که برای خاتمه دادن دسترسی به یک خط باز حافظه و باز کردن دسترسی به خط بعدی مورد نیاز هست tRP نامیده میشه این حروف مخفف <<تاخیر برای زمان پیش شارژ خط>> (Row Precgrge) هست.
tRAS(زمان فعال سازی خط): حداقل سیکل های کلاکی را که برای دسترسی به یک خط خاص در RAM بین زمانی که داده درخواست و دستور پیش شارژ اجرا میشود tRAS میگویند
وقتی که میگیم حافظه ی فرضا DDR3 ما دارای تایمینگ های 7-8-7-21 هست یعنی : CL7.0-7-721 که میبینید مورد اولی میتونه بیشتر تاثیر داشته باشه این تایمینگ هر کدوم یک زمان خاصی رو بیان میکنند یعنی این حافظه دارای : tcas:7 tRCD:8
tRP:7
tRAS:21 هستند که در مورد هر کدوم توضیح دادیم .
با تقدیم احترام
تنظیم و نوشته:Mehdi_FXX
منبع:OverclockingHeroes.com
هر گونه کپی برداری از مطلب فوق با ذکر منبع بلامانع است