حافظه دفتر یادداشت: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
Ghaseminejad (بحث | مشارکتها) جز Ghaseminejad صفحهٔ Scratchpad memory را به حافظه دفتر یادداشت منتقل کرد |
جز ویکیسازی رباتیک (درخواست کاربر:Ghaseminejad)(۷.۶) >مرتب سازی ادغام، برنامه نویسی، حافظه پنهان، سلسله مراتب، حافظه اصلی، حافظه نهان، سخت افزار، سیستم ها، هسته ای، داده ها، کل کش+املا+تمیز (۱۰.۷) |
||
خط ۱:
'''حافظه''' '''دفتر یادداشت''' '''(SPM)(ScratchPad Memory)،''' همچنین به عنوان '''دفتر یادداشت(scratchpad)،''' '''رم(حافظه)''' '''دفتر یادداشت''' و یا '''حافظه محلی''' در اصطلاحات [[رایانه|کامپیوتر]] ، یک حافظه داخلی سرعت بالا است که برای نگداری موقت محاسبات،داده ها، و عملیات دیگر در حال اجرا استفاده میشود. با اشاره به یک [[ریزپردازنده]] ( [[واحد پردازش مرکزی|CPU]] )، scratchpad به یک [[مدار الکترونیکی|مدار]] حافظه مخصوص با سرعت بالا که برای نگهداری اطلاعات کوچک برای بازیابی سریع استفاده می شود، اشاره دارد. این حافظه شبیه از لحاظ اندازه و استفاده به یک دفتر یادداشت در زندگی است: یک مجموعه از کاغذها برای یادداشت های اولیه، طرح ها یا نوشته ها، و غیره.
این حافظه را می توان شبیه به [[حافظه نهان|حافظه نهان L1]] در نظر گرفت که در آن، نزدیکترین حافظه ای است به [[واحد محاسبه و منطق|ALU]] پس از [[ثبات|ثباتهای پردازنده]] و با دستورالعمل های صریح و اختصاصی برای انتقال [[داده ها]] به [[حافظه اصلی]] یا از [[ذخیرهسازی داده رایانه|حافظه اصلی]]، که اغلب مبتنی بر استفاده از انتقال داده [[دستیابی مستقیم به حافظه|DMA]] است. <ref>{{Cite web|url=http://dent.cecs.uci.edu/~papers/date08/PAPERS/2002/DATE02/PDFFILES/04E_3.PDF|title=Assigning Program and Data Objects to Scratchpad for Energy Reduction|accessdate=3 October 2013|publisher=University of Dortmund|last=Steinke|first=Stefan|last2=Lars Wehmeyer|year=2002|last3=Bo-Sik Lee|last4=Peter Marwedel}}</ref> در مقایسه با یک سیستم که از حافظه های نهان(cache) استفاده می کند،یک سیستم با این حافظهها(scratchpad)، یک سیستم با تاخیرهای [[حافظه دسترسی غیریکپارچه]] است، زیرا تاخیرهای دسترسی به انواع مختلف این حافظه و حافظه اصلی تفاوت دارد. یک تفاوت دیگر که یک سیستم از حافظههای نهان استفاده میکند،این است که این حافظه
Scratchpadها برای ساده سازی منطق ذخیره سازی نهان(caching) استفاده میشوند و برای تضمین اینکه یک واحد می تواند بدون درگیری حافظه اصلی در یک سیستم با استفاده از پردازنده های چندگانه کار کند ، به خصوص در سیستم چند پردازندهای سیستم بر تراشه([[:en:MPSoC|multiprocessor system-on-chip]]) که برای [[سامانه نهفته|سیستم های نهفته]] هستند. آنها
Scratchpadها در پردازنده های mainstream desktop استفاده
== نمونه هایی از کاربرد ==
* Fairchild F8 در سال 1975 شامل 64 بایت scratchpad بود.
* Cyrix 6x86 تنها پردازنده x86 دسکتاپ است با یک scratchpad اختصاصی را در اختیار دارد.
* SuperH ، که در کنسول های Sega مورد استفاده قرار می گیرد، می تواند cachelineها را به یک آدرس خارج از حافظه اصلی برای استفاده به عنوان یک scratchpad قفل کند.
* [[پلیاستیشن|PS1]] R3000 سونی در عوض یک حافظه L1 دارای یک scratchpad است. در اینجا می توان پشته CPU را جایگزین کرد، نمونه ای از کاربرد فضای کاری موقت.
* پردازنده کمکی(coprocessor) موازی [[:en:Adapteva|Adapteva's Epiphany]] برای هر هسته حافظه های محلی در نظر میگیرد، متصل شده توسط [[شبکه درون یک تراشه]] ، با قابلیت DMA بین آنها و ارتباطات خارج از تراشه (
* سونی [[پلیاستیشن ۲|PS2]] Emotion Engine شامل 16 کیلوبایت scratchpad که مشخص میکند به یا از کدام DMA انتقال داده بشود و می تواند به GS و حافظه اصلی صادر شود.
* سلولهای SP محدود به کار در حافظه محلی خود هستند، با تکیه بر DMA که برای انتقال از / به حافظه اصلی و بین حافظههای محلی، بسیار شبیه یک scratchpad هستند. در این راستا، مزیت اضافی ناشی از فقدان [[سخت افزار]] این است که برای بررسی و به روز رسانی انسجام بین حافظه
* بسیاری از پردازنده های دیگر اجازه می دهند که خطوط ذخیره سازی L1 قفل شوند.
* اکثر [[پردازشگر سیگنال دیجیتال|پردازنده های سیگنال دیجیتال]] از یک scratchpad استفاده می کنند. بسیاری از شتابدهنده های 3D گذشته و کنسول های بازی (از جمله PS2) از DSP ها برای تبدیل های راسی استفاده کرده اند. این روش با رویکرد مبتنی بر جریان که در GPU های مدرن، که اشتراک های زیادی با عملکردهای حافظه نهان CPU دارد، متفاوت است.
* NVIDIA [[جیفورس سری ۸|8800]] [[واحد پردازش گرافیکی|GPU]] (تحت اجرا [[کودا|CUDA]] )، 16 کیلوبایت scratchpad (NVIDIA آن را "حافظه به اشتراک گذاشته شده" می نامد) در هر thread-bundle زمانی که برای وظایف [[محاسبات همهمنظوره بر روی واحد پردازش گرافیکی|GPGPU]] استفاده می شود، فراهم میکند. Scratchpad همچنین در بعد از Fermi GPU استفاده شده است([[:en:GeForce_400_Series|GeForce 400 Series]]). <ref>{{Cite web|url=http://origin-jp.nvidia.com/content/PDF/fermi_white_papers/D.Patterson_Top10InnovationsInNVIDIAFermi.pdf|title=The Top 10 Innovations in the New NVIDIA Fermi Architecture, and the Top 3 Next Challenges|date=September 30, 2009|accessdate=3 October 2013|publisher=Parallel Computing Research Laboratory & NVIDIA|last=Patterson|first=David}}</ref>
* تراشه PhysXَ از Ageia شامل میباشد یک رم scratchpad در یک حالت شبیه به Cell است؛ نظریه آن بیان می کند که یک [[سلسله مراتب]] حافظه با استفاده کمتر از فیزیک و محاسبات برخورد و تصادم، برخوردار است. این حافظه ها نیز ذخیره میکنند و یک سوئیچ بین آنها انتقال می دهد.
* پردازنده [[زئون فای|نایت لندینگ]] اینتل 16 گیگابایت MCDRAM که می تواند به عنوان یک [[حافظه پنهان]] یا حافظه scratchpad پیکربندی شود یا به برخی از حافظه نهان و بعضی از حافظه های scratchpad تقسیم بشوند.
* Movidius Myriad 2 ، یک واحد پردازش بینایی ، به عنوان یک معماری چند [[هسته ای]] با یک scratchpad بزرگ چند منظوره به سازمان یافته شده است.
== جایگزینها ==
=== کنترل حافظه نهان در مقابل scratchpadها ===
بعضی از معماریها مانند PowerPC، برای اجتناب از نیاز به قفل کردن cacheline یا scratchpadها از طریق استفاده از دستورالعمل های کنترل حافظه،تلاش میکنند. علامتگذاری یک قسمت از حافظه با «Data Cache Block: Zero» (تخصیص یک خط اما تنظیم کردن محتویات آن به صفر به جای خواندن از حافظه اصلی) و بعد از استفاده، دور انداختن آن («Data Cache Block: Invalidate»، نشان میدهد که حافظه اصلی هیچ داده به روز رسانی شده را دریافت
=== Shared L2 در برابر سلول حافظههای محلی ===▼
با توجه به ارتباطات پردازشگر در یک تنظیم چندگانه، شباهت بین DMA بین حافظه محلی سلولی و یک پیکربندی پنهان L2 مشترک مانند Core 2 Duo اینتل یا Xbox 360's custom powerPC وجود دارد: حافظه L2 به پردازنده ها اجازه می دهد که نتایج را، بدون آن نتایجی که به حافظه اصلی مربوط هستند،به اشتراک بگذارد. این می تواند یک مزیت باشد که در آن [[مجموعه کاری]] برای یک الگوریتم شامل کل کش L2 می شود. با این حال، زمانی که یک برنامه برای استفاده از DMA بین حافظه محلی نوشته شده است، Cell از هر یک از حافظه های محلی استفاده می کند که هدف آن هم فضای کاری خصوصی برای یک پردازنده واحد و نقطه به اشتراک گذاری بین پردازنده ها است؛ به عنوان مثال، سایر حافظه های محلی در مقیاس مشابه از یک پردازنده به عنوان حافظه کش L2 مشترک در یک تراشه معمولی دیده می شوند. برای مصالحه در اتلاف حافظه در بافر و پیچیدگی برنامه نویسی برای هماهنگی کرد، هرچند این به صفحات پیش ذخیره شده در یک تراشه معمولی شباهت دارد. دامنه هایی که از این قابلیت استفاده می کنند عبارتند از: ▼
▲با توجه به ارتباطات پردازشگر در یک تنظیم چندگانه، شباهت بین DMA بین حافظه محلی سلولی و یک پیکربندی پنهان L2 مشترک مانند Core 2 Duo اینتل یا Xbox 360's custom powerPC وجود دارد: حافظه L2 به پردازنده ها اجازه می دهد که نتایج را، بدون آن نتایجی که به حافظه اصلی مربوط هستند،به اشتراک بگذارد. این می تواند یک مزیت باشد که در آن [[مجموعه کاری]] برای یک الگوریتم شامل [[کل کش]] L2 می شود. با این حال، زمانی که یک برنامه برای استفاده از DMA بین حافظه محلی نوشته شده است، Cell از هر یک از حافظه های محلی استفاده می کند که هدف آن هم فضای کاری خصوصی برای یک پردازنده واحد و نقطه به اشتراک گذاری بین پردازنده ها است؛ به عنوان مثال، سایر حافظه های محلی در مقیاس مشابه از یک پردازنده به عنوان حافظه کش L2 مشترک در یک تراشه معمولی دیده می شوند. برای مصالحه در اتلاف حافظه در بافر و پیچیدگی [[برنامه نویسی]] برای هماهنگی کرد، هرچند این به صفحات پیش ذخیره شده در یک تراشه معمولی شباهت دارد. دامنه هایی که از این قابلیت استفاده می کنند عبارتند از:
* پردازش خط لوله(pipeline) (که در آن یک اثر مشابه با افزایش حجم کش L1 با تقسیم یک کار به تکه های کوچکتر)
* گسترش مجموعه کار، به عنوان مثال، یک نقطه شیرین برای [[مرتب سازی ادغام]] که در آن داده ها در داخل 256×8 کیلوبایت قرار دارد
* آپلود کد مشترک، مانند بارگذاری یک قطعه کد به یک SPU، سپس آن را از آنجا به سایرین کپی کنید تا از بازگشت دوباره به حافظه اصلی جلوگیری شود
برای یک پردازنده معمولی می توانید مزایای مشابه با دستورالعمل های کنترل کش را بدست آورید، به عنوان مثال، اجازه دادن prefetching به L1 با دور زدن L2، یا یک نشان خروج که نشان دهنده یک انتقال از L1 به L2، اما رجوع به حافظه اصلی؛ با این حال، در حال حاضر هیچ سیستمی این قابلیت را در یک فرم قابل استفاده ارائه
== همچنین نگاه کنید ==
* [[حافظه نهان سیپییو|حافظه CPU]]
* [[حافظه دسترسی غیریکپارچه|NUMA]]
سطر ۴۵ ⟵ ۴۱:
== منابع ==
<references group="" responsive="">
== پیوند به بیرون ==
* Rajeshwari Banakar, [http://robertdick.org/aeos/reading/banakar-scratchpad.pdf Scratchpad Memory : A Design Alternative for Cache.] [http://robertdick.org/aeos/reading/banakar-scratchpad.pdf On-chip memory in Embedded Systems] // CODES'02. May 6–8, 2002
[[رده:حافظه رایانه]]
[[رده:صفحات با ترجمه بازبینینشده]]
[[رده:ویکیسازی رباتیک]]
|