Вопросы по курсу «Архитектура компьютеров»

Вопросы соответствуют содержанию учебника Patterson, Hennessy, Computer Organization and Design: The Hardware/Software Interface, 5th Edition, 2013

  1. 8 основных идей при разработке компьютерных архитектур. Инфраструктура исполнения программ. Организация компьютера
  2. Полупроводниковые технологии изготовления процессоров и памяти
  3. Производительность. Физические ограничения мощности вычислительных систем. Переход к аппаратному параллелизму вычислений
  4. Измерение производительности Intel Core i7
  5. Представление операций и операндов в аппаратуре
  6. Беззнаковая и знаковая целочисленная арифметика
  7. Представление инструкций, логические операции и ветвления
  8. Поддержка вызова процедур в аппаратуре
  9. Работа со строками, порядок байт в слове (эндианность)
  10. Адресация MIPS для 32 бит непосредственных аргументов и адресов
  11. Поддержка параллелизма на уровне инструкций, синхронизация
  12. Трансляция и запуск программы на С, пример
  13. Массивы, ссылки, индексы и указатели
  14. Статическая/динамическая компиляция и интерпретация программ с точки зрения исполнения на процессоре
  15. Набор инструкций ARMv7 (32-bit)
  16. Набор инструкций x86
  17. Набор инструкций ARMv8 (64-bit)
  18. Реализация в аппаратуре сложения, вычитания и умножения
  19. Реализация в аппаратуре деления
  20. Реализация в аппаратуре и особенности использования вычислений с плавающей точкой
  21. Параллелизм в компьютерной арифметике, параллелизм слотов операндов
  22. Расширения SIMD и векторные инструкции в x86
  23. Использование SIMD для ускорения матричного умножения
  24. Обзор устройства процессора MIPS
  25. Принципы разработки синхронных логических схем. Строб (тактирование).
  26. Устройство операционного автомата (Datapath). Одностадийная реализация.
  27. Минимальная реализация процессора MIPS, добавление автомата управления
  28. Обзор конвейерной архитектуры процессора
  29. Конвейеризация операционного и управляющего автоматов
  30. Обработка зависимости инструкций по данным, обходы и пропуски тактов
  31. Обработка зависимости инструкций по управлению, предсказание переходов
  32. Аппаратная поддержка исключений
  33. Методы реализации параллелизма инструкций
  34. Конвейеры ARM Cortex-A8 и Intel Core i7
  35. Использование параллелизма инструкция для ускорения умножения матриц
  36. Методы разработки цифровых конвейерных процессоров с использованием языков описания аппаратуры (HDL)
  37. Технологии производства компьютерной памяти (запоминающих устройств)
  38. Основные принципы кэширования
  39. Измерение и улучшение производительности кэширования
  40. Повышение надежности памяти. Измерение надежности. Корректирующие коды.
  41. Аппаратная поддержка виртуальных машин
  42. Виртуальная память
  43. Общий подход к проектированию иерархической памяти
  44. Управление состоянием кэша при помощи конечного автомата
  45. Параллелизм и иерархическая память, когерентность кэшей
  46. RAID массивы запоминающих устройств
  47. Разработка кэш контроллеров
  48. Иерархия памяти ARM Cortex-A8 и Intel Core i7
  49. Использование предвыборки кэша для ускорения умножения матриц
  50. Сложности разработки параллельных программ
  51. Инструкции SISD, MIMD, SIMD, SPMD и векторные инструкции
  52. Аппаратная поддержка многопоточных вычислений
  53. Многоядерные и многопроцессорные системы с общей памятью
  54. Обзор архитектуры графических процессоров (GPU)
  55. Кластеры, дата-центры, суперкомпьютеры и другие многопроцессорные архитектуры на основе обмена сообщениями
  56. Обзор сетевых топологий многопроцессорных систем
  57. Обзор сетевых протоколов и оборудования для соединения узлов кластеров, дата-центров и суперкомпьютеров
  58. Измерение и моделирование производительности многопроцессорных систем
  59. Сравнение производительности Intel Core i7 и NVIDIA Tesla GPU 550
  60. Использование многопроцессорных систем для ускорения умножения матриц