- •Вопрос 1. Типы задач. Виды програмирования: последовательное, параллельное, для систем рв.
- •Вопрос 2. Виды ресурсов: аппаратные, программные, активные, пассивные, локальные, разделяемые, постоянные, временные, не критичные, критичные.
- •Вопрос 3. Типы архитектур осрв. Объектная архитектура на основе объектов-микроядер. Сравнение микроядер и модулей, драйверов, dll.
- •Вопрос 4. Типы архитектур осрв. Модульная архитектура (на основе микроядер).
- •Вопрос 5. Поддержка многозадачности и многопроцессорности специальными инструкциями.
- •Вопрос 6. Основные области применения осрв. Тенденции использования и перспективы развития осрв.
- •Вопрос 7. Приоритеты. Схемы назначения приоритетов. Инверсия приоритетов и методы борьбы с ней.
- •Вопрос 8. Алгоритмы замены данных в кэш памяти. Специальные кэШи.
- •Вопрос 9.Cisc и risc процессоры.
- •Вопрос 10. Процессоры arm. Общий обзор.
- •Вопрос 11. Повышение производительности процессоров за счет конвейеризации. Условия оптимального функционирования конвейера.
- •Вопрос 12. Особенности оборудования, на котором работают осрв. “Обычные” и промышленные компьютеры, встраиваемые системы.
- •Вопрос 13. Многопроцессорные архитектуры.
- •Вопрос 14. Повышение производительности процессов за счет введения кэш памяти. Кэши: единый, Гарвардский, с прямой записью, с обратной.
- •Вопрос 15.
- •Вопрос 16. Определения основных объектов ос. Механизмы взаимодействия процессов. Разделяемая память, семафоры, сигналы, почтовые ящики, события.
- •Вопрос 17. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса ComponentIntegrator.
- •Вопрос 19. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса WillowsRt.
- •Вопрос 20. “Классические” осрв. Обзор chorus.
- •Вопрос 21. Процессоры PowerPc. Общий обзор.
- •Вопрос 22. Процессоры Intel80x86. Общий обзор.
- •Вопрос 23. Суперконвейерные и суперскалярные процессоры. Выделение независимо работающих устройств: iu. Fpu. Mmu. Bu.
- •Вопрос 24. Определения основных объектов ос. Связывание. Статическое и динамическое связывание.
- •Вопрос 25. Определения основных объектов ос. Стек, виртуальная память, механизмы трансляции адреса.
- •Вопрос 26. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса RealTimeEtsKernel.
- •Вопрос 27. Аргументы “за” и ”против” использования WindowsNt в качестве осрв.
- •Вопрос 28. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса lprt-Technology.
- •Вопрос 29. Архитектура системной шины. Роль шины для осрв. Архитектура шины vme.
- •Вопрос 30. Адаптация Windows nt к требованиям “реального времени”. Обзор программного комплекса Hyperkernel.
- •Вопрос 31. Определения основных объектов ос. Задачи. Сравнение с процессами.
- •Вопрос 32. “Классические” осрв. Обзор qnx.
- •Вопрос 33. Стандарты на осрв. Стандарт posix 1003.1b. Стандартизация основных api, утилит, расширений “реального времени”. Стандартизация задач.
- •Вопрос 34. Классические и ооп к построению осрв.
- •Вопрос 35. Процессоры Motorola 68xxx. Общий обзор.
- •Вопрос 36. Общее строение рв. Роли отдельных компонент. Критерий выбора осрв.
- •Вопрос 37. “Классические” осрв. Обзор осрв LynxOs.
- •Вопрос 39. Состояния процесса и механизмы перехода из одного состояния в другое.
- •Вопрос 40. Типы взаимодействия процессов: сотрудничающие и конкурирующие процессы. Критические секции, взаимное исключение процессов.
- •Вопрос 41. Объектно-ориентированные осрв. Обзор осрв SoftKernel.
- •Вопрос 42. Стандарты на осрв. Их роль в развитии осрв. Нормы esse консорциума vita.
- •Вопрос 43. Типы архитектур осрв. Объектная архитектура на основе объектов-микроядер. Основные принципы построения.
- •Вопрос 44. Процессоры sparc. Общий обзор.
- •Вопрос 45. Определения основных объектов ос. Ресурсы, приоритеты. Параллельные процессы. Многозадачные ос.
- •Вопрос 47. Согласование кэШей в мультипроцессорных системах.
- •Вопрос 48. Влияние требований рв на выбор архитектуры процессора.
- •Вопрос 50. Типичные времена реакции на внешние события в управляемых осрв прцессах. Их влияние на программное и аппаратное устройство вычислительной системы.
- •Вопрос 51. Среды разработки для осрв, основные требования к ним.
- •Вопрос 52. Типы архитектур осрв. Монолитная архитектура.
- •Вопрос 54. Проблемы, возникающие при синхронизации задач и идеи их разрешения.
- •Вопрос 55. Основные черты risc архитектуры.
- •Вопрос 56. Определения основных объектов ос. Программа, процессор, процесс. Основные составляющие процесса, состояния процесса.
- •Вопрос 57. Системы на основе Linux. Направления адаптации Linux к требованиям “реального времени”. Обзор осрв rt-Linux.
- •Вопрос 58. Синхронизация и взаимодействие процессов. События. Примитивные операции.
- •Вопрос 59. Процессоры Intel 80960x. Общий обзор.
Вопрос 22. Процессоры Intel80x86. Общий обзор.
Процессоры Intel 80x86 доминируют на рынке персональных компьютеров. Первый представитель семейства - 18086, появился в 1979г. Это был 16-ти битный процессор.
Основные общие черты семейства 180x86:
• пространство ввода/вывода отделено от пространства памяти,
• сегментная организация памяти,
• малое число регистров,
• невзаимозаменяемость регистров (много инструкций, неявно использующих жестко закрепленные регистры).
i80386 (1987, 275000 транзисторов, 33MHz, 8 MIPS):
• 32-бит шина данных и 32-бит шина адреса
• 8 32-битных регистров общего назначения
• 3 режима адресации
• внешнее FPU 180387
• внешний контроллер (внешней) кэш памяти 182385
• поддержка многозадачности посредством регистра задачи и дескрипторов задач
180486 (1989, 1200000 транзисторов, частота шины 33MHz, 20 MIPS):
• частота процессора до 100 МГц
• единый 8Кб (16Кб) кэш инструкций и данных (с поддержкой блоковых передач (burstaccess))
• встроенное FPU (без конвейера)
• 5-ти стадийный конвейер, использующий таблицу регистров (registerScoreboard)
Pentium (1993, 3100000 транзисторов, частота шины 50/60/66MHz, 100 specint92, 80 specfp92, максимальная частота 66*3 = примерно 200 МГц):
• суперскалярная архитектура: 2 IU
• устройство предсказания переходов (BU)
• гибридная CISC/RISC архитектура
PentiumPro (1996, 5500000 транзисторов, шина 150+MHz, 366 specint92, 283 specfp92):
• суперскалярный процессор: до 5 инструкций за цикл
• 14-ти стадийные конвейеры (2 для IU и 1 для FPU)
• Гарвардская архитектура: 16Кб кэш инструкций и 8Кб кэш данных
• 256(512)Кб встроенный кэш второго уровня; расположен на отдельном кристалле, но в том же корпусе, связан с процессором 64-битной шиной, работающей на частоте процессора
• спекулятивное исполнение: выполнение инструкций за точкой ветвления
• переименование регистров (registerrenaming)
Pentium-II (1997, 7500000 транзисторов, шина 233+MHz):
• суперскалярный процессор: 2IU и 2FPU
• Гарвардская архитектура: 16Кб кэш инструкций и 16Кб кэш данных
• 512Кб встроенный кэш второго уровня; расположен на отдельном кристалле, связан с процессором 64-битной шиной, работающей на половине частоты процессора (для модификации Pentium-IIIXeon - на частоте процессора)
Pentium-III (1999, шина 450+MHz):
• PentiumII с дополнительными мультимедийными инструкциями
Р7 (Intel и HP, 2000):
• 64-бит архитектура
• RISC процессор с набором команд PA-RISC, способен выполнять инструкции 18086
Программная модель
Регистры: ax, bx, cx, dx, sp, bp, si, di, ip, flags.
Сегментные регистры: cs, ds, ss, fs, gs, es.
Сочетание в команде: регистр - регистр
• регистр - память
• память - регистр
• непосредственное значение - регистр
• непосредственное значение – память
Вопрос 23. Суперконвейерные и суперскалярные процессоры. Выделение независимо работающих устройств: iu. Fpu. Mmu. Bu.
Одним из способов дальнейшего повышения быстродействия является конвейеризация стадий конвейера. Такие процессоры называются суперконвейерными. При таком подходе каждая стадия конвейера, такая как кэш (см. ниже) или АЛУ (арифметическое и логическое устройство), может принимать новую инструкцию каждый цикл, даже если эта стадия не завершила исполнение текущей инструкции. Отметим, что добавление новых уровней конвейеризации имеет смысл только в случае, если разработчик может значительно увеличить частоту процессора. Однако, увеличение производительности за счет увеличения внутренней частоты процессора имеет ряд недостатков. Во-первых, это увеличивает потребление энергии процессором, что делает суперконвейерные процессоры малопригодными для встраиваемых систем. Во-вторых, это вводит новые трудности в сопряжении процессора с памятью нижнего уровня, такой как DRAM. Быстродействие этой памяти растет не так быстро, как скорость процессоров, поэтому чем быстрее процессор, тем больше разрыв в производительности между ним и основной памятью.
Другим способом увеличения производительности процессоров является выполнение более чем одной операции одновременно. Такие процессоры называются суперскалярными. Они имеют два или более конвейеров инструкций, работающих параллельно, что значительно увеличивает скорость обработки потока инструкций. Одним из достоинств суперскалярной архитектуры является возможность увеличения производительности без необходимости увеличения частоты процессора. Суперскалярному процессору требуется более широкий доступ к памяти, так, чтобы он мог брать сразу группу из нескольких инструкций для исполнения. Диспетчер анализирует эти группы и заполняет каждый из конвейеров так, чтобы снизить взаимозависимость данных и конфликты регистров. Выполнение инструкций может быть не по порядку поступления, так, чтобы команды перехода были проанализированы раньше, убирая задержки в случае осуществления перехода. Компилятор должен оптимизировать код для обеспечения заполнения всех конвейеров.
В процессоре выделяют исполняющие устройства, работающие независимо:
• Целочисленное устройство (IU, IntegerUnit) - выполняет целочисленные операции.
• Устройство для работы с плавающей точкой (FPU, FloatingPointUnit) - обычно отделено от целочисленного устройства, которое работает только с целыми числами и числами с фиксированной точкой.
• Устройство управления памятью (MMU, MemoryManagementUnit) - вычисляет реальный физический адрес по виртуальному адресу.
• Устройство предсказания переходов (BU, BranchUnit) - занимается предсказанием условных переходов, для того, чтобы избежать простоя конвейера в ожидании результата вычисления условия перехода.