Различия между версиями 7 и 8
Версия 7 от 2012-01-20 03:37:17
Размер: 9915
Редактор: eSyr
Комментарий:
Версия 8 от 2012-02-06 21:48:28
Размер: 8008
Редактор: eSyr
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 24: Строка 24:
 * Основные задачи: представить, передавать и хранить информацию.
  * Вопрос кодирования информации; различимость состояний, передача состояний, хранение состояний
  * Механическое представление (шестерёнки)
1. Представление, передача и хранение информации в рамках вычислительных систем. Краткий обзор архитектур ВС.
  * Вопрос кодирования информации; различимость состояний, передача состояний, храненние состояний
  * Механическое представление
Строка 28: Строка 28:
  * Полупроводниковые транзисторы
Строка 30: Строка 29:
   * Генератор тактовой частоты
   * Вентили
Строка 32: Строка 33:
  * немного о передаче электрических сигналов
  * Понятие программы, архитектура
  * Полупроводниковые транзисторы
   * Изготовление ИС и печатных плат
  * Особен
ности передачи электрических сигналов
  * Понятие программы, архитектура ВС
Строка 35: Строка 38:
   * Любые классификации и систематизации условны; это скорее аспекты (базисные вектора)
   * Само разделение на процессор, чипсет, whatever тоже условно - есть схемы, которые по входу дают выход и хранят состояние; далее можно рассматривать функциональность отдельных частей и целого - особенно это хорошо видно на примере первых эвм с низкой интеграцией
   * Собственно, рассмотреть структуру вс на базе sparc, power, arm, mips, x86, ia-64, alpha, cell; soc, микроконтроллеры, dsp
 * Процессор (программируемый исполнителя)
   . ''Любые классификации и систематизации условны; это скорее аспекты (базисные вектора)''
   . ''Само разделение на процессор, чипсет, whatever тоже условно - есть схемы, которые по входу дают выход и хранят состояние; далее можно рассматривать функциональность отдельных частей и целого - особенно это хорошо видно на примере первых эвм с низкой интеграцией''
   . ''Собственно, рассмотреть структуру вс на базе sparc, power, arm, mips, x86, ia-64, alpha, cell; soc, микроконтроллеры, dsp''
 1. Организация программируемых вычислительных устройств (процессоров)
Строка 40: Строка 43:
  * Различные улучшения: микрокоманды, конвейер, кэш данных, кэш команд, prefetch, branch prediction/спекулятивое исполнение, векторные команды   * Особенности различных архитектур: микрокоманды, конвейер, кэш данных, кэш команд, prefetch, branch prediction/спекулятивое исполнение, векторные команды
Строка 42: Строка 45:
 * Память
  * Общее устройство памяти, виды памяти (sram, dram, а также прочие nand), схема работы
   * Ширина, глубина, задержки, количество портов/ассоциативность
  * Взаимодействие исполнителя и памяти
   * банки памяти
   * кеши
   * full buffered
  * Взаимодействие памяти и иных устройств (pio, dma)
  * Особенности: ecc
  * История: какая память была и бывает (sdram, ddr, rambus)
 * Адресация
  * Собственно, адресация памяти
  * таблицы страниц
  * PAE
  * отображение памяти устройств, mmu, резервирование, shadowing.
 * Процесс начальной загрузки
  * что происходит, когда появляется питание.
  * x86: bios, efi. post.
 * устройства
  * взаимодействие устройств
   * порты ввода/вывода
   * отображение адресного пространства
   * dma
   * взаимодействие между устройствами
   * прерывания
  * интерфейсы подключения (обзор)
  * COM
  * LPT
  * ATA
  * SCSI
  * USB, SATA
  * FireWire, displayport
  * ISA, PCI, PCIe
  * HT
  * qpi
  * что характерно, тут нет ни видео (хотя оно будет в разделе пр PCI упомянуто), ни всяких езернетов с инфинибендами и FC. А всё потому, что оно в итоге подключается по одному из вышеозначенных интерфейсов
 * Всякое
  * GPU: собственные процессоры, особенности работы
  * многопроцессорные системы
  * ethernet, ib
  * особенности embedded (переменная частота, power states, специфические шины, обзор архитектур)
  * ha: hotswap, redundancy

