Кеш или кэш


Кеш или кэш? 13 иностранных слов, в которых надо писать «е» вместо «э» | Образование | Общество

«Московские новости» публикуют топ-13 иностранных слов, в которых надо писать «е» вместо «э», и одно русское слово, где все как раз наоборот. 

1. Риелтор. Это слово — одно из самых богатых на варианты написания. Пишут и «риэлтор», и «риэлтер», и «риелтор». На самом же деле пишется в нем «е», как в словах «абитуриент» и «диета», но произносится «э». Это тот случай, когда написание надо просто запомнить.

2. Бренд и тренд. По правилам после согласной почти всегда пишется «е», даже если слышится «э». Исключений немного: мэр, пэр, сэр, мэтр, рэп, рэкет, пленэр. Правда, с некоторыми словами язык определяется не сразу. Но даже если возможно разное написание, вариант с «е» уверенно берет свое: в современных словарях есть и тренд, и бренд — именно так, через «е».

3. Кеш. Да-да, как ни странно, это слово, обозначающее наличность, мы можем найти в орфографическом словаре В.В. Лопатина именно в таком виде — похоже на орешки кешью. А вот компьютерный термин («пользователь удалил запись, но кэш «Яндекса» помнит все») пишется через «э»: по крайней мере такой вариант есть в словаре трудностей русского языка.

4. Хеллоуин. В орфографическом словаре В.В. Лопатина название этого праздника есть, и зафиксирована в нем именно буква «е», хотя через «э» это слово пишут очень часто. Но тут срабатывает общее правило: после согласного «е», а не «э».

В рубрике «Вспомнить все» объясняем правила русского языка так, чтобы стало понятно

5. Кашне и портмоне. В конце этих слов явно слышится «э», но пишутся они через «е» — это надо запомнить. А вот до революции все было по-другому: писали кашнэ, портмонэ. Это делалось для того, чтобы согласная «н» в этих словах не произносилась мягко, как в местоимении «мне».

6. Коттедж. Подчиняется общему правилу, пишется исключительно через «е». 

7. Стейк и брейк. Тут тоже велико искушение написать «брэйк», но не забывайте о правиле. К исключениям типа «мэра» и «пэра» новых слов пока никто не добавлял.

8. Мейл/имейл. Казалось бы, уж мейл-то точно должен писаться через «э»! Но и тут правило непоколебимо. Оба слова есть в орфографическом словаре.

9. Фейсбук. Вокруг Фейсбука было много споров: лингвисты и пользователи обсуждали и ударение (ФейсбУк или ФЕйсбук), и то, нужна ли прописная буква, и выбор между «е» или «э». Слово в итоге подчинилось общему правилу: после согласной «ф» в нем пишется «е», хотя слышится «э». В словарях написание Фейсбука еще не зафиксировано, хотя он сам указал пользователям на свой выбор. Взгляните на то, как написано слово в левом верхнем углу экрана.

10. Карате. Здесь ситуация как с кашне и портмоне. Раньше писалось «э», потом «е».

Владимир Пахомов, главный редактор Грамоты.ру: 

— Когда в 2009 году возник скандал со словарями и журналисты стали писать о том, что в них появились «йогУрт» и «черное кофе», под горячую руку попало и карате. «Теперь можно писать «карате»!» — писали журналисты как о какой-то новой норме. А на самом деле «э» в этом слове сменилось на «е» еще в конце 1990-х и официально закрепилось в таком виде в словарях.

Одно русское слово. Может возникнуть вопрос: почему же через «э» пишется слово «зэк» (а именно такой, единственный, вариант дает новый орфографический словарь). По правилам через «э» пишутся названия букв: бэ, вэ, гэ, дэ и т. д. Это же правило распространяется и на аббревиатуры, которые состоят из названий букв. Слово «зэк», как известно, представляет собой именно аббревиатуру з/к, что означает «заключенный контингент». Аналогичные примеры — кавээнщик, кагэбэшник, эсэмэска.

Интересный факт 

Букву «э» очень любил поэт Игорь Северянин. Он считал, что она придает словам изысканность и аристократичность. Есть даже стихотворение, которое называется «Березовое шалэ». Свои стихи Северянин часто наполнял бесчисленными «э»: 

Элегантная коляска в электрическом биеньи

Эластично шелестела по прибрежному песку…

Я в электрической коляске на эллиптических рессорах…

Даже обычную российскую избу Северянин предлагал «облагородить» с помощью буквы «э». Если написать «эзба», считал он, сразу возникнет образ не крестьянского дома, а того самого «березового шалэ».

www.mn.ru

Обсуждение:Кэш — Википедия

Учитывая что 1) любой кэш (в IT-контексте) является памятью: 2) не любая память является кэшем (что отражено в термине "кэш-память") предлагаю перенести в Кэш следующие статьи:

взяв за основу статью Кеш-память.

Mcherenkov 23:00, 24 июля 2007 (UTC)

При одинаковом объеме кэша схема с большей ассоциативностью будет наименее быстрой, но наиболее эффективной. 1 Что есть большая ассоциативность? 2 Что это значит? — Эта реплика добавлена с IP 79.164.64.127 (о) 23:08, 8 января 2009 (UTC)

Вариант

Собственно, аналогия сравнения кэша (англ. cash) и кеша (cache) заключается в следующем: основная память, к которой происходит обращение (жёсткий диск, ОЗУ) сравнивается с вашим счётом в банке, а кеш — с вашими наличными, которые вы берёте в банке для быстрых расчётов.

получил изрядное распространение, (судя по результатам выдаваемым яндексом за запросы "кэш происхождение" и "кэш этимология"). Однако вероятно правильнее было бы этимологию возводить не к английскому cache и, тем более не к cash, а к французскому cache.

См. также упоминание слова кашне в словарях Даля и Ушакова при переводах с французского и с английского.

Mcherenkov 23:00, 24 июля 2007 (UTC)

Кстати это же слово даёт понять, что скорее всё-таки не кеш, а кэш.

Mcherenkov 23:51, 24 июля 2007 (UTC)

Кеш - это приключение попугая Кеши, а слово транслитерируется правильно как Кэш. В Советском Союзе, по всей технической литературе использовалась транслитерация Кэш, это прежде всего грамотно. Конечно, когда настала эпоха автоматических переводчиков и кое-как переведённой литературы выползли и другие транслитерации.. --aGGreSSor 13:10, 24 мая 2009 (UTC)

Кеш, стал кэшем - как и полагается, реструктуризация не за горами ... SergeyJ 23:15, 21 апреля 2008 (UTC)

А я за кеш, тег, слеш, хеш, флеш, _менеджер_ и много других. Roxis 07:04, 22 апреля 2008 (UTC)
Только не надо ставить это в один ряд. "тег, слеш, хеш" - это вполне правильно, менеджер тем более, но Кэш это совсем другое ... Думаю не стоит обобщать, такое обобщение зачастую не верно. Я уже порядка 10 лет читаю компьютерную литературу, и слово Кеш просто режит слух. SergeyJ 09:51, 22 апреля 2008 (UTC)
Чем же кеш отличается? И читать его иначе не нужно, читайте как /ˈkæʃ/.
Отличается существенно, такого слова Кеш (может это сокращение от Кешимир ?) в русском языке я не знаю ! Флеш - кстати тоже (ну если только Плешь :) ). Ну почитайте хотя бы [1]. На этом думаю дискусия закрыта, тем более что она уже состоялась давно и недавно. Я не специалист по лингвистике, но думаю здесь дело в том какая буква до и после "е" "э". Дальше принимаются мнения сертифицированных лингвистов или ссылки на них (только без бла-бла-бла) :) SergeyJ 14:26, 22 апреля 2008 (UTC)
Если кому-то еще не понятно, несмотря на демогогию Кэш - это четко устоявшийся компьютерный термин, тем кому не нравится пишите по английски. Еще попробуйте просклонять Кеш - и получите полный обсурд (нет кого - кеши :), дать кому -кешу ... ). Да, и представьте - приходит программист на вики - набирает кэш - и не получает известного термина. Короче не доводите дело до абсурда, а то будите похожи на наших умельцев исправлять русские, английские имена на латышский манер. SergeyJ 14:44, 22 апреля 2008 (UTC)
Как же, чёрт побери, интересно читать рассуждения об орфографии человека, пишущего "демогогия" и "будите". — Эта реплика добавлена с IP 212.192.251.12 (о) 18:43, 4 февраля 2009 (UTC)
Русский орфографический словарь: около 180 000 слов. / Российская академия наук. Институт русского языка им. В. В. Виноградова / О. Е. Иванова, В. В. Лопатин (отв. ред.), И. В. Нечаева, Л. К. Чельцова. — Москва, 2005. slovari.ru Roxis 14:54, 22 апреля 2008 (UTC)
Помещаю сюда найденный там ответ

"№ 47 Имя: Toni Tomato Прислано: 20:18:56 23.08.2006 E-mail: [email protected] Город: Москва Вопрос. Английское слово cache в значении "сверхоперативная память" (см. http://lingvo.yandex.ru//en?text=cache ) в русских текстах пишется, как "кеш" и как "кэш". Смотрел в книжке Розенталя (http://spelling.spb.ru/rosenthal/alpha/r6.htm ), выходит, что правильно писать "кеш", хотя мне больше кажется соответсвтвующим произношению языка-источника заимствования этого слова "кэш".

А как, по-вашему мнению, правильно пишется по-русски это слово? И как произносится? Ответ. Здравствуйте! Правильный вариант: кеш (произносится [кэш]). В заимствованных словах на месте произносимого [э] часто пишется е: сленг, трек, кредо, киднеппинг, сет, кодекс и многие другие слова. Написание э на месте произносимого [э] наблюдается сравнительно в небольшом количестве слов, например: сэндвич (а также вариант написания - сандвич), флэш, рэп."

Замедте, что флэш даже рекомендуют писать, через "э". Думаю может быть компромис. Название "Кэш" мы все же оставим как основное (т.к. в много численной литературе оно только так и используется), но учитывая новые веенья дадим рекомендацию писать "Кеш", а так-же сделаем страницу перенаправление с "Кеш" на "Кэш". SergeyJ 15:27, 22 апреля 2008 (UTC)

Дать рекомендацию писать "Кеш", как в современных словарях, но самим использовать "Кэш" из-за популярности? Roxis 16:38, 22 апреля 2008 (UTC)
Именно так, и не как иначе :) Словари пишут единицы, а разговариваю миллионы, более того не нравится мне эта тенденция различать написание и произношение, - это БОЛЬШОЙ минус английского языка и не надо нам лезть в ту же дырку. Русский язык всегда отличался тем, что как слышится так и пишется. Более того, лингвисты (тем более современные) не вызывают у меня доверия в этом вопросе - ЧЕТКОГО правила нету, исключений на ровне с совпадающими по правилам - знаете играть в игру случайностей очень не хочется, тем более когда ВСЕМ известно ТОЛЬКО устаявшиеся выражение. SergeyJ 18:25, 22 апреля 2008 (UTC)
миллионы говорят «ложить», в ВП тоже будем так? Словарь сказал "кеш", значить должен быть "кеш". Я бы не стал отрицать компетентность этих людей. --Leper Messiah 19:25, 4 февраля 2009 (UTC)
Более того замедти не во всех словарях, а лишь в некоторых: во ряд ссылок:

http://www.nbmaster.ru/term/processors-and-motherboards/kesh-pamyat/ http://market.yandex.ru/faq.xml?CAT_ID=651600&hid=91019 http://dic.academic.ru/dic.nsf/business/7108 http://torg.mail.ru/344/gloss/ http://textbook.vadimstepanov.ru/vocab.html

и практически не одного Кеша в нужном нам смысле, кроме рекомендуемого мнения лингвистов, которые не разу даже не открывали книг по Кэшу. Вообще не морочьте мне голову, лучше ссоредоточьтесь на содержании статьи. SergeyJ 18:35, 22 апреля 2008 (UTC) Даже гугл, указывает что наверное вы ошиблись написав Кеш http://www.google.com/search?client=opera&rls=ru&q=Кеш&sourceid=opera&ie=utf-8&oe=utf-8 - и не одного термина, соответствующего смыслу, а только фантазии на эту тему Кэш(Кеш). SergeyJ 18:38, 22 апреля 2008 (UTC)

