ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6727
Скачиваний: 8
Примеры центральных процессоров 193
До восьми контроллеров ввода-вывода могут быть непосредственно связаны с
восемью входами IRx (Interrupt Request — запрос прерывания) микросхемы 8259А
Когда любое из этих устройств хочет произвести прерывание, оно запускает свою
линию входа Если активизируется один или несколько входов, контроллер 8259А
выдает сигнал INT (INTerrupt — прерывание), который подается на соответству-
ющий вход центрального процессора Когда центральный процессор способен про-
извести прерывание, он посылает микросхеме 8259А импульс через вывод INTA
(INTerrupt Acknowledge — подтверждение прерывания) В этот момент микросхе-
ма 8259А должна определить, на какой именно вход поступил сигнал прерывания
Для этого она помещает номер входа на информационную шину Эта операция
требует наличия особого цикла шины Центральный процессор использует этот
номер для обращения в таблицу указателей, которую называют таблицей
векто-
ров прерывания,
чтобы найти адрес процедуры, производящей соответствующее
прерывание
Микросхема 8259А содержит несколько регистров, которые центральный про-
цессор может считывать и записывать, используя обычные циклы шины и выводы
RD (ReaD — чтение), WR (WRite — запись), CS (Chip Select — выбор элемента
памяти) и Xfl Когда программное обеспечение обработало прерывание и готово
получить следующее, оно записывает специальный код в один из регистров, кото-
рый вызывает сброс сигнала INT микросхемой 8259А, если не появляется другая
задержка прерывания Регистры также могут записываться для того, чтобы ввести
микросхему 8259А в один из нескольких режимов, и для выполнения некоторых
других функций
Когда присутствует более восьми устройств ввода-вывода, микросхемы 8259А
могут быть соединены каскадно В самой экстремальной ситуации все восемь
входов могут быть связаны с выходами еще восьми микросхем 8259 А, соединяя до
64 устройств ввода-вывода в двухступенчатую систему прерывания Микросхема
8259А содержит несколько выводов для управления каскадированием, но мы их
опустили ради простоты
Хотя мы никоим образом не исчерпали все вопросы разработки шин, матери-
ал, изложенный выше, дает достаточно информации для общего понимания прин-
ципов работы шины и того, как центральный процессор взаимодействует с шиной
А теперь мы перейдем от общего к частному и рассмотрим несколько конкретных
примеров процессоров и их шин
Примеры центральных процессоров
В этом разделе мы рассмотрим процессоры Pentium II, Ultra SPARC II и picojava
на уровне аппаратного обеспечения
Pentium II
Pentium II — прямой потомок процессора 8088, который использовался в первой
модели IBM PC Хотя Pentium II очень сильно отличается от процессора 8088
(первый содержит 7,5 млн транзисторов, а второй — всего 29 000), он полностью
194 Глава 3. Цифровой логический уровень
совместим с 8088 и может выполнять программы, написанные для 8088 (не говоря
уже о программах для всех процессоров, появившихся между Pentium II и 8088).
С точки зрения программного обеспечения, Pentium II представляет собой 32-
разрядную машину. Он содержит ту же архитектуру системы команд, что и про-
цессоры 80386, 80486, Pentium и Pentium Pro, включая те же регистры, те же ко-
манды и такую же встроенную систему с плавающей точкой стандарта IEEE 754.
С точки зрения аппаратного обеспечения, Pentium II представляет собой нечто
большее, поскольку он может обращаться к 64 Гбайт физической памяти и переда-
вать данные в память и из памяти блоками по 64 бита. Программист не видит этих
передач по 64 бита, но такая машина работает быстрее, чем 32-разрядная.
На микроархитектурном уровне Pentium II представляет собой Pentium Pro с
командами ММХ. Команды вызываются из памяти заранее и разбиваются на мик-
рооперации. Эти микрооперации хранятся в буфере, и как только одна из них по-
лучает необходимые ресурсы для выполнения, она может начаться. Если в одном
цикле может начинаться несколько микроопераций, Pentium II является супер-
скалярной машиной.
Pentium II имеет двухуровневую кэш-память. Кэш-память первого уровня со-
держит 16 Кбайт для команд и 16 Кбайт для данных, а смежная кэш-память второ-
го уровня — еще 512 Кбайт. Строка кэш-памяти состоит из 32 байт. Тактовая час-
тота кэш-памяти второго уровня в два раза меньше тактовой частоты центрального
процессора. Тактовая частота центрального процессора — 233 МГц и выше.
В системах с процессором Pentium II используются две внешние шины, обе они
синхронные. Шина памяти используется для доступа к главному динамическому
ОЗУ; шина PCI используется для сообщения с устройствами ввода-вывода. Ино-
гда к шине PCI подсоединяется
унаследованная
(то есть прежняя) шина, чтобы
можно было подключать старые периферические устройства.
Система Pentium II может содержать один или два центральных процессора,
которые разделяют общую память. В системе с двумя процессорами может воз-
никнуть одна неприятная ситуация. Слово, считанное в одну из микросхем кэш-
памяти и измененное там, может не записаться обратно в память, и если второй
процессор попытается считать это слово, он получит неправильное значение. Что-
бы предотвратить такую ситуацию, существуют специальные системы поддержки.
Pentium II существенно отличается от своих предшественников компоновкой.
Все процессоры, начиная с 8088 и заканчивая Pentium Pro, были обычными мик-
росхемами с выводами по бокам или снизу, которые вставлялись в разъемы. Мик-
ропроцессор Pentium II представляет собой так называемый
SEC (Single Edge
Cartridge — картридж с однорядным расположением контактов).
Как видно из
рис. 3.40, этот картридж представляет собой довольно большую пластиковую ко-
робку, содержащую центральный процессор, двухуровневую кэш-память и торце-
вой соединитель для передачи сигналов. Он содержит 242 контакта.
Хотя у Intel были все основания перейти к такой модели, она повлекла за собой
проблему, которую компания не могла предвидеть. Многие покупатели имеют
привычку разбирать компьютер и искать микросхему процессора. Однако в первых
системах Pentium II покупатели не могли найти процессор и громко жаловались
(«У моего компьютера нет процессора!»). Компания Intel разрешила эту пробле-
му, приклеив изображение процессора (голограмму) на следующие модели SEC.
Примеры центральных процессоров
195
.14 0 cm.
6.3 cm
Картридж SEC
Процессор
Pentium II
Кэш-память
первого уровня
для команд
объемом 16 Кбайт
Объединенная
кэш-память
второго уровня
на 512 Кбайт
Кэш-память
первого уровня
для данных
шиной объемом 16 Кбайт
Связь
с локальной
Контакт
1 6 cm
Рис. 3.40.
Компоновка SEC
Главная проблема, связанная с процессором Pentium II, — управление режи-
мом электропитания. Количество выделяемого тепла зависит от тактовой часто-
ты, а выделяемая мощность при этом разнится от 30 до 50 Вт. Это огромная цифра
для компьютерной микросхемы. Чтобы получить представление, что такое 50 Вт,
поднесите руку к электрической лампочке в 50 Вт, которая включена уже некото-
рое время (только не дотрагивайтесь до нее). По этой причине SEC снабжен ради-
атором, чтобы рассеивать накопившееся тепло. Когда Pentium II перестанет быть
рабочим процессором, его можно будет использовать в качестве нагревателя.
В соответствии с законами физики все, что выделяет большое количества теп-
ла, должно потреблять большое количество энергии. В случае с портативным ком-
пьютером, который работает от батареи с ограниченным зарядом, потребление боль-
шого количества энергии нежелательно. Чтобы решить эту проблему, компания
Intel нашла способ вводить центральный процессор в режим пониженного энерго-
снабжения (состояние «сна»), если он не выполняет никаких действий, и вообще
отключать его (вводить в состояние «глубокого сна»), если есть вероятность, что
он не будет выполнять никаких действий некоторое время. В последнем случае
значения кэш-памяти и регистров сохраняются, а тактовый генератор и все внут-
ренние блоки отключаются. Видит ли Pentium II сны во время «глубокого сна»,
науке пока не известно.
Цоколевка процессора Pentium II
Из 242 контактов картриджа SEC 170 используются для сигналов, 27 для питания
(с различной мощностью), 35 для «земли» и еще 10 остаются на будущее. Для не-
которых логических сигналов используется два и более выводов (например, для
запроса адреса памяти), поэтому существует только 53 типа выводов. Цоколевка в
несколько упрощенном виде представлена на рис. 3.41. С левой стороны рисунка
показано 6 основных групп сигналов шины памяти; с правой стороны расположе-
ны прочие сигналы. Заглавными буквами обозначены названия самих сигналов,
196 Глава 3. Цифровой логический уровень
а строчными — общие названия для групп связанных сигналов (в последнем слу-
чае только первая буква заглавная).
Компания Intel использует одно соглашение, которое важно понимать. Посколь-
ку микросхемы разрабатываются с использованием компьютеров, нужно каким-
то образом представлять названия сигналов в виде текста ASCII. Использовать
черту над названиями сигналов, запускаемых низким напряжением, слишком слож-
но, вместо этого компания Intel помещает после названия сигнала знак #. Напри-
мер, вместо обозначения BPRI используется BPRI#. Как видно из рисунка, боль-
шинство сигналов Pentium II запускаются низким напряжением.
Давайте рассмотрим различные типы сигналов. Начнем с сигналов шины. Пер-
вая группа сигналов используется для запроса шины (то есть для арбитража).
Сигнал BPRI# позволяет устройству с высоким приоритетом получить доступ к
шине раньше других устройств. Сигнал LOCK# позволяет центральному про-
цессору не предоставлять остальным устройствам доступа к шине, пока работа не
будет закончена.
Центральный процессор или другое задающее устройство шины может произ-
водить запрос на доступ к шине, используя следующую группу сигналов. Адреса
состоят из 36 бит, но три последних бита должны всегда быть равны 0, и следова-
тельно, они не имеют собственных выводов, поэтому А# содержит только 33 выво-
да. Все передачи состоят из 8 байтов. Поскольку адрес содержит 36 бит, макси-
мальный объем памяти составляет 2
36
, то есть 64 Гбайт.
Когда адрес передается на шину, устанавливается сигнал ADS#. Этот сигнал
сообщает целевому объекту (например, памяти), что задействованы адресные ли-
нии. На линиях REQ# запускается цикл шины определенного типа (например,
считывание слова или запись блока). Два сигнала четности нужны для проверки
А#, а третий — для проверки ADS# и REQ#. Подчиненное устройство использует
пять специальных линий для сообщения об ошибках четности. Эти же линии ис-
пользуются всеми устройствами для сообщения о каких-либо других ошибках.
Группа сигналов для отслеживания адресов, по которым происходило измене-
ние данных, используется в многопроцессорных системах. Эти сигналы позволя-
ют процессору обнаружить, есть ли слово, которое ему нужно, в кэш-памяти дру-
гого процессора. Как процессор Pentium II отслеживает эти адреса, мы рассмотрим
в главе 8.
Ответные сигналы передаются от подчиненного к задающему устройству. Сиг-
нал RS# содержит код состояния. Сигнал TRDY# показывает, что подчиненное
устройство (целевой объект) готово принять данные от задающего устройства. Эти
сигналы также проверяются на четность.
Последняя группа сигналов нужна для передачи данных. Сигнал D# использу-
ется, чтобы поместить 8 байтов данных на шину. Когда они туда помещаются, вы-
дается сигнал DRDY# (сигнал наличия данных в шине). Он сообщает устройствам,
что шина в данный момент занята.
Сигнал RESET# нужен для перезагрузки процессора в случае сбоя. Pentium II
может осуществлять прерывания тем же способом, что и процессор 8088 (это тре-
буется в целях совместимости), или использовать новую систему прерывания с
устройством
APIC (Advanced Programmable Interrupt Controller — встроенный
контроллер прерываний).
Примеры центральных процессоров
197
Арбитраж
шины
Запросы
Ошибки •< Misc#
Г BPRI#
<
LOCK#
[ Misc#
Г А#
I ADS#
I REQ#
[ Parity#
Отслеживание
изменений
по адресам
Misc#
Г RS#
Ответы
<
TRDY#
[ Parity*
Данные
Г D#
IDRDY#
]DBSY#
i Parity*
Микропроцессор
Pentium II
11
RESET#
Прерывания
VID
Совместимость
Диагностика
Инициализация
Управление
электропитанием
Прочие сигналы
27 - 35
Источник
энергии
Рис. 3 . 4 1 . Цоколевка процессора Pentium II. Официальные названия отдельных сигналов
приведены заглавными буквами. Строчными буквами даны общие названия групп
связанных сигналов или описания сигналов
Pentium II может работать при разном напряжении. Сигналы VID использу-
ются для автоматического выбора напряжения источника питания. Сигналы со-
вместимости нужны для работы с устройствами более старых моделей, которые
изначально предназначены для процессора 8088. Группа сигналов диагностики
содержит сигналы для проверки и отладки системы в соответствии со стандартом
IEEE 1149.1 JTAG. Сигналы инициализации связаны с загрузкой системы. Сигна-
лы управления режимом электропитания позволяют процессору входить в состо-
яние «сна» или «глубокого сна». Наконец, оставшаяся группа содержит сигналы
разного рода. Сюда относится, например, сигнал, который выдается центральным
процессором, если его внутренняя температура превышает 130°С (266°F). Хотя
если температура центрального процессора превышает 130°С, он уже, вероятно,
мечтает о выходе на пенсию и хочет служить в качестве нагревателя.
Конвейерный режим шины памяти процессора Pentium U
Современные процессоры, например Pentium II, работают гораздо быстрее совре-
менных динамических ОЗУ. Чтобы процессор не простаивал, необходима макси-