ARM (архитектура)

Поделись знанием:
Перейти к: навигация, поиск
ARM

Логотип ARM
Разработчик

ARM Limited

Разрядность

ARMv8 64/32 бит, до ARMv8 только 32 бит

Представлена

1985

Архитектура

RISC

Тип

Регистр-регистр

Кодирование СК

ARMv8: фиксированное (32 бит), кроме режима совместимости с ARMv7 кодом
ARMv7/6: смешанное (32 и 16 бит выровнено)
ARMv3/2: фиксированное (32 бит)

Переходы

по флагам условий

Порядок байтов

Переключаемый (bi-endian), обычно — от младшего к старшему (little-endian)

Расширения

NEON, Thumb-2 (обязательно начиная с ARMv7), Jazelle, VFPv4-D16, VFPv4 (все обязательны в ARMv8)
В микроконтроллерах: FPv4-SP

Архитектура ARM (Advanced RISC Machine, Acorn RISC Machine, усовершенствованная RISC-машина) — семейство лицензируемых 32-битных и 64-битных микропроцессорных ядер разработки компании ARM Limited.[1]

Среди лицензиатов: AMD, Apple, Analog Devices, Atmel, Xilinx, Altera, Cirrus Logic (англ.), Intel (до 27 июня 2006 года), Marvell (англ.), NXP, STMicroelectronics, Samsung, LG, MediaTek, MStar, Qualcomm, Sony, Texas Instruments, nVidia, Freescale, Миландр, HiSilicon.

Значимые семейства процессоров: ARM7, ARM9, ARM11 и Cortex[2][3].

Многие лицензиаты делают собственные версии ядер на базе ARM: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Krait в Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, LG H13, Apple A6 и HiSilicon K3.





Популярность

В 2007 году около 98 % из более чем миллиарда мобильных телефонов, продаваемых ежегодно, были оснащены, по крайней мере, одним процессором ARM.[4] По состоянию на 2009 на процессоры ARM приходилось до 90 % всех встроенных 32-разрядных процессоров.[5] Процессоры ARM широко используются в потребительской электронике — в том числе КПК, мобильных телефонах, цифровых носителях и плеерах, портативных игровых консолях, калькуляторах и компьютерных периферийных устройствах, таких, как жесткие диски или маршрутизаторы.

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

История

После достижения некоторых успехов с компьютером BBC Micro британская компания Acorn Computers задумалась над переходом от относительно слабых процессоров MOS Technology 6502 к более производительным решениям и выходом на рынок бизнес-компьютеров с той же платформой BBC Micro. Такие процессоры, как Motorola 68000 и 32016 от National Semiconductor, были для этого непригодны, а 6502 был недостаточно мощным, чтобы поддерживать графический пользовательский интерфейс.[6]

Компании была нужна совершенно новая архитектура после того, как она протестировала все доступные ей процессоры и сочла их неэффективными. Acorn серьёзно настроился на разработку собственного процессора, и их инженеры начали изучать документацию проекта RISC, разработанного в Университете Калифорнии в Беркли. Они подумали, что раз уж группе студентов удалось создать вполне конкурентоспособный процессор, то их инженерам это будет несложно. Поездка в Western Design Center в Фениксе показала инженерам Стиву Ферберу и Софи Уилсон, что им не потребуются невероятные ресурсы для осуществления этого плана.

Уилсон приступила к разработке системы команд, создавая симулятор нового процессора на компьютере BBC Micro. Её успехи в этом убедили инженеров Acorn, что они на верном пути. Но все же перед тем, как идти дальше, им требовалось больше ресурсов, настало время для Уилсон идти к директору Acorn Герману Хаузеру и объяснить, в чём же дело. После того как он дал добро, собралась небольшая команда для реализации модели Уилсон на аппаратном уровне.

Acorn RISC Machine: ARM2

Официальный проект Acorn RISC Machine был начат в октябре 1983 года. VLSI Technology (англ.) была выбрана в качестве поставщика кремниевых компонентов, так как она уже снабжала Acorn микросхемами ПЗУ и некоторыми нестандартными интегральными схемами. Разработку возглавили Уилсон и Фербер. Их основной целью было достижение низкой латентности обработки прерывания, как у MOS Technology 6502. Архитектура доступа к памяти, взятая от 6502, позволила разработчикам достичь хорошей производительности без использования дорогостоящего в реализации модуля DMA. Первый процессор был произведен VLSI 26 апреля 1985 года — именно тогда он впервые заработал и был назван ARM1. Первые серийные процессоры под названием ARM2 стали доступны в следующем году.

Его первое применение было в качестве второго процессора в BBC Micro, где он был использован при разработке программного обеспечения для моделирования, что позволило завершить работу над вспомогательными микросхемами компьютера, а также ускорить работу программного обеспечения CAD, используемого при разработке ARM2. Уилсон оптимизировала набор инструкций ARM для исполнения BBC BASIC. Изначальная цель компьютера, полностью построенного на базе ARM, была достигнута в 1987 году с выходом Acorn Archimedes.

Атмосфера вокруг проекта ARM была настолько секретна, что когда компания Olivetti вела переговоры о покупке контрольного пакета акций Acorn в 1985 году, они не стали рассказывать о развитии проекта до конца переговоров. В 1992 году Acorn ещё раз выиграл Премию королевы для предприятий за ARM.

