Архитектура ЭВМИУ71 X. Процессорные устройства Классификация процессорных устройств. Обобщенная структура универсального процессорного устройства. Архитектура.

Презентация:



Advertisements
Похожие презентации
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Advertisements

Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
Организация памяти. Иерархии памяти Идея иерархической (многоуровневой) организации памяти заключается в использовании на одном компьютере нескольких.
Лекция 6. Способы адресации в микропроцессорных системах.
Архитектура P6. Начало разработки: 1990 год Цель: Достигнуть производительности большей, чем процессоры архитектуры P5 и процессоры конкурентов. Процессоры.
Тема 1. Общие вопросы организации микропроцессорных систем.
Общая структура и состав персонального компьютера.
Процессор – это блок, предназначенный для автоматического считывания команд программы, их расшифровки и выполнения.
Тема 2. Способы адресации и система команд МП. Непосредственная адресация Суть способа. Требуемые данные (#data ̶ непосредственный операнд, константа)
Конвейерные вычисления. Что такое конвейеризация? Конвейеризация – это техника, в результате которой задача или команда разбивается на некоторое число.
Архитетура компьютерных систем. Архитектура системы команд как интерфейс между программным и аппаратным обеспечением Архитектура системы команд.
Архитектура современных персональных компьютеров Подготовил студент группы 11ИнфБ122 Зайцев Д.
АРХИТЕКТУРА КОМПЬЮТЕРА При рассмотрении компьютерных устройств принято различать их архитектуру и структуру. Архитектурой компьютера называется его описание.
Организация ЭВМ и систем Кафедра Параллельных вычислений (ИВМиМГ) Маркова Валентина Петровна, Киреев Сергей Евгеньевич,
Основные определения Электронная система любой электронный узел, блок, прибор или комплекс, производящий обработку информации. Задача это набор функций,
Кэш - память. Кэш-память это высокоскоростная память произвольного доступа, используемая процессором компьютера для временного хранения информации.
Транксрипт:

Архитектура ЭВМИУ71 X. Процессорные устройства Классификация процессорных устройств. Обобщенная структура универсального процессорного устройства. Архитектура конвейерного супер скалярного процессора P6. Устройства управления. Арифметико-логические устройства.

Архитектура ЭВМИУ72 Литература 1. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов. – СПб.: Питер, – 668 с.: ил. 2. Шагурин И.И., Бердышев Е.М. Процессоры семейства Intel P6. Архитектура, программирование, интерфейс. – М.: Горячая линия – Телеком, 200. – 248 с., ил. 3. Бессонов О. Обзор микро архитектур современных десктопных процессоров. 4.IA-32 Intel® Architecture Software Developer's Manual 5. Касперски К. Техника оптимизации программ. Эффективное использование памяти. – СПб.: БХВ-Петербург, – 464 с.

Архитектура ЭВМИУ73 Процессором (процессорным ядром) называется устройство ЭВМ, непосредственно осуществляющее процесс переработки информации и управление им в соответствии с заданным алгоритмом, который, как правило, представлен программой. ЭВМ может содержать несколько процессоров. Процессор, управляющий вычислительным процессом, называется центральным. Микропроцессором называется функционально законченное устройство, представляющее собой вариант процессора (или нескольких процессорных ядер) современной ЭВМ и реализованное в виде одной или нескольких СБИС. Микропроцессорный комплект представляет собой совокупность микропроцессора и специализированных ИС, совместимых по временным, электрическим и конструктивным параметрам, совместное использование которых позволяет реализовать основные функции ЭВМ.

Архитектура ЭВМИУ74 Классификация процессорных устройств

Архитектура ЭВМИУ75 Обобщенная структура универсального процессорного устройства Архитектурные особенности: -Конвейерное исполнение команд. -Внутренняя КЭШ-память. -Целочисленное АЛУ. -Устройство выполнения операций над числами с плавающей запятой. -Обработка прерываний от ПУ. -Поддержка мультипроцессорной обработки.

Архитектура ЭВМИУ76 Сравнение способов организации параллельных вычислений

Архитектура ЭВМИУ77 Конфликты в конвейере (риски) 1. Структурный риск 2. Риск по данным Команды одновременно обращаются к одному и тому же ресурсу (например, к ОП). Команды имеют зависимость по данным. O(i) – множество ячеек, изменяемых командой i; I(j) – множество ячеек, читаемых командой j. А) Чтение после записи (ЧПЗ).Б) Запись после чтения (ЗПЧ). O(i) I(j) I(i) O(j)

