Математические модели и методы проектирования архитектуры сверхбольших интегральных схем — различия между версиями
Материал из Кафедра математической кибернетики
PodymovVV (обсуждение | вклад) |
PodymovVV (обсуждение | вклад) м |
||
(не показаны 10 промежуточные версии 1 участника) | |||
Строка 6: | Строка 6: | ||
Руководитель: [[Подымов Владислав Васильевич| Подымов В.В.]] | Руководитель: [[Подымов Владислав Васильевич| Подымов В.В.]] | ||
− | Актуальность информации: | + | Актуальность информации: весенний семестр 2023/2024 учебного года. |
− | + | Для доступа к материалам курса (слайдам лекций, тексту практических заданий, критериям оценки, ...) обратитесь к [[Подымов Владислав Васильевич| Подымову В.В.]]. | |
− | + | = Рабочая программа для устного опроса = | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ''Программа будет обновляться по мере чтения курса'' | |
− | + | ||
− | + | ||
− | + | # Однотактовый процессор и архитектура. | |
− | + | #* Что такое процессор и что такое его архитектура. | |
− | + | #* Архитектура системы команд (instruction set architecture) и микроархитектура (microarchitecture). | |
− | + | #* Примеры архитектур систем команд, устройство команд MIPS. | |
− | + | #* Основные элементы процессора: счётчик команд (program counter, PC), память команд (instruction memory, IM), блок регистров (регистровый файл, register file, RF), арифметико-логическое устройство (АЛУ, arithmetic logic unit, ALU), память данных (data memory, DM). | |
− | + | #* Операционный и управляющий автоматы однотактового процессора. | |
− | + | # Конвейер (conveyor). | |
− | * | + | #* "Классические" стадии выполнения команд (ступени конвейера): выборка (считывание) команды (instruction fetch, IF); декодирование команды (instruction decode, ID); считывание операндов (operand read, OR); выполнение (execution, EX); доступ к памяти (memory access, MEM); запись в регистр (writeback, WB). |
− | + | #* Латентность (latency) и производительность (throughput). | |
− | + | #* Конфликты (hazards): структурные, по данным, по управлению. | |
− | + | #* Способы разрешения конфликтов. | |
− | + | #* Виды конфликтов по данным: чтение после записи (read-after-write, RAW), запись после чтения (WAR), запись после записи (WAW). | |
− | * | + | #* Прямая подача результата (пересылка значений, продвижение данных, bypass). |
− | + | #* Спекулятивное исполнение команд (исполнение по предположению, speculation). | |
− | + | #* Конвейер в операционном автомате процессора. | |
− | + | # Общая организация памяти. | |
− | + | #* Современное устройство ячеек памяти. | |
− | + | #* Современная организация доступа к ячейкам памяти. | |
− | + | #* Область применения различных видов памяти. | |
− | # | + | #* Характеристики производительности памяти: латентность, частота доступа, пропускная способность, время доступа, время передачи, время цикла. |
− | + | # Кэш-память (cache). | |
− | + | #* Пространственная и временная локальность доступа к памяти (temporal locality, spatial locality). | |
− | + | #* Основные понятия: строка (block, line), тэг (tag), попадание (hit), промах (miss), конфликты (conflicts), вытеснение (замещение, eviction). | |
− | + | #* Производительность кэша: частоты и задержки, связанные с попаданиями и промахами кэша. | |
− | + | #* Виды кэша: прямого отображения (direct-mapped), полностью ассоциативный (associative, fully-associative), полуассоциативный (множественно-ассоциативный, set-associative). | |
− | + | #* Классификация промахов кэша (three Cs). | |
− | + | #* Политика вытеснения (eviction policy). | |
− | + | #* Политика записи (write policy). Сквозная запись (writethrough) и отложенная запись (обратная запись, writeback). | |
− | + | #* Иерархия кэш-памяти, эксклюзивный (exclusive) и инклюзивный (inclusive) кэш. | |
− | + | #* Оптимизация доступа к кэш-памяти: конвейеризация, кэш вытеснения (victim cache), буфер записи (write buffer), предвыборка (prefetching), многопортовый (multiport) кэш, банки (banks) кэш-памяти, неблокирующий (nonblocking) кэш. | |
− | + | #* Кэш-память в операционном автомате процессора с конвейером. | |
− | + | # Виртуальная память (virtual memory). | |
− | + | #* Физическая (абсолютная) и логическая (виртуальная) адресация. | |
− | + | #* Сегменты и страницы. | |
− | + | #* Таблицы страниц (таблицы страничного преобразования, page tables), каскады таблиц. | |
− | + | #* Буфер ассоциативной трансляции (translation lookaside buffer, TLB). | |
− | + | #* Виртуальная и физическая кэш-память, проблема синонимичности (aliasing). | |
− | + | #* Таблицы страниц и буфер ассоциативной трансляции в операционном автомате процессора. | |
− | + | # Прерывания (interrupts). | |
− | + | #* Общее понятие прерывания, точное (precise) прерывание. | |
− | + | #* Тонкости терминологии: прерывания, исключения (exceptions), ловушки (traps) и т.п. | |
− | + | #* Классификация точных прерываний: синхронные и асинхронные (synchronous, asynchronous), вызываемые и вынужденные (user-requested, coerced), маскируемые и немаскируемые (maskable, nonmaskable) и т.п. | |
− | + | #* Обработчик прерываний (interrupt handler). | |
− | + | #* Регистр прерываний (cause register). | |
− | + | #* Точка коммита (точка фиксации, commit point). | |
− | + | #* Влияние прерываний на устройство других архитектурных элементов. | |
− | + | #* Реализация прерываний в операционном автомате процессора. | |
− | + | # Ввод-вывод. | |
− | + | #* Виды шин ввода-вывода. | |
− | + | #* Ввод-вывод в системе команд и через память (memory-mapped). | |
− | # | + | #* Управляющий регистр (control register) и регистр данных (data register) ввода-вывода. |
− | + | #* Механизмы ожидания готовности ввода-вывода: поллинг (polling), обмен по прерыванию. | |
− | + | # Внеочередное исполнение команд (out-of-order execution). | |
− | + | #* Параллелизм на уровне команд (instruction-level parallelism, ILP) и сравнение производительности процессора с очередным (in-order) и внеочередным исполнениями команд. | |
− | + | #* Конфликты конвейера при введении внеочередного исполнения. | |
− | + | #* Табличный алгоритм (scoreboarding): стадии конвейера, буфер команд (instruction buffer), конфликты и их разрешение, производительность. | |
− | + | #* Алгоритм Томасуло (Tomasulo algorithm): стадии конвейера, буфер команд, станции резервирования, конфликты и их разрешение, производительность. | |
− | + | #* Внеочередная выбора с учётом прерываний: уточнение стадий конвейера, буфер переупорядочивания (reorder buffer, ROB), очередь чтения-записи (load-store queue, LSQ). | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | # | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* пересылка значений, | + | |
− | #* | + | |
− | # Общая организация памяти | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | # Кэш-память | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | # Виртуальная память | + | |
− | #* | + | |
− | #* | + | |
− | + | ||
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | # Прерывания | + | |
− | #* | + | |
− | #* прерывания, исключения | + | |
− | #* | + | |
− | + | ||
− | #* | + | |
− | # Ввод-вывод | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | # Внеочередное исполнение команд | + | |
− | #* | + | |
− | #* | + | |
− | #* | + | |
− | #* | + |
Текущая версия на 10:59, 9 февраля 2024
Обязательный курс для студентов группы 518/2.
Руководитель: Подымов В.В.
Актуальность информации: весенний семестр 2023/2024 учебного года.
Для доступа к материалам курса (слайдам лекций, тексту практических заданий, критериям оценки, ...) обратитесь к Подымову В.В..
Рабочая программа для устного опроса
Программа будет обновляться по мере чтения курса
- Однотактовый процессор и архитектура.
- Что такое процессор и что такое его архитектура.
- Архитектура системы команд (instruction set architecture) и микроархитектура (microarchitecture).
- Примеры архитектур систем команд, устройство команд MIPS.
- Основные элементы процессора: счётчик команд (program counter, PC), память команд (instruction memory, IM), блок регистров (регистровый файл, register file, RF), арифметико-логическое устройство (АЛУ, arithmetic logic unit, ALU), память данных (data memory, DM).
- Операционный и управляющий автоматы однотактового процессора.
- Конвейер (conveyor).
- "Классические" стадии выполнения команд (ступени конвейера): выборка (считывание) команды (instruction fetch, IF); декодирование команды (instruction decode, ID); считывание операндов (operand read, OR); выполнение (execution, EX); доступ к памяти (memory access, MEM); запись в регистр (writeback, WB).
- Латентность (latency) и производительность (throughput).
- Конфликты (hazards): структурные, по данным, по управлению.
- Способы разрешения конфликтов.
- Виды конфликтов по данным: чтение после записи (read-after-write, RAW), запись после чтения (WAR), запись после записи (WAW).
- Прямая подача результата (пересылка значений, продвижение данных, bypass).
- Спекулятивное исполнение команд (исполнение по предположению, speculation).
- Конвейер в операционном автомате процессора.
- Общая организация памяти.
- Современное устройство ячеек памяти.
- Современная организация доступа к ячейкам памяти.
- Область применения различных видов памяти.
- Характеристики производительности памяти: латентность, частота доступа, пропускная способность, время доступа, время передачи, время цикла.
- Кэш-память (cache).
- Пространственная и временная локальность доступа к памяти (temporal locality, spatial locality).
- Основные понятия: строка (block, line), тэг (tag), попадание (hit), промах (miss), конфликты (conflicts), вытеснение (замещение, eviction).
- Производительность кэша: частоты и задержки, связанные с попаданиями и промахами кэша.
- Виды кэша: прямого отображения (direct-mapped), полностью ассоциативный (associative, fully-associative), полуассоциативный (множественно-ассоциативный, set-associative).
- Классификация промахов кэша (three Cs).
- Политика вытеснения (eviction policy).
- Политика записи (write policy). Сквозная запись (writethrough) и отложенная запись (обратная запись, writeback).
- Иерархия кэш-памяти, эксклюзивный (exclusive) и инклюзивный (inclusive) кэш.
- Оптимизация доступа к кэш-памяти: конвейеризация, кэш вытеснения (victim cache), буфер записи (write buffer), предвыборка (prefetching), многопортовый (multiport) кэш, банки (banks) кэш-памяти, неблокирующий (nonblocking) кэш.
- Кэш-память в операционном автомате процессора с конвейером.
- Виртуальная память (virtual memory).
- Физическая (абсолютная) и логическая (виртуальная) адресация.
- Сегменты и страницы.
- Таблицы страниц (таблицы страничного преобразования, page tables), каскады таблиц.
- Буфер ассоциативной трансляции (translation lookaside buffer, TLB).
- Виртуальная и физическая кэш-память, проблема синонимичности (aliasing).
- Таблицы страниц и буфер ассоциативной трансляции в операционном автомате процессора.
- Прерывания (interrupts).
- Общее понятие прерывания, точное (precise) прерывание.
- Тонкости терминологии: прерывания, исключения (exceptions), ловушки (traps) и т.п.
- Классификация точных прерываний: синхронные и асинхронные (synchronous, asynchronous), вызываемые и вынужденные (user-requested, coerced), маскируемые и немаскируемые (maskable, nonmaskable) и т.п.
- Обработчик прерываний (interrupt handler).
- Регистр прерываний (cause register).
- Точка коммита (точка фиксации, commit point).
- Влияние прерываний на устройство других архитектурных элементов.
- Реализация прерываний в операционном автомате процессора.
- Ввод-вывод.
- Виды шин ввода-вывода.
- Ввод-вывод в системе команд и через память (memory-mapped).
- Управляющий регистр (control register) и регистр данных (data register) ввода-вывода.
- Механизмы ожидания готовности ввода-вывода: поллинг (polling), обмен по прерыванию.
- Внеочередное исполнение команд (out-of-order execution).
- Параллелизм на уровне команд (instruction-level parallelism, ILP) и сравнение производительности процессора с очередным (in-order) и внеочередным исполнениями команд.
- Конфликты конвейера при введении внеочередного исполнения.
- Табличный алгоритм (scoreboarding): стадии конвейера, буфер команд (instruction buffer), конфликты и их разрешение, производительность.
- Алгоритм Томасуло (Tomasulo algorithm): стадии конвейера, буфер команд, станции резервирования, конфликты и их разрешение, производительность.
- Внеочередная выбора с учётом прерываний: уточнение стадий конвейера, буфер переупорядочивания (reorder buffer, ROB), очередь чтения-записи (load-store queue, LSQ).