48 KiB
Теоретические вопросы по БЭВМ и архитектуре ЭВМ — ответы (1–40)
1. Две формы представления информации. Представление дискретной информации. Системы счисления (2, 8, 10, 16, двоично‑десятичная).
Информация бывает непрерывная (аналоговая) и дискретная (цифровая). В ЭВМ используется дискретная форма: величины принимают конечное множество значений, кодируемых битами.
Позиционные системы счисления задаются основанием \(q\); значение числа — сумма цифр, умноженных на степени \(q\). В вычислительной технике применяют двоичную, восьмеричную, десятичную, шестнадцатеричную и двоично‑десятичную (BCD), где каждая десятичная цифра кодируется 4‑битным двоичным кодом.
2. Представление чисел с фиксированной точкой. Прямой, обратный и дополнительный код. Флаги переноса, переполнения, знака, нуля.
Числа с фиксированной точкой имеют жёстко заданное положение «запятой» (для целых чисел — после младшего бита). Беззнаковые двоичные целые хранятся как обычный двоичный код.
Прямой код знакового числа — старший бит хранит знак, остальные — модуль. Обратный код отрицательного числа получают инверсией всех битов прямого кода. Дополнительный код — обратный плюс единица; он позволяет выполнять вычитание через сложение и унифицирует арифметику знаковых и беззнаковых чисел.
Флаг переноса (C) показывает выход за старший разряд при беззнаковой операции; флаг переполнения (V) — выход результата за диапазон знакового представления; флаг знака (N) копирует старший бит результата; флаг нуля (Z) устанавливается, если все биты результата равны нулю.
3. Представление символьных и строковых данных. Кодовые таблицы ASCII, KOI‑8, ISO‑8859‑5, Windows‑1251, UTF‑8, UTF‑16.
Текст в ЭВМ представляют как последовательность кодов символов по таблице кодировки. Каждый символ сопоставлен числу, которое хранится в памяти и передаётся по каналам связи.
ASCII — базовая 7/8‑битная кодировка латинского алфавита. KOI‑8 и ISO‑8859‑5 — русские/кириллические расширения, размещающие русские буквы в верхней половине таблицы. Windows‑1251 — 8‑битный набор для кириллицы в системах Windows.
Unicode описывает символы большинства письменных языков; UTF‑8 кодирует их переменным числом байтов (1–4), оставаясь совместимым с ASCII. UTF‑16 использует 16‑битные слова и суррогатные пары для расширенного диапазона.
4. Базовые элементы вычислительной техники: ячейки, регистры, шины, вентили, тактовый генератор, логические схемы, триггеры, счётчики, сумматоры.
Ячейка памяти хранит слово фиксированной длины (обычно 8, 16, 32, 64 бит), имеет адрес и реализуется набором запоминающих элементов. Регистры — упорядоченные наборы триггеров для хранения слов и выполнения быстрых операций.
Шины — общие линии передачи адреса, данных и управляющих сигналов, соединяющие процессор, память и устройства. Логические вентили (AND, OR, NOT и др.) формируют логические схемы, реализующие булевы функции.
Триггеры имеют два устойчивых состояния и служат основой регистров, счётчиков и памяти. Счётчики считают импульсы (адрес, такт, события), сумматоры выполняют сложение (полусумматор, полный сумматор).
5. Структура и принцип функционирования ЭВМ. Пример простого процессора‑калькулятора.
Типовая ЭВМ состоит из процессора, памяти и устройств ввода‑вывода. Процессор включает устройство управления, АЛУ, регистры и интерфейсы к шинам; память хранит команды и данные; ВУ обеспечивают связь с пользователем и внешними носителями.
Простой процессор калькулятора имеет два регистра (X и Y), АЛУ, клавиатуру и дисплей. При вводе цифры УУ формирует тактовую последовательность: сохраняет старое X в Y, сдвигает X (умножает на основание системы, обычно 10), добавляет новую цифру и записывает результат в X.
При нажатии «+» или «=» УУ запускает цикл сложения X и Y: значения пересылаются в АЛУ, результат возвращается в X и отображается на дисплее.
6. ОС Unix: ядро и файловая система.
Ядро Unix управляет процессами, памятью, файлами и устройствами. Оно предоставляет системные вызовы (open, read, write, fork, exec и др.), изолирует пользовательские процессы от аппаратуры и реализует многозадачность и разделение времени.
Файловая система Unix организована как иерархия каталогов с корнем /. Всё — файлы: обычные, каталоги, устройства, каналы. Каждый файл описывается inode, содержащим тип, права, размеры, времена и адреса блоков данных. Имя файла хранится в каталоге, а inode — в таблице на диске.
7. ОС Unix: интерпретаторы, стандартные потоки ввода‑вывода, фильтры.
Командный интерпретатор (shell) читает команды пользователя, разбирает их и запускает программы; в Unix доступны разные оболочки (sh, bash, zsh и др.). Интерпретаторы скриптов (например, sh, python) выполняют программы из текстовых файлов.
Каждому процессу назначены стандартные потоки: stdin (0), stdout (1), stderr (2). Их можно перенаправлять и связывать конвейерами (pipe), формируя цепочки обработки данных.
Фильтры — программы, читающие stdin и пишущие на stdout, не хранящие состояние (например, grep, sort, tr, sed). Их связывают в конвейеры для сложной обработки текста.
8. ОС Unix: основные команды, права файлов и их задание.
Базовые команды Unix: ls, cd, mkdir, rm, cp, mv, cat, echo, grep, sort, head, tail и др. Они управляют файлами, каталогами и потоком данных.
Права доступа задаются тройками rwx для пользователя (u), группы (g) и остальных (o). Чтение (r), запись (w), исполнение (x) могут задаваться символически (chmod u+x) или восьмеричным числом (chmod 755).
Владелец файла, группа и права хранятся в inode. Команда chmod изменяет права, chown — владельца, chgrp — группу.
9. Состав и структура БЭВМ. Адресные пространства, система команд, форматы, машинные циклы.
БЭВМ — базовая учебная ЭВМ аккумуляторного типа с 16‑разрядными словами. В её состав входят регистры (AC, IP, AR, DR, BR, SP, PS), память на 2048 слов и интерфейсы ввода‑вывода.
Адресное пространство памяти — 0…2047; часть адресов может использоваться для регистров контроллеров устройств. Система команд включает безадресные, одноадресные, ввода‑вывода и ветвления; форматы команд задают код операции и поле адреса/смещения.
Машинные циклы: IF (выборка команды), AF (выборка адреса), OF (выборка операнда), EX (исполнение), INT (обработка прерывания). Каждая команда раскладывается на эти циклы в микропрограмме.
10. Организация вычислений в БЭВМ. Сдвиги, арифметика, логика. Цикл выборки команды.
Вычисления в БЭВМ концентрируются вокруг аккумулятора AC: арифметические и логические операции выполняются с AC и операндом из DR. Команды сдвига (ASL, ASR, ROL, ROR) реализуют арифметические и циклические сдвиги, влияя на флаг переноса.
Логические операции (AND, OR, NOT) работают побитово, устанавливая флаги N, Z, V. Арифметические (ADD, SUB, ADC, NEG, INC, DEC) используют дополнительный код и расставляют все флаги NZVC.
Цикл выборки команды (IF): IP→BR, AR; затем BR+1→IP и MEM(AR)→DR; далее DR→CR (регистр команды). После IF микропрограмма анализирует CR и переходит к AF/OF/EX для данной команды.
11. Организация массивов данных. Режимы адресации. Цикл выборки адреса и операнда.
Массивы данных в БЭВМ хранятся в последовательных ячейках памяти; обход массива реализуется через разные режимы адресации: абсолютную, относительную, косвенную, автоинкрементную и автодекрементную.
Абсолютная адресация использует поле адреса команды напрямую. Относительная — добавляет знаковое смещение к IP. Косвенная — берёт адрес операнда из ячейки‑указателя. Автоинкремент/автодекремент модифицируют указатель при каждом обращении, удобны для обхода массива.
Цикл AF/OF для адресных команд: AF (при относительной/косвенной) вычисляет эффективный адрес (IP+смещение или чтение указателя), OF загружает операнд по этому адресу в DR (DR→AR; MEM(AR)→DR).
12. Управление вычислительным процессом в БЭВМ. Ветвления, команда LOOP.
Команды ветвления (BEQ, BNE, BMI, BPL, BCS/BHIS, BCC/BLO, BVS, BVC, BLT, BGE) изменяют IP в зависимости от флагов NZVC, реализуя условные переходы. Смещение D хранится в младших битах команды и интерпретируется как знаковое.
Команда LOOP реализует декремент счётчика и условный пропуск следующей команды: значение счётчика в памяти уменьшается, проверяется бит знака, и либо выполняется следующая команда, либо она пропускается. Это позволяет строить циклы по количеству повторений.
Таким образом, управление процессом строится из ветвлений, LOOP и безусловных переходов (JUMP/CALL/RET), задающих структуру программы: циклы, развилки, подпрограммы.
13. Подпрограммы в БЭВМ. Переход, возврат, стек, передача параметров, позиционно‑независимый код, загрузчик и библиотеки.
Подпрограмма — участок кода с именем/адресом, вызываемый из разных мест основной программы. Команда CALL сохраняет адрес возврата (IP) на вершину стека и передаёт управление на адрес подпрограммы, указанный в DR. RET снимает адрес возврата со стека и загружает его в IP.
Стек в БЭВМ организован в памяти; указатель SP движется вниз при PUSH и вверх при POP. Параметры подпрограмм передают через стек, регистры или ячейки памяти с известными метками. Позиционно‑независимый код использует относительную адресацию и не зависит от конкретных адресов загрузки.
Загрузчик размещает код в памяти и инициализирует IP, библиотеки представляют часто используемые подпрограммы, подключаемые к программам по согласованным интерфейсам.
14. Организация ввода‑вывода в вычислительных системах. Инициация, передача, завершение. Драйверы.
Цепочка ввода‑вывода: инициация (запуск обмена), передача данных и завершение (подтверждение/ошибка). Процессор задаёт параметры обмена (адрес, длина, режим) и запускает устройство или контроллер.
Передача может быть программно‑управляемой (CPU выполняет циклы чтения/записи), по прерыванию (устройство сигнализирует по готовности) или через DMA (контроллер прямого доступа к памяти).
Драйвер устройства — часть ОС, реализующая протокол работы с конкретным контроллером и предоставляющая стандартизованный интерфейс прикладным программам (файлы устройств, функции ОС).
15. Организация ввода‑вывода в БЭВМ. Устройства и команды.
В БЭВМ используются простые внешние устройства ввода/вывода, представленные 8‑битными регистрами данных и статус/управления. Каждому устройству сопоставлены адреса регистров в общем адресном пространстве.
Команды ввода‑вывода IN addr читают байт из регистра данных/статуса устройства в младший байт AC; OUT addr записывают байт из AC в регистр данных/управления.
Обмен может быть программно‑управляемым (опрос SR в цикле) или по прерыванию (контроллер формирует запрос INT, а обработчик прерывания выполняет IN/OUT и обслуживает устройство).
16. Организация асинхронного обмена в БЭВМ. Пример программы. Временные издержки.
Асинхронный обмен в БЭВМ реализуется программным опросом регистра статуса SR устройства: процессор в цикле читает SR командой IN, проверяет бит готовности и, если устройство готово, выполняет IN/OUT с регистром данных DR.
Пример вывода с опросом: циклически читать SR (IN #3), сравнивать с маской готовности (CMP #1), при неготовности выполнять условный переход назад, при готовности выводить байт (OUT #2).
Временные издержки — простаивание процессора в цикле опроса: пока устройство не готово, выполняются только команды проверки, и процессор не может делать полезную работу.
17. Организация прерываний в БЭВМ. Вектора и контроллер.
Прерывания разгружают процессор от опроса устройств: при готовности устройство через контроллер формирует запрос, процессор автоматически сохраняет контекст и переходит к обработчику.
Таблица векторов хранит пары (адрес обработчика, слово PS) для каждого номера прерывания. Контроллер прерываний собирает запросы, выбирает приоритетный, передаёт номер вектора процессору.
Аппаратный цикл INT сохраняет IP и PS (обычно в стек или служебные ячейки), загружает новые IP и PS из таблицы. Команда IRET выполняет обратную операцию, восстанавливая контекст и продолжая прерванную программу.
18. Обмен по прерыванию программы в БЭВМ. Пример. Цикл прерывания.
При обмене по прерыванию основная программа один раз инициализирует контроллер и вектор (адрес обработчика, PS), разрешает прерывания (EI) и далее выполняет полезный код. Когда устройство готово, прерывание переводит процессор в обработчик.
Обработчик по адресу из вектора читает или пишет данные через IN/OUT, сохраняет их в памяти, обновляет счётчики и завершает IRET. Основная программа продолжает работу с точки прерывания.
Цикл INT: сохранить IP и PS, прочитать из таблицы векторов новые IP и PS, перейти на обработчик. Цикл IRET снимает сохранённые PS и IP и возвращает управление.
19. Многоуровневая ЭВМ: понятие и пример программы на разных уровнях.
Многоуровневая организация ЭВМ — иерархия абстракций: цифровой логический уровень, микропрограммный, уровень машинных команд, операционной системы, ассемблера/языков высокого уровня. Каждый верхний уровень интерпретируется нижним.
Программа на уровне C — последовательность операторов; компилятор переводит её в машинные команды БЭВМ (уровень ISA). Каждая машинная команда реализуется микропрограммой — последовательностью микрокоманд на уровне микропрограммного управления, которые, в свою очередь, управляют вентилями и триггерами на логическом уровне.
20. Микропрограммный уровень БЭВМ. Структура МПУ и форматы микрокоманд.
Микропрограммный уровень описывает работу процессора как исполнение микропрограмм — наборов микрокоманд для каждой машинной инструкции.
Структура МПУ: регистр адреса микрокоманды, память микропрограмм (ПМП), регистр микрокоманды и декодер, формирующий управляющие сигналы (открытие вентилей, выбор операции АЛУ, запись в регистры).
Формат микрокоманды содержит операционную часть (поля пересылок, операций АЛУ, управления флагами) и адресную/управляющую (переход к следующей микрокоманде, условные/безусловные ветвления).
21. АЛУ и коммутатор. Регистр состояния БЭВМ.
АЛУ БЭВМ выполняет набор арифметических (сложение, вычитание, инкремент, декремент, изменение знака) и логических (AND, OR, NOT, сдвиги) операций над операндами из регистров. Управляющие сигналы выбирают конкретную операцию.
Коммутатор — система шин и вентилей, которая по управляющим сигналам соединяет источники и приёмники данных (регистры, АЛУ, память). Микрокоманды задают, какие вентили открыть (например, IP→AR, DR→AC).
Регистр состояния PS содержит флаги NZVC и служебные биты режима; флаги выставляются АЛУ по результату операций и используются командами ветвления и условных переходов.
22. Микропрограммное управление вентильными схемами. Схема управления. Интерпретатор БЭВМ.
Микропрограммное управление вентильными схемами означает, что каждая микрокоманда задаёт набор управляющих сигналов вентилей: какие регистры подключить к шинам, какие разрешить на запись, какую операцию выполнить в АЛУ.
Схема управления включает декодер микрокоманд, генератор тактов и блок формирования адреса следующей микрокоманды (по текущему коду и условиям).
Интерпретатор БЭВМ — совокупность микропрограмм, реализующих цикл работы машины: выборку команд, адреса, операнда, исполнение и обработку прерываний. Он интерпретирует коды операций CR в последовательности микрокоманд.
23. Архитектура ЭВМ: фон Нейман и Гарвард. Обмен по шинам.
В архитектуре фон Неймана команды и данные хранятся в общей памяти и передаются по одной шине; это упрощает систему, но создаёт конкуренцию между выборкой команд и доступом к данным.
Гарвардская архитектура разделяет память и шины: отдельные для команд и данных, что позволяет одновременно выбирать команду и обращаться к данным и уменьшает «узкое место» шины.
Обмен в ЭВМ организуют через три вида шин: адресную (указание ячейки или устройства), данных (передача слова/байта) и управления (чтение/запись, подтверждение, ошибки). Все компоненты подключены к этим шинам через свои интерфейсы.
24. Многопроцессорные ЭВМ. Системный коммутатор. UMA и NUMA.
В многопроцессорной ЭВМ несколько процессоров совместно используют память. Связь может строиться на общей шине (simple bus) или на системном коммутаторе (crossbar, многоступенчатые сети), позволяющем независимые обращения к разным модулям памяти.
В архитектуре UMA все процессоры имеют примерно одинаковое время доступа к любому участку памяти; это проще, но масштабирование ограничено конфликтами за общую память.
NUMA разбивает систему на узлы: каждый узел имеет локальную память, доступ к которой быстрее, чем к памяти других узлов. Логически адресное пространство едино, но время доступа зависит от «удалённости» узла; вариант ccNUMA добавляет аппаратную согласованность кэшей.
25. Структура современных процессоров. Окружение. CISC, RISC, VLIW.
Современный процессор состоит из ядра, регистрового файла, кэш‑памяти нескольких уровней, предсказателей переходов, конвейеров, исполнительных блоков и интерфейса к шинам. Окружение включает контроллеры памяти, шин, прерываний и периферию.
CISC‑процессоры имеют сложные, иногда многошаговые команды переменной длины, способные работать напрямую с памятью. RISC используют простые команды фиксированной длины, обращение к памяти — только через load/store, арифметика — регистр‑регистр.
VLIW процессы исполняют несколько простых операций одновременно, упакованных в одно «очень длинное» командное слово; компилятор статически планирует параллелизм, снижая сложность аппаратуры.
26. Адресуемая память, организация и временные диаграммы. Конструктивные особенности.
Адресуемая память представляет собой массив ячеек с уникальными адресами. Обращение к памяти включает выставление адреса, сигнал чтения/записи и обмен данными; временные диаграммы показывают сроки стабилизации сигналов и времени доступа.
При чтении: адрес стабилизируется, подаётся сигнал чтения, через время доступа данные появляются на шине и считываются; при записи: одновременно стабильны адрес и данные, по фронту сигнала записи данные фиксируются в ячейке.
DRAM реализует ячейки на конденсаторах (требуется регенерация), используется для основной памяти; SRAM — на триггерах, быстрее и дороже, используется в кэшах. ПЗУ хранит неизменяемые данные (прошивки).
27. Блочная память. Диски и магнитные ленты.
Блочная память ориентирована на записи (блоки, секторы), а не на отдельные слова; операции чтения/записи выполняются целыми блоками.
Жёсткие диски организованы из дорожек и секторов; доступ к блоку включает перемещение головки (время поиска), ожидание сектора (латентность вращения) и передачу данных.
Магнитные ленты обеспечивают последовательный доступ: блоки записываются подряд вдоль ленты, для чтения произвольного блока нужна перемотка. Ленты имеют огромную ёмкость и низкую стоимость хранения, но высокую задержку.
28. Характеристики запоминающих устройств. Пирамида памяти.
Основные характеристики ЗУ: ёмкость, время доступа, скорость передачи, энергозависимость, надёжность и стоимость хранения бита. Между ними есть компромисс: быстрые устройства обычно дорогие и малые, медленные — дешёвые и ёмкие.
Пирамида памяти отражает иерархию: регистры и кэш (верх — очень быстро, мало), оперативная память (средний уровень), внешняя память (диски) и архивная (ленты).
Чем выше уровень, тем чаще процессор к нему обращается и тем меньше среднее время доступа; данные перемещаются вниз по мере уменьшения частоты использования.
29. Ассоциативная память, кэш‑память и промахи.
Ассоциативная память ищет данные по содержанию: каждая строка имеет тег, сравниваемый с искомым; при совпадении выдаётся соответствующее слово. Кэш‑память процессора — ассоциативный буфер строк основной памяти.
При обращении к адресу сначала проверяется кэш: попадание (hit) даёт быстрый доступ, промах (miss) вызывает чтение из более медленной памяти, загрузку строки и обновление тегов.
Среднее время доступа к памяти (AMAT) зависит от доли промахов и штрафа за промах; рост miss‑rate резко снижает производительность. Архитектор уменьшает промахи выбором объёма, ассоциативности и политики замещения, программист — учётом локальности.
30. Виртуальная память. Сегментно‑страничная организация, MMU, TLB.
Виртуальная память даёт процессам иллюзию большого непрерывного адресного пространства и обеспечивает защиту и изоляцию. Физическое ОЗУ используется как кеш виртуальных страниц, а остальное размещается на диске.
Страничная организация делит виртуальное пространство на страницы фиксированного размера; таблица страниц сопоставляет виртуальные страницы физическим кадрам. Сегментная делит пространство на логические блоки переменной длины (код, данные, стек).
Сегментно‑страничная организация комбинирует оба подхода: виртуальный адрес содержит номер сегмента, номер страницы внутри сегмента и смещение; MMU выполняет трансляцию через таблицу сегментов и таблицу страниц.
TLB — небольшой ассоциативный кеш записей таблицы страниц; при попадании трансляция выполняется быстро, при промахе MMU обращается к таблице в памяти и обновляет TLB.
31. Сетевые технологии, сети ЭВМ, классификация. Сообщение, пакет, модель OSI.
Сеть ЭВМ — множество узлов и каналов связи, плюс протоколы и оборудование, обеспечивающие обмен данными и совместное использование ресурсов. Сети бывают PAN, LAN, MAN, WAN и различаются топологиями (шина, звезда, кольцо, дерево, mesh).
Сообщение — логическая единица данных для приложения; в сети оно дробится на пакеты с заголовком (адреса, порты, служебные поля).
Модель OSI описывает обмен как работу семи уровней: физического, канального, сетевого, транспортного, сеансового, представительного и прикладного; каждый уровень реализует свои функции и использует сервисы нижнего уровня.
32. Модель TCP/IP: среда, канальный и сетевой уровни, адресация, передача и маршрутизация.
Модель TCP/IP имеет уровни: доступа к сети (link), интернет (IP), транспортный и прикладной. Передающая среда может быть проводной (Ethernet) или беспроводной (Wi‑Fi).
Канальный уровень формирует кадры, использует MAC‑адреса и управляет доступом к среде. Сетевой уровень реализует IP: формирование пакетов, маршрутизация, фрагментация, контроль времени жизни (TTL).
Адресация основана на IP‑адресах и префиксах сети; маршрутизаторы по таблицам маршрутизации выбирают следующий узел, приближающий пакет к целевой сети. Маршруты могут настраиваться статически или динамическими протоколами.
33. TCP/IP: DHCP, сервисы имён, транспортный и прикладной уровни.
DHCP автоматически назначает узлам IP‑адреса и параметры сети (маска, шлюз, DNS). Клиент запрашивает конфигурацию, сервер предлагает адрес и аренду, клиент подтверждает.
DNS сопоставляет доменные имена IP‑адресам и обратно, позволяя приложениям работать с удобными именами вместо чисел.
Транспортный уровень: TCP (надёжный поток с установкой соединения, подтверждениями и управлением перегрузкой) и UDP (простые датаграммы без гарантии доставки). Прикладной уровень реализует протоколы вроде HTTP, SMTP, FTP, DNS, SSH поверх TCP/UDP.
34. Интерфейсы ввода‑вывода. Контроллеры устройств, стандартизация, сопряжение с шиной, циклы обмена, регистры контроллера.
Интерфейс ввода‑вывода определяет электрические сигналы, формат команд и протокол обмена между устройством и ЭВМ.
Контроллер устройства содержит регистры данных, статуса и управления, буферы и логические схемы протокола; процессор взаимодействует с ним через системную шину, читая/записывая регистры.
Стандарты задают уровни: физический (RS‑232, USB, PCIe), протокол, программный API. Циклы обмена по шине (чтение, запись) синхронизируются тактовым генератором шины и сигналами подтверждения; регистры контроллера отражают состояние устройства и позволяют задавать режимы работы.
35. Параллельная передача данных. Контроллеры параллельной передачи и приёма.
При параллельной передаче несколько бит (обычно байт или слово) передаются одновременно по нескольким линиям данных, сопровождаемым линиями управления (строб, подтверждение, занятость).
Контроллер параллельной передачи имеет выходной регистр, выводящий данные на шину, и логику формирования стробирующих и handshake‑сигналов. Контроллер приёма фиксирует состояние линий по стробу в входном регистре и выставляет флаги готовности и ошибок.
Такие контроллеры обеспечивают соблюдение временных диаграмм и корректную синхронизацию при параллельном обмене.
36. Синхронные последовательные интерфейсы. Контроллеры последовательной передачи и приёма.
Синхронный последовательный интерфейс использует общую линию тактового сигнала; данные сдвигаются по линии данных в такт импульсам. Пример — SPI (MOSI/MISO, SCLK, CS).
Контроллер передачи содержит буферный и сдвигающий регистры, генератор такта и автомат управления: по загрузке байта он формирует старт последовательности бит и синхронно выводит их.
Контроллер приёма считывает биты по входному такту в сдвигающий регистр, по завершении слова переносит его в буфер и выставляет флаг готовности; ошибки и статус отражаются в регистре статуса.
37. Асинхронный обмен. Деление частоты, формат кадра.
Асинхронный последовательный обмен реализуется UART: нет общей линии такта, кадр синхронизируется старт‑ и стоп‑битами.
Делитель частоты преобразует опорный такт в битовую скорость (baud rate). Приёмник использует оверсэмплинг, чтобы точно выделять моменты выборки битов после обнаружения старт‑бита.
Типичный формат кадра: старт‑бит (0), 5–9 бит данных (часто 8), необязательный бит чётности и 1–2 стоп‑бита (1). Все параметры задаются в регистрах контроллера UART.
38. Контроллер передачи асинхронного последовательного интерфейса.
Контроллер передачи UART имеет буферный регистр данных (TX), сдвигающий регистр, делитель частоты и автомат управления.
Процессор записывает байт в буфер; если передатчик свободен, контроллер переносит байт в сдвигающий регистр, добавляет старт‑бит, затем выдаёт биты данных, чётности и стоп‑битов с нужной скоростью.
Флаги состояния (передающий регистр пуст, передача завершена, ошибки) позволяют драйверу определять моменты записи следующих байтов и отслеживать корректность обмена.
39. Контроллер приёма асинхронного последовательного интерфейса.
Контроллер приёма UART принимает сигнал линии RX, ищет переход «1→0» как старт‑бит, затем по внутреннему делителю частоты выбирает моменты выборки битов.
Принятые биты сдвигаются в приёмный регистр; после набора полного слова оно переносится в буферный регистр, выставляется флаг «данные готовы» и при разрешении генерируется прерывание.
Регистр статуса фиксирует ошибки (чётности, формата кадра, переполнения буфера), на которые реагирует драйвер, принимая решения о повторе или игнорировании данных.
40. Прямой доступ к памяти (ПДП). Контроллер DMA.
Прямой доступ к памяти (DMA, ПДП) позволяет передавать блоки данных между памятью и устройствами без участия процессора в каждой операции. CPU только настраивает передачу и получает сигнал окончания.
Контроллер DMA содержит регистры адреса источника и назначения, счётчик длины и регистр управления (режим, направление). Получив запрос (от устройства или CPU), он захватывает системную шину, выполняет циклы чтения/записи, обновляет адрес и счётчик.
По завершении контроллер освобождает шину и генерирует прерывание, сообщая процессору о готовности данных. Это уменьшает нагрузку на CPU и повышает скорость массовых пересылок.