Архитектура ЭВМИУ78 3. Риск по управлению. В) Запись после записи (ЗПЗ). O(i) O(j) Из-за наличия команд перехода (10-20% потока команд) возможна неоднозначность при выборе очередной инструкции. Потери в лучшем случае: сброс всех поступивших команд за время декодирования команды ветвления. Потери в худшем случае: сброс всех поступивших команд за время декодирования, выборки операндов и исполнения команды ветвления.

Архитектура ЭВМИУ79 Временные потери при обработке команд переходов

Архитектура ЭВМИУ710 Способы устранения конфликтов по данным, находящихся в регистрах Пример 1: Правило: Каждый новый результат записывается в новый регистр замещения. Конфликт типа ЧПЗ по данных, находящимся в регистрах, может быть устранен с помощью бита достоверности

Архитектура ЭВМИУ711 Пример 2: Правило: При обнаружении конфликтов по данным, находящимся в ОП, запросы на запись результатов в память выполняется упорядочено. Способы устранения конфликтов по данным, находящихся в памяти

Архитектура ЭВМИУ712 Способы устранения конфликтов по управлению -Дублирование ступеней конвейера для обработки обеих ветвей -Оптимизация кода на этапе компиляции с целью увеличения полезной нагрузки на дублированные ступени конвейера. -Предсказание переходов. Способы предсказания переходов Точность предсказания: отношение числа правильно предсказанных переходов к их общему количеству. Эффективность алгоритмов предсказания зависит от использования статистических данных, накопленных: -заранее при компиляции и тестовых прогонах (статическое предсказание переходов); -полученных в процессе исполнения программы (динамическое предсказание переходов). -На основе статического и динамического подходов.

Архитектура ЭВМИУ713 Стратегии статического предсказания переходов -Переход происходит всегда (60-70%). -Переход не происходит никогда (50%). -Переход выполняется по результатам профилирования (75%). -Переход определяется по коду операции (75%). -Переход выполняется исходя из направления (85%). -При первом выполнении переход имеет место всегда (90%). Стратегии динамического предсказания переходов -Одноуровневое предсказание: использует Шаблонную Таблицы Истории (Pettern History Table). Выборка информации может происходить: по адресу команды перехода; по истории всех команд перехода; по истории исполнения только предсказываемой команды перехода. Алгоритм предсказания зависит от размера строк PHT. При хранении одного бита переход предсказывается в соответствии с предыдущим итогом выполнения команды (точность ~78%). При хранении двух бит учитывается переход для двух последних исполнений команды (точность ~82%). - Таблица меток перехода (Branch Target Buffer) -Двухуровневое предсказание. -Гибридное предсказание

Архитектура ЭВМИУ714 Обобщенная схема суперкскалярного супер конвейерного процессора

Архитектура ЭВМИУ715 Структура процессора P6 История процессоров с архитектурой IA32 Модель Годы выпуска Функциональность разрядный микропроцессор. Сегментация. 20- разрядная шина адреса (до 1 Мб) Защищенный режим с использованием дескрипторного регистра (четыре уровня привилегий, поддержка сегментов только для чтения и только для исполнения, ограничение прав доступа). Поддержка виртуальной памяти. 24-разрядная шина адреса (16 Мб) разрядный микропроцессор. Поддержка 16 разрядного кода. Режим Virtual Сегментная и непрерывная модель памяти. Страничная организация виртуальной памяти (4 Кб страницы). 32-разрядная шина адреса (4 Гб). Совмещение исполнения команд с обращением к памяти Конвейер команд (5 стадий). 8 Кб кэш первого уровня. Интегрированный FPU. Режим энергосбережения.

Архитектура ЭВМИУ716 Модель Годы выпуска Функциональность Pentium1993Двухконвейерная архитектура (возможность суперскалярной обработки). Раздельные кэш первого уровня команд и данных (по 8 Кб, протокол MESI Write Back). Предсказание ветвления. 4Кб и 4Мб страницы. 64 разрядная внешняя шина данных. Поддержка пакетного режима. Поддержка построения многопроцессорных ВС. MMX SIMD обработка (64 разряда). Семейство P6 (Pentium Pro, Celeron, Pentium II, Pentium III) 1995Суперскалярная обработка на основе техники переупорядочивания (до трех операций за такт). Динамическое исполнение команд (анализ зависимостей по данным, неупорядоченное и спекулятивное исполнение, предсказание ветвления ). Интегрированный смешанный кэш второго уровня (до 2 Мб). SSE (128 разрядов) Семейство NetBurst (Pentium 4, Xeon, Pentium Ex. Ed.) 2000Быстрое исполнение на удвоенной скорости. Гиперконвейерная суперскалярная организация. Глубокая предвыборка. Кэш трасс. SSE2 и SSE3. Hyper- Threading, Intel Virtualization Technology, Intel 64 Architecture, Dual Core История процессоров с архитектурой IA32 (продолжение)

