
- •История создания эвм. Базовые операции цп на основе ттл.
- •Структурная схема цифровой эвм. Принцип программного управления.
- •Представление информации в эвм. Обработка данных посредством цепочечных команд.
- •Системы счисления. Двоичная, двоично-десятичная и шестнадцатеричная системы счисления.
- •Формы представления и способы кодирования двоичных чисел.
- •Неупакованные bcd-числа. Корректировки арифметических операций для неупакованных bcd-чисел.
- •Упакованные bcd-числа. Корректировки арифметических операций для упакованных bcd-чисел.
- •Сегментная организация памяти в реальном режиме. Модели памяти.
- •Формирование физического адреса в реальном режиме. Недостатки реального режима.
- •Микропроцессор ia-32. Регистры общего назначения
- •Микропроцессор ia-32. Сегментные регистры
- •Микропроцессор ia-32. Указатель команд, регистр флагов и управляющие регистры
- •Микропроцессор ia-32. Организация памяти.
- •Микропроцессор ia-32. Модель памяти в реальном режиме.
- •Микропроцессор ia-32. Режимы адресации.
- •Типы данных микропроцессора.
- •Система команд микропроцессора.
- •Программная модель математического сопроцессора. Регистры
- •Типы данных математического сопроцессора.
- •Система команд математического сопроцессора.
- •Программная модель расширения mmx. Регистры и типы данных
- •Система команд mmx.
- •Защищенный режим работы микропроцессора. Регистры управления мп.
- •Модель памяти в защищенном режиме.
- •Организация защиты кода и данных в защищенном режиме.
- •Переключение мп из реального режима в защищенный и обратно.
- •Обработка прерываний в защищенном режиме.
- •Управление задачами в защищенном режиме. Переключение задач в защищенном режиме.
- •Суперскалярная архитектура мп.
- •Конвейерная обработка команд. Динамическое исполнение команд.
-
Суперскалярная архитектура мп.
Суперскалярность — архитектура вычислительного ядра, использующая несколько декодеров команд, которые могут загружать работой множество исполнительных блоков. Планирование исполнения потока команд является динамическим и осуществляется самим вычислительным ядром.
Если в процессе работы команды, обрабатываемые конвейером, не противоречат друг другу, и одна не зависит от результата другой, то такое устройство (ядро) может осуществить параллельное выполнение команд. В суперскалярных системах решение о запуске инструкции на исполнение принимает сам вычислительный модуль, что требует много ресурсов. В более поздних системах используется статпланирование, то есть параллельные инструкции объединяются компилятором в длинную команду, в которой все инструкции заведомо параллельные.
Микропроцессор считается скалярным, если имеет конвеер. При наличии двух и более конвееров, такой МП считатется суперскалярным. С каждым новым конвеером скорость увеличивается на 30-40%.
Некоторые способы увеличения скорости:
Кэширование – способ увеличения быстродействия системы за счёт хранения часто используемых команд и данных в памяти.
Предсказание правил адреса перехода – использование часто используемых команд. Под переходом понимается алгоритм запланированного изменения перехода программ. Типичная программа на каждые 6-8 команд содержит 1 команду перехода. При наличии в микропроцессоре конвеера, через каждые 6-8 команд конвеер очищается и заполняется в соответствии с адресом перехода, таким образом, теряется преимущество конвеера, поэтому и был введён блок предсказания переходов. В Pentium имеется буфер переходов, хранящий последние 256 адресов перехода.
-
Конвейерная обработка команд. Динамическое исполнение команд.
Конвеер имеет 5 ступеней:
-
Выработка команды из кэша памяти и оперативной памяти;
-
Декодирование команд;
-
Генерация адреса для опеределения местоположения операндов в памяти;
-
Выполнение операций с помощью АЛУ;
-
Запись результата в память.
На стадии выполнения каждого этапа, каждая машинная команда разбивается на более мелкие операции, из-за этого скорость вычислений возрастает.
Динамическое выполнение: Благодаря динамическому выполнению процессор может параллельно обрабатывать большое количество команд. Основные особенности динамического выполнения следующие:
-
множественное предсказание ветвлений: это средство предназначено для прогнозирования значения счетчика команд при выполнении команд ветвления;
-
анализ потока данных: благодаря ему можно получить информацию, необходимую для планирования выполнения команд, независимо от их первоначального порядка в программе;
-
упреждающее выполнение: "предугадывает" изменения счетчика команд и выполняет команды, результаты которых, вероятно, вскоре понадобятся.