В ARM2 была 32-разрядная шина данных, 26-битное адресное пространство и 16 32-разрядных регистров. Программный код должен был лежать в первых 64 мегабайтах памяти, а программный счётчик был ограничен 26 битами, так как верхние 4 и нижние 2 бит 32-битного регистра служили флагами. ARM2 стал, возможно, самым простым из популярных 32-битных процессоров в мире, имея всего лишь 30 тысяч транзисторов (для сравнения, в сделанном на 6 лет раньше процессоре Motorola 68000 было около 70 тысяч транзисторов). Многое из этой простоты обусловлено отсутствием микрокода (который в процессоре 68000 занимает от одной четверти до одной трети площади кристалла), и отсутствием кэша, как и в многих процессорах того времени. Эта простота привела к низким затратам энергии, в то время как ARM был гораздо более производителен, чем Intel 80286[7]. У его преемника — процессора ARM3 — уже был кэш 4 кб, что ещё больше увеличило производительность

Apple, DEC, Intel: ARM6, StrongARM, XScale

В конце 1980-х годов Apple Computer и VLSI Technology начали работать с Acorn Computers над новыми версиями ядра ARM. Работа была настолько важна, что Acorn преобразовала команду разработчиков в 1990 году в новую компанию под названием Advanced RISC Machines. По этой причине ARM иногда расшифровывают как Advanced RISC Machines вместо Acorn RISC Machine. Advanced RISC Machines стала ARM, когда её родительская компания ARM Holdings вышла на Лондонскую фондовую биржу и NASDAQ в 1998 году.

Новая работа Apple-ARM в конечном итоге превратилась в ARM6, впервые выпущенный в 1992 году. Apple использовала основанный на базе ARM6 процессор ARM610 в качестве основы для своего продукта Apple Newton PDA. В 1994 году Acorn стала использовать ARM610 как главный процессор в своих компьютерах RISC PC. Компания DEC также купила лицензию на архитектуру ARM6 (чем вызвала небольшую путаницу, поскольку они так же производили процессоры Alpha) и начала производить StrongARM. На 233 МГц этот процессор требовал всего 1 Вт мощности (более поздние версии требовали гораздо меньше). Позднее Intel получил права на эту работу в результате судебного процесса. Intel воспользовалась возможностью дополнить их устаревшую линейку I960 процессором StrongARM и, позднее, разработала свою версию ядра под торговой маркой XScale, которую они впоследствии продали компании Marvell.

Ядро ARM сохранило все тот же размер после всех этих изменений. У ARM2 было 30 тысяч транзисторов, в то время как ARM6 дорос всего лишь до 35 тысяч.

Влияние ARM-технологии на рынок

В основном процессоры семейства завоевали сегмент массовых мобильных продуктов (сотовые телефоны, карманные компьютеры) и встраиваемых систем средней и высокой производительности (от сетевых маршрутизаторов и точек доступа до телевизоров). Отдельные компании заявляют о разработках эффективных серверов на базе кластеров ARM процессоров[8], но пока это только экспериментальные проекты с 32-битной архитектурой[9].

Процессоры ARM

В настоящее время значимыми являются несколько семейств процессоров ARM:

  • ARM7 (с тактовой частотой до 60-72 МГц), предназначенные, например, для недорогих мобильных телефонов и встраиваемых решений средней производительности. В настоящее время активно вытесняется новым семейством Cortex.
  • ARM9 (англ.), ARM11 (с частотами до 1 ГГц) для более мощных телефонов, карманных компьютеров и встраиваемых решений высокой производительности.
  • Cortex A — новое семейство процессоров на смену ARM9 и ARM11.
  • Cortex M — новое семейство процессоров на смену ARM7, также призванное занять новую для ARM нишу встраиваемых решений низкой производительности. В семействе присутствуют четыре значимых ядра: Cortex M0, Cortex M3, Cortex M4 и Cortex-M7.

В 2010 году производитель анонсировал процессоры Cortex-A15 под кодовым названием Eagle, ARM утверждает, что ядро Cortex A15 на 40 процентов производительнее на той же частоте, чем ядро Cortex-A9 при одинаковом числе ядер на чипе.[10] Изделие, изготовленное по 28-нанометровому техпроцессу, имеет 4 ядра, может функционировать на частоте до 2,5 ГГц и будет поддерживаться многими современными операционными системами[11][12].

Популярное семейство микропроцессоров xScale фирмы Marvell (до 27 июня 2007 года — Intel[13]), в действительности является расширением архитектуры ARM9, дополненной набором инструкций Wireless MMX, специально разработанных фирмой Intel для поддержки мультимедийных приложений.

Архитектура

Уже давно существует справочное руководство по архитектуре ARM, которое разграничивает все типы интерфейсов, которые поддерживает ARM, так как детали реализации каждого типа процессора могут отличаться. Архитектура развивалась с течением времени, и начиная с ARMv7 были определены 3 профиля:

  • ‘A’(application) — для устройств, требующих высокой производительности (смартфоны, планшеты)
  • ‘R’(real time) — для приложений, работающих в реальном времени,
  • ’M’(microcontroller) — для микроконтроллеров и недорогих встраиваемых устройств.[2]

Профили могут поддерживать меньшее количество команд (команды определенного типа).

Режимы

