Архитектура ЭВМ Лекция 11: Организация ввода вывода.  Интерфейсы передачи данных.

Архитектура ЭВМ Лекция 11: Организация ввода вывода. Интерфейсы передачи данных.

Введение в Ввод-Вывод

Обзор раздела: В данном разделе рассматривается важность ввода-вывода для функционирования компьютера и необходимость устройств ввода-вывода для взаимодействия с внешним миром.

Роль устройств ввода-вывода

  • Устройства ввода-вывода, такие как клавиатура, монитор, принтер, и жесткий диск, позволяют компьютеру взаимодействовать с окружающим миром через шины.

Взаимодействие с внешним миром

  • Для общения с внешним миром компьютер использует два инструмента: выполнение инструкций процессором и чтение/запись данных из памяти.

Механизмы общения

  • Процессор работает с памятью через шину адреса и шину данных, а для общения с устройствами использует механизм прерываний.

Физическая Организация Процессоров

Обзор раздела: Рассмотрены физические аспекты процессоров, интерфейсы работы с памятью и устройствами через прерывания.

Физическая структура процессоров

  • Процессор представляет собой микросхему со множеством ног для подключения к питанию (VCC/GND), интерфейсам памяти (шине адреса/данных) и управлению устройствами через прерывания.

Использование прерываний

  • Механизм прерываний позволяет процессору получать сигналы от устройств. При возникновении прерывания процессор обрабатывает соответствующее событие.

Управление Устройствами через Прерывания

Обзор раздела: Обсуждается использование контроллера прерываний для эффективного управления большим количеством устройств через систему прерываний.

Работа контроллера прерываний

  • Контроллер прерываний является ключевым элементом для связи процессора с физическими устройствами. Он обеспечивает брокерскую функцию при возникновении нескольких одновременных прерываний от различных устройств.

Управление большим количеством устройств

  • Система прерываний позволяет эффективно подключать и контролировать большое количество устройств. Каждое устройство может генерировать свое прерывание, которое будет обработано контроллером.

Роль Чипсетов в Управлении Устройствами

Обзор раздела: Обсуждается роль чипсетов как ключевых компонентов системы для эффективного контроля за различными периферийными устройствами.

Функциональность чипсетов

Прерывания и контроллеры прерываний

Обзор раздела: В этом разделе обсуждается процесс работы с прерываниями и контроллерами прерываний в компьютерных системах.

Проблемы с типами прерываний

  • Проблема неопределенности типов прерываний.
  • Необходимость определения обработчика прерывания при генерации клавиатурного прерывания.

Работа контроллера прерываний

  • Контроллер прерываний может быть источником данных на шине.
  • Контроллер выставляет номер устройства для обработки прерывания.

Инструкции архитектуры x86

Обзор раздела: Здесь рассматриваются инструкции архитектуры x86 и их влияние на обработку прерываний.

Инструкции стыка

  • Обсуждение инструкций стыка в архитектуре x86.
  • Значение флагов интерактивности для процессора.

Управление контроллера прерываний

Обзор раздела: Этот раздел посвящен управлению контроллера прерываний и его взаимодействию с устройствами.

Управление через ноги

  • Введение ног "inter" и "int_a" для управления контроллера.
  • Описание последовательности действий при работе с контроллером.

Шина данных и ее функциональность

Обзор раздела: Разбор понятия шины данных, её роли и функциональности в компьютерных системах.

Шина как аппаратный интерфейс

  • Определение шины как аппаратного интерфейса.
  • Роль контроллера шины в координации устройств друг с другом.

Работа с клавиатурой и буфером

Обзор раздела: Анализ работы с клавиатурой, буфером, и передачей информации о нажатых клавишах через систему обработки прерываний.

Обработка нажатий клавиш

  • Описание буфера клавиатуры для хранения состояния клавиш.

Обработчики прерываний и адресное пространство

Обзор раздела: В данном разделе рассматривается работа обработчиков прерываний и адресного пространства в контексте взаимодействия процессора с устройствами.

Работа обработчиков прерываний

  • Процессы имеют свой набор обработчиков, каждый процесс имеет свой.
  • Обработка прерывания: специальный возврат, остановка процессора, установка стекового фрейма.
  • Обработчик прерывания получает управление, знает конфигурацию устройства и диапазон ввода-вывода.

Адресное пространство

  • Взаимодействие с устройствами через memory maps.
  • Дырка в адресах для ввода-вывода, отличная от памяти.
  • Драйверы обслуживают доступ к памяти устройств через физическое адресное пространство.

