
- •Базовые функции компьютера общего назначения. Взаимодействие компьютера с информационной средой.
- •«Узость» понятия «Архитектура компьютера». Структурная организация компьютера.
- •Уровни организации компьютера.
- •Концепция фон Неймана.
- •Машина фон Неймана: принцип разработки, базовые компоненты.
- •Цикл выполнения команды: состояния; детализированный граф переходов.
- •Архитектура системы команд: основные понятия, свойства, общая характеристика.
- •Команды компьютера общего назначения: основные группы.
- •Команды компьютера общего назначения: компоненты, формат, операционная часть.
- •Символическое представление команды. Критерии выбора формата команд.
- •Адресная часть команды компьютера общего назначения. Варианты реализации.
- •Режимы адресации: непосредственный, прямой, регистровый.
- •Адресация со смещением: общие принципы, относительная адресация, адресация через регистр базы.
- •Стековая адресация: принципы реализации, виды стека, управление стеком, стек-ориентированные операции.
- •Выполнение арифметических операций в компьютере со стековой архитектурой. Полиз.
- •Адресация с индексированием: общие принципы, разновидности.
- •Базовые типы операндов: данные логического типа, строки, адреса.
- •Базовые типы операндов: числа, разрядность основных форматов, размещение в памяти.
- •Данные символьного типа: юникод.
- •Данные символьного типа: общие сведения, принципы кодирования, стандарты ascii и iso 8859, кодовые страницы.
- •Архитектура на основе общей магистрали. Характеристики системной магистрали.
- •Алгоритм функционирования системной магистрали. Взаимодействие устройств.
- •Иерархия магистралей: двух- и трехшинная архитектура.
- •Шинный арбитраж: предпосылки введения, схемы приоритетов.
- •Шинный арбитраж: алгоритмы динамического изменения приоритетов.
- •Централизованный параллельный и многоуровневый арбитраж шины.
- •Централизованный последовательный арбитраж.
- •Децентрализованный арбитраж шин.
- •Опросные схемы арбитража шин.
- •Протокол шины: понятие, виды протоколов. Транзакции синхронной шины.
- •Асинхронные протоколы шины: транзакции, тайм-ауты.
- •Пакетный режим пересылки информации. Конвейеризация транзакций.
- •Расщепление транзакций. Увеличение полосы пропускания шины.
- •Система ввода-вывода: назначение элементов, организация адресного пространства.
- •Детализированные функции модуля ввода-вывода.
- •Структурная организация модуля ввода-вывода.
- •Алгоритм обмена информацией между центральным процессором и внешним устройством.
- •Способы организации ввода-вывода. Программно управляемый ввод-вывод.
- •Команды, используемые при программно управляемом вводе-выводе.
- •Ввод-вывод по прерываниям: принципы, механизм.
- •Методы идентификации устройств, запрашивающих прерывание.
- •Векторные прерывания: принципы реализации, виды.
- •Приоритеты прерываний. Отличие последовательной обработки прерываний от обработки вложенных прерываний.
- •Контроллер прямого доступа к памяти (кпдп): состав и назначение компонентов, инициализация.
- •Алгоритм обмена на основе пдп. Буферизация данных.
- •Варианты реализации механизма пдп. Достоинства и недостатки.
- •Понятия канала ввода-вывода и процессора ввода-вывода.
- •Канальная программа. Управляющее слово канала.
- •Алгоритм функционирования канала ввода-вывода. Способы организации взаимодействия ву с каналом.
- •Режимы канала ввода-вывода.
- •Методы доступа к данным в памяти компьютера.
- •Параметры оценки быстродействия памяти.
- •Иерархическая архитектура памяти компьютера: предпосылки внедрения, принципы реализации и функционирования.
- •Локальность по обращению: виды, использование в архитектурных решениях.
- •Иерархия памяти компьютера: характеристики, описание уровней.
- •Основная память компьютера: назначение, типы запоминающих устройств, способы организации
- •Адресная организация памяти компьютера.
- •Блочная организация памяти: назначение, виды, факторы эффективности применения.
- •Расслоение памяти и чередование адресов: назначение, принцип реализации.
- •Ассоциативная память: логическая организация, функционирование.
- •Логическая и функциональная организация кэш-памяти прямого отображения.
- •Логическая и функциональная организация полностью ассоциативной кэш-памяти.
- •Логическая и функциональная организация множественно-ассоциативной кэш-памяти.
- •Алгоритмы замещения информационных блоков в кэш-памяти: назначение, виды, реализация.
- •Согласование содержимого кэш-памяти и оп. Стратегии записи в кэш-памяти.
- •Многоуровневая кэш-память. Принстонская и гарвардская архитектуры кэш-памяти.
- •Виртуализация памяти компьютеров: предпосылки внедрения, принцип реализации, виды виртуальной памяти.
- •Концепция страничной организации памяти. Взаимодействие виртуальной памяти с кэш-памятью.
- •Ограничения страничной организации памяти. Сегментация памяти.
- •Проблемы динамического распределения памяти при сегментации. Сегментно-страничная организация памяти.
- •Метод колец защиты памяти.
- •Метод граничных регистров памяти.
- •Защита памяти по ключам.
- •Концепция raid: принципы построения массивов дисковой памяти, назначение, способы реализации.
- •Дисковые массивы raid уровней 0, 1, 10: назначение, принципы реализации, свойства.
- •Дисковые массивы raid уровней 5, 6: назначение, принципы реализации, свойства.
- •Многопортовые озу и озу типа fifo.
- •Прерывания: фаза прерывания, поток данных, классы прерываний.
- •Арифметический конвейер: назначение, принципы реализации. Понятие суперконвейера.
- •Конвейерная обработка данных: предпосылки внедрения, принципы реализации, способы синхронизации ступеней.
- •Синхронный конвейер: реализация 6-ступенчатого конвейера, метрики эффективности, оценка выигрыша от внедрения.
- •Виды рисков синхронного конвейера.
- •Методы снижения приостановок конвейера.
- •Risc-архитектура: предпосылки создания, принципы реализации.
- •Risc-архитектура: средства оптимизации использования регистров.
- •Параллелизм уровня команд. Концепция vliw-архитектуры.
- •Суперскалярные компьютеры: принципы построения, структура процессора.
Risc-архитектура: средства оптимизации использования регистров.
1. Программный метод: Реализуется компилятором с ЯПВУ. Регистры процессора распределяются для переменных, наиболее интенсивно используемых в заданном временном интервале.
- Каждой переменной выделяется виртуальный регистр (их число m не ограничено).
- Виртуальные регистры отображаются на ограниченное количество (n) физических регистров:
= неперекрывающиеся виртуальные регистры отображаются на один и тот же физический регистр;
= при нехватке физических регистров их роль для оставшихся виртуальных регистров выполняют ячейки памяти.
Задача: определить, каким переменным в данной точке программы выгоднее всего выделить физические регистры.
Метод решения: распространенный – раскраска графа:
Элементы графа: узел – виртуальный регистр; кол-во узлов – m; цвет узла – физический регистр; кол-во цветов – n; ребро – соединяет два виртуальных регистра, одновременно используемых в одном и том же фрагменте программы.
Требования: соседние узлы должны иметь разный цвет; общее количество цветов должно быть минимальным; неокрашенным узлам вместо физических регистров выделяются ячейки в памяти.
2. Аппаратный метод: Реализуется посредством регистровых окон. Упрощение и ускорение передачи параметров между вызывающей и вызываемой процедурами.
Весь набор регистров процессора делится на множество небольших групп – регистровых окон (register window). В процессе выполнения программы:
- каждое окно связывается с определенной подпрограммой;
- в любой момент процессору доступны регистры только одного окна;
- при вызове очередной подпрограммы процессор автоматически переключается на использование регистрового окна, связанного с ней;
- окна вызывающей и вызываемой подпрограмм частично перекрываются, благодаря чему:
= возможна автоматическая передача параметров;
= не требуются операции пересылки данных.
Обычно выделяют в регистровом окне: локальные регистры, регистры параметров (параметры вызова данной подпрограммы и сохранение результата), временные регистры(параметры вызова подпрограмм). Организация: циклический буфер. CWP – указатель текущего окна (current window pointer): определяет окно текущей активной подпрограммы. SWP – указатель сохраненного окна (saved window pointer): информация об окне, данные из которого были сохранены в памяти по причине переполнения циклического буфера.
Параллелизм уровня команд. Концепция vliw-архитектуры.
Параллельные команды – могут выполняться в конвейере одновременно, без приостановок, полагаясь на отсутствие структурных конфликтов. Взаимозависимые команды не являются параллельными. Виды параллелизма:
- программный параллелизм:
Условие существования: команды в последовательности независимы и могут выполняться параллельно. Степень параллелизма: зависит от частоты появления в программе фрагментов, содержащих взаимозависимые команды. Факторы ILP:
- архитектура набора команд;
- специфика приложения;
- операционная латентность – время, до истечения которого результат операции недоступен для использования в качестве операнда в последующих командах.
- аппаратный параллелизм:
Условие существования: способность процессора извлечь преимущества из параллелизма уровня команд. Степень параллелизма определяется:
- количеством команд, которые процессор может извлечь и выполнить одновременно (количеством параллельных конвейеров);
- быстродействием и функциональностью механизма выявления независимых команд.
Механизмы выявления: упорядочивание команд в программе при их запуске; политики запуска.
VLIW-архитектура:
VLIW-компьютеры (Very Long Instruction Word, архитектура с очень длинным командным словом):
- выдача на выполнение фиксированного количества команд, сформатированных как:
= одна «длинная» команда;
= пакет команд фиксированного формата;
- планирование исключительно компилятором.
Планирование вычислений полностью реализуется программным обеспечением. Функции «интеллектуального» компилятора:
- поиск в программе независимых инструкций;
- группирование найденных инструкций в «очень длинные» командные слова («метаинструкции» длиной 256-1024 бит).
Формат инструкции:
- длина – 256 бит;
- 8 операционных полей, каждое из которых:
= выполняет традиционную трехоперандную RISC-подобную инструкцию;
= непосредственно управляет специфическим функциональным блоком при простом декодировании;
= имеет небольшую длину.
Проблемы VLIW-архитектуры:
- зависимость компилятора от микроархитектуры. Решение – генерация промежуточного кода и его трансляция в машинно-зависимый формат на каждом конкретном устройству;
- реакция программ на непредусмотренные в процессе компиляции динамические ситуации неизвестна.