До того, как компьютерные термины начали появляться в лингвистических словарях, неграмотные программисты писали английские слова как слышали, не используя простого правила http://www.lingvotech.com/eevkorne Оттуда пошло неправильное написание "Кэш" и подобных технических слов. Не стоит продвигать неграмотное написание, только из-за его популярности. А тенденция различать написание и произношение для иностранных слов была всегда. Википедия:Распространённые орфографические ошибки Рунета. Всё, больше голову не морочу. Roxis 19:38, 22 апреля 2008 (UTC)
ну, так там явно написано: "кеш (22%) кэш (78%) не исключено, что оба варианта являются правильными" - поэтому в этом месте историю делаем мы с Вами :) SergeyJ 19:59, 22 апреля 2008 (UTC)
Там ещё явно написано, что Кэш это неправильно. Roxis 09:58, 23 апреля 2008 (UTC)
Не путайте, явно написано - с названием колонки в таблице. Вообщем, ссылку я на рекомендундуемое некоторыми написание дал, а дальше подождем, чтобы в комментариях было не "не исключено, что оба варианта являются правильными", а "в Википедии, просим Кэш - писать как Кеш." - думаю это прероготива администраторов, и пусть пишут бот, который будет автоматически исправлять неправильную орфографию если таковой она является. Но пока этот вопрос более чем спорным и суетится здесь нечего. На этом думаю обсуждение нужно заканчивать. SergeyJ 12:47, 23 апреля 2008 (UTC)
О, только сейчас обратил внимание, Гугл пишет стандартный названия типа "Сохранено в кэше", Live Search "Кэшированная страница" думаю когда транснациональные компании начнут переводить по другому - вот тогда и задумаемся. SergeyJ 13:04, 24 апреля 2008 (UTC)
Как считаете писать другие похожие слова, например Хеш? Roxis 13:31, 24 апреля 2008 (UTC)
К каждому слову нужно подходить индивидуально, написание "Хеш", "Кэш" и "Флэш" - правильно. у нас же живой разговор :), а не машиный ... да Вы сами попробуетй произнести в слух - если слово будет резать ухо - значит не правильно :), не смотря что они похожи буквы то разные - букву "Х" с последующей "е" сильно не смягчишь, а вот после "К" звучание совмсем дибильное SergeyJ 20:05, 8 мая 2008 (UTC)
Повторю, что звучание и написание иностранных слов это совсем разные вещи. В пример опять слово "менеджер". Вы хотите создать новое правило правописания, базирующее на звучании, поверх уже существующего правила. Roxis 20:54, 8 мая 2008 (UTC)
P.S. Вам режет слух, а мне глаза. Roxis 20:59, 8 мая 2008 (UTC)
Я не хочу поощерять тот БРЕД который появился в английском языке - русский язык всегда отличался правилом как пишется - так и слышится ... Вы не заметили, что в ваших правилах указанны КУЧА исключений - а почему ? потому только что их нельзя формализовать - поэтому к словам КЭШ и ФЛЭШ - относитесь КАК К ИСКЛЮЧЕНИЯМ - пока не сможете придумать НОРМАЛЬНОЕ правило отражающие РЕАЛЬНОСТЬ ЗВУКОВ - а не БРЕД лингвистов ... которые видетели договорились ... КОГДА год назад ? А слово блин, уже было столетия ... SergeyJ 00:19, 9 мая 2008 (UTC)
Если лингвисты придумали бред и как слышыца так и пишеца, то всё ясно, пишем как читаем, а читаем как хотим. Roxis 07:14, 9 мая 2008 (UTC)

И снова кэш/кеш и другие[править код]

В Википедия:К переименованию/29 мая 2008 большинство согласно с тем, что Кеш грамматически правильное написание и в статье стоит использовать только его. Википедия:Именование статей/Общепринятые названия:

Статьи, несомненно, должны включать самые новейшие познания, но для заголовка выбирается наиболее общепринятое и узнаваемое на текущий момент название. 

Если большинство не против, приступаю к правке статьи Кэш. Roxis 10:59, 12 июня 2008 (UTC)

А Вы все не успокоетесь, конечно против ... и при обсуждении такого решения небыло, организовывайте обсуждение по этому поводу, а там посмотрим - пока откатываю Ваши изменения. SergeyJ 22:04, 20 июня 2008 (UTC)

Почитайте обсуждение и рекомендацию внимательней и не закрывайте глаза на то, что Вас не устраивает. Я насчитал только двоих участников против Кеш в статье (не в именовании). Roxis 23:20, 20 июня 2008 (UTC)
Такой вопрос вообще в серьез не обсуждался (кроме как только Вами) SergeyJ 23:59, 20 июня 2008 (UTC) Да, и Вы кажется подсчитываете не известно что ... Расхождение в наименовании и по тексту - это нонсенс, который как минимум нужно серьезно обсудить SergeyJ 00:04, 21 июня 2008 (UTC)
Представьте себе книгу с названием "Кэширование для чайников", и далее всюду этого слова нет, а есть нечто ... так о чем статья даже не понятно ... SergeyJ 00:09, 21 июня 2008 (UTC)
Толковый словарь http://www.glossary.ru/cgi-bin/gl_find.cgi?ph=%CA%FD%F8&action.x=27&action.y=12 - дает написание КЭШ. Проверка орфографии в Microsoft Word - дает КЭШ. Проверка орфограффи здесь http://orfo.ru/online/Default.aspx?suid=261205Q4DBY9TWIWZHEB1711531&orfo_text=&x=12&y=10 дает правильный результат для Кэш, кэш и для Кеш, НО не правильный для кеш. А так же правильно ТОЛЬКО кЭширование, и совсем не правильно кеширование. Таким образом Кеш - с большой буквы - это нечто другое чем Кэш. И это не говоря уже о том, что оно ВСЮДУ в программных системах пишется как КЭШ. SergeyJ 00:30, 21 июня 2008 (UTC)
Таким образом, орфографическая правильность слова "Кеш" стоит под большим вопросом, что и отраженно в статье ссылкой как на некоторые из словарей, а точнее на один словарь нонсенс. SergeyJ 01:12, 21 июня 2008 (UTC)

Естественно Кэш. Английская А - это Эй, а не Е. Просто некоторому быдлу кажется эстетически неправильным наличие в слове буквы Э. Хотя орфографически верно именно Кэш. Я не вижу никаких "за" в пользу Кеш. Откуда там Е объясните? 78.138.169.131 09:38, 13 июня 2009 (UTC)

Читайте обсуждение по ссылке к переименованию из начала статьи, а также правила орфографии. Vadim Rumyantsev 09:46, 13 июня 2009 (UTC)
Раскрой глаза, чтобы стало видно. Volodymyr Obrizan 14:51, 13 июня 2009 (UTC)

Люди. У меня вопрос. Ну не могу понять кое-что в статье. Раздел "Кэширование внешних накопителей" 4-ый фактор. Какой-то туманный. Объясните, что значит. А с правописанием пусть лингвисты разбираются: надо же им тоже работать.195.222.71.77 11:49, 16 января 2009 (UTC)

По-моему, кэш - всё же более правильное и созвучное с оригиналом. Кеш - слишком мягкое к. Сравните мэр и метр и почувствуйте разницу. SiMM 17:37, 14 октября 2005 (UTC) А еще лучше сравнить не "мэра" с "метром", а "мэтр" и "метр" - что еще более наглядно - один человек, а другой - единица измерения, причем человек, который наставник, учитель, авторитет в сфере науки или искусства - пишется через "э", в чем можно убедиться, заглянув в Толковый словарь русского языка Ожегова и Шведовой) Twinkling 09:10, 27 апреля 2012 (UTC)

Действительно, существует традиция передавать открытое [æ] как э, а закрытое [e] как е (например, pan → пэн, pen → пен). Но в последнее время букву э почему-то невзлюбили и пишут кеш, бедж и т. п. — Monedula 09:29, 15 октября 2005 (UTC)

cash и cache[править код]

Вряд ли тут есть какая-либо связь — ведь эти слова пишутся одинаково только в русском языке. — Monedula 09:04, 1 декабря 2005 (UTC)

е на э[править код]

У меня не получился диалог с Морфеусом. С Вами, м.б., лучше: Исправьте, плз/п-ста, е на э в слове кеш здесь. — Тжа.