----
  
 * Обзор предметной области, о чём будет рассказываться
  * Структура ВС
  * Архитектуры процессоров
  * Память
  * Периферия и интерконнект
 * Исторический экскурс
  * Так как это классика ВМК — каждый курс начинать с подобного, то нужно рассказать ровно про то, про что в остальных курсах в рамках этой части не рассказывают.
  * Можно поднять книжку Королёва, но реально, видимо, стоит акцентировать внимание на power'ах, arm'ах и прочих mips'ах. Вообще, это такое краткое введение, которое должно больше показать, откуда что берётся
 * Идеология
  * Код Петцольда
 * Структура ВС
  * How to make things work
  * Процесс загрузки системы и что для него требуется
  * Что бывает
   * x86 испокон веков до наших дней
   * embedded (!!!)
   * Всякое интырпрайзное (power, sparc, system 360+?)
 * Архитектуры процессоров
  * Чем занимается процессор
  * Исполнение команд
   * Тут особо смысла задерживаться нет — довольно подробно это рассматривается на Архитектурах ЭВМ. Хотя, конкретные примеры, типа армов-альф-мипсов-эпиков-паверов-спарков рассмотреть таки можно, равно как и современный IA-32, дабы показать его уродливость.
 * Память
  * Какая бывает. Как устроена современная память.
  * Работа процессоров разных архитектур с памятью, механизмы защиты памяти.
 * Периферия
  * какая периферия бывает. Просто обзор, подробно далее
  * Общие концепции работы процессора с периферией. Собственно, все сводится к двум вещам:
   * Управление периферией процессором.
   * Работа с памятью. Сюда всякое PIO-DMA-MMU.
  * COM
  * LPT
  * ATA
  * SCSI
  * USB, SATA
  * FireWire
  * ISA, PCI, PCIe
  * HT
  * что характерно, тут нет ни видео (хотя оно будет в разделе пр PCI упомянуто), ни всяких езернетов с инфинибендами и FC. А всё потому, что оно в итоге подключается по одному из вышеозначенных интерфейсов
 * Всякое
  * GPU: собственные процессоры, особенности работы
 1. Организация запоминающих устройств с произвольным доступом (память)
  * Общее устройство памяти, виды памяти (SRAM, DRAM), общая схема работы. Характеристики памяти.
   . ''Ширина, глубина, задержки, количество портов/ассоциативность''
  * Взаимодействие процессора и памяти
   * Контроллер памяти
   * Кэширование
   * Full buffering
  * Взаимодействие памяти и иных устройств (PIO, DMA)
  * ECC
  * Обзор различных видов памяти.
 1. Адресация
  * Организация адресации памяти. Адресное пространство.
  * Страничная адресация памяти. MMU. Таблицы страниц. PAE.
  * Отображение памяти устройств, shadowing. IOMMU.
  * Схема организации и адресации памяти в различных архтектурах
 1. Процесс начальной загрузки
  * Последовательность действий при появлении питания.
  * Особенности организации начальной загрузки в x86. BIOS, POST.
  * EFI.
 1. Периферийные устройства
  * Взаимодействие устройств
   * Порты ввода/вывода
   * Отображение адресного пространства
   * DMA
   * Взаимодействие между устройствами
   * Прерывания
  * Обзор различных интерфейсов подключения периферийных устройств
   * Интерфейсы COM и LPT
   * Интерфейсы IDE, SCSI, SATA
   * USB, FireWire, displayport
   * ISA, PCI, PCIe
   * HyperTransport
   . ''что характерно, тут нет ни видео (хотя оно будет в разделе пр PCI упомянуто), ни всяких езернетов с инфинибендами и FC. А всё потому, что оно в итоге подключается по одному из вышеозначенных интерфейсов''
 1. Видеоподсистема
  * Схема организации работы видеопосистемы
  * GPU как вычислитель. Архитектура, принципы работы.
 1. многопроцессорные и многоузловые системы
  * Взаимодействие ядер, процессоров, узлов
  * RDMA
  * Обзор многопроцессорных и многоузловых архитектур
 1. Особенности организации встраиваемых систем. Переменная тактовая частота, power states, обзор архитектур.
 1. Особенности организации отказоустойчивости. Поддержка hotswap, организация redundancy.

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

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

  • На ВМК не рассматриваются достижения в железостроении последних, like, 30 лет. А еслии рассматриваются (например, на курсах ВТ и ПОД), то весьма невнятно (личное суждение).
  • Хочется этот пробел восполнить, рассказав студентам про то, что есть. А то люди кроме x86 ничего и не знают обычно, равно как нарисовать схему строения современной ВС не могут (да и не современной, обычно, тоже).

prerequisites

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

По форме

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

По таймлайну

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

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

1. Представление, передача и хранение информации в рамках вычислительных систем. Краткий обзор архитектур ВС.

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

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

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

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

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

      • ISA, PCI, PCIe
      • HyperTransport

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

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

eSyr/ArchitectureCoursePlan (последним исправлял пользователь eSyr 2012-08-09 11:38:14)