Архитектура ЭВМИУ717 Модель Годы выпуска Функциональность Семейство Pentium M2003Низкое энергопотребление, Сбалансированная производительность Семейство Intel Core (Intel Xeon 5100, 5300, Intel Pentium Dual- Core, Intel Core 2, Intel Core 2 Quad 2006Многоядерная архитектура, Intel 64 Architecture, Intelligent Power Capability Семейство Intel Atom (Intel Atom) 2008Сверхнизкое энергопотребление, Dual Pipeline In-order Execution, Dynamic Cache Sizing Семейство Intel Nehalem (Intel Core i7, Intel Xeon 5500, 7500) 2008Выделенный блок управления энергопотреблением, До 8 ядер. SSE4 Семейство Intel Westmere (Intel Core i3,i5,i7, Intel Xeon 5600) 2010Усовершенствованный блок управления энергопотреблением, Интегрированное графическое ядро, Интегрированный контроллер памяти DDR3 История процессоров с архитектурой IA32 (окончание)

Архитектура ЭВМИУ718 Обобщенная схема процессора P6

Архитектура ЭВМИУ719 Устройство шинного интерфейса Обращение к ОП выполняется через L2. Разделение системной магистрали на две независимые шины снижает нагрузку на системную магистраль до 10% от максимальной.

Архитектура ЭВМИУ720 Кэш память второго уровня (L2) Тип: Наборно-ассоциативная неблокируемая Размер: до 2 Мб Размер линейки: 32 байта. Ассоциативность: 4 Политика записи: Write Back Алгоритм замещения: LRU Протокол: MESI

Архитектура ЭВМИУ721 Проблема алиасинга Выборка из кэш-памяти осуществляется по физическому адресу. Для ускорения доступа используют часть логического адреса. Н*Л = (Размер кэш) / (Ассоциативность) При обнаружении логического адреса в команде с учетом того, что (С>=H*Л) уже известен набор, а возможно и часть тега. Тогда можно заранее определить наличие кандидатов на выборку из кэш или заранее обнаружить кэш промах. Проблема выборки по физическому адресу При размещении в кэш данных по адресам с шагом Н*Л они размещаются в одном и том же наборе (эффективная ассоциативность = 1).

Архитектура ЭВМИУ722 Блок выборки команд Блок выборки команд получает физический адрес очередной команды из Блока вычисления адреса следующей команды. По этому адресу сначала происходит обращение в L1I. Если указанного блока команд (линейки) там нет, то запрос передается в BIU. Блок вычисления адреса следующей команды реализует механизм статического и динамического предсказания с использованием наборно- ассоц. BTB (Branch Target Buffer). BTB в P6 состоит из 512 элементов (4-х ассоциативный).

Архитектура ЭВМИУ723 Для преобразования логического адреса в физический используется ITLB (Instruction Translation Lookaside Buffer) и DTLB (Data Translation Lookaside Buffer). Информация, записываемая в TLB, не подлежит кэшированию. При доступе к данным или командам по адресу, для преобразования которого информация в TLB отсутствует, необходимо обратиться в оперативную память дважды: сначала за информацией из таблицы страниц, и после преобразования за самими данными или командами. Этот можно устранить с помощью предвыборки. Команды предвыборки: КомандаPentium III (32 байта)Pentium 4 (128 байт)Примечание для P6 prefetchNTAЗагрузка только в L1D. В L2 не загружаются Загрузка в L2. В L1D не загружаются Загрузка в ближайший кэш для немедленного использования Prefetch0Загрузка в L1D и L2Загрузка только в L2. В L1D не загружается Загрузка в кэш всех уровней Prefetch1Загрузка только в L2. В L1D не загружается Загрузка в L2. В L1D не загружаются Загрузка в кэш кроме нулевого (только L2) Prefetch2Загрузка только в L2. В L1D не загружается Загрузка в L2. В L1D не загружаются Загрузка в кэш кроме нулевого и первого (только L2)

Архитектура ЭВМИУ724 Декодеры Декодер состоит из трех параллельных каналов: два канала для декодирования простых команд, порождающих одну микрооперацию; один декодер обрабатывает любые инструкции и генерирует по 4 МОП за такт. Команды поступают из L1I блоками по 16 байт. В предекодере определяются границы команд и наличие префиксов. Для загрузки операндов и исполнения операций порождаются различные микрооперации. Для вычисления адреса также порождается МОП.

Архитектура ЭВМИУ725 -Микрооперации помещаются в ROB в исходном порядке. -Исполнение МОП происходит неупорядочено по мере готовности операндов. -Удаление (отставка) МОП происходит упорядочено из-за: прерываний, исключений, точек останова, неправильно предсказанных переходов. Микрокоманды в ROB могут находиться в одном из следующих состояний: 1. Не готова к исполнению; 2. Готова к исполнению; 3. Исполняется; 4. Исполнена и ожидает отставки; 5. Находится в процессе отставки. Буфер переупорядочивания микрокоманд

Архитектура ЭВМИУ726 Порты запуска и исполнительные устройства В процессорах P6 пять портов запуска. В RS в каждом такте могут быть помещены три микрооперации из ROB и пять микроопераций могут быть направлены в порты запуска. Если претендентов на исполнительное устройство несколько, то выбор Производится по алгоритму «псевдо-FIFO».

Архитектура ЭВМИУ727 Команды управления загрузкой и выгрузкой Команда НазначениеПримечание lfence Упорядочивание загрузки Команда позволяет управлять загрузкой, запрещая переупорядочивать микрооперации загрузки до данной команды с микрооперациями после данной команды. sfence Упорядочивание выгрузки Команда позволяет управлять выгрузкой, запрещая переупорядочивать микрооперации выгрузки до данной команды с микрооперациями после данной команды. mfence Упорядочивание загрузки и выгрузки Команда позволяет управлять загрузкой и выгрузкой, запрещая переупорядочивать микрооперации загрузки и выгрузки до данной команды с микрооперациями после данной команды. Загрузка и выгрузка Выгрузка в память (store) происходит в соответствии с порядком отставки (в исходном порядке). Только после отставки возможно незначительное переупорядочивание для оптимизации работы BIU. Загрузка (load) может происходить неупорядоченно в случае отсутствия зависимостей по данным. Для ускорения выполнения микроопераций загрузки выполняется поиск требуемых данных в микрооперациях выгрузки (forwarding of data from stores to dependent loads). Однако возможны приложения, в которых процессор не может обнаружить зависимость по данным (I/O operations).

Архитектура ЭВМИУ728 -Суперскалярная обработка. -Интегрированная кэш-память. -Сбалансированность фаз конвейера. Недостатки P6 -Длительное декодирование сложных команд. -Отсутствие слияния микроопераций загрузки/выгрузки и обработки. -Малое количество входов ROB. -Наличие медленных команд. Достоинства P6

Архитектура ЭВМИУ729 Отличие архитектуры NetBurst от P6 -Использование кэш-памяти первого уровня для хранения декодированных команд (кэш трасс, 12 КМОП). Это позволяет разворачивать циклы, ускоряет декодирование за счет выборки уже декодированных команд. -Использование TBTB и TTLB для определения адресов в кэш трасс. -Механизм ранней спекулятивной диспетчеризации, заключающийся в продвижении на исполнение МОПов, ожидающих операнды уже обрабатываемых МОПов. -Разделение МОПов на медленные и быстрые. -Работа АЛУ на удвоенной частоте. -Увеличение длины ROB до 126 входов. -Увеличение размеров регистров замещения. -Увеличение размеров других буферов (BTB до 4096 и т.д.) -Слияние микроопераций загрузки/выгрузки и обработки.

Архитектура ЭВМИУ730 Планировщик в NetBurst

Архитектура ЭВМИУ731 Особенности микро архитектуры NetBurst

Архитектура ЭВМИУ732 Микроархитектура AMD64

Архитектура ЭВМИУ733 Микроархитектура суперскалярных процессоров IBM POWER4

Архитектура ЭВМИУ734 Структура процессорного ядра процессоров IBM POWER4

Архитектура ЭВМИУ735 Микроархитектура суперскалярных процессоров Sun UltraSPARC III

Архитектура ЭВМИУ736 Архитектура синтезируемых суперскалярных процессорных ядер MIPS32 74K

Архитектура ЭВМИУ737 По типу автомата: - Автомат Мили. - Автомат Мура. Устройства управления: классификация По способу реализации: - Устройство управления с жесткой логикой. Функции выдачи сигналов управления и разделения во времени сигналов управления реализуются с помощью комбинационных схем и триггерной памяти. - Устройство управления с программируемой логикой. Каждой выполняемой операции ставится в соответствие совокупность хранимых в памяти слов (микрокоманд), каждая из которых содержит информацию о микрооперациях, подлежащих исполнению в текущем такте. (+) Простота модификации и наращивания. (-) Невысокое быстродействие для простых устройств.

Архитектура ЭВМИУ738 Сравнение способов реализации УУ

Архитектура ЭВМИУ739 По способу кодирования микрокоманд: - Минимальное кодирование (горизонтальное). - Максимальное кодирование (вертикальное). - Горизонтально-вертикальное кодирование. - Вертикально-горизонтальное кодирование. - Кодирование с помощью памяти нанокоманд. По способу исполнения команд: - Последовательные. - Конвейерные. Пример декомпозиции УУ

Архитектура ЭВМИУ740 Пример реализации управляющего автомата с жесткой логикой

Архитектура ЭВМИУ741 Синтез управляющих автоматов с жесткой логикой Исходные данные: -Описание логики функционирования операционного блока (временные диаграммы, словесное описание, таблицы истинности, графы и т.д.). -Сигналы управления. -Осведомительные сигналы. -Временные параметры. Процедура синтеза: -Определение алгоритма функционирования управляющего автомата. -Определение состояний с учетом выбранного типа автомата (Мили или Мура). -Кодирование состояний автомата. -Определение логических функций для сигналов управления и их минимизация. -Определение логических функций перехода

Архитектура ЭВМИУ742 Автомат Мили Q(t+1) = A ( Q(t), x(t) ) Y(t+1) = B ( Q(t), x(t) ) Автомат Мура Q(t+1) = A ( Q(t), x(t) ) Y(t+1) = B ( Q(t) )

Архитектура ЭВМИУ743 Пример синтеза УУ с ЖЛ на основе автоматов Мили и Мура

Архитектура ЭВМИУ744 Автомат Мура V i = U Q Vi, где Q Vi – состояния автомата, в которых сигнал V i активен. Таблица кодирования состояний D1D0 Q000 Q101 Q210 Q311 Наиболее используемые способы кодирования состояний: двоичное, One-Hot, Код Грея

Архитектура ЭВМИУ745 Автомат Мура

Архитектура ЭВМИУ746 Автомат Мили Таблица кодирования состояний D1D0 Q000 Q101 Q210 V i = U (Q Vi U j), где Q Vi – состояния автомата, в которых сигнал V i активен, U j - условие перехода.

Архитектура ЭВМИУ747 Автомат Мили

Архитектура ЭВМИУ748 Управляющие устройства с программируемой логикой РгК – регистр команды; КОП – код операции; Сх ФАПМк – схема формирования адреса первой микрокоманды; Сх ФАМк – схема формирования адреса микрокоманды; Рг АМк – регистр адреса микрокоманды; ПМп – память микропрограмм; Рг Мк – регистр микрокоманды; Сх ДкМк – схема декодирования микрокоманд; ОБ – операционный блок. В зависимости от типа ПМп: -Статическое микропрограммирование (ROM); -Динамическое микропрограммирование (RAM). По способу адресации микрокоманд: -Принудительная адресация; -Естественная адресация.

Архитектура ЭВМИУ749 Способы кодирования микрокоманд Минимальное кодирование (горизонтальное). Максимальное кодирование (вертикальное). Горизонтально- вертикальное кодирование. Вертикально- горизонтальное кодирование Кодирование с помощью памяти нанокоманд Максимальное кодирование с шифратором.

Архитектура ЭВМИУ750 Цикл микрокоманды Цикл исполнения микрокоманды; -Формирование адреса микрокоманды. -Выборка микрокоманды. -Исполнение микрокоманды. При последовательном исполнении цикла: T MK = T ФА +T ВМК +T И. При совмещении исполнения и формирования адреса следующей микрокоманды: T MK = MAX((T ФА +T ВМК ),T И ). При совмещении всех действий: T MK =MAX(T ФА, T ВМК, T И ).