
- •Ответы на вопросы к экзамену
- •Микропроцессор км 1810 вм86
- •Архитектурные особенности современных мп
- •Основные архитектуры системы команд
- •Основные структуры современных процессоров
- •Однокристальные микро эвм серии кр1816
- •Организация памяти программ
- •Организация памяти данных
- •Пкн на матрице сопротивлений r – 2r
- •Пкн на матрице весовых сопротивлений
- •Описание
- •Математический сопроцессор
- •Конвейерная обработка инструкций
- •Регистры и инструкции
- •4.6.1. Программируемый контроллер прерываний кр580вн59
- •Контроллер пдп к580вт57
- •Управление и синхронизация в мп- системе
- •Организация управления в многопроцессорной системе
- •Архитектурные особенности современных мп
- •Основные архитектуры системы команд
- •Основные структуры современных процессоров
- •3.4. Блок формирования управляющих сигналов
- •3.4.1. Блок формирования управляющих сигналов с жесткой структурой
- •3.4.2. Пример построения фрагмента бфус с жесткой структурой для операции «сравнение модулей двух чисел»
- •3.4.3. Блок формирования управляющих сигналов
- •Функциональная схема
Архитектурные особенности современных мп
Основное направление развития современных ЭВМ и систем- повышение быстродействия и производительности.
Рассмотрим факторы, за счет которых можно повысить производительность микропроцессоров.
Увеличение тактовой частоты – технологическая проблема, которая определяется возможностью уменьшения толщины проводников в интегральных микросхемах. В настоящее время практически достигнут предел в этом направлении.
Распараллеливание вычислительных процессов:
-конвейеры для арифметических операций;
-конвейеры для выполнения команд;
-специальные аппаратные средства.
Сокращение времени обращения к оперативной памяти.
Совершенствование кэш-памяти. В современных структурах используют 2- и 3-уровневую кэш-память.
Создание специализированных МП.
Основные архитектуры системы команд
Системы команд разделяются на два вида: скалярные и векторные. Скалярная система команд отличается тем, что из оперативной памяти выбирается 1 слово-представление команды. Если в процессоре применены средства ускоренного выполнения этого процесса (кэш-память, внутренние конвейеры, аппаратные средства распараллеливания), то этот процессор называется суперскалярный.
Векторная система команд отличается тем, что из оперативной памяти выбирается одна команда (вектор), которая обеспечивает одновременное выполнение одних и тех же операций над множеством исходных данных. Такие команды выполняются одновременно на различных аппаратных средствах (несколько процессоров, несколько АЛУ).
Основные структуры современных процессоров
В зависимости от используемой структуры команд, процессоры делятся на два основных типа.
CISС – процессор с суперскалярной системой команд, в котором некоторую операцию можно реализовать, используя различные программные и аппаратные методы повышения быстродействия.
RISC – процессор с уменьшенным набором команд, отличающийся тем, что все команды имеют самую простую структуру, типа регистр – регистр или регистр – память. В идеале выполнение команды требует одного обращения к памяти и происходит за один такт.
При использовании одной и той же системы цифровых элементов RISC-архитектура позволяет увеличить быстродействие в 1,5 раза по сравнению с суперскалярными, но усложняется программа.
Pentium MMX – специализированный процессор для реализации мультимедийных программ.
Добавлено более 30 специальных мультимедийных команд: задачи синтеза цвета, звука, обработка видео и графики.
Сигнальные МП - служат для цифровой обработки сигналов.
Особенности:
-поточный характер обработки большого массива данных;
-относительно несложный алгоритм обработки данных;
-требование высокой скорости обработки сигналов.
[
Pentium — торговая марка нескольких поколений микропроцессоров семейства x86, выпускаемых корпорацией Intel с 22 марта 1993 года. Pentium является процессором пятого поколения и пришел на смену Intel 80486 (который часто называют просто 486).
Pentium – “pent” – пятый. Т.е. процессор 5го поколения. Вышел в серийное производтсво 22 марта 1993 года. Изначально Pentium именовался как P5, но из-за проблем с регистрацией товарного имени был переименован в Pentium.
Первоначально (22 марта 1993 года) было представлено только две модели, основанные на ядре P5 с частотами 60 и 66 МГц. Однако позже были выпущены и более производительные процессоры Pentium, но основанные на усовершенствованных ядрах. Кроме того, были представлены мобильные версии процессоров и процессоры Pentium OverDrive.
Различия между моделями заключаются в повышении тактовой частоты процессора, введение множителя процессора – процессор работает в n раз больше системной шины и множитель как раз это показывает; уменьшение технологического процесса (первый Pentium был сделан по технологии 800 нанометров, а Pentium OverDrive по 320 нанометровой технологии) и соответственно уменьшение размера самого кристалла.
Технические нововведения
- Суперскалярную архитектуру;
- Раздельное кэширование программного кода и данных;
- Блок предсказания правильного адреса перехода;
- Высокопроизводительный блок вычислений с плавающей запятой;
- Расширенную 64-битовую шину данных;
- Поддержку многопроцессорного режима работы;
- Средства задания размера страницы памяти;
- Средства обнаружения ошибок и функциональной избыточности;
- Управление производительностью;
Суперскалярная архитектура (блоки 3,4,5,6)
Суперскалярная архитектура Pentium процессора представляет собой совместимую только с INTEL двухконвейерную индустриальную архитектуру, позволяющую процессору достигать новых уровней производительности посредством выполнения более чем одной команды за один период тактовой частоты. Термин "суперскалярная" обозначает микропроцессорную архитектуру, которая содержит более одного вычислительного блока. Эти вычислительные блоки, или конвейеры, являются узлами, где происходят все основные процессы обработки данных и команд.
Возможность выполнять множество команд за один период тактовой частоты существует благодаря тому, что Pentium процессор имеет два конвейера, которые могут выполнять две инструкции одновременно. Двойной конвейер Pentium процессора выполняет простую команду за пять этапов: предварительная подготовка, первое декодирование (декодирование команды), второе декодирование (генерация адреса), выполнение и обратная выгрузка. Это позволяет нескольким командам находиться в различных стадиях выполнения, увеличивая тем самым вычислительную производительность. Каждый конвейер имеет свое арифметическо-логическое устройство (ALU), совокупность устройств генерации адреса и интерфейс кэширования данных. Pentium использует аппаратное выполнение команд, заменяющее множество микрокоманд, используемых в предыдущих семействах микропроцессоров. Эти инструкции включают загрузки, запоминания и простые операции АЛУ, которые могут выполняться аппаратными средствами процессора, без использования микрокода. Это повышает производительность без затрагивания совместимости. В случае выполнения более сложных команд, для дополнительного ускорения производительности выполнения расширенного микрокода Pentium процессора для выполнения команд используются оба конвейера суперскалярной архитектуры.
Раздельное кэширование программного кода и данных.
(блоки 2 – кэширование команд и 7 – кэширование данных)
Кэширование увеличивает производительность посредством активизации места временного хранения для часто используемого программного кода и данных, получаемых из быстрой памяти, заменяя по возможности обращение ко внешней системной памяти для некоторых команд. Процессор Intel486 содержит один 8-KB блок встроенной кэш-памяти, используемой одновременно для кэширования программного кода и данных.
Проектировщики фирмы INTEL обошли это ограничение использованием дополнительного контура, выполненного на 3.1 миллионах транзисторов Pentium процессора (для сравнения, Intel486 содержит 1.2 миллиона транзисторов) создающих раздельное внутреннее кэширование программного кода и данных. Это улучшает производительность посредством исключения конфликтов на шине и делает двойное кэширование доступным чаще, чем это было возможно ранее. Например, во время фазы предварительной подготовки, используется код команды, полученный из КЭШа команд. В случае наличия одного блока кэш-памяти, возможен конфликт между процессом предварительной подготовки команды и доступом к данным. Выполнение раздельного кэширования для команд и данных исключает такие конфликты, давая возможность обеим командам выполняться одновременно. Кэш-память программного кода и данных Pentium процессора содержит по 8 KB информации каждая, и каждая организована как набор двухканального ассоциативного КЭШа - предназначенная для записи только предварительно просмотренного специфицированного 32-байтного сегмента, причем быстрее, чем внешний кэш. Все эти особенности расширения производительности потребовали использования 64-битовой внутренней шины данных, которая обеспечивает возможность двойного кэширования и суперскалярной конвейерной обработки одновременно с загрузкой следующих данных. Кэш данных имеет два интерфейса по одному для каждого из конвейеров, что позволяет ему обеспечивать данными две отдельные инструкции в течение одного машинного цикла. После того, как данные достаются из КЭШа, они записываются в главную память в режиме обратной записи. Такая техника кэширования дает лучшую производительность, чем простое кэширование с непосредственной записью, при котором процессор записывает данные одновременно в кэш и основную память. Тем не менее, Pentium процессор способен динамически конфигурироваться для поддержки кэширования с непосредственной записью.
Таким образом, кэширование данных использует два различных великолепных решения: кэш с обратной записью и алгоритм, названный MESI (модификация, исключение, распределение, освобождение) протокол. Кэш с обратной записью позволяет записывать в кэш без обращения к основной памяти в отличие от используемого до этого непосредственного простого кэширования. Эти решения увеличивают производительность посредством использования преобразованной шины и предупредительного исключения самого узкого места в системе. В свою очередь MESI-протокол позволяет данным в кэш-памяти и внешней памяти совпадать - великолепное решение в усовершенствованных мультипроцессорных системах, где различные процессоры могут использовать для работы одни и те же данные.
Блок предсказания правильного адреса перехода.(блок 8)
Для лучшего понимания этой концепции, рассмотрим типичное программное приложение. После выполнения каждого программного цикла, программа выполняет соответствующую проверку для определения, необходимо ли возвратиться в начало цикла или выйти и продолжить выполнение следующего шага. Эти два решения, или пути, называют предсказанием адреса перехода. Блок предсказания правильного адреса перехода прогнозирует, какая ветвь программы будет затребована, основываясь на допущении, что предыдущая ветвь, которая была пройдена, будет использоваться снова. Pentium процессор выполняет предсказание правильного адреса перехода, используя специальный буфер предсказания перехода (BTB). В отличие от альтернативной архитектуры, это программно-шаблонное нововведение дает возможность для перекомпилирования программного кода, увеличивая при этом скорость и производительность существующего прикладного программного обеспечения. Если команда управляет ветвлением программы, буфер BTB запоминает команду и адрес, на который необходимо перейти, и предсказывает, какая ветвь команд в следующий момент будет использоваться. Когда буфер содержит правильное предсказание, переход выполняется без задержки.
Высокопроизводительный блок вычислений с плавающей запятой. (блок 9)
Pentium процессор позволяет выполнять математические вычисления на более высоком уровне благодаря использованию усовершенствованного встроенного блока вычислений с плавающей запятой, который включает восьмитактовый конвейер и аппаратно реализованные основные математические функции. Четырехтактовые конвейерные команды вычислений с плавающей запятой дополняют четырехтактовую целочисленную конвейеризацию. Большая часть команд вычислений с плавающей запятой могут выполняться в одном целочисленном конвейере, после чего подаются в конвейер вычислений с плавающей запятой. Обычные функции вычислений с плавающей запятой, такие как сложение, умножение и деление, реализованы аппаратно с целью ускорения вычислений.
Процессоры Pentium фирмы Intel представляют пятое поколение процессоров семейства х86. По базовой регистровой архитектуре и системе команд они совместимы с вышеописанными (486,386) 32-битными процессорами, но имеют 64-битную шину данных.
Основные проблемы поставлены при разработки:
Повысить производительность процесессора по сравнению с предыдущими процами:
тактовая частота f_синх_имп=60%120 МГц. Это технологическая проблема, зависящая от тех процесса. Чем меньше ширина проводника, тем будет больше тактовая частота.
Процессоры Pentium первого поколения. Две (единственные) модели анонсированы 23 марта 1993 года и работали с тактовой частотой ядра 60 и 66 МГц, частота системной шины (FSB) была равна частоте ядра, то есть, множитель ядра был равен «1,0». Кэш второго уровня размещался на материнской плате и мог иметь размер до 1 Мб. Процессор выпускался в 273-контактном корпусе CPGA и устанавливался в корпус Socket 4 и работал от напряжения 5 В. Все процессоры Pentium относятся к классу SL Enhanced, это значит, что в них предусмотрена система SMM, обеспечивающая снижение энергопотребления. Ранние варианты процессоров, с частотами 60—100 МГц (ядра P5 и P54C) имели ошибку в модуле FPU (математический сопроцессор), которая, в редких случаях, приводила к уменьшению точности операции деления Процессоры на ядре P5 изготавливались с использованием 800 нанометрового техпроцесса, по биполярной BiCMOS-технологии. Процессор содержит 3,1 млн. транзистора, а размер кристалла ядра составляет 294 кв. мм. Процессор Pentium 66 потребляет ток в 3,2 А, а потребляемая им мощность равна 16 Вт, что потребовало установки дополнительного вентилятора. Производство таких процессоров оказалось очень сложным, и процент выхода годных кристаллов оказался слишком мал. Многие специалисты, указывая на многочисленные недостатки (см. F0 0f c7 c8) процессоров Pentium первого поколения, не советовали покупать данные модели. Производство на время пришлось остановить. Однако вскоре началось производство усовершенствованных процессоров, основанных на ядре P54C.
По сравнению с предыдущими поколениями процессоры Pentium имеют следующие качественные отличия:
Суперскалярная архитектура. Благодаря использованию суперскалярной архитектуры процессор может выполнять 2 команды за 1 такт. Такая возможность существует благодаря наличию двух конвейеров — u- и v-конвейер. u-конвейер — основной, выполняет все операции над целыми и вещественными числами; v-конвейер — вспомогательный, выполняет только простые операции над целыми и частично над вещественными.
Чтобы старые программы (для 486) в полной мере использовали возможности такой архитектуры, необходимо было их перекомпилировать. Pentium является первым CISC процессором использующим многоконвейерную архитектуру. (когда выполняются действия с плавающей точкой, то 1АЛУ выполняет действия над порядками, а вторая над мантисой)
64-битная шина данных. Позволяет процессору Pentium обмениваться вдвое большим объемом данных, с оперативной памятью, чем 486 за один шинный цикл (при одинаковой тактовой частоте).
Механизм предсказания адресов ветвления. Применяется для сокращения времени простоя конвейеров, вызванного задержками выборки команд при изменении счетчика адреса во время выполнения команд ветвления. Для этого в процессоре используется буфер адреса ветвления BTB (Branch Target Buffer), использующий алгоритмы предсказания адресов ветвления. ( Схема предсказания переходов – эта схема заранее анализирует за счет предкодироваки те команды, которые находстя в Кеше данных и ищет там команды перехода. Заранее декодирует в выборанном куске программы и находит там операции перехода. Буфер предвыборки – для обнаруженной команды пкерехода выбираются из памяти в общем случае, если отсутсвует этот кусок памяти, то обе ветки программы для переходов. )
Раздельное кэширование программного кода и данных. В процессорах Pentium используется кэш-память первого уровня (кэш L1) объемом 16Кб, разделенная на 2 сегмента: 8Кб для данных и 8Кб для инструкций. Это улучшает производительность и позволяет делать двойное кэширование доступным чаще, чем это было возможно раньше. Кроме того, изменён механизм кэширования.
Улучшенный блок вычислений с плавающей запятой (FPU, сопроцессор).
Cимметричная многопроцессорная работа (SMP).
Введен еще один формат страницы – 4МБ. Тогда размер страниы будет 2^20.Объем оперативной памяти – не меньше 4МБ и должен быть кратен 4МБ
]
ПНК по последовательно-параллельной схеме.
Последовательно – параллельный ПНК. Упрощенная функциональная схема
Промышленный выпуск стандартных ПНК
Параметры интегральных ПНК
|
Типы ИС |
Число разрядов |
tпр. МКС |
Uмакс |
Метод преобразования |
1 |
К572 ПВ1 |
12 |
17 |
±15В |
Поразр. кодир. |
2 |
К110 7ПВ1 |
6 |
0,1 |
4В |
Считыв. |
3 |
К110 7ПВ3 |
6 |
20мс |
4В |
Считыв. |
Структурная схема МК 1816. Блок программной памяти. Распределение памяти программ.