
- •Факультет кибернетики лекции
- •Вопросы к экзамену по курсу "мпСиУ"
- •Оглавление
- •Обобщенная структура микропроцессорной системы
- •Интерфейс
- •Шинная структура
- •Типы обмена по системной магистрали.
- •Магистраль процессора.
- •Формирование сигналов системной магистрали
- •Контроллер магистрали
- •Регистровая структура 32-разрядного микропроцессораIntel.
- •Сегментированное лап.
- •Логическая адресация
- •Структура логического адреса
- •Преобразование логического адреса в физический
- •Структура дескриптора
- •Вычисление процессором смещения
- •Обобщённый формат команды
- •Реализация виртуальной памяти
- •Принципы страничной организации памяти
- •Преобразование линейного адреса в физический.
- •Буфер ассоциативной трансляции
- •Формирование адреса памяти в защищённом режиме
- •Многозадачный режим
- •Аппаратное обеспечение многозадачного режима
- •Переключение задач
- •Переключения с задачи на задачу по некоторым внешним событиям (нажатие клавиши)
- •Защита в многозадачном режиме
- •Привилегии
- •Защита сегментов
- •Прерывания в мпс
- •Виды прерываний
- •Требования к обработчику прерываний
- •Вектор и шлюз прерывания
- •Последовательность обработки прерываний
- •Обработка внешних прерываний.
- •Обработка внутренних прерываний
- •Обработка программных прерываний
- •Организация приоритетной системы прерываний
- •Приоритетная цепочка
- •Контроллер приоритетных прерываний
- •Каскадное включение кпп
- •Подсистема внутренней памяти в мпс
- •Общая характеристика подсистемы памяти
- •Блок динамической памяти
- •Контроллер динамической памяти
- •Конроллер dram (кдп)
- •Характеристика внешней кэш – памяти
- •Функции контроллера кэш - памяти
- •Каталог контроллера кэш
- •Режим прямого доступа к памяти
- •Этапы прямого доступа к памяти
- •Структура контроллера прямого доступа к памяти
- •Структураканала контроллера
- •Блок управления
- •Каскадное включение контроллера пдп
- •Алгоритм работы контроллера
- •Микропроцессоры risc–архитектуры
- •Предпосылки появления и особенности risc -процессоров
- •Конвейерная обработка команд
- •Конфликты
- •Структурные конфликты и способы их устранения
- •Классификация конфликтов по данным и способы их устранения
- •Конфликты по данным, приводящие к приостановке конвейера
- •Планирование работы конвейера на этапе компиляции
- •Аппаратные методы устранения конфликтов
- •Конфликты по управлению
- •Сокращение потерь из-за конфликтов по управлению
- •Статическое прогнозирование переходов
- •Точное прерывание в конвейере
- •Причины прерываний на разных фазах выполнения команды.
- •Особенности обработки многотактных операций
- •Поддержка точных прерываний в длинных конвейерах
- •АрхитектураRisc-мпpower–pc
- •Основные элементы структуры мп и их взаимодействие
- •Внутренняя кэш – память в структуре процессора
- •Структура и принципы работы кэш в мультипроцессорной системе
- •Mesi – диаграмма.
- •Основных операций кэш–памяти
- •Однокристальные микроконтроллеры
- •Обобщенная структураMcs-51
- •Организация памяти программ
- •Организация внутренней памяти
- •Подключение внешней памяти программ
- •Организация памяти данных
- •Подключение внешней памяти данных
- •Система синхронизации
- •Межкомандные зависимости
- •Динамическое планирование
- •Динамическая оптимизация с централизованной схемой обнаружения конфликта
- •Регистр состояния централизованной схемы управления
- •Методы уменьшения влияния конфликтов по управлению
Организация памяти данных
Память данных, как и память программ, может наращиваться до 64 Кб.
Младшие 32 байта памяти данных рассматриваются, как 4 банка регистров общего назначения по 8 регистров в каждом. Текущий банк определяется словом состояния программы (PSW).
Следующие 16 байт могут рассматриваться, как единое большое слово в 128 бит, доступ в каждый бит этого слова независим.
Следующие байты не несут никаких специфических функций (вплоть до 127 байта).
В архитектуре процессора предусмотрен набор специальных регистров (Special Function Registers), адреса которых находятся в области 128-256 байт.
Подключение внешней памяти данных
Вариант подключения внешней памяти данных представлен на рисунке
Здесь используется прямая, косвенная, регистровая и непосредственная адресация.
ADD A, R7 регистровая адресация
ADD A, 35h прямая адресация
ADD A, #15 непосредственная адресация
ADD A,@R0 косвенная адресация
Система синхронизации
Как правило, в системе синхронизации используется внутренний генератор.
Цикл команды состоит их целого числа машинных циклов. В течение машинного цикла процессор проходит через шесть состояний (S1, S2, …, S6). Каждое состояние длится два такта (P1, P2). Таким образом, машинный цикл реализуется за 12 тактов, следовательно время выполнения машинного цикла равно 1 мкс.
Большинство команд выполняется за 1 мкс, некоторые команды выполняются за 2 мкс, команды MUL и DIV выполняются за 4 мкс.
Межкомандные зависимости
Влияние конфликтов на производительность конвейера оценивают с помощью среднего количества тактов на инструкцию (CPI).
CPI = CPI1 - идеальный конвейер (1 такт на команду)
Прибавки к этой величине осуществляются за счет конфликтов (блокировок)
CPI = CPI1 + Sст + Sд + Sупр = CPI1 + Sст + Sraw + Swar + Swaw + Sупр
Sд = Sraw + Swar + Swaw
Sст - структурные конфликты
Sд - конфликты по данным
Sупр - конфликты по управлению
Оценивая все эти составляющие, можем подобрать наиболее эффективные методы для уменьшения влияния конфликтов.
Причиной конфликтов является взаимозависимость команд.
Если есть зависимость между командами - параллельно они выполняться не могут.
Параллельные команды (IPL) - команды, которые могут выполняться одновременно.
Существует 3 типа зависимостей:
по данным
по именам
по управлению
Зависимости по данным:
Условие возникновения зависимости: i-ая команда вырабатывает результат для более поздней j-ой команды. Зависимость такого рода заложена исходном тексте программы. Ее нельзя убрать. Но блокировки из-за этих зависимостей можно снизить. Этой зависимостью вызывается конфликт RAW (чтение после записи). Этот конфликт определяет верхнюю границу пересечения во времени команд в конвейере.
Обнаружение зависимостей: Если конфликт связан с обращением в регистр - обнаружить его легко. Но есть сложности обнаружения такого конфликта когда идет обращение к ячейкам памяти, в связи с большим количеством способов обращения к этой ячейке
Зависимость по именам:
Условие возникновения зависимости: две команды используют одно и то же имя операнда, но при отсутствии передачи данных между ними. Существует 2 типа зависимостей:
Антизависимость - зависимость, которая вызывает конфликт WAR (запись после чтения).
Зависимость по выходу - вызывает конфликт WAW (запись после записи).
Конфликты по именам не носят принципиального характера и они устраняются с помощью метода переименования регистров. Этот метод может быть реализован программно - на уровне компиляции. Возможно использования аппаратных средств для переименования. Иногда переименование выполняется с помощью архитектурных регистров, может использоваться специальная группа регистров - регистры переименования, которые из программ не доступны.
Пример:
Конфликтная ситуация:
1) ADD R1,R2,R3
2) SUB R2,R3,R4
3) AND R5,R1,R2
4) OR R1,R2,R4
1) и 2) - антизависимость, блокировка WAR
1) и 3) - зависимость по данным RAW
1) и 4) - зависимость по выходу WAW
Устраним этот конфликт:
1) и 2) - в SUB писать не в R2, а например в R6, но все следующие команды, которые тоже используют R2 должны быть изменены.
1) ADD R1,R2,R3
2) SUB R6,R3,R4
3) AND R5,R1,R6
4) OR R1,R3,R4
1) ADD R7,R2,R3
2) SUB R6,R3,R4
3) AND R5,R7,R6
4) OR R1,R3,R4