Архитектура микропроцессоров и их основные характеристики — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Архитектура микропроцессоров и их основные характеристики

2017-09-30 253
Архитектура микропроцессоров и их основные характеристики 0.00 из 5.00 0 оценок
Заказать работу

А. А. Павловский

Б1.Б.36.2 «МИКРОПРОЦЕССОРНЫЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ 2»

Конспект лекций

 

для специальности

23.05.05 (190901.65) «Системы обеспечения движения поездов»

по специализации

«Телекоммуникационные системы и сети железнодорожного транспорта»

 

Форма обучения – очная, очно-заочная, заочная

 

 

Санкт-Петербург


Содержание

1 Введение. 3

2 Архитектура микропроцессоров и их основные характеристики. 5

3 Принципы построения информационных и управляющих систем.. 17

4 Интерфейсы информационных и управляющих систем.. 23

5 Программное обеспечение информационных и управляющих систем.. 29

 


Введение

История развития микропроцессорной техники.
Летом 1969 г. японская компания “Busicom”, разрабатывавшая новое семейство калькуляторов, обратилась за помощью в фирму “Intel”. К тому времени “Intel” просуществовала всего около года, но уже проявила себя созданием самой емкой на тот момент микросхемы памяти. Фирме “Busicom” как раз и требовалось изготовить микросхемы, содержащие несколько тысяч транзисторов. Для реализации совместного проекта был привлечен инженер фирмы “Intel” М.Хофф. Он познакомился с разработками “Busicom” и предложил альтернативную идею: вместо 12 сложных специализированных микросхем создать одну программируемую универсальную – микропроцессор. Проект Хоффа победил и фирма “Intel” получила контракт на производство первого в мире микропроцессора.

Практическая реализация идеи оказалась непростым делом. В начале 1970 г. к работе подключился Ф.Фаджин, который за 9 месяцев довел процессор от описания до кристалла (позднее этот специалист основал фирму “Zilog”, создавшую 8-разрядный процессор Z80, который успешно работал во многих домашних компьютерах). 15 ноября 1971 г. “Intel 4004” – так назвали процессор – был представлен общественности.

Поскольку для хранения одной цифры калькулятору требуется 4 бита (именно столько необходимо для изображения десятичных цифр “8” и “9”), “Intel 4004” был четырехразрядным процессором. Следующий микропроцессор предназначался для установки в терминал и должен был обрабатывать символьную информацию. Поскольку каждый символ кодируется одним байтом, следующая модель “Intel 8008” стала 8-разрядной; она появилась в апреле 1982 г. По-прежнему этот процессор был заменой “аппаратной логики”, но отдельные энтузиасты уже пытались собрать на нем компьютер. Результаты были скорее демонстрационными, нежели полезными, но микрокомпьютерная революция уже началась.

А в апреле 1974 г. компания “Intel” совершила новый качественный скачок: ее изделие с маркой “Intel 8080” стало первым в мире процессором, походившим на “настоящую” вычислительную машину. Отметим любопытную деталь: хотя процессор. и обрабатывал 8-разрядные данные, но шина адресов была 16-разрядной. Таким образом, 8080 мог иметь до 64 килобайт памяти, что по тем временам казалось программистам недостижимым пределом.

Микропроцессоры стали широко использоваться как в вычислительной технике, так и в системах управления. За десятилетие был пройден путь от изобретения 4-разрядного МП до достаточно сложной 32-разрядной архитектуры. Если первый МП 4004 содержал 2200 транзисторов, МП 8080 – 4800, то современные микропроцессоры с разрядностью до 64 имеют в своем составе несколько миллионов транзисторов.

Достоинства программного управления и области применения микропроцессоров..

  • Возможность реализации алгоритмов высокой сложности. Аппаратная реализация сложных алгоритмов, в отличие от программной, часто невозможна либо из-за высоких трудозатрат на разработку, либо по причине низкой надежности аппаратуры, вызванной необходимостью использования огромного количества логических элементов.
  • Гибкость – возможность изменения алгоритма путем переработки программного обеспечения, без корректировки принципиальной схемы устройства.
  • Сокращение сроков разработки аппаратуры. Программные и аппаратные средства могут разрабатываться параллельно, причем затраты на разработку аппаратных средств обычно оказываются небольшими.
  • Сокращение расходов на эксплуатацию оборудования. Программное управление позволяет автоматизировать процесс технического обслуживания аппаратуры.
  • Снижение стоимости оборудования. Стоимость микропроцессоров, применяемых в системах управления, обычно не превышает 50$.
  • Уменьшение габаритов аппаратуры.

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

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

 

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

  • В оконечных устройствах: обработка изображений в факсимильных аппаратах; обработка сообщений сигнализации DSS1 в цифровых телефонных аппаратах; кодирование и декодирование речи в IP-телефонах; все функции терминала передачи данных.
  • В каналообразующей аппаратуре: модуляция и демодуляция в аппаратуре xDSL; организация мониторинга и администрирования в сетях SDH.
  • В коммутационном оборудовании: обработка вызовов и установление соединений в АТС и программных коммутаторах сетей IP-телефонии; коммутация и маршрутизация пакетов в сетях передачи данных.
  • В измерительных приборах для сетей связи: обработка и отображение информации.

