Payamvdn/NorthPersian_fa_wiki huggingface dataset:
فاده نخواهد شد. همچنین بسته به زمینه، مدخل های کش ممکن است غیرفعال یا قفل شوند. سیاست های نوشتن. اگر داده ای در کش نوشته شود، بالاخره باید در حافظه اصلی نیز نوشته شود. زمانبندی این نوشتن، سیاست نوشتن نام دارد. در نوشتن فوری(write-through)، هر نوشتن در کش بلافاصله موجب نوشتن در حافظه اصلی می شود. از سوی دیگر، در کش نوع نوشتن تاخیری(write-back) یا همان کش نوع کپی تاخیری(copy-back)، نوشتن ها بلافاصله در حافظه اصلی نمایان نمی شوند، بلکه کش مشخص می کند که در کدام مکان های کش عمل نوشتن انجام شده است و آنها را برچسب کثیف می زند. دادهٔ موجود در این مکان ها فقط زمانی در حافظه اصلی نوشته خواهد شد که از کش اخراج شود. به همین دلیل، یک خطای خواندن در یک کش از نوع نوشتن تأخیری، ممکن است گاهی نیازمند دو دسترسی به حافظه برای خدمات گیری باشد: اولی، برای نوشتن مکان های کثیف در حافظه اصلی، و سپس دومی، برای خواندن مکان جدید از حافظه. همچنین نوشتن در یک مکان حافظه اصلی که هنوز در کش نقش بندی نشده است ممکن است باعث اخراج یک مکان هم اکنون کثیف شود و بدین وسیله این فضای کش را برای مکان جدید حافظه خالی کند. سیاست های بینابینی نیز وجو
د دارند. کش مورد نظر ممکن است از نوع نوشتن فوری باشد اما نوشتن ها ممکن است به طور موقت در یک صف ذخیره سازی داده نگه داشته شوند معمولاً با این هدف که چندین ذخیره را بتوان با یکدیگر پردازش کرد (می تواند منجر به کاهش زمان های گردش گذرگاه و بهبود بهره بری از گذرگاه شود). داده های کش شده از حافظه اصلی ممکن است توسط ماهیت های دیگر تغییر پیدا کنند (مثلاً ابزارهای جانبی با استفاده از دسترسی مستقیم به حافظه یا هسته های دیگر در یک پردازنده چند هسته ای)؛ در این حالت کپی موجود در کش ممکن است به روز نباشد یا اصطلاحاً قدیمی شود. در حالت دیگر، زمانی که یک پردازنده اصلی در یک سیستم چند پردازنده ای داده موجود در کش را به روز می کند، کپی های داده در کش های مربوط به پردازنده های دیگر قدیمی می شود. پروتکل های ارتباط بین مدیرهای کش که موجب ثبات داده می شوند را اصطلاحاً پروتکل های یکپارچگی کش می نامند. عملکرد کش. روش های اندازه گیری عملکرد کش در سال های اخیر اهمیت پیدا کرده است زیرا خلأ سرعت بین عملکرد حافظه و عملکرد پردازنده به طور تصاعدی در حال افزایش است. کش برای کاهش این خلأ سرعت ارائه شد؛ لذا دانستن اینکه چگونه و تا چه حدی کش
می تواند این خلاء بین سرعت پردازنده و حافظه را، خصوصاً در سیستم های دارای کارایی بالا پر کند اهمیت پیدا کرده است. مقدار اصابت درست در کش و مقدار خطای کش نقش مهمی در تعیین این کارایی ایفا می کند. برای بهبود کارایی کش کاهش نرخ خطا یکی از قدم های اساسی است. همچنین کاهش زمان دسترسی به کش نیز باعث افزایش کارایی می شود. معطلی های پردازنده. زمان لازم برای واکشی یک خط کش از حافظه (تأخیر خواندن ناشی از یک خطای کش) اهمیت دارد زیرا پردازنده در هنگامی که منتظر یک خط کش است، کاری برای انجام دادن ندارد. زمانی که پردازنده در این وضعیت قرار می گیرد اصطلاحاً می گوییم که دچار معطلی(stall) شده است. از آنجایی که پردازنده ها در مقایسه با حافظه اصلی سریعتر شده اند، معطلی های ناشی از خطای کش موجب از دست رفتن پردازش های بالقوه بیشتری می شود. پردازنده های جدید می توانند صدها دستورالعمل را در فاصله زمانی واکشی فقط یک خط کش از حافظه اصلی انجام دهند. تکنیک های مختلفی به کار گرفته شده تا در طی این زمان پردازنده را مشغول نگه دارد، از جمله اجرای خارج از نوبت که در آن پردازنده تلاش می کند تا بعد از اینکه دستورالعملی که منتظر کش است داده را
از دست می دهد، دستورالعمل های مستقلی را اجرا کند. تکنولوژی دیگر که توسط بسیاری از پردازنده ها استفاده می شود، چند ریسه ای همزمان است که در آن به ریسه دیگر اجازه داده می شود تا در زمانی که ریسه اول منتظر منابع مورد نیاز پردازنده است، از هسته پردازنده استفاده کند. جزییات کار. وقتی پردازنده نیاز دارد که داده ای را بخواند یا بنویسد ابتدا چک می کند که در کش موجود است یا نه، این کار به وسیله مقایسه آدرس مکان حافظه با همه تگ های موجود در کش که ممکن است حاوی آدرس باشد صورت می پذیرد. اگر پردازنده آدرس مکان مورد نظر حافظه را در کش بیابد می گوییم که یک "برخورد کش" رخ داده در غیر این صورت گوییم که یک "خطای کش" روی داده است. در صورت برخورد پردازنده به سرعت داده ها را از خط کش می خواند یا می نویسد. نسبتی از دسترسی ها که منجر به برخورد می شود را "نرخ برخورد" گویند و مقیاسی است برای اندازه گیری کارایی یک الگوریتم یا برنامه. در صورت بروز خطا کش مدخلی دیگر را در نظر می گیرد. اگر داده ای در کش نوشته شود باید در حافظه اصلی نیز نوشته شود. زمان این نگارش به وسیله "سیاست نگارش" کنترل می شود. مرتبط سازی. سیاست قراردهی مشخص می کند ک
ه یک کپی از یک مدخل خاص از حافظه اصلی درکجای کش باید قرار گیرد. اگر سیاست قرار دهی آزاد باشد تا برای نگه داشتن کپی هر مدخلی از کش را انتخاب کند، آنگاه مثلاً گفته می شود که کش مرتبط سازی کامل(fully associative) است. از سوی دیگر، اگر هر مدخل در حافظه اصلی بتواند فقط در یک مکان از کش برود آن گاه گفته می شود که کش دارای نگاشت مستقیم است. بسیاری از کش ها روش بینابینی را انتخاب می کنند که در آن هر مدخل در حافظه اصلی می تواند به هر کدام از N مکان موجود در کش برود و به این روش نگاشت مجموعه N سویه گویند. برای مثال کش داده سطح-یک در AMD Athlon در واقع یک کش نگاشت مجموعه دو سویه است به این معنی که هر مکان خاص در حافظه اصلی در هر یک از دو مکان موجود در کش داده سطح یک می توانند کش شوند. انتخاب تعداد درست میزان مرتبط سازی مستلزم یک سبک سنگین کردن است. اگر ده مکان وجود داشته باشد که سیاست قرار دهی بتواند یک مکان حافظه را در آن ها نگاشت کند آنگاه برای اینکه ببینیم آیا مکان مذکور در کش قرار دارد یا خیر، باید در بین ده مدخل کش جستجو کنیم. جستجو کردن مکان های بیشتر به معنی مصرف انرژی بیشتر و مساحت چیپ بیشتر و به طور بالقوه زمان
بیشتر است. از سوی دیگر، کش هایی که دارای ارتباط بیشتری هستند دچار خطای کمتری می شوند بگونه ای که پردازنده زمان کمتری را برای خواندن از حافظه اصلی که کندتر است تلف می کند. دستورالعمل کلی این است که دو برابر کردن میزان ارتباط از نگاشت مستقیم به مجموعه دو سویه یا از مجموعه دو سویه به مجموعه چهار سویه تقریباً اثری مشابه با دو برابر کردن اندازه کش روی افزایش میزان اصابت صحیح دارد. با این حال افزایش دادن ارتباط به بیش از مجموعه های چهار سویه چندان باعث افزایش میزان اصابت های صحیح نمی شود و به طور کلی به دلایل دیگر انجام می شود. برخی پردازنده ها می توانند به صورت پویا میزان ارتباط کش های خود را در وضعیت های کم مصرف کاهش دهند که روشی برای کاهش مصرف انرژی است. در زیر به ترتیب بدترین و ساده ترین تا بهترین و پیچیده ترین آمده است: کش با نگاشت مستقیم. در این سازماندهی کش، هر مکان در حافظه اصلی می تواند فقط به یک مدخل در کش برود بنابراین یک کش دارای نگاشت مستقیم را می توان یک کش ارتباطی تک سویه نیز نامید. این روش به معنی دقیق کلمه فاقد سیاست قراردهی است زیرا هیچگونه انتخابی در رابطه با محتویات مدخلی از کش که باید بیرون شو
د وجود ندارد. این بدان معنی است که اگر دو مکان در یک مدخل نگاشت شوند ممکن است به صورت مداوم یکدیگر را بیرون اندازند. اگرچه یک کش دارای نگاشت مستقیم ساده تر است اما باید نسبت به یک کش ارتباطی خیلی بزرگتر باشد تا بتواند کارایی مشابهی داشته باشد و همچنین نوع کش غیرقابل پیش بینی تر است. فرض کنید x شماره بلاک در کش است و y شماره بلاک در حافظه باشد و n تعداد بلاک ها در کش باشد، آنگاه عمل نگاشت با کمک معادله انجام می شود. کش ارتباطی مجموعه های دو سویه. اگر هر مکان در حافظه اصلی را بتوان در یکی از دو مکان در کش نگاشت کرد آنگاه سؤال منطقی این است که: کدام یک از این دو باید انتخاب شود؟ ساده ترین و رایج ترین طرح مورد استفاده که در دیاگرام سمت راست در بالا نشان داده شده است استفاده از کم ارزش ترین بیت های اندکس مکان حافظه به عنوان اندکس برای حافظه کش می باشد و اینکه برای هر اندکس دو مدخل داشته باشیم. یک مزیت این طرح این است که برچسب های ذخیره شده در کش لازم نیست تا دربرگیرنده آن بخشی از آدرس حافظه اصلی که توسط اندکس حافظه کش به صورت غیر مستقیم مشخص می شود باشند. از آن جایی که برچسب های کش بیت های کمتری دارند بنابراین نیا
زمند ترانزیستورهای کمتری هستند، فضای کمتری در برد مدار پردازنده یا چیپ ریزپردازنده می گیرند و قابل خواندن و مقایسه به صورت سریع تر هستند. همچنین LRU نیز مخصوصاً ساده می شود زیرا فقط لازم است تا یک بیت به ازای هر جفت ذخیره شود. اجرای حدسی. یکی از مزایای کش نگاشت مستقیم این است که امکان گمانه زنی ساده و سریع را فراهم می کند. هنگامی که آدرس مورد نظر محاسبه شد آنگاه اندکسی از کش که ممکن است حاوی کپی آن مکان حافظه باشد مشخص است. این مدخل کش را می توان خواند و پردازنده قبل از اینکه به طور کامل چک کند آیا برچسب مورد نظر واقعاً با آدرس درخواست شده همخوانی دارد می تواند با داده مورد نظر کارش را ادامه دهد. ایده اینکه پردازنده قبل از اینکه چک کردن همخوانی برچسب تمام شود، از دادهٔ کش شده استفاده کند را می توان در طرح های ارتباطی نیز به کار برد. یک زیر مجموعه از برچسب به نام اشاره (hint) را می توان برای انتخاب فقط یکی از مدخل های احتمالی کش نگاشت شده در آدرس مورد درخواست استفاده کرد. سپس می توان از مدخل انتخاب شده توسط اشاره به صورت موازی با چک کردن تگ کامل استفاده کرد. تکنیک اشاره زمانی که در زمینه ترجمه آدرس استفاده می
شود بهترین نتیجه را می دهد. کشش ارتباطی دو سویه متمایل شده. طرح های دیگری نیز پیشنهاد شده اند نظیر کش متمایل که در آن همانند بالا اندکس برای مسیر صفر مستقیم است اما اندکس برای مسیر یک، به وسیلهٔ یک تابع درهم سازی شکل می گیرد. یک تابع درهم سازی خوب این ویژگی را دارد که آدرس هایی که با نگاشت مستقیم با هم تداخل پیدا می کنند، زمانی که با تابع درهم سازی نگاشت می شوند دیگر تمایلی به تداخل ندارند و بنابراین این احتمال خیلی کمتر است که یک برنامه دچار حجم قابل پیش بینی زیادی از خطاهای تداخلی ناشی از الگوهای دسترسی معیوب شود. البته مشکل این روش این است که تأخیر بیشتری به خاطر محاسبه تابع درهم سازی وجود دارد. علاوه بر این زمانی که وقت آن می رسد که یک خط جدید بارگذاری شود و یک خط قدیمی خارج گردد ممکن است دشوار باشد تا مشخص کنیم که کدام خط موجود اخیراً کمترین استفاده را داشته، زیرا خط جدید با دادهٔ موجود در اندیس های متفاوت در هر مسیر تداخل پیدا می کند. پیگیری LRU برای کش های بدون تمایل معمولاً بر یک اساس به-ازای-هر-مجموعه انجام می گیرد. با این وجود کش های ارتباطی متمایل در مقایسه با کش های ارتباطی مجموعه ای مرسوم برتری خ
یلی بالاتری دارند. کش های ارتباطی کاذب. یک کش ارتباطی مجموعه ای واقعی همه مسیرهای احتمالی را به صورت همزمان چک می کند و برای این کار از یک چیزی شبیه حافظه محتوای-قابل-آدرس دهی استفاده می کند. یک کش ارتباطی کاذب در هر لحظه یک مسیر احتمالی را به صورت جداگانه تست می کند. یک کش درهم سازی-دوباره درهم سازی و کش ارتباطی ستونی مثال هایی از کش ارتباطی کاذب هستند. در حالت شایع یک اصابت صحیح در اولین مسیر تست شده، یک کش ارتباطی کاذب به اندازه یک کش نگاشت مستقیم سریع است، اما در مقایسه با یک کش نگاشت مستقیم میزان خطای تداخلی بسیار کمتری دارد که تقریباً برابر با میزان خطای یک کش کاملاً ارتباطی است. ساختار مدخل کش. مدخل های ردیف های کش معمولاً ساختار زیر را دارند: قطعهٔ داده (خط کش) حاوی داده واقعی واکشی شده از حافظه اصلی است. قسمت برچسب حاوی (بخشی از) آدرس داده واقعی واکشی شده از حافظه اصلی است. اندازه کش در واقع همان مقدار دادهٔ حافظه اصلی است که می تواند نگه دارد. این اندازه را می توان از طریق ضرب تعداد بایت های ذخیره شده در هر قطعهٔ داده در تعداد قطعات ذخیره شده در کش محاسبه کرد (بیت های برچسب، فلگ و کد تصحیح خطا در ان
دازه لحاظ نمی شوند اگرچه روی مساحت فیزیکی کش تأثیرگذار هستند). یک آدرس مؤثر حافظه که همراه با خط کش (قطعهٔ حافظه) است به قسمت های زیر تقسیم می شود: به ترتیب از با ارزش ترین بیت ها تا کم ارزش ترین بیت ها: برچسب، اندکس و جابجایی (آفست) قطعه. اندیس نشان می دهد که داده در کدام مجموعه کش قرار گرفته است. اگر تعداد مجموعه ای کش برابر باشد آنگاه طول اندیس برابر formula_1 است. جابجایی قطعه مشخص کننده داده دلخواه در داخل قطعهٔ داده ذخیره شده در داخل ردیف کش است. به طور معمول اندازه آدرس مؤثر بر حسب بایت است به گونه ای که طول جابجایی قطعه برابر formula_2 بیت است که در آن تعداد بایت ها به ازای هر قطعه داده است. برچسب، حاوی با ارزش ترین بیت های آدرس است که با تمام ردیف های موجود در مجموعه کنونی (مجموعه ای که توسط اندیس استخراج شده است) مقایسه می شود تا مشخص شود آیا مجموعه مذکور حاوی آدرس درخواست شده هست یا خیر. اگر چنین باشد یک اصابت درست کش رخ می دهد. طول برچسب بر حسب بیت به شکل زیر محاسبه می شود: برخی نویسندگان برای آفست قطعه فقط اصطلاح آفست یا جابجایی را به کار می برند. مثال. پردازنده پنتیوم ۴ اولیه دارای یک کش دادهٔ L
1 ارتباطی مجموعه ۴ مسیره با اندازه ۸ کیبی بایت بود، که اندازهٔ بلاک های کش آن برابر ۶۴ بایت بود. از این رو تعداد بلاک های کش برابر 8 KiB / 64 = 128 بود. تعداد مجموعه ها برابر با تعداد بلاک ها تقسیم بر تعداد مسیرهای ارتباطی است که برابر است با 128 / 4 = 32 مجموعه و از این رو 25 = 32 اندیس مختلف. 26 = 64 آفست ممکن وجود داشت. از آنجایی که طول آدرس پردازنده برابر با ۳۲ بیت بود در نتیجه اندازه فضای تگ برابر با 32 - 5 - 6 = 21 بیت بود. پردازنده اینتل پنتیوم ۴ همچنین دارای یک کش مجتمع سطح دو ارتباطی مجموعه ۸ مسیره با اندازه 256 KiB بود که اندازهٔ بلاک های کش آن برابر ۱۲۸ بایت بود. این به معنی است که 32 - 8 - 7 = 17 بیت برای فضای برچسب باقی می ماند. بیت های پرچم. یک کش دستورالعمل فقط به یک بیت پرچم (فلگ) در هر مدخل ردیف کش نیاز دارد: بیت معتبر. بیت معتبر نشان می دهد که آیا بلوک کش با دادهٔ معتبر بارگیری شده است یا خیر. هنگام روشن شدن، سخت افزار تمام بیت های معتبر را در تمام کش ها روی «نامعتبر» تنظیم می کند. برخی از سیستم ها بیت معتبر را در زمان های دیگری نیز روی «نامعتبر» تنظیم می کنند، مانند زمانی که سخت افزار نظارت
گذرگاه چند رئیسه در کش یک پردازنده، یک مخابرهٔ آدرس را از پردازنده دیگری می شنود و متوجه می شود که برخی از قطعه های داده در کش محلی مذکور اکنون کهنه است و باید نامعتبر شود. کش داده معمولاً به دو بیت فلگ در هر خط کش نیاز دارد - یک بیت معتبر و یک بیت کثیف. اگر بیت کثیف ست شده باشد، به این معنی است که خط کش مربوطه از زمان خواندن از حافظه اصلی ("کثیف شده") تغییر کرده است، به این معنی که پردازنده داده هایی را در آن خط نوشته است و مقدار جدید هنوز در حافظه اصلی کپی نشده است. خطای کش. خطای کش، تلاشی ناموفق برای خواندن یا نوشتن قطعه ای از داده در حافظه نهان است، که منجر به دسترسی به حافظه اصلی با تأخیر بسیار طولانی تر می شود. سه نوع از خطای حافظه پنهان وجود دارد: خطای خواندن دستورالعمل، خطای خواندن داده، و خطای نوشتن داده. خطاهای خواندن کش از یک کش دستورالعمل، بیشترین تأخیر را به وجود می آورد، زیرا پردازنده یا حداقل ریسهٔ اجرا باید منتظر بماند (متوقف شود) تا دستورالعمل از حافظه اصلی واکشی شود. خطاهای خواندن کش از یک کش داده معمولاً تأخیر کمتری ایجاد می کند، زیرا دستورالعمل هایی که به حافظه نهان وابسته نیستند، می توان
ند آغاز شوند و تا زمانی که داده از حافظه اصلی برگردد، اجرا شوند و پس از بازگشت داده، اجرای دستورالعمل های وابسته از سر گرفته می شود. خطاهای نوشتن کش در کش داده به طور کلی باعث کمترین تأخیر می شود، زیرا نوشتن می تواند در صف قرار گیرد و محدودیت های کمی در اجرای دستورالعمل های بعدی وجود دارد؛ پردازنده می تواند تا زمان پر شدن صف ادامه دهد. ترجمه آدرس. بیشتر پردازنده های دارای کاربرد عمومی نوعی حافظه مجازی را پیاده سازی می کنند. به طور خلاصه، یا هر برنامه ای که روی دستگاه در حال اجرا است فضای آدرس ساده شده خود را که حاوی کد و داده مخصوص آن است، می بیند یا اینکه، همه برنامه ها در یک فضای آدرس مجازی مشترک اجرا می شوند. یک برنامه با محاسبه، مقایسه، خواندن و نوشتن در آدرس های فضای آدرس مجازی خود، به جای آدرس های فضای آدرس فیزیکی، اجرا می شود و بدین گونه، برنامه ها ساده تر می شوند و در نتیجه نوشتن آنها آسان تر است. در حافظه مجازی، پردازنده موظف است تا آدرس های مجازی تولید شده توسط برنامه را به آدرس های فیزیکی حافظه اصلی ترجمه کند. بخشی از پردازنده که این ترجمه را انجام می دهد به عنوان واحد مدیریت حافظه (MMU) شناخته می
شود. مسیر سریع از طریق MMU می تواند ترجمه هایی را که در کش ترجمه آدرس (Translation lookaside buffer) ذخیره شده اند، انجام دهد. TLB نوعی کش برای نگاشت ها از جدول صفحهٔ سیستم عامل، جدول سگمان یا هر دو است. با هدف بحث حاضر، سه ویژگی مهم در ترجمه آدرس وجود دارد: برخی از سیستم های حافظه مجازی اولیه بسیار کند بودند زیرا نیاز به دسترسی به جدول صفحه (در حافظه اصلی) قبل از دسترسی برنامه نویسی شده به حافظه اصلی داشتند. بدون داشتن حافظه نهان، این امر به طور مؤثر سرعت دسترسی به حافظه را به نصف کاهش می دهد. اولین حافظه نهان سخت افزاری مورد استفاده در سیستم رایانه ای در واقع حافظه نهان داده یا دستورالعمل نبود، بلکه TLB بود. بر اساس اینکه اندیس یا برچسب با آدرس فیزیکی یا مجازی مطابقت دارد، حافظه پنهان را می توان به چهار نوع تقسیم کرد: "کش از نوع فیزیکی فهرست شده و فیزیکی برچسب گذاری شده (Physically indexed, physically tagged)" از آدرس فیزیکی هم برای اندیس و هم برای برچسب استفاده می کنند. اگرچه این کار ساده است و از مشکلات نام مستعار جلوگیری می کند، اما کند است، زیرا قبل از جستجوی آدرس در حافظه کش، باید آدرس فیزیکی را جستجو
کرد (که می تواند شامل خطای TLB و دسترسی به حافظه اصلی باشد). "کش از نوع مجازی فهرست شده و مجازی برچسب گذاری شده (Virtually indexed, virtually tagged)" از آدرس مجازی هم برای فهرست و هم برای برچسب استفاده می کند. این طرح کش می تواند به جستجوی سریعتر منجر شود، زیرا در ابتدا برای تعیین آدرس فیزیکی یک آدرس مجازی داده شده نیازی به مراجعه به MMU نیست. با این حال، VIVT از مشکلات نام مستعار رنج می برد، جایی که چندین آدرس مجازی مختلف ممکن است به یک آدرس فیزیکی ارجاع کنند. نتیجه این است که این آدرس ها علی رغم ارجاع به یک حافظه یکسان، جداگانه کش می شوند و باعث ایجاد مشکلات یکپارچگی می شوند. اگرچه راه حل هایی برای این مشکل وجود دارد اما آنها برای پروتکل های یکپارچگی استاندارد کارایی ندارند. مشکل دیگر تشابه ظاهری (homonyms) است، جایی که یک آدرس مجازی به چندین آدرس فیزیکی مختلف نگاشت می شود. تشخیص این نگاشت ها صرفاً با مشاهده اندیس مجازی بتنهایی امکان پذیر نیست، گرچه راه حل های بالقوه عبارتند از: شستشوی حافظه پنهان پس از تعویضی زمینه، الزام کردن فضاهای آدرس به ناهمپوشانی، برچسب زدن آدرس مجازی با شناسه فضای آدرس (address spa
ce ID). علاوه بر این، یک مشکل وجود دارد که نگاشت های مجازی به فیزیکی می توانند تغییر کنند، که به شستشوی خطوط کش نیاز دارد، زیرا VAها دیگر معتبر نیستند. اگر برچسب ها از آدرس های فیزیکی (VIPT) استفاده کنند، همه این مشکلات حذف می شوند. "کش از نوع مجازی فهرست شده، و فیزیکی برچسب گذاری شده (VIPT)" از آدرس مجازی برای فهرست بندی و آدرس فیزیکی موجود برای برچسب استفاده می کند. مزیت آن نسبت به PIPT تأخیر کمتر است، زیرا می توان به طور همزمان با ترجمه TLB، خط کش را جستجو کرد، اما تا زمانی که آدرس فیزیکی در دسترس نباشد، برچسب قابل مقایسه نیست. مزیت نسبت به VIVT این است که از آنجا که برچسب آدرس فیزیکی دارد، حافظه پنهان می تواند مشابهات را تشخیص دهد. از نظر تئوری، VIPT نیاز به بیت بیشتری برای برچسب دارد زیرا برخی از بیت های اندیس می توانند بین آدرس های مجازی و فیزیکی متفاوت باشند (به عنوان مثال بیت ۱۲ به بالا برای صفحه 4KiB) و باید هم در اندیس مجازی و هم در برچسب فیزیکی گنجانده شود. در عمل این مشکل ساز نیست، زیرا برای جلوگیری از مشکلات یکپارچگی، کش های VIPT طوری طراحی شده اند که چنین بیت های فهرستی ندارند (به عنوان مثال، با
محدود کردن تعداد کل بیت های فهرست و جابجایی بلوک به ۱۲ برای صفحات 4KiB)؛ این امر باعث می شود تا اندازه حافظه پنهان VIPT حداکثر برابر با اندازه صفحه ضرب در میزان ارتباط حافظه پنهان شود. "کش از نوع به طریق فیزیکی فهرست شده و به طریق مجازی برچسب گذاری شده (PIVT)" اغلب در متون ادعا می شود که بی فایده و غیر موجود است. با این حال، MIPS R6000 از این نوع حافظه پنهان به عنوان تنها پیاده سازی شناخته شده استفاده می کند. R6000 به شکل منطق تزویج امیتری پیاده سازی شده است، که یک فناوری بسیار سریع است و برای حافظه های بزرگ مانند TLB مناسب نیست. R6000 با قرار دادن حافظه TLB در یک قسمت اختصاصی از حافظه نهان سطح دو، با داشتن یک «برش» TLB کوچک و با سرعت بالا روی چیپ، این مسئله را حل می کند. حافظه نهان با آدرس فیزیکی بدست آمده از برش TLB فهرست بندی می شود. با این حال، از آنجا که قطعه TLB فقط آن دسته از بیت های آدرس مجازی را که برای فهرست بندی حافظه پنهان ضروری هستند ترجمه می کند و از هیچ برچسبی استفاده نمی کند، ممکن است اصابت های کاذب در حافظه پنهانی رخ دهد که با برچسب گذاری با آدرس مجازی برطرف می شود. سرعت این رویداد مجدد (تأخ
یر بار) برای عملکرد پردازنده بسیار مهم است و بنابراین اکثر کش های سطح ۱ جدید بطریق مجازی فهرست بندی می شوند، که حداقل این امکان را می دهد تا جستجو در TLB واحد مدیریت حافظه به موازات واکشی داده از RAM کش پیش برود. اما فهرست بندی مجازی برای همه سطوح حافظه نهان بهترین گزینه نیست. هزینه مدیریت مستعارهای مجازی با افزایش اندازه حافظه نهان افزایش می یابد و در نتیجه بیشتر کش های سطح ۲ و بالاتر بطریق فیزیکی فهرست بندی می شوند. از زمان های گذشته، حافظه نهان هم از آدرس های مجازی و هم از آدرس های فیزیکی برای برچسب های کش استفاده می کرد، اگرچه برچسب گذاری مجازی اکنون غیرمعمول است. اگر جستجوی TLB بتواند قبل از جستجوی RAM کش به پایان برسد، آنگاه آدرس فیزیکی به موقع برای مقایسه برچسب در دسترس است و نیازی به برچسب گذاری مجازی نیست؛ بنابراین، معمولاً حافظه های نهان بزرگ به طور فیزیکی برچسب گذاری می شوند و فقط حافظه های نهان کوچک، با تأخیر بسیار کم، به طور مجازی برچسب گذاری می شوند. در پردازنده های عمومی جدید، vhints جایگزین برچسب گذاری مجازی شده است. سلسله مراتب کش در یک پردازنده مدرن. پردازنده های مدرن کش های زیادی روی یک چیپ
دارند. کش های اختصاصی. پردازنده های لوله کشی شده از طریق نقاط مختلف روی لوله کشی به حافظه دسترسی دارند. این پردازنده ها از الگوریتم فون نیومن برای عمل استفاده می کنند که در هر یک از پنج مرحله یک کش اختصاصی دارند. کش قربانی. کش قربانی کشی است که بلوک هایی که توسط پردازنده واکشی شده اند را نگه می دارد. کش تریس. کشی است که در پنتیوم۴ برای افزایش پهنای باند واکشی دستورها و کاهش مصرف انرژی مورد استفاده قرار گرفت. کش های چند سطحی. مسئله دیگر ایجاد توازن بین تأخیر کش و نرخ برخورد آن است. کش های بزرگ تر دارای نرخ برخورد بیشتر هستند ولی تأخیر بیشتری نیز دارند. به همین خاطر اکثر کامیپوترهای امروزی از چند سطح کش استفاده می کنند که در آن کش های کوچک و سریع به وسیله کش های بزرگ تر ولی کندتر پشتیبانی می شوند.
رود خاتانگا رودخانه ای در کرای کراسنویارسک در روسیه است که از محل تلاقی دو رود کوتوی و ختا به وجود می آید. این رود ۲۲۷ کیلومتر طول داشته و حوضهٔ آبخیزی به مساحت ۳۶۴ هزار کیلومتر مربع را در بر می گیرد. رودخانهٔ خاتانگا از درون دره ای عمیق در زمین های پست شمال سیبری به سوی خلیج خاتانگا در دریای لاپتف جریان دارد و در آنجا تشکیل خلیجی دهانه ای را می دهد. همچنین در حوضهٔ آبخیر این رودخانه در حدود ۱۱۲ هزار جزیره وجود دارد. بیشتر آب رودخانهٔ خاتانگا از آب شدن برف ها تأمین می شود. همچنین ارتفاع سطح آب آن در طول سال متغیر بوده و تا ۸٬۵ متر نیز می رسد. این رودخانه در اواخر سپتامبر یا از اوایل اکتبر یخ بسته است و در اوایل ماه ژوئن یخ هایش شروع به آب شدن می کند. رود خاتانگا از نظر ذخایر ماهی غنی بوده و صید تجاری ماهیانی همچون سیسکو، سیسکوی شمالی، موسکون، نلما، هوچو و لوچ در آن رونق دارد. این رودخانه قابل کشتی رانی بوده و بندر خاتانگا بر کنارهٔ آن ساخته شده است.
ویلما رودالف (زاده ۲۳ ژوئن ۱۹۴۰ -مرگ ۱۲ نوامبر ۱۹۹۴) دونده زن آمریکایی بود. وی در دوران کودکی در آستانه فلج شدن از ناحیه کمر به پایین قرار گرفت اما با روحیه بالا نه تنها بیماری را پشت سر گذاشت که قهرمان دو ومیدانی نیز شد. ویلما رادولف نخستین زن آمریکایی است که در مسابقات المپیک رُم، موفق به کسب ۳ مدال طلا در رشته دو و میدانی زنان — دو ۱۰۰ متر سرعت ،۲۰۰ متر سرعت و ۴۰۰متر امدادی — شد. وی همچنین به جهت سبک دویدنش به «غزال سیاه» ملقب گردید. وی از سویِ آسوشیتد پرس به عنوان بهترین زن ورزشکار سالهای ۱۹۶۰ و ۱۹۶۱ شناخته شد. او از سویِ AAU جایزه یادبود ای. سولیوان را برنده شد. پس از بازنشستگی از شرکت در مسابقات قهرمانی، وی تحصیلات دانشگاهی خو را به پایان رساند و در یک برنامه ویژهٔ آموزش ورزش برایِ بچه های کلیمی توسط قهرمانان ورزشی، شرکت کرد. درگذشت در ژوئیه ۱۹۹۴ (کمی پس از مرگ مادرش)، رودولف به سرطان مغز مبتلا شد. او همچنین به سرطان گلو مبتلا شده بود. وضعیت او به سرعت رو به وخامت رفت و در ۱۲ نوامبر ۱۹۹۴ در سن پنجاه و چهار سالگی در خانه اش در برنت وود، حومه نشویل، تنسی درگذشت. میراث رودولف در تلاش های او برای غلبه بر مو
انعی است که شامل بیماری های دوران کودکی و ناتوانی جسمی برای تبدیل شدن به سریع ترین زن دونده جهان در سال ۱۹۶۰ می شود. در المپیک ۱۹۶۰ رم، او اولین زن آمریکایی بود که در یک المپیاد موفق به کسب سه مدال طلا شد. . رودولف یکی از اولین الگوهای ورزشکاران سیاهپوست و زن بود. موفقیت او در المپیک روحیه فوق العاده ای به جامعه زنان در ایالات متحده بخشید. علاوه بر موفقیت های ورزشی، رودولف به خاطر کمک هایش به جوانان، از جمله تأسیس و ریاست بنیاد ویلما رودولف، که ورزشکاران جوان را آموزش می دهد، به یاد می آید. زندگی او در بسیاری از نشریات، به ویژه کتاب هایی برای خوانندگان جوان به یادگار مانده است. زندگی رودولف در فیلم های مستند و فیلم های تلویزیونی نیز به نمایش درآمده است: - "ویلما رودولف": قهرمان المپیک (۱۹۶۱)، به کارگردانی والتر دی هوگ، مستند ده دقیقه ای آژانس اطلاعات ایالات متحده. -در سال ۱۹۷۷، باد گرینسپن، ویلما (همچنین به عنوان داستان ویلما رودولف شناخته می شود)، یک مستند درام تلویزیونی اقتباسی را از زندگینامه او با بازی شرلی جو فینی در نقش رودولف و بازیگری سیسیلی تایسون، جیسون برنارد و دنزل واشینگتن در یکی از نقش های اصلی
تولید کرد. -در سال ۲۰۱۵، Positive Edge Education Ltd سفارش تولید سه درام کوتاه الهام بخش برای نمایش در مدارس را به Pixel Revolution Films، یک شرکت فیلمسازی مستقر در بریتانیا، داد از جمله یکی دربارهٔ زندگی رودولف که توسط ایان و دومینیک هیگینز نوشته و کارگردانی شد.
مسجد جامع زواره مربوط به دوره سلجوقیان است و در زواره، متری حسن آباد، کوچه پامنار واقع شده و این اثر در تاریخ با شمارهٔ ثبت ۲۸۳ به عنوان یکی از آثار ملی ایران به ثبت رسیده است. پلان. اولین مسجدی که اساساً با طرح چهار ایوانه ساخته شده است، مسجد جامع زواره می باشد. تاریخ بنا. ساختمان این مسجد در سال ۵۳۰ هجری قمری اتمام یافت و محراب آن نیز که از زیباترین بخش های بنا است در سال ۵۵۱ هجری قمری ساخته شده است. کتیبه های مسجد. کتیبهای که تاریخ ساختمان مسجد جامع زواره را به دست می دهد، بر خلاف معمول در قسمت بالای نمای رو به صحن قرار گرفته است. این کتیبه که به خطّ کوفی بسیار ساده نوشته شده و با آجر تراشیده ساخته شده است، با کتیبه های قرون پنجم و ششم موجود در بسیاری از بناهای اصفهان و اطراف آن شباهت کامل دارد. پس از بسم الله آیة ۱۸ از سورة ۹ خوانده می شود و سپس متن تاریخی آغاز شده که متأسفانه از غالب کلمات جز قطعات ناقصی بر جای نمانده است. به همین سبب قرائت آن بسیار مشکل است و تنها می توان کلمات زیر را در آن بازیافت: أمر ببناء… الفقیر الی رحمه الله… احمد… ثلثین و خمس مائه. کتیبه ای که در قسمت گردن گنبد شبستان محراب را دو