Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Комбинационные цифровые устройства↑ Стр 1 из 9Следующая ⇒ Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Глава четвертая ЦИФРОВЫЕ УСТРОЙСТВА Комбинационные цифровые устройства Логические устройства разделяют на два класса: комбинационные и последовательностные. Устройство называют комбинационным, если его выходные сигналы в некоторый момент времени однозначно определяются входными сигналами, имеющими место в этот момент времени. Закон функционирования таких устройств может быть задан либо таблицей истинности, либо системой переключательных функций. Типичными представителями комбинационных устройств являются дешифраторы, шифраторы, преобразователи кодов, схемы сравнения, мультиплексоры, демультиплексоры, программируемые логические матрицы. Последовательностные устройства – это чаще всего цифровые автоматы, состоящие из двух частей: комбинационной схемы и набора запоминающих элементов. Такое устройство, в отличие от комбинационной схемы, имеет некоторое конечное число внутренних состояний, фиксируемых запоминающими элементами. Поэтому состояние выходов здесь определяется не только входными сигналами в данный момент времени, но и состоянием элементов памяти, зависящим от предыстории его работы. Типичными представителями последовательностных устройств являются регистры, счетчики, схемы синхронизации и т. д. Сумматоры. Все многообразие математических операций (сложение, вычитание, умножение, деление, возведение в степень, извлечение корня и т.д.) можно свести к единственной операции сложения прямых и обратных сдвинутых влево и вправо на то или иное число разрядов кодов чисел. Поэтому сумматоры являются одним из основных узлов арифметических устройств ЭВМ. Сумматоры многоразрядных чисел строятся на основе одноразрядных сумматоров. Полный одноразрядный сумматор имеет два входа слагаемых чисел A и B, а также дополнительный третий вход P сигнала переноса из предыдущего младшего разряда, и два выхода S (сумма) и (перенос в следующий старший разряд) (см. рис. 4.7,б). Исходя из таблицы истинности полного сумматора (см. табл. 4.4), можно записать логические функции для сигналов суммы и переноса (4.3)
Уравнения (4.3) поддаются минимизации, в результате которой получается . (4.4) Легко убедиться, что оба уравнения удовлетворяют таблице истинности полного сумматора. Схема полного одноразрядного сумматора, реализующего уравнения (4.4), приведена на рис. 4.7,а. В частном случае, когда входной сигнал переноса равен , как это имеет место в первом разряде многоразрядного сумматора, систему уравнений (4.3) можно представить в виде . (4.5) Элементарное суммирующее устройство, реализующее уравнения (4.5), называют полусумматором HS, логическая схема которого приведена на рис.4.8,а. При необходимости на основе двух полусумматоров может быть построен полный одноразрядный сумматор, изображенный на рис. 4.8,с. В многоразрядных комбинационных сумматорах для выполнения операции суммирования применяются два метода: последовательный и параллельный. При последовательном методе в сумматоре производится поразрядная обработка поступающих данных (разряды чисел поступают последовательно один за другим, начиная с младшего разряда). Сумматор, использующий данный метод, называют последовательным. Его характерной особенностью является наличие лишь одного полного одноразрядного сумматора и элемента задержки, включенного между выходом и входом (рис. 4.9,а). Если время задержки элемента равно одному такту (например, использован D -триггер), то сигнал переноса от предыдущего разряда поступит на нижний вход сумматора только в следующем такте, когда на входы а и b поданы значения следующего разряда чисел A и B. В результате на выходе S разряд за разрядом будет формироваться в виде последовательного кода двоичное число, равное сумме чисел A и B. Достоинством последовательного сумматора является простота схемы, требующая минимального количества оборудования, недостатком – низкое быстродействие, так как для сложения кодов n -разрядных чисел требуется (учитывая возможность переполнения) такт работы сумматора. Значительно меньшее время выполнения операции при построении на тех же логических элементах имеет параллельный многоразрядный сумматор (рис.4.9,б). В этом устройстве операция сложения производится одновременно (за один такт) во всех разрядах чисел A и B, поступающих в параллельном коде. Для этого параллельный сумматор составляют из n одноразрядных сумматоров, соединяя выход переноса i -го разряда со входом переноса ()-го разряда. Длительность формирования результата определяется временем установления выходных сигналов (как суммы, так и переноса) в каждом из одноразрядных сумматоров. В параллельном сумматоре с последовательным поразрядным переносом (см. рис. 4.9,б) время распространения переноса равно ( - задержка формирования переноса в одном разряде) и при большой разрядности чисел может оказаться большим. Свести к минимуму длительность формирования переноса позволяет сумматор с параллельным переносом, но достигается это за счет усложнения его схемы и здесь не рассматривается. Цифровые компараторы. Цифровые компараторы выполняют сравнение двух чисел, заданных в двоичном (двоично-десятичном) коде. В зависимости от схемного исполнения компараторы могут определять равенство ( и - независимые числа с равным количеством разрядов), либо вид неравенства: или . Результат сравнения отображается на выходе соответствующим логическим уровнем. Цифровые компараторы формируют на выходе сигнал при равенстве подаваемых на входы двух двоичных многоразрядных чисел (поразрядно записываем …) и ( …). Другими словами, , если , и т.д. Это условие можно реализовать, применив многоразрядный сумматор (рис. 4.10).Действительно, если , то сумма и и сигнал переноса при (смотри таблицу истинности сумматора табл. 4.4). Аналогично во втором разряде при сумма и , .Точно так же и в остальных разрядах , . Таким образом, при поразрядном равенстве кодов чисел A и B на выходе сумматора . В результате на выходе элемента И формируется выходной сигнал .
Схема на рис. 4.10 может фиксировать неравенство чисел А и В. Легко убедиться, что при коде числа А большем кода числа В сигнал переноса на выходе сумматора . Если же , то устройство регистрирует эту ситуацию, формируя сигналы и . Цифровые компараторы выпускают, как правило, в виде специализированных микросхем. Четырехразрядный компаратор изображен на рис. 4.11. Данная микросхема имеет дополнительные входы , и , что позволяет наращивать разрядность сравниваемых чисел. Цифровые компараторы широко применяются для выявления нужного числа (слова) в потоке цифровой информации, для отметки времени в часовых приборах, для выполнения условных переходов в вычислительных устройствах. Триггеры. Триггер – простейшее последовательностное устройство, которое может находиться в одном из двух возможных устойчивых состояний и переходить скачкообразно из одного состояния в другое под воздействием входных сигналов. В схемном отношении элементарный триггер представляет собой чаще всего двухкаскадный усилитель, охваченный положительной обратной связью. Наличие у логических элементов И-НЕ и ИЛИ-НЕ инверторов позволяет использовать их для создания триггеров. Их логические входы используются в цепях управления триггеров. Входы триггеров разделяют на информационные и вспомогательные. Информационные входы используются для управления состоянием триггера, а вспомогательные для установки триггера в некоторое исходное состояние и синхронизации его работы. Чаще всего при использовании логических элементов триггеры имеют симметричную структуру и имеют два выхода: прямой и инверсный . Состояние триггера определяется значением прямого выхода . Говорят, что триггер находится в единичном состоянии, если , и в нулевом, если . Разработано большое число типов триггеров, которые по функциональному признаку можно разделить на четыре основных типа: 1. триггеры с установочными входами – RS-триггеры; 2. триггеры со счетным входом – T-триггеры; 3. триггеры задержки – D-триггеры; 4. универсальные триггеры с несколькими входами (например, JK-триггеры). Триггеры могут быть асинхронными и синхронными (тактируемыми). В асинхронных триггерах изменения состояния происходят непосредственно с приходом информационных сигналов, а в синхронных – лишь при подаче синхронизирующего (тактового) сигнала в соответствии со значениями информационных сигналов. Синхроимпульсы вводят для устранения ошибок, которые могут возникнуть за счет «состязаний» в логических цепях, переходных процессов, а также для синхронизации работы отдельных узлов и блоков сложных электронных устройств, задания определенных алгоритмов их работы. Триггеры могут иметь статические и динамические входы. Входы, управляемые потенциалами (уровнями напряжения) называют статическими, а управляемые перепадами потенциалов (фронтами импульсов напряжения) – динамическими. Асинхронный RS-триггер на элементах ИЛИ-НЕ приведен на рис. 4.12. Этот триггер (бистабильная ячейка) обладает двумя устойчивыми состояниями благодаря наличию перекрестных обратных связей. Свободные входы служат для управления и называются информационными. Вход S называют раздельным входом установки в единичное состояние по выходу Q, а вход R - раздельным входом установки в нулевое состояние по выходу Q.
Рассмотрим таблицу истинности RS-триггера на элементах ИЛИ-НЕ (табл. 4.5). Когда на обоих информационных входах существуют логические нули (), сигнал на выходе Q может иметь одно из двух значений: либо , либо . В этом легко убедиться, учитывая, что каждый элемент ИЛИ-НЕ инвертирует входной сигнал и переключающим для него является сигнал 1. Допустим, что , тогда на входах нижнего элемента действуют два нулевых сигнала и создают на выходе сигнал 1. В свою очередь на входах верхнего элемента действуют сигнал R=0 и сигнал с выхода , равный 1. Такая комбинация входных сигналов обеспечивает на выходе . Состояние это устойчивое. Можно также показать, что второе возможное состояние по выходу – устойчивое. Комбинацию входных сигналов называют нейтральной, или режимом хранения информации, или памятью. При ней триггер хранит состояние, в котором он был в предыдущем такте. На этой способности триггера и основано его использование в качестве элемента памяти. Если на один из входов подать единичный сигнал, сохраняя нулевой на другом, триггер перейдет в состояние, которое однозначно определяется входной информацией. Действительно, если, например, , а , то на выходе нижнего логического элемента установится сигнал , в каком бы он состоянии до этого не был. Тогда на входах верхнего элемента действуют два нуля ( и ) и на его выходе установится сигнал 1, в каком бы состоянии он ни был в предыдущем такте (третья и четвертая строки таблицы истинности). При и , триггер однозначно переходит в состояние . Таким образом, при появлении управляющего сигнала на одном из входов, происходит либо опрокидывание триггера (переход в новое устойчивое состояние), либо подтверждение существующего состояния, если оно совпадает с требуемым.
Если одновременно подать единичные управляющие сигналы на оба входа (комбинация ), на обоих выходах появятся логические нули () и устройство утратит свойства триггера. Если затем на одном из входов, например , установится ноль, качество триггера восстановится, то есть на выходе установится 1. Если же входная комбинация сигналов сменится нейтральной , то состояние выходов восстановится, но с равной вероятностью оно может стать как единичным, так и нулевым. Поэтому комбинацию сигналов называют запрещенной и при использовании триггера нужно принимать меры для ее исключения. Действительно, нельзя одновременно подавать команды установить единицу (S) и установить ноль (R). Таблицу истинности можно минимизировать и представить в виде, показанном в таблице 4.6. Временные диаграммы, иллюстрирующие действие этого триггера показаны на рис. 4.13. Логическая формула для RS-триггера на элементах ИЛИ-НЕ имеет вид . Для того, чтобы не повторяться в дальнейшем, проверим ее: если , , то ; если , , то ; если , , то .
Логическая структура и способ изображения RS-триггера на элементах И-НЕ приведена на рис. 4.14. Схемно он не отличается от триггера на элементах ИЛИ-НЕ. Но закон функционирования имеет иной, поскольку элементы И-НЕ переключаются сигналами логического нуля ( или ). Этот вариант триггера называют RS-триггером с инверсными входами (что отражено на графическом обозначении знаком инверсии на входах). Его работа определяется таблицей истинности (табл. 4.7). Временные диаграммы, иллюстрирующие действие RS-триггера с инверсными входами, приведены на рис. 4.15.
Синхронные RS-триггеры получают из асинхронных путем подключения к их входам дополнительной логической схемы управления. На рис. 4.16 показана логическая структура синхронного RS-триггера со статическим управлением на элементах И-НЕ, а на рис.4.17 – его временные диаграммы. Информация со входов S и R передается на входы непосредственно RS-триггера A и B только при наличии на синхронизирующем входе С сигнала 1. Когда , что является нейтральной комбинацией для собственно триггера, который хранит записанную ранее информацию, а состояния входов S и R безразличны (первая строка таб. 4.8). При информация со входов S и R в инвертированном виде поступает на входы A и B и триггер функционирует аналогично RS-триггеру с инверсными входами на элементах И-НЕ, описанному ранее.
Входная комбинация недопустима, так как на промежуточных входах возникает сочетание , которое создает неопределенное состояние на выходах . На рис. 4.16,а штриховыми линиями показаны также входы Sa и Ra для асинхронной установки триггера в единичное и нулевое состояние, минуя информационные входы S, R и тактирующий вход С. При синхронной работе на асинхронных входах следует поддерживать нейтральную комбинацию . Минимальная длительность синхронизирующих импульсов должна быть , где - время переключения асинхронного триггера. Синхронные триггеры со статическим управлением во время тактового импульса действуют как асинхронные. Поэтому смена сигналов на информационных входах должна происходить только во время паузы между тактовыми импульсами, иначе возникнут нарушения в работе триггера. Синхронный RS-триггер может быть выполнен на элементах ИЛИ-НЕ (рис. 4.18) и по структуре аналогичен ранее рассмотренному. Отличие состоит в способе управления: опрокидывание триггера осуществляется сигналами и при , то есть нулевыми логическими уровнями. Рассмотренные выше триггеры имеют одну ячейку памяти. На рис.4.19 приведена схема и условное обозначение двухступенчатого синхронного RS-триггера, MS-структуры (от английского «master», «slave», что переводят обычно как «ведущий» и «ведомый») на элементах И-НЕ. Он состоит из двух одинаковых RSC-триггеров со статическим управлением. Тактовый вход ведущего триггера связан с тактовым входом ведомого через инвертор (см. рис. 4.19,а). При входном сигнале на входе С ведомого триггера действует сигнал и информация с выходов ведущего триггера переписывается в ведомый, то есть P=Q. В момент (см. рис. 4.20) при поступлении на вход С ведущего триггера 1 он переходит в состояние, определяемое входными сигналами S и R. Ведомый RS-триггер при этом сохраняет предыдущее состояние, так как на его тактирующем входе устанавливается сигнал 0. По окончании входного тактирующего импульса в момент , когда на входе С ведущего триггера устанавливается ноль ведущий триггер переходит в режим хранения, а в ведомый триггер переписывается информация с выходов P и ведущего триггера. Таким образом, двухтактный RS-триггер MS-типа обладает внутренней задержкой на время длительности тактового импульса на входе С и его можно рассматривать как триггер с динамическим тактирующим входом С, у которого выходной сигнал Q изменяется при переходе тактового импульса из 1 в 0 (при отрицательном перепаде напряжения), что отражено в его обозначении на рис. 4.19 наклонной чертой у входа С. В течение тактового импульса на выходе такого триггера сохраняется предшествующее состояние и эта информация на выходе в виде сигнала обратной связи может быть использована при определении направления его переключения, поэтому такие триггеры обладают большими логическими возможностями, чем асинхронные. На основе синхронного RS-триггера MS-типа с динамическим входом выпускаются в интегральном исполнении ряд триггеров – T-триггеры, D-триггеры, JK-триггеры. Довольно часто, особенно при построении регистров, используют D-триггеры, имеющие один информационный вход D. Функциональная особенность триггеров этого типа состоит в том, что сигнал на выходе Q в такте повторяет входной сигнал в предыдущем такте и сохраняет (запоминает) это состояние до следующего тактового импульса. Другими словами, D-триггер задерживает на один такт информацию, существующую на входе D. Поэтому D-триггеры часто так и называют – триггерами задержки (от английского слова delay - задержка). Функциональную схему D-триггера (рис. 4.21) можно построить, используя одноступенчатый RSC-триггер с дополнительным инвертором между входом S (выступающим в качестве информационного входа D) и выходом R. Условное обозначение и временные диаграммы, иллюстрирующие принцип работы D-триггера, приведены на рис. 4.21,б, в. Широкое применение в счетчиках и делителях частоты импульсов нашли триггеры со счетным запуском (T-триггеры). Характерным свойством T-триггера является его переключение в противоположное состояние с приходом каждого очередного входного импульса, подаваемого на счетный вход T. Чаще всего T-триггеры (рис. 4.22,а) выполняют на базе двухтактных RSC-триггеров MS-типа, введя перекрестную обратную связь с выходов Q и на входы R и S соответственно. Тактирующий вход С выполняет функции информационного входа T. Из временных диаграмм (рис.4.22,в) видно, что с приходом очередного импульса на вход T на выходе ведущего триггера P в момент устанавливается сигнал 1, так как по цепи перекрестной обратной связи на входы S и R этого триггера поданы с выходов и Q 1 и 0 соответственно. По заднему фронту импульса в ведомый триггер переписывается информация с выходов P и , то есть и . Очередной импульс вызывает очередное опрокидывание триггера. Очевидно, что частота выходных импульсов оказывается в два раза ниже входных. T-триггер - единственный вид триггера, текущее состояние которого определяется не информацией на входах, а состоянием его в предыдущем такте. Уравнение T-триггера имеет вид . Поскольку T-триггер управляется по одному входу, то он не имеет запрещенных состояний. Для начальной установки триггера в 0 или 1 без использования синхроимпульсов в схему могут быть введены дополнительные асинхронные входы и , показанные на рис.4.22,а пунктиром. JK -триггер получают на основе T -триггера (рис.4.22,а) путем использования в его входных цепях трехвходовых элементов И-НЕ, позволяющих иметь два дополнительных входа J и K (пунктирные линии на рис.4.22,а). Наличие двух дополнительных входов расширяет функциональные возможности триггера, в связи с чем JK -триггер называют универсальным. Входы J и K эквивалентны по действию входам S и R RSC -триггера. Количество входов J и K при необходимости может быть увеличено до 2 – 3, что расширяет логические возможности триггера. Обозначение JK -триггера представлено на рис.4.23. Особенностью универсального JK -триггера является способность работать в любом из известных режимов. Варианты использования JK -триггера в качестве RS-, RSC -, T -, D -триггеров приведены на рис.4.24. Асинхронный режим управления по входам S, R (см. рис.4.24,а) заключается в том, что независимо от состояний входов J, K, C на выходе триггера может быть установлен сигнал 0 ( = 1, = 0), либо сигнал 1 ( =0, =1). Пассивное состояние обеспечивается при =1, а запрещенная комбинация – при = 0. Синхронизируемый RS-триггер можно получить, используя входы J и K как S и R соответственно. При S=1 и R=0 по срезу тактового импульса С на выходе Q будет установлена 1, при S=0 и R=1 на выходе установится 0, при S=R=0 – режим хранения предыдущей информации. В отличие от одноступенчатого триггера управляющая комбинация S=R=1 не является запрещенной: она переводит универсальный JK-триггер в счетный режим. На основании этого T-триггер можно получить, объединив входы J, K и C (см. рис. 4.24, в).
JK-триггер можно перевести в режим работы D-триггера. Для этого необходимо управляющий сигнал D подать на вход J, а его инверсное значение - на вход K, как показано на рис. 4.24, г. JK-триггер можно перевести в любой из известных режимов с дополнительным управлением по входу V (V – разрешающий, управляющий вход). Для этого объединяются входы J и K и на них подается управляющее напряжение V. Например, на рис. 4.24,д приведен VT-триггер со входом V, позволяющим управлять режимом счета (разрешать). Входы V и T являются равноценными, их можно менять местами. Регистры. Регистр – это последовательностное логическое устройство, используемое для хранения многоразрядных двоичных чисел и выполнения преобразований над ними. В качестве регистров в зависимости от назначения используются наборы или цепочки триггеров (чаще синхронные D-триггеры либо RS (JK)-триггеры с динамическим или статическим управлением) – по количеству разрядов числа. В схемы регистров входят также комбинационные элементы, роль которых в данном случае вспомогательная. Занесение информации в регистр называют операцией ввода или записи. Выдача информации к внешним устройствам характеризует операцию вывода или считывания. Все регистры в зависимости от функциональных свойств делят на две категории: накопительные (регистры памяти, хранения) и сдвигающие. В свою очередь сдвигающие регистры делятся: · по способу ввода и вывода информации на последовательные, параллельные и комбинированные (параллельно-последовательные и последовательно-параллельные); · по направлению передачи (сдвига) информации на однонаправленные и реверсивные. В качестве примера рассмотрим работу параллельного регистра памяти на RS-триггерах, приведенную на рис. 4.25.
В исходное (нулевое) состояние все n триггеров регистра переводятся подачей единичного сигнала на вход TR (установка нуля). Для запоминания числа Xi значения всех его n разрядов подаются параллельным кодом на входы Xi соответствующих входных схем И. Информация на входы S всех n триггеров поступит в момент подачи управляющего сигнала TЗАП (запись), подаваемого на нижние входы схем И. Вывод числа производится через ту из двух систем выходных схем И, на которую поступает единичный сигнал TВ ПР (вывод в прямом коде) или ТВ ОБР (вывод в инверсном коде). При этом на выходные шины Yi поступят сигналы либо с прямых, либо с инверсных выходов триггеров. Таким образом, наряду с хранением числа данный регистр может преобразовывать прямой код числа Xв обратный код. Параллельный регистр памяти можно выполнить на D-триггерах (рис. 4.26). В параллельном регистре на тактируемых D-триггерах код запоминаемого числа подается на информационные входы всех триггеров и записывается в регистр с приходом тактового импульса C. Предварительный сброс триггеров в данном случае не требуется. Выходная информация обновляется с подачей следующего слова и приходом следующего импульса записи на вход C. Схема последовательно-параллельного регистра на D-триггерах MS-типа и временные диаграммы, иллюстрирующие его работу, приведены на рис. 4.27. В отличие от параллельного регистра для ввода многоразрядной информации в последовательный регистр используется только один вход D. Поступление разрядов двоичного числа в регистр происходит синхронно с подачей тактовых импульсов на вход C. С приходом первого тактового импульса в ведущий триггер первого разряда запишется сигнал с входа D, а в ведущие триггеры последующих разрядов запишутся сигналы, которые были установлены на выходах ведомых триггеров предыдущих разрядов. По заднему фронту тактового импульса C происходит перепись информации из ведущих триггеров в ведомые внутри каждого разряда. При последовательном вводе числа в регистр для записи n -разрядного двоичного кода необходимо n тактов сдвига. На временных диаграммах (рис. 4.27,в) видно, что четырехразрядное число 1011 было записано в соответствующие разряды регистра (1 – Q 4, 0 – Q 3, 1 – Q 2 и 1 – Q 1) после прихода четвертого тактового импульса. До прихода следующего тактового импульса это число хранится в регистре в виде параллельного кода на выходах Q 4 – Q 1 и может быть многократно считано без потери информации. Если необходимо получить хранимую информацию в последовательном коде, то ее снимают с выхода Q 4 в момент прихода следующих четырех тактовых импульсов (5 - 8). Таким образом, рассмотренный выше регистр обеспечивает последовательный ввод, хранение и последовательный вывод информации; может применяться для преобразования последовательного кода числа в параллельный. Во многих случаях при построении арифметических устройств возникает необходимость сдвига информации как вправо, так и влево. Последовательные регистры, обладающие способностью сдвига информац
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-28; просмотров: 1525; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.119.7 (0.013 с.) |