Вопросы по курсу «Архитектура компьютеров»
Вопросы соответствуют содержанию учебника Patterson, Hennessy, Computer Organization and Design: The Hardware/Software Interface, 5th Edition, 2013
- 8 основных идей при разработке компьютерных архитектур. Инфраструктура исполнения программ. Организация компьютера
- Полупроводниковые технологии изготовления процессоров и памяти
- Производительность. Физические ограничения мощности вычислительных систем. Переход к аппаратному параллелизму вычислений
- Измерение производительности Intel Core i7
- Представление операций и операндов в аппаратуре
- Беззнаковая и знаковая целочисленная арифметика
- Представление инструкций, логические операции и ветвления
- Поддержка вызова процедур в аппаратуре
- Работа со строками, порядок байт в слове (эндианность)
- Адресация MIPS для 32 бит непосредственных аргументов и адресов
- Поддержка параллелизма на уровне инструкций, синхронизация
- Трансляция и запуск программы на С, пример
- Массивы, ссылки, индексы и указатели
- Статическая/динамическая компиляция и интерпретация программ с точки зрения исполнения на процессоре
- Набор инструкций ARMv7 (32-bit)
- Набор инструкций x86
- Набор инструкций ARMv8 (64-bit)
- Реализация в аппаратуре сложения, вычитания и умножения
- Реализация в аппаратуре деления
- Реализация в аппаратуре и особенности использования вычислений с плавающей точкой
- Параллелизм в компьютерной арифметике, параллелизм слотов операндов
- Расширения SIMD и векторные инструкции в x86
- Использование SIMD для ускорения матричного умножения
- Обзор устройства процессора MIPS
- Принципы разработки синхронных логических схем. Строб (тактирование).
- Устройство операционного автомата (Datapath). Одностадийная реализация.
- Минимальная реализация процессора MIPS, добавление автомата управления
- Обзор конвейерной архитектуры процессора
- Конвейеризация операционного и управляющего автоматов
- Обработка зависимости инструкций по данным, обходы и пропуски тактов
- Обработка зависимости инструкций по управлению, предсказание переходов
- Аппаратная поддержка исключений
- Методы реализации параллелизма инструкций
- Конвейеры ARM Cortex-A8 и Intel Core i7
- Использование параллелизма инструкция для ускорения умножения матриц
- Методы разработки цифровых конвейерных процессоров с использованием языков описания аппаратуры (HDL)
- Технологии производства компьютерной памяти (запоминающих устройств)
- Основные принципы кэширования
- Измерение и улучшение производительности кэширования
- Повышение надежности памяти. Измерение надежности. Корректирующие коды.
- Аппаратная поддержка виртуальных машин
- Виртуальная память
- Общий подход к проектированию иерархической памяти
- Управление состоянием кэша при помощи конечного автомата
- Параллелизм и иерархическая память, когерентность кэшей
- RAID массивы запоминающих устройств
- Разработка кэш контроллеров
- Иерархия памяти ARM Cortex-A8 и Intel Core i7
- Использование предвыборки кэша для ускорения умножения матриц
- Сложности разработки параллельных программ
- Инструкции SISD, MIMD, SIMD, SPMD и векторные инструкции
- Аппаратная поддержка многопоточных вычислений
- Многоядерные и многопроцессорные системы с общей памятью
- Обзор архитектуры графических процессоров (GPU)
- Кластеры, дата-центры, суперкомпьютеры и другие многопроцессорные архитектуры на основе обмена сообщениями
- Обзор сетевых топологий многопроцессорных систем
- Обзор сетевых протоколов и оборудования для соединения узлов кластеров, дата-центров и суперкомпьютеров
- Измерение и моделирование производительности многопроцессорных систем
- Сравнение производительности Intel Core i7 и NVIDIA Tesla GPU 550
- Использование многопроцессорных систем для ускорения умножения матриц