Спросил в pishu_pravilno. Как по мне, то оба варианта используются и надо взять для интерфейса такой же как в заголовках статей кеш и кеш-память --Butko 11:59, 27 октября 2006 (UTC)
Я бы прислушался к голосу Монедульчика. Ну да ладно. Кстати, ответил Вам Solon’чик, любитель вчерашнего дня. Я с ним спорил о дурацких римских цифрах для 1е2-годий, так что его совет в этой сфере для меня не убедителен, скорее, обратное разумно. Как говорят арабы, послушай женщину и сделай наоборот. — Тжа.
gramota.ru говорит, что правильно «кеш» --Butko 12:34, 27 октября 2006 (UTC)
Грамота.ру даёт киберсквоттинг, хотя дискета. Так что она тоже не всегда разумные вещи пишет. Не сто́ит создавать очередного божка. — Тжа.
gramota.ru даёт не своё мнение, которое им кажется правильным, встав с левой пятки в четверг, а ссылается на "Русский орфографический словарь", разрабатываемый Институтом русского языка при РАН. И ориентироваться, "как правильно писать" - надо на орфографический словарь, а не на толковый. Почитайте в Википедии, что это такое =) А по сабжу: Собственно РАН однозначно рекомендует "кеш". --Migs911 (обс.) 15:51, 15 ноября 2017 (UTC)
Кстати, или у gramota.ru сервак глючит, или убрали "кеш" через "е" - говорит "Искомое слово отсутствует". А в других словарях (http://www.gramma.ru/SPR/?id=1.1&page=1&wrd=кэширование&bukv=К) да и в русских виндах (http://support.microsoft.com/kb/290361/ru) - "кэш", "кэш-память" и т.п. Так что по факту преимущественного употребления через "э" можно (и нужно) везде исправить. --Volkov (?!) 22:21, 21 февраля 2007 (UTC)
Написание "кеш" добралось до Хрома и Андроида... Не удивлюсь, если скоро и говорить начнут "кеш", как в своё время некоторые говорили "стёк" вместо "стэк".

188.163.81.22 10:17, 9 июля 2015 (UTC)

Заголовок и содержимое[править код]

В содержимом статьи везде "кэш", а в заголовке ряд активистов пытается прописать значение "кеш". Непоследовательно как-то, тогда бы уж лучше меняли статью целиком... - Ivan the Knight 21:10, 29 мая 2009 (UTC)

  • После переименования теперь и текст можно спокойно поправить. -- AVBtalk 05:16, 30 мая 2009 (UTC)

При 8 Мбайтах кеша на каждое ядро приходится 2 Мбайта. Опечатка?[править код]

В современных многоядерных процессорах кэш второго уровня, находясь на том же кристалле, является памятью раздельного пользования — при общем объёме кэша в 8 Мбайт на каждое ядро приходится по 2 Мбайта. 

Требует пояснения. Для скольки-ядерного процессора при 8 Мбайтах кеша на каждое ядро приходится по 2 Мбайт? В чем заключается «раздельное пользование»? ИМО, здесь опечатка. Alt-sysrq 00:11, 25 июня 2009 (UTC)

По-моему, здесь что-то перепутали с L3 кэшем ядра Nehalem, там он как раз 8 Мбайт и раздельный Zymedo 06:45, 29 июня 2009 (UTC)


"при общем объёме кэша в nM Мбайт на каждое ядро приходится по nM/nC Мбайта"

Насколько я понимаю, в современных процессорах разделяемый кеш не обязан иметь строгого разбития на части, принадлежащие разным процессорам и может динамически перераспределяться. `a5b 22:11, 30 мая 2010 (UTC)

Просьба к участникам: добавьте, пожалуйста, больше русскоязычных книг в раздел "литература". Очень интересно, где встречается "кеш"/"кэш" терминология. Volodymyr Obrizan 05:17, 26 июня 2009 (UTC)

Что имеется в виду под словосочетанием "тотал кэш"? Такое словосочетание имеется, например, на коробках процессоров AMD. Пишу в связи со спором по этому поводу на одном из компьютерных форумов. — Эта реплика добавлена с IP 188.163.58.117 (о) 21:44, 16 ноября 2009 (UTC)

  • Это переводится как "итого" - то есть сколько всего кеш-памяти в сумме. Типа, 16 Кб для код и 16 Кб для данных - это 32 Кб всего. -- AVBtalk 05:27, 17 ноября 2009 (UTC)

"Кэш... — промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью". - Мне кажется, что такое определение не полно, поскольку может быть также накопительный кэш, или играющий роль накопительно-распределительного буфера. Например, в винчестерах или сетевых устройствах. Twinkling 09:33, 27 апреля 2012 (UTC)

отбросить частности[править код]

Предлагаю из определения отбросить частности типа ОЗУ/Жесткий диск:

Доступ к данным в кэше идёт быстрее, чем выборка исходных данных из оперативной (ОЗУ) и быстрее внешней (жёсткий диск или твердотельный накопитель) памяти, за счёт чего уменьшается среднее время доступа и увеличивается общая производительность компьютерной системы.

Урезать до:

Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удаленного источника, однако её объем существенно ограничен по сравнению с хранилищем исходных данных.

А частности будут рассмотрены в подразделах. 217.117.64.202 11:29, 5 июня 2013 (UTC)

ru.wikipedia.org

Кэш (значения) — Википедия

Материал из Википедии — свободной энциклопедии

Перейти к навигации Перейти к поиску

Кеш, Кэш:

  • Кэш, кеш (англ. cache) — в вычислительной технике промежуточный буфер с быстрым доступом.
  • Кеш — необстриженные волосы, один из пяти обязательных атрибутов (какар) сикха.
  • Кеш — город на Евфрате ниже его соединения с Ирниной.
  • Caché — промышленная постреляционная СУБД, интегрированная с технологией разработки веб-приложений.
  • Кэш (англ. cash) — сленговое название наличных денег в США.
  • Кэш (англ. cash) — английское название древней китайской монеты цянь; то же, что чох (см.: Железные монеты).
  • Кэш, Ая (род. 1982) — американская актриса.
  • Кэш, Джеральд (1917—2003) — государственный деятель Багамских островов, генерал-губернатор.
  • Кэш, Джонни (англ. Johnny Cash; 1932—2003) — американский певец.
  • Кэш, Коди (род. 1987) — американский актёр.
  • Кэш, Пэт (англ. Patrick Hart «Pat» Cash; 1965) — австралийский профессиональный теннисист.
  • Кэш, Свин (род. 1979) — американская профессиональная баскетболистка.
  • Кэш, Стивен (англ. Steven Cash; 1989) — американский следж-хоккеист, вратарь.
  • Табата Кэш (фр. Tabatha Cash; 1973) — французская порноактриса.
  • Кеши — демон-оборотень, который, приняв образ дикой лошади, напал на жителей Вриндавана. Убит Господом Кришной.
  • Кеши-судана — одно из имен Кришны, означающее «Кришна, убивший демона Кеши».
  • Геокэшинг (англ. geocaching) — туристическая игра с применением спутниковых навигационных систем, состоящая в нахождении тайников, спрятанных другими участниками игры.
  • Танго и Кэш — комедийный боевик, США, 1989 год. Режиссёр — Андрей Кончаловский.
  • Кеше — прежнее название города Шахрисабз (Узбекистан).
  • Кэшик, кешик — личная гвардия великих ханов (каанов) монгольского государства, учреждённая Чингис-ханом.
Скрытая категория:

ru.wikipedia.org

Что такое кэш? Простыми словами что такое кэш память на ПК, телефоне, браузере

Автор: Александр Мойсеенко / Опубликовано:06.02.2019 / Последнее обновление: 16.12.2019

Кэш – это временные файлы или копии файлов и данных, сохраненные в памяти компьютера, телефона, сервера или браузера для быстрой загрузки по запросу пользователя, а также буфер обмена информации электронных устройств. Хотя название во всех случаях одинаковое, но принцип работы несколько отличается. В статье мы расскажем, в чем отличительные особенности разных типов кэша на разных устройствах.

Слово кэш пришло к нам от английского cache, что дословно переводится как “тайник”. Не путайте его с однозвучным словом cash, которое означает “наличные деньги”.

Говоря простыми словами, кэш (cache) представляет собой копии файлов, которыми вы пользовались, для быстрого доступа к ним. Если вы их удалите, то телефон, компьютер или браузер создаст их снова сразу после использования той или иной программы.

Назначение и тип кэша

Кэшем зовут промежуточный буфер обмена с быстрым доступом, где содержится информация, которая может быть повторно запрошена. А процесс записи данных в кэш принято называть кэшированием. Извлечение данных из кэша занимает меньше времени, в сравнении с медленной памятью или из удаленных источников. Поэтому главное назначение кэша – снизить временную задержку при доступе к информации и увеличить быстродействие устройства, программы или операционной системы.

Кэширование и кэшированные данные

Выделяют два типа кэша:

  1. Аппаратный.
  2. Программный.

Аппаратная реализация

Аппаратный кэш используется в электронных компонентах и мобильных устройствах – жестком диске, процессоре ПК или смартфона. В память с быстрым доступом помещаются и извлекаются копии часто используемых инструкций и записей. Причем если в HDD в качестве хранилища используется микросхема, то у центрального процессора для ПК или в составе мобильной платформы, кэш состоит из нескольких уровней именуемых L1, L2, L3 и т.д. Объем каждого последующего уровня кэша больше, при этом пропускная способность заметно ниже.

Организацию кэш-памяти центрального процессора для ПК рассмотрим на примере Intel Xeon E3-1240. Объем кэша L1 – 32 КБ на ядро, L2 – 256 КБ на ядро, а L3 – 8 МБ на все ядра. У более современных и многоядерных процессоров, объем памяти больше. Скорость чтения, записи и копирования, у каждого последующего уровня на 30-50% меньше. При этом пропускная способность самого медленного кэша L3 – в 6-8 раз выше, в сравнении с оперативной памятью.

Пропускная способность аппаратного кэша.

Принцип работы кэша следующий. Благодаря заложенным алгоритмам, процессор заранее просчитывает, какой тип данных потребуется, для чего извлекает заранее подготовленные записи. Если же расчет выполнен неверно или нужная запись отсутствует, цепочка действий выстраивается заново, а поиск требуемых данных выполняется в удаленных разделах памяти – кэш L2 или L3, оперативная память или HDD. В обоих случаях продолжительность обработки запроса увеличивается. Читайте подробнее о назначении кэша в процессоре.

Для наглядного понимания работы кэш-памяти и скорости работы, представим в качестве задачи – приготовление салата в реальной жизни. Держа в уме рецепт, вы поочередно добавляете нужные ингредиенты, что находятся на столе. Если требуемого ингредиента под рукой нет, поиск переносится в другое место. Когда выяснится, что нужного компонента дома нет, вам придется сходить в ближайший магазин или съездить в отдаленный супермаркет, а затем вернуться и закончить приготовление. Именно такой путь проделывает процессор при выполнении каждой задачи.

Стоит отметить, что увеличить объем аппаратного кэша невозможно. И если для процессора это не критично, так как производитель устанавливает оптимальный объем памяти, то для жесткого диска лишней кэш память не будет. Поскольку часть памяти отведено под прошивку и микро ОС. Оптимальный объем 128 или 256 МБ.

Программная реализация

Программный кэш представляет собой область данных на диске, обычно папку, где приложения или операционная система хранит часто используемые файлы. При повторном запросе со стороны пользователя, программа ищет данные в кэше для оперативной загрузки. Если информация отсутствует или устарела, загрузка производится из внешних источников – интернета.

Стоит отметить, что на скорость считывания и загрузки данных из кэша влияет тип накопителя. Наивысшую скорость обеспечивают твердотельные диски – SSD, среднюю скорость демонстрируют гибридные решения SSD и HDD – HHD, наименьшая скорость у диска HDD.

Кэш в разных устройствах

Что такое кэш браузера

В браузере используется программная реализация кэширования на диск. Информация о просмотренных страницах сохраняется в выделенную область памяти. При следующем запросе, программа сначала ищет страницу в кэш-памяти. Если поиск удачен – загружает страницу, в ином случае скачивает повторно из интернета. Таким образом, достигается быстрая загрузка данных, что эффективно при слабом или отсутствующем подключении к интернету.

Из недостатков стоит отметить длительность поиска кэшированной страницы, на что влияет тип и загруженность накопителя, а так же общая конфигурация компьютера. На слабых машинах со старыми или изношенными дисками, скорость работы ощутимо ниже. Поэтому переполненную область данных рекомендуется периодически очищать. Узнайте подробнее как очистить кэш браузера, в нашем отдельном материале.

Что такое кэш на компьютере

На компьютере операционная система так же использует программную реализацию кэширования. Остаточные файлы обновления системы, отчеты различных служб, базы данных и т.д., обычно хранятся во временной выделенной области памяти на диске.

Статистика очистки памяти на компьютере

Так же на компьютере используется другой вид программного кэширования – файл подкачки. В скрытое от пользователя хранилище, игры и приложения записывают данные, что не поместились в оперативной памяти или что могут пригодиться позднее. Объем файла подкачки регулируется в операционной системе и позволяет частично компенсировать нехватку оперативной памяти.

Стоит отметить, что компьютер так же нуждается в удалении временных файлов для увеличения производительности. Смотрите детальнее как очистить кэш на компьютере.

Что такое кэш на телефоне

На телефоне, в частности с ОС Android, кэшем одновременно называют временные файлы, а так же дополнения к приложениям и играм. В первом случае, временные файлы образовываются в процессе работы программ. В число данных входят сохраненные страницы из интернета, миниатюры фотографий в галерее, отчеты о работе или сбоях и т.д.

Кэш в виде дополнения к играм или программам – неотъемлемая часть приложения для нормальной работы или доступа к дополнениям. В играх такой вид временных данных хранит текстуры, языковые пакеты, библиотеки и т.д. Если данные отсутствуют, то игра не запустится или не заработает на определенном этапе. В случае с программой, ограничения коснуться определенных функций.

В ОС Android кэш активных пользователей часто достигает 2 ГБ, что ощутимо заметно на устройствах, где 8 или 16 ГБ внутренней памяти. Для освобождения памяти или ускорения работы устройства, рекомендуется удалить ненужные файлы. Узнайте детальнее, как очистить кэш на андроиде в отдельной статье.

Данные кэша в телефоне.

Краткое резюме

  • Существует аппаратный и программный кэш.
  • Аппаратный кэш использует собственную память с быстрым доступом. Программный кэш – хранит данные в папке на диске.
  • Аппаратный кэш способствует увеличению производительности компьютера, за счет уменьшения обращений к оперативной и дисковой памяти. Программный кэш ускоряет загрузку ранее просмотренной информации.
  • Аппаратное увеличение кэш-памяти недоступно. Объем программной кэш-памяти ограничено свободным пространством на диске.
  • Для освобождения памяти и увеличения быстродействия системы, программный кэш рекомендуется периодически очищать.
  • Кэширование – процесс создания и сохранение в памяти копий файлов.
  • Кэшированные данные – сохраненные копии файлов программ, приложений, страниц и др.

Видео инструкции

Вывод

В статье мы детально описали, что такое кэш. В чем различия, а так же как устроена работа кэш-памяти. Промежуточный буфер обмена информацией способствует повышению быстродействия и производительности. При этом программный кэш лучше очищать несколько раз в год, что бы исключить переполнения и замедления работы компьютера или телефона.

Какие у вас есть вопросы? Задавайте интересующий вас вопрос в комментариях.

Загрузка...

Поделиться:[addtoany]

androfon.ru

Кеш Википедия

Кэш[1][2][3][4] или кеш[5][6][7] (англ. cache, от фр. cacher — «прятать»; произносится [kæʃ] — «кэш») — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удалённого источника, однако её объём существенно ограничен по сравнению с хранилищем исходных данных.

История[ | ]

Впервые слово «cache» в компьютерном контексте было использовано в 1967 году во время подготовки статьи для публикации в журнале «IBM Systems Journal». Статья касалась усовершенствования памяти в разрабатываемой модели 85 из серии IBM System/360. Редактор журнала Лайл Джонсон попросил придумать более описательный термин, нежели «высокоскоростной буфер», но из-за отсутствия идей сам предложил слово «cache». Статья была опубликована в начале 1968 года, авторы были премированы IBM, их работа получила распространение и впоследствии была улучшена, а слово «кэш» вскоре стало использоваться в компьютерной литературе как общепринятый термин[8].

Функционирование[ | ]

Отображение кэша памяти ЦПУ в основной памяти.

Кэш — это память с большей скоростью доступа, предназначенная для ускорения обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа (далее «основная память»). Кэширование применяется ЦПУ, жёсткими дисками, браузерами, веб-серверами, службами DNS и WINS.

Кэш состоит из набора записей. Каждая запись ассоциирована с элементом данных или блоком данных (небольшой части данных), которая является копией элемента данных в основной памяти. Каждая запись имеет идентификатор, часто называемый тегом, определяющий соответствие между элементами данных в кэше и их копиями в основной памяти.

Когда клиент кэша (ЦПУ, веб-браузер, операционная система) обращается к данным, прежде всего исследуется кэш. Если в кэше найдена запись с идентификатором, совпадающим с идентификатором затребованного элемента данных, то используются элементы данных в кэше. Такой случай называется попаданием кэша. Если в кэше не найдена запись, содержащая затребованный элемент данных, то он читается из основной памяти в кэш, и становится доступным для последующих обращений. Такой случай называется промахом кэша. Процент обращений к кэшу, когда в нём найден результат, называется уровнем попаданий, или коэффициентом попаданий в кэш.

Например, веб-браузер проверяет локальный кэш на диске на наличие локальной копии веб-страницы, соответствующей запрошенному URL. В этом примере URL — это идентификатор, а содержимое веб-страницы — это элементы данных.

Если кэш ог

ru-wiki.ru

Кэш – что это такое простыми словами

С появлением компьютера и развитием Интернета в наш лексикон ворвалось много новых терминов. Один из них – кэш. Что это такое простыми словами? Попробуем в этом разобраться.

Общие понятия о кэше

Согласно Википедии, кэшем называют промежуточный буфер памяти, который содержит информацию с наибольшей вероятностью запроса. Скорость доступа к этой памяти гораздо больше, чем получение данных из исходного хранилища.

Часто кэшем называют также временные файлы и данные, хранящиеся в памяти компьютера, телефона, браузера или сервера.

Процесс сохранения информации в кэш называют кэшированием.

Для более ясного понимания, что такое кэш, можно привести такую аналогию.

Допустим вам нужно приготовить доклад на какую-то тему. Для этого вам нужны определенные документы, книги. Вы идете в библиотеку, выбираете нужные вам материалы, приносите домой и кладете на свой рабочий стол. Теперь для получения нужной информации достаточно протянуть руку и открыть соответствующую книгу. В данном случае рабочий стол играет роль кэша.

Назначение кэша – сократить время доступа к информации и, тем самым увеличить быстродействие компьютера или программы.

Типы кэша

Кеширование применяется во многих случаях, когда нужно увеличить скорость работы с данными, поэтому реализовать его можно по-разному. Выделяют два способа кэширования:

  • Аппаратная реализация;
  • Программная реализация.

Рассмотрим эти способы немного подробнее.

Аппаратная реализация

Такой способ кэширования основан на использовании специального устройства памяти для хранения и быстрого извлечения информации.

Например, жесткий диск имеет специальную микросхему в качестве такого хранилища.

Сложную многоступенчатую систему кэширования имеет центральный процессор или мобильные устройства. Естественно, увеличить размер аппаратного кэша нельзя.

Программная реализация

При таком способе кэширования для временного сохранения данных выделяется область на диске, в которой ОС или приложение хранят часто используемые файлы. При каждом запросе пользователя программа сначала обращается за данными к кэшу, и, если эти данные отсутствуют, загружает их из удаленных источников, например, Интернета.

При программном кэшировании размер кэша зависит от размера свободного дискового пространства, а скорость загрузки – от типа носителя.

Кэширование на компьютере

Операционная система компьютера использует программное кэширование. В выделенной области диска хранятся различные временные файлы, которые возникают при работе компьютера.

Кэшированием можно назвать и использование так называемого файла подкачки, который создает ОС на диске ПК.

Как известно, при работе компьютера файлы программ и обрабатываемые данные загружаются в оперативную память для более быстрого доступа к ним. Но этой памяти может быть недостаточно, тогда часть данных отправляется в файл подкачки, который играет роль дополнительного ОЗУ. Объем этого файла регулируется ОС и тем самым компенсируется недостаток оперативной памяти.

Что такое кэш на телефоне

Современные телефоны и смартфоны также используют кэш в своей работе, но здесь это понятие несколько шире. Кэш на телефоне — это не только временные файлы, но и дополнения к программам и играм. Без них программы и игры будут иметь ограничения в работе, а в некоторых случаях даже не запустятся.

   или 

Что такое кэш браузера

Любой современный браузер (Chrome, Opera, Mozilla и т. д.) обязательно использует кэширование. Это необходимо для быстрой загрузки веб-страниц и экономии трафика. Это достаточно легко проверить. Если измерить время загрузки страницы при первом посещении сайта и время ее повторной загрузки, то они могут заметно отличаться, так как во втором случае многие файлы, составляющие эту страницу, будут загружаться из кэша на жестком диске вашего компьютера, а не из Интернета.

В браузере используется программное кеширование. Эта технология позволяет быстрее загружать и последующие страницы сайта, хотя заходим на них только первый раз. Объясняется это тем, что на них обязательно присутствуют повторяющиеся элементы (шапка, подвал, сайдбар и т. д.), которые уже сохранены в кэше после посещения одной страницы.

Кэширование браузером веб-страниц имеет и недостатки. Например, если мы посещаем много различных сайтов, то кэш оказывается заполненным информацией о них, а при заходе на новый сайт браузер сначала пытается найти информацию о нем в кэше и, только не найдя ничего, начинает загрузку из Интернета. В результате время загрузки оказывается даже больше, чем без кэширования. Поэтому кэш браузера необходимо периодически чистить.

Кэш центрального процессора

Процессоры имеют огромную скорость обработки данных, которую не может обеспечить оперативная память. Именно поэтому центральный процессор использует кэширование, при этом он имеет 2-3 уровня кэш-памяти, которые обозначаются L1-L2 (Level 1-3). Уровень L1 имеет наименьший объем, но наибольшую скорость работы. Он работает на той же частоте, что и процессор. Последующие уровни имеют соответственно меньшую скорость работы, но больший объем. Иногда кэш-память центрального процессора называют сверхоперативной памятью.

Очистка кэша

Нужно ли чистить кэш? Вернемся к нашей аналогии с библиотекой и рабочим столом.

Допустим, вы закончили свой доклад, но книги, которые взяли в библиотеке, еще не вернули, они остались на столе. Теперь вы начали готовить новый текст, для которого принесли новые книги и положили на стол. Ели продолжать в том же духе, то через некоторое время ваш рабочий стол будет завален книгами, большинство из которых вам уже не нужно, черновиками и т. д. Конечно, работать в этом случае будет труднее, и находить нужную информацию вы будете все медленнее. Поэтому ненужные книги нужно сдавать в библиотеку, а черновики выбрасывать.

Точно также нужно периодически чистить кэш, причем, когда говорится об очистке, имеется в виду программный кэш. Аппаратный кэш – это микросхемы, которые содержат данные только при работе компьютера, а при его выключении все автоматически исчезает.

Для очистки кэша существуют как встроенные, так и специальные программные средства. Рассмотрим некоторые, наиболее важные.

Как очистить кэш браузера

У каждого браузера в меню есть команда для очистки кэша. Найти ее несложно, но сделаю подсказки для наиболее распространенных браузеров.

Google Chrome

В правом верхнем углу браузера нажимаем на кнопку Меню, выбираем Настройки, открывшуюся вкладку прокручиваем вниз и открываем Дополнительные, здесь находим пункт Очистить историю.

В открывшемся окне ставим галочки для тех данных, которые нужно удалить, выбираем временной интервал и нажимаем Удалить данные.

Mozilla Firefox

Аналогично, заходим в Меню, открываем вкладку Настройки,

выбираем раздел Приватность и защита

и находим пункт Куки и данные сайтов.

После нажатия также в открывшемся окне выбираем, что нужно удалять.

Opera

Точно также идем в Меню Простые настройки и прокручиваем его до пункта Очистить историю посещений

После нажатия на кнопку открывается окно, в котором отмечаем данные,подлежащие удалению и жмем Удалить данные.

Универсальный метод

Если не хочется искать в меню нужную команду, можно использовать метод, который работает во всех браузерах. Это набор горячих клавиш

Ctrl+Shift+Delete,

который сразу открывает нужное окно.

CCleaner

Существует много, так называемых, программ-«чистильщиков», предназначенных для очистки компьютера от разного рода «мусора» и ускорения его работы.

CCleaner  — наиболее известная из них. Она предназначена для очистки и оптимизации компьютеров с ОС Windows.

С ее помощью можно удалить нежелательные или нерабочие файлы, недействительные или неверные записи в реестре и многое другое. Одна из функций – удаление кэшированных данных, созданных как операционной системой, так и различными приложениями, в первую очередь, браузерами.

CCleaner — программа очень полезная, и я считаю ее одной из обязательных для установки на компьютер.

Программа Glary Utilities

GU – еще одна универсальная программа для чистки и оптимизации ОС. Ее основные возможности, в основном, сходны с возможностями предыдущей программы. Хочу отметить очень удобную команду 1-Кликом, которая находится во второй вкладке окна программы. Эта кнопка запускает целую серию команд, в функции которых входит стандартная очистка ПК. Настраивать при этом ничего не нужно.

Программа имеет дружеский пользовательский интерфейс, что позволяет применять ее пользователям любого уровня. Она также входит в разряд рекомендованных мной.

Кэширование сайта

Этот вопрос наиболее актуален для веб-мастеров.

Страницы сайта могут кэшироваться на нескольких уровнях.

Большинство современных сайтов написаны на языке PHP и имеют динамические страницы, которые создаются «на лету» по запросу пользователя. Вкратце напомню, как это происходит.

После запроса посетителя сайта (то есть клика по ссылке на страницу) сервер обращается к базе данных и папкам, содержащим необходимые медиафайлы, файлы стилей, скриптов, находит нужную информацию и, используя команды, написанные на языке PHP, формирует HTML-страницу, актуальную на данный момент и для данного посетителя. Именно эту страницу и получает браузер. Так как большинство страниц изменяется редко или не изменяется совсем, сервер отправляет их в кэш, чтобы при последующих запросах не создавать их заново. Это заметно сокращает время загрузки.

Очень много (большая часть) сайтов создано с использованием различных CMS (WordPress, Joomla!, Drupal …). Для таких ресурсов уже разработаны готовые решения для кэширования в виде плагинов или расширений.

Например, самый популярный движок WordPress может использовать такие плагины кэширования:

  • WP Rocket,
  • W3 Total Cache,
  • WP Super Cache,
  • WP Fastest Cache,
  • Comet Cache,
  • Cache Enabler и многие другие.

Каждый из них имеет свои возможности и настройки. Я использую на своих сайтах плагин Hyper Cache. Он бесплатный, легко настраивается и неплохо справляется со своими обязанностями.

Другой уровень кэширования сайта уже описывался выше. Это кэш браузера, то есть сохранение информации на уровне клиента.

Все эти методы позволяют заметно увеличить скорость загрузки сайта, снизить нагрузку на сервер и сэкономить трафик. Но иногда кэширование мешает актуальному отображению страниц сайта, так как загружаются данные, которые устарели. Поэтому приходится очищать кэш вручную.

Итак, подводя итоги, можно сказать простыми словами, что кэш – это место для временного хранения информации, которая может быть затребована в ближайшее время. Он служит для ускорения доступа к данным, но для оптимальной работы его нужно периодически очищать.

kviter.ru

Алгоритмы кэширования — Википедия

В информатике под алгоритмами кэширования (часто называемыми алгоритмами вытеснения или политиками вытеснения, а также «алгоритмами/политиками замещения») понимают оптимизацию инструкций — алгоритмы — особая компьютерная программа или аппаратно поддерживаемая структура, способная управлять кэшем информации, хранимой в компьютере. Когда кэш заполнен, алгоритм должен выбрать, что именно нужно удалить из него, чтобы иметь возможность записи (в кэш) новой, более актуальной информации.

«Уровень попаданий» кэша означает то, насколько часто искомые данные обнаруживаются в кэше. Более эффективные политики вытеснения отслеживают обращения к наиболее используемой информации, чтобы улучшить уровень попаданий (при том же размере кэша).

«Латентность» кэша означает, насколько быстро кэш может вернуть запрошенные данные непосредственно после запроса (в случае, если происходит «попадание»). Более быстрые стратегии вытеснения обычно отслеживают наименее используемую информацию — или, в случае кэша прямого отображения (direct-mapped cache), отсутствие информации, чтобы снизить затраты времени на обновление информации.

Каждая стратегия вытеснения является компромиссом между уровнем попаданий и латентностью.

Алгоритм Белади[править | править код]

Наиболее эффективное правило вытеснения — отбрасывать из кэша ту информацию, которая не понадобится в будущем дольше всего. Этот оптимальный алгоритм кэширования назвали алгоритмом Белади или алгоритмом предвидения. Так как в общем случае невозможно предсказать, когда именно в следующий раз потребуется именно эта информация, то на практике (опять же, в общем случае) подобная реализация невозможна. Практический минимум может быть вычислен только опытным путём, после чего можно сравнить с ним эффективность текущего алгоритма кэширования.

Least recently used (Вытеснение давно неиспользуемых)[править | править код]

Least recently used (LRU): в первую очередь, вытесняется неиспользованный дольше всех. Этот алгоритм требует отслеживания того, что и когда использовалось, что может оказаться довольно накладно, особенно если нужно проводить дополнительную проверку, чтобы в этом убедиться. Общая реализация этого метода требует сохранения «бита возраста» для строк кэша и за счет этого происходит отслеживание наименее использованных строк (то есть за счет сравнения таких битов). В подобной реализации, при каждом обращении к строке кэша меняется «возраст» всех остальных строк. LRU на самом деле является семейством алгоритмов кэширования, в которое входит 2Q, разработанный Теодором Джонсоном и Деннисом Шаша, а также LRU/K от Пэта О’Нила, Бетти О’Нил и Герхарда Вейкума.

Most Recently Used (Наиболее недавно использовавшийся)[править | править код]

Most Recently Used (MRU): в отличие от LRU, в первую очередь вытесняется последний использованный элемент. В соответствии с источником[1], «Когда файл периодически сканируется по циклической схеме, MRU — наилучший алгоритм вытеснения». В источнике[2] авторы также подчеркивают, что для схем произвольного доступа и циклического сканирования больших наборов данных (иногда называемых схемами циклического доступа) алгоритмы кэширования MRU имеют больше попаданий по сравнению с LRU за счет их стремления к сохранению старых данных. Алгоритмы MRU наиболее полезны в случаях, когда чем старше элемент, тем больше обращений к нему происходит.

Псевдо-LRU[править | править код]

Псевдо-LRU (PLRU): Для кэшей с большой ассоциативностью (обычно >4 каналов), цена реализации LRU становится непомерно высока. Если достаточна схема, что почти всегда нужно отбрасывать наименее используемый элемент, то в этом случае можно использовать алгоритм PLRU, требующий для элемента кэша только один бит.

Адрес в памяти может быть кэширован в виде адреса в кэше

Сегментированный LRU[править | править код]

Сегментированный LRU (Segmented LRU или SLRU): «SLRU-кэш делится на два сегмента. пробный сегмент и защищенный сегмент. Строки в каждом сегменте упорядочены от частоиспользуемых к наименее используемым. Данные при промахах добавляются в кэш, причем в область последних использованных элементов пробного сегмента. Данные при попаданиях убираются где бы они не располагались и добавляются в область частоиспользуемых элементов защищенного сегмента. К строкам защищенного сегмента обращения таким образом происходят по крайней мере дважды. Защищенный сегмент ограничен. Такой перенос строки из пробного сегмента в защищенный сегмент может вызвать перенос последней использованной (LRU) строки в защищенном сегменте в MRU-область пробного сегмента, давая этой линии второй шанс быть использованной перед вытеснением. Размер защищенного сегмента — SLRU-параметр, который меняется в зависимости от схемы работы ввода-вывода. Всякий раз когда данные должны быть вытеснены из кэша, строки запрашиваются из LRU-конца пробного сегмента.[3]»

2-Way Set Associative (2-канальная ассоциативность)[править | править код]

2-канальная ассоциативность применяется для высокоскоростного процессорного кэша, где даже PLRU слишком медленен. Адрес нового элемента используется для вычисления одного из двух возможных местонахождений в кэше (в отведенной для этого области). По алгоритму LRU два элемента вытесняются. Это требует одного бита для пары строк кэша [источник не указан 3712 дней] для указания которые из них использовались последними.

Кэш прямого отображения (Direct-mapped cache)[править | править код]

Кэш прямого отображения: для высокоскоростных кэшей процессора, где не хватает быстродействия 2-канального ассоциативного кэширования. Адрес нового элемента используется для вычисления местонахождения в кэше (в отведенной для этого области). Все, что было ранее, — вытесняется.

Least-Frequently Used (Наименее часто используемый)[править | править код]

Least Frequently Used (LFU): LFU подсчитывает как часто используется элемент. Те элементы, обращения к которым происходят реже всего, вытесняются в первую очередь.

Adaptive Replacement Cache (Адаптивная замена)[править | править код]

Adaptive Replacement Cache (ARC):[4] постоянно балансирует между LRU и LFU, что улучшает итоговый результат.

Multi Queue Caching Algorithm (Алгоритм многопоточного кэширования)[править | править код]

Multi Queue (MQ) caching algorithm:[5] (разработанный И. Жу, Дж. Ф. Филбином и Каем Ли).

Учитываются следующие моменты:

  • Элементы с различной стоимостью: хранение элементов, запрос которых весьма дорог, например, такие, получение которых затребует много времени.
  • Элементы, требующие больше места в кэше: если элементы имеют разный размер, то кэш может попытаться вытеснить бо́льший элемент, чтобы сохранить несколько элементов поменьше.
  • Элементы, устаревающие с течением времени: Некоторые кэши хранят устаревающую информацию (например, кэш новостей, DNS-кэш или кэш веб-браузера). Компьютер может вытеснить элементы вследствие их устаревания. В зависимости от размера кэша, кэширование новых элементов может потребовать вытеснение старых.

Существуют также различные алгоритмы для обеспечения когерентности кэша. Это применяется в случаях только когда множество независимых кэшей используется для хранения одной и той же информации (например, множество серверов баз данных обновляют общий файл данных).

ru.wikipedia.org

Стратегия кеширования в приложении / Habr

Когда заходит разговор о кешировании складывается парадоксальная ситуация. С одной стороны все понимают важность и нужность кеширования в архитектуре приложений. С другой стороны мало кто может внятно объяснить что и как надо кешировать.

Обычно люди сходу начинают предлагать готовые реализации кеша, вроде memcached или HTTP-кеша, но это лишь ответ на вопрос где кешировать.

Кеширование – одна из многих тем, наряду с безопасностью и логированием, о которых знают и говорят все, но мало кто может это сделать правильно.

Зачем нужен кеш

Кеш приближает данные к месту их использования. В современном мире, состоящим на 98% из интернета, данные обычно лежат очень далеко от пользователя. На всем пути от хранилища к пользователю есть кеши, которые служат только одной цели – чтобы пользователь как можно быстрее получил свои данные.

Если рассмотреть внимательнее, то видно, что драгоценное время тратится на обработку данных в поставщике и передачу данных от поставщика клиенту, время обработки данных на клиенте тут не учитываем.

При наличии высоких нагрузок кеширование просто необходимо. Оно позволяет обслуживать больше клиентов, с теми же ресурсами, потому что поставщики данных больше отдыхают. Но даже при невысоких нагрузках кеширование положительно влияет на отзывчивость приложения.

Кеш нельзя просто включить

Одно из основных заблуждений насчет кеширования заключается в том, что многие думают что кеш можно просто включить.

На заре своей карьеры программиста я один раз просто так включил кеширование, буквально через час пришлось его выключить. Тогда я нарвался на основную проблему при кешировании – устаревание данных. Пользователь после изменения данных не видел результата 15 минут.

Очень важно понимать что и как вы собираетесь кешировать, чтобы не нарушать логику работы приложения. И первый вопрос, на который вам необходимо ответить – насколько устаревшие данные можно отдавать клиенту. Естественно можно сделать свой кеш для каждого клиента, это упростит решение вопроса об актуальности данных, но принесет много других проблем.

Типы кеширования

Есть три основных типа кеширования по механике работы:
  • Lazy cache, он же ленивый кеш, он же тупой кеш – самый простой в реализации тип кеширования, зачастую встроен в фреймворки. Кеш просто сохраняет данные и отдает их пока не устареет.
  • Synchronized cache, синхронизированный кеш – клиент вместе с данными получается метку последнего изменения и может спросить у поставщика не изменились ли данные, чтобы повторно из не запрашивать. Такой тип кеширования позволяет всегда иметь свежие данные, но очень сложен в реализации.
  • Write-through cache, или кеш сквозной записи – любое изменение данных выполняется сразу в хранилище и в кеше. Этот тип кеша может никогда не устаревать, но возникают проблемы с так называемой “когерентностью”.

Наверное можно придумать и другие типы кешей, но я не встречал.

Устаревание и когерентность кеша

Объем кеша всегда ограничен. Зачастую он меньше объема данных, которые в этот кеш можно положить. Поэтому элементы, помещенные в кеш, рано или поздно будут вытеснены. Современные фреймворки для кеширования позволяют очень гибко управлять устареванием, учитывая приоритеты, время устаревания, объемы данных итд.

Если одни и те же данные попадают в разные кеши, то возникает проблема когерентности кеша. Например одни и те же данные используются для формирования разных страниц и кешируются страницы. Страницы сформированные позже будут содержать обновленные данные, а страницы, закешированные раньше, будут содержать устаревшие данные. Таким образом будет нарушена согласованность поведения.

Простой способ поддержания когерентности – принудительное устаревание (сброс) кеша при изменении данных. Поэтому увеличение памяти для кеша, чтобы он меньше устаревал, не всегда хорошая идея.

Эффективность кеша

Основной параметр, который характеризует систему кеширования – это процент попаданий запросов в кеш. Этот параметр довольно легко измерить, чтобы понять насколько ваша система кеширования эффективна.

Частые сбросы кеша, кеширование редко запрашиваемых данных, недостаточный объем кеша – все это ведет к пустой трате оперативной (обычно) памяти, не повышая эффективность работы.

Иногда данные меняются настолько часто и непредсказуемо, что кеширование не даст эффекта, процент попаданий будет близок к нулю. Но обычно данные считываются гораздо чаще, чем записываются, поэтому кеши эффективны.

Применение разных типов кеширования

Ленивый кеш

Это самый простой вид кеширования, но его нужно использовать осторожно, так как отдает устаревшие данные. Можно при каждой записи сбрасывать ленивый кеш, чтобы поддерживать актуальность данных, но тогда затраты на реализацию будут сравнимы с более сложными типами кеширования.

Такой тип кеширования можно использовать для данных, которые почти никогда не меняются. Другой вариант использования – делать ленивый кеш с небольшим временем устаревания для стабильной работы при всплесках нагрузки.

Такой тип кеширования позволит быстрее всех дать ответ.

Синхронизированный кеш

Это самый полезный тип кеширования, так как отдает свежие данные и позволяет реализовать многоуровневый кеш.

Такой тип кеширования встроен в протокол HTTP. Сервер отдает метку изменения, а клиент кеширует у тебя результат и в последующем запросе передает эту метку. Сервер может дать ответ, что состояние не изменилось и можно использовать кешированный на клиенте объект. Сервер в свою очередь, получив метку может переспросить у хранилища были ли изменения или нет.

Этот тип кеширования не избавляет от накладных расходов на общение между системами. Поэтому часто дополняется другими типами кеширования, чтобы ускорить работу.

Кеш сквозной записи

Если есть система распределенного кеширования (memcached, Windows Sever App Fabric, Azure Cache), то можно использовать кеш сквозной записи. Рукопашная реализация синхронизации кешей между узлами сама по себе отдельный большой проект, потому не стоит заниматься ей в рамках разработки приложения.

Не стоит пытаться кешировать все в синхронизированном кеше, иначе большая часть кода приложения будет заниматься перестройкой кеша.

Также не стоит забывать что системы распределенного кеширования также требуют общения между системами, что может сказываться на быстродействии.

Что еще нужно учитывать в стратегии кеширования

Выбирайте правильную гранулярность кешируемых данных. Например кеширование данных для каждого пользователя скорее всего будет неэффективно при большом количестве пользователей. Если кешировать данные для всех пользователей разом, то возникнут проблемы с устареванием данных и когерентностью кеша.

Кешируйте данные как можно позже, непосредственно перед отдачей во внешнюю систему. Кешировать данные, полученные извне, необходимо только в случае проблем с производительностью на этом этапе. Внешние хранилища, такие как СУБД и файловые системы, сами реализуют кеширование, поэтому обычно нет смысла кешировать результаты запросов.

Не нужно городить свои велосипеды для кеширования в приложениях, обычно уже есть готовые инструменты и надо уметь ими пользоваться.

Заключение

Надеюсь статья была интересной и полезной для вас. Комментируйте, оценивайте, буду рад любым предложениям.

habr.com

Википедия:Кэш — Википедия

Страницы Википедии сохраняются в нескольких местах, в так называемом кэше, чтобы разгружать серверы. Один такой кэш находится в браузере пользователя. Он записывает каждую посещённую страницу для того, чтобы её при повторном вызове не нужно было заново грузить с сервера. Второй кэш, хранящийся в Esams-кластере серверов, находится в городе Амстердам, Нидерланды. Он состоит из ряда компьютеров, которые находятся между серверами Википедии в США и компьютером пользователя в Европе. Они работают подобно кэшу на компьютере пользователя, но сохраняют страницы для многих тысяч пользователей.

Иногда это промежуточное хранение данных вызывает проблемы. Впоследствии участник видит устаревшую версию страницы, хотя на сервере она уже актуализирована.

На этой странице описывается, как надо действовать, если такая ошибка возникает, и как можно очистить кэш браузера и повторно загрузить страницы с сервера.

Чистка/актуализация кэша браузера[править код]

Чтобы актуализировать страницу, для разных браузеров существуют разные команды:

Чистка/актуализация кэша сервера[править код]

Пример: чистка кэша сервера посредством «purge» Участники должны подтверждать чистку кэша сервера

Если чистка кэша браузера не даёт желанного эффекта, то можно дать компьютерам в Амстердаме команду удалить страницу из их кэша и запросить её с серверов Википедии. Эта чистка (англ. purge) обычно действует сразу, но в редких случаях может длиться несколько минут.

Актуализация статей[править код]

Запрос к серверу передаётся через ?action=purge в адресной строке браузера. Для этого:

  1. загрузите статью как обычно;
  2. в адресной строке своего браузера допишите, в конец адреса, команду ?action=purge, например http://ru.wikipedia.org/wiki/Заглавная_страница?action=purge;
  3. вызовите эту страницу нажатием на клавишу ↵ Enter;
  4. подтвердите команду, щелкнув на кнопке «OK».

Чтобы не проделывать эти действия, можно использовать гаджет часов (Настройки гаджетов → «Добавить часы в углу страницы, показывающие время по UTC и очищающие кэш сервера по щелчку»).

Операция purge, однако, не обновляет страницы категорий и обратные ссылки (инструмент «Ссылки сюда») — для этого можно использовать нулевую правку.

Нулевая правка[править код]

Нулевой правкой (англ. null edit) называют переход к редактированию страницы и нажатие кнопки «записать страницу» без внесения каких-либо изменений. Это действие не записывается в базу данных (и не появляется в истории, вкладе участника или в свежих правках).

Нулевая правка, как и обычная правка страницы, заставляет MediaWiki полностью пересобрать страницу из викикода и используемых шаблонов. В частности, это сразу обновляет категоризацию страницы в том случае, когда категория была изменена правкой одного из включённых в неё шаблонов. Без такого принудительного обновления категоризация обновляется только через некоторое время, когда до страницы доходит так называемая очередь заданий (англ.).

Каждый участник может осуществить такие правки, установив хоть один из вариантов скрипта purge.js, позволяющий сделать это массовым порядком, на все страницы какой-либо категории.

forcerecursivelinkupdate[править код]

Поведение нулевых правок было изменено в июле 2013 года. Прежде нулевые правки добавляли все страницы, включающие данную, в очередь заданий на пересборку. Теперь нулевая правка пересоберёт правимую страницу, как раньше (и, следовательно, исправит принадлежность категориям и подобное), но она более не пересобирает каждую страницу, её включающую.

Новый параметр forcerecursivelinkupdate был добавлен, чтобы можно было получить прежнее поведение. К адресу нужно добавить ?action=purge&forcerecursivelinkupdate=1 (используйте ответственно).Применимо только к API (mw:API:Purge; Special:ApiSandbox action=purge, чекбокс forcerecursivelinkupdate, имя страницы в titles, generator transcludedin, gtinamespace). Добавление к url с index.php не возымеет эффекта (mw:Manual:Purge).

Это изменение не затрагивает действие обычных, не нулевых, правок на пересборку других страниц.

Актуализация изображений[править код]

Если команда purge применяется к странице описания изображения, то движок заново сгенерирует миниатюру для предпросмотра (thumbnail) соответствующего изображения. Для изображений, которые находятся на Викискладе (Wikimedia Commons), нужна чистка кэша страницы на Викискладе, а не локальной страницы.

Иногда случается, что сервер сохранил ошибочную страницу с адресом миниатюры изображения. Она не может удаляться из кэша, поскольку соответствующее изображение не существует. В таком случае обычно помогает вызов предпросмотра с необычным адресом, например с добавлением в конец адреса кода ?1. Генерируется новая миниатюра изображения и последующий вызов команды purge с нормальным адресом удаляет ошибочную страницу из кэша сервера.

ru.wikipedia.org

Википедия:Оспаривание итогов/Кеш-Кэш — Википедия

Материал из Википедии — свободной энциклопедии

Прошу кого-нибудь из администраторов переподвести итог. Независимо от того, правильно или нет он был подведён, его аргументация примерно такова: «никто не опроверг, что „кэш“ более узнаваемо, и никто не опроверг, что „кэш“ неправильно, поэтому будет „кэш“». Для обсуждения в несколько десятков экранов с кучей аргументации за оба варианта итог откровенно порнографичный. — putnik 21:47, 1 августа 2009 (UTC)

  • Там все аргументы были высказаны, и администратор вообще мог ничего не говорить, согласившись с явно преобладающими аргументами за Кэш. Если кому-то теперь не нравится итог, оспаривайте его с помощью исков. S.J. 04:13, 2 августа 2009 (UTC)
    • Возражения по поводу вашего итога были, так что вы явно учли не все аргументы или же не смогли убедительно сформулировать итог. Возможно, у нейтрального администратора это получится лучше. — Claymore 06:45, 2 августа 2009 (UTC)
      • Начнем с того, что переименование в Кеш было совершенно не легитимно, т.к. было ранее оставленно название Кэш, небыли учтены ряд аргументов, которые просто извратили, в последнем обсуждении они выразительно представленны и недают права сомниматься, что и было подтвержденно администратором, а теперь и бюракратом - надеюсь после этого вопрос закрыт ? Или Вам вынести предупреждение в ВП:НИП ? S.J. 14:36, 2 августа 2009 (UTC)
  • Еще просьба взглянуть на вот эту номинацию (Википедия:К переименованию/31 июля 2009#Кеш → Кеш (сикхи), Кеш → редирект на Кэш) и, возможно, быстро ее закрыть, ибо ситуация там совершенно удивительная. Trycatch 07:16, 2 августа 2009 (UTC)
    • Закрыл, очевидный случай. — Claymore 07:31, 2 августа 2009 (UTC)
  • Там проблема ещё в том, что итог подвёл один из самых активных участников обсуждения, что в случае столь сложного вопроса вряд ли допустимо. AndyVolykhov 08:19, 2 августа 2009 (UTC)
    • А Вы считаете, что Claymore например, не заинтересованный участник, то как он быстро закрыл обсуждение которое только началось уже показывает его предвзятость ... S.J. 14:14, 2 августа 2009 (UTC)
      • Я жду итога на запрос от администраторов. AndyVolykhov 14:19, 2 августа 2009 (UTC)
        • Как это понимать ? То, что я не имею права высказываться ? или что мои комментарии не должны быть учтены ? Я так же жду ответа от администратора в противоправном действии Claymore, которые в скором порядке закрыл обсуждение о редиректе ! S.J. 14:32, 2 августа 2009 (UTC)
  • В соответствии с тем, что предпоследний итог, я так же просил пересмотреть, за его явной не легитимностью - мне было отказано. Соответственно, переподведение итога в столь очевидном месте буду считать приследованием своих интересов. Поэтому только разрешение вопроса ,через иск в АК - смогу признать имеющим силу. Иначе переподведение - будет явно противорещащим здравому смыслу, всем правилам Википедии и ущемлении моих личных прав, когда в аналогичной ситуации меня никто не слушал. S.J. 14:19, 2 августа 2009 (UTC)
  • Может хватит бороться с очевидным? На всех компьютерах используется "кэш", откройте любой браузер. Бюрократ подтвердил итог. Написание е/э может быть таким же смыслоразличительным, как в паре "метр/мэтр". --Volkov (?!) 14:24, 2 августа 2009 (UTC)
    Подтвердил словами "я сам сторонник написания с буквой "э"? Ничего себе подтверждение нейтральным участником. AndyVolykhov 15:20, 2 августа 2009 (UTC)
    Волыхов, вы ставите под сомнение авторитет бюрократа?! Уж вам ли говорить о нейтральности? --Volkov (?!) 15:29, 2 августа 2009 (UTC)
    В вопросах русского языка - извините, да. AndyVolykhov 15:35, 2 августа 2009 (UTC)
    А у меня, извините, складывается впечатление, что в вопросах русского языка вам мешает догматизм. Вы пытаетесь отрицать очевидные вещи. --Volkov (?!) 15:40, 2 августа 2009 (UTC)
    Препирайтесь на форуме. И без нарушений ЭП.--Ole Førsten (Обс.) 15:53, 2 августа 2009 (UTC)
    Возможно, мне - возможно, вам. Вот именно поэтому и нужен нейтральный участник. Давайте спокойно подождём итога этого запроса. AndyVolykhov 16:01, 2 августа 2009 (UTC)
    А тут ждать нечего, я уже упоминал - любой оффициальный ответ на этот вульгарный запрос - будет нарушением правил ВП. При чем тут "нейтральный участник" - он лучше разбирается в вопросах русского языка ? Или лучше понимает очевидные аргументы приведенные в обсуждении ? Тут не вопрос нейтральности/ненейтральности - в признании наконец очевидности написания Кэш, и прекращения неправомерных действий после установления консенсуса, с дальнейшим деструктивным поведением ряда участников. S.J. 16:09, 2 августа 2009 (UTC)
    Интересно, а критерий нейтральности в данном случае каков? --Volkov (?!) 16:06, 2 августа 2009 (UTC)
    Такой же, какой и во всех остальных вопросах. AndyVolykhov 16:14, 2 августа 2009 (UTC)
    Хм.. А так важно чтобы итог подвёл именно админ?--Ole Førsten (Обс.) 16:05, 2 августа 2009 (UTC)
    Нет, админа нам мало ! Большинство из них, точнее ВСЕ ненейтральны, в смысле используемом AndyVolykhov ! S.J. 16:11, 2 августа 2009 (UTC)
    Более того, AndyVolykhov признал не нейтральным и всех бюракратов, т.е. как минимум только иск в АК, может решить ситуацию, и то не думаю ... хотя здесь очевидно деструктивное поведения группы участников, которые хотят продвинуть свою точку зрения, которая была явным образом оправергнута и не поддержана. S.J. 16:16, 2 августа 2009 (UTC)
    Нет, я признал ненейтральным только того бюрократа, который сам признал свою ненейтральность, да ещё и русский язык для него не родной. Остальное не комментирую. Вообще я всё уже сказал, жду итога по существу. AndyVolykhov 16:27, 2 августа 2009 (UTC)
    Естественно не комментируете, т.к. ходите по грани деструктивного поведения !S.J. 16:38, 2 августа 2009 (UTC)
    Да, важно, поскольку тут очень давний спор и наличествуют большие сомнения в легитимности всех итогов, так что итог, подведённый неавторитетным участником, нисколько не поможет разрешить ситуацию. AndyVolykhov 16:14, 2 августа 2009 (UTC)
    Один админ уже подвёл. И его решение мне кажется абсолютно справедливым.--Ole Førsten (Обс.) 16:15, 2 августа 2009 (UTC)
    Не один, а как минимум двое, который еще два года назад оставил статью непереименованной, и еще третий, которого ввели в заблуждение в результате которого он переименовал ... S.J. 16:18, 2 августа 2009 (UTC)

Предварительный итог[править код]

Любое переподведение итога будет войной администраторов. Я могу сделать это (я вообще на страницу обсуждения пока не заглядывал), но только в том случае, если подведший итог участник Volkov не возражает. Если он возражает, я, естественно, делать этого не буду.--Yaroslav Blanter 17:48, 2 августа 2009 (UTC)

Поясните, пожалуйста, почему переподведение итога будет войной администраторов? Если итог оспаривается, то на соответствующей странице заголовок Итог исправляется на Оспоренный итог, и приходит другой администратор и подводит итог заново. Вот у меня так со Святым престолом было, помните? Подвела итог Lvova, я сделала здесь запрос, вы, кстати, ещё отказались, а потом его заново подвёл Ilya Voyager. Он же не воевал с Lvova? Что-то изменилось в правилах с начала года? Я просто не в курсе. Четыре тильды 18:36, 2 августа 2009 (UTC)
Что-то я уже сам запутался. С начала года точно ничего не изменилось, правила о войне администраторов нет. Может, это я слишком серьёзно всё воспринимаю, так как у нас на очереди заявка фактически о войне администраторов. --Yaroslav Blanter 18:44, 2 августа 2009 (UTC)
ВП:Оспаривание административных действий становится всё насущнее и насущнее... Пойду напищу проект. Дядя Фред 18:59, 2 августа 2009 (UTC)
Мда, тут только пищать и остаётся. :) Четыре тильды 20:03, 2 августа 2009 (UTC)
Четыре тильды, Вы там сидите в уголку, пи́шете себе статьи и против голосуете Вот возьмите и возьмите себе админский флаг, а я Вам назло проголосую за, потом буду сидеть в угле и мерзко хихикать Дядя Фред 23:58, 2 августа 2009 (UTC)
Не зря проголосовала против вас на ЗСА, видите сейчас? Четыре тильды 08:54, 3 августа 2009 (UTC)
В принципе, я как активный участник (и инициатор) всех этих обсуждений, не возражаю против Yaroslav Blanter, и если нужно предупредить войну администраторов (а она уже по факту идет, но очень вяло и по правилам :) (т.е. ходя по грани правил) ) - то это лучший вариант. Более того, призываю Yaroslav Blanter к посредничеству в случае еще большего обострения ситуации. S.J. 19:02, 2 августа 2009 (UTC)
Другие кандидатуры, которым имеет смысл высказать свою позицию Дядя Фред, Carn‎ - при единодушном решении данных администраторов - у меня притензий не останется. Предложенные мной кандидатуры, выбор на них пал именно из-за того, что они не высказывались и смогут нейтрально отнестись к данной проблеме, но и потому, что они умею сохранять хлоднокровность в сложных спорах ... поэтому прошу не подозревать меня в том, что я в чем то заинтересован, выдвигая этих кандидатов в посредники, т.к. зачастую они не согласны с моим мнением, а просто умеют корректно себя вести и думать (чего не скажешь о многих других администраторах, кстати, а ВП существует процедура к лишению статуса администратора ? ) ... S.J. 19:09, 2 августа 2009 (UTC)
Если Yaroslav Blanter откажется, то есть ещё Mitrius, администратор, филолог и в обсуждении участия не принимал. Четыре тильды 19:10, 2 августа 2009 (UTC)
в непредвзятости данного администратора я не уверен, и буду возражать ! Хотя высказывание его мнения будет не лишним, но лишь как справка филолога (если действительно он таким является, а не просто закончил когда-то пед. институт) S.J. 19:19, 2 августа 2009 (UTC)
Коллега S.J., я Вам только могу сослаться на Грамоту.ру, более АИ у меня нету. Дядя Фред 23:45, 2 августа 2009 (UTC)
Дядя Фред, Вы бы взлянули бы обсуждение - там предостаточно АИ и все высшего сорта, по сравнению с Грамоту.ру ... вопрос конечно требует изучения, но в последнем обсуждении было достаточно рельевно очерчены АИ за оба варианта (см. Википедия:К переименованию/28 мая 2009#2. Словари, и вообще там есть раздел к итогу - которые нужно прочитать обязательно целиком - там одни только факты, осталось сделать очевидные выводы, которые и были сделаны, но как видите деструктивные участники не утихают)S.J. 00:32, 3 августа 2009 (UTC)
для простоты проверьте здесь [1], введя кэш - вам там прямо напишут кеш - неправильно !, для граммота.ру тоже было письмо, где отмечали правильное написание только Кэш, сейчас попробую найти и этот запрос ... Вопрос не такой простой - типа посмотрел в одно место и все :) специально мной было сделанно целое исследование на эту тему, после чего очевидно, что Кэш правильно, а Кеш неправильно. S.J. 00:40, 3 августа 2009 (UTC)
Нет ошибся не в граммота.ру, а в slovari.ru - см. в обсуждении Официальные источники за Кэш, п. 6. вообще не хотелось бы все здесь повторять, единственный вывод граммота.ру основывается на словаре Лопатина, который в свою очередь содержит ошибку. S.J. 00:50, 3 августа 2009 (UTC)
Сергей, на самом деле мы с Вами занимаемся переливанием из пустого в порожнее — слово новое, написание ещё просто не устоялось, так что каким будет итог, не имеет ни малейшего значения, на данном этапе его можно хоть голосованием принимать, всё равно ошибки не будет. Дядя Фред 12:33, 3 августа 2009 (UTC)
Это не так. Слово существует всю мою сознательную жизнь (столько же сколько слово компьютер), было показано, что оно устаялось, т.к. частота использования в десятки раз превосходит неправильное написание. S.J. 17:50, 3 августа 2009 (UTC)
Сложите эти два факта - на порядок превосходящию частоту, и наличие правильного написания в большинстве словарей, + в 2006 созданное специально для подобных случаев новое орфографическое правило, по факту для разрешения в таких случая - и вы автоматически получите тот, итог который и был подведен. Я даже не понимаю в чем могут быть сомнения при такой однозначности ? S.J. 18:57, 3 августа 2009 (UTC)
Сергей, вся Ваша сознательная жизнь — это не так уж много Позволю Вам напомнить, что до слова компьютер (у которого далеко не сразу появился кэш/кеш) существовала ещё аббревиатура ЭВМ. Да и разница не на порядок, а всего в два раза [2], [3], что не так уж много с учётом разницы значений память/выплата. К тому же если АИ в этом отношении расходятся (а они расходятся хотя бы уже потому, что словарь Лопатина, в отличие от Вашего мнения о содержащейся в нём ошибке, АИ), то это указывает именно на отсутствие устоявшегося написания. Дядя Фред 16:40, 13 августа 2009 (UTC)
Дядя Фред, Вы немного поверхностно интерпретируете сейчас данный вопрос. Суть проблемы не столько в том, как будет называться одна конкретная статья, сколько в том, какими критериями должна руководствоваться Википедия в вопросах русской орфографии. До сих пор, насколько я понимаю, мнение сообщества состояло в том, что критерием орфографии в статьях является сайт gramota.ru. Итог, подведённый администратором Volkov по данному обсуждению, вообще игнорирует без каких-либо комментариев этот консенсус сообщества, подменяя его частным мнением администратора по написанию конкретного слова. В свою очередь, это частное мнение никак не комментирует подавляющее большинство аргументов и фактов, высказанных с той и с другой стороны. И остаётся совершенно непонятным, какой надо сделать из этого вывод при написании других слов. Всё это выглядит крайне некорректно и необдуманно. Со своей стороны, я тоже прошу администратора Yaroslav Blanter, как человека, отличающегося весьма взвешенными мнениями, повторно подвести итог. Vadim Rumyantsev 10:00, 16 августа 2009 (UTC)
Дополнительно хочу обратить внимание, что, например, статья Несебыр, имея в сто раз[4][5] менее распространённый вариант названия, чем никем специально не оспариваемое «Несебр», в то же время именуется по формальному критерию (Роскартографии). Корректный итог по статье Кеш, по-видимому, должен либо устранить, либо убедительно объяснить такую вопиющую разницу в подходах для разных статей. Vadim Rumyantsev 13:08, 16 августа 2009 (UTC)
Ну, с Несебыром совсем другая ситуация. Во-первых, никакой 100-кратной разницы там нет, Яндекс врет -- сравните с гуглом (156000 против 53200), яндекс.новости (273 против 27), гугл-букс (397 против 255). Т.е. реальная разница в частоте где-то от 2 (в книгах) до 10 раз (в СМИ). Это значительно меньше, чем преимущество «кэша» над «кешем». Во-вторых, АИ по Несебыру очень серьезные (кроме Роскартографии) -- БСЭ, БРЭ, ЮНЕСКО. Ничего столь же весомого оппоненты не привели. Т.е. можно сказать, что имеется консенсус АИ. В случае же с кэшом ничего подобного нет, мнения АИ разделились, то же самое БРЭ (судя по словнику) использует как раз «кэш». Ну, аргументы уже были приведены в обсуждении, не буду их повторять. И в-третьих, есть Болгарский алфавит#Практическая транскрипция на русский язык, которой соответствует Несебыр, а не Несебр. Т.е. Несебыр соответствует общим правилам транслитерации. Опять же, ничего подобного про «кеш» сказать нельзя. Trycatch 15:09, 15 октября 2009 (UTC)

Итог?[править код]

Что-то переподведение итога затянулось, но я думаю, что у Ярослава рано или поздно найдётся время это сделать. — Claymore 11:29, 5 октября 2009 (UTC)

  • Так нет же согласия администратора, которое мы прописали за это время в АК:485. Как только, так сразу.--Yaroslav Blanter 19:47, 8 октября 2009 (UTC)
    Что же, подождем. Все, что там можно высказать - уже два месяца назад высказали. Может ему напомнить?-- Vladimir Solovjev (обс) 13:03, 11 октября 2009 (UTC)
    Действительно, какой практический вывод? Надо составлять иск в АК на действия администратора, раз он не выразил согласия на переподведение итога? Уж, вроде, подождали достаточно. Vadim Rumyantsev 18:47, 11 октября 2009 (UTC)
    Да, поскольку итог был подтверждён другим администратором, то дальше оспаривать можно только в Арбитражном комитете (конечно, можно его ещё раз спросить, вдруг согласится на переподведение итога Ярославом). — Claymore 09:29, 12 октября 2009 (UTC)
    Я упустил, что в данном случае имеется в виду под подтверждением итога другим администратором? Вроде, никто не подтверждал. Vadim Rumyantsev 15:16, 12 октября 2009 (UTC)
    Томас фактически итог подтвердил. Я как то тоже это упустил из виду. Эх, ту бы энергию, которую затратили на обсуждение, на написание статей перенаправить...-- Vladimir Solovjev (обс) 16:15, 12 октября 2009 (UTC)

А я вижу здесь дыру в правилах, не закрытую решением АК: подведение итога на ВП:КПМ не является административным действием (даже если в изначальной просьбе была просьба «кого-нибудь из администраторов переподвести итог»), поэтому переподведение итога не будет войной администраторов (а если — как записано в шаблоне {{mark out}} — итог переподведёт «опытный участник» без флага?). NBS 12:29, 15 октября 2009 (UTC)

  • Давайте не будем формалистами: сложные итоги на КПМ подводят именно администраторы, и менно эти итоги оспариваются с наибольшей частотой.--Victoria 14:30, 15 октября 2009 (UTC)
    Дело в другом: два арбитра фактически заявляют, что в решении по АК:485 речь идёт не только о действиях, формально (движком) считающимися административными. Тогда что ещё должно сюда включаться? — вы уж сообщите администраторам на форуме. (Например, в спорных случаях решают, удалять ли сведения по ВП:СОВР, обычно администраторы — тогда это тоже подпадает под решение по АК:485?) NBS 18:16, 17 октября 2009 (UTC)

Давайте разберемся[править код]

Что происходит? Итог Волкова можно переподводить или нет? Если да, то реплика Томаса считается или нет? Если нет, то будем еще переподводить или оставим итог Волкова окончательно, с закрытием темы на К переименованию? --Ликка 21:22, 18 октября 2009 (UTC)

Задал Арбитражному комитету уточняющий вопрос в АК:485. NBS 10:33, 19 октября 2009 (UTC)
Ответ от АК получен:

После обсуждения с другими арбитрами:
1) В настоящее время в разделе идет размывание четких границ между разделами, где итоги могут подводить только администраторы и всеми остальными. Итоги на ВП:КУ уже могут подводить неадминистраторы. С другой стороны, как правило, в разделах ВП:КПМ, ВП:КОБ, ВП:РС администраторы подводят итоги в сложных случаях, которые требуют подробного анализа аргументов. Немотивированная отмена подобного итога будет считаться войной админов. При этом аргументированное переподведение оспоренного третьим участником итога не является войной админов.

Victoria 06:47, 22 октября 2009 (UTC)

NBS 13:44, 22 октября 2009 (UTC)
  • Круто. Реплика Томаса считается? давайте попросим его высказаться яснее, что ли? --Ликка 20:12, 28 октября 2009 (UTC)

ru.wikipedia.org

Секреты кэш-памяти, или как потратить 1000 тактов на 10 команд / Habr

Про кэш процессоров написано много, в том числе и на Хабре, но все больше общими словами. Предлагаю вашему вниманию конкретный пример того, как работает кэш в реальной жизни.

В качестве примера я возьму простенькую систему на кристалле, основанную на 32-битном гарвардском RISC-процессоре с одноуровневой кэш-памятью и без MMU (что-то типа ARM Cortex-R). Процессор подключен к контроллеру внешней памяти через 32-битную шину AMBA AHB, работающую на частоте процессора.



Кэши команд и данных раздельные, прямого отображения, размером по 16 килобайт каждый. Длина строки кэша — 32 байта, то есть каждый кэш содержит по 512 строк. Напомню, что смещение определяет порядковый номер байта внутри строки кэша, а индекс — номер строки кэша в кэш-памяти. Так как кэш прямого отображения, то в нем не могут одновременно находиться несколько строк с одинаковым индексом, даже если тэги у них разные.

Самый простой способ понять, как все это работает — разобраться, что делает процессор сразу после включения питания. Предположим, что кэши по умолчанию включены и инвалидированы (то есть пусты), а во внешней памяти каким-то образом оказалась такая вот программа, складывающая два числа:

 # таблица векторов прерываний расположена с адреса 0х0 _reset_vector: 0x0000: jump _start _interrupt1: 0x0004: jump _handler1 _interrupt2: 0x0008: jump _handler2 ... # основной код программы расположен с адреса 0x1234 _start: # загружаем первый операнд из памяти в регистр R10 0x1234: moveh R0, 0x1000 # загружаем 0х1000 в R0[31:16] 0x1238: load R10, [R0] # загружаем в R10 значение из 0x10000000 # загружаем второй операнд из памяти в регистр R11 0x123C: moveh R1, 0x1001 # загружаем 0х1001 в R1[31:16] 0x1240: load R11, [R1] # загружаем в R11 значение из 0x10010000 # складываем операнды и записываем результат в память 0x1244: add R2, R0, R1 0x1248: moveh R3, 0x2000 # загружаем 0х2000 в R3[31:16] 0x124C: store R2, [R3] # сохраняем R2 по адресу из R3 # останавливаем процессор 0x1250: halt

После включения процессор начинает выполнять команды с адреса, соответствующего адресу таблицы векторов прерываний. Этот адрес обычно жестко зашит в процессоре. В общем случае он может быть равен чему угодно, но для простоты предположим, что он равен нулю.
Таким образом первая команда нашей программы — «jump _start» — расположена по адресу 0х0, и процессор априори знает ее адрес.

Этап 1. Процессор ищет в кэше команд строку, содержащую команду с адресом 0х0. Поскольку кэш пуст, контроллер кэша внутри процессора сигнализирует о промахе и тут же приостанавливает процессор, одновременно инициируя так называемый «read burst», то есть запрос на чтение пакета данных из внешней памяти. Данные никогда не загружаются в кэш пословно — только пакетами, иначе смысла в кэше вообще нет! Размер пакета данных равен длине строки кэша. Таким образом, запрос занимает 8 тактов, потому что в нашей системе шина AHB может передавать не более 32 битов данных за такт. В идеальном случае запросу понадобится один такт, чтобы дойти до контроллера памяти (если шина будет занята обработкой другого запроса, то тактов понадобится больше). В зависимости от типа внешней памяти контроллер может начать передавать прочитанные данные либо сразу после прихода запроса (если память SSRAM), либо через несколько десятков тактов (в случае SDRAM) — это время называется латентностью памяти. Еще один такт потребуется прочитанным данным, чтобы пройти обратный путь от контроллера памяти до процессора. Ниже приведены временные диаграммы чтения строки кэша из внешней памяти с латентностью в четыре такта.

Этап 2. Контроллер кэша записывает слова, приходящие из памяти, в буфер строки («line buffer»), размер которого равен длине строки кэша. Когда буфер строки будет заполнен, его содержимое будет сохранено в нулевой строке кэша команд (т.к. индекс у адреса 0х0 — это 0). Однако процессор может выполнять команды из буфера напрямую, поэтому как только в буфер будет записана команда, вызвавшая промах, контроллер кэша тут же разблокирует процессор. Поскольку процессор конвейеризирован, он должен будет выбрать из памяти вторую команду еще до того, как первая будет декодирована. Чтобы добится этого, адрес второй команды будет предсказан, и, скорее всего, будет предсказан неверно, в результате чего процессор продолжит выбирать команды с адреса 0х4. Поскольку вторая команда («jump _handler1») к этому моменту также будет находится в буфере, промаха не произойдет, а процессор начнет выбирать третью команду («jump _handler2»). Так будет продолжаться, пока процессор не поймет, что он ошибся с предсказанием и вторая команда должна была быть выбрана по адресу 0х1234.

Этап 3. Как только процессор прозреет (а в процессоре со, скажем, семистадийным конвейером команд это займет около семи тактов), он тут же выдаст очередной промах кэша, на этот раз вызванный отсутсвием в кэше строки, содержащей команду по адресу 0х1234 («move R0, 0x10000000»), и пошлет новый «read burst», который по возвращении будет сохранен в 145-ой строке кэша (т.к. индекс у адреса 0х1220 — это 0х91=145). В зависимости от реализации процессор может начать загружать данные в кэш либо с начала строки (т.е. сначала слово по адресу 0х1220, потом 0х1224, 0х1228 и так далее вплоть до 0х123С), либо с того слова, которое вызвало промах (так называемый режим «critical word first» — сначала читается слово по адресу 0х1234, потом 0х1238, 0х123С, 0х1220, 0х1224 и т.д.) В обоих вариантах строка в любом случае загружается полностью, но в первом случае процессор потратит пять лишних тактов на ожидание. Нужно заметить, что многие микроконтроллеры до сих пор не поддерживают «critical word first», поэтому при должном везении программист может добиться значительного падения производительности.

Этап 4. Вне зависимости от того, поддерживается «critical word first» или нет, в кэш будут загружены сразу три корректных команды (до «move R1, 0x10010000» включительно). Когда очередь дойдет до команды «load R10, [R0]», процессор обнаружит промах кэша данных (ведь кэш данных-то пуст — все предыдущие манипуляции происходили с кэшем команд) и пошлет еще один «read burst», который будет записан в нулевую строку (т.к. индекс у адреса 0х10000000 — это 0). Если процессор достаточно умен и сообразителен (а большинство процессоров, чуть более сложных, чем студенческие поделки, достаточно умны для этого), он поймет, что следующая за «load R10, [R0]» команда не зависит от нее и может быть выполнена одновременно с копированием данных в кэш. После этого процессор захочет выбрать команду по адресу 0х1240 и мы получим еще один «read burst», который «зависнет», так как шина все еще будет занята предыдущим запросом от кэша данных. Конечно, рано или поздно команда «load R11, [R1]» попадет таки в кэш команд, и процессор тут же обнаружит новый промах кэша данных, который вдобавок вытеснит из кэша загруженную ранее строку с тэгом 0x04000 (так как адреса 0х10000000 и 0х10010000 отличаются только тэгами — 0x04000 и 0x04800 соответственно, а индекс у обоих равен нулю).

Этап 5. В конце концов процессор выполнит команду «store R2, [R3]», которая вызовет еще один промах кэша данных и, как следствие, еще один «read burst», и вдобавок вытеснит из кэша строку с тэгом 0x04800, заменив ее на строку с тэгом 0x08000. Кроме того, нужно помнить, что эта команда ничего не запишет во внешнюю память, потому что запись будет произведена только в кэш! Никакого «write burst» не будет до тех пор, пока программист явно не позабоится о том, чтобы «слить» обновленную строку кэша обратно в память (то есть сделать cache line flush), либо пока строка не будет вытеснена из кэша другой строкой. Например, если бы вместо команды «halt» была команда «load r4, [0x8000]», то процесс чтения выглядел бы так:

Напоследок хотелось бы сказать вот что: ошибки, связанные с неправильным использованием кэшей, можно искать месяцами. Компиляторы, кэширующие volatile-ы, и память, которая вопреки заветам товарища фон Неймана изменяет сама себя, тому свидетели. «Прозрачность» кэшей — это миф, который годится разве что для сферических программистов на вакуумном PHP. Поэтому если в вашем процессоре есть кэш — выключите его от греха подальше!

habr.com


Смотрите также



© 2010- GutenBlog.ru Карта сайта, XML.