Работа с физическими и виртуальными устройствами

Обзор раздела: Здесь рассматривается работа с драйверами как программами для работы с физическими или виртуальными устройствами.

Роль драйверов

  • Драйвер - программа для работы с физическим или виртуальным устройством.
  • Драйверы обеспечивают доступ к аппаратным ресурсам через адресное пространство.

Виртуальная память и мемориал яд

Обзор раздела: Здесь освещается концепция виртуальной памяти и мемориала яд операционной системы.

Важность виртуальной памяти

  • Мемориал яд операционной системы отображает память процессов по определенным адресам.

Процессор и его функции

Обзор раздела: В этом разделе рассматривается процессор, его функции и влияние на управление сопротивлением.

Роль процессора

  • Процессор - устройство, управляющее сопротивлением от нуля до бесконечности через линию.
  • Сопротивление процессора изменяется от нуля до бесконечности в зависимости от напряжения на нем.

Управление сопротивлением

  • Напряжение на процессоре соответствует уровням 0 и 1, что позволяет контролировать ток через него.
  • Процессор может быть как проводником, так и изолятором в зависимости от установленного напряжения.

Взаимодействие между устройствами через UART

Обзор раздела: Рассматривается принцип работы UART для передачи данных между устройствами.

Основные концепции UART

  • UART (Universal Asynchronous Receiver/Transmitter) - позволяет генерировать единицы и нули для обмена данными между устройствами.
  • Для передачи данных между двумя устройствами необходимо соединить соответствующие ножки трансмиттера и ресивера.

Проблемы в работе UART

  • Отсутствие общей частоты генераторов может вызвать проблемы при передаче данных через UART.

Объяснение протоколов передачи данных

Обзор раздела: В данном разделе рассматривается важность определения начала и конца байта при передаче данных, а также обсуждается использование контроля четности для обеспечения целостности передаваемой информации.

Определение начала и конца байта

  • Подчеркивается значимость определения точного момента начала и конца байта при передаче данных.
  • Различные схемы и инструменты используются для определения начала байта, включая контроль четности.

Контроль четности

  • Контроль четности – дополнительный бит, гарантирующий целостность передаваемой информации.
  • Цель контроля четности: обеспечить равное количество единиц в пакете данных для выявления ошибок.

Проблемы физического протокола

Обзор раздела: Здесь рассматриваются проблемы, возникающие при подключении устройств без знания физического протокола работы на определенных напряжениях.

Недостатки незнания физического протокола

  • Подключение устройств без знания физического протокола может привести к повреждению портов или неисправностям.
  • Устройства могут иметь разные виды сигналов, что требует знания спецификаций для корректного подключения.

Преобразование сигналов в аналоговые значения

Обзор раздела: Обсуждается процесс преобразования цифровых сигналов в аналоговые значения для управления устройствами, работающими на аналоговых сигналах.

Процесс модуляции цифровых сигналов

  • Для управления аналоговыми устройствами используется модуляция цифровых сигналов.
  • С помощью изменений ширины импульсов можно генерировать аналоговые сигналы на выходе.

Моделирование аналоговых значений

Обзор раздела: Здесь рассматривается процесс моделирования аналоговых значений на основе цифровых сигналов для создания сложных форм волн на выходе.

Моделирование сложных форм волн

  • Используется изменение дьюти-цикла для создания сложных форм волн на выходе.

Интерфейс UART и его работа

Обзор раздела: В этом разделе рассматривается работа интерфейса UART и особенности взаимодействия устройств через него.

Работа с UART

  • Проблемы с чистотой сигнала между устройствами без прямого контроля человека.
  • Описание интерфейса из пяти контактов, где есть master и slave, определяющие параметры передачи данных.
  • Мастер генерирует частоту на клоке, формируя сигнал для передачи данных slave устройству.
  • Мастер задает частоту и передает биты данных по соответствующему проводу slave устройства.

Простой протокол обмена данными

Обзор раздела: Рассмотрение простого протокола обмена данными через две линии, представляющий эффективное решение для связи между устройствами.

Протокол обмена

  • Сравнение использования трех линий в предыдущем протоколе и двух линий в новом для обмена данными.
  • Устройства подключены к двум линиям serial data и serial clock для обмена информацией.
  • Возможность каждого устройства генерировать 0 на линии данных без конфликтов.

Механика работы мастера и устройства

Обзор раздела: Объяснение процессов работы мастера и устройства при передаче данных через две линии связи.