Обобщенная структурная схема микропроцессора (Рис. 2.1). Назначение шин адресов, данных и управления.

Рис. 2.1

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

  • Арифметико-логическое устройство (АЛУ), обеспечивающее выполнение всех логических и арифметических команд
  • Блок регистров, предназначенных для хранения операндов, результатов выполнения операций, адресов команд и данных, а также флагов, устанавливаемых в зависимости от полученного при выполнении команды результата
  • Устройство управления, формирующее последовательность сигналов, которые передаются во все элементы микропроцессора при выполнении команды

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

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

Кэш-память.

Кэш-память часто называемая просто - КЭШ, представляет собой запоминающее устройство, имеющее высокое быстродействие и связанное с ядром микропроцессора высокоскоростным каналом передачи информации. Взаимодействие процессора с основным ЗУ, имеющим существенно меньшее быстродействие, происходит при посредстве кэш-памяти, как показано на рис. 2.7

Рис. 2.7

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

Устройства ввода/вывода.

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

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

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

Обмен информацией с объектами управления микропроцессорная система осуществляет посредством портов ввода-вывода. Порты ввода-вывода представляют собой регистры в составе УВВ, к которым, с одной стороны, может обращаться процессор, а с другой стороны, связанные с управляемым объектом. Существует три основных способа взаимодействия МП с портами ввода-вывода: программный опрос, прерывания и прямой доступ к памяти.

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

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

Рис. 4.1

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

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

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

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

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

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

Классификация языков программирования. Достоинства и недостатки языков высокого и низкого уровня. Основные сведения о языках программирования и инструментальных средствах. Стратегия и этапы разработки программного обеспечения. Применение языка спецификаций и описаний SDL.

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

Разработка ПО управляющих систем чаще всего ведется с использованием языка C. Этот язык, созданный в начале 70-х годов в Bell Laboratory американской корпорации AT&T, является одним из универсальных языков программирования. Язык C считается языком системного программирования, хотя он удобен и для написания прикладных программ. Среди преимуществ языка следует отметить переносимость программ на компьютеры различной архитектуры и из одной операционной системы в другую, лаконичность записи алгоритмов, а также возможность получить программный код, сравнимый по скорости выполнения с программами, написанными на языке ассемблера. Последнее связано с тем, что хотя С является языком высокого уровня, он также обладает набором низкоуровневых средств, обеспечивающих доступ к аппаратным средствам микропроцессорной системы.

Прежде, чем начнется написание программы, должен быть детально разработан алгоритм. Формализованное представление алгоритмов и спецификации протоколов взаимодействия являются исходными данными, передаваемыми группам программистов. Алгоритмы работы систем управления коммутационного оборудования принято описывать на языке спецификаций и описаний SDL (Specification and Description Language). Этот язык, стандартизованный МСЭ (рекомендации серии Z.100), содержит набор графических операторов и правила их использования при описании систем реального времени. Примером так называемой SDL-диаграммы является запись алгоритма, приведенная на рис. 5.2. Нетрудно заметить, что SDL напоминает традиционный язык записи алгоритмов, но использует другой набор операторов.

Рис. 5.2

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

 

 

Разработчик: доцент кафедры «Электрическая связь» А.А.Павловский

 

     

 

А. А. Павловский

Б1.Б.36.2 «МИКРОПРОЦЕССОРНЫЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ 2»

Конспект лекций

 

для специальности

23.05.05 (190901.65) «Системы обеспечения движения поездов»

по специализации

«Телекоммуникационные системы и сети железнодорожного транспорта»

 

Форма обучения – очная, очно-заочная, заочная

 

 

Санкт-Петербург


Содержание

1 Введение. 3

2 Архитектура микропроцессоров и их основные характеристики. 5

3 Принципы построения информационных и управляющих систем.. 17

4 Интерфейсы информационных и управляющих систем.. 23

5 Программное обеспечение информационных и управляющих систем.. 29

 


Введение

