- •Датчик сигналов на сдвиговом регистре
- •Структурная схема микропрограммного устройства управления
- •Восстановление символической записи команды по ее машинному представлению
- •Основные режимы работы мультипрограммной эвм
- •Пакетный режим
- •Режим разделения времени
- •Режим реального времени
- •Сокращение потерь времени при использовании сегментно-страничной организации памяти в персональной эвм
- •Учебники к курсу
- •Список литературы
- •Фал одного аргумента
- •Инверсия
- •Конъюнкция
- •Дизъюнкция
- •Логическая равнозначность
- •Импликация
- •Эквивалентности
- •Сложение по mod 2
- •Правило де Моргана
- •Понятие функциональной полноты фал
- •Минимизация фал и ограничения при ее рассмотрении
- •Понятие покрытия
- •Метод минимизации фал по Квайну
- •Функции 4-х переменных
- •Свойства диаграмм Вейча
- •Синтез переключательных функций в одноэлементном базисе Операция (стрелка) Пирса
- •Операция штрих Шеффера
- •Минимальные конъюнктивные нормальные формы
- •Перевод чисел из одной системы счисления в другую, когда одно основание является целой степенью другого.
- •Плавающая запятая
- •Выполнение арифметических операций над числами, представленными с фиксированной запятой.
- •Передача.
- •Преобразование.
- •Обратный код
- •Умножение чисел со старших разрядов в прямом коде
- •Умножение с младших разрядов в прямом коде
- •Замечание.
- •Умножение с младших разрядов в дополнительном коде
- •Умножение со старших разрядов в дополнительном коде
- •Деление в дополнительном (обратном) кодах со сдвигом и автоматическим восстановлением остатка
- •Сложение и вычитание
- •Десятичные двоично-кодированные системы.
- •Архитектура классической эвм Структура эвм
- •Представление данных в эвм
- •Организация оперативной памяти
Сокращение потерь времени при использовании сегментно-страничной организации памяти в персональной эвм
Преобразование логического адреса в физический при сегментно-страничной организации памяти требует, как минимум, трех обращений к системным таблицам, расположенным в оперативной памяти (таблице дескрипторов, КТС и ТС). Это может привести к существенному снижению производительности компьютера. Механизм сокращения потерь времени на такое преобразование основывается на том факте, что изменение состояния сегментных регистров производится относительно редко, например, при переключении ЭВМ на новую задачу, а новое страничное преобразование требуется лишь при выходе программы за пределы загруженной в оперативную память страницы.
При сегментном преобразовании адреса после первого считывания дескриптора из таблицы дескрипторов, расположенной в оперативной памяти (например, после изменения состояния сегментного регистра при переключении на новую задачу), он запоминается в программно-недоступных ("теневых") регистрах микропроцессора (рис. 16.4). При последующих обращениях к данному сегменту используется дескриптор из "теневого" регистра без обращения к ОП. Поэтому на его вызов требуется минимальное время. Так как состояние сегментных регистров меняется относительно редко, то такой подход приводит к значительной экономии времени при сегментном преобразовании адреса.
Рис. 16.4.Сохранение дескрипторов сегментов в "теневых" регистрах микропроцессора
При страничном преобразовании номера виртуальной страницы в номер физической страницы используется кэш-буфер ассоциативной трансляции (TLB), содержащий физические адреса 32-х наиболее активно используемых страниц (рис. 16.5) и расположенный непосредственно в микропроцессоре.
Рис. 16.5.Формат буфера ассоциативной трансляции адреса страницы
Номер виртуальной страницы представляет собой старшие 20 разрядов линейного адреса, полученного при сегментном преобразовании (А31 - А12). По младшим разрядам (А14 - А12) этого номера выбирается блок в буфере ассоциативной трансляции. Содержимое поля тэгов каждой из четырех строк этого блока ассоциативным образом (одновременно) сравнивается с разрядами (А31 - А15) линейного адреса. Если значения для одной из строк выбранного блока совпали, значит, номер этой виртуальной страницы уже преобразовывался в номер физической страницы и результат этого преобразования находится в найденной строке TLB. Если сравнение не было успешным, то преобразование номера виртуальной страницы в номер физической проходит обычным образом через обращения к каталогу таблиц страниц и к таблице страниц, а полученное значение заносится в TLB. При этом в поле тэгов заносятся старшие 17 разрядов линейного адреса этой страницы (A31-A15). Если нет свободной строки в блоке, определяемом разрядами А14 - А12 линейного адреса, то из блока вытесняется строка, информация в которой дольше всего не использовалась (механизм LRU).
17. Лекция: Защита памяти в мультипрограммных ЭВМ | |
Страницы: 1 | 2 | вопросы | » |
| учебники | для печати и PDA | ZIP |
Если Вы заметили ошибку - сообщите нам, или выделите ее и нажмите Ctrl+Enter | |
Рассматриваются требования к системе защиты информации, общие подходы к организации защиты памяти мультипрограммных ЭВМ, а также организация защиты памяти в персональной ЭВМ. | |
Организация защиты памяти в ЭВМ При мультипрограммном режиме работы ЭВМ в ее памяти одновременно могут находиться несколько независимых программ. Поэтому необходимы специальные меры по предотвращению или ограничению обращений одной программы к областям памяти, используемым другими программами. Программы могут также содержать ошибки, которые, если этому не воспрепятствовать, приводят к искажению информации, принадлежащей другим программам. Последствия таких ошибок особенно опасны, если разрушению подвергнутся программы операционной системы. Другими словами, надо исключить воздействие программы пользователя на работу программ других пользователей и программ операционной системы. Следует защищать и сами программы от находящихся в них возможных ошибок. Таким образом, средства защиты памяти должны предотвращать [2]
Чтобы воспрепятствовать разрушению одних программ другими, достаточно защитить область памяти данной программы от попыток записи в нее со стороны других программ, а в некоторых случаях и своей программы (защита от записи), при этом допускается обращение других программ к этой области памяти для считывания данных. В других случаях, например при ограничениях на доступ к информации, хранящейся в системе, необходимо запрещать другим программам любое обращение к некоторой области памяти как на запись, так и на считывание. Такая защита от записи и считывания помогает в отладке программы, при этом осуществляется контроль каждого случая обращения за область памяти своей программы. Для облегчения отладки программ желательно выявлять и такие характерные ошибки в программах, как попытки использования данных вместо команд или команд вместо данных в собственной программе, хотя эти ошибки могут и не разрушать информацию (несоответствие функционального использования информации). Если нарушается защита памяти, исполнение программы приостанавливается и вырабатывается запрос прерывания по нарушению защиты памяти. Защита от вторжения программ в чужие области памяти может быть организована различными методами. Но при любом подходе реализация защиты не должна заметно снижать производительность компьютера и требовать слишком больших аппаратурных затрат. Методы защиты базируются на некоторых классических подходах, которые получили свое развитие в архитектуре современных ЭВМ. К таким методам можно отнести защиту отдельных ячеек, метод граничных регистров, метод ключей защиты [7]. Защита отдельных ячеек памяти организуется в ЭВМ, предназначенных для работы в системах управления, где необходимо обеспечить возможность отладки новых программ без нарушения функционирования находящихся в памяти рабочих программ, управляющих технологическим процессом. Это может быть достигнуто выделением в каждой ячейке памяти специального "разряда защиты". Установка этого разряда в "1" запрещает производить запись в данную ячейку, что обеспечивает сохранение рабочих программ. Недостаток такого подхода - большая избыточность в кодировании информации из-за излишне мелкого уровня защищаемого объекта (ячейка). В системах с мультипрограммной обработкой целесообразно организовывать защиту на уровне блоков памяти, выделяемых программам, а не отдельных ячеек. Метод граничных регистров (рис. 17.1) заключается во введении двух граничных регистров, указывающих верхнюю и нижнюю границы области памяти, куда программа имеет право доступа. Рис. 17.1. Защита памяти методом граничных регистров При каждом обращении к памяти проверяется, находится ли используемый адрес в установленных границах. При выходе за границы обращение к памяти не производится, а формируется запрос прерывания, передающий управление операционной системе. Содержание граничных регистров устанавливается операционной системой при загрузке программы в память. Модификация этого метода заключается в том, что один регистр используется для указания адреса начала защищаемой области, а другой содержит длину этой области. Метод граничных регистров, обладая несомненной простотой реализации, имеет и определенные недостатки. Основным из них является то, что этот метод поддерживает работу лишь с непрерывными областями памяти. Метод ключей защиты, в отличие от предыдущего, позволяет реализовать доступ программы к областям памяти, организованным в виде отдельных модулей, не представляющих собой единый массив. Память в логическом отношении делится на одинаковые блоки, например, страницы. Каждому блоку памяти ставится в соответствие код, называемый ключом защиты памяти, а каждой программе, принимающей участие в мультипрограммной обработке, присваивается код ключа программы. Доступ программы к данному блоку памяти для чтения и записи разрешен, если ключи совпадают (то есть данный блок памяти относится к данной программе) или один из них имеет код 0 (код 0 присваивается программам операционной системы и блокам памяти, к которым имеют доступ все программы: общие данные, совместно используемые подпрограммы и т. п.). Коды ключей защиты блоков памяти и ключей программ устанавливаются операционной системой. В ключе защиты памяти предусматривается дополнительный разряд режима защиты. Защита действует только при попытке записи в блок, если в этом разряде стоит 0, и при любом обращении к блоку, если стоит 1. Коды ключей защиты памяти хранятся в специальной памяти ключей защиты, более быстродействующей, чем оперативная память. Функционирование этого механизма защиты памяти поясняется схемой на рис. 17.2. Рис. 17.2. Защита памяти методом ключей защиты При обращении к памяти группа старших разрядов адреса ОЗУ, соответствующая номеру блока, к которому производится обращение, используется как адрес для выборки из памяти ключей защиты кода ключа защиты, присвоенного операционной системой данному блоку. Схема анализа сравнивает ключ защиты блока памяти и ключ программы, находящийся в регистре слова состояния программы (ССП), и вырабатывает сигнал "Обращение разрешено" или сигнал "Прерывание по защите памяти". При этом учитываются значения режима обращения к ОЗУ (запись или считывание), указываемого триггером режима обращения ТгРО, и режима защиты, установленного в разряде режима обращения (РРО) ключа защиты памяти. | |
Средства защиты памяти в персональной ЭВМ
Защита памяти в персональной ЭВМ [4] делится на защиту при управлении памятью и защиту по привилегиям.
Средства защиты при управлении памятью осуществляют проверку
превышения эффективным адресом длины сегмента,
прав доступа к сегменту на запись или только на чтение,
функционального назначения сегмента.
Первый механизм базируется на методе граничных регистров. При этом начальные адреса того или иного сегмента программы устанавливаются операционной системой. Для каждого сегмента фиксируется его длина. При попытке обращения по относительному адресу, превышающему длину сегмента, вырабатывается сигнал нарушения защиты памяти.
При проверке функционального назначения сегмента определяются операции, которые можно проводить над находящимися в нем данными. Так, сегмент, представляющий собой стек программы, должен допускать обращение как на запись, так и на чтение информации. К сегменту, содержащему программу, можно обращаться только на исполнение. Любое обращение на запись или чтение данных из этого сегмента будет воспринято как ошибочное. Здесь наблюдается некоторый отход от принципов Неймана в построении ЭВМ, в которых утверждается, что любая информация, находящаяся в ЗУ, функционально не разделяется на программу и данные, а ее идентификация проводится лишь на стадии применения данной информации. Очевидно, что такое развитие вызвано во многом появлением мультипрограммирования и необходимостью более внимательного рассмотрения вопросов защиты информации.
Защита по привилегиям фиксирует более тонкие ошибки, связанные, в основном, с разграничением прав доступа к той или иной информации.
В какой-то степени защиту по привилегиям можно сравнить с классическим методом ключей защиты памяти. Различным объектам (программам, сегментам памяти, запросам на обращение к памяти и к внешним устройствам), которые должны быть распознаны процессором, присваивается идентификатор, называемый уровнем привилегий. Процессор постоянно контролирует, имеет ли текущая программа достаточные привилегии, чтобы
выполнять некоторые команды,
выполнять команды ввода-вывода на том или ином внешнем устройстве,
обращаться к данным других программ,
вызывать другие программы.
На аппаратном уровне в процессоре различаются 4 уровня привилегий. Наиболее привилегированными являются программы на уровне 0.
Число программ, которые могут выполняться на более высоком уровне привилегий, уменьшается от уровня 3 к уровню 0. Программы уровня 0 действуют как ядро операционной системы. Поэтому уровни привилегий обычно изображаются в виде четырех колец защиты (рис. 17.3).
Рис. 17.3. "Кольца защиты"
Как правило, распределение программ по кольцам защиты имеет следующий вид:
уровень 0 - ядро ОС, обеспечивающее инициализацию работы, управление доступом к памяти, защиту и ряд других жизненно важных функций, нарушение которых полностью выводит из строя процессор;
уровень 1 - основная часть программ ОС (утилиты);
уровень 2 - служебные программы ОС (драйверы, СУБД, специализированные подсистемы программирования и др.);
уровень 3 - прикладные программы пользователя.
Конкретная операционная система не обязательно должна поддерживать все четыре уровня привилегий. Так, ОС UNIX работает с двумя кольцами защиты: супервизор (уровень 0) и пользователь (уровни 1,2,3). Операционная система OS/2 поддерживает три уровня: код ОС работает в кольце 0, специальные процедуры для обращения к устройствам ввода-вывода действуют в кольце 1, а прикладные программы выполняются в кольце 3.
Простую незащищенную систему можно целиком реализовать в одном кольце 0 (в других кольцах это сделать невозможно, так как некоторые команды доступны только на этом уровне).
Уровень привилегий сегмента определяется полем DPL уровня привилегий его дескриптора. Уровень привилегий запроса к сегменту определяется уровнем привилегий RPL, закодированном в селекторе. Обращение к сегменту разрешается только тогда, когда уровень привилегий сегмента не выше уровня запроса. Обращение к программам, находящимся на более высоком уровне привилегий (например, к утилитам операционной системы из программ пользователя), возможно с помощью специальных аппаратных механизмов - шлюзов вызова.
При страничном преобразовании адреса применяется простой двухуровневый механизм защиты: пользователь (уровень 3) / супервизор (уровни 0,1,2), указываемый в поле U/S соответствующей таблицы страниц.
При сегментно-страничном преобразовании адреса сначала проверяются привилегии при доступе к сегменту, а затем - при доступе к странице. Это дает возможность установить более высокую степень защиты отдельных страниц сегмента.
18. Лекция: Ввод-вывод информации | |
Страницы: 1 | 2 | вопросы | » |
| учебники | для печати и PDA | ZIP |
Если Вы заметили ошибку - сообщите нам, или выделите ее и нажмите Ctrl+Enter | |
Рассматриваются вопросы взаимодействия устройств, входящих в состав ЭВМ, проблемы, возникающие при обеспечении такого взаимодействия, и пути их решения. Рассматриваются особенности программно-управлямой передачи данных между устройствами ввода-вывода и оперативной памятью, а также механизм прямого доступа к памяти. Рассматриваются основные сигналы шины ISA. | |
Любая ЭВМ представляет собой сложную систему, включающую в себя большое количество различных устройств. Связь устройств ЭВМ между собой осуществляется с помощью сопряжений, которые в вычислительной технике называются интерфейсами. Интерфейс - это совокупность программных и аппаратных средств, предназначенных для передачи информации между компонентами ЭВМ и включающих в себя электронные схемы, линии, шины и сигналы адресов, данных и управления, алгоритмы передачи сигналов и правила интерпретации сигналов устройствами. Интерфейсы характеризуются следующими параметрами [7]:
К динамическим параметрам интерфейса относится время передачи отдельного слова и блока данных с учетом продолжительности процедур подготовки и завершения передачи. Разработка систем ввода-вывода требует решения целого ряда проблем, среди которых выделим следующие:
Главным направлением решения указанных проблем является магистрально-модульный способ построения ЭВМ рис. 18.1: все устройства, составляющие компьютер, включая и микропроцессор, организуются в виде модулей, которые соединяются между собой общей магистралью. Обмен информацией по магистрали удовлетворяет требованиям некоторого общего интерфейса, установленного для магистрали данного типа. Каждый модуль подключается к магистрали посредством специальных интерфейсных схем (Иi). Рис. 18.1. Магистрально-модульный принцип построения ЭВМ На интерфейсные схемы модулей возлагаются следующие задачи:
Эти интерфейсные схемы могут быть достаточно сложными и по своим возможностям соответствовать универсальным микропроцессорам. Такие схемы принято называть контроллерами. Контроллеры обладают высокой степенью автономности, что позволяет обеспечить параллельную во времени работу периферийных устройств и выполнение программы обработки данных микропроцессором. Недостатком магистрально-модульного способа организации ЭВМ является невозможность одновременного взаимодействия более двух модулей, что ставит ограничение на производительность компьютера. Поэтому этот способ, в основном, используется в ЭВМ, к характеристикам которых не предъявляется очень высоких требований, например в персональных ЭВМ. |
В ЭВМ используются два основных способа организации передачи данных между памятью и периферийными устройствами: программно-управляемая передача и прямой доступ к памяти (ПДП).
Программно-управляемая передача данных осуществляется при непосредственном участии и под управлением процессора. Например, при пересылке блока данных из периферийного устройства в оперативную память процессор должен выполнить следующую последовательность шагов:
сформировать начальный адрес области обмена ОП;
занести длину передаваемого массива данных в один из внутренних регистров, который будет играть роль счетчика;
выдать команду чтения информации из УВВ; при этом на шину адреса из МП выдается адрес УВВ, на шину управления - сигнал чтения данных из УВВ, а считанные данные заносятся во внутренний регистр МП;
выдать команду записи информации в ОП; при этом на шину адреса из МП выдается адрес ячейки оперативной памяти, на шину управления - сигнал записи данных в ОП, а на шину данных выставляются данные из регистра МП, в который они были помещены при чтении из УВВ;
модифицировать регистр, содержащий адрес оперативной памяти;
уменьшить счетчик длины массива на длину переданных данных;
если переданы не все данные, то повторить шаги 3-6, в противном случае закончить обмен.
Как видно, программно-управляемый обмен ведет к нерациональному использованию мощности микропроцессора, который вынужден выполнять большое количество относительно простых операций, приостанавливая работу над основной программой. При этом действия, связанные с обращением к оперативной памяти и к периферийному устройству, обычно требуют удлиненного цикла работы микропроцессора из-за их более медленной по сравнению с микропроцессором работы, что приводит к еще более существенным потерям производительности ЭВМ.
Альтернативой программно-управляемому обмену служит прямой доступ к памяти - способ быстродействующего подключения внешнего устройства, при котором оно обращается к оперативной памяти, не прерывая работы процессора [3]. Такой обмен происходит под управлением отдельного устройства - контроллера прямого доступа к памяти (КПДП).
Структура ЭВМ, имеющей в своем составе КПДП, представлена на рис. 18.2.
Рис. 18.2. Обмен данными в режиме прямого доступа к памяти
Перед началом работы контроллер ПДП необходимо инициализировать: занести начальный адрес области ОП, с которой производится обмен, и длину передаваемого массива данных. В дальнейшем по сигналу запроса прямого доступа контроллер фактически выполняет все те действия, которые обеспечивал микропроцессор при программно-управляемой передаче.
Последовательность действий КПДП при запросе на прямой доступ к памяти со стороны устройства ввода-вывода следующая:
Принять запрос на ПДП (сигнал DRQ) от УВВ.
Сформировать запрос к МП на захват шин (сигнал HRQ).
Принять сигнал от МП (HLDA), подтверждающий факт перевода микропроцессором своих шин в третье состояние.
Сформировать сигнал, сообщающий устройству ввода-вывода о начале выполнения циклов прямого доступа к памяти (DACK).
Сформировать на шине адреса компьютера адрес ячейки памяти, предназначенной для обмена.
Выработать сигналы, обеспечивающие управление обменом (IOR, MW для передачи данных из УВВ в оперативную память и IOW, MR для передачи данных из оперативной памяти в УВВ).
Уменьшить значение в счетчике данных на длину переданных данных.
Проверить условие окончания сеанса прямого доступа (обнуление счетчика данных или снятие сигнала запроса на ПДП). Если условие окончания не выполнено, то изменить адрес в регистре текущего адреса на длину переданных данных и повторить шаги 5-8.
Прямой доступ к памяти позволяет осуществлять параллельно во времени выполнение процессором программы и обмен данными между периферийным устройством и оперативной памятью.
Обычно программно-управляемый обмен используется в ЭВМ для операций ввода-вывода отдельных байт (слов), которые выполняются быстрее, чем при ПДП, так как исключаются потери времени на инициализацию контроллера ПДП, а в качестве основного способа осуществления операций ввода-вывода используют ПДП. Например, в стандартной конфигурации персональной ЭВМ обмен между накопителями на магнитных дисках и оперативной памятью происходит в режиме прямого доступа.
Как отмечалось выше, обычно компьютер строится по магистрально-модульному принципу. При этом все составляющие его устройства объединяются общей шиной, по которой между ними происходит обмен данными, адресами, а также управляющими сигналами. В качестве примера перечислим основные линии, составляющие одну из распространенных системных магистралей - шину ISA:
A0-A23- шина адреса;
D0-D15- двунаправленная шина данных, допускает обмен как байтами, так и словами (2 байта);
CLK- шинный тактовый сигнал, синхронизирует работу процессора, ОП и УВВ;
MR- управляющий сигнал чтения из ОП;
MW- управляющий сигнал записи в ОП;
IOR- управляющий сигнал чтения из УВВ;
IOW- управляющий сигнал записи в УВВ;
IRQi- запрос прерывания от i-го источника;
DRQi- запрос прямого доступа к памяти по i-му каналу контроллера ПДП;
DACKi- разрешение прямого доступа к памяти i-му каналу контроллера ПДП;
AEN- сигнал занятости шин обменом в режиме ПДП,
READY- сигнал готовности УВВ к обмену.
Магистраль обеспечивает подключение до семи внешних устройств, работающих в режиме прямого доступа к памяти, и до 11 запросов прерываний от УВВ. Еще четыре запроса прерываний зарезервированы за устройствами, входящими в состав стандартной конфигурации ЭВМ, и на магистраль не выведены.
Хотя шина ISA имеет небольшую информационную ширину и в настоящее время используется для подключения только относительно медленных периферийных устройств, ее состав позволяет в определенной мере проследить взаимосвязь различных рассмотренных ранее устройств, составляющих ЭВМ.
Организация ЭВМ на основе общей шины является сдерживающим фактором для повышения производительности компьютера. Следует отметить, что даже при использовании прямого доступа к памяти процессор полностью не освобождается от управления операциями ввода-вывода. Он обеспечивает инициализацию контроллера ПДП, а также взаимодействует с ним по некоторым управляющим линиям. Более того, во время операции передачи данных интерфейс оказывается занятым, а связь процессора с оперативной памятью - блокированной.
Это существенно сказывается на эффективности работы ЭВМ, особенно в тех случаях, когда в вычислительной системе используется большое количество высокоскоростных внешних устройств. Для решения этой проблемы в состав высокопроизводительных компьютеров иногда включают специализированные процессоры ввода-вывода, способные полностью разгрузить основной процессор от управления операциями обмена с внешними устройствами.
Литература | ||
версия для печати | ||
Учебники к курсу
Список литературы
|
Предметный указатель | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
версия для печати | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Предметный указатель | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
версия для печати | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Предметный указатель | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
версия для печати | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Предметный указатель | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
версия для печати | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Предметный указатель | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
версия для печати | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|