Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО АДРЕСНОЕ



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

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

накопителя. Если носитель информации перемещается относительно средств считывания или перемещается информация относительно носителя, то 3. у. а. называется циклическим, или 3. у. а. с последовательной выборкой. ЗУ с дискретными запоминающими элементами, доступ к которым осуществляется с помощью т. н. линий выборки, наз. запоминающими устройствами с произвольным обращением. В ЗУ с последовательной выборкой записанная в накопитель информация сопровождается особой меткой — маркером (накопитель на магнитном барабане) или своим номером (накопитель на магнитной ленте). Момент выборки информации определяется совпадением числового значения кода адреса с номером, сопровождающим информацию, перемещающуюся относительно средств считывания, или равенством его значению числа, являющегося результатом суммирования маркерных импульсов. В ЗУ с произвольным обращением код адреса преобразовывается в сигналы выборки в определенных линиях выборки, называемых адресными, с помощью дешифраторов и формирующих устройств. Т. о., адресные линии определяют физический адрес запоминающей ячейки, предназначенной для хранения определенного слова. Для записи кода слова в запоминающую ячейку используют разрядные линии, объединяющие элементы накопителя, относящиеся к одному разряду. По разрядным линиям подаются сигналы, соответствующие записываемому коду. Они же служат и для вывода информации. С целью сокращения оборудования линии выборки проводят в нескольких измерениях — по нескольким координатам. Соответствующие линии по каждой координате возбуждаются согласно заданному коду, а выбираемые запоминающие элементы определяются совпадением возбужденных линий.

Многокоординатный принцип поиска базируется на использовании логических елементов совпадения на несколько входов с определенными пороговыми свойствами. При построении последней ступени дешифратора используются свойства самих запоминающих элементов, а также выходных устройств в запоминающем устройстве выполнять логические функции. Технические трудности построения многовходовых запоминающих элементов приводят к ограничению числа используемых координат выборки, поэтому чаще всего строятся двух- и трехкоординатные системы выборки. При считывании информации запоминающие элементы могут сохранять свое состояние, установленное в результате записи. Это ЗУ с неразрушающим считыванием. Если при считывании запоминающие элементы свое состояние не сохраняют, а устанавливаются в некоторое исходное состояние, то такое ЗУ называется ЗУ с разрушающим считыванием. Именно запоминающие элементы в первую очередь определяют технические характеристики ЗУ. Поэтому в названии ЗУ обычно содержится информация об используемых запоминающих элементах: накопитель на магнитной ленте, на магнитном барабане, дисковое ЗУ, ЗУ на ферритах, ЗУ на тонких пленках и т. д. Чаще всего в 3. у. а. используются сравнительно простые запоминающие элементы с разрушающим считыванием.

В ЗУ какого-либо одного типа, как правило, не удается получать характеристики, удовлетворяющие всем требованиям, предъявляемым к таким устройствам при использовании их в системах преобразования дискретной информации. Напр., повышение быстродействия ЗУ возможно только при определенном снижении его емкости. Поэтому в большинстве случаев ЗУ в ЦВМ образуют некоторую иерархическую структуру, на верхних ступенях которой находятся ЗУ с высоким быстродействием и сравнительно малой емкостью, на нижних — медленнодействующие ЗУ большой емкости. В зависимости от класса ЦВМ таких уровней бывает 2—4, а в вычислительных системах их число достигает 6—7.

 

 

ВОПРОС 7

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

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

Определение основного интерфейса для АП и других Сетевых Элементов Поиска (Network Search Elements, NSE) было специфицировано в Соглашении о возможности взаимодействий (Interoperability Agreement), названном Интерфейс предысторий (Look-Aside Interface) ( LA-1 и LA-1B ), который был разработан Форумом Сетевой Обработки, который позже был объединен с Оптическим Межсетевым Форумом (Optical Internetworking Forum, OIF). Многочисленные устройства были произведены компаниями Integrated Device Technology, Cypress Semiconductor, IBM, Netlogic Micro Systems и другими по этим соглашениям LA. 11 декабря 2007, OIF издал соглашение об интерфейсе последовательной предыстории (Serial Lookaside, SLA ).

 