Передача данных

  • Мастер начинает передавать данные, опуская клок до ноля, а затем возвращая его после отправки битов информации.
  • Устройство может задерживать клок для завершения операции чтения или записи данных.

Принцип работы устройств и протоколов связи

Обзор раздела: В данном разделе рассматривается работа устройств, расстояния между ними и протоколы связи.

Расстояния и Протоколы

  • Устройства могут плавать, как гармошка, благодаря одинаковым расстояниям.
  • Девайсы выбираются по протоколу, который указывает номер до следующего пакета.
  • Каждый девайс может установить 0 или 1, обрабатывая биты.
  • Сигнал остается неизменным до следующего клока на единицу.

Принцип работы аналого-цифровых преобразователей

Обзор раздела: Здесь рассматривается процесс аналого-цифрового преобразования сигналов.

Аналого-Цифровое Преобразование

  • Необходимость оцифровки аналоговых сигналов для ввода в компьютер.
  • АЦП работает через определение значений сигнала в заданный диапазон.
  • Определение уровня напряжения физически через операционный усилитель.

Работа операционного усилителя в системе сравнения сигналов

Обзор раздела: Обсуждается функциональность операционного усилителя при сравнении двух сигналов.

Операционный Усилитель

  • Операционный усилитель выдает максимальное значение напряжения при большем сигнале на входе A.
  • Может быть использован для быстрого и точного определения отношения между двумя аналоговыми сигналами.

Определение значений через опорные напряжения

Обзор раздела: Рассмотрены методы определения значений через опорные напряжения.

Опорные Напряжения

  • Установка опорных значений для получения конкретных результатов на выходе.

Обзор технологий и устройств

Обзор различных устройств и их функциональности.

Видеокарты и обработка данных

  • Появление первых компьютеров и необходимость различных устройств для обработки данных.
  • Роль видеокарт в выполнении примитивных операций быстро, но требование предварительной загрузки большого объема данных для эффективной работы.

Разнообразие устройств и скорости доступа к информации

  • Различия в скоростях доступа к данным между устройствами, такими как модемы или жесткие диски, подчеркивают необходимость разнообразных шин.
  • Введение множества шин с разными паттернами доступа к информации для оптимизации работы устройств.

Архитектура системной платы

Разделение на южный и северный мост.

Структура системной платы

  • Деление чипсета на южный и северный мост для организации быстрых и медленных шин.
  • Описание контроллера шины, способного организовывать взаимодействие с различными устройствами.

Протокол обмена данными

Эксклюзивное состояние кэш-памяти.

Управление состоянием кэшей

  • Объяснение протокола эксклюзивного состояния кэшей для эффективного обмена данными без конфликтов.
  • Четыре основных состояния кэш line: помещена в кэш, не модифицирована, модифицирована (грязная), эксклюзивная.

Управление процессором и памятью

Влияние внешних устройств на работу процессора.

Влияние внешних устройств

  • Сложности возникающие при работе процессоров с внешними устройствами, такими как памятью.
  • Управление кодом компьютера через BIOS и связь с операционной системой для эффективного функционирования всей системы.

Хранение данных на процессоре

Описание хранения данных на процессоре.

Хранение данных на процессоре

Микроконтроллер vs. Процессор

Обзор раздела: В данном разделе обсуждается различие между микроконтроллером и процессором, а также их функциональное назначение.

Различия между Микроконтроллером и Процессором

  • Микроконтроллер - это микропроцессорное устройство, в то время как процессор - часть центрального процессора.
  • При упоминании о процессоре речь идет о сепии, которую необходимо правильно подключить к соответствующему сокету, включая память устройства и периферийные устройства. В случае микроконтроллера или "м сию" говорим о законченном устройстве.
  • Процессор может быть любым ядром, включая дополнительные real-time ядра, тогда как микросхемы контроллера представляют собой законченные устройства.
  • Для работы с процессором необходимо правильно подключить его к соответствующему сокету и обеспечить соответствующее окружение для его функционирования.
Video description

Лекция состоит из двух частей. В первой части рассматривается принцип организации взаимодействия с переферийным оборудованием с использованием механизма прерываний и ввода-вывода через память (Memory Mapped I/O). Во второй части рассматриваются интерфейсы UART, SPI, I2C, GPIO, а также преобразование аналоговых/цифровых сигналов и ШИМ. В завершении кратко описывается свойство когерентности кэшей процессора и протокол MESI. Лектор: Кирилл Кринкин Другие полезные материалы: https://online.osll.ru/useful