Схемотехника подсистем ЭВМ
Введение Подсистемы ЭВМ: Память: Кэш, Виртуальная память Системная шина Подсистема прерываний Система ввода-вывода Большинство из этих тем рассматриваются в курсахОрганизация ЭВМ и систем, Операционные системы,Сети ЭВМ и телекоммуникации В этом курсе рассмотрим простые примеры реализации отдельных элементов подсистем ЭВМ
Вычислительная машина с одной шиной
Шинная организация ЭВМ Системная шина обеспечивает простой и гибкий механизм взаимодействия между подсистемами ЭВМ. Для обеспечения хорошей производительности системная шина должна работать на высокой частоте, это рождает ряд ограничений: – Все подключенные устройства должны работать на одной частоте (синхронная шина) – Из-за проблем с разфазировкой тактового сигнала, протяженность системной шины должна быть небольшой Поэтому на практике используется иерархия шин.
Пример: Иерархия шин в архитектуре Intel 1.Выделенная шина памяти 2.Северный мост для PCI Express x2 (GPU) 3.Южный мост : USB, PCI, Ethernet, SATA
Подсистемы ЭВМ с позиции системного программиста Для программиста внешние устройства отображаются в области адресного пространства Пример SDK 1.1. *(volatile unsigned char xdata*) address= 0xAA;
Схема шины с адресным селектором
Пример реализации адресного селектора Если сигнал CS не установлен, тогда выводы микросхема переходит в высокоимпедансное состояние (Z- состояние)
Пример простой on-chip шины Рассмотрим максимально упрощенный пример системной шины для построения СнК Необходимо обеспечить взаимодействие следующих устройств: CPU (Master), SRAM, FLASH, UART Структура адресного пространства:
Интерфейсы MASTER и SLAVE ADDR – Адрес WE – Write Enable (1 – Запись, 0 - чтение) REQ – Запрос от Master ACK – Подтверждение от Slave DIN, DOUT - Данные
Цикл записи
Цикл чтения
Структурная схема шины
Последовательные интерфейсы Параллельные интерфейсы применяются для высокоскоростной передачи данных на небольшие расстояния Проблемы использования параллельных интерфейсов: – Сложность синхронизации сигналов во всех линиях – Сложность конструкции – Цена Для передачи данных на большие расстояния используются последовательные интерфейсы. В последовательных интерфейсах данные передаются последовательно, бит за битом
Синхронные и асинхронные последовательные интерфейсы Синхронные: PS/2 SPI I2C … Асинхронные: UART USB Ethernet... В синхронных интерфейсах сигнал синхронизации передается по одной из линий. Асинхронные интерфейсы тактируется от внутренних генераторов приемника и передатчика.
Пример синхронного последовательного интерфейса: SPI SCLK – Тактирование MOSI - Master Output, Slave Input MISO - Master Input, Slave Output SS – Slave Select
Протокол SPI
Структурная схема приемопередатчика SPI
Пример асинхронного последовательного интерфейса: UART UART – Universal Asynchronous Receiver/Transmitter Обеспечивает дуплексную передачу данных по двум линиям: RX, TX RX – Receive TX – Transmit Несколько режимов работы: 9600, 14400, 19200, 38400, 57600, бод
Протокол UART
Структурная схема UART
Структурная схема UART (раздельный приемник и передатчик)
oversampling Каждый бит сигнала данных читается с линии несколько раз
Генерация сигнала синхронизации данных Для генерации сигнала синхронизации можно использовать счетчик по модулю N
Структура приемника UART