Двоичная АП — простейший тип ассоциативной памяти, который использует слова поиска данных, состоявшие полностью из единиц и нулей. В троичной АП (Ternary Content Addressable Memory, TCAM[1]) добавляется третье значение для сравнения «X» или «не важно», для одного или более битов в сохраненном слове данных, добавляя дополнительную гибкость поиску.

Например, в троичной АП могло бы быть сохранено слово «10XX0», которое выдаст совдпадение на любое из четырех слов поиска «10000», «10010», «10100», или «10110». Добавление гибкости к поиску приходит за счет увеличения сложности памяти, поскольку внутренние ячейки теперь должны кодировать три возможных состояния вместо двух. Это дополнительное состояние обычно осуществляется добавлением бита маски «важности»(«важно»/«не важно») к каждой ячейке памяти.

 

 

ВОПРОС 8

Стековая память

Стековая память является безадресной. Все ячейки памяти организованы по принципу " первым вошел - последним вышел" (LIFO). Реализовано это таким образом, что для операций с памятью доступна только 0-я ячейка.

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

Ассоциативная память.

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

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

Иерархия памяти

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

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

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

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием (hit) или промахом (miss). Попадание - есть обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне. Доля попаданий (hit rate) или коэффициент попаданий (hit ratio) есть доля обращений, найденных на более высоком уровне. Иногда она представляется процентами. Доля промахов (miss rate) есть доля обращений, которые не найдены на более высоком уровне.

Поскольку повышение производительности является главной причиной появления иерархии памяти, частота попаданий и промахов является важной характеристикой. Время обращения при попадании (hit time) есть время обращения к более высокому уровню иерархии, которое включает в себя, в частности, и время, необходимое для определения того, является ли обращение попаданием или промахом. Потери на промах (miss penalty) есть время для замещения блока в более высоком уровне на блок из более низкого уровня плюс время для пересылки этого блока в требуемое устройство (обычно в процессор). Потери на промах далее включают в себя две компоненты: время доступа (access time) - время обращения к первому слову блока при промахе, и время пересылки (transfer time) - дополнительное время для пересылки оставшихся слов блока. Время доступа связано с задержкой памяти более низкого уровня, в то время как время пересылки связано с полосой пропускания канала между устройствами памяти двух смежных уровней.

Чтобы описать некоторый уровень иерархии памяти надо ответить на следующие четыре вопроса:

1. Где может размещаться блок на верхнем уровне иерархии? (размещение блока).

2. Как найти блок, когда он находится на верхнем уровне? (идентификация блока).

3. Какой блок должен быть замещен в случае промаха? (замещение блоков).

4. Что происходит во время записи? (стратегия записи).

Организация кэш-памяти

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

Рис. 8.4.

Принципы размещения блоков в кэш-памяти определяют три основных типа их организации:

· Если каждый блок основной памяти имеет только одно фиксированное место, на котором он может появиться в кэш-памяти, то такая кэш-память называется кэшем с прямым отображением (direct mapped). Это наиболее простая организация кэш-памяти, при которой для отображение адресов блоков основной памяти на адресакэш-памяти просто используются младшие разряды адреса блока.

· Если некоторый блок основной памяти может располагаться на любом месте кэш-памяти, то кэш называется полностью ассоциативным (fully associative).

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

· Если множество состоит из n блоков, то такое размещение называется множественно-ассоциативным с n каналами (n-way set associative).

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

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

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

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

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

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

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

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

· сквозная запись (write through, store through) - информация записывается в два места: в блок кэш-памяти и в блок более низкого уровня памяти.

· запись с обратным копированием (write back, copy back, store in) - информация записывается только в блок кэш-памяти. Модифицированный блок кэш-памяти записывается в основную память только когда он замещается. Для сокращения частоты копирования блоков при замещении обычно с каждым блоком кэш-памяти связывается так называемый бит модификации (dirty bit). Этот бит состояния показывает был ли модифицирован блок, находящийся в кэш-памяти. Если он не модифицировался, то обратное копирование отменяется, поскольку более низкий уровень содержит ту же самую информацию, что и кэш-память.

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

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

