Кэш

Поделись знанием:
(перенаправлено с «L1 (кэш)»)
Перейти к: навигация, поиск

Кэш[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 — это идентификатор, а содержимое веб-страницы — это элементы данных.

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

При модификации элементов данных в кэше выполняется их обновление в основной памяти. Задержка во времени между модификацией данных в кэше и обновлением основной памяти управляется так называемой политикой записи.

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

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

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

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

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

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

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

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

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

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

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

В неэксклюзивной кэши могут вести себя как угодно.

Уровни кэша

Кэш центрального процессора разделён на несколько уровней. Максимальное количество кэшей — четыре. В универсальном процессоре в настоящее время число уровней может достигать трёх. Кэш-память уровня N+1, как правило, больше по размеру и медленнее по скорости доступа и передаче данных, чем кэш-память уровня N.

  • Самым быстрым является кэш первого уровня — L1 cache (level 1 cache). По сути, он является неотъемлемой частью процессора, поскольку расположена на одном с ним кристалле и входит в состав функциональных блоков. В современных процессорах обычно L1 разделен на два кэша — кэш команд (инструкций) и кэш данных (Гарвардская архитектура). Большинство процессоров без L1 не могут функционировать. L1 работает на частоте процессора, и, в общем случае, обращение к нему может производиться каждый такт. Зачастую является возможным выполнять несколько операций чтения/записи одновременно.
  • Вторым по быстродействию является кэш второго уровня — L2 cache, который обычно, как и L1, расположен на одном кристалле с процессором. В ранних версиях процессоров L2 реализован в виде отдельного набора микросхем памяти на материнской плате. Объём L2 от 128 кбайт до 1−12 Мбайт. В современных многоядерных процессорах кэш второго уровня, находясь на том же кристалле, является памятью раздельного пользования — при общем объёме кэша в n Мбайт на каждое ядро приходится по n/c Мбайта, где c — количество ядер процессора.
  • Кэш третьего уровня наименее быстродействующий, но он может быть очень большим — более 24 Мбайт. L3 медленнее предыдущих кэшей, но всё равно значительно быстрее, чем оперативная память. В многопроцессорных системах находится в общем пользовании и предназначен для синхронизации данных различных L2.
  • Существует четвёртый уровень кэша, применение которого оправдано только для многопроцессорных высокопроизводительных серверов и мейнфреймов. Обычно он реализован отдельной микросхемой.

Ассоциативность кэша

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

При одинаковом объёме кэша схема с большей ассоциативностью будет наименее быстрой, но наиболее эффективной (после четырёхпотоковой реализации прирост «удельной эффективности» на один поток растет мало).

Кэширование внешних накопителей

Многие периферийные устройства хранения данных используют внутренний кэш для ускорения работы, в частности, жёсткие диски используют кэш-память от 1 до 64 Мбайт (модели с поддержкой NCQ/TCQ используют её для хранения и обработки запросов), устройства чтения CD/DVD/BD-дисков также кэшируют прочитанную информацию для ускорения повторного обращения.

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

Применение кэширования внешних накопителей обусловлено следующими факторами:

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

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

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

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

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

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

Политика записи при кэшировании

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

Существуют две основные политики записи кэш-памяти — сквозная запись (write-through) и отложенная запись (write-back):

  1. Сквозная запись — запись производится непосредственно в основную память (и дублируется в кэш), то есть запись не кэшируется.
  2. Отложенная запись — запись данных производится в кэш. Запись же в основную память производится позже (при вытеснении или по истечении времени), группируя в одной операции несколько операций записи в соседние ячейки. Технология обратной записи на некоторое время делает данные в основной памяти неактуальными, для самого ЦП эти неактуальности не заметны, но перед обращением к памяти другого ведущего системной шины (контроллера DMA, bus-master-устройства шины PCI) кэш должен быть записан в память принудительно. При использовании обратной записи в многопроцессорной системе кэши различных ЦП должны быть согласованы (или процессоры должны использовать одну кэш-память).

Алгоритм работы кэша с отложенной записью

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

  1. пытается найти в хеш-таблице заголовок буфера с заданным номером;
  2. в случае, если полученный буфер занят, ждёт его освобождения;
  3. в случае, если буфер не найден в хеш-таблице, берёт первый буфер из хвоста списка свободных;
  4. в случае, если список свободных буферов пуст, то выполняется алгоритм вытеснения (см. ниже);
  5. в случае, если полученный буфер помечен как «грязный», выполняет асинхронную запись содержимого буфера во внешнюю память.
  6. удаляет буфер из хеш-таблицы, если он был помещён в неё;
  7. помещает буфер в хеш-таблицу с новым номером.

Процесс читает данные в полученный буфер и освобождает его. В случае модификации процесс перед освобождением помечает буфер как «грязный». При освобождении буфер помещается в голову списка свободных буферов.

Таким образом:

  1. если процесс прочитал некоторый блок в буфер, то велика вероятность, что другой процесс при чтении этого блока найдёт буфер в оперативной памяти;
  2. запись данных во внешнюю память выполняется только тогда, когда не хватает «чистых» буферов, либо по запросу.

Алгоритм вытеснения

Если список свободных буферов пуст, то выполняется алгоритм вытеснения буфера. Алгоритм вытеснения существенно влияет на производительность кэша. Существуют следующие алгоритмы:

  1. LRU (англ. Least Recently Used) — вытесняется буфер, неиспользованный дольше всех;
  2. MRU (англ. Most Recently Used) — вытесняется последний использованный буфер;
  3. LFU (англ.) (англ. Least Frequently Used) — вытесняется буфер, использованный реже всех;
  4. ARC (англ.) (англ. Adaptive Replacement Cache) — алгоритм вытеснения, комбинирующий LRU и LFU, запатентованный IBM.

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

Кэширование, выполняемое операционной системой

Кэш оперативной памяти состоит из следующих элементов:

  1. набор страниц оперативной памяти, разделённых на буферы, равные по длине блоку данных соответствующего устройства внешней памяти;
  2. набор заголовков буферов, описывающих состояние соответствующего буфера;
  3. хеш-таблицы, содержащей соответствие номера блока заголовку;
  4. списки свободных буферов.

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

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

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

Кэширование результатов работы

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

См. также

Напишите отзыв о статье "Кэш"

Примечания

  1. Кэш // Большой орфографический словарь русского языка / под ред. С. Г. Бархударова, И. Ф. Протченко и Л. И. Скворцова. — 3-е изд. — М.: ОНИКС Мир и Образование, 2007. — С. 399. — ISBN 978-5-488-00924-0. — ISBN 978-5-94666-375-5.
  2. Большой толковый словарь русского языка / Автор, сост. и гл. ред. С. А. Кузнецов. Институт лингвистических исследований РАН, 2000
  3. Захаренко Е. Н., Комарова Л. Н., Нечаева И. В. Новый словарь иностранных слов. М.: 2003
  4. Толковый словарь по вычислительной технике. Microsoft Press, из-во «Русская Редакция», 1995
  5. [www.slovari.ru/default.aspx?p=242 Русский орфографический словарь: около 180 000 слов [Электронная версия]] / О. Е. Иванова, В. В. Лопатин (отв. ред.), И. В. Нечаева, Л. К. Чельцова. — 2-е изд., испр. и доп. — М.: Российская академия наук. Институт русского языка имени В. В. Виноградова, 2004. — 960 с. — ISBN 5-88744-052-X.
  6. Першиков В. И., Савинков В. М. Толковый словарь по информатике / Рецензенты: канд. физ.-мат. наук А. С. Марков и д-р физ.-мат. наук И. В. Поттосин. — М.: Финансы и статистика, 1991. — 543 с. — 50 000 экз. — ISBN 5-279-00367-0.
  7. Борковский А. Б. Англо-русский словарь по программированию и информатике (с толкованиями). — М.: Русский язык, 1990. — 335 с. — 50 050 (доп,) экз. — ISBN 5-200-01169-3.
  8. G. C. Stierhoff, A. G. Davis. A History of the IBM Systems Journal // IEEE Annals of the History of Computing. — январь 1998. — Т. 20, № 1. — С. 29—35. — DOI:10.1109/85.646206.
  9. [parallel.ru/krukov/lec5.html Распределенные ОС]

Литература

  • Бах М. Дж. Архитектура операционной системы UNIX

Отрывок, характеризующий Кэш

– Ну, мама, все готово. О чем вы?.. – спросила с оживленным лицом Наташа, вбегая в комнату.
– Ни о чем, – сказала графиня. – Готово, так поедем. – И графиня нагнулась к своему ридикюлю, чтобы скрыть расстроенное лицо. Соня обняла Наташу и поцеловала ее.
Наташа вопросительно взглянула на нее.
– Что ты? Что такое случилось?
– Ничего… Нет…
– Очень дурное для меня?.. Что такое? – спрашивала чуткая Наташа.
Соня вздохнула и ничего не ответила. Граф, Петя, m me Schoss, Мавра Кузминишна, Васильич вошли в гостиную, и, затворив двери, все сели и молча, не глядя друг на друга, посидели несколько секунд.
Граф первый встал и, громко вздохнув, стал креститься на образ. Все сделали то же. Потом граф стал обнимать Мавру Кузминишну и Васильича, которые оставались в Москве, и, в то время как они ловили его руку и целовали его в плечо, слегка трепал их по спине, приговаривая что то неясное, ласково успокоительное. Графиня ушла в образную, и Соня нашла ее там на коленях перед разрозненно по стене остававшимися образами. (Самые дорогие по семейным преданиям образа везлись с собою.)
На крыльце и на дворе уезжавшие люди с кинжалами и саблями, которыми их вооружил Петя, с заправленными панталонами в сапоги и туго перепоясанные ремнями и кушаками, прощались с теми, которые оставались.
Как и всегда при отъездах, многое было забыто и не так уложено, и довольно долго два гайдука стояли с обеих сторон отворенной дверцы и ступенек кареты, готовясь подсадить графиню, в то время как бегали девушки с подушками, узелками из дому в кареты, и коляску, и бричку, и обратно.
– Век свой все перезабудут! – говорила графиня. – Ведь ты знаешь, что я не могу так сидеть. – И Дуняша, стиснув зубы и не отвечая, с выражением упрека на лице, бросилась в карету переделывать сиденье.
– Ах, народ этот! – говорил граф, покачивая головой.
Старый кучер Ефим, с которым одним только решалась ездить графиня, сидя высоко на своих козлах, даже не оглядывался на то, что делалось позади его. Он тридцатилетним опытом знал, что не скоро еще ему скажут «с богом!» и что когда скажут, то еще два раза остановят его и пошлют за забытыми вещами, и уже после этого еще раз остановят, и графиня сама высунется к нему в окно и попросит его Христом богом ехать осторожнее на спусках. Он знал это и потому терпеливее своих лошадей (в особенности левого рыжего – Сокола, который бил ногой и, пережевывая, перебирал удила) ожидал того, что будет. Наконец все уселись; ступеньки собрались и закинулись в карету, дверка захлопнулась, послали за шкатулкой, графиня высунулась и сказала, что должно. Тогда Ефим медленно снял шляпу с своей головы и стал креститься. Форейтор и все люди сделали то же.
– С богом! – сказал Ефим, надев шляпу. – Вытягивай! – Форейтор тронул. Правый дышловой влег в хомут, хрустнули высокие рессоры, и качнулся кузов. Лакей на ходу вскочил на козлы. Встряхнуло карету при выезде со двора на тряскую мостовую, так же встряхнуло другие экипажи, и поезд тронулся вверх по улице. В каретах, коляске и бричке все крестились на церковь, которая была напротив. Остававшиеся в Москве люди шли по обоим бокам экипажей, провожая их.
Наташа редко испытывала столь радостное чувство, как то, которое она испытывала теперь, сидя в карете подле графини и глядя на медленно подвигавшиеся мимо нее стены оставляемой, встревоженной Москвы. Она изредка высовывалась в окно кареты и глядела назад и вперед на длинный поезд раненых, предшествующий им. Почти впереди всех виднелся ей закрытый верх коляски князя Андрея. Она не знала, кто был в ней, и всякий раз, соображая область своего обоза, отыскивала глазами эту коляску. Она знала, что она была впереди всех.
В Кудрине, из Никитской, от Пресни, от Подновинского съехалось несколько таких же поездов, как был поезд Ростовых, и по Садовой уже в два ряда ехали экипажи и подводы.
Объезжая Сухареву башню, Наташа, любопытно и быстро осматривавшая народ, едущий и идущий, вдруг радостно и удивленно вскрикнула:
– Батюшки! Мама, Соня, посмотрите, это он!
– Кто? Кто?
– Смотрите, ей богу, Безухов! – говорила Наташа, высовываясь в окно кареты и глядя на высокого толстого человека в кучерском кафтане, очевидно, наряженного барина по походке и осанке, который рядом с желтым безбородым старичком в фризовой шинели подошел под арку Сухаревой башни.
– Ей богу, Безухов, в кафтане, с каким то старым мальчиком! Ей богу, – говорила Наташа, – смотрите, смотрите!
– Да нет, это не он. Можно ли, такие глупости.
– Мама, – кричала Наташа, – я вам голову дам на отсечение, что это он! Я вас уверяю. Постой, постой! – кричала она кучеру; но кучер не мог остановиться, потому что из Мещанской выехали еще подводы и экипажи, и на Ростовых кричали, чтоб они трогались и не задерживали других.
Действительно, хотя уже гораздо дальше, чем прежде, все Ростовы увидали Пьера или человека, необыкновенно похожего на Пьера, в кучерском кафтане, шедшего по улице с нагнутой головой и серьезным лицом, подле маленького безбородого старичка, имевшего вид лакея. Старичок этот заметил высунувшееся на него лицо из кареты и, почтительно дотронувшись до локтя Пьера, что то сказал ему, указывая на карету. Пьер долго не мог понять того, что он говорил; так он, видимо, погружен был в свои мысли. Наконец, когда он понял его, посмотрел по указанию и, узнав Наташу, в ту же секунду отдаваясь первому впечатлению, быстро направился к карете. Но, пройдя шагов десять, он, видимо, вспомнив что то, остановился.
Высунувшееся из кареты лицо Наташи сияло насмешливою ласкою.
– Петр Кирилыч, идите же! Ведь мы узнали! Это удивительно! – кричала она, протягивая ему руку. – Как это вы? Зачем вы так?
Пьер взял протянутую руку и на ходу (так как карета. продолжала двигаться) неловко поцеловал ее.
– Что с вами, граф? – спросила удивленным и соболезнующим голосом графиня.
– Что? Что? Зачем? Не спрашивайте у меня, – сказал Пьер и оглянулся на Наташу, сияющий, радостный взгляд которой (он чувствовал это, не глядя на нее) обдавал его своей прелестью.
– Что же вы, или в Москве остаетесь? – Пьер помолчал.
– В Москве? – сказал он вопросительно. – Да, в Москве. Прощайте.
– Ах, желала бы я быть мужчиной, я бы непременно осталась с вами. Ах, как это хорошо! – сказала Наташа. – Мама, позвольте, я останусь. – Пьер рассеянно посмотрел на Наташу и что то хотел сказать, но графиня перебила его:
– Вы были на сражении, мы слышали?
– Да, я был, – отвечал Пьер. – Завтра будет опять сражение… – начал было он, но Наташа перебила его:
– Да что же с вами, граф? Вы на себя не похожи…
– Ах, не спрашивайте, не спрашивайте меня, я ничего сам не знаю. Завтра… Да нет! Прощайте, прощайте, – проговорил он, – ужасное время! – И, отстав от кареты, он отошел на тротуар.
Наташа долго еще высовывалась из окна, сияя на него ласковой и немного насмешливой, радостной улыбкой.


Пьер, со времени исчезновения своего из дома, ужа второй день жил на пустой квартире покойного Баздеева. Вот как это случилось.
Проснувшись на другой день после своего возвращения в Москву и свидания с графом Растопчиным, Пьер долго не мог понять того, где он находился и чего от него хотели. Когда ему, между именами прочих лиц, дожидавшихся его в приемной, доложили, что его дожидается еще француз, привезший письмо от графини Елены Васильевны, на него нашло вдруг то чувство спутанности и безнадежности, которому он способен был поддаваться. Ему вдруг представилось, что все теперь кончено, все смешалось, все разрушилось, что нет ни правого, ни виноватого, что впереди ничего не будет и что выхода из этого положения нет никакого. Он, неестественно улыбаясь и что то бормоча, то садился на диван в беспомощной позе, то вставал, подходил к двери и заглядывал в щелку в приемную, то, махая руками, возвращался назад я брался за книгу. Дворецкий в другой раз пришел доложить Пьеру, что француз, привезший от графини письмо, очень желает видеть его хоть на минутку и что приходили от вдовы И. А. Баздеева просить принять книги, так как сама г жа Баздеева уехала в деревню.
– Ах, да, сейчас, подожди… Или нет… да нет, поди скажи, что сейчас приду, – сказал Пьер дворецкому.
Но как только вышел дворецкий, Пьер взял шляпу, лежавшую на столе, и вышел в заднюю дверь из кабинета. В коридоре никого не было. Пьер прошел во всю длину коридора до лестницы и, морщась и растирая лоб обеими руками, спустился до первой площадки. Швейцар стоял у парадной двери. С площадки, на которую спустился Пьер, другая лестница вела к заднему ходу. Пьер пошел по ней и вышел во двор. Никто не видал его. Но на улице, как только он вышел в ворота, кучера, стоявшие с экипажами, и дворник увидали барина и сняли перед ним шапки. Почувствовав на себя устремленные взгляды, Пьер поступил как страус, который прячет голову в куст, с тем чтобы его не видали; он опустил голову и, прибавив шагу, пошел по улице.
Из всех дел, предстоявших Пьеру в это утро, дело разборки книг и бумаг Иосифа Алексеевича показалось ему самым нужным.
Он взял первого попавшегося ему извозчика и велел ему ехать на Патриаршие пруды, где был дом вдовы Баздеева.
Беспрестанно оглядываясь на со всех сторон двигавшиеся обозы выезжавших из Москвы и оправляясь своим тучным телом, чтобы не соскользнуть с дребезжащих старых дрожек, Пьер, испытывая радостное чувство, подобное тому, которое испытывает мальчик, убежавший из школы, разговорился с извозчиком.
Извозчик рассказал ему, что нынешний день разбирают в Кремле оружие, и что на завтрашний народ выгоняют весь за Трехгорную заставу, и что там будет большое сражение.
Приехав на Патриаршие пруды, Пьер отыскал дом Баздеева, в котором он давно не бывал. Он подошел к калитке. Герасим, тот самый желтый безбородый старичок, которого Пьер видел пять лет тому назад в Торжке с Иосифом Алексеевичем, вышел на его стук.
– Дома? – спросил Пьер.
– По обстоятельствам нынешним, Софья Даниловна с детьми уехали в торжковскую деревню, ваше сиятельство.
– Я все таки войду, мне надо книги разобрать, – сказал Пьер.
– Пожалуйте, милости просим, братец покойника, – царство небесное! – Макар Алексеевич остались, да, как изволите знать, они в слабости, – сказал старый слуга.
Макар Алексеевич был, как знал Пьер, полусумасшедший, пивший запоем брат Иосифа Алексеевича.
– Да, да, знаю. Пойдем, пойдем… – сказал Пьер и вошел в дом. Высокий плешивый старый человек в халате, с красным носом, в калошах на босу ногу, стоял в передней; увидав Пьера, он сердито пробормотал что то и ушел в коридор.
– Большого ума были, а теперь, как изволите видеть, ослабели, – сказал Герасим. – В кабинет угодно? – Пьер кивнул головой. – Кабинет как был запечатан, так и остался. Софья Даниловна приказывали, ежели от вас придут, то отпустить книги.
Пьер вошел в тот самый мрачный кабинет, в который он еще при жизни благодетеля входил с таким трепетом. Кабинет этот, теперь запыленный и нетронутый со времени кончины Иосифа Алексеевича, был еще мрачнее.
Герасим открыл один ставень и на цыпочках вышел из комнаты. Пьер обошел кабинет, подошел к шкафу, в котором лежали рукописи, и достал одну из важнейших когда то святынь ордена. Это были подлинные шотландские акты с примечаниями и объяснениями благодетеля. Он сел за письменный запыленный стол и положил перед собой рукописи, раскрывал, закрывал их и, наконец, отодвинув их от себя, облокотившись головой на руки, задумался.
Несколько раз Герасим осторожно заглядывал в кабинет и видел, что Пьер сидел в том же положении. Прошло более двух часов. Герасим позволил себе пошуметь в дверях, чтоб обратить на себя внимание Пьера. Пьер не слышал его.
– Извозчика отпустить прикажете?
– Ах, да, – очнувшись, сказал Пьер, поспешно вставая. – Послушай, – сказал он, взяв Герасима за пуговицу сюртука и сверху вниз блестящими, влажными восторженными глазами глядя на старичка. – Послушай, ты знаешь, что завтра будет сражение?..
– Сказывали, – отвечал Герасим.
– Я прошу тебя никому не говорить, кто я. И сделай, что я скажу…
– Слушаюсь, – сказал Герасим. – Кушать прикажете?
– Нет, но мне другое нужно. Мне нужно крестьянское платье и пистолет, – сказал Пьер, неожиданно покраснев.
– Слушаю с, – подумав, сказал Герасим.
Весь остаток этого дня Пьер провел один в кабинете благодетеля, беспокойно шагая из одного угла в другой, как слышал Герасим, и что то сам с собой разговаривая, и ночевал на приготовленной ему тут же постели.
Герасим с привычкой слуги, видавшего много странных вещей на своем веку, принял переселение Пьера без удивления и, казалось, был доволен тем, что ему было кому услуживать. Он в тот же вечер, не спрашивая даже и самого себя, для чего это было нужно, достал Пьеру кафтан и шапку и обещал на другой день приобрести требуемый пистолет. Макар Алексеевич в этот вечер два раза, шлепая своими калошами, подходил к двери и останавливался, заискивающе глядя на Пьера. Но как только Пьер оборачивался к нему, он стыдливо и сердито запахивал свой халат и поспешно удалялся. В то время как Пьер в кучерском кафтане, приобретенном и выпаренном для него Герасимом, ходил с ним покупать пистолет у Сухаревой башни, он встретил Ростовых.


1 го сентября в ночь отдан приказ Кутузова об отступлении русских войск через Москву на Рязанскую дорогу.
Первые войска двинулись в ночь. Войска, шедшие ночью, не торопились и двигались медленно и степенно; но на рассвете двигавшиеся войска, подходя к Дорогомиловскому мосту, увидали впереди себя, на другой стороне, теснящиеся, спешащие по мосту и на той стороне поднимающиеся и запружающие улицы и переулки, и позади себя – напирающие, бесконечные массы войск. И беспричинная поспешность и тревога овладели войсками. Все бросилось вперед к мосту, на мост, в броды и в лодки. Кутузов велел обвезти себя задними улицами на ту сторону Москвы.
К десяти часам утра 2 го сентября в Дорогомиловском предместье оставались на просторе одни войска ариергарда. Армия была уже на той стороне Москвы и за Москвою.
В это же время, в десять часов утра 2 го сентября, Наполеон стоял между своими войсками на Поклонной горе и смотрел на открывавшееся перед ним зрелище. Начиная с 26 го августа и по 2 е сентября, от Бородинского сражения и до вступления неприятеля в Москву, во все дни этой тревожной, этой памятной недели стояла та необычайная, всегда удивляющая людей осенняя погода, когда низкое солнце греет жарче, чем весной, когда все блестит в редком, чистом воздухе так, что глаза режет, когда грудь крепнет и свежеет, вдыхая осенний пахучий воздух, когда ночи даже бывают теплые и когда в темных теплых ночах этих с неба беспрестанно, пугая и радуя, сыплются золотые звезды.
2 го сентября в десять часов утра была такая погода. Блеск утра был волшебный. Москва с Поклонной горы расстилалась просторно с своей рекой, своими садами и церквами и, казалось, жила своей жизнью, трепеща, как звезды, своими куполами в лучах солнца.
При виде странного города с невиданными формами необыкновенной архитектуры Наполеон испытывал то несколько завистливое и беспокойное любопытство, которое испытывают люди при виде форм не знающей о них, чуждой жизни. Очевидно, город этот жил всеми силами своей жизни. По тем неопределимым признакам, по которым на дальнем расстоянии безошибочно узнается живое тело от мертвого. Наполеон с Поклонной горы видел трепетание жизни в городе и чувствовал как бы дыханио этого большого и красивого тела.
– Cette ville asiatique aux innombrables eglises, Moscou la sainte. La voila donc enfin, cette fameuse ville! Il etait temps, [Этот азиатский город с бесчисленными церквами, Москва, святая их Москва! Вот он, наконец, этот знаменитый город! Пора!] – сказал Наполеон и, слезши с лошади, велел разложить перед собою план этой Moscou и подозвал переводчика Lelorgne d'Ideville. «Une ville occupee par l'ennemi ressemble a une fille qui a perdu son honneur, [Город, занятый неприятелем, подобен девушке, потерявшей невинность.] – думал он (как он и говорил это Тучкову в Смоленске). И с этой точки зрения он смотрел на лежавшую перед ним, невиданную еще им восточную красавицу. Ему странно было самому, что, наконец, свершилось его давнишнее, казавшееся ему невозможным, желание. В ясном утреннем свете он смотрел то на город, то на план, проверяя подробности этого города, и уверенность обладания волновала и ужасала его.
«Но разве могло быть иначе? – подумал он. – Вот она, эта столица, у моих ног, ожидая судьбы своей. Где теперь Александр и что думает он? Странный, красивый, величественный город! И странная и величественная эта минута! В каком свете представляюсь я им! – думал он о своих войсках. – Вот она, награда для всех этих маловерных, – думал он, оглядываясь на приближенных и на подходившие и строившиеся войска. – Одно мое слово, одно движение моей руки, и погибла эта древняя столица des Czars. Mais ma clemence est toujours prompte a descendre sur les vaincus. [царей. Но мое милосердие всегда готово низойти к побежденным.] Я должен быть великодушен и истинно велик. Но нет, это не правда, что я в Москве, – вдруг приходило ему в голову. – Однако вот она лежит у моих ног, играя и дрожа золотыми куполами и крестами в лучах солнца. Но я пощажу ее. На древних памятниках варварства и деспотизма я напишу великие слова справедливости и милосердия… Александр больнее всего поймет именно это, я знаю его. (Наполеону казалось, что главное значение того, что совершалось, заключалось в личной борьбе его с Александром.) С высот Кремля, – да, это Кремль, да, – я дам им законы справедливости, я покажу им значение истинной цивилизации, я заставлю поколения бояр с любовью поминать имя своего завоевателя. Я скажу депутации, что я не хотел и не хочу войны; что я вел войну только с ложной политикой их двора, что я люблю и уважаю Александра и что приму условия мира в Москве, достойные меня и моих народов. Я не хочу воспользоваться счастьем войны для унижения уважаемого государя. Бояре – скажу я им: я не хочу войны, а хочу мира и благоденствия всех моих подданных. Впрочем, я знаю, что присутствие их воодушевит меня, и я скажу им, как я всегда говорю: ясно, торжественно и велико. Но неужели это правда, что я в Москве? Да, вот она!»