
- •1. Общие положения
- •Характеристики универсальных микропроцессоров:
- •Организация внутренней памяти данных (озу) Преимущества разделения на банки:
- •Память программ
- •3. Аппаратные и программные средства микроконтроллера для обработки битовой информации
- •Сброс флагов запросов прерывания
- •5. Блок таймеров/счетчиков: назначение, структура, режимы работы, применение.
- •Режимы работы таймер/счетчик
- •6. Организация последовательного ввода/вывода в микроконтроллере.
- •7.Включение микроконтроллера в систему управления.
- •0, 1
- •3. Универсальные микропроцессоры
- •Основные функциональные регистры
- •Основные функциональные регистры -Сегментные регистры
- •Типы логического адресного пространства
- •Формирование линейного адреса
- •Формат селектора
- •Формат дескриптора
- •Обращение к глобальной таблице дескрипторов
- •Обращение к локальной таблице дескрипторов
- •Двухэтапное преобразование
- •Формат элемента ктс (таблицы страниц)
- •Структура tlb
- •Механизм замещения строк (lru)
- •Средства защиты должны предотвращать:
- •Обращение к более привилегированным программам через шлюз вызова
- •Структура дескриптора шлюза вызова
- •Для аппаратной поддержки многозадачности используется:
- •Содержимое tss:
- •Дополнительная часть tss:
- •Структура команды межсегментной передачи управления
- •Структура байта доступа в дескрипторе tss
- •Типы кэш памяти
- •Пример:
- •Порядок обработки прерываний
- •Рефлекторные действия процессора
- •Пример (для рефлекторного мк):
- •Типы прерываний
- •Определение адреса обработчика прерываний
- •Шлюзы ловушки и прерывания
- •Шлюз задачи
- •Регистр типов
- •Пример:
- •Время выполнения n-команд
- •Конфликты:
- •Структурные конфликты
- •Причины:
- •Пути решения для Запоминающих Устройств (зу):
- •Традиционные методы
- •Ограничения:
- •Ограничения:
- •Современные направления
- •Достоинства данного подхода:
- •Недостатки:
- •4. Структура и особенности функционирования современных микропроцессоров
Конфликты:
Структурные конфликты
Конфликты по управлению
Конфликты по данным
Структурные конфликты
Возникают, когда аппаратные средства процессора не могут поддерживать все возможные комбинации команд, в режиме одновременного выполнения с совмещением.
Причины:
Не полностью конвейерная структурамикропроцессора, при которой некоторые ступени отдельных команд выполняются больше одного такта. Например, команда i=«умножение чисел с плавающей запятой», ей для выполнения надо 4 такта, поэтому нижеследующие команды ждут (ПУЗЫРИ)
Недостаточное дублирование отдельных ресурсов(доступ к запоминающим устройствам). Например, см. таблицу «Стадии классического конвейера» такт 5, ниже располагаются команды, которые пишут, читают, пишут, отсюда задержки (другие команды ждут своего выполнения).
Пути решения для Запоминающих Устройств (зу):
Раздельная КЭШ память программ и данных (отступление от принципов Неймана)
Создание многопортовых ЗУ:
Для регистров допускается одновременное обращение до шести на чтение и до четырех на запись
КЭШ память одновременно выполняется 2 команды.
Конфликты по управлению
Возникают при комбинации команд перехода и других команд, изменяющих значение счётчика команд.
Пример:
Пусть, i= операция сложения (ADD),i+1= переход по результату 0 (JZ), признак результата – 5, а мы его можем обработать только на 6-м, т.е. ВЫХОД: перевод конвейера в последовательный режим.
Для уменьшения влияния конфликтов по управлению используется «Блок предсказания переходов», который позволяет выбирать очередную команду с точностью до 95%. Если встретили команду перехода, то анализируем, если ошибка, то надо добиться, что бы результат не записывался в ОП.
Методы предсказания:
Статические– до начала работы программы указывается наиболее вероятные направления переходов (аппаратно или программистом). В старых МП шли по пути ДА.
Динамические:
На основе счётчика количества переходов по тому или иному направлению (у каждого направления свой счётчик);
Отслеживаются чередующиеся переходы;
Отслеживаются связи CALL…Return(обращение к подпрограмме).
Конфликты по данным
Возникают в случае, когда выполнение одной (следующей) команды, зависит от результатов выполнения предыдущих команд.
Типы конфликтов:
RAW(чтение после записи) – предполагаем, что команда i предшествует командеj. Командаjпытается прочитать операнд прежде чем команда i запишет свой результат.i)ADDR1,R2;R1=R1+R2j=i+1)SUBR1,R3;R1=R1-R3 Основной путь смягчения конфликта:Метод продвижения данных
Рисунок 8 – метод приближения данных
Результат, полученный на стадии EX, одновременно с передачей в приёмник передаётся на входы исполнительных устройств. Если устройство управления определяет, что он необходим для какой-либо последующей команды, то он используется в качестве операнда параллельно со стадией записи приёмника.
WAR(Запись после чтения) – командаjпытается записать результат в приёмник прежде чем он считается оттуда командойi. При этомiможет получить новое некорректное значение операндов:i)ADDR1,R2;R1=R1+R2j=i+1)SUBR2,R3;R2=R2-R3
WAW(Запись после записи) – командаjпытается записать результат в приёмник, прежде чем в этот же приёмник будет записан результат операции i, т.е. в приёмнике может остаться некорректное записанное командой ii)ADDR1,R2j=i+1)SUBR1,R3
Конфликты WARиWAWобеспечены возможным неупорядоченным выполнением команд.
Выход: ставят перед приёмником «Буфер восстановления последовательности команд», т.е. пока не выполняются команды последовательно, результат не пишется.
Особенности архитектуры МП с технологией MMX и SSE.
MMX. Особенности программ мультимедийной обработки:
Данные целого типа, небольшой разрядности (цвет).
Короткие циклы с высоким коэффициентом повторяемости (цвет)
Большое количество операций сложения и умножения
Алгоритмы, требующие интенсивных вычислений
Операции с высоким уровнем параллелизма
Основные черты технологии MMX
Архитектура SIMD (1 команда несколько операндов);
57 новых команд;
4 новых типов данных;
8 64-х разрядных регистров MMX.( отображены в блоке регистров с плавающей запятой (FPU)).
Отличия: Можно обращ по №, обычно обращ как к стеку (для рег с пл зап).
Недостатки: Необходимость периодически сохр и восст содерж рег-ов для работы сMMXиFPU. Переключение уменьшает производительность.
Типы данных:
8 слов по 8 разрядов (слово – единица машинной обработки)
4 операнда по 16 разрядов
2 операнда по 32 разрядов
1 операнд по 64 разряда
Особенности дополнительных команд:
Выполн с пом одной ком одноврем операц над неск операндами находящ в рег MMX, например, одноврем загружаем 8 пикс, прибавл по +3 и отправл на исполнен (в 8 раз увелич скор обр-ки).
Введение команд, сокращ кол-во условных переходов в программе
с
ложение с насыщением (экран ярче макс стать не может, одна ком + при конвейерн обраб, не надо перегружать при неудаче).
Сравнение
и нахождение MAXКомандаPMAXSW– нахождение MAX со знаком КомандаPMAXUB– нахождение MAX без знака
8 сравнений (условных переходов) – в одной команде.
Команды, поддерживающие алгоритмы обработки звуковой и графической информации. Команда PMADDWD– умножение с накоплением
Развитие технологии MMX – блок SSE
SSE– потоковый блок расширений (SSE–PIII,SSE2 – P4)
Отдельный блок 128 разрядных регистров
Блок имеет свои регистры управления и состояния.
Позволяет:
Обрабатывать по схеме SIMD данн с пл зап (4 операнда по 32 разр или 2 операнда по 64 разр).
Дополнительные форматы целочисленных операндов:
16 8-и разрядных
8 16-и разрядных
4 32-х разрядных
2 64-и разрядных
144 новые команды
Достоинства:
Есть возможность обрабатывать несколько команд в одной
Сокращение переходов в обработке
Пути повышения производительности микропроцессоров. Основные черты архитектуры EPIC.