Процессор может находиться в одном из следующих операционных режимов:

  • User mode — обычный режим выполнения программ. В этом режиме выполняется большинство программ.
  • Fast Interrupt (FIQ) — режим быстрого прерывания (меньшее время срабатывания).
  • Interrupt (IRQ) — основной режим прерывания.
  • System mode — защищённый режим для использования операционной системой.
  • Abort mode — режим, в который процессор переходит при возникновении ошибки доступа к памяти (доступ к данным или к инструкции на этапе prefetch конвейера).
  • Supervisor mode — привилегированный пользовательский режим.
  • Undefined mode — режим, в который процессор входит при попытке выполнить неизвестную ему инструкцию.

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

Набор команд

Чтобы сохранить устройство чистым, простым и быстрым, оригинальное изготовление ARM было исполнено без микрокода, как и более простой 8-разрядный процессор 6502, используемый в предыдущих микрокомпьютерах от Acorn Computers.

Набор команд ARM

Режим, в котором исполняется 32-битный набор команд.

Набор команд Thumb

Для улучшения плотности кода процессоры, начиная с ARM7TDMI, снабжены режимом «thumb». В этом режиме процессор выполняет альтернативный набор 16-битных команд. Большинство из этих 16-разрядных команд переводятся в нормальные команды ARM. Уменьшение длины команды достигается за счёт сокрытия некоторых операндов и ограничения возможностей адресации по сравнению с режимом полного набора команд ARM.

В режиме Thumb меньшие коды операций обладают меньшей функциональностью. Например, только ветвления могут быть условными, и многие коды операций имеют ограничение в виде доступа только к половине главных регистров процессора. Более короткие коды операций в целом дают большую плотность кода, хотя некоторые операции требуют дополнительных команд. В ситуациях, когда порт памяти или ширина шины ограничены 16 битами, более короткие коды операций режима Thumb становятся гораздо производительнее по сравнению с обычным 32-битным ARM-кодом, так как меньший программный код придется загружать в процессор при ограниченной пропускной способности памяти.

Аппаратные средства типа Game Boy Advance, как правило, имеют небольшой объём оперативной памяти, доступной с полным 32-битным информационным каналом. Но большинство операций выполняется через 16-битный или более узкий информационный канал. В этом случае имеет смысл использовать Thumb-код и вручную оптимизировать некоторые тяжелые участки кода, используя переключение в режим полных 32-битных инструкций ARM.

Первым процессором с декодером Thumb-команд был ARM7TDMI. Все процессоры семейства ARM9, а также XScale, имели встроенный декодер Thumb-команд.

Набор команд Thumb-2

Thumb-2 — технология, стартовавшая с ARM1156 core, анонсированного в 2003 году. Он расширяет ограниченный 16-битный набор команд Thumb дополнительными 32-битными командами, чтобы задать набору команд дополнительную ширину. Цель Thumb-2 — достичь плотности кода, как у Thumb, и производительности, как у набора команд ARM на 32 битах. Можно сказать, что в ARMv7 эта цель была достигнута.

Thumb-2 расширяет как команды ARM, так и команды Thumb ещё большим количеством команд, включая управление битовым полем, табличное ветвление, условное исполнение. Новый язык «Unified Assembly Language» (UAL) поддерживает создание команд, как для ARM, так и для Thumb из одного и того же исходного кода. Версии Thumb на ARMv7 выглядят, как код ARM. Это требует осторожности и использования новой команды if-then, которая поддерживает исполнение до 4 последовательных команд испытываемого состояния. Во время компиляции в ARM-код она игнорируется, но во время компиляции в код Thumb-2 генерирует команды. Например:

; if (r0 == r1)
CMP r0, r1
ITE EQ ; ARM: no code ... Thumb: IT instruction
; then r0 = r2;
MOVEQ r0, r2 ; ARM: conditional; Thumb: condition via ITE 'T' (then)
; else r0 = r3;
MOVNE r0, r3 ; ARM: conditional; Thumb: condition via ITE 'E' (else)
; recall that the Thumb MOV instruction has no bits to encode "EQ" or "NE"

Все кристаллы ARMv7 поддерживают набор команд Thumb-2, а некоторые кристаллы, вроде Cortex-m3, поддерживают только Thumb-2. Остальные кристаллы Cortex и ARM11 поддерживают наборы команд как Thumb-2, так и ARM.

Набор команд Jazelle

Jazelle — это технология, которая позволяет байткоду Java исполняться прямо в архитектуре ARM в качестве 3-го состояния исполнения (и набора команд) наряду с обычными командами ARM и режимом Thumb. Поддержка технологии Jazelle обозначается буквой «J» в названии процессора — например, ARMv5TEJ. Данная технология поддерживается начиная с архитектуры ARMv6, хотя новые ядра содержат лишь ограниченные реализации, которые не поддерживают аппаратного ускорения.

ARMv8 и набор команд ARM 64 бит

В конце 2011 года была опубликована новая версия архитектуры, ARMv8. В ней появилось определение архитектуры AArch64, в которой исполняется 64-битный набор команд A64. Поддержка 32-битных команд получила название A32 и исполняется на архитектурах AArch32. Инструкции Thumb поддерживаются в режиме T32, только при использовании 32-битных архитектур. Допускается исполнение 32-битных приложений в 64-битной ОС, и запуск виртуализованной 32-битной ОС при помощи 64-битного гипервизора.[47] Applied Micro, AMD, Broadcom, Calxeda, HiSilicon, Samsung, STM и другие заявили о планах по использованию ARMv8. Ядра Cortex-A53 и Cortex-A57, поддерживающие ARMv8, были представлены компанией ARM 30 октября 2012 года.[48]

