Детальное описание новых команд можно найти в фирменных источниках Intel.
Контрольные вопросы
1. В какой модели процессора объединились ЦП и АП в одном кристалле?
2. Объясните главное назначение ММХ-расширения. Какие новые регистры данных добавились для его реализации?
3. Чем отличаются программные модели Pentium II и Pentium IV?
4. Какие форматы вещественных чисел доступны для параллельной обработки в SSE и SSE2 расширениях команд?
5. Что нового дало совершенствование технологии с введением SS3-расширения?
6. В чем сущность и каково назначение команд упаковки и распаковки?
7. Какие операции выполняются быстрее за счет удвоения внутренней тактовой частоты ЦП?
8. В чем отличие ситуации кэш-промаха и кэш-попадания?
9. Обратная или прямая запись в основную память используется в ЦП Pentium IV и почему?
10. Объясните особенности пакетно-сетевой архитектуры ЦП Pentium IV.
11. Сколько регистров данных образуют программную модель ЦП Pentium IV?
12. В чем заключается назначение регистра управления-состояния MXCSR?
13. Что происходит при «переполнении» по команде paddusw MM0,MM1?
14. Поясните назначение кэш-памяти микрокоманд ЦП.
15. Перечислите команды управления кэшированием и объясните их предназначение.
16. Сколько уровней внутренней кэш-памяти включает Pentium IV и как они распределяются между обрабатываемыми данными?
17. Почему увеличение числа стадий конвейера позволяет увеличить тактовую частоту работы ЦП?
18. Каков размер блока регистров расширения и для чего эти регистры служат?
19. Что является задачей блока трассировки и предсказания ветвлений и как он работает?
20. Объясните суть технологии удвоения внутренней тактовой частоты (Rapid Execution Engine).
21. Для чего служит кэш-память микрокоманд и что дает ее использование?
22. В чем заключаются основные отличия архитектуры Pentium MMX и Pentium III?
23. Дайте сравнительную характеристику ЦП Pentium III и Pentium IV.
24. Объясните назначение команд упаковки и распаковки и приведите примеры их использования.
25. Поясните как выполняется умножение по команде ppaddwd MM0,MM1?
26. На какие типы данных указывает каждый из суффиксов b, w, d, q в ММХ-командах?
27. Какие действия выполняются по команде pandn (логическое И-НЕ)?
28. К какому расширению относится команда punpckhbw?
29. Сколько данных одновременно могут обрабатывать параллельные арифметические операции?
30. Какие суффиксы имеют мнемокоды скалярных и параллельных операций?
4.1. Программируемый контроллер прерываний
Задача контроллера состоит в приеме запросов прерывания от ВУ, сравнении их приоритетов и посылки запроса прерывания в ЦП вместе с информацией о местоположении соответствующей подпрограммы. В функции ПКП также входит изменение дисциплины обслуживания ВУ, т. е. установка различных режимов присвоения приоритетов ВУ в соответствии с общими требованиями к системе.
Один контроллер позволяет обслуживать восемь ВУ, число которых может быть увеличено путем каскадирования контроллеров. Так, в ВМ используется два ПКП и число обслуживаемых аппаратных прерываний равно 15. На рис. 4.1 изображена схема ПКП.
Буфер данных БД вместе со схемой управления обменом по ШД D7 – D0 обеспечивает прием управляющих слов (команд) в контроллер при программировании, а также выдачу состояний регистров контроллера и информации об адресе подпрограммы. Регистр запросов прерываний РЗП служит для запоминания всех запросов от ВУ по входам IR7-IR0. Регистр масок прерываний РМП хранит маску, с помощью которой можно запретить обслуживание запросов по любому входу. Схема сравнения приоритетов СхСПр выбирает запрос с наибольшим приоритетом среди вновь поступивших и уже обслуживаемых запросов. Регистр обслуживаемых прерываний РОП. содержит единицы на позициях, соответствующих обслуживаемым запросам, причем каждая единица запрещает обслуживание запросов с меньшим приоритетом, если отсутствует режим специального маскирования.
Управляющее устройство УУ, содержащее регистры команд инициализации РКИ и регистры рабочих команд РРК, обеспечивает выработку внешних и внутренних управляющих сигналов. Блок каскадирования БК осуществляет связь ведущей БИС контроллера с ведомыми при использовании нескольких ПКП в микропроцессорной системе.