История развития микропроцессорной техники.
Летом 1969 г. японская компания “Busicom”, разрабатывавшая новое семейство калькуляторов, обратилась за помощью в фирму “Intel”. К тому времени “Intel” просуществовала всего около года, но уже проявила себя созданием самой емкой на тот момент микросхемы памяти. Фирме “Busicom” как раз и требовалось изготовить микросхемы, содержащие несколько тысяч транзисторов. Для реализации совместного проекта был привлечен инженер фирмы “Intel” М.Хофф. Он познакомился с разработками “Busicom” и предложил альтернативную идею: вместо 12 сложных специализированных микросхем создать одну программируемую универсальную – микропроцессор. Проект Хоффа победил и фирма “Intel” получила контракт на производство первого в мире микропроцессора.

Практическая реализация идеи оказалась непростым делом. В начале 1970 г. к работе подключился Ф.Фаджин, который за 9 месяцев довел процессор от описания до кристалла (позднее этот специалист основал фирму “Zilog”, создавшую 8-разрядный процессор Z80, который успешно работал во многих домашних компьютерах). 15 ноября 1971 г. “Intel 4004” – так назвали процессор – был представлен общественности.

Поскольку для хранения одной цифры калькулятору требуется 4 бита (именно столько необходимо для изображения десятичных цифр “8” и “9”), “Intel 4004” был четырехразрядным процессором. Следующий микропроцессор предназначался для установки в терминал и должен был обрабатывать символьную информацию. Поскольку каждый символ кодируется одним байтом, следующая модель “Intel 8008” стала 8-разрядной; она появилась в апреле 1982 г. По-прежнему этот процессор был заменой “аппаратной логики”, но отдельные энтузиасты уже пытались собрать на нем компьютер. Результаты были скорее демонстрационными, нежели полезными, но микрокомпьютерная революция уже началась.

А в апреле 1974 г. компания “Intel” совершила новый качественный скачок: ее изделие с маркой “Intel 8080” стало первым в мире процессором, походившим на “настоящую” вычислительную машину. Отметим любопытную деталь: хотя процессор. и обрабатывал 8-разрядные данные, но шина адресов была 16-разрядной. Таким образом, 8080 мог иметь до 64 килобайт памяти, что по тем временам казалось программистам недостижимым пределом.

Микропроцессоры стали широко использоваться как в вычислительной технике, так и в системах управления. За десятилетие был пройден путь от изобретения 4-разрядного МП до достаточно сложной 32-разрядной архитектуры. Если первый МП 4004 содержал 2200 транзисторов, МП 8080 – 4800, то современные микропроцессоры с разрядностью до 64 имеют в своем составе несколько миллионов транзисторов.

Достоинства программного управления и области применения микропроцессоров..

  • Возможность реализации алгоритмов высокой сложности. Аппаратная реализация сложных алгоритмов, в отличие от программной, часто невозможна либо из-за высоких трудозатрат на разработку, либо по причине низкой надежности аппаратуры, вызванной необходимостью использования огромного количества логических элементов.
  • Гибкость – возможность изменения алгоритма путем переработки программного обеспечения, без корректировки принципиальной схемы устройства.
  • Сокращение сроков разработки аппаратуры. Программные и аппаратные средства могут разрабатываться параллельно, причем затраты на разработку аппаратных средств обычно оказываются небольшими.
  • Сокращение расходов на эксплуатацию оборудования. Программное управление позволяет автоматизировать процесс технического обслуживания аппаратуры.
  • Снижение стоимости оборудования. Стоимость микропроцессоров, применяемых в системах управления, обычно не превышает 50$.
  • Уменьшение габаритов аппаратуры.

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

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

 

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

  • В оконечных устройствах: обработка изображений в факсимильных аппаратах; обработка сообщений сигнализации DSS1 в цифровых телефонных аппаратах; кодирование и декодирование речи в IP-телефонах; все функции терминала передачи данных.
  • В каналообразующей аппаратуре: модуляция и демодуляция в аппаратуре xDSL; организация мониторинга и администрирования в сетях SDH.
  • В коммутационном оборудовании: обработка вызовов и установление соединений в АТС и программных коммутаторах сетей IP-телефонии; коммутация и маршрутизация пакетов в сетях передачи данных.
  • В измерительных приборах для сетей связи: обработка и отображение информации.

Архитектура микропроцессоров и их основные характеристики

Обобщенная структурная схема микропроцессора (Рис. 2.1). Назначение шин адресов, данных и управления.

Рис. 2.1

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

  • Арифметико-логическое устройство (АЛУ), обеспечивающее выполнение всех логических и арифметических команд
  • Блок регистров, предназначенных для хранения операндов, результатов выполнения операций, адресов команд и данных, а также флагов, устанавливаемых в зависимости от полученного при выполнении команды результата
  • Устройство управления, формирующее последовательность сигналов, которые передаются во все элементы микропроцессора при выполнении команды

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

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


Поделиться с друзьями:

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

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

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

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.073 с.