- •17 Базовые типы операндов: данные логического типа, строки, адреса
- •18 Базовые типы операндов: числа, разрядность основных форматов, размещение в памяти
- •19, 20 Данные символьного типа: общие сведения, принципы кодирования, стандарты ascii и iso 8859, кодовые страницы, юникод.
- •21. Архитектура на основе общей магистрали. Характеристики системной магистрали.
- •22. Алгоритм функционирования системной магистрали. Взаимодействие устройств.
- •23. Иерархия магистралей: двух- и трехшинная архитектура.
- •24. Шинный арбитраж: предпосылки введения, схемы приоритетов.
- •25. Шинный арбитраж: алгоритмы динамического изменения приоритетов.
- •26. Централизованный параллельный и многоуровневый арбитраж шины.
- •27. Централизованный последовательный арбитраж.
- •28. Децентрализованный арбитраж шин.
- •29. Опросные схемы арбитража шин.
- •30. Протокол шины: понятие, виды протоколов. Транзакции синхронной шины.
- •31. Асинхронные протоколы шины: транзакции, тайм-ауты.
- •32. Пакетный режим пересылки информации. Конвейеризация транзакций.
- •33. Расщепление транзакций. Увеличение полосы пропускания шины.
- •Локализация данных;
- •Управление и синхронизация
- •Обмен информацией
- •Буферизация данных
- •Обнаружение ошибок
- •36. Структурная организация модуля ввода-вывода.
- •37. Алгоритм обмена информацией между центральным процессором и внешним устройством.
- •38 Способы организации ввода-вывода. Программно управляемый ввод-вывод.
- •39. Команды, используемые при программно управляемом вводе-выводе.
- •40. Механизм ввода-вывода по прерываниям
- •41. Методы идентификации устройств, запрашивающих прерывание.
- •42. Векторные прерывания: принципы реализации, виды.
- •43 Приоритеты прерываний. Отличие последовательной обработки прерываний от обработки вложенных прерываний.
- •44. Контроллер прямого доступа к памяти: состав и назначение компонентов, инициализация.
- •45. Алгоритм обмена на основе пдп. Буферизация данных.
- •Варианты реализации механизма пдп. Достоинства и недостатки.
- •Понятия канала ввода-вывода и процессора ввода-вывода.
- •Канальная программа. Управляющее слово канала.
- •Алгоритм функционирования канала ввода-вывода. Способы организации взаимодействия ву с каналом.
- •Режимы канала ввода-вывода.
- •Методы доступа к данным в памяти компьютера.
- •Параметры оценки быстродействия памяти.
- •Иерархическая архитектура памяти компьютера: предпосылки внедрения, принципы реализации и функционирования.
- •Локальность по обращению: виды, использование в архитектурных решениях.
- •Иерархия памяти компьютера: характеристики, описание уровней.
- •Основная память компьютера: назначение, типы запоминающих устройств, способы организации.
- •57 Адресная организация памяти
- •58. Блочная организация памяти: назначение, виды, факторы эффективности применения
- •59. Расслоение памяти и чередование адресов: назначение, принцип реализации
- •60. Ассоциативная память: логическая организация, функционирование
- •63 Логическая и функциональная организация кэш-памяти прямого отображения.
- •64 Логическая и функциональная организация полностью ассоциативной кэш-памяти.
- •65 Логическая и функциональная организация множественно-ассоциативной кэш-памяти.
- •66 Алгоритмы замещения информационных блоков в кэш-памяти: назначение, виды, реализация.
- •67 Согласование содержимого кэш-памяти и оп. Стратегии записи в кэш-памяти.
- •68 Многоуровневая кэш-память. Принстонская и гарвардская архитектуры кэш-памяти.
- •69 Виртуализация памяти компьютеров: предпосылки внедрения, принцип реализации, виды виртуальной памяти.
- •70 Концепция страничной организации памяти. Взаимодействие виртуальной памяти с кэш-памятью.
- •71 Варианты реализации страничной таблицы. Tlb.
- •72 Ограничения страничной организации памяти. Сегментация памяти.
- •73 Проблемы динамического распределения памяти при сегментации. Сегментно-страничная организация памяти.
- •74 Метод колец защиты памяти.
- •75 Метод граничных регистров памяти.
- •76 Защита памяти по ключам.
- •Концепция raid: принципы построения массивов дисковой памяти, назначение, способы реализации.
- •78. Дисковые массивы raid уровней 0, 1, 10: назначение, принципы реализации, свойства.
- •79. Дисковые массивы raid уровней 5, 6: назначение, принципы реализации, свойства.
- •81. Прерывания: фаза прерывания, поток данных, классы прерываний.
- •82. Арифметический конвейер: назначение, принципы реализации. Понятие суперковейера.
- •83. Конвейерная обработка данных: предпосылки внедрения, принципы реализации, способы синхронизации ступеней.
- •1. Синхронный конвейер
- •2. Асинхронный конвейер
- •84. Синхронный конвейер: реализация 6-ступенчатого конвейера, метрики эффективности, оценка выигрыша от внедрения.
- •Ускорение
- •2. Эффективность
- •3 . Пропускная способность (производительность)
- •85. Виды рисков синхронного конвейера.
- •86. Методы снижения приостановок конвейера.
- •88. Risc-архитектура: средства оптимизации использования регистров.
- •89. Параллелизм уровня команд. Концепция vliw-архитектуры.
- •90. Суперскалярные компьютеры: принципы построения, структура процессора.
- •1) Преобразовать выражение в постфиксную форму;
- •2) Показать последовательность стековых операций при использовании полиз.
86. Методы снижения приостановок конвейера.
CPI – среднее количество тактов на выполнение команды (clock per instruction)
CPI конв. = CPI ид.конв. + Cс + Cд + Cу ,
где Cс, Cд, Cу – приостановки конвейера из-за структурных конфликтов, конфликтов по данным и конфликтов по управлению, соответственно.
Методы минимизации приостановок работы конвейера нацелены на достижение идеального CPI = 1.
CPI идеального конвейера есть не что иное, как максимальная пропускная способность, достижимая при реализации. Уменьшая каждое из слагаемых в правой части выражения, мы минимизируем общий CPI конвейера и таким образом увеличиваем пропускную способность команд.
Метод |
Снижает |
Разворачивание циклов |
Приостановки по управлению |
Базовое планирование конвейера |
Приостановки RAW |
Динамической планирование с централизованной схемой управления |
Приостановки RAW |
Динамическое планирование с переименованием регистров |
Приостановки WAR и WAW |
Динамическое прогнозирование переходов |
Приостановки по управлению |
Выдача нескольких команд в одном такте |
Идеальный CPI |
Анализ зависимостей компилятором |
Идеальный CPI и приостановки по данным |
Программная конвейеризация и планирование трасс |
Идеальный CPI и приостановки по данным |
Выполнение по предположению |
Все приостановки по данным и управлению |
Динамическое устранение неоднозначности памяти |
Приостановки RAW, связанные с памятью |
. SC-архитектура: предпосылки создания, принципы реализации.
Как показали исследования Дэвида Паттерсона и Джона Хенесси, проводимые для языков программирования C and Paskal в типичной программе:
Большинство ссылок – скалярные переменные, в большинстве своем локальные.
Наибольшие затраты времени – вызовы подпрограмм (и возврат из них) и условные переходы.
Выводы по результатам исследований
Эффективный путь повышения производительности:
основа – конвейер команд:
проектирование нового конвейера (традиционный неэффективен);
использование компиляторов, оптимизирующих работу конвейера;
минимизация обращений к переменным в ОП и более интенсивное использование регистровых переменных;
использование сокращенного набора относительно простых команд (упрощение УУ).
Вывод: более эффективная поддержка ЯПВУ возможна за счет упрощения архитектуры компьютера.
RISC – компьютер с сокращенным набором команд (Reduced Instruction Set Computer) – Паттерсон и Дитцель, 1980 г.
Концепция RISC-компьютера
выполнение всех (или, по крайней мере, 75% команд) за один машинный цикл;
устройство управления с «жесткой» логикой;
стандартная однословная длина всех команд:
равна естественной длине слова и ширине шины данных;
допускает унифицированную поточную обработку всех команд;
малое число команд (не более 128);
малое количество форматов команд (не более 4);
малое число способов адресации (не более 4; отсутствие косвенной адресации памяти);
доступ к памяти только посредством команд «Чтение» и «Запись»;
все команды, за исключением «Чтения» и «Записи», используют внутрипроцессорные межрегистровые пересылки;
относительно большой (не менее 32) процессорный файл РОНов (в современных микропроцессорах превышает 500).