· разместить запись в кэш-памяти (write allocate) (называется также выборкой при записи (fetch on write)). Блок загружается в кэш-память, вслед за чем выполняются действия аналогичные выполняющимся при выполнении записи с попаданием. Это похоже на промах при чтении.

· не размещать запись в кэш-памяти (называется также записью в окружение (write around)). Блок модифицируется на более низком уровне и не загружается в кэш-память.

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

 

ВОПРОС 9

 

http: //stu.sernam.ru/book_mic.php? id=44

 

Постоянное запоминающее устройство ( ПЗУ ) —энергонезависимая память, используется для хранения массива неизменяемых данных.

Классификация[править | править вики-текст]

По типу исполнения[править | править вики-текст]

· Массив данных совмещён с устройством выборки (считывающим устройством), в этом случае массив данных часто в разговоре называется «прошивка»:

· микросхема ПЗУ;

· Один из внутренних ресурсов однокристальной микро ЭВМ(микроконтроллера), как правило FlashROM.

· Массив данных существует самостоятельно:

· Компакт-диск;

· перфокарта;

· перфолента;

· Штрих-коды;

· монтажные «1» и монтажные «0».

По разновидностям микросхем ПЗУ[править | править вики-текст]

· По технологии изготовления кристалла:

· ROM — (англ. read-only memory, постоянное запоминающее устройство), масочное ПЗУ, изготавливается фабричным методом. В дальнейшем нет возможности изменить записанные данные.

· PROM — (англ. programmable read-only memory, программируемое ПЗУ ( ППЗУ )) — ПЗУ, однократно «прошиваемое» пользователем.

· EPROM — (англ. erasable programmable read-only memory, перепрограммируемое/репрограммируемое ПЗУ ( ПППЗУ / РПЗУ )). Например, содержимое микросхемы К573РФ1 стиралось при помощи ультрафиолетовой лампы. Для прохождения ультрафиолетовых лучей к кристаллу в корпусе микросхемы было предусмотрено окошко с кварцевым стеклом.

· EEPROM — (англ. electrically erasable programmable read-only memory, электрически стираемое перепрограммируемое ПЗУ ). Память такого типа может стираться и заполняться данными несколько десятков тысяч раз. Используется втвердотельных накопителях. Одной из разновидностей EEPROM является флеш-память (англ. flash memory).

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

· NVRAM, non-volatile memory — «неразрушающаяся» память, строго говоря, не является ПЗУ. Это ОЗУнебольшого объёма, конструктивно совмещённое с батарейкой. В СССР такие устройства часто назывались«Dallas» по имени фирмы, выпустившей их на рынок. В NVRAM современных ЭВМ батарейка уже конструктивно не связана с ОЗУ и может быть заменена.

· По виду доступа:

· С параллельным доступом ( parallel mode или random access ): такое ПЗУ может быть доступно в системе в адресном пространстве ОЗУ. Например, К573РФ5;

· С последовательным доступом: такие ПЗУ часто используются для однократной загрузки констант или прошивки в процессор или ПЛИС, используются для хранения настроек каналов телевизора, и др. Например, 93С46, AT17LV512A.

· По способу программирования микросхем (записи в них прошивки):

· Непрограммируемые ПЗУ;

· ПЗУ, программируемые только с помощью специального устройства — программатора ПЗУ (как однократно, так и многократно прошиваемые). Использование программатора необходимо, в частности, для подачи нестандартных и относительно высоких напряжений (до +/- 27 В) на специальные выводы.

· Внутрисхемно (пере)программируемые ПЗУ (ISP, in-system programming) — такие микросхемы имеют внутри генератор всех необходимых высоких напряжений, и могут быть перепрошиты без программатора и даже без выпайки из печатной платы, программным способом.

Применение[править | править вики-текст]

