5585
Комментарий:
|
9913
|
Удаления помечены так. | Добавления помечены так. |
Строка 24: | Строка 24: |
* Основные задачи: представить, передавать и хранить информацию. * Вопрос кодирования информации; различимость состоний, передача состояний, храненние состояний * Механическое представление (шестерёнки) * Реле * Полупроводниковые транзисторы * Логические операции * Библиотека стандартныхх компонент * Реализация памяти * немного о передаче электрических сигналов * Понятие программы, архитектура * Обзор различных архитектур ВС * Любые классификации и систематизации условны; это скорее аспекты (базисные вектора) * Само разделение на процессор, чипсет, whatever тоже условно - есть схемы, которые по входу дают выход и хранят состояние; далее можно рассматривать функциональность отдельных частей и целого - особенно это хорошо видно на примере первых эвм с низкой интеграцией * Собственно, рассмотреть структуру вс на базе sparc, power, arm, mips, x86, ia-64, alpha, cell; soc, микроконтроллеры, dsp * Процессор (программируемый исполнителя) * Общая схема работы * Различные улучшения: микрокоманды, конвейер, кэш данных, кэш команд, prefetch, branch prediction/спекулятивое исполнение, векторные команды * Обзор различных архитектур процессоров * Память * Общее устройство памяти, виды памяти (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 |
Курс про эту вашу архитектуру
Цели, мотивация
- На ВМК не рассматриваются достижения в железостроении последних, like, 30 лет. А еслии рассматриваются (например, на курсах ВТ и ПОД), то весьма невнятно (личное суждение).
- Хочется этот пробел восполнить, рассказав студентам про то, что есть. А то люди кроме x86 ничего и не знают обычно, равно как нарисовать схему строения современной ВС не могут (да и не современной, обычно, тоже).
prerequisites
Считается, что студенты прослушали как минимум курс Архитектуры ЭВМ. Также желательны (но необязательны) прослушанные курсы ОС, БД, ВТ и ПОД (3 поток).
По форме
Есть мысль, что по объёму тут довольно много. Поэтому есть идея разбить это на две части: более обязательную и менее обязательную. В более обяхательную включать концепции, понятия и прочее, а в менее обязательную — все примеры и прочие вкусности. Так и читать, по три часа — первые полтора часа для энтузиастов (курс-то необязательный, и не факт, что вообще будет официальным матс/к), вторые полтора часа — для фанатов.
По таймлайну
Читать его, видимо, надо весной 2012. Оно более-менее совпадает со второй частью цикла курсов про этот ваш Linux, и является частично базой для курса по ядру, потому что много знаний из этого курса там потребуются.
Структура курса
- Основные задачи: представить, передавать и хранить информацию.
- Вопрос кодирования информации; различимость состоний, передача состояний, храненние состояний
- Механическое представление (шестерёнки)
- Реле
- Полупроводниковые транзисторы
- Логические операции
- Библиотека стандартныхх компонент
- Реализация памяти
- немного о передаче электрических сигналов
- Понятие программы, архитектура
- Обзор различных архитектур ВС
- Любые классификации и систематизации условны; это скорее аспекты (базисные вектора)
- Само разделение на процессор, чипсет, whatever тоже условно - есть схемы, которые по входу дают выход и хранят состояние; далее можно рассматривать функциональность отдельных частей и целого - особенно это хорошо видно на примере первых эвм с низкой интеграцией
- Собственно, рассмотреть структуру вс на базе sparc, power, arm, mips, x86, ia-64, alpha, cell; soc, микроконтроллеры, dsp
- Процессор (программируемый исполнителя)
- Общая схема работы
- Различные улучшения: микрокоманды, конвейер, кэш данных, кэш команд, prefetch, branch prediction/спекулятивое исполнение, векторные команды
- Обзор различных архитектур процессоров
- Память
- Общее устройство памяти, виды памяти (sram, dram, а также прочие nand), схема работы
- Ширина, глубина, задержки, количество портов/ассоциативность
- Взаимодействие исполнителя и памяти
- банки памяти
- кеши
- full buffered
- Взаимодействие памяти и иных устройств (pio, dma)
- Особенности: ecc
- История: какая память была и бывает (sdram, ddr, rambus)
- Общее устройство памяти, виды памяти (sram, dram, а также прочие nand), схема работы
- Адресация
- Собственно, адресация памяти
- таблицы страниц
- 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
- ISA, PCI, PCIe
- HT
- что характерно, тут нет ни видео (хотя оно будет в разделе пр PCI упомянуто), ни всяких езернетов с инфинибендами и FC. А всё потому, что оно в итоге подключается по одному из вышеозначенных интерфейсов
- Всякое
- GPU: собственные процессоры, особенности работы