Рис. 4.1. Схема программируемого контроллера прерываний
Intel 8259A
Последовательность действий при обслуживании прерываний:
1. ПКП воспринимает запросы прерывания по входам IR от одного или нескольких ВУ, записывает единицы в соответствующие разряды РЗП, проверяет маскирование, определяет запрос с наивысшим приоритетом и посылает сигнал прерывания INT на соответствующий вход ЦП.
2. Если прерывания разрешены, ЦП заканчивает выполнение текущей команды и активизирует сигнал подтверждения прерывания INTA.
3. По получении первого импульса INTA ПКП устанавливает в «1» разряд регистра РОП, соответствующий запросу, подлежащему обслуживанию, а одноименный разряд регистра РЗП сбрасывается в «0».
4. ЦП вырабатывает второй импульс INTA, по получении которого контроллер посылает по ШД в ЦП8-разрядный указатель (вектор), используемый для определения начального адреса подпрограммы обслуживания прерывания.
5. ЦП переходит на выполнение подпрограммы обслуживания прерывания.
В режиме автоматического окончания прерывания AEOI цикл входа в прерывание завершается по окончании второго импульса INTA, по которому соответствующий разряд РОП сбрасывается в «0». В режиме обычного окончания разряд регистра РОП, соответствующий текущему уровню прерывания, остается в «1> до появления команды EOI - конец прерывания.
Программирование контроллера прерываний.
Контроллер программируется с помощью команд, которые формируются в регистре АL центрального процессора и передаются в ПКП по команде OUT. Различают два вида команд программирования: команды инициализации ICW, используемые для начальной подготовки контроллера к работе, и рабочие команды OCW, предназначенные для задания маски, различных режимов работы ПКП, а также для обеспечения контрольного считывания содержимого регистров ПКП. Управляющие сигналы, которые сопровождают подачу команд, приведены в табл. 4.1.
Таблица 4.1.
A0 | D4 | D3 | RD | WR | CS | Операция |
0 | 0 | 0 | 1 | 0 | 0 | ШД -> ОСW2 |
0 | 0 | 1 | 1 | 0 | 0 | ШД -> ОСW3 |
0 | 1 | Х | 1 | 0 | 0 | ШД -> ICW1 |
1 | Х | Х | 1 | 0 | 0 | ШД -> ICW2, ICW3, ICW4, OCW1 |
0 | - | - | 0 | 1 | 0 | РЗП, РОП -> ШД |
1 | - | - | 0 | 1 | 0 | РМП -> ШД |
Х | Х | Х | 1 | 1 | 0 | Нет операции (выходы D7 – D0 |
Х | Х | Х | Х | Х | 1 | - в третьем состоянии) |
Различают четыре основных режима работы контроллера: полной вложенности, циклического приоритета, специального маскирования и поллинга (последовательного опроса). Режим полной вложенности, при котором каждый вход запроса прерываний имеет фиксированный приоритет от высшего уровня (вход IRO) до низшего (вход IR7), является стандартным и не требует использования рабочих команд. Остальные режимы, а также состояние регистра маски РМП могут быть заданы с помощью следующих рабочих команд.
Команда OCW1 устанавливает и сбрасывает разряды регистра РМП: установленный в «1» i-ый разряд регистра маскирует вход IRi; во всех режимах, в результате чего запросы по этому входу не будут вызывать перехода к программе обслуживания.
Команда OCW2 управляет режимами сдвигов приоритетов и окончаний прерываний.
Команда OCW3 служит для установки режимов маскирования, считывания статуса и поллинга.
Режимы работы контроллера.
Режим полной вложенности - устанавливается сразу после окончания инициализации. Приоритеты запросов прерывания упорядочиваются в сторону убывания от 0 до 7. Добавим, что в системе с каскадированием контроллеров полная вложенность обеспечивается только по входам ведущего контроллера. При обслуживании запроса по какому-либо входу ведомого контроллера запросы по другим его входам (даже с более высоким приоритетом) не обслуживаются.
Специальный режим полной вложенности. Применяется тогда, когда в системе используется каскадирование контроллеров и вложенность приоритетов должна сохраняться для каждого контроллера. Этот режим, устанавливаемый командой ICW4, отличается от обычного режима полной вложенности следующим:
- когда обслуживается запрос от некоторого ведомого контроллера, этот контроллер не закрыт от приоритетной логики ведущего контроллера и дальнейшие запросы на прерывание от входов с более высоким приоритетом в пределах ведомого контроллера будут распознаваться ведущим контроллером и инициировать запрос прерывания для ЦП (в обычном режиме полной вложенности ведомый контроллер маскируется, если его запрос находится в обслуживании, так что другие запросы от него не воспринимаются);
- если запускается подпрограмма обслуживания прерывания, то программным путем необходимо проверить, является ли данное прерывание единственным от этого ведомого контроллера. Это. делается с помощью посылки неспецифической команды окончания прерывания EOI на подчиненный контроллер с последующим чтением содержимого РОП и проверкой его на нуль. Если проверка удовлетворена, то такая же команда EOI посылается на ведущий контроллер для анализа его РОП.
Режимы циклического приоритета. Используются в тех случаях, когда требуется установить одинаковые приоритеты на обслуживание ВУ. При этом любое обслуженное ВУ получает низший приоритет, а приоритеты остальных устройств циклически сдвигаются относительно него. Повторное обслуживание ВУ возможно лишь после обслуживания всех остальных устройств. Такой режим автоматического сдвига приоритетов называется режимом А и устанавливается командой OCW2.
В контроллере имеется также режим программного сдвига приоритетов - режим В. В этом случае разработчик может с помощью команды OCW2 задавать номер входа, которому будет присвоен низший приоритет, а приоритеты других входов зафиксируются по отношению к заданному.
Режим cпециального маскирования. Применяется для того, чтобы программы обслуживания прерываний могли динамически изменять структуру системных приоритетов в процессе работы. Например, при выполнении какой-либо части подпрограммы обслуживания необходимо запретить запросы более низких уровней, а при выполнении другой части - разрешить их. Трудность реализации таких действий состоит в том, что пока выполняется подпрограмма и соответствующий разряд в регистре РОП не сброшен, контроллер не реагирует на запросы с более низким приоритетом. Для разрешения прерываний со всех уровней (в том числе и с более низких) устанавливается режим специального маскирования (затенения), при котором запрещается только прерывание на данном уровне. Этот режим задается и отменяется командой OCW3.
|
Рис. 4.2. Схема каскадирования ПКП
Режим опроса (поллинга). Применяется для организации обслуживания запросов прерываний по инициативе программы, выполняемой МП. При этом прерывания ЦП запрещаются путем сброса флага IF и используется команда POLL, которая задается с помощью OCW3. Тогда контроллер воспринимает следующий импульс по входу RD как подтверждение прерывания и выдает на ШД следующий байт: D7 = 1 - устанавливается .в «1», если на вход данного контроллера поступил запрос; D2 - D0 - задают двоичный код входа высшего уровня среди тех, по которым поступили запросы. С помощью команды POLL последовательно опрашиваются все контроллеры прерываний в системе, что позволяет легко наращивать число уровней приоритетов сверх 64. В этом режиме таблица адресов подпрограмм обслуживания не используется, и он полезен в тех случаях, когда одна подпрограмма применяется для обслуживания нескольких уровней прерываний.
Каскадирование контроллеров прерываний. Контроллеры прерываний имеют встроенные средства для их каскадирования с целью увеличения числа уровней прерываний. На рис. 4.2 показана схема каскадирования, содержащая три контроллера, в которой контроллер ПКП0 является ведущим, а остальные два - ведомыми. Включение контроллера в качестве ведущего или ведомого определяется соответствующим подключением вывода SP/EN к источнику питания в первом случае и к общей шине - во втором. Шины каскадирования CAS0–CAS2 всех контроллеров соединяются параллельно, причем выводы CAS0-CAS2 ведущего контроллера работают как выходы, а у ведомых контроллеров - как входы. Когда активизируется вход запроса ведомого контроллера, ведущий контроллер разрешает ведомому выдать номер соответствующего уровня прерывания по второму импульсу INTA.
4.2. Программируемый контроллер ПДП
Контроллер прямого доступа к памяти (ПДП) предназначен для обмена данными между устройствами ввода-вывода и ОЗУ без использования центрального процессора, что позволяет освободить процессор для выполнения вычислений параллельно с обменом и независимо от него. Наиболее часто возможности ПДП используются при работе с дисковыми накопителями, однако реализовано использование ПДП и рядом других устройств. Ощутимые преимущества дает использование ПДП в процессе обмена с устройствами, принимающими или передающими данные достаточно большими порциями с высокой скоростью. В компьютерах IBM функции контроллера ПДП выполняет микросхема Intel 8237А. Контроллер имеет 4 независимых канала, каждый из которых может обслуживать одно устройство ввода-вывода.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |




