Каналы передачи данных ненадежны (шумы, наводки и т.д.), да и само оборудование обработки информации работает со сбоями. По этой причине важную роль приобретают механизмы детектирования ошибок. Ведь если ошибка обнаружена, можно осуществить повторную передачу данных и решить проблему. Если исходный код по своей длине равен полученному коду, обнаружить ошибку передачи не предоставляется возможным. Можно, конечно, передать код дважды и сравнить, но это уже двойная избыточность обнаружения ошибок является контроль по четности. Обычно контролируется передача блока данных ( М бит). Этому блоку ставится в соответствие кодовое слово длиной N бит, причем N>M. Избыточность кода характеризуется величиной 1-M/N. Вероятность обнаружения ошибки определяется отношением M/N (чем меньше это отношение, тем выше вероятность обнаружения ошибки, но и выше избыточность).
При передаче информации она кодируется таким образом, чтобы с одной стороны характеризовать ее минимальным числом символов, а с другой – минимизировать вероятность ошибки при декодировании получателем. Для выбора типа кодирования важную роль играет так называемое расстояние Хэмминга.
Пусть А и Б — две двоичные кодовые последовательности равной длины. Расстояние Хэмминга между двумя этими кодовыми последовательностями равно числу символов, которыми они отличаются. Например, расстояние Хэмминга между кодами 00111 и 10101 равно 2.
Можно показать, что для детектирования ошибок в n битах схема кодирования требует применения кодовых слов с расстоянием Хэмминга не менее N + 1. Можно также показать, что для исправления ошибок в N битах необходима схема кодирования с расстоянием Хэмминга между кодами не менее 2N + 1. Таким образом, конструируя код, мы пытаемся обеспечить расстояние Хэмминга между возможными кодовыми последовательностями большее, чем оно может возникнуть из-за ошибок.
Широко рас коды с одиночным битом четности. В этих кодах к каждым М бит добавляется 1 бит, значение которого определяется четностью (или нечетностью) суммы этих М бит. Так, например, для двухбитовых кодов 00, 01, 10, 11 кодами с контролем четности будут 000, 011, 101 и 110. Если в процессе передачи один бит будет передан неверно, четность кода из М+1 бита изменится.
Предположим, что частота ошибок ( BER – Bit Error Rate) равна р = 10-4. В этом случае вероятность передачи 8 бит с ошибкой составит 1 – (1 – p)8 = 7,9 х 10-4. Добавление бита четности позволяет детектировать любую ошибку в одном из переданных битах. Здесь вероятность ошибки в одном из 9 битов равна 9p(1 – p)8. Вероятность же реализации необнаруженной ошибки составит 1 – (1 – p)9 – 9p(1 – p)8 = 3,6 x 10-7. Таким образом, добавление бита четности уменьшает вероятность необнаруженной ошибки почти в 1000 раз. Использование одного бита четности типично для асинхронного метода передачи. В синхронных каналах чаще используется вычисление и передача битов четности как для строк, так и для столбцов передаваемого массива данных. Такая схема позволяет не только регистрировать, но и исправлять ошибки в одном из битов переданного блока.
Контроль по четности достаточно эффективен для выявления одиночных и множественных ошибок в условиях, когда они являются независимыми. При возникновении ошибок в кластерах бит метод контроля четности неэффективен, и тогда предпочтительнее метод вычисления циклических сумм ( CRC — Cyclic Redundancy Check). В этом методе передаваемый кадр делится на специально подобранный образующий полином. Дополнение остатка от деления и является контрольной суммой.
В Ethernet вычисление CRC производится аппаратно. На рис. 4.1 показан пример реализации аппаратного расчета CRC для образующего полинома R(x) = 1 + x2 + x3 + x5 + x7. В этой схеме входной код приходит слева.
Кто изобрел компьютер?
22 августа 2011
50813

Современный человек уже и жизни не может представить без компьютера. А ведь где-то в 50-х годах 20-го века люди считали, что компьютер необходим лишь для того, чтобы просчитывать траектории полетов к звездам. А еще раньше даже слова-то такого "компьютер" не знали. Окунемся в историю создания компьютеров.
В каком году изобрели компьютер
Само слово "компьютер" имеет значение "вычислитель". Уже давным-давно люди нуждались в изобретении устройства, которое могло бы автоматически обрабатывать данные, вычислять. Очень сложно сказать, кто и когда изобрел компьютер, так как сначала надо определиться, что считать этим самым устройством вычислений и обработки данных.
В первой половине 19-го века Чарльз Бэббидж, английский математик, сделал попытку создать универсальную вычислительную машину. Эта аналитическая машина должна была сама выполнять вычисления без человека. Но математик не смог завершить свою работу, для техники того времени это оказалось слишком сложно. Но благодаря ему последователи получили все основные идеи.
В 1941 году немецкий инженер Конард Цузе и в 1943 году американец Говард Эйкен воспользовались идеями Бэббиджа и все-таки построили такую аналитическую машину!
Кто изобрел компьютер в современном понимании
Чарльза Бэббиджа можно назвать тем, кто первым изобрел компьютер, или создателем первого прообраза компьютера. Но все же первой реально работающей машиной, которая решала практические задачи, стала ENIAC. Это компьютер, разработанный специально для нужд армии, для счета таблиц авиации и артиллерии.
В 1946 году миру стало известно, что в США запустили первый в мире компьютер ENIAC. Аббревиатура расшифровывается как Electronic Numerical Integrator And Computer (Электронный Цифровой Интегратор и Компьютер). На его строительство ушло около половины миллиона долларов. Над ним трудились примерно три года. Размеры машины просто поражают! Он весил 28 тонн и потреблял 140 кВт энергии. Вы только представьте себе, что охлаждался первый компьютер авиационными двигателями Chrysler.