В постоянную память часто записывают микропрограмму управления техническим устройством: телевизором, сотовым телефоном, различными контроллерами, или компьютером (BIOS или OpenBoot на машинах SPARC).

BootROM — прошивка, такая, что если её записать в подходящую микросхему ПЗУ, установленную в сетевой карте, то становится возможна загрузка операционной системы на компьютер с удалённого узла локальной сети. Для встроенных в ЭВМ сетевых плат BootROM можно активировать через BIOS.

ПЗУ в IBM PC-совместимых ЭВМ располагается в адресном пространстве с F600: 0000 по FD00: 0FFF

Исторические типы ПЗУ[править | править вики-текст]

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

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

 

 

ВОПРОС 10

 

МикропроцессорКР580ВМ80А

Простейшую 8-разрядную микропроцессорную систему можно построить на основе микропроцессорного комплекта серии КР580.

Микропроцессор К580 — однокристальный, 8-ми разрядный. Структурная схема МП КР580ВМ80А приведена на рис. 3.6.

В состав микропроцессора входят:

- 8-разрядное арифметико-логическое устройство АЛУ (ALU);

- регистр признаков RS, фиксирующий признаки, вырабатываемые АЛУ в процессе выполнения команды;

- аккумулятор (А);

- регистр аккумулятора (RGa);

- регистр временного хранения операндов (RGb);

- десятичный корректор (DAA), выполняющий перевод информации из двоичной в двоично-десятичную форму;

- регистр команд (IR), предназначенный для хранения первого байта команды, содержащего код операции;

- дешифратор команд (DCU);

- блок регистров для приема, выдачи и временного хранения информации в процессе выполнения программ;

- схема управления и синхронизации (CU), формирующая последовательности управляющих сигналов для работы ALU и регистров;

- однонаправленный 16-разрядный буферный регистр адреса (ВА);

- двунаправленный 8-разрядный буферный регистр данных (BD);

- двунаправленный мультиплексор (MUX) для обмена информацией между ALU и блоком регистров по внутренней шине данных (Internal Data Bus).

Блок регистров включает:

- программный счетчик (РС), предназначенный для хранения адреса очередной команды (при выполнении линейных программ этот адрес автоматически увеличивается на 1, 2, 3 в зависимости от длины выполняемой команды - 1, 2 или 3 байта соответственно);

- указатель стека (SP);

- регистр адреса (RGA);

- шесть 8-разрядных регистров общего назначения B, C, D, E, H, L, которые могут объединяться в парные 16-разрядные регистры BC, DE, HL;

- вспомогательные разрядные регистры W, Z.

 

Рисунок 3.6 — Структурная схема МП КР580ВМ80А

Регистры RGa, RGb, IR, W, Z, RGA пользователю программно недоступны.

Кроме того, МП имеет 16-разрядный однонаправленный канал адреса А(15-0), 8-разрядный двунаправленный канал данных D(7-0), четыре входных (RESET, READY, INT, HOLD) и шесть выходных (SYNC, DBIN, READY, WAIT, INTE, HLDA) выводов сигналов управления.

Десятичный корректор DAA облегчает работу с числами, представленными в 10-чной системе счисления.

Буферные регистры данных BD и адреса BA используются для буферизации внутренних шин данных и адреса со стороны внешней магистрали.

Схема управления и синхронизации:

- обеспечивает выборку команд и операндов;

- организует правильное функционирование АЛУ;

- обеспечивает доступ ко всем регистрам МП;

- синхронизирует УВВ и управляет их работой;

- приостанавливает работу МП в режиме ожидания и отключает МП от системной магистрали в режиме ПДП.

Мультиплексор MUX обеспечивает подключение к внутренней магистрали МП требуемого регистра из блока регистров.

МП КР580ВМ80А обеспечивает адресацию внешней памяти до 64 Кбайт и подключение до 256 устройств ввода-вывода.

 

 

ВОПРОС 12

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-14; Просмотров: 1378; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.103 с.)
Главная | Случайная страница | Обратная связь