Архитектура микропроцессоров И ее эволюция
Процессор и память: Команды и данные
Пути усовершенствования быстродействия Улучшение доступа к памяти Улучшение доступа к памяти Увеличение производительности процессора Увеличение производительности процессора
Процессор и память: Команды и данные Регистры КЭШ 1го уровня КЭШ 2го уровня Оперативная память Локальность данных Быстрая память ближе к процессору Прозрачность КЭШей Предвыборка данных
Виртуальная память Виртуальный адрес Реальный адрес Таблица страниц в ОЗУ Процессор
Виртуальная память Виртуальный адрес Реальный адрес Таблица страниц в ОЗУ Процессор TLB
Пути усовершенствования быстродействия Улучшение доступа к памяти Улучшение доступа к памяти Увеличение производительности процессора Увеличение производительности процессора
Пути усовершенствования быстродействия Улучшение доступа к памяти Улучшение доступа к памяти Увеличение производительности процессора Увеличение производительности процессора Дополнительные устройства Дополнительные устройства Конвейеризация Конвейеризация Упрощение команд Упрощение команд Параллелизм Параллелизм
Сопроцессор FPU
Пути усовершенствования быстродействия Улучшение доступа к памяти Улучшение доступа к памяти Увеличение производительности процессора Увеличение производительности процессора Дополнительные устройства Дополнительные устройства Конвейеризация Конвейеризация Упрощение команд Упрощение команд Параллелизм Параллелизм
Конвейер команд Ступени Выборка команды Декодирование команды Выборка операндов Вычисление операции Запись результата Время 1я команда 2я команда я команда
Конвейер команд Ступени Выборка команды Декодирование команды Выборка операндов Вычисление операции Запись результата Время Латентность конвейера 1я команда 2я команда 3я команда Все ступени конвейера активны
Конвейер: Условные ветвления Конвейер ? Проблема: Условные переходы
Конвейер: Условные ветвления Конвейер ?* Проблема: Условные переходы Решения: Спекулятивное исполнение с предсказанием переходов Использование условных команд Использование предикатных регистров
Конвейер: Условные ветвления Конвейер Проблема: Условные переходы Решения: Спекулятивное исполнение с предсказанием переходов Использование условных команд Использование предикатных регистров movge
Конвейер: Условные ветвления Конвейер Проблема: Условные переходы Решения: Спекулятивное исполнение с предсказанием переходов Использование условных команд Использование предикатных регистров
Пути усовершенствования быстродействия Улучшение доступа к памяти Улучшение доступа к памяти Увеличение производительности процессора Увеличение производительности процессора Дополнительные устройства Дополнительные устройства Конвейеризация Конвейеризация Упрощение команд Упрощение команд Параллелизм Параллелизм
RISC архитектура ПамятьВычисления ПамятьВычисления Запись/загрузкаКоманды регистр-регистр
CISC Большое количество команд Много типов данных Различная длина инструкций Небольшое количество регистров Ориентация на процессор Уменьшенное количество команд Только основные типы Фиксированная длина инструкций Большой регистровый файл Более глубокое использование компилятора RISC
Регистровый файл в RISC Виртуальные регистры Перекрытие окон Сохранение в RAM
Пути усовершенствования быстродействия Улучшение доступа к памяти Улучшение доступа к памяти Увеличение производительности процессора Увеличение производительности процессора Дополнительные устройства Дополнительные устройства Конвейеризация Конвейеризация Упрощение команд Упрощение команд Параллелизм Параллелизм
Параллелизм на уровне инструкций (ILP) INT FP MEM BR Окно команд
Параллелизм на уровне инструкций (ILP) Время
Параллелизм на уровне нитей (TLP) INT FP MEM BR Окно команд Нить 1 Нить 2
Параллелизм на уровне нитей (TLP) Время Нить 1 Нить 2
Многоядерность (Multi-Core) Окно команд Процесс 1 Процесс 2
POWER Традиционные RISC-черты Фиксированная длина команд Архитектура регистр-регистр Простые способы адресации Простые команды Большой регистровый файл Другие особенности POWER Три исполнительных устройства с независимыми наборами регистров Небольшое расширение набора команд (сохранение нескольких регистров и т.п.) Условные переходы: 8 условных регистров, локальных для устройства переходов и специальный бит в коде операции
Core 2 Duo
Особенности Core 2 Duo Intel Wide Dynamic Execution (14 стадий конвейера, до 4х инструкций за такт в каждом ядре) Intel Smart Memory Access (Оптимизация доступа к памяти, в т.ч. Memory Disambiguation) Intel Advanced Smart Cache (Общий КЭШ 2го уровня, динамически распределяемый между ядрами) Intel Advanced Digital Media Boost (128-битный SSE, расширенный набор команд) Intel Intelligent Power Capability Сниженное энергопотребление Micro-ops fusion и macrofusion
Архитектура CELL
Особенности архитектуры CELL Ориентированность на SIMD-архитектуру Внутренняя широкополосная шина Управляющий процессорный элемент (PPE) 64 битное ядро архитектуры POWER In-order исполнение инструкций Два вычислительных потока Использование синергетических процессорных элементов (SPE) для вычислений Локальная память 256 Кб Прямой доступ к памяти (DMA) Использование многопроцессорных CELL-систем