Шпаргалка: Командный цикл процессора
- относительно большой (не менее 32) процессорный файл РОНов (в современных микропроцессорах превышает 500).
Что являлось направлением исследований, приведших к созданию RISC-архитектуры?
Согласно проведенным Дэвидом Паттерсоном и Джоном Хеннеси исследованиям (исследовались языки С, Pascal:
- операции – функции выполняемые ЦП взаимодействие ЦП з ОП
- операнды - операнды, частота использования, служить для выбора необходимого множества режимов адресации
- последовательность выполнения – определяет структуру управлении процессором и конвейером.
1. Большинство ссылок – скалярные переменные (в основном – локальные).
2. Больше всего времени занимают вызов подпрограмм (и возврат из них) и условные переходы.
Оцениваемые параметры:
-среднее количество машинных команд и обращений к памяти при реализации операторов разных типов;
- динамичная частота появления разных классов(типов) переменных.
Какие выводы из научных исследований привели к появлению RISC?
Эффективный путь повышения производительности:
- основа – конвейер команд:
проектирование конвейера (традиционный неэффективен)
использования компиляторов оптимизующих работу конвейера.
- более интенсивно использовать регистры (минимальное обращение к переменным в ОП)
- сократить набор относительно простых команд.
5. Что является технической основой реализации RISC?
Технической основой реализации RISC является процессор у которого большое количество внутренних регистров и обмены происходит «регистр – регистр».
Регистры процессора, их оптимизация:
1. Программный метод: Реализуется компилятором с ЯПВУ. Регистры процессора распределяются для переменных, наиболее интенсивно используемых в заданном временном интервале.
- Каждой переменной выделяется виртуальный регистр (их число m не ограничено).
- Виртуальные регистры отображаются на ограниченное количество (n) физических регистров:
неперекрывающиеся виртуальные регистры отображаются на один и тот же физический регистр;
при нехватке физических регистров их роль для оставшихся виртуальных регистров выполняют ячейки памяти.
Задача: определить, каким переменным в данной точке программы выгоднее всего выделить физические регистры.
Метод решения: распространенный – раскраска графа:
Элементы графа: узел – виртуальный регистр; кол-во узлов – m; цвет узла – физический регистр; кол-во цветов – n; ребро – соединяет два виртуальных регистра, одновременно используемых в одном и том же фрагменте программы.