
- •Эвм и вычислительные системы».
- •Часть I.
- •Лекция №1 общие сведения о микропроцессорах и микропроцессорных системах.
- •Предисловие
- •1.1 . Основные определения и классификация микропроцессорных систем.
- •1.2. Однокристальные мп.
- •1.2.1 Краткий исторический обзор развития.
- •Лекция №2 обзор микропроцессоров фирм клонмейкеров. Современный уровень развития однокристальных микропроцессоров.
- •2.1. Микропроцессоры-клоны.
- •2.2. Современные универсальные однокристальные микропроцессоры.
- •Процессоры Pentium II.
- •2.2.1. Процессоры фирмы amd
- •2.2.2.ПроцессорыфирмыCyrix.
- •2.2.3. Сравнительный анализ мп различных семейств.
- •2.2.4. Перспективы развития.
- •2.3. Программируемые микроконтроллеры.
- •Лекция №3 обзор микропроцессоров с микропрограммным управлением и микропроцессоров с сокращенным набором команд.
- •3.1. Мп с микропрограммным управлением.
- •3.2. Мп с сокращенным набором команд.
- •3.2.1. Risc-процессоры: предпосылки создания.
- •3.2.2. Принципы risc
- •3.2.3. Особенности risc-процессоров.
- •3.2.4. Представители группы risc-процессоров.
- •3.2.5. Цифровые процессоры обработки сигналов.
- •Лекция №4 представление информации в мпс.
- •4.1. Способы кодирования информации в мпс.
- •4.2 Двоичный формат.
- •4.3. Двоично-десятичная система кодирования.
- •4.4. Шестнадцатиричная система счисления.
- •4.4. Формат с плавающей точкой.
- •4.5. Кодирование команд.
- •Лекция №5 архитектура мп и мпс.
- •5.1. Понятие организации и архитектуры мп и мпс.
- •5.2 Обобщенная функциональная схема мп.
- •5.2.1 Устройство управления на основе аппаратной реализации.
- •5.2.2. Программируемая логическая матрица.
- •Лекция №6 архитектура мп и мпс.(продолжение)
- •6.1. Функциональная схема однокристального мп.
- •6.2 Структура адресного пространства мпс.
- •6.3 Взгляд программиста на адресное пространство.
- •6.4 Понятие стека.
- •Лекция №7 способы адресации
- •7.1 Основные определения.
- •7.2 Однокомпонентные способы адресации.
- •7.2.1 Прямой способ адресации.
- •7.2.3 Способы адресации с автомодификацией.
- •7.3 Многокомпонентные способы адресации.
- •Лекция №8 основы проограммирования на языке ассемблера для мп i8086.
- •8.1. Формат команд на языке встроенного ассемблера.
- •8.2. Архитектура мп i8086.
- •8.2.1 Сегментация памяти мп i8086.
- •8.2.2 Структура мп i8086.
- •8.2.3 Устройство шинного интерфейса.
- •8.2.4 Операционное устройство(оу).
- •8.3 Основные команды языка Ассемблер для мп i8086.
- •8.3.1 Команды пересылки данных.
- •Лекция №9 основы проограммирования на языке ассемблера для мп i8086. (продолжение).
- •9.1. Арифметические команды.
- •9.2. Логические команды.
- •9.3. Команды передачи управления.
- •9.4. Команды управления мп.
- •Лекция №10 запоминающие устройства.
- •10.1 Основные характеристики полупроводниковых запоминающих устройств.
- •10.2 Способы организации бис зу.
- •10.3 Классификация полупроводниковых зу.
- •10.3.1. Статические озу (Static Random Access Memory).
- •10.3.2. Озу динамического типа (Dynamic Random Access Memory dram).
- •10.3.4. Кмоп - озу.
- •Лекция №11 запоминающие устройства. (продолжение)
- •11.1. Постоянные зу. (Read Only Memory - rom).
- •11.2. Flash-память.
- •11.3. Корпуса модулей зу.
- •11.4. Наращивание объема и разрядности памяти, построенной на полупроводниковых зу.
- •Лекция № 12 организация магистралей мпс.
- •12.1 Типы магистралей мпс.
- •12.2 Циклы обращения к магистрали.
- •12.3 Примеры архитектур системных магистралей современных мпс.
- •Лекция №13 методы расширения адресного пространства мпс.
- •13.1 Предварительные замечания.
- •13.2 Метод окна.
- •13.3 Метод базовых регистров.
- •13.4 Метод банков.
- •13.5 Метод виртуальной памяти.
- •Лекция №14 система прерываний.
- •14.1 Понятие системы прерываний, классификация систем прерываний.
- •14.2. Организация радиальной системы прерываний.
- •14.3. Расширение радиальной системы прерываний методом поллинга.
- •14.4. Организация векторной системы прерываний.
- •Лекция №15 организация связи мпс с переферийными устройствами.
- •15.1. Классификация способов обмена информацией в мпс.
- •Прямой ввод/ вывод
- •15.3 Условный ввод-вывод.
- •15.4. Режим прямого доступа к памяти.
- •Лекция №16 интерфейсы мпс.
- •16.1. Принципы организации и классификация интерфейсов.
- •16.2. Элементная база интерфейсов.
- •16.3. Средства параллельного ввода/вывода.
- •Лекция №17 расширитель интерфейса для ibm-совместимых пк. Программируемый интервальный таймер.
- •17.1. Расширитель интерфейса рс на основе ппа кр580вв55.
- •17.2 Программируемый интервальный таймер.
- •17.3. Модуль преобразования цифрового кода в шим-сигнал на базе пит.
- •Лекция №18 интерфейсы последовательной связи.
- •18.1. Общая характеристика последовательной связи.
- •18.2. Асинхронные последовательные интерфейсы.
- •18.3. Бис для организации последовательного интерфейса.
- •18.4. Модем.
- •18.5. Стандарты физической связи. Стандарт rs -232- c.
3.2.2. Принципы risc
Осознав указанные факты, многие исследователи начали поиски альтернативных путей повышения производительности процессоров. Было ясно, что нужно попытаться сократить число логических элементов на кристалле МП до минимума. Для этого было необходимо перенести "центр тяжести" на программные средства, оставив минимально возможное число команд, имеющих простую и регулярную структуру. Другими словами, начала формироваться стратегия "длинная программа — короткие команды" в противовес господствующей "короткая программа — длинные команды". Оставалось только найти разумный компромисс между ресурсами, отводимыми основным вычислительным узлам процессора и устройствам управления.
И вскоре этот компромисс был найден. Вначале Джон Кук из IBM Research Labs на своем экспериментальном компьютере "model 801" показал, что при использовании в программе лишь простейших команд формата “регистр—регистр" (операнды извлекаются исключительно из регистров и после выполнения операции помещаются только в регистры) скорость выполнения большинства вычислительных задач возрастает в два-три раза.
Затем учеными Стенфордского университета было показано, что исключение из набора команд сложных операций уменьшает число элементов процессора на порядок за счет упрощения схем управления ресурсами процессора (при этом производительность системы остается практически неизменной). При этом, опыт многочисленных исследователей статистических свойств программ выявил, что 80% процессорного времени обычно тратится на выполнение всего 20% от общего числа инструкций обычных CISC-процессоров. Причем все эти 20% приходятся на команды типа "регистр—регистр".
И наконец, в работах Д. Паттерсона и К. Секуина были сформулированы четыре основных принципа, которые должны быть положены в основу процессоров группы RISC:
а) любая операция, к какому бы типу она ни принадлежала, должна выполняться за один такт;
б) операции обработки данных реализуются только в формате ”регистр—регистр". Обмен между памятью и регистрами (т. е. модификация памяти и чтение из нее необходимых данных) осуществляется только лишь с помощью специальных команд чтения/записи;
в) система команд должна содержать минимальное число наиболее часто используемых простейших команд одинаковой длины;
г) состав системы команд должен быть оптимизирован с учетом требований компиляторов языков высокого уровня.
3.2.3. Особенности risc-процессоров.
Реализация первого принципа осуществляется благодаря использованию так называемого конвейера команд. При этом по первому импульсу тактового генератора в соответствующем устройстве выделяется код операции, который затем передается в устройство декодирования; по второму — в устройстве извлечения выделяется код операции следующей команды, а в устройстве декодирования происходит декодирование первой команды и передача ее в соответствующее исполнительное устройство — АЛУ, сопроцессор и т. д. Третий импульс сопровождается извлечением кода операции третьей команды, декодированием второй и подготовкой данных для выполнения первой.
Таким образом, по каждому из тактовых импульсов на конвейер вступает новая команда, и несколько уже обрабатываются на разных его ступенях. Одновременно, также по каждому из тактовых импульсов, его покидает одна выполненная команда. И хотя на выполнение каждой затрачивается по-прежнему от четырех до семи-восьми тактов (в рассмотренном выше условном конвейере — пять), каждый из них сопровождается, как это и требовалось, выполнением одной команды. Следовательно, если для СISC - процессоров конвейер команд является необязательным (хотя и желательным) элементом, то для RISC-процессоров он обязателен. Отметим, что большинство RISC-процессоров имеют не один, а несколько (от двух до четырех) конвейеров, за что они получили название суперскалярных (в отличие от скалярных — одноконвейерных).
Следующая особенность RISC-процессоров— высокая степень дробления конвейера. В рассмотренном выше примере он состоит из пяти ступеней: извлечения кода операции, декодирования, подготовки операндов, исполнения, сохранения результата. Реально RISC-процессоры характеризуются семидесяти ступенчатыми конвейерами. С увеличением числа ступеней действия, выполняемые на каждой из них, все более и более упрощаются. Последнее означает, что уменьшается число необходимых для этого логических элементов и появляется возможность повысить тактовую частоту процессора. Не случайно RISC-процессоры преодолели барьер 100 МГц существенно раньше СISC-процессоров.
Третья особенность — использование большого числа регистров. Как правило, в RISC-процессорах их не менее 32. Особенно выделяются изделия фирмы MIPS, имеющие сложную многооконную регистровую структуру и позволяющие адресовать до 136 регистров. Подобная свобода (семейство х86 имеет всего восемь регистров общего назначения) позволяет снизить число обращений к относительно медленной оперативной памяти в полтора-два раза (в сравнении с CISC-процессорами), что опять-таки положительно сказывается на росте реальной производительности системы. Добавим к этому, что все RISC-процессоры содержат системы управления кэш-памятью второго уровня, позволяющие работать с ней на максимальной скорости (в СISC-изделиях взаимодействие с кэш-памятью обычно происходит на частоте, более низкой, чем частота самого процессора).
Еще одна особенность RISC-процессоров — развитые средства прогнозирования ветвлений и переходов. В программах для семейства х86 команда перехода встречается в среднем через каждые шесть, в программах для RISC-процессоров, команды которых проще, — через каждые 10... 12 команд. Встретив команду условного перехода, процессор должен сделать предположение о том, выполнится условие или нет, и в зависимости от этого начать предвыборку команд либо с адреса предполагаемого перехода, либо с адреса, следующего за текущим.
Если переход предсказан неправильно, процессору необходимо удалить со всех ступеней конвейера команды, отноящиеся к неверно сделанному предположению, и перезагрузить конвейер. Это особенно сказывается на работе суперскалярных процессоров — на разных ступенях трех-четырех конвейеров может находиться довольно много команд. Их удаление с последующей перезагрузкой приводит к тому, что в течение нескольких тактов конвейер не покидает ни одна команда. Процессор, в котором это случается часто, теряет 20...30% своей производительности. Поэтому RISC-процессоры характеризуются весьма эффективными механизмами предсказания ветвлений.