Как AArch32, так и AArch64, поддерживают VFPv3, VFPv4 и advanced SIMD (NEON). Также добавлены криптографические инструкции для работы с AES, SHA-1 и SHA-256.

Особенности AArch64:

  • Новый набор команд A64
  • 31 регистр общего назначения, каждый длиной 64 бит
  • Отдельные регистры SP и PC
  • Инструкции имеют размер 32 бит и многие совпадают с командами A32
  • Большинство инструкций работают как с 32-, так и с 64-битными аргументами
  • Адреса имеют размер 64 бит
  • Улучшения Advanced SIMD (NEON) enhanced
  • С 16 до 32 увеличено количество 128-битных регистров, доступных через NEON, VFPv4, криптоинструкции AES, SHA
  • Поддерживает вычисления с числами с плавающей запятой двойной точности (64-бит double)
  • Полная совместимость с IEEE 754
  • Новая система исключений
  • Трансляция виртуальных адресов из 48-битного формата работает с помощью существующих механизмов LPAE

Функции RISC

Архитектура ARM обладает следующими особенностями RISC:

  • Архитектура загрузки/хранения
  • Нет поддержки нелинейного (не выровненного по словам) доступа к памяти (теперь поддерживается в процессорах ARMv6, за некоторыми исключениями, и полностью в ARMv7)
  • Равномерный 16х32-битный регистровый файл
  • Фиксированная длина команд (32 бит) для упрощения декодирования за счет снижения плотности кода. Позднее режим Thumb повысил плотность кода.
  • Одноцикловое исполнение

Чтобы компенсировать простой дизайн, в сравнении с современными процессорами вроде Intel 80286 или Motorola 68020 были использованы некоторые особенности дизайна:

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

Условное исполнение

Одним из существенных отличий архитектуры ARM (изначальная архитектура) от других архитектур ЦПУ является так называемая предикация — возможность условного исполнения команд. Под «условным исполнением» здесь понимается то, что команда будет выполнена или проигнорирована в зависимости от текущего состояния флагов состояния процессора. В Thumb и Arm 64 предикация не используется — в первом режиме для неё нет места в команде (всего 16 бит), а во втором предикация бессмысленнаК:Википедия:Статьи без источников (тип: не указан)[источник не указан 3488 дней] и сложна для реализации на суперскалярных архитектурах.

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

Пример, обычно рассматриваемый для иллюстрации — основанный на вычитании алгоритм Евклида. В языке C он выглядит так:

    while (i != j)
    {
       if (i > j)
           i -= j;
       else
           j -= i;
    }

А на ассемблере ARM — так:

loop CMP Ri, Rj; set condition «NE» if (i != j),
                            ;               "GT" if (i > j),
                            ;            or "LT" if (i < j)
        SUBGT  Ri, Ri, Rj   ; if "GT" (greater than), i = i-j;
        SUBLT  Rj, Rj, Ri   ; if "LT" (less than), j = j-i;
        BNE    loop         ; if "NE" (not equal), then loop

Из кода видно, что использование предикации позволило полностью избежать ветвления в операторах else и then. Заметим, что если Ri и Rj равны, то ни одна из SUB-инструкций не будет выполнена, полностью убирая необходимость в ветке, реализующей проверку while при каждом начале цикла, что могло быть реализовано, например, при помощи инструкции SUBLE (меньше либо равно).

Один из способов, которым уплотнённый (Thumb) код достигает большей экономии объёма — это именно удаление 4-битового предиката из всех инструкций, кроме ветвлений.

Другие особенности

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

 a += (j << 2);

может быть преобразовано в команду из одного слова и одного цикла в ARM:

ADD Ra, Ra, Rj, LSL #2

Это приводит к тому, что типичные программы ARM становятся плотнее, чем обычно, с меньшим доступом к памяти. Таким образом, конвейер используется гораздо более эффективно. Даже несмотря на то, что ARM работает на скоростях, которые многие бы сочли низкими, он довольно-таки легко конкурирует с многими более сложными архитектурами ЦПУ.

ARM процессор также имеет некоторые особенности, редко встречающиеся в других архитектурах RISC — такие, как адресация относительно счетчика команд (на самом деле счетчик команд ARM является одним из 16 регистров), а также пре- и пост-инкрементные режимы адресации.

Другая особенность, которую стоит отметить, — это то, что некоторые ранние ARM-процессоры (до ARM7TDMI), например, не имеют команд для хранения 2-байтных чисел. Таким образом, строго говоря, для них невозможно сгенерировать эффективный код, который бы вел себя так, как ожидается от объектов С, типа «volatile int16_t».

Конвейер и другие аспекты реализации

ARM7 и более ранние версии имеют трехступенчатый конвейер. Это ступени переноса, декодирования и исполнения. Более производительные архитектуры, типа ARM9, имеют более сложные конвейеры. Cortex-a8 имеет 13-ступенчатый конвейер.

Сопроцессоры

Архитектура предоставляет способ расширения набора команд, используя сопроцессоры, которые могут быть адресованы, используя MCR, MRC, MRRC, MCRR и похожие команды. Пространство сопроцессора логически разбито на 16 сопроцессоров с номерами от 0 до 15, причем 15-й зарезервирован для некоторых типичных функций управления, типа управления кэш-памятью и операции блока управления памятью (на процессорах, в которых они есть).

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

