Курс про эту вашу архитектуру

Цели, мотивация

prerequisites

Считается, что студенты прослушали как минимум курс Архитектуры ЭВМ. Также желательны (но необязательны) прослушанные курсы ОС, БД, ВТ и ПОД (3 поток).

По форме

Есть мысль, что по объёму тут довольно много. Поэтому есть идея разбить это на две части: более обязательную и менее обязательную. В более обяхательную включать концепции, понятия и прочее, а в менее обязательную — все примеры и прочие вкусности. Так и читать, по три часа — первые полтора часа для энтузиастов (курс-то необязательный, и не факт, что вообще будет официальным матс/к), вторые полтора часа — для фанатов.

По таймлайну

Читать его, видимо, надо весной 2012. Оно более-менее совпадает со второй частью цикла курсов про этот ваш Linux, и является частично базой для курса по ядру, потому что много знаний из этого курса там потребуются.

Структура курса

  1. Представление, передача и хранение информации в рамках вычислительных систем. Краткий обзор архитектур ВС.
    • Вопрос кодирования информации; различимость состояний, передача состояний, храненние состояний
    • Механическое представление
    • Реле
      • Логические операции
      • Генератор тактовой частоты
      • Вентили
      • Библиотека стандартных компонент
      • Реализация памяти
    • Полупроводниковые транзисторы
      • Изготовление ИС и печатных плат
    • Особенности передачи электрических сигналов
    • Понятие программы, архитектура ВС
    • Обзор различных архитектур ВС
      • Любые классификации и систематизации условны; это скорее аспекты (базисные вектора)

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

      • Собственно, рассмотреть структуру вс на базе sparc, power, arm, mips, x86, ia-64, alpha, cell; soc, микроконтроллеры, dsp

  2. Организация программируемых вычислительных устройств (процессоров)
    • Общая схема работы
    • Особенности различных архитектур: микрокоманды, конвейер, кэш данных, кэш команд, prefetch, branch prediction/спекулятивое исполнение, векторные команды
    • Обзор различных архитектур процессоров
  3. Организация запоминающих устройств с произвольным доступом (память)
    • Общее устройство памяти, виды памяти (SRAM, DRAM), общая схема работы. Характеристики памяти.
      • Ширина, глубина, задержки, количество портов/ассоциативность

    • Взаимодействие процессора и памяти
      • Контроллер памяти
      • Кэширование
      • Full buffering
    • Взаимодействие памяти и иных устройств (PIO, DMA)
    • ECC
    • Обзор различных видов памяти.
  4. Адресация
    • Организация адресации памяти. Адресное пространство.
    • Страничная адресация памяти. MMU. Таблицы страниц. PAE.
    • Отображение памяти устройств, shadowing. IOMMU.
    • Схема организации и адресации памяти в различных архтектурах
  5. Процесс начальной загрузки
    • Последовательность действий при появлении питания.
    • Особенности организации начальной загрузки в x86. BIOS, POST.
    • EFI.
  6. Периферийные устройства
    • Взаимодействие устройств
      • Порты ввода/вывода
      • Отображение адресного пространства
      • DMA
      • Взаимодействие между устройствами
      • Прерывания
    • Обзор различных интерфейсов подключения периферийных устройств
      • Интерфейсы COM и LPT
      • Интерфейсы IDE, SCSI, SATA
      • USB, FireWire, displayport

      • ISA, PCI, PCIe
      • HyperTransport

      • что характерно, тут нет ни видео (хотя оно будет в разделе пр PCI упомянуто), ни всяких езернетов с инфинибендами и FC. А всё потому, что оно в итоге подключается по одному из вышеозначенных интерфейсов

  7. Видеоподсистема
    • Схема организации работы видеопосистемы
    • GPU как вычислитель. Архитектура, принципы работы.
  8. многопроцессорные и многоузловые системы
    • Взаимодействие ядер, процессоров, узлов
    • RDMA
    • Обзор многопроцессорных и многоузловых архитектур
  9. Особенности организации встраиваемых систем. Переменная тактовая частота, power states, обзор архитектур.
  10. Особенности организации отказоустойчивости. Поддержка hotswap, организация redundancy.