- •Часть I теоретические основы информатики
- •Глава 1 информация и общество
- •1.1 Развитие информационного общества
- •1.2 Основные понятия и определения
- •1.3 Информатика и ее задачи
- •Глава 2 информация
- •2.1 Понятие информации
- •2.2 Информационные сигналы
- •2.3 Преобразование сообщений
- •2.4 Понятие данных
- •2.5 Свойства информации
- •2.6 Меры информации
- •2.7 Экономическая информация
- •Глава 3 представление информации
- •3.1 Понятие о формальном языке
- •3.2 Язык чисел (системы счисления)
- •3.3 Язык логики
- •1. Аксиомы алгебры логики
- •2. Свойства дизъюнкции и конъюнкции
- •3. Законы алгебры логики
- •Глава 4 информационные процессы
- •4.1 Хранение данных
- •4.2 Обработка данных (кодирование)
- •4.3 Передача данных
- •Глава 5 эвм — техническое средство информатики
- •5.1 Понятие об эвм
- •5.2 Архитектура персонального компьютера
- •5.3 Представление данных в компьютере
- •5.4 Программное обеспечение компьютера
- •Московская государственная академия приборостроения и информатики
- •1 07996, Москва, ул. Стромынка, 20
4.3 Передача данных
Процесс передачи данных
Использование информации для решения каких-либо задач, безусловно, сопряжено с необходимостью ее распространения, т. е. осуществления процессов передачи и приема. При передаче информации через линию связи приходится решать две проблемы:
– согласование метода кодирования информации с характеристиками канала связи;
– защиту передаваемой информации от возможных искажений.
При всем разнообразии конкретной реализации способов связи в них можно выделить общие элементы (рис. 26). Источник формирует последовательность сигналов, т. е. сообщение в виде, используемом при хранении и обработке. Кодирующее устройство преобразует получаемые коды сообщения к виду, необходимому для данного канала связи. Кодер канала (преобразователь «коды — сигнал») переводит получаемые сигналы на материальный носитель канала связи. Понятие канал связи включает материальную среду, в которой происходит распространение сигналов, т. е. реализуется физический процесс передачи сообщения.
Рис. 26 Общая схема передачи данных
Любой реальный канал связи подвержен как внешним воздействиям, так и внутренним искажениям передаваемых сигналов (шумам). Если уровень помех оказывается соизмерим с интенсивностью несущего сигнала, то передача информации по данному каналу оказывается вообще невозможной. При относительно низких уровнях шумов происходят искажения передаваемого сигнала. Для этого случая разработаны и применяются методы защиты от помех:
– экранирование электрических линий связей;
– улучшение избирательности приемного устройства;
– использование специальных методов кодирования информации.
Приемный преобразователь приводит сигналы к виду, необходимому декодирующему устройству, который представляет принятые сообщения в форме необходимой получателю данных.
Характеристики канала связи
1. Ширина полосы пропускания
Любой преобразователь, работа которого основана на использовании колебаний (электрических или механических), может формировать и пропускать сигналы из ограниченной области частот.
Интервал частот между максимальной частотой
и минимальной частотой
,
используемый данным каналом связи для
передачи сигналов с допустимыми
искажениями, называется шириной
полосы пропускания
.
Чаще
всего минимальная частота канала связи
равна нулю (
).
Поэтому полоса пропускания канала связи
равна максимальной частоте передаваемого
сигнала с допустимыми искажениями (
).
Максимальное
значение частоты из данной полосы (
определяет возможную скорость передачи
информации по каналу связи. При этом
длительность элементарного импульса
согласно теоремы Котельникова В. А.
.
Таким образом, каждые
секунд
можно передавать сигнал (импульс или
паузу) двоичного кода. Использовать
сигналы большей длительности, чем
,
в принципе, возможно (например,
) —
это не приведет к потере информации,
хотя снизит скорость ее передачи по
каналу. Использование же сигналов более
коротких, чем
,
может привести к информационным потерям,
поскольку сигналы тогда будут принимать
какие-то промежуточные значения между
минимальным и максимальным, что затруднит
их интерпретацию. Таким образом,
определяет длительность элементарного
сигнала
,
используемого для передачи сообщения.
2. Пропускная способность канала связи
Пропускная способность канала связи — это среднее количество информации, передаваемое по каналу связи за единицу времени.
Если
с передачей одного импульса связано
количество информации
,
а передается оно за время
,
то отношение
к
,
очевидно, будет отражать среднее
количество информации, передаваемое
по каналу за единицу времени:
.
Измеряется пропускная способность канала в битах в секунду (бит/с). Производными единицами измерения являются Кбит/с, Мбит/с, Гбит/с.
Величину
можно установить из следующих соображений:
если первичный алфавит содержит
знаков с вероятностями появления их в
сообщении
,
то по формуле Шеннона (
)
найти среднюю информацию на знак
первичного алфавита. При использовании
для кодирования одного знака первичного
алфавита двоичного кода длиной
получаем выражение для средней информации
на один разряд двоичного кода:
и
.
Количественно пропускная способность канала связи выражается максимальным количеством двоичных единиц кода информации, которую данный канал связи может передать за одну секунду.
3. Скорость передачи информации
Скорость передачи информации — это отношение объема переданной информации к времени ее передачи.
Пусть
по каналу связи за время
передано количество информации
.
Тогда
—
скорость передачи информации. Максимальная
скорость передачи информации равна его
пропускной способности.
Таким образом, для канала связи без помех основное условие обеспечения максимальной скорости передачи данных — согласование источника информации и канала связи.
Влияние шумов на пропускную способность информационного канала связи
Соотношение между скоростью передачи данных и пропускной способностью идеального канала связи справедливо и для реального канала связи (с шумами). Отличие реального канала от идеального в том, что шумы приводят к снижению пропускной способности канала.
Шум представляет собой разного рода помехи, искажающие передаваемый сигнал и приводящий к потере информации.
Рассмотрим
частный случай передачи двух элементарных
сигналов равной длительности. Каждый
из них на входе канала связи несет
бит
информации. Из-за шумов при передаче
может произойти искажение сигнала, в
результате чего вместо 1 на выходе будет
получен 0, а вместо 0 — 1. Пусть
вероятности таких искажений для 0 и 1
равны
.
Тогда вероятность того, что исходный
сигнал придет без искажений, очевидно,
равна
.
Следовательно, при интерпретации
(распознавании) конечного сигнала
возникает неопределенность, которая,
может быть охарактеризована средней
энтропией:
.
Эта
неопределенность приведет к уменьшению
количества информации, содержащейся в
сигнале, на величину
,
т. е.:
.
Поскольку
длительность импульса
определяется частотой
и не зависит от наличия шумов, пропускная
способность реального канала
оказывается меньше, чем аналогичного
идеального
:
.
На
рис. 27 показана зависимость
.
При
и, следовательно,
.
Это связано с тем, что в данном случае
на приемном конце линии связи с одинаковой
вероятностью получаются 0 и 1 независимо
от того, каков был сигнал на входе, так
что передача информации по такой линии
оказывается вообще невозможной.
Максимального
значения пропускная способность
достигает при
,
что соответствует отсутствию помех, а
также при
,
т. е. при таких помехах, которые каждый
входной сигнал 1 переводят в 0 на выходе,
а каждый 0 на входе — в 1 на выходе.
Ясно, что помехи такого рода не мешают
распознаванию того, какой сигнал был
послан и, следовательно, пропускная
способность от этого не страдает. Наличие
помех в канале связи приводит не только
к искажению передаваемого сообщения и
частичной утраты связанной с ним
информации, но и к уменьшению пропускной
способности канала связи.
Влияние
шумов определяется соотношением мощности
сигнала
и мощности помех
.
Например, для белого гауссова шума, в
котором помехи существуют на всех
частотах, а их амплитуды подчиняются
нормальному (гауссову) распределению:
.
Из этого соотношения видно, что для увеличения пропускной способности канала связи необходимо увеличивать полосу пропускания, либо улучшать отношение мощности сигнала к мощности помех.
Обеспечение надежности передачи данных
К. Шеннон доказал теоретическую возможность передачи сообщения без потерь информации по реальным каналам при соблюдении ряда условий.
При передаче информации по каналу с шумом всегда имеется способ помехоустойчивого кодирования, при котором сообщение будет передаваться со сколь угодно высокой достоверностью, если скорость передачи не превышает пропускной способности канала. Помехоустойчивость достигается за счет повышения избыточности кода (т. е. увеличения длины кодовой цепочки). При этом возрастает время передачи, что следует считать платой за надежность. При помехоустойчивом кодировании сообщения для канала связи могут ставиться две задачи:
– кодирование обеспечивает только установление факта искажения информации — в этом случае исправление производится путем ее повторной передачи;
– кодирование позволяет локализовать и автоматически исправить ошибку передачи данных.
Надежность
передачи при кодировании помехоустойчивым
кодом обеспечивается тем, что вместе с
разрядами сообщения
передается
контрольных разрядов. Избыточность
сообщения
для реального канала характеризуется
относительной величиной:
.
Избыточность сообщения — это характеристика, показывающая, во сколько раз требуется удлинить сообщение, чтобы обеспечить его надежную (безошибочную) передачу (хранение).
Существуют коды, обнаруживающую ошибку, и коды, исправляющие одиночную ошибку.
К
первому типу кодов относится бит
четности, значение которого определяется
тем, что каждая кодовая цепочка, состоящая
из
бит,
должна содержать четное количество
единиц. Например, для информационного
байта
бит четности будет иметь значение
,
а для байта
бит четности равен 0. Избыточность
сообщения составит
.
Второй тип кодов основаны на предложение Р. Хемминга 1948 г., определившим алгоритм устранения одиночных ошибок.
Минимальная
избыточность кода, исправляющего
одиночную ошибку определяется в
соответствии с
.
Для восстановления информационного
содержания сообщения, очевидно, следует
дополнительно передать количество
информации не менее величины ее потерь,
т. е. вместо передачи каждого 1 бит
информации следует передавать
бит.
В этом случае избыточность сообщения
составит:
.
Основная идея кода Хемминга состоит в добавлении к информационным битам нескольких битов четности, каждый из которых контролирует определенные информационные биты. Если пронумеровать все передаваемые биты, начиная с 1 слева направо (стоит напомнить, что информационные биты нумеруются с 0 и справа налево), то контрольными (проверочными) оказываются биты, номера которых равны степеням числа 2, а все остальные являются информационными. Например, для 8-битного информационного кода контрольными окажутся биты с номерами 1, 2, 4 и 8 (рис. 28).
В перечень контролируемых битов входит и тот, в котором располагается проверочный. При этом состояние проверочного бита устанавливается таким образом, чтобы суммарное количество единиц в контролируемых им битах было бы четным.
Рис. 28 Пример кода Хемминга для 8-битного сообщения
Номера контролируемых битов для каждого проверочного приведены в табл. 12. Они определяются по следующиму принципу: для любого номера проверочного бита ( ), начиная с него, бит подряд оказываются проверяемыми, затем — группа непроверяемых бит и т. д.
Табл. 12 Номера контролируемых битов проверочными
Алгоритм кодирования информации с помощью кода Хемминга состоит из 4-х шагов:
1. Добавление
проверочных битов (в позициях всех
степеней числа 2) к передаваемым данным
и их нумерация слева направо, начиная
с 1.
2. Выбор в качестве
определяемого бита бит с номером
.
3. Присваивание определяемому проверочному биту сумму по модулю 2 контролируемых им битов, кроме себя самого.
4. Уменьшение на 1.
5. Выполнение шагов
2–4 до тех пор, пока
.
Пример: Закодировать по коду Хемминга сообщение 01101101. 1. 01101101 → _ _ 0 _ 1 1 0 _ 1 1 0 1. 2. _ _ 0 _ 1 1 0 _ 1 1 0 1 → _ _ 0 _ 1 1 0 1 1 0 1 → → _ _ 0 _ 1 1 0 1 1 1 0 1, т. к.
.
3. _ _ 0 _ 1 1 0 1 1 1 0 1
→ _ _ 0 1 1 0 1 1 1 0 1
→
→ _ _ 0 1 1 1 0 1 1 1 0 1,
т. к.
.
4. _ _ 0 1 1 1 0 1 1 1 0 1
→ _ 0 1 1 1 0 1 1 1 0 1
→
→ _ 0 0 1 1 1 0 1 1 1 0 1,
т. к.
.
5. _ 0 0 1 1 1 0 1 1 1 0 1
→ 0 0 1 1 1 0 1 1 1 0 1
→
→ 0 0 0 1 1 1 0 1 1 1 0 1,
т. к.
.
Сообщение
01101101 кодом Хемминга будет закодировано
как 000111011101.
Безусловно, данный способ кодирования требует увеличения объема памяти компьютера приблизительно на одну треть при 16-битной длине машинного слова (табл. 13), однако, он позволяет автоматически исправлять одиночные ошибки. Поэтому, оценивая время наработки на отказ, следует исходить из вероятности появления парной ошибки в одной последовательности (т. е. сбои должны произойти в двух битах одновременно). Расчеты показывают, что для указанного ранее количества ячеек в памяти объемом 1 Мбайт среднее время появления ошибки составляет более 80 лет, что, безусловно, можно считать вполне приемлемым с практической точки зрения.
Табл. 13 Избыточность кодов Хемминга для различных длин сообщений
Пусть
вместо последовательности
на приемном конце принята последовательность,
у которой в пятом разряде вместо 1 принят
0 —
.
При проверке анализируются проверочные разряды, начиная с младшего:
1. Значение первого проверочного разряда 1 — неверно, что означает ошибку в одном из нечетных разрядов.
2. Значение второго проверочного разряда 0 — верно, что означает отсутствие ошибки в 3, 7 и 11 разрядах кода (остаются 5 и 9разряды).
3. Значение четвертого проверочного разряда 1 — неверно, что означает отсутствие ошибки в 9 разряде и наличие ошибки в 5 разряде.
Номер бита, содержащего ошибку (5), равен сумме номеров контрольных битов, указавших на ее существование (1 и 4) — это не случайное совпадение, а общее свойство кодов Хемминга.
Алгоритм проверки и исправления передаваемой последовательности бит в представлении Хемминга представляет собой простой набор операций:
1. Производится проверка всех битов четности.
2. Если все биты четности верны, то осуществляетсяпереход к п. 5.
3. Вычисление суммы номеров всех неправильных битов четности.
4. Инвертация содержимого бита, номер которого равен сумме, найденной в п. 3.
5. Исключение битов четности, передача правильного информационного кода.
Пример: Дешифровать код Хемминга для сообщения 000101011101. 1. Первый бит четности неверен, т. к.
.
Второй
бит четности верен, т. к.
.
Четвертый
бит четности неверен, т. к.
.
Восьмой
бит четности верен, т. к.
.
2. В
сообщении 000101011101 содержится ошибка на
которую указывают первый
и четвертый
биты четности.
3. Сумма
номеров неправильных битов четности
.
4. 0 0 0 1 0 1 0 1 1 1 0 1
→ 0 0 0 1 1 1 0 1 1 1 0 1.
5. 0 0 0 1 1 1 0 1 1 1 0 1
→ 0 1 1 0 1 1 0 1.
Сообщение
000101011101 кода Хемминга дешифровано как
01101101.
Способы передачи данных в компьютерах
В компьютерных линиях связи используются два способа передачи:
– параллельный, когда передаются одновременно все биты машинного слова;
– последовательный, когда биты передаются поочередно, начиная с младшего.
Параллельная передача данных
Для одновременной передачи нескольких сигналов, очевидно, требуется линия связи, количество проводников в которой совпадает с числом передаваемых сигналов. Такая линия связи называется шиной. Количество проводников определяет ширину или разрядность шины. Например, во внутренних линиях компьютера могут использоваться 16-ти и 32-х разрядные шины.
Параллельный способ передачи данных обеспечивает наиболее быстрый способ передачи информации и используется во внутренних линиях связи ЭВМ, а также для связи с внешними устройствами, подключаемыми к параллельному порту компьютера. Недостатками параллельного канала связи являются:
– невозможность передачи на большие расстояния (более нескольких метров), поскольку из-за электроемкости между проводниками в них возникают наводки;
– данный способ требует многожильных специальных проводов для связи, что существенно повышает стоимость линии.
Последовательная передача данных
Для передачи информации на большие расстояния используется последовательный способ передачи. Возможны два режима последовательной передачи: синхронный и асинхронный.
При синхронной передаче каждый передаваемый бит сопровождается импульсом синхронизации, информирующим приемник о наличии в линии информационного бита. Синхронизирующие импульсы управляют приемом информации. Следовательно, между передатчиком и приемником должны быть протянуты минимум три провода, два из которых экранированные: один — для передачи данных, второй — для передачи синхроимпульсов, третий — общий заземленный. Кроме того, такая передача оказывается целесообразной, если передается некоторый массив символов (не отдельные символы). Оба перечисленных обстоятельства приводят к тому, что синхронный способ связи не получил широкого распространения.
Асинхронный способ передачи не требует синхронизации действий приемника и передатчика — поэтому для связи достаточно линии из двух проводников, в том числе пригодны и телефонные линии. При этом источник и приемник информации должны быть согласованы по формату и скорости передачи.
Передача производится машинными словами (информационными битами), дополненными несколькими служебными. Пример передачи 8-битного слова с одним контрольным битом представлен на рис. 29.
Рис. 29 Пример передачи 8-битного сообщения
Передатчик может начать пересылку в любой момент посредством генерации стартового бита — по нему приемник узнает, что передача началась. Затем происходит передача информационных битов, начиная с младшего (0-го). За ними передается контрольный бит четности. Наконец, за ним следует стоповый бит (их может быть два), который вновь переводит линию в состояние ожидания. Вся передаваемая цепочка сигналов от стартового до стопового бита называется кадром.
Передача следующего кадра может начаться сразу после стопового бита, причем, новый стартовый бит может быть послан в любой момент времени (не обязательно кратный ) — поэтому передача и называется асинхронной.
Безусловно, данная схема передачи требует предварительного согласования передатчика и приемника по продолжительности элементарного сигнала. Кроме того, для обеспечения максимальной защищенности сигнала от искажений приемник настраивается на считывание бита в середине его длительности.
Помимо информационных и контрольных битов в последовательном способе передачи кадр, как было сказано, дополняется еще двумя-тремя граничными битами. Это, естественно, приводит к увеличению избыточности кода и суммарной времени передачи. Поскольку биты передаются по очереди, скорость передачи ниже, чем в параллельном способе (при одинаковых частотах генераторов). Тем не менее, и в последовательных линиях скорость может достигать нескольких Гбит/с — такой скорости более чем достаточно для передачи, например, телевизионного сигнала. При этом неоспоримым преимуществом данного способа является то, что в нем, практически, нет ограничений на дальность передачи.
Связь компьютеров по телефонным линиям
Применение телефонных линий или радиоканала для осуществления связи между удаленными на большие расстояния компьютерами диктуется, в первую очередь, экономическими соображениями — в противном случае понадобилась бы прокладка специальных компьютерных линий и содержание служб, поддерживающих их работоспособность. Использование двухпроводных линий и большие расстояния однозначно определяют способ передачи — последовательный. Однако телефонные линии предназначены для передачи аналоговых электрических сигналов с частотой человеческого голоса (до 3400 Гц). При передаче по таким линиям сигналов с частотами, на которых работает компьютер (100–500 МГц), они будут испытывать значительные искажения и быстро затухать. По этой причине передача осуществляется в соответствии со схемой, приведенной на рис. 30.
Рис. 30 Схема связи компьютеров по телефонным линиям
На передающем конце линии связи сначала осуществляется преобразование параллельного компьютерного кода в асинхронный последовательный. Затем посредством другого устройства — модема — производится модуляция (преобразование) двухуровневых импульсных компьютерных сигналов в аналоговые сигналы, которые без большого затухания и искажения могут распространяться в телефонных линиях. На приемном конце происходит обратная цепочка: аналоговый сигнал переводится модемом в двухуровневый последовательный код (происходит демодуляция), у которого затем удаляются все неинформационные биты и он преобразуется в параллельный код.
Асинхронный преобразователь располагается в самом компьютере в виде блока, осуществляющего обмен последовательным способом с любым устройством — этот блок называется последовательным портом (СОМ-портом). В модеме может использоваться амплитудная, частотная или фазовая модуляция электрических аналоговых сигналов.
При передаче данных по последовательным линиям связи возможны три режима: симплексный, полудуплексный и дуплексный. Симплексная линия обеспечивает передачу только в одном направлении, например, от датчика к устройству обработки. Полудуплексная связь обеспечивает передачу и получение информации в обоих направлениях, но не одновременно — передает один модем, другой в это время получает, затем они могут поменяться ролями. Дуплексная связь обеспечивает передачу и получение данных в обоих направлениях одновременно. Поскольку связь осуществляется по двухпроводной телефонной линии, приходится для связи в обратном направлении использовать другие частоты.