Усовершенствованный SIMD (NEON)

Расширение усовершенствованного SIMD, также называемое технологией NEON — это комбинированный 64- и 128-битный набор команд SIMD (single instruction multiple data), который обеспечивает стандартизованное ускорение для медиаприложений и приложений обработки сигнала. NEON может выполнять декодирование аудиоформата mp3 на частоте процессора в 10 МГц, и может работать с речевым кодеком GSM AMR (adaptive multi-rate) на частоте более 13МГц. Он обладает внушительным набором команд, отдельными регистровыми файлами, и независимой системой исполнения на аппаратном уровне. NEON поддерживает 8-, 16-, 32-, 64-битную информацию целого типа, одинарной точности и с плавающей запятой, и работает в операциях SIMD по обработке аудио и видео (графика и игры). В NEON SIMD поддерживает до 16 операций единовременно.

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

VFP

Технология VFP (Vector Floating Point, вектора чисел с плавающей запятой) — расширение сопроцессора в архитектуре ARM. Она производит низкозатратные вычисления над числами с плавающей запятой одинарной/двойной точности, в полной мере соответствующие стандарту ANSI/IEEE Std 754—1985 Standard for Binary Floating-Point Arithmetic. VFP производит вычисления с плавающей запятой, подходящие для широкого спектра приложений — например, для КПК, смартфонов, сжатие звука, трёхмерной графики и цифрового звука, а также принтеров и телеприставок. Архитектура VFP также поддерживает исполнение коротких векторных команд. Но, поскольку процессор выполняет операции последовательно над каждым элементом вектора, то VFP нельзя назвать истинным SIMD-набором инструкций. Этот режим может быть полезен в графике и приложениях обработки сигнала, так как он позволяет уменьшить размер кода и выработку команд.

Другие сопроцессоры с плавающей запятой и/или SIMD, находящиеся в ARM-процессорах, включают в себя FPA, FPE, iwMMXt. Они обеспечивают ту же функциональность, что и VFP, но не совместимы с ним на уровне опкодов.

Расширения безопасности

Расширения безопасности, позиционируемые как TrustZone Technology, находятся в ARMv6KZ и других, более поздних, профилированных на приложениях архитектурах. Оно обеспечивает низкозатратную альтернативу добавлению специального ядра безопасности, обеспечивая 2 виртуальных процессора, поддерживаемых аппаратным контролем доступа. Это позволяет ядру приложения переключаться между двумя состояниями, называемыми «миры» (чтобы избежать путаницы с названиями возможных доменов), чтобы не допустить утечку информации из более важного мира в менее важный. Этот переключатель миров обычно ортогонален всем другим возможностям процессора. Таким образом, каждый мир может работать независимо от других миров, используя одно и то же ядро. Память и периферия соответственно изготавливаются с учетом особенностей мира ядра, и могут использовать это, чтобы получить контроль доступа к секретам и кодам ядра. Типичные приложения TrustZone Technology должны запускать полноценную операционную систему в менее важном мире, и компактный, специализированный на безопасности, код в более важном мире, позволяя Digital Rights Management’у намного точнее контролировать использование медиа на устройствах на базе ARM, и предотвращая несанкционированный доступ к устройству.

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

Отладка

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

Архитектура ARMv7 определяет базовые средства отладки на архитектурном уровне. К ним относятся точки останова, точки просмотра и выполнение команд в режиме отладки. Такие средства были также доступны с модулем отладки EmbeddedICE. Поддерживаются оба режима — остановки и обзора. Реальный транспортный механизм, который используется для доступа к средствам отладки, не специфицирован архитектурно, но реализация, как правило, включает поддержку JTAG.

Существует отдельная архитектура отладки «с обзором ядра», которая не требуется архитектурно процессорами ARMv7.

Регистры

ARM предоставляет 31 регистр общего назначения разрядностью 32 бит. В зависимости от режима и состояния процессора пользователь имеет доступ только к строго определённому набору регистров. В ARM state разработчику постоянно доступны 17 регистров:

  • 13 регистров общего назначения (r0..r12).
  • Stack Pointer (r13) — содержит указатель стека выполняемой программы.
  • Link register (r14) — содержит адрес возврата в инструкциях ветвления.
  • Program Counter (r15) — биты [31:1] содержат адрес выполняемой инструкции.
  • Current Program Status Register (CPSR) — содержит флаги, описывающие текущее состояние процессора. Модифицируется при выполнении многих инструкций: логических, арифметических, и др.

Во всех режимах, кроме User mode и System mode, доступен также Saved Program Status Register (SPSR). После возникновения исключения регистр CPSR сохраняется в SPSR. Тем самым фиксируется состояние процессора (режим, состояние; флаги арифметических, логических операций, разрешения прерываний) на момент непосредственно перед прерыванием.[49]

usr sys svc abt und irq fiq
R0
R1
R2
R3
R4
R5
R6
R7
R8 R8_fiq
R9 R9_fiq
R10 R10_fiq
R11 R11_fiq
R12 R12_fiq
R13 R13_svc R13_abt R13_und R13_irq R13_fiq
R14 R14_svc R14_abt R14_und R14_irq R14_fiq
R15
CPSR
SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq

Работа с памятью

Архитектура ARM использует единое адресное пространство[50]. На практике такая схема означает, что адрес может указывать на оперативную память, ROM или порты ввода-вывода, в противовес традиционной схеме, при которой содержимое ROM при запуске копируется в оперативную память, а порты ввода-вывода имеют собственное адресное пространство.

Поддерживаемые системы ввода-вывода

В большинстве существующих моделей микропроцессоров реализована шина PCI и возможность работы с внешней динамической оперативной памятью (DRAM). В процессорах, предназначенных для потребительских устройств, также обычно встраиваются: контроллеры шин USB, IIC, AC’97-совместимое звуковое устройство, устройство для работы с флэш-носителями стандарта SD и MMC, контроллер последовательного порта.

Все процессоры имеют линии ввода-вывода общего назначения (GPIO). В потребительских устройствах к ним могут быть подключены кнопки «быстрого запуска», сигнальные светодиоды, колесо прокрутки (JogDial), клавиатура.

Процесс запуска ОС на ARM-машинах

После включения системы на базе ARM-процессора, из ROM-памяти загружается начальный загрузчик и адрес его точки входа. Начальный загрузчик проводит предварительную инициализацию системы, исполняя тем самым ту же роль, которую исполняет BIOS на системах x86, после чего может загрузить либо системный загрузчик, либо напрямую ОС.

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

ОС, поддерживающие ARM

Архитектура ARM поддерживается множеством операционных систем. Наиболее широко используемые: Linux (в том числе Android), iOS, Windows Phone. Подробнее: Список операционных систем с поддержкой процессоров ARM.

Работать на системах с ARM-процессором могут различные Unix и Unix-подобные ОС: Linux (многие дистрибутивы), iOS, Android, BSD (FreeBSD, NetBSD, OpenBSD), QNX, Plan 9, Inferno, OpenSolaris (2008—2009[51]), Firefox OS.

Также на платформе запускаются отдельные варианты семейства Windows: Windows CE, Windows Phone, Windows RT, Windows 10 (Только на Raspberry Pi)

Кроме того, ARM поддерживают: FreeRTOS, Nucleus, Symbian OS, RISC OS, RISC iX.

Напишите отзыв о статье "ARM (архитектура)"

Примечания

  1. Компания ARM Limited занимается исключительно разработкой ядер и инструментов для них (компиляторы, средства отладки и т. п.), зарабатывая на лицензировании архитектуры сторонним производителям.
  2. 1 2 [www.electronics.ru/journal/article/135 Д.Козлов-Кононов. Процессорные ядра семейства Cortex. Сочетание высокой производительности и низкого энергопотребления], журнал Электроника, вып. #8/2010
  3. [www.gaw.ru/html.cgi/txt/doc/micros/arm/cortex_arh/index.htm Ознакомительное руководство по ARM-микроконтроллерам Cortex-M3]
  4. [news.cnet.com/ARMed-for-the-living-room/2100-1006_3-6056729.html «ARMed for the living room»].
  5. [cacm.acm.org/magazines/2011/5/107684-an-interview-with-steve-furber/fulltext «An interview with Steve Furber»] // Communications of the ACM, May 2011, Vol. 54 No. 5, Pages 34-39, doi:10.1145/1941487.1941501
  6. Manners, David. [www.electronicsweekly.com/Articles/29/04/1998/7242/ARM39s-way.htm ARM's way], Electronics Weekly (29 апреля 1998). [web.archive.org/web/20120729024818/www.electronicsweekly.com/Articles/29/04/1998/7242/ARM39s-way.htm Архивировано] из первоисточника 29 июля 2012. Проверено 26 октября 2012.
  7. Santanu Chattopadhyay. [books.google.com/books?id=4Bir9Kw059gC&pg=PA9 Embedded System Design]. — PHI Learning Pvt. Ltd.. — P. 9. — ISBN 978-81-203-4024-4.
  8. [armservers.com/2012/06/18/apache-benchmarks-for-calxedas-5-watt-web-server/ Apache Benchmarks for Calxeda’s 5-Watt Web Server — ARM Servers, Now!]
  9. [www.apm.com/global/x-gene/docs/2012_03_OPP%20Cloudy%20with%20a%20Chance%20of%20ARM.pdf Cloudy with a chance of ARM. What the Microserver Market Means for Semiconductor Vendors] // Oppenheimer & Co. Inc, March 30, 2012
  10. [www.itproportal.com/2011/03/14/exclusive-arm-cortex-a15-40-cent-faster-cortex-a9/ Exclusive : ARM Cortex-A15 «40 Per Cent» Faster Than Cortex-A9]
  11. [www.arm.com/products/processors/cortex-a/cortex-a15.php Cortex-A15 Processor] (англ.). ARM. — Презентация процессоров семейства ARM CortexA15 MPCore на сайте производителя. Проверено 20 апреля 2012. [www.webcitation.org/682zlNuG3 Архивировано из первоисточника 30 мая 2012].
  12. [news.ferra.ru/hard/2010/09/10/102926/ ARM Cortex-A15 — процессор с тактовой частотой до 2,5 ГГц, не только для смартфонов]. Ferra.ru (10 сентября 2010). Проверено 20 апреля 2012. [www.webcitation.org/682znEiCh Архивировано из первоисточника 30 мая 2012].
  13. [www.intel.com/pressroom/archive/releases/20060627corp.htm Intel Newsroom | Top headlines, breaking news and current events from Intel]
  14. [www.hotchips.org/archives/hc8/2_Mon/HC8.S4/HC8.4.1.pdf «ARM810 — Dancing to the Beat of a Different Drum»] ARM Holdings presentation at Hot Chips 1996-08-07.
  15. [infocenter.arm.com/help/topic/com.arm.doc.ddi0151c/I47491.html Register 13, FCSE PID register] ARM920T Technical Reference Manual
  16. [wiki.openmoko.org/wiki/Neo1973:_GTA01Bv4_versus_GTA02_comparison Neo1973: GTA01Bv4 versus GTA02 comparison]. Проверено 15 ноября 2007. [www.webcitation.org/667ojWDRl Архивировано из первоисточника 13 марта 2012].
  17. [elinux.org/S3C2410 S3C2410]. Проверено 13 января 2010. [www.webcitation.org/667okGpjS Архивировано из первоисточника 13 марта 2012].
  18. [www.rockbox.org/twiki/bin/view/Main/SamsungSA58 Rockbox Samsung SA58xxx series]. Проверено 22 февраля 2008. [www.webcitation.org/667oksgNi Архивировано из первоисточника 13 марта 2012].
  19. [www.rockbox.org/twiki/bin/view/Main/MeizuM6Port Rockbox Meizu M6 Port – Hardware Information]. Проверено 22 февраля 2008. [www.webcitation.org/667olfDjt Архивировано из первоисточника 13 марта 2012].
  20. [magiclantern.wikia.com/wiki/Datasheets Datasheets — Magic Lantern Firmware Wiki]
  21. [mcu.st.com/mcu/modules.php?name=mcu&file=devicedocs&DEV=STR912FW44&FAM=101 STR9 – STR912 – STR912FW44 microcontroller – documents and files download page](недоступная ссылка — история). Mcu.st.com. Проверено 18 апреля 2009. [web.archive.org/20070210162600/mcu.st.com/mcu/modules.php?name=mcu&file=devicedocs&DEV=STR912FW44&FAM=101 Архивировано из первоисточника 10 февраля 2007].
  22. [wiibrew.org/wiki/Starlet Starlet].
  23. [www.albatross-uav.org/index.php/Benchmarks Benchmarks – Albatross](недоступная ссылка — история). Albatross-uav.org (18 июня 2005). Проверено 18 апреля 2009. [web.archive.org/20081016070519/www.albatross-uav.org/index.php/Benchmarks Архивировано из первоисточника 16 октября 2008].
  24. [www.arm.com/products/CPUs/ARM1136JF-S.html ARM1136J(F)-S – ARM Processor]. Arm.com. Проверено 18 апреля 2009. [www.webcitation.org/667omPSMh Архивировано из первоисточника 13 марта 2012].
  25. [xi0.info/qualcomm-chips-kernel-arm-phones_7000.html Qualcomm chips kernel ARM - from phones to laptops]. xi0.info. Проверено 8 мая 2010. [www.webcitation.org/667onN6Aq Архивировано из первоисточника 13 марта 2012].
  26. [pdadb.net/index.php?m=cpu&id=a7227&c=qualcomm_msm7227 Qualcomm MSM7227 RISC Chipset]. pdadb.net. Проверено 8 мая 2010. [www.webcitation.org/667ooM6DX Архивировано из первоисточника 13 марта 2012].
  27. [www.nvidia.com/page/goforce_6100.html GoForce 6100]. Nvidia.com. Проверено 18 апреля 2009. [www.webcitation.org/667oprK0P Архивировано из первоисточника 13 марта 2012].
  28. [www.mediatek.com/en/Products/featured_content.php?sn=2 Mediatek MT6573]. www.mediatek.com. Проверено 18 апреля 2009. [www.webcitation.org/68DLO2pD5 Архивировано из первоисточника 6 июня 2012].
  29. [www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C6410 Samsung S3C6410 and S3C6430 Series ARM Proccessors]. Samsung. Проверено 8 октября 2009., and the Qualcomm MSM7627 as seen in the Palm Pixi and Motorola Calgary/Devour
  30. Merrit, Rick [www.eetimes.com/showArticle.jhtml?articleID=220700447 "ARM stretches out with A5 core, graphics, FPGAs"]. EE Times (21 октября 2009). Проверено 28 октября 2009. [www.webcitation.org/667ov2zwD Архивировано из первоисточника 13 марта 2012].
  31. Clarke, Peter [www.eetimes.com/news/semi/rss/showArticle.jhtml?articleID=213000665&cid=RSSfeed_eetimes_semiRSS ARM tips plans for Swift and Sparrow processor cores]. EE Times (3 февраля 2009). Проверено 18 апреля 2009. [www.webcitation.org/667ovsxRU Архивировано из первоисточника 13 марта 2012].
  32. Segan, Sascha [www.pcmag.com/article2/0,2817,2341032,00.asp ARM's Multicore Chips Aim for Netbooks]. PC Magazine (9 апреля 2009). Проверено 18 апреля 2009. [www.webcitation.org/667owcBPe Архивировано из первоисточника 13 марта 2012].
  33. 1 2 3 4 [pc.watch.impress.co.jp/video/pcw/docs/423/409/p1.pdf 標æº-]
  34. [www.arm.com/products/processors/cortex-a/cortex-a15.php Cortex-A15 Processor — ARM]
  35. [www.arm.com/products/processors/cortex-a/cortex-a7.php Cortex-A7 Processor — ARM]
  36. Benz, Benjamin [www.heise.de/newsticker/meldung/Cortex-Nachwuchs-bei-ARM-936412.html Cortex Nachwuchs bei ARM]. Heise.de (2 февраля 2010). Проверено 3 мая 2010. [www.webcitation.org/667oxpoYk Архивировано из первоисточника 13 марта 2012].
  37. Clarke, Peter [www.eetimes.com/news/design/rss/showArticle.jhtml?articleID=214502333 ARM preps tiny core for low-power microcontrollers]. EE Times (23 февраля 2009). Проверено 30 ноября 2009. [www.webcitation.org/667ozIX8G Архивировано из первоисточника 13 марта 2012].
  38. Walko, John [www.eetimes.com/news/design/rss/showArticle.jhtml?articleID=216200026 NXP first to demo ARM Cortex-M0 silicon]. EE Times (23 марта 2009). Проверено 29 июня 2009. [www.webcitation.org/667p02jg6 Архивировано из первоисточника 13 марта 2012].
  39. [www.triadsemi.com/services/arm-powered-vcas/ ARM Powered VCAs " Triad Semiconductor]
  40. [www.electronicsweekly.com/Articles/2009/06/10/46252/cortex-m0-used-in-low-power-touch-controller.htm Cortex-M0 used in low power touch controller — 10/06/2009 — Electronics Weekly]
  41. [www.design-reuse.com/news/22137/arm-cortex-m0-processor.html Chungbuk Technopark Chooses ARM Cortex-M0 Processor]
  42. [translate.google.co.uk/translate?hl=en&sl=zh-TW&u=www.nuvoton.com/hq/enu/NewsAndEvents/News/MediaCoverage/20091005.htm Google Translate]
  43. [www10.edacafe.com/nbc/articles/view_article.php?articleid=752000 Austriamicrosystems Chooses ARM Cortex-M0 Processor For Mixed Signal Applications]
  44. [www.arm.com/news/17017.html «ARM Extends Cortex Family with First Processor Optimized for FPGA»], ARM press release, March 19, 2007. Retrieved April 11, 2007.
  45. [www.arm.com/products/CPUs/ARM_Cortex-M1.html «ARM Cortex-M1»], ARM product website. Retrieved April 11, 2007.
  46. [www.arm.com/news/17017.html ARM Extends Cortex Family with First Processor Optimized for FPGA].
  47. www.arm.com/files/downloads/ARMv8_Architecture.pdf
  48. [www.arm.com/about/newsroom/arm-launches-cortex-a50-series-the-worlds-most-energy-efficient-64-bit-processors.php ARM Launches Cortex-A50 Series, the World’s Most… - ARM]. Проверено 17 апреля 2013. [www.webcitation.org/6G0m1ys2z Архивировано из первоисточника 20 апреля 2013].
  49. [infocenter.arm.com/help/topic/com.arm.doc.ddi0029g/DDI0029.pdf ARM7TDMI (rev 3) Technical Reference Manual] (англ.). Проверено 22 августа 2009. [www.webcitation.org/667p0lZjD Архивировано из первоисточника 13 марта 2012].
  50. www.peter-cockerell.net/aalp/html/ch-2.html "Input and output devices are memory mapped. There is no concept of a separate I/O address space. Peripheral chips are read and written as if they were areas of memory. This means that in practical ARM systems, the memory map is divided into three areas: RAM, ROM, and input/output devices (probably in decreasing order of size)."
  51. [www.opensolaris.org/os/project/osarm/ OpenSolaris Project: ARM Platform Port]. Sun Microsystems. [www.webcitation.org/667p9tu7w Архивировано из первоисточника 13 марта 2012].

Ссылки

  • [www.arm.com/files/pdf/ARMCortexA-9Processors.pdf ARM Cortex — A9 white paper] (англ.)
  • [www.gaw.ru/html.cgi/txt/doc/micros/arm/index.htm Архитектура и система команд RISС-процессоров семейства ARM] (рус.)
  • [caxapa.ru/arm.html Форум по ARM-микроконтроллерам] (рус.)
  • [phrack.org/issues.html?issue=63&id=6#article Статья о WinCE и ARM] в журнале Phrack (англ.)
  • [droiddevice.ru/arm-protsessory Рейтинг производительности ARM процессоров] (рус.)
  • [www.mcu.by/category/arm/ Цикл статей по программированию ARM микроконтроллеров] (рус.)

Отрывок, характеризующий ARM (архитектура)

– Едем, – неохотно отвечал Николай, которому нынче, так как он намеревался предпринять серьезную охоту, не хотелось брать Наташу и Петю. – Едем, да только за волками: тебе скучно будет.
– Ты знаешь, что это самое большое мое удовольствие, – сказала Наташа.
– Это дурно, – сам едет, велел седлать, а нам ничего не сказал.
– Тщетны россам все препоны, едем! – прокричал Петя.
– Да ведь тебе и нельзя: маменька сказала, что тебе нельзя, – сказал Николай, обращаясь к Наташе.
– Нет, я поеду, непременно поеду, – сказала решительно Наташа. – Данила, вели нам седлать, и Михайла чтоб выезжал с моей сворой, – обратилась она к ловчему.
И так то быть в комнате Даниле казалось неприлично и тяжело, но иметь какое нибудь дело с барышней – для него казалось невозможным. Он опустил глаза и поспешил выйти, как будто до него это не касалось, стараясь как нибудь нечаянно не повредить барышне.


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


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


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


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