
- •Как ставится и решается задача синтеза комбинационных схем.
- •Канонический синтез одноразрядного полного двоичного сумматора.
- •1.3.Канонический синтез одноразрядного полного двоичного вычитателя.
- •1 .4 Канонический синтез реверсивного сумматора – вычитателя.
- •1/7 Какие разновидности дешифраторов можно построить? Привести пример синтеза схемы дешифратора.
- •1.8 Как решается задача сравнения кодов? Привести пример синтеза схемы сравнения.
- •1.9. Канонический синтез схем сравнения (при малой разрядности слов). Привести пример синтеза.
- •2.1 Принципы микропрограммного управления. Какую роль выполняют микропрограммы.
- •2.2 Для синтеза каких устройств необходима разработка микропрограмм? Привести примеры.
- •2.4 Операционное устройство как совокупность операционного и управляющего автоматов.
- •2.5 Структура и функции управляющего автомата.
- •2.6 Структура и функции операционного автомата.
- •2.7 Как происходит согласование по времени работы операционного и управляющего автоматов.
- •2.8 Этапы функционального проектирования автомата Мили. Привести пример.
- •2.10 Этапы структурного проектирования автомата Мили. Привести пример.
- •2.11 Этапы структурного проектирования автомата Мура. Привести пример.
- •2.12 Сравнительный анализ управляющих автоматов по модели Мили и по модели Мура (общность и отличия).
- •2.13 Разновидности элементарных цифровых автоматов (триггеров). Привести примеры.
- •2.14 Канонический синтез микропрограммного управляющего автомата по модели Мили.
- •2.15 Канонический синтез микропрограммного управляющего автомата по модели Мура.
- •2.16 Каноническая структура операционного автомата.
- •2.17 Гонки в автоматах и методы их устранения.
- •2.18 Методы кодирования состояний управляющих автоматов. Примеры кодирования.
- •2.19 Понятие о контроле цифровых автоматов. Корректирующие коды.
- •2.20 Контроль передачи информации по четности (нечетности).
- •2.21 Контроль, по четности (нечетности), передачи информации с инвертированием.
- •2.22 Коды Хэмминга и их построение (на примере кода (7,4)).
2.21 Контроль, по четности (нечетности), передачи информации с инвертированием.
Контроль четности или нечетности — это метод проверки целостности передачи данных, который основан на подсчете количества единиц в передаваемой информации. При контроле четности или нечетности каждый переданный байт или слово данных снабжается битом четности, который определяет, должно ли их количество быть четным или нечетным.
Простой пример контроля четности:
- Если контроль четности используется для проверки четности, то бит четности устанавливается так, чтобы общее количество единиц в передаваемом слове (байте) было четным. Таким образом, если в передаваемом слове уже четное количество единиц, бит четности устанавливается в 0 (или 1, в зависимости от конкретной схемы), чтобы сделать общее количество единиц четным. Если количество единиц нечетное, бит четности устанавливается так, чтобы сделать общее количество единиц в слове нечетным.
- Если контроль четности используется для проверки нечетности, то логика противоположна: бит четности устанавливается так, чтобы общее количество единиц в передаваемом слове (байте) было нечетным.
Инвертирование информации в контексте передачи данных означает изменение состояния битов. Например, если бит был установлен в 1, то при инвертировании он будет установлен в 0 и наоборот.
Таким образом, "контроль, по четности (нечетности), передачи информации с инвертированием" может быть интерпретирован как схема контроля четности (нечетности), где передаваемая информация может быть инвертирована до передачи. Это может быть полезно, например, для обеспечения более надежной передачи данных при использовании некоторых типов связи, где возможно возникновение ошибок из-за помех или других факторов.
2.22 Коды Хэмминга и их построение (на примере кода (7,4)).
Коды Хэмминга - самые известные и, вероятно, первые самоконтролирующиеся и самокорректирующиеся коды для двоичной системы. Этот алгоритм кодирования используется для обнаружения и, при необходимости, исправления ошибок в передаваемом сообщении, например, в сети из-за помех. Опишу простой алгоритм Хэмминга, который исправляет одну ошибку. Также существуют более совершенные версии алгоритма, способные обнаруживать и, если возможно, исправлять больше ошибок. Код Хэмминга состоит из двух частей. Первая часть добавляет контрольные биты в исходное сообщение. Вторая часть проверяет полученное сообщение на наличие ошибок и, при необходимости, исправляет их.
Давайте построим код Хэмминга для примера с 7 информационными битами и 4 контрольными битами.
Определим расположение контрольных битов: Контрольные биты будут занимать позиции, которые являются степенями двойки: 1, 2, 4 и 8 (так как 7 информационных битов, 2^0, 2^1, 2^2, и 2^3).
Запишем информационные биты и поместим контрольные биты на их места:
_ _ _ _ _ _ _
1 2 3 4 5 6 7 <- позиции битов
i i i c i c c <- i - информационный бит, c - контрольный бит
Вычислим значения контрольных битов. Для этого каждый контрольный бит будет проверять определённую комбинацию информационных битов. Например:
Контрольный бит 1 проверяет сумму битов 1, 3, 5, 7.
Контрольный бит 2 проверяет сумму битов 2, 3, 6, 7.
Контрольный бит 4 проверяет сумму битов 4, 5, 6, 7.
Запишем значения контрольных битов:
_ _ _ _ _ _ _
1 2 3 4 5 6 7 <- позиции битов
i i i c i c c <- i - информационный бит, c - контрольный бит
0 1 0 1 1 0 1 <- значения контрольных битов
Теперь, если один из битов изменится в передаваемом сообщении, можно использовать контрольные биты для определения места и исправления ошибки.