ФГОУ СПО «САЛАВАТСКИЙ ИНДУСТРИАЛЬНЫЙ КОЛЛЕДЖ»
Микропроцессоры и микропроцессорные системы
Методические указания и задания к контрольной работе для студентов-заочников ССУЗ по специальности 230106 «Техническое обслуживание средств вычислительной техники и компьютерных сетей»
2009
ОДОБРЕНА Предметной (цикловой) Комиссией Председатель ___________ Хамидуллина С.М. |
Составлена в соответствии с Государственными требованиями к минимуму содержания и уровню подготовки выпускника по специальности Зам.директора по УР __________Г.А.Бикташева |
|
Автор: |
||
Преподаватель Салаватского Индустриального колледжа |
М.А.Цуканова |
|
Рецензент: |
||
Преподаватель Салаватского индустриального колледжа |
М.Н.Ховрич |
СОДЕРЖАНИЕ
Введение |
4 |
Тематический план учебной дисциплины специальности 230106 «Техническое обслуживание средств вычислительной техники и компьютерных сетей» |
5 |
Перечень практических работ |
6 |
Экзаменационные вопросы |
7 |
Содержание учебной дисциплины |
8 |
Контрольная работа № 1 |
32 |
Перечень рекомендуемой литературы |
34 |
ВВЕДЕНИЕ
Дисциплина «Микропроцессоры и микропроцессорные системы» предназначена для реализации государственных требований к минимуму содержания и уровню подготовки выпускников по специальности 230106 «Техническое обслуживание вычислительной техники и компьютерных сетей».
Дисциплина «Микропроцессоры и микропроцессорные системы» является специальной дисциплиной, формирующей базовые знания для получения выпускником профессиональных умений.
Дисциплина проводиться в тесной взаимосвязи с общепрофессиональными дисциплинами: «Электронная техника», «Архитектура ЭВМ и вычислительных систем», «Микросхемотехника», «Основы алгоритмизации и программирования».
Использование междисциплинарных связей обеспечивает системность изучения материала дисциплины, исключение дублирования. В результате изучения дисциплины студент должен:
иметь представление:
- о роли и месте знаний по дисциплине в сфере профессиональной деятельности;
- об основных проблемах и перспективах развития микропроцессорной техники;
знать:
- Назначение, функции, характеристики и состав микропроцессорных систем;
- Основные принципы построения МП, микроконтроллеров и МПС
- Функции МП
- Основные команды и типы операндов МП
- Архитектуры построения МП
- Принципы построения многоядерных МП
- Назначение и архитектуру микроконтроллеров
- Назначение, особенности построения МПС
- Сферы использования SMP- и кластерных систем
- Назначение и архитектуру микроконтроллеров
- Назначение, особенности построения МПС
уметь:
- Работать с микропроцессорными системами;
- Идентифицировать МП различных фирм-производителей
- Описывать управляющие сигналы МП
- Устанавливать МП
- Описывать структурную схему МПС
В результате изучения дисциплины студент должен иметь представление о прикладном характере дисциплины в рамках специальности. При изучении соблюдается единство терминологии и обозначений в соответствии с действующими государственными стандартами. Для закрепления теоретических знаний и приобретения необходимых практических навыков предмет предусматривает проведение практических работ, которые проводятся после изучения соответствующей темы. Для проведения практических работ материально-техническая база колледжа соответствует.
Студент-заочник до вызова на сессию изучает самостоятельно разделы курса по рекомендуемой литературе. Освоить материал курса без решения большого числа задач невозможно. Поэтому студент должен разобрать рекомендуемые в настоящих методических указаниях решения типовых задач и отмеченные задачи решить самостоятельно.
Для облегчения самостоятельной работы заочное отделение организует индивидуальные консультации студентов (по расписанию). После изучения разделов курса студент самостоятельно (или с помощью упомянутых консультаций) выполняет контрольную работу, которая должна быть представлена за две недели до экзаменационной сессии.
На сессии студент выполняет практические работы (10 часов) и сдаёт по этим работам зачёт. На экзамене студент должен показать знания теоретического курса и решение практического задания.
На экзамене студент предъявляет зачтённую контрольную работу, в которой должны быть сделаны необходимые исправления по замечаниям рецензента (если таковые имелись в контрольной работе), и должен быть готов дать пояснения по существу решения каждой задачи, входящей в контрольную работу. При сдаче экзамена предъявляются требования в объёме программы курса «Микропроцессоры и микропроцессорные системы».
Тематический план
учебной дисциплины специальности
№230106 «Техническое обслуживание средств
вычислительной техники и компьютерных сетей»
Наименование разделов и тем
|
Количество аудиторных
часов при очной форме обучения |
|
Всего
|
Практические работы |
|
Введение |
2 |
|
Раздел 1. Архитектура микропроцессоров (МП)
|
||
Тема 1.1.Структура и функции МП |
6 |
|
Тема 1.2. Современные архитектуры МП |
4 |
|
Тема 1.3. Сравнение производительности МП |
4 |
|
Раздел 2. Система команд МП
|
||
Тема 2.1 Функции и типы команд, операндов |
4 |
|
Тема 2.2 Типы операций в наборе команд МП фирм Intel, AMD |
4 |
|
Раздел 3. Система адресации МП
|
||
Тема 3.1 Режимы адресации в различных типах МП |
4 |
|
Раздел 4. Современные типы МП
|
||
Тема 4.1 Структурная организация и характеристики МП фирм Intel, AMD |
6 |
|
Тема 4.2 Многоядерные МП |
26 |
20 |
Раздел 5. Микроконтроллеры
|
||
Тема 5.1 Назначение и архитектура микроконтроллеров |
6 |
|
Раздел 6. Микропроцессорные системы (МПС)
|
||
Тема 6.1. Многопроцессорные и многомашинные системы |
14 |
4 |
Тема 6.2. Организация функционирования МПС |
12 |
6 |
Всего:
|
92
|
30
|
Перечень практических работ
Практическая работа 1. Маркировка, идентификация МП
Практическая работа 2. Изучение структуры и управляющих сигналов МП Intel
Практическая работа 3. Изучение структуры и управляющих сигналов МП AMD
Практическая работа 4. Организация кэш-памяти в МП
Практическая работа 5. Установка МП
Практическая работа 6. Изучение структуры и функциональных блоков МПС
Практическая работа 7.Организация совместной работы процессоров в SMP-системе
Практическая работа 8.Построение SMP-системы на базе больших вычислительных машин
ЭКЗАМЕНАЦИОННЫЕ ВОПРОСЫ
Теоретические задания:
1. Поколения МП |
2. Эволюция техпроцесса изготовления процессоров |
3. Структура и функции процессора |
4. Производительность МП, методы повышения быстродействия МП |
5. Характеристики и структурная организация МП класса Pentium |
6. Характеристики и структурная организация МП класса Pentium II |
7. Характеристики и структурная организация МП класса Pentium III, IV |
8. Типы современных архитектур: CISC, RISC |
9. Напряжение питания и способы охлаждения современных МП |
10. Характеристики и функции наборов команд МП различных поколений |
11. Формат и компоненты машинной команды |
12. Принципы конвейерной обработка команд |
13. Проектирование набора машинных команд |
14. Типы операндов и операций |
15. Режимы адресации команд: прямая, непосредственная, регистровая, косвенная |
16. Режимы адресации команд МП фирм Intel, AMD |
17. Структурная организация и характеристики МП фирмы Intel |
18. Структурная организация и характеристики МП фирмы AMD |
19. Принцип построения многоядерных процессоров, сфера их использования |
20. Характеристики и особенности построения ядер для МП Celeron |
21. Характеристики и особенности построения ядер для МП Pentium IV |
22. Характеристики и особенности построения ядер для МП Athlon |
23. Особенности построения и характеристики МП для ноутбуков |
24. Особенности построения и характеристики МП для карманных компьютеров |
Практические задания:
1. Описать функциональные блоки МП Intel |
2. Описать функциональные блоки МП AMD |
3. Описать функциональные блоки двухъядерных МП |
4. Расписать буквенную маркировку процессоров Intel |
5. Расписать буквенную маркировку процессоров AMD |
6. Записать типы и виды первых 5 параметров, названия которых даны на рисунке. |
7. Записать типы и виды 5 параметров (с 6-го по 10-й), названия которых даны на рисунке. |
Рисунок к практическим заданиям № 6, 7
Содержание учебной дисциплины
Введение
Студент должен иметь представление:
- о роли и месте знаний по дисциплине в процессе освоения основной профессиональной образовательной программы по специальности;
- об основных проблемах и перспективах развития микропроцессорной техники;
- о микропроцессорах (МП) и микропроцессорных системах (МПС),
Дисциплина «Микропроцессоры и микропроцессорные системы», ее основные задачи и связь с другими дисциплинами. Основные проблемы и перспективы развития современных микропроцессоров и микропроцессорных систем
Значение МП для вычислительной техники, назначение и применение МП в вычислительной технике.
Теоретическое обоснование
Микропроцессорная система
(МПС) представляет собой функционально законченное изделие, состоящее из одного или нескольких устройств, основу которой составляет микропроцессор
Рисунок 1 – Структура микропроцессорной системы
Особенности микропроцессорных систем:
- Гибкая логика работы — меняется в зависимости от задачи;
- Универсальность — может решать очень много задач;
- Простота проектирования аппаратуры — единообразие схемотехнических решений;
- Простота отладки — единообразие системы связей и протоколов обмена;
- Аппаратурная избыточность, особенно для простых задач;
- Ниже быстродействие, чем у устройств с жёсткой логикой;
- Необходимость разработки и отладки программного обеспечения.
Раздел 1. Архитектура микропроцессоров (МП)
Студент должен знать
:
- классификацию микропроцессоров
- типовую структуру МП
- отличительные особенности архитектур МП типа CISC, RISC
- принципы определения производительности МП
- принципы охлаждения МП
Назначение, классификация и функции. Структура типового МП, логическая структура и устройство управления МП. Типы современных архитектур: CISC, RISC. Идентификация и сравнение производительности МП. Питание и охлаждение МП.
Теоретическое обоснование
В 1946 году фон Нейман и его коллеги по Институту современных исследований в Принстоне (Prinston Institute for Advanced Studies — IAS) начали работу над проектом нового компьютера с хранимой программой, известного в научном мире под именем компьютера IAS. Этой компьютер, проектирование и изготовление которого завершилось только в 1952 году, стал прототипом всех последующих компьютеров общего назначения с хранимой программой. На рисунке 2 показана блок-схема компьютера IAS. В состав компьютера входят:
- устройство оперативной памяти, в котором хранятся данные и команды программы;
- арифметическое и логическое устройство (АЛУ), которое обрабатывает данные, представленные в двоичной системе счисления;
- устройство управления выполнением программы (УУ), которое анализирует команды программы, извлекаемые из памяти, и организует их выполнение;
- оборудование ввода-вывода, работающее в соответствии с сигналами, поступающими от УУ.
Рисунок 2 – Блок-схема компьютера IAS
Основные термины:
- Процессор — обработчик и вычислитель, выполняющий все операции над кодами и сигналами;
- Программа — набор управляющих кодов (команд), определяющих логику работы системы;
- Команда — управляющий код, указывающий процессору, что ему надо делать в данный момент;
- Шина (магистраль, канал) — линии связи, объединяющие устройства микропроцессорной системы;
- Интерфейс (сопряжение) — соглашение об обмене информацией, а также технические средства для реализации этого обмена.
Микропроцессор
(МП) – это программно-управляемое устройство, которое предназначено для обработки цифровой информации и управления процессом этой обработки и выполнено в виде одной или нескольких больших интегральных схем (БИС).
Понятие большая интегральная схема
в настоящее время четко не определено. Ранее считалось, что к этому классу следует относить микросхемы, содержащие более 1000 элементов на кристалле. И действительно, в эти параметры укладывались первые микропроцессоры. Например, 4-разрядная процессорная секция микропроцессорного комплекта К584, выпускавшегося в конце 1970-х годов, содержала около 1500 элементов. Сейчас, когда микропроцессоры содержат десятки миллионов транзисторов и их количество непрерывно увеличивается, под БИС будем понимать функционально сложную интегральную схему.
Микропроцессор характеризуется большим количеством параметров и свойств, так как он является, с одной стороны, функционально сложным вычислительным устройством, а с другой –электронным прибором, изделием электронной промышленности. Как средство вычислительной техники он характеризуется прежде всего своей архитектурой
, то есть совокупностью программно-аппаратных свойств, предоставляемых пользователю. Сюда относятся система команд, типы и форматы обрабатываемых данных, режимы адресации, количество и распределение регистров, принципы взаимодействия с оперативной памятью и внешними устройствами (характеристики системы прерываний, прямой доступ к памяти и т. д.). По своей архитектуре микропроцессоры разделяются на несколько типов (рисунок 3).
Универсальные микропроцессоры
предназначены для решения задач цифровой обработки различного типа информации от инженерных расчетов до работы с базами данных, не связанных жесткими ограничениями на время выполнения задания. Этот класс микропроцессоров наиболее широко известен. К нему относятся такие известные микропроцессоры, как МП ряда Pentium, Core фирмы Intel и МП семейства Athlon фирмы AMD.
Рисунок 3 - Классификация микропроцессоров
Характеристики универсальных микропроцессоров:
- разрядность: определяется максимальной разрядностью целочисленных данных, обрабатываемых за 1 такт, то есть фактически разрядностью арифметико-логического устройства (АЛУ);
- виды и форматы обрабатываемых данных;
- система команд, режимы адресации операндов;
- емкость прямоадресуемой оперативной памяти: определяется разрядностью шины адреса;
- частота внешней синхронизации. Для частоты синхронизации обычно указывается ее максимально возможное значение, при котором гарантируется работоспособность схемы. Для функционально сложных схем, к которым относятся и микропроцессоры, иногда указывают также минимально возможную частоту синхронизации. Уменьшение частоты ниже этого предела может привести к отказу схемы. В то же время в тех применениях МП, где не требуется высокое быстродействие, снижение частоты синхронизации - одно из направлений энергосбережения. В ряде современных микропроцессоров при уменьшении частоты он переходит в <спящий режим>, при котором сохраняет свое состояние. Частота синхронизации в рамках одной архитектуры позволяет сравнить производительность микропроцессоров. Но разные архитектурные решения влияют на производительность гораздо больше, чем частота;
- производительность: определяется с помощью специальных тестов, при этом совокупность тестов подбирается таким образом, чтобы они по возможности покрывали различные характеристики микроархитектуры процессоров, влияющие на производительность.
Универсальные микропроцессоры принято разделять на CISC
- и RISC-микропроцессоры.
CISC-микропроцессоры
(completed instruction set computing - вычисления с полной системой команд) имеют в своем составе весь классический набор команд с широко развитыми режимами адресации операндов. Именно к этому классу относятся, например, микро процессоры типа Pentium. В то же время RISC-микропроцессоры
(reduced instruction set computing - вычисления с сокращенной системой команд) используют, как следует из определения, уменьшенное количество команд и режимов адресации. Здесь прежде всего следует выделить такие микропроцессоры, как Alpha 21x64, Power PC. Количество команд в системе команд - наиболее очевидное, но на сегодняшний день не самое главное различие в этих направлениях развития универсальных микропроцессоров.
Как электронное изделие
микропроцессор характеризуется рядом параметров, наиболее важными из которых являются следующие:
- Требования к синхронизации: максимальная частота, стабильность.
- Количество и номиналы источников питания, требования к их стабильности. В настоящее время существует тенденция к уменьшению напряжения питания, что сокращает тепловыделение схемы и ведет к повышению частоты ее работы. Если первые микропроцессоры работали при напряжении питания+-15В, то сейчас отдельные схемы используют источники менее 1 В.
- Мощность рассеяния
- это мощность потерь в выходном каскаде схемы, превращающаяся в тепло и нагревающая выходные транзисторы. Иначе говоря, она характеризует показатель тепловыделения БИС, что во многом определяет требования к конструктивному оформлению микропроцессорной системы. Эта характеристика особенно важна для встраиваемых МПС.
- Уровни сигналов логического нуля и логической единицы, которые связаны с номиналами источников питания.
- Тип корпуса - позволяет оценить пригодность схемы для работы в тех или иных условиях, а также возможность использования новой БИС в качестве замены существующей на плате.
- Температура окружающей среды, при которой может работать схема. Здесь выделяют два диапазона:
- коммерческий (0 0
С … +700
С);
- расширенный (-40 0
С … +85 0
С).
- Помехоустойчивость
- определяет способность схемы выполнять свои функции при наличии помех. Помехоустойчивость оценивается интенсивностью помех, при которых нарушение функций устройства еще не превышает допустимых пределов. Чем сильнее помеха, при которой устройство остается работоспособным, тем выше его помехоустойчивость.
- Нагрузочная способность,
или коэффициент разветвления по выходу, определяется числом схем этой же серии, входы которых могут быть присоединены к выходу данной схемы без нарушения ее работоспособности. Чем выше нагрузочная способность, тем шире логические возможности схемы и тем меньше таких микросхем необходимо для построения сложного вычислительного устройства. Однако с увеличением этого коэффициента ухудшаются помехоустойчивость и быстродействие.
- Надежность
- это способность схемы сохранять свой уровень качества функционирования при установленных условиях за установленный период времени. Обычно характеризуется интенсивностью отказов (час-1) или средним временем наработки на отказ (час). В настоящее время этот параметр для больших инте- гральных схем обычно не указывается изготовителем. О надежности МП БИС можно судить по косвенным показателям, например, по приводимой разработчиками средств вычислительной техники надежности изделия в целом.
- Характеристики технологического процесса. Основной показатель здесь - разрешающая способность процесса. В настоящее время она составляет 32 нм, то есть около 30 тыс. линий на 1 мм. Более совершенный технологический процесс позволяет создать микропроцессор, обладающий большими функциональными возможностями.
Внутренняя структура микропроцессора. Арифметико-логический блок: арифметико-логическое устройство, аккумулятор, математический сопроцессор. Устройство управления: регистр команд, счетчик PC. Регистровое запоминающее устройство: регистры общего назначения, регистры специального назначения. Системная магистраль микропроцессорной системы: шина данных, шина управления, шина адреса.
Обобщенная структурная схем МП дана на рисунке 4.
Рисунок 4 – Обобщенная структурная схема МП
В универсальном 32-разрядном микропроцессоре выделяют следующие группы регистров
:
- основные функциональные регистры;
- регистры процессора с плавающей точкой;
- системные регистры;
- регистры отладки и тестирования.
Первые две группы регистров используются прикладными программами, последние две группы - системными программами, имеющими наивысший уровень привилегий.
Рассмотрим каждую из этих групп подробнее.
Основные функциональные регистры
В состав регистров этой группы входят:
- регистры общего назначения;
- регистр указателя команд;
- регистр флагов;
- сегментные регистры.
Состав и структура регистров общего назначения
представлены на рисунке 5
Блок состоит из восьми 32-разрядных регистров. К каждому из них можно обращаться как к одному двойному слову (32 разряда).
Отметим, что понятие "слово" в данной архитектуре не идентично разрядности микропроцессора. Исторически сложилось так, что под словом
понимается единица информации длиной 2 байта, или 16 двоичных разрядов. К младшим 16 разрядам регистров общего назначения можно обращаться так же, как и в 16-разрядном микропроцессоре (AX, BX…SP). Четыре 16-разрядных регистра AX, BX, CX, DX допускают обращение отдельно к своему старшему и младшему байту. Тем самым регистры позволяют на программном уровне работать либо с восемью 32-разрядными, либо с восемью 16-разрядными, либо с восемью 8-разрядными регистрами.
Рисунок 5 - Регистры общего назначения
Все эти регистры используются для хранения промежуточных результатов вычислений и составных частей адреса при различных режимах адресации операндов, расположенных в памяти.
Кроме того, ряд регистров этого блока имеют свое, присущее только им назначение:
- EAX/AX/AL - регистр-аккумулятор, используется для сокращения длины команды при работе с непосредственными операндами;
- AX/AL - приемник (источник) данных в командах ввода (вывода) данных из (в) внешнего устройства;
- DX - определяет адрес ВУ в командах ввода (вывода) данных;
- ECX - используется в качестве счетчика циклов в командах циклов;
- BP, SP - используются при работе со стеком;
- ESI, EDI (DI, SI) - определяют положение строк в памяти в командах обработки строк.
Регистр указателя команд и регистр флагов
имеют длину 32 разряда.
Младшее слово каждого из этих регистров (разряды 0-15) функционально соответствует аналогичным разрядам в 16-разрядном микропроцессоре (рис. 2.2).
Рисунок 6 - Регистр указателя команд и регистр флагов
Регистр указателя команд
EIP хранит смещение адреса команд относительно начала сегмента кода (сегмента команд).
Регистр флагов
EFLAGS содержит признаки результата выполненной команды, а также разряды, управляющие работой микропроцессора: обработкой маскированных прерываний, последовательностью вызываемых задач, вводом-выводом и рядом других действий. Из этих флагов рассмотрим только наиболее значимые и интересные с точки зрения дальнейшего изучения работы микропроцессора.
К битам состояния
регистра флагов относятся:
- ZF - признак нуля результата (ZF = 1, если все разряды результата равны 0);
- SF - знак результата (SF = 1, если старший разряд результата равен 1, то есть если результат отрицательный);
- OF - признак переполнения (OF = 1, если при выполнении арифметических операций над числами со знаком происходит переполнение разрядной сетки);
- CF - флаг переноса (CF = 1, если выполнение операции сложения приводит к переносу за пределы разрядной сетки), устанавливается также в некоторых других операциях;
- PF - признак четности (дополняет до нечетного числа единиц младший байт результата);
- AF - флаг полупереноса (используется при операциях над двоичнодесятичными числами);
- DF - устанавливается пользователем и определяет порядок обработки строк символов в соответствующих командах: декремент (при DF = 1) или инкремент (при DF = 0) содержимого индексных регистров
- ESI, EDI (SI, DI) после обработки одного символа.
Основным способом организации МПС является магистрально-модульный (рисунок 7): все устройства, включая и микропроцессор, представляются в виде модулей, которые соединяются между собой общей магистралью. Обмен информацией по магистрали удовлетворяет требованиям некоторого общего интерфейса, установленного для магистрали данного типа. Каждый модуль подключается к магистрали посредством специальных интерфейсных схем.
Рисунок 7 - Магистрально-модульный принцип построения микропроцессорной системы
На интерфейсные схемы модулей возлагаются следующие задачи:
- обеспечение функциональной и электрической совместимости сигналов и протоколов обмена модулей и системной магистрали;
- преобразование внутреннего формата данных модуля в формат данных системной магистрали и обратно;
- обеспечение восприятия единых команд обмена информацией и преобразование их в последовательность внутренних управляющих сигналов.
Эти интерфейсные схемы могут быть достаточно сложными. Обычно они выполняются в виде специализированных микропроцессорных БИС. Такие схемы принято называть контроллерами
.
Контроллеры
обладают высокой степенью автономности, что позволяет обеспечить параллельную во времени работу периферийных устройств и выполнение программы обработки данных микропроцессором.
Кроме того, предварительно буферируя данные, контроллеры обеспечивают пересылку сразу для многих слов, расположенных по подряд идущим адресам, что позволяет использование так называемого "взрывного" (burst) режима работы шины - 1 цикл адреса и следующие за ним многочисленные циклы данных.
Недостатком магистрально-модульного способа организации ЭВМ является невозможность одновременного взаимодействия более двух модулей, что ставит ограничение на производительность компьютера.
Взаимодействие микропроцессора с оперативной памятью (ОП) и внешними устройствами (ВУ) проиллюстрировано на рисунке 8.
Рисунок 8 - Взаимодействие микропроцессора с оперативной памятью и внешними устройствами
Микропроцессор формирует адрес внешнего устройства или ячейки оперативной памяти и вырабатывает управляющие сигналы - либо IOR/IOW при обращении на чтение/запись из внешнего устройства, либо MR/MW для чтения/записи из оперативной памяти.
Состав шины:
- Шина адреса
(Address Bus) — для пересылки кода адреса (индивидуального номера устройства, участвующего в обмене в данный момент).
- Шина данных
(Data Bus) — для пересылки данных между устройствами. Двунаправленная шина, состоит из нескольких байтов (1, 2, 4, 8);
- Шина управления
(Control Bus) — для пересылки отдельных управляющих сигналов: тактовых, стробирующих, подтверждающих, инициирующих и т.д.;
- Шина питания
(Power Bus) — для подведения к устройствам напряжений питания
Этапы развития архитектуры универсальных микропроцессоров
Первый микропроцессор был разработан фирмой Intel в 1971 году. Он получил название I-4004, имел 4-разрядную структуру и был ориентирован на использование в калькуляторах. Впоследствии этой же фирмой был выпущен еще один 4-разрядный микропроцессор - I-4040.
На протяжении многих лет крупнейшими разработчиками и производителями универсальных микропроцессоров в мире являются компании Intel (70-75 % мирового производства) и Advanced Micro Devices (AMD), занимающая 20-25 % рынка. Их разработки идут во многом параллельными путями. В нашем курсе мы будем рассматривать развитие архитектуры универсальных микропроцессоров на примере микропроцессоров фирмы Intel.
В 1972 году на рынке появился 8-разрядный МП I-8008, а вслед за ним, в 1974 году,- I-8080. Последний микропроцессор сыграл значительную роль в развитии микропроцессорной техники. Во многом он заложил основы архитектуры для всех последующих поколений микропроцессоров. Он имеет раздельные 8-разрядную шину данных и 16-разрядную шину адреса, возможность подключения памяти емкостью до 64 Кбайт и до256 внешних устройств. Микропроцессор содержит 16-разрядные указатель команд
(Instruction Pointer - IP) и указатель стека
(Stack Pointer - SP), шесть 8-разрядных регистров общего назначения (РОН), которые могут использоваться как три 16-разрядные. Система команд состоит из 78 базовых команд. При загрузке операнда из памяти применяется прямая, косвенная регистровая или стековая адресация. В общем случае программист может использовать регистровую, прямую, косвенную, непосредственную, индексную, прямую и косвенную автоинкрементную и автодекрементную адресации.
Микропроцессор содержит входные и выходные интерфейсные сигналы, обеспечивающие реакцию на сигналы запросов внешних прерываний, организацию прямого доступа к памяти, а также согласование своего цикла работы с медленными внешними устройствами (ВУ).
БИС данного микропроцессорного комплекта вследствие хороших архитектурных решений, широкой номенклатуры и совместимости до сих пор можно встретить в некоторых цифровых устройствах, не требующих высокого быстродействия и разрядности, а идеи, заложенные в таких схемах, как контроллер прерываний и контроллер прямого доступа к памяти, используются в современных наборах системной логики - чипсетах.
Очередным крупным шагом в развитии микропроцессорной техники стало появление в 1978 году 16-разрядных универсальных микропроцессоров. Здесь прежде всего следует выделить микропроцессор I-8086, выпускавшийся отечественной электронной промышленностью в составе семейства К1810. Эти микропроцессоры, заложившие основы архитектуры x86, использовались при производстве первых персональных ЭВМ.
Основными отличительными чертами в архитектуре этого микропроцессора стали:
- увеличение разрядности регистров общего назначения до 16 бит;
- увеличение количества регистров общего назначения до 8;
- увеличение количества режимов адресации операндов;
- расширение количества флагов в регистре признаков, в том числе за счет введения флагов управления, обеспечивающих, например, возможность запрета внешних маскируемых прерываний;
- появление сегментного механизма обращения к памяти, который обеспечил возможность обращения к памяти емкостью до 1 Мбайт при использовании 16-разрядных регистров.
Появившийся вслед за этим в 1982 году микропроцессор i286 явился переходной ступенью к 32-разрядным универсальным микропроцессорам. В процессоре i286 было реализовано два режима работы - защищенный и реальный. В реальном режиме
работы процессор был полностью совместим с выпускавшимися ранее 16-разрядными микропроцессорами с архитектурой x86. В формировании адреса участвовали только 20 линий, поэтому максимальная емкость адресуемой памяти в этом режиме осталась прежней - 1 Мбайт. В защищенном режиме
процессор мог адресовать до 1 Гбайт виртуальной памяти. Шина адреса увеличена до 24 бит, поэтому емкость адресуемой памяти составляла 16 Мбайт. Для защиты от несанкционированного доступа к программам и данным и выполнения привилегированных команд, которые могут кардинально изменить состояние всей системы, в процессоре i286 была введена защита по привилегиям. С этой целью микропроцессор поддерживал 4 уровня привилегий. Для выполнения операций над числами с плавающей точкой была разработана отдельная БИС - математический сопроцессор 80287.
В 1985 году был выпущен 32-разрядный универсальный микропроцессор i386 - первый полноценный представитель архитектуры IA-32 (Intel Architecture-32). Развитие этой архитектуры продолжалось вплоть до последних моделей микропроцессора Pentium 4. Данную архитектуру отличает ряд изменений, некоторые из которых имеют чисто количественное значение, а другие носят принципиальный характер.
Главным внешним отличием является увеличение разрядности шины данных и шины адреса до 32 бит. Это, в свою очередь, связано с изменениями в разрядности внутренних элементов микропроцессора.
Большие качественные изменения произошли на уровне работы микропроцессора в защищенном режиме,
который был существенно развит по сравнению с i286. Отметим основные черты этого режима.
- Принципиально меняется механизм формирования физического адреса. Прежде всего, изменяется механизм использования сегментированной памяти. Сегменты в защищенном режиме могут иметь произвольную длину и располагаться в памяти начиная с произвольного адреса. Каждый сегмент снабжается рядом атрибутов (базовый адрес, длина сегмента, его тип, уровень защиты и т. п.), которые хранятся в специальной структуре, называемой дескриптором сегмента
, и используются блоком управления памятью микропроцессора при формировании физических адресов операндов и команд. Появляется возможность использования страничного механизма
организации памяти. Страница
- это раздел памяти, который, в отличие от сегмента, имеет фиксированную длину. Страничная организация памяти служит основой виртуальной памяти и беспечивает более эффективное, по сравнению с сегментной, использование памяти.
- Организуется аппаратная поддержка мультипрограммного режима работы,
при котором в памяти одновременно содержатся программы и данные для выполнения нескольких задач. Каждой задаче предоставляется свой <виртуальный процессор>. В каждый момент времени реальный процессор предоставляется одному из виртуальных процессоров, выполняющему свою задачу.
- С целью обеспечения защиты информации и упрощения организации мультипрограммного режима работы микропроцессор снабжается специальными механизмами, определяющими, какие операции и обращения к памяти разрешается производить процессору при выполнении текущей задачи.
За время, прошедшее после появления первого 32-разрядного микропроцессора, только фирмой Intel было выпущено несколько десятков модификаций 32-разрядных МП. Изменения в некоторых моделях носили принципиальный характер, а ряд моделей содержали в основном лишь количественные изменения отдельных параметров (частота, емкость кэш-памяти и т. п.).
Вопросы для самоконтроля[1,2]:
1. Принципы фон Неймана?
2. Основные характеристики МП
3. Какие регистры входят в состав МП?
4. Основные команды МП?
5. Магистрально-модульный способ организации ЭВМ?
Раздел 2. Система команд МП
Студент должен знать
:
- основные команды МП
- структуру команд
- типы операндов, с которыми работают команды МП
- команды наборов МП Intel
- команды наборов МП AMD
Характеристики и функции команд. Типы операндов и операций, типы операций в наборе команд МП фирм Intel, AMD
Теоретическое обоснование
Система команд микропроцессора
В общем случае система команд процессора включает в себя следующие четыре основные группы команд:
- команды пересылки данных;
- арифметические команды;
- логические команды;
- команды переходов.
Команды пересылки данных не требуют выполнения никаких операций над операндами. Операнды просто пересылаются (точнее, копируются) из источника (Source) в приемник (Destination). Источником и приемником могут быть внутренние регистры процессора, ячейки памяти или устройства ввода/вывода. АЛУ в данном случае не используется.
Арифметические команды выполняют операции сложения, вычитания, умножения, деления, увеличения на единицу (инкрементирования), уменьшения на единицу (декрементирования) и т.д. Этим командам требуется один или два входных операнда. Формируют команды один выходной операнд.
Логические команды производят над операндами логические операции, например, логическое И, логическое ИЛИ, исключающее ИЛИ, очистку, инверсию, разнообразные сдвиги (вправо, влево, арифметический сдвиг, циклический сдвиг). Этим командам, как и арифметическим, требуется один или два входных операнда, и формируют они один выходной операнд.
Наконец,
команды переходов предназначены для изменения обычного порядка последовательного выполнения команд. С их помощью организуются переходы на подпрограммы и возвраты из них, всевозможные циклы, ветвления программ, пропуски фрагментов программ и т.д. Команды переходов всегда меняют содержимое счетчика команд. Переходы могут быть условными и безусловными. Именно эти команды позволяют строить сложные алгоритмы обработки информации.
В соответствии с результатом каждой выполненной команды устанавливаются или очищаются биты регистра состояния процессора (PSW). Но надо помнить, что не все команды изменяют все имеющиеся в PSW флаги. Это определяется особенностями каждого конкретного процессора.
У разных процессоров системы команд существенно различаются, но в основе своей они очень похожи. Количество команд у процессоров также различно. У современных мощных процессоров количество команд достигает нескольких сотен. В то же время существуют процессоры с сокращенным набором команд (так называемые RISC-процессоры), в которых за счет максимального сокращения количества команд достигается увеличение эффективности и скорости их выполнения.
Рассмотрим теперь особенности четырех выделенных групп команд процессора более подробно.
Команды пересылки данных
Команды пересылки данных занимают очень важное место в системе команд любого процессора. Они выполняют следующие важнейшие функции:
- загрузка (запись) содержимого во внутренние регистры процессора;
- сохранение в памяти содержимого внутренних регистров процессора;
- копирование содержимого из одной области памяти в другую;
- запись в устройства ввода/вывода и чтение из устройств ввода/вывода.
В некоторых процессорах все эти функции выполняются одной единственной командой MOV (для байтовых пересылок — MOVB) но с различными методами адресации операндов.
В других процессорах помимо команды MOV имеется еще несколько команд для выполнения перечисленных функций. Например, для загрузки регистров могут использоваться команды загрузки, причем для разных регистров — разные команды (их обозначения обычно строятся с использованием слова LOAD — загрузка). Часто выделяются специальные команды для сохранения в стеке и для извлечения из стека (PUSH — сохранить в стеке, POP — извлечь из стека). Эти команды выполняют пересылку с автоинкрементной и с автодекрементной адресацией (даже если эти режимы адресации не предусмотрены в процессоре в явном виде).
Также к командам пересылки данных относятся команды обмена информацией (их обозначение строится на основе слова Exchange). Может быть предусмотрен обмен информацией между внутренними регистрами, между двумя половинами одного регистра (SWAP) или между регистром и ячейкой памяти.
Арифметические команды
Арифметические команды рассматривают коды операндов как числовые двоичные или двоично-десятичные коды. Эти команды могут быть разделены на пять основных групп:
- команды операций с фиксированной запятой (сложение, вычитание, умножение, деление);
- команды операций с плавающей запятой (сложение, вычитание, умножение, деление);
- команды очистки;
- команды инкремента и декремента;
- команда сравнения.
Команды операций с фиксированной запятой работают с кодами в регистрах процессора или в памяти как с обычными двоичными кодами. Команда сложения (ADD) вычисляет сумму двух кодов. Команда вычитания (SUB) вычисляет разность двух кодов. Команда умножения (MUL) вычисляет произведение двух кодов (разрядность результата вдвое больше разрядности сомножителей). Команда деления (DIV) вычисляет частное от деления одного кода на другой. Причем все эти команды могут работать как с числами со знаком, так и с числами без знака.
Команды операций с плавающей запятой (точкой) используют формат представления чисел с порядком и мантиссой (обычно эти числа занимают две последовательные ячейки памяти). В современных мощных процессорах набор команд с плавающей запятой не ограничивается только четырьмя арифметическими действиями, а содержит и множество других более сложных команд, например, вычисление тригонометрических функций, логарифмических функций, а также сложных функций, необходимых при обработке звука и изображения.
Команды очистки (CLR) предназначены для записи нулевого кода в регистр или ячейку памяти. Эти команды могут быть заменены командами пересылки нулевого кода, но специальные команды очистки обычно выполняются быстрее, чем команды пересылки. Команды очистки иногда относят к группе логических команд, но суть их от этого не меняется.
Команды инкремента (увеличения на единицу, INC) и декремента (уменьшения на единицу, DEC) также бывают очень удобны. Их можно в принципе заменить командами суммирования с единицей или вычитания единицы, но инкремент и декремент выполняются быстрее, чем суммирование и вычитание. Эти команды требуют одного входного операнда, который одновременно является и выходным операндом.
Логические команды
Логические команды выполняют над операндами логические (побитовые) операции, то есть они рассматривают коды операндов не как единое число, а как набор отдельных битов. Этим они отличаются от арифметических команд. Логические команды выполняют следующие основные операции:
- логическое И, логическое ИЛИ, сложение по модулю 2 (Исключающее ИЛИ);
- логические, арифметические и циклические сдвиги;
- проверка битов и операндов;
- установка и очистка битов (флагов) регистра состояния процессора (PSW).
Команды логических операций позволяют побитно вычислять основные логические функции от двух входных операндов. Кроме того, операция И (AND) используется для принудительной очистки заданных битов (в качестве одного из операндов при этом используется код маски, в котором разряды, требующие очистки, установлены в нуль). Операция ИЛИ (OR) применяется для принудительной установки заданных битов (в качестве одного из операндов при этом используется код маски, в котором разряды, требующие установки в единицу, равны единице). Операция "Исключающее ИЛИ" (XOR) используется для инверсии заданных битов (в качестве одного из операндов при этом применяется код маски, в котором биты, подлежащие инверсии, установлены в единицу). Команды требуют двух входных операндов и формируют один выходной операнд.
Команды сдвигов позволяют побитно сдвигать код операнда вправо (в сторону младших разрядов) или влево (в сторону старших разрядов). Тип сдвига (логический, арифметический или циклический) определяет, каково будет новое значение старшего бита (при сдвиге вправо) или младшего бита (при сдвиге влево), а также определяет, будет ли где-то сохранено прежнее значение старшего бита (при сдвиге влево) или младшего бита (при сдвиге вправо). Например, при логическом сдвиге вправо в старшем разряде кода операнда устанавливается нуль, а младший разряд записывается в качестве флага переноса в регистр состояния процессора. А при арифметическом сдвиге вправо значение старшего разряда сохраняется прежним (нулем или единицей), младший разряд также записывается в качестве флага переноса.
Циклические сдвиги позволяют сдвигать биты кода операнда по кругу (по часовой стрелке при сдвиге вправо или против часовой стрелки при сдвиге влево). При этом в кольцо сдвига может входить или не входить флаг переноса. В бит флага переноса (если он используется) записывается значение старшего бита при циклическом сдвиге влево и младшего бита при циклическом сдвиге вправо. Соответственно, значение бита флага переноса будет переписываться в младший разряд при циклическом сдвиге влево и в старший разряд при циклическом сдвиге вправо.
Команды установки и очистки битов регистра состояния процессора (то есть флагов) позволяют установить или очистить любой флаг, что бывает очень удобно. Каждому флагу обычно соответствуют две команды, одна из которых устанавливает его в единицу, а другая сбрасывает в нуль.
Команды переходов
Команды переходов предназначены для организации всевозможных циклов, ветвлений, вызовов подпрограмм и т.д., то есть они нарушают последовательный ход выполнения программы. Эти команды записывают в регистр-счетчик команд новое значение и тем самым вызывают переход процессора не к следующей по порядку команде, а к любой другой команде в памяти программ. Некоторые команды переходов предусматривают в дальнейшем возврат назад, в точку, из которой был сделан переход, другие не предусматривают этого. Если возврат предусмотрен, то текущие параметры процессора сохраняются в стеке. Если возврат не предусмотрен, то текущие параметры процессора не сохраняются.
Команды переходов без возврата делятся на две группы:
- команды безусловных переходов;
- команды условных переходов.
В обозначениях этих команд используются слова Branch (ветвление) и Jump (прыжок).
Команды безусловных переходов вызывают переход в новый адрес независимо ни от чего. Они могут вызывать переход на указанную величину смещения (вперед или назад) или же на указанный адрес памяти. Величина смещения или новое значение адреса указываются в качестве входного операнда.
Команды условных переходов вызывают переход не всегда, а только при выполнении заданных условий. В качестве таких условий обычно выступают значения флагов в регистре состояния процессора (PSW). То есть условием перехода является результат предыдущей операции, меняющей значения флагов. Всего таких условий перехода может быть от 4 до 16. Несколько примеров команд условных переходов:
- переход, если равно нулю;
- переход, если не равно нулю;
- переход, если есть переполнение;
- переход, если нет переполнения;
- переход, если больше нуля;
- переход, если меньше или равно нулю.
Если условие перехода выполняется, то производится загрузка в регистр-счетчик команд нового значения. Если же условие перехода не выполняется, счетчик команд просто наращивается, и процессор выбирает и выполняет следующую по порядку команду.
Специально для проверки условий перехода применяется команда сравнения (CMP), предшествующая команде условного перехода (или даже нескольким командам условных переходов). Но флаги могут устанавливаться и любой другой командой, например командой пересылки данных, любой арифметической или логической командой. Отметим, что сами команды переходов флаги не меняют, что как раз и позволяет ставить несколько команд переходов одну за другой.
Совместное использование нескольких команд условных и безусловных переходов позволяет процессору выполнять разветвленные алгоритмы любой сложности.
Команды переходов с дальнейшим возвратом в точку, из которой был произведен переход, применяются для выполнения подпрограмм, то есть вспомогательных программ. Эти команды называются также командами вызова подпрограмм (распространенное название — CALL). Использование подпрограмм позволяет упростить структуру основной программы, сделать ее более логичной, гибкой, легкой для написания и отладки. В то же время надо учитывать, что широкое использование подпрограмм, как правило, увеличивает время выполнения программы.
Все команды переходов с возвратом предполагают безусловный переход (они не проверяют никаких флагов). При этом они требуют одного входного операнда, который может указывать как абсолютное значение нового адреса, так и смещение, складываемое с текущим значением адреса. Текущее значение счетчика команд (текущий адрес) сохраняется перед выполнением перехода в стеке.
Для обратного возврата в точку вызова подпрограммы (точку перехода) используется специальная команда возврата (RET или RTS). Эта команда извлекает из стека значение адреса команды перехода и записывает его в регистр-счетчик команд.
Особое место среди команд перехода с возвратом занимают команды прерываний (распространенное название — INT). Эти команды в качестве входного операнда требуют номер прерывания (адрес вектора). Обслуживание таких переходов осуществляется точно так же, как и аппаратных прерываний. То есть для выполнения данного перехода процессор обращается к таблице векторов прерываний и получает из нее по номеру прерывания адрес памяти, в который ему необходимо перейти. Адрес вызова прерывания и содержимое регистра состояния процессора (PSW) сохраняются в стеке. Сохранение PSW — важное отличие команд прерывания от команд переходов с возвратом.
Команды прерываний во многих случаях оказываются удобнее, чем обычные команды переходов с возвратом. Сформировать таблицу векторов прерываний можно один раз, а потом уже обращаться к ней по мере необходимости. Номер прерывания соответствует номеру подпрограммы, то есть номеру функции, выполняемой подпрограммой. Поэтому команды прерывания гораздо чаще включаются в системы команд процессоров, чем обычные команды переходов с возвратом.
Для возврата из подпрограммы, вызванной командой прерывания, используется команда возврата из прерывания (IRET или RTI). Эта команда извлекает из стека сохраненное там значение счетчика команд и регистра состояния процессора (PSW).
Отметим, что у некоторых процессоров предусмотрены также команды условных прерываний, например, команда прерывания при переполнении.
Рассмотрены только основные команды, наиболее часто встречающиеся в процессорах. У конкретных процессоров могут быть и многие другие команды, не относящиеся к перечисленным группам команд. Но изучать их надо уже после того, как выбран тип процессора, подходящий для задачи, решаемой данной микропроцессорной системой.
Вопросы для самоконтроля[2,3]:
1. Как классифицируются команды МП
2. Какова структура команд МП?
3. Какие бывают команды переходов?
4. С какими типами операндов работают МП?
5. Чем отличаются наборы команд процессоров Intel и AMD?
Раздел 3. Система адресации МП
Студент должен знать
:
- режимы адресации МП
- режимы адресации МП фирм Intel, AMD
Режимы адресации МП. Режимы адресации в МП фирм Intel, AMD
Теоретическое обоснование
Для адресации операндов в физическом адресном пространстве программы используют логическую адресацию. Процессор автоматически транслирует логические адреса в физические, в
Архитектура компьютера различает физическое адресное пространство (ФАП) и логическое адресное пространство (ЛАП). Физическое адресное пространство
представляет собой простой одномерный массив байтов, доступ к которому реализуется аппаратурой памяти по адресу, присутствующему на шине адреса микропроцессорной системы. Логическое адресное пространство
организуется самим программистом исходя из конкретных потребностей. Трансляцию логических адресов в физические осуществляет блок управления памятью MMU.
В архитектуре современных микропроцессоров ЛАП представляется в виде набора элементарных структур: байтов, сегментов и страниц. В микропроцессорах используются следующие варианты организации логического адресного пространства:
- плоское (линейное) ЛАП:
состоит из массива байтов, не имеющего определенной структуры; трансляция адреса не требуется, так как логический адрес совпадает с физическим;
- сегментированное ЛАП:
состоит из сегментов - непрерывных областей памяти, содержащих в общем случае переменное число байтов; логический адрес содержит 2 части: идентификатор сегмента и смещение внутри сегмента; трансляцию адреса проводит блок сегментации MMU;
- страничное ЛАП:
состоит из страниц - непрерывных областей памяти, каждая из которых содержит фиксированное число байтов. Логический адрес состоит из номера (идентификатора) страницы и смещения внутри страницы; трансляция логического адреса в физический проводится блоком страничного преобразования MMU;
- сегментно-страничное ЛАП:
состоит из сегментов,
которые, в свою очередь, состоят из страниц; логический адрес состоит из идентификатора сегмента и смещения внутри сегмента. Блок сегментного преобразования MMU проводит трансляцию логического адреса в номер страницы и смещение в ней, которые затем транслируются в физический адрес блоком страничного преобразования MMU.
Таким образом, основой получения физического адреса памяти служит логический адрес. В какой-то степени логическое адресное пространство, с которым имеет дело программист, можно сравнить со структурой книги, где аналогом сегмента выступает рассказ, страница книги соответствует странице ЛАП, а искомая информация - это некоторое слово. При этом если память организована как линейная, то номер искомого слова задается в явном виде и просто отсчитывается от начала книги. При сегментном представлении памяти искомое слово определяется его номером в заданном рассказе. Страничное представление памяти предполагает задание информации о слове в виде номера страницы в книге и номера слова на указанной странице. При сегментно-страничном представлении логический адрес слова задается номером слова в определенном рассказе. В этом случае по оглавлению книги определяется номер страницы, с которой начинается указанный рассказ. Затем, зная количество слов на странице и положение слова в рассказе, можно вычислить страницу книги и положение искомого слова на этой странице.
Микропроцессор способен работать в двух режимах: реальном и защищенном.
При работе в реальном режиме
возможности процессора ограничены: емкость адресуемой памяти составляет 1 Мбайт, отсутствует страничная организация памяти, сегменты
имеют фиксированную длину 216 байт.
Этот режим обычно используется на начальном этапе загрузки компьютера для перехода в защищенный режим.
В реальном режиме
сегментные регистры процессора содержат старшие 16 бит физического адреса начала сегмента.
Сдвинутый на 4 разряда влево селектор
дает 20-разрядный базовый адрес сегмента. Физический адрес получается путем сложения этого адреса с 16-разрядным значением смещения в сегменте, формируемого по заданному режиму адресации для операнда или извлекаемому из регистра EIP для команды (рисунок 9). По полученному адресу происходит выборка информации из памяти.
Рисунок 9 - Схема получения физического адреса
Наиболее полно возможности микропроцессора по адресации памяти реализуются при работе в защищенном режиме.
Объем адресуемой памяти увеличивается до 4 Гбайт, появляется возможность страничного режима адресации. Сегменты
могут иметь переменную длину от 1 байта до 4 Гбайт.
Основой формирования физического адреса служит логический адрес. Он состоит из двух частей: селектора
и смещения в сегменте
.
Селектор
содержится в сегментном регистре микропроцессора и позволяет найти описание сегмента (дескриптор)
в специальной таблице дескрипторов. Дескрипторы
сегментов хранятся в специальных системных объектах глобальной (GDT) и локальных (LDT) таблицах дескрипторов. Дескриптор
играет очень важную роль в функционировании микропроцессора, от формирования физического адреса при различной организации адресного пространства и до организации мультипрограммного режима работы.
Сегменты
микропроцессора, работающего в защищенном режиме
, характеризуются большим количеством параметров. Поэтому в универсальных 32-разрядных микропроцессорах информация о сегменте хранится в
специальной 8-байтной структуре данных, называемой дескриптором
, а за сегментными регистрами закреплена основная функция - определение местоположения дескриптора.
Структура дескриптора сегмента
представлена на рисунке 10
Рисунок 10 - Структура дескриптора сегмента
Байт доступа
определяет основные правила обращения с сегментом.
Бит присутствия
P (Present) показывает возможность доступа к сегменту. Операционная система (ОС) отмечает сегмент, передаваемый из оперативной во внешнюю память, как временно отсутствующий, устанавливая в его дескрипторе P = 0. При P = 1 сегмент находится в физической памяти. Когда выбирается дескриптор с P = 0 (сегмент отсутствует в ОЗУ), поля базового адреса и предела игнорируются. В этой ситуации процессор отвергает все последующие попытки использовать дескриптор
в командах, и определяемое дескриптором
адресное пространство как бы"пропадает".
Двухразрядное поле DPL (Descriptor Privilege Level) указывает один из четырех возможных (от 0 до 3) уровней привилегий дескриптора
, определяющий возможность доступа к сегменту со стороны тех или иных программ (уровень 0 соответствует самому высокому уровню привилегий).
Бит обращения
A (Accessed) устанавливается в"1" при любом обращении к сегменту. Используется операционной системой для того, чтобы отслеживать сегменты, к которым дольше всего не было обращений.
Поле типа
в байте доступа определяет назначение и особенности использования сегмента. Если бит S (System - бит 4 байта доступа) равен 1, то данный дескриптор
описывает реальный сегмент памяти. Если S = 0, то этот дескриптор описывает специальный системный объект, который может и не быть сегментом памяти, например, шлюз вызова, используемый при переключении задач, или дескриптор локальной таблицы дескрипторов LDT.
В случае обращения за операндом смещение в сегменте
формируется микропроцессором по режиму адресации операнда, заданному в команде. Смещение в сегменте кода извлекается из регистра - указателя команд
EIP.
Сумма извлеченного из дескриптора начального адреса сегмента и сформированного смещения в сегменте дает линейный адрес
(ЛА).
Если в микропроцессоре используется только сегментное представление адресного пространства, то полученный линейный адрес является также и физическим.
Если помимо сегментного используется и страничный механизм организации памяти, то линейный адрес
представляется в виде двух полей: старшие разряды содержат номер виртуальной страницы, а младшие смещение в странице. Преобразование номера виртуальной страницы в номер физической проводится с помощью специальных системных таблиц: каталога таблиц страниц
(КТС) и таблиц страниц
(ТС). Положение каталога таблиц страниц в памяти определяется системным регистром CR3. Физический адрес вычисляется как сумма полученного из таблицы страниц адреса физической страницы и смещения в странице, полученного из линейного адреса.
Главные особенности формата команд МП
с архитектурой IA-32 по сравнению с 16-разрядным микропроцессором:
- возможность использования любого из регистров общего назначения
в любом из режимов адресации;
- возможность использования 32-разрядных непосредственных операндов и смещений при относительных режимах адресации наряду с имевшимися ранее 8- и 16-разрядными;
- добавление еще одного режима адресации - относительного базового индексного с масштабированием.
Программа размещается вместе с данными в основной памяти ЭВМ. Каждая команда хранится в отдельной ячейке памяти (или группе смежных ячеек) и имеет свой адрес. Все команды имеют одинаковую структуру. Они состоят из двух частей: кода операции и адресной части. Код операции определяет, какую команду нужно выполнить. Адресная часть определяет, где хранятся операнды, т.е. обрабатываемые данные, и куда необходимо поместить результат операции.
В зависимости от количества используемых в команде операндов различают одно-, двух-, трех-, четырехадресные и безадресные команд
В одноадресных командах
указывается, где находится один из двух обрабатываемых операндов. Второй операнд должен быть помещен заранее в арифметическое устройство (для этого в систему команд вводятся специальные команды пересылки данных между устройствами).
В двухадресных командах
оба операнда перед выполнением операции находятся в памяти, поэтому их адреса указываются в команде. После выполнения команды в один из этих адресов засылается результат, а находившийся там операнд теряется.
В трехадресных командах
два адреса указывают, где находятся входные операнды, а третий — куда необходимо поместить результат.
В четырехадресных командах
три адреса используются для указания исходных операндов и результата, а четвертый — для указания адреса следующей команды.
В безадресных командах
обычно обрабатывается один операнд, который до и после операции находится в арифметическом устройстве (в память не пересылается).
Для организации разветвлений, циклического выполнения участков программы, есть команды, нарушающие естественный порядок. К ним относятся: безусловная передача управления (или безусловный переход), условная передача управления (т.е. переход, если выполняется заданное условие), обращение к подпрограмме (т.е. переход с возвратом), циклические операции. Кроме того, естественный порядок следования команд не соблюдается в машинах, использующих четырехадресные команды (в этом случае некоторые из команд передачи управления упраздняются).
При явном указании адреса следующей команды реализуется «принудительный» порядок следования команд. Он возможен только в том случае, если программа размещается в доступной процессору части основной памяти. Поскольку при этом команды ничем не отличаются от данных, в процессе выполнения программы ее команды можно изменять (модифицировать), что повышает гибкость программирования и универсальность ЭВМ.
Семейство микропроцессоров фирмы Intel имеет базовую систему команд, в состав которой входят следующие группы:
- команды пересылки данных:
- команды пересылки данных внутри МП
- команды ввода-вывода
- арифметические команды:
- основные (сложение, вычитание, умножение, деление);
- дополнительные
- логические команды (сдвиг, дизъюнкция, конъюнкция, и др.);
- команды обработки строковых данных (пересылка, сравнение, сканирование, слияние/разделение и др.);
- команды передачи управления (безусловный переход, условный переход, прерывания, переход с возвратом);
- команды управления («нет операции», «внешняя синхронизация и т.д.).
Каждая команда имеет большое число модификаций, чаще всего определяемых режимом адресации данных (операндов). Операнды бывают трех типов: регистровый, непосредственный и «операнд в памяти».
Регистровые операнды
указываются именами используемых регистров МП.
Непосредственные операнды
бывают всегда числовые. Числа могут быть представлены в различных системах счисления. Различаются они по последней букве, сопровождающей число: «b» двоичное, «q» — восьмеричное, «d”— десятичное, «h»— шестнадцатеричное.
Операнды в памяти могут указываться с помощью регистров символическими именами, константами. Различные комбинации этих элементов в команде называются способами адресации. Так, команда МОV (переслать число) может иметь следующие способы адресации
mov r,r mov sr, m
mov r,m mov sr, r
mov m,r mov m,sr
mov r,imed mov r,sr
mov, m,imed
где: r — регистр общего назначения микропроцессора; m — адрес в памяти; imed — число; sr - сегментный регистр.
При использовании «операндов в памяти» указание на физический
адрес ОП может производиться непосредственно, косвенно и со смещением.
При непосредственной адресации
исполнительный адрес указывается в виде шестнадцатеричного числа, однозначно определяющий ячейку внутри заданного сегмента или в виде символического имени. Если адресуется ячейка текущего сегмента, то имя сегмента в адресной части команды не указывается (это связано с режимом умолчанию: текущим по умолчанию для адреса команды является регистр СS,
для адресации ячейки в стековом сегменте — SS, для адресации данных - DS). Это значит, что в команде безусловного перехода внутри того же сегмента нет необходимости указывать:
cs: исполнительный адрес
а при адресации данных:
ds: исполнительный адрес.
Только, если адрес ОП относится к сегменту, указанному в другом регистре (или не указанному в сегментных регистрах), его имя необходимо указывать в команде.
При косвенной адресации
исполнительный адрес ОП хранится в одном из 16-битовых регистров МП, а в команде указывается имя этого регистра. В этом случае имя регистра, содержащего адрес, заключатся в квадратные скобки.
Косвенная адресация имеет несколько разновидностей, в зависимости от используемых регистров и от способа их использования. По способу использования различаются базовая, индексная и базово-индексная адресации.
Вопросы для самоконтроля[1,4]:
1. Режимы адресации?
2. Типы адресации МП?
3. Физическое адресное пространство?
4. Схема получения физического адреса
5. Как различают команды по количеству используемых операндов?
Раздел 4. Современные типы МП
Студент должен знать
:
- характеристики и принцип построения МП фирмы Intel,
- характеристики и принцип построения МП фирмы AMD,
- особенности многоядерных процессоров
- отличия МП для ноутбуков от десктопных МП
Студент должен уметь
:
- Умение идентифицировать МП различных фирм-производителей.
- Умение описывать функциональные узлы и управляющие сигналы МП фирм Intel, AMD
- Умение описывать узлы кэш-памяти МП
- Умение установки и подключения МП
Структурная организация и характеристики МП фирм Intel, AMD. Многоядерные процессоры: применение, производительность, развитие. МП для ноутбуков, карманных ПК.
Теоретическое обоснование
Мозг любого компьютера – это процессор, который оперирует всеми необходимыми вычислениями. С каждым годом ему требуется работать все быстрее и быстрее, потому что постоянно растут требования к нему. Мало того, ему необходимо выполнять несколько задач одновременно.
Чтобы наделить компьютерные системы новыми способностями, корпорация Intel предложила идеологию перехода к следующему этапу эволюционного развития цифровых полупроводниковых устройств – а именно, многоядерную архитектуру процессоров и соответствующих платформ. Весной 2005 года корпорация Intel объявила о выходе первых двухъядерных продуктов для настольных систем, созданных на базе 90-нм технологического процесса, – процессора Intel® Pentium® Extreme Edition 840, обладавшего способностью обрабатывать до 4 потоков инструкций за счет поддержки технологии Hyper-Threading, процессоров семейства Intel® Pentium® D серии 8xx, а также наборов микросхем семейства Intel® 945/955X Express с подержкой двухъядерных процессоров. Позднее, в самом начале 2006 года линейка двухъядерных процессоров была дополнена моделями, созданными на базе нового, 65-нм технологического процесса, – процессором Intel® Pentium® Extreme Edition 955 и процессорами Intel® Penium® D серии 9хх, а также набором микросхем Intel® 975X Express.
Многоядерный процессор содержит два или больше вычислительных ядер на одном кристалле. Он имеет один корпус и устанавливается в один разъем на системной плате, но операционная система воспринимает каждое его вычислительное ядро как отдельный процессор с полным набором вычислительных ресурсов. Например, двухъядерный процессор – это реализация многоядерности с двумя вычислительными ядрами.
В 1993 году корпорация Intel внедрила в массовое производство параллелизм на уровне команд, выпустив процессор Intel® Pentium®, обладавший способностью декодировать и выполнять команды вычислительного потока параллельно. Годом позже специалисты Intel реализовали двухпроцессорную обработку
(два полноценных процессора помещались в два разъема на одной системной плате), создав аппаратную многопоточную среду для серверов и рабочих станций. В 1995 году был представлен процессор Intel® Pentium® Pro, поддерживавший эффективное объединение четырех процессоров на одной системной плате, что позволило обеспечить более высокую скорость обработки данных в многопоточных приложениях, ориентированных на серверные платформы и рабочие станции.
Появление в 2002 году технологии Hyper-Threading (HT
) ознаменовало приход многопоточного параллелизма, т.е. возможности выполнять разные потоки приложений одновременно на одноядерном процессоре. Тестирование производительности, проведенное корпорацией Intel, показало, что на процессорах с технологией HT скорость работы некоторых приложений возрастает в среднем на 30%. В настоящее время, взяв курс на многоядерные платформы, корпорация Intel стала лидером в процессе перехода на многопоточные и параллельные вычисления на массовых ПК, обеспечив обработку данных на нескольких вычислительных ядрах одного процессора.
Большинство приложений, уже сегодня оптимизированных для параллельного исполнения вычислительных потоков – скажем, программ, поддерживающих технологию Hyper-Threading или предназначенных к исполнению на рабочих станциях или серверах с двухпроцессорной конфигурацией, при выполнении на многоядерном процессоре демонстрируют прекрасную масштабируемость производительности. К этой категории относятся мультимедийные приложения (а именно, ПО для создания контента, редактирования и воспроизведения локальных и поточных мультимедийных данных), научные приложения и системы CAD/CAM.
Многоядерные процессоры продолжают тенденцию последних лет – постоянное повышение производительности компьютеров, но вместе с тем способствуют уменьшению потребляемой мощности.
Все большее значение многоядерные процессоры приобретают в условиях всеобщей «цифровизации» информации, окружающей нас. Музыка, видео, фотографии, игры – их носители повсеместно становятся цифровыми, растет и количество устройств, генерирующих, обрабатывающих и хранящих цифровой контент (фото- и видео-камеры, DVD-плейеры, МР3-плейеры и т.д.). Мир стоит на пороге полномасштабной реализации концепции цифрового дома, когда все устройства в нашем жилище смогут быть объединены в домашнюю сеть, позволяющую предоставлять сервис по обработке цифрового контента в качестве обычной коммунальной услуги. Обязанности типичного домашнего ПК существенно возрастут, жизнь в цифровом доме будет во многом зависеть от эффективности многозадачной работы многоядерных процессоров и от их способности управлять всем комплексом устройств - телевизорами, стереосистемами, видеокамерами, а также другими устройствами и приспособлениями в цифровом доме.
Еще одна важная задача – расширение коммуникационной функции ПК. По мере того как новые телекоммуникационные технологии, такие как VoIP, проникают в наши офисы и дома, а пропускная способность сетей продолжает расти, обработка огромного количества пакетов данных не должна влиять на скорость работы основных приложений. Многоядерные процессоры помогут справиться с этой задачей, распределив ресурс вычислительных ядер для обработки сетевых пакетов и выполнения других приложений.
Многоядерные процессоры Intel в сочетании с другими компонентами платформ предоставляют расширенные возможности для управления и обеспечения безопасности. Они позволяют уменьшить время отклика системы во время одновременной работы нескольких управляющих или профилактических программ, таких как антивирусная проверка, обновление ПО, проверка конфигурации или запрос на инвентаризацию. Более того, используя технологию виртуализации, поддерживаемую многими платформами Intel, можно одновременно запустить несколько операционных систем без снижения производительности приложений в каждой из них.
Значительные вычислительные ресурсы многоядерных процессоров предоставят разработчикам игр большую степень свободы для создания полноценной графики, реализации физики процессов, а также функций искусственного интеллекта. Например, при обработке алгоритма воспроизведения фотореалистичной графики, требующего огромной вычислительной мощности, можно использовать одно или несколько специализированных ядер для рендеринга в реальном времени.
Многоядерность также будет способствовать повсеместному распространению коллективных игр. Уже сегодня компьютеры обладают достаточной мощностью для поддержки игр, вычислительные ресурсы которых распределены в Интернете.
МИКРОАРХИТЕКТУРА INTEL® CORE™
Новая микроархитектура Intel объединяет в себе целый ряд инновационных технологий. Технология Intel® Wide Dynamic Execution
позволяет обрабатывать больше команд за такт процессора, повышая эффективность выполнения приложений и сокращая энергопотребление. Каждое ядро процессора, поддерживающего эту технологию, может выполнять до четырех инструкций одновременно, используя эффективный конвейер из 14 стадий. Технология Intel® Intelligent Power Capability
делает энергопотребление еще более низким, активируя отдельные логические подсистемы только по мере необходимости. Технология Intel® Advanced Smart Cache
включает в себя совместно используемую кэш-память 2-го уровня, которая снижает энергопотребление и повышает производительность, позволяя одному из ядер процессора использовать всю кэш-память при динамическом отключении другого ядра. Технология Intel® Smart Memory Access
повышает производительность системы, сокращая время отклика памяти и оптимизируя, таким образом, использование пропускной способности подсистемы памяти. Технология Intel® Advanced Digital Media Boost
позволяет обрабатывать все 128-разрядные команды SSE, SSE2 и SSE3, широко используемые в мультимедийных и графических приложениях, за один такт, что увеличивает скорость их выполнения.
Многоядерные процессоры Intel в сочетании с другими компонентами платформ предоставляют расширенные возможности для управления и обеспечения безопасности. Они позволяют уменьшить время отклика системы во время одновременной работы нескольких управляющих или профилактических программ, таких как антивирусная проверка, обновление ПО, проверка конфигурации или запрос на инвентаризацию. Более того, используя технологию виртуализации, поддерживаемую многими платформами Intel, можно одновременно запустить несколько операционных систем без снижения производительности приложений в каждой из них.
Практическая работа 1.
Маркировка, идентификация МП
Практическая работа 2
. Изучение структуры и управляющих сигналов МП Intel
Практическая работа 3.
Изучение структуры и управляющих сигналов МП AMD
Практическая работа 4.
Организация кэш-памяти в МП
Практическая работа 5.
Установка МП
Вопросы для самоконтроля[1,3]:
1. Принцип построения МП фирмы Intel
2. Из каких функциональных узлов состоят МП фирм Intel, AMD?
3. Какие управляющие сигналы имеют МП фирм Intel, AMD
4. Принцип организации многоядерных МП?
5. В чем отличия МП для ноутбуков от десктопных МП?
Раздел 5. Микроконтроллеры
Студент должен знать
:
- Назначение, характеристики микроконтроллеров
- Архитектурные отличия при построении микроконтроллеров
Назначение, области применения. Архитектура микроконтроллеров. Микроконтроллеры, применяемые в АСУ ТП.
Теоретическое обоснование
Микроконтроллер
Контроллером в технике регулирования считается управляющее устройство, осуществляющее регулирование или контролирующие функции в системе. Контроллер, реализованный на одном кристалле, называется микроконтроллером. Современный микроконтроллер является большой цифровой интегральной схемой, объединяющей миллионы, выполненных по микронным технологиям, транзисторов.
Типовая структура МК изображена на рисунке 11. МК состоит из трех, связанных системными шинами, элементов: процессорного ядра, памяти и набора программируемых функциональных блоков различного назначения.
Процессорное ядро является основой МК.
Рисунок 11 – Структура Микроконтроллера
Оно выполняет все вычислительные операции и, одновременно, управляет работой всех остальных элементов схемы.
По системным шинам ПрЯд обменивается данными с памятью и всеми функциональными блоками. Разрядность ПЯ определяет разрядность МК (4,8,16,32-битные).
В памяти хранится программа работы МК, исходные данные и все промежуточные результаты вычислений. Память состоит из множества многоразрядных ячеек, каждая из которых имеет свой адрес. Память МК обычно разделена на две части: память данных и память программ.
Функциональные блоки различных типов обеспечивают взаимодействие МК с внешним миром. Эти блоки могут выполнять самые различные функции: ввод и вывод информации, подсчет внешних событий и интервалов времени, передача внешних запросов на ПЯ, анолого-цифровые и цифроанологовые преобразования сигналов. Для ПЯ любой функциональный блок представляется в виде одного или нескольких регистров. Каждый регистр имеет свой оригинальный адрес, по которому ПЯ находит его процессе работы.
Программа работы МК хранится в памяти в виде последовательности команд. В процессе работы ПЯ последовательно извлекает из памяти инструкции, расшифровывает и выполняет их. В зависимости от инструкций в ядре выполняются различные арифметические и логические операции, пересылки данных. При необходимости, в процессе выполнения инструкций, ПЯ обращается за данными к ячейкам памяти и функциональным блокам, либо пересылает в них результаты вычислений. Множество инструкций, которые понимает ПЯ, образуют систему команд МК.
В настоящее время известны четыре общих архитектурных принципа в той или иной мере, реализуемых в любом ПЯ.
По организации памяти различаются:
- Неймановская архитектура – характеризуется общим пространством памяти для хранения данных и программы. При этом разрядность памяти зафиксирована (как правило 1 байт)
- Гарвардская архитектура – отличается разделением памяти программ и памяти данных. При этом разрядность памяти программ и памяти данных, а также шины доступа к ним, различны.
По системе команд различаются:
- CISC архитектура – архитектура с развитой системой команд. Система команд ПЯ имеет инструкции разного формата: однобайтовые, двухбайтовые, трехбайтовые. Различные имеют разное время исполнения.
- RISC архитектура – архитектура с сокращенным набором команд. Одна инструкция как правило занимает одну ячейку памяти, и все инструкции имеют равное время исполнения.
Разные производители в своих изделиях используют зачастую различные архитектурные принципы. Поэтому приведенное выше деление довольно условно
Например, AVR-микроконтроллеры фирмы Atmel, по мнению ее создателей (Alf Bogen и Vergard Wollan), имеют улучшенную RISC (enhanced RISC) архитектуру. В соответствии с принципами RISC - архитектуры практически все команды микроконтроллера (исключая те, у которых одним из операндов является 16-разрядный адрес) занимают только в одну ячейку памяти программ. Но сделать это разработчикам удалось за счет одновременного использования принципов Гарвардской архитектуры и расширения ячейки памяти программ до 16 разрядов. Поэтому в системе команд AVR-микроконтроллеров целых 130 различных команд, что значительно больше, чем у большинства современных RISC - архитектур. Для сравнения, контроллеры фирмы Microchip с ядром PIC12. PIC16, PIC17 имеют всего 33 команды.
Процессорное ядро.
Каждый производитель МК для серии выпускаемых им изделий разрабатывает и патентует свое оригинальное процессорное ядро. Однако в большинстве из них присутствуют одни и те же элементы: регистр инструкций, программный счетчик, арифметико-логическое устройство, регистры общего назначения, регистр состояния, регистры ввода/вывода, стек.
Вопросы для самоконтроля[4,2]:
1. Назначение микроконтроллера
2. Характеристики микроконтроллеров
3. Структурная схема микроконтроллера
4. Система команд микроконтроллера
5. Фирмы-производители и сфера применения микроконтроллера.
Раздел 6. Микропроцессорные системы (МПС)
Студент должен знать
:
- Назначение, классификацию МПС
- Принципы построения многомашинных систем,
- Принципы построения многопроцессорных систем,
- Принципы построения систем с разными потоками команд и данных
- Принципы построения кластерных систем
Студент должен уметь
:
- Классифицировать МПС,
- Уметь сравнивать МПС, различные по производительности и структуре
- Уметь описывать структуры различных МПС
Понятие и классификация микропроцессорных систем (МПС). Многопроцессорные и многомашинные системы, системы с разными потоками команд и данных. Построение систем с массовым параллелизмом (SMP-системы). Кластерные системы: применение, принцип организации, отличия. Организация функционирования МПС – принципы функционирования различных систем, модели применения.
Теоретическое обоснование
В настоящее время сфера применения многопроцессорных вычислительных систем (МВС)
непрерывно расширяется, охватывая все новые области в различных отраслях науки, бизнеса и производства. Стремительное развитие кластерных систем создает условия для использования многопроцессорной вычислительной техники в реальном секторе экономики.
Если традиционно МВС
применялись в основном в научной сфере для решения вычислительных задач, требующих мощных вычислительных ресурсов, то сейчас из-за бурного развития бизнеса резко возросло количество компаний, отводящих использованию компьютерных технологий и электронного документооборота главную роль. В связи с этим непрерывно растет потребность в построении централизованных вычислительных систем для критически важных приложений, связанных с обработкой транзакций
, управлением базами данных
и обслуживанием телекоммуникаций. Можно выделить две основные сферы применения описываемых систем: обработка транзакций
в режиме реального времени (OLTP, on-line transaction processing) и создание хранилищ данных для организации систем поддержки принятия решений
(Data Mining, Data Warehousing, Decision Support System). Система для глобальных корпоративных вычислений — это, прежде всего, централизованная система, с которой работают практически все пользователи в корпорации, и, соответственно, она должна все время находиться в рабочем состоянии. Как правило, решения подобного уровня устанавливают в компаниях и корпорациях, где даже кратковременные простои сети могут привести к громадным убыткам. Поэтому для организации такой системы не подойдет обыкновенный сервер со стандартной архитектурой, вполне пригодный там, где нет жестких требований к производительности и времени простоя. Высокопроизводительные системы
для глобальных корпоративных вычислений должны отличаться такими характеристиками как повышенная производительность, масштабируемость, минимально допустимое время простоя.
Многопроцессорные вычислительные системы
могут существовать в различных конфигурациях. Наиболее распространенными типами МВС
являются:
- системы высокой надежности;
- системы для высокопроизводительных вычислений;
- многопоточные системы.
Отметим, что границы между этими типами МВС
до некоторой степени размыты, и часто система может иметь такие свойства или функции, которые выходят за рамки перечисленных типов. Более того, при конфигурировании большой системы, используемой как система общего назначения, приходится выделять блоки, выполняющие все перечисленные функции.
МВС
являются идеальной схемой для повышения надежности информационно-вычислительной системы. Благодаря единому представлению, отдельные узлы или компоненты МВС
могут незаметно для пользователя заменять неисправные элементы, обеспечивая непрерывность и безотказную работу даже таких сложных приложений как базы данных
.
Катастрофоустойчивые решения создаются на основе разнесения узлов многопроцессорной системы
на сотни километров и обеспечения механизмов глобальной синхронизации данных между такими узлами.
МВС для высокопроизводительных вычислений
предназначены для параллельных расчетов. Имеется много примеров научных расчетов, выполненных на основе параллельной работы нескольких недорогих процессоров, обеспечивающих одновременное проведение большого числа операций.
Понятие архитектуры высокопроизводительной системы
является достаточно широким, поскольку под архитектурой можно понимать и способ параллельной обработки данных
, используемый в системе, и организацию памяти
, и топологию связи
между процессорами, и способ исполнения системой арифметических операций. Попытки систематизировать все множество архитектур впервые были предприняты в конце 60-х годов и продолжаются по сей день.
В 1966 г. М.Флинном (Flynn) был предложен чрезвычайно удобный подход к классификации архитектур вычислительных систем. В его основу было положено понятие потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. Соответствующая система классификации основана на рассмотрении числа потоков инструкций
и потоков данных
и описывает четыре архитектурных класса:
SISD = Single Instruction Single Data
MISD = Multiple Instruction Single Data
SIMD = Single Instruction Multiple Data
MIMD = Multiple Instruction Multiple Data
SISD (single instruction stream / single data stream) – одиночный поток команд
и одиночный поток данных
. К этому классу относятся последовательные компьютерные системы, которые имеют один центральный процессор, способный обрабатывать только один поток последовательно исполняемых инструкций. В настоящее время практически все высокопроизводительные системы имеют более одного центрального процессора, однако каждый из них выполняет несвязанные потоки инструкций
, что делает такие системы комплексами SISD-систем, действующих на разных пространствах данных. Для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка
. В случае векторных систем векторный поток данных
следует рассматривать как поток из одиночных неделимых векторов. Примерами компьютеров с архитектурой SISD могут служить большинство рабочих станций Compaq, Hewlett-Packard и Sun Microsystems.
MISD (multiple instruction stream / single data stream) – множественный поток команд
и одиночный поток данных
. Теоретически в этом типе машин множество инструкций должно выполняться над единственным потоком данных
. До сих пор ни одной реальной машины, попадающей в данный класс, создано не было. В качестве аналога работы такой системы, по-видимому, можно рассматривать работу банка. С любого терминала можно подать команду и что-то сделать с имеющимся банком данных. Поскольку база данных одна, а команд много, мы имеем дело с множественным потоком команд
и одиночным потоком данных
.
SIMD (single instruction stream / multiple data stream) – одиночный поток команд
и множественный поток данных
. Эти системы обычно имеют большое количество процессоров, от 1024 до 16384, которые могут выполнять одну и ту же инструкцию относительно разных данных в жесткой конфигурации. Единственная инструкция параллельно выполняется над многими элементами данных. Примерами SIMD-машин являются системы CPP DAP, Gamma II и Quadrics Apemille. Другим подклассом SIMD-систем являются векторные компьютеры. Векторные компьютеры манипулируют массивами сходных данных подобно тому, как скалярные машины обрабатывают отдельные элементы таких массивов. Это делается за счет использования специально сконструированных векторных центральных процессоров
. Когда данные обрабатываются посредством векторных модулей, результаты могут быть выданы на один, два или три такта частотогенератора (такт частотогенератора является основным временным параметром системы). При работе в векторном режиме векторные процессоры
обрабатывают данные практически параллельно, что делает их в несколько раз более быстрыми, чем при работе в скалярном режиме. Примерами систем подобного типа являются, например, компьютеры Hitachi S3600.
MIMD (multiple instruction stream / multiple data stream) – множественный поток команд
и множественный поток данных
. Эти машины параллельно выполняют несколько потоков инструкций
над различными потоками данных
. В отличие от упомянутых выше многопроцессорных SISD-машин, команды и данные связаны, потому что они представляют различные части одной и той же задачи. Например, MIMD-системы могут параллельно выполнять множество подзадач с целью сокращения времени выполнения основной задачи. Большое разнообразие попадающих в данный класс систем делает классификацию Флинна не полностью адекватной. Действительно, и четырехпроцессорный SX-5 компании NEC, и тысячепроцессорный Cray T3E попадают в этот класс. Это заставляет использовать другой подход к классификации, иначе описывающий классы компьютерных систем. Основная идея такого подхода может состоять, например, в следующем. Будем считать, что множественный поток команд
может быть обработан двумя способами: либо одним конвейерным устройством обработки, работающем в режиме разделения времени для отдельных потоков, либо каждый поток обрабатывается своим собственным устройством. Первая возможность используется в MIMD-компьютерах, которые обычно называют конвейерными или векторными, вторая – в параллельных компьютерах
. В основе векторных компьютеров лежит концепция конвейеризации, т.е. явного сегментирования арифметического устройства на отдельные части, каждая из которых выполняет свою подзадачу для пары операндов. В основе параллельного компьютера
лежит идея использования для решения одной задачи нескольких процессоров, работающих сообща, причем процессоры могут быть как скалярными, так и векторными.
Классификация архитектур вычислительных систем нужна для того, чтобы понять особенности работы той или иной архитектуры, но она не является достаточно детальной, чтобы на нее можно было опираться при создании МВС, поэтому следует вводить более детальную классификацию, которая связана с различными архитектурами ЭВМ и с используемым оборудованием.
SMP
-архитектура
SMP (symmetric multiprocessing) – симметричная многопроцессорная архитектура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами (рисунок 12).
Рисунок 12 -
Схематический вид SMP-архитектуры
Память служит, в частности, для передачи сообщений между процессорами, при этом все вычислительные устройства при обращении к ней имеют равные права и одну и ту же адресацию для всех ячеек памяти. Поэтому SMP-архитектура называется симметричной. Последнее обстоятельство позволяет очень эффективно обмениваться данными с другими вычислительными устройствами. SMP-система строится на основе высокоскоростной системной шины (SGI PowerPath, Sun Gigaplane, DEC TurboLaser), к слотам которой подключаются функциональные блоки типов: процессоры (ЦП), подсистема ввода/вывода (I/O) и т. п. Для подсоединения к модулям I/O используются уже более медленные шины (PCI, VME64). Наиболее известными SMP-системами являются SMP-cерверы и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.) Вся система работает под управлением единой ОС. ОС автоматически (в процессе работы) распределяет процессы по процессорам, но иногда возможна и явная привязка.
Основные преимущества SMP-систем:
- простота и универсальность для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают независимо друг от друга. Однако можно реализовать и модели, использующие межпроцессорный обмен. Использование общей памяти увеличивает скорость такого обмена, пользователь также имеет доступ сразу ко всему объему памяти. Для SMP-систем существуют довольно эффективные средства автоматического распараллеливания;
- простота эксплуатации. Как правило, SMP-системы используют систему кондиционирования, основанную на воздушном охлаждении, что облегчает их техническое обслуживание;
- относительно невысокая цена.
Недостатки: системы с общей памятью плохо масштабируются.
Этот существенный недостаток SMP-систем не позволяет считать их по-настоящему перспективными. Причиной плохой масштабируемости является то, что в данный момент шина способна обрабатывать только одну транзакцию, вследствие чего возникают проблемы разрешения конфликтов при одновременном обращении нескольких процессоров к одним и тем же областям общей физической памяти. Вычислительные элементы начинают друг другу мешать. Когда произойдет такой конфликт, зависит от скорости связи и от количества вычислительных элементов. В настоящее время конфликты могут происходить при наличии 8-24 процессоров. Кроме того, системная шина имеет ограниченную (хоть и высокую) пропускную способность (ПС) и ограниченное число слотов. Все это очевидно препятствует увеличению производительности при увеличении числа процессоров и числа подключаемых пользователей. В реальных системах можно задействовать не более 32 процессоров. Для построения масштабируемых систем на базе SMP используются кластерные или NUMA-архитектуры. При работе с SMP-системами используют так называемую парадигму программирования с разделяемой памятью (shared memory paradigm).
MPP-архитектура
MPP (massive parallel processing) – массивно-параллельная архитектура. Главная особенность такой архитектуры состоит в том, что память физически разделена. В этом случае система строится из отдельных модулей, содержащих процессор, локальный банк операционной памяти (ОП), коммуникационные процессоры (рутеры) или сетевые адаптеры, иногда – жесткие диски и/или другие устройства ввода/вывода. По сути, такие модули представляют собой полнофункциональные компьютеры (рисунок 13). Доступ к банку ОП из данного модуля имеют только процессоры (ЦП) из этого же модуля. Модули соединяются специальными коммуникационными каналами. Пользователь может определить логический номер процессора, к которому он подключен, и организовать обмен сообщениями с другими процессорами. Используются два варианта работы операционной системы (ОС) на машинах MPP-архитектуры. В одном полноценная операционная система (ОС) работает только на управляющей машине (front-end), на каждом отдельном модуле функционирует сильно урезанный вариант ОС, обеспечивающий работу только расположенной в нем ветви параллельного приложения. Во втором варианте на каждом модуле работает полноценная UNIX-подобная ОС, устанавливаемая отдельно.
Рисунок 13 -
Схематический вид архитектуры с раздельной памятью
Главным преимуществом систем с раздельной памятью является хорошая масштабируемость: в отличие от SMP-систем, в машинах с раздельной памятью каждый процессор имеет доступ только к своей локальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. Практически все рекорды по производительности на сегодня устанавливаются на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific).
Недостатки:
- отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между процессорами. Требуется специальная техника программирования для реализации обмена сообщениями между процессорами;
- каждый процессор может использовать только ограниченный объем локального банка памяти;
- вследствие указанных архитектурных недостатков требуются значительные усилия для того, чтобы максимально использовать системные ресурсы. Именно этим определяется высокая цена программного обеспечения для массивно-параллельных систем с раздельной памятью.
Практическая работа 6.
Изучение структуры и функциональных блоков МПС
Практическая работа 7
.Организация совместной работы процессоров в SMP-системе
Практическая работа 8.
Построение SMP-системы на базе больших вычислительных машин
Вопросы для самоконтроля[2,3]:
1. Назначение МПС?
2. Классификация МПС
3. Понятие архитектуры высокопроизводительной системы
4. Принципы построения систем с разными потоками команд и данных
5. Принципы построения кластерных систем
КОНТРОЛЬНАЯ РАБОТА №1
Перед выполнением контрольной работы изучите разделы:
Ответьте на все вопросы для самопроверки.
ЗАДАНИЯ К КОНТРОЛЬНОЙ РАБОТЕ № 1.
Контрольная работа включает в себя 4 заданий. Номер Вашего варианта совпадает с номером в учебном журнале
. Номера задач для своего варианта возьмите из таблицы 1.
ЗАДАНИЯ К КОНТРОЛЬНОЙ РАБОТЕ № 1.
Контрольная работа включает в себя 4 задания. Номер Вашего варианта совпадает с номером в учебном журнале
. Номера заданий для своего варианта возьмите из таблицы 1.
Таблица 1 - Задания к контрольной работе №1.
№
варианта
|
№№ з а д а н и й к о н т р о л ь н о й р а б о т ы
|
|||
1
|
2
|
3
|
4
|
|
01 |
1 |
10 |
23 |
24 |
02 |
2 |
11 |
22 |
25 |
03 |
3 |
12 |
23 |
24 |
04 |
4 |
13 |
22 |
25 |
05 |
5 |
14 |
23 |
24 |
06 |
6 |
15 |
22 |
25 |
07 |
7 |
16 |
23 |
24 |
08 |
8 |
17 |
22 |
25 |
09 |
9 |
18 |
23 |
24 |
10 |
9 |
19 |
22 |
25 |
11 |
8 |
21 |
23 |
24 |
12 |
7 |
20 |
22 |
25 |
13 |
6 |
19 |
23 |
24 |
14 |
5 |
18 |
22 |
25 |
15 |
4 |
17 |
23 |
24 |
Пример.
Вариант 12 включает в себя задания:
· Задание № 1 – № 7
· Задание № 2 – № 20
· Задание № 3 – № 22
· Задание № 4 – № 25
Вопросы для контрольной работы
1 Поколения МП |
2. Эволюция техпроцесса изготовления процессоров |
3. Структура и функции процессора |
4. Напряжение питания и способы охлаждения современных МП |
5. Разрядность и производительность МП фирм Intel, AMD |
6. Характеристики и структурная организация МП класса Pentium |
7. Характеристики и структурная организация МП класса Pentium II |
8. Характеристики и структурная организация МП класса Pentium III, IV |
9. Нововведения и технологии МП класса Pentium: конвейерная обработка команд, предсказание, организация кэш-памяти |
10. Структурная организация и характеристики МП фирмы Intel |
11. Структурная организация и характеристики МП фирмы AMD |
12. Характеристики и особенности построения ядер для МП Intel |
13. Характеристики и особенности построения ядер для МП Athlon |
14. Особенности построения и характеристики МП для ноутбуков |
15. Принцип построения многоядерных процессоров, сфера их использования |
16. Построение двухъядерных МП фирмы Intel |
17. Построение четырехъядерных МП фирмы Intel |
18. Корпуса, сокеты и слоты для установки МП различных фирм |
19. Описать технологию HyperTransport. |
20. Описать серверные платформы МП фирмы Intel |
21. Особенности построения и характеристики МП для ноутбуков |
22. Расписать буквенную маркировку процессоров Intel |
23. Расписать буквенную маркировку процессоров AMD |
24. Записать типы и виды первых 5 параметров, названия которых даны на рисунке. |
25. Записать типы и виды 5 параметров (с 6-го по 10-й), названия которых даны на рисунке. |
ПЕРЕЧЕНЬ РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
Основная
1. М.Гук. Аппаратные средства IBM PC 2000г.
2. В.Корнеев. Современные микропроцессоры, 2003г.
3. А.Кузин. Микропроцессорная техника, учебник, 2005г.
4. А.Нарышкин. Цифровые устройства и микропроцессоры, 2005 г.
Дополнительная
1. Компьютер-пресс. Журнал 2000-2006гг
2. М.Динман, Д.Донцов Сборка компьютера. 2006г
3. www.ixbt.ru
4. www.ferra.ru