ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 13.01.2021

Просмотров: 147

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

8


Лекция 7


3.5. Примеры центральных процессоров


В этом разделе мы рассмотрим процессоры Pentium II, UltraSPARC II и picoJava с точки зрения цифрового логического уровня архитектуры.


3.5.1. Pentium II


Pentium II - потомок процессора 8088, который использовался первой моделью IBM PC. Хотя Pentium II сильно отличается от процессора 8088 (первый содержит 7,5 млн транзисторов, а второй — всего 29 000), он теоретически совместим с 8088 и может выполнять программы, написанные для 8088.

С точки зрения программного обеспечения, Pentium II представляет собой 32-разрядную машину. Он содержит ту же архитектуру системы команд, что и про­цессоры 80386, 80486, Pentium и Pentium Pro, включая те же регистры, ко­манды и встроенную систему с плавающей точкой.

С точки зрения аппаратного обеспечения, Pentium II является существенным шагом вперед, поскольку может обращаться к 64 Гбайт физической памяти и переда­вать данные в память и из памяти блоками по 64 бита. Программист не видит этих передач по 64 бита, но такая машина работает быстрее 32-разрядной.

На микроархитектурном уровне Pentium II представляет собой Pentium Pro с командами ММХ. Команды выбираются из памяти заранее и разбиваются на микрооперации. При выполнении в одном цикле нескольких микроопераций Pentium II работает как супер­скалярная машина.

Pentium II имеет двухуровневую кэш-память. Кэш-память первого уровня со­держит 16 Кбайт для команд и 16 Кбайт для данных, а смежная кэш-память второ­го уровня - еще 512 Кбайт. Строка кэш-памяти состоит из 32 байт. Тактовая час­тота кэш-памяти второго уровня в два раза меньше тактовой частоты центрального процессора. Тактовая частота центрального процессора - от 233 МГц и выше (до 450 МГц).

В системах с процессором Pentium II используются две внешние шины, обе они синхронные. Шина памяти используется для доступа к главному ОЗУ; шина PCI используется для сообщения с устройствами ввода-вывода. Ино­гда к шине PCI подсоединяется унаследованная (то есть прежняя) шина, чтобы можно было подключать старые периферийные устройства.

Компьютер на базе Pentium II может содержать один или два центральных процессора, которые разделяют общую память. Для предотвращения конфликтов существуют специальные системы поддержки.

Все процессоры, начиная с 8088 и заканчивая Pentium Pro, были обычными микросхемами с выводами по бокам или снизу, которые вставлялись в разъемы. Система Pentium II выполнена как SEC (Single Edge Cartridge - картридж с однорядным расположением контактов). Этот картридж представляет собой пластиковую ко­робку, содержащую центральный процессор, двухуровневую кэш-память и торце­вой соединитель для передачи сигналов. Картридж содержит 242 контакта.

Одна из главных проблем процессора Pentium II - управление режимом электропитания. Имея относительно высокую тактовую частоту, он выделяет большое количество тепла (от 30 до 50 Вт). По этой причине SEC снабжен радиатором, рассеивающим накопившееся тепло. Компания Intel нашла также способ вводить центральный процессор в режим пониженного энергоснабжения (состояние “сна”), если он не выполняет никаких действий, и вообще выключать его (вводить в состояние “глубокого сна”), если есть вероятность, что он не будет выполнять никаких действий некоторое время. В последнем случае значения кэш-памяти и регистров сохраняются, а тактовый генератор и все внутренние блоки отключаются.


Из 242 контактов картриджа SEC 170 используются для сигналов, 27 для питания (с различной мощностью), 35 для “земли” и еще 10 оставлены на будущее. Для не­которых логических сигналов используется два и более выводов (например, для запроса адреса памяти). Посколь­ку микросхемы разрабатываются с использованием компьютеров, компания Intel использует представления названий сигналов в виде текста ASCII. Различным видам сигналов присваиваются символьные наименования, завершающиеся знаком # (например: BPRI#, LOCK#, A#, ADS#, REQ#, …). В частности, сигнал RESET# используется для перезагрузки процессора в случае сбоя.

Pentium II может реализовывать прерывания старым способом (аналогично процессору 8088 - в целях совместимости), или использовать новую систему прерываний с устройством APIC (Advanced Programmable Interrupt Controller - встроенный контроллер прерываний).

Шина памяти процессора Pentium II работает в конвейерном режиме, при этом в ней может происхо­дить одновременно 8 операций. Обращения процессора к памяти, которые называются транзакциями, имеют 6 стадий:

  1. арбитраж шины;

  2. запрос;

  3. сообщение об ошибке;

  4. проверка на наличие нужного слова в другом процессоре;

  5. ответ;

  6. передача данных.

Наличие всех шести фаз необязательно. На фазе арбитража шины определя­ется, какое из задающих устройств будет очередным. На фазе запроса на шину передается адрес. На фазе сообщения об ошибке подчиненное устройство передает сигнал об ошибке четности в адресе или о наличии каких-либо других неполадок. На следующей фазе центральный процессор проверяет, нет ли нужного ему слова в другом процессоре. Эта стадия нужна только в многопроцессорных системах. В следующей фазе задающее устройство узнает, где взять необходимые данные. На последней стадии осуществляется передача данных.

В системе с процессором Pentium II на каждой стадии используются опреде­ленные сигналы, отличные от сигналов других стадий, поэтому каждая стадия не зависит от остальных. Например, один из процессоров может пытаться получить доступ к шине, используя сигналы арбитража. Как только процессор получает право на до­ступ к шине, он освобождает эти линии шины и занимает линии запроса. Тем вре­менем другой процессор или какое-нибудь устройство ввода-вывода может войти в фазу арбитража шины и т. д.


3.5.2. UltraSPARC II


Семейство UltraSPARC - это серия 64-разрядных RISC-процессоров (I, II, III). Они используются в рабочих станциях и серверах Sun, а также во многих других сис­темах. Процессор UltraSPARC II был разработан для создания 4-узловых мультипро­цессоров с разделенной памятью без добавления внешних схем, а также для созда­ния более крупных мультипроцессоров с минимальным добавлением внешних схем. Таким образом, в каждую микросхему UltraSPARC II включены связую­щие элементы для построения мультипроцессора.

В отличие от структуры Pentium II SEC, процессор UltraSPARC II представ­ляет собой самостоятельную микросхему. Она состоит из 5,4 млн транзисторов. Микросхема содержит 787 расположенных снизу выводов. Наличие большого числа выводов объясняется двумя факторами. С одной сторо­ны, используются 64 бита для адресов и 128 битов для данных. С другой сторо­ны, большое количество выводов требуется в связи с особенностями работы кэш-памяти. Кроме того, многие выво­ды являются резервными.


Процессор UltraSPARC II содержит 2 внутренних блока кэш-памяти: 16 Кбайт для команд и 16 Кбайт для данных. Вне кристалла про­цессора (как и у Pentium II) расположена кэш-память второго уровня. В отличие от Pentium II, про­цессор UltraSPARC II не упакован в общий картридж с кэш-памятью второго уров­ня, поэтому разработчики могут выбирать любые микросхемы для кэш-памяти второго уровня. Внешняя кэш-память является бо­лее гибкой (у UltraSPARC II ее можно расширить с 512 Кбайт до 16 Мбайт, а у Pentium II она имеет фиксированный объем 512 Кбайт). Однако из-за большей удаленности от процессора внешняя память работает медленнее. Кроме того, для обращения к внешней кэш-памяти требуется больше сигналов (у картриджа SEC нет контактов для связи с кэш-памятью, т.к. в данном случае кэш-память встроена в картридж), поэтому среди выводов процессора UltraSPARC II обязательно должны быть выводы для управления кэш-памятью.

Вся основная память компьютера подразделяется на строки кэш-памяти (блоки) по 64 байта. В кэш-памяти первого уровня находятся 256 наиболее часто используемых строк команд и 256 наиболее часто используе­мых строк данных. В кэш-памяти второго уровня содержатся строки, не поместившиеся в первом уровне. Кэш-память второго уровня содержит линии данных и команд вперемешку. В специальной части кэш-памяти хранится также информация о том, какие строки находятся в кэш-па­мяти второго уровня.

Большинство рабочих станций Sun содержат синхронную шину на 25 МГц, ко­торая называется Sbus. К этой шине могут подсоединяться устройства ввода-вы­вода. Шина Sbus работает медленно и не подходит для памяти, поэтому компания Sun придумала другой механизм для соединения процессоров UltraSPARC II с памятью: UPA (Ultra Port Architecture - высокоскоростной пакетный коммутатор). UPA может реализовываться в виде шины, переключателя или сочетания того и другого. В различных рабочих станциях и серверах используют­ся различные реализации UPA.

Когда процессору нужно некоторое слово памяти, он сначала обращается к кэш-памяти первого уровня. Если он находит слово, то продолжает выполнять операции с полной скоростью, в противном случае обращается к кэш-памяти второго уровня. Если соответствующая строка там есть, центральный процессор получает ее. Пере­дача данных осуществляется по 16 байтов, поэтому для пересылки целой строки в кэш-память первого уровня требуется 4 цикла. Если требуемой строки нет и в кэш-памяти второго уровня, то ее нужно выбрать из основной памяти через интерфейс UPA. UPA в системе UltraSPARC II управля­ется централизованным контроллером. К нему поступают адресные сигналы и сиг­налы управления от центрального процессора (или процессоров, если их более одного). Чтобы получить доступ к памяти, центральный процессор должен сна­чала получить разрешение воспользоваться шиной. Когда шина предоставляется процессору, он получает соответствующие сигналы. При ожидании результатов центральный процессор может заниматься другой работой. Например, отсутствие нужной команды в кэш-памяти не мешает выполнению одной или нескольких команд, которые уже выбраны, и каж­дая из которых может обращаться к данным не из кэш-памяти. Таким образом, ожидать выполнения могут сразу несколько транзакций к UPA. Система UPA может справляться с двумя независимыми потоками транзакций (обычно это чте­ние и запись), каждый поток проходит с несколькими задержками. Задача центра­лизованного контроллера - следить за всем этим и производить обращения к па­мяти в наиболее рациональном порядке.



3.5.3. PicoJava II


При разработке встроенных компьютеров упор делается не на вы­сокую производительность, а на низкую стоимость. Это приводит к несколько другому соотношению преимуществ и недостатков по срав­нению с процессорами, рассмотренными выше.

PicoJava II представляет собой однокристальный процессор с двумя интерфейсами шины: один из них предназначен для шины памяти шири­ной в 64 бита, а другой - для шины PCI. Данный процессор может содержать кэш-память первого уровня (до 16 Кбайт для команд и до 16 Кбайт для данных). Но, в отличие от рассмотренных выше процессоров, он не имеет кэш-памяти второго уровня. Процессор picoJava II является основой разработанной Sun микросхемы microJava 701. Она небольшого размера, содержит 2 млн транзисторов в собственно процессоре и еще 1,5 млн в кэш-памяти.

В микросхеме microJava 701 используется шина PCI (на частоте 33 или 66 МГц). Преимущество этой шины состоит в том, что она стандартна. Кроме того, существует большое количество сменных плат для этой шины. Хотя платы PCI не играют большой роли при создании сотовых телефонов, они важны для различных устройств большого размера (например, web-TV).

Система microJava II 701 обычно содержит флэш-память, которая хорошо подходит для хранения программ. Другая микросхема, которую также можно добавить к системе, содержит последовательные и па­раллельные интерфейсы ввода-вывода.

Кроме того, microJava 701 имеет 16 программируемых линий ввода-вывода, которые можно связать с кнопками, переключателями и лампочками прибора. Например, у микроволновой печи обычно есть клавишная панель с цифрами и несколько дополнительных кнопок, которые целесообразно соединить непосредственно с процессором. Наличие программируемых линий ввода-вывода на про­цессоре исключает необходимость использования программируемых контроллеров ввода-вывода, что делает прибор проще и дешевле.

В микросхему microJava 701 встроены также три программируемых тактовых генератора, которые могут быть полезны при работе приборов в реальном времени.

Микросхема microJava 701 выпускается в стандартном корпусе BGA (Ball Grid Array - корпус с выводами в виде массива шариков). Он содержит 316 выводов. Из них 59 выводов связаны с шиной PCI. Еще 123 вывода предназначены для шины памяти, среди них есть 64 двунаправленных вывода для передачи данных, а также отдель­ные адресные выводы. Остальные выводы используются для управления (7), синхронизирующих импульсов (3), прерываний (11), проверки (10), ввода-вывода (16). Некоторые из оставшихся выводов используются для питания и “земли”, осталь­ные - не используются. Другие производители процессора picoJava II вправе выбирать иную шину, компоновку и т. д.

У данной микросхемы есть много других особенностей. Она, например, может переходить в режим ожидания (чтобы экономить заряд батарейки), содержит встроенный контроллер прерываний.



3.6. Примеры шин


Шины соединяют компьютерную систему в одно целое. В этом разделе мы с точки зрения цифрового логического уровня рас­смотрим несколько примеров: шину ISA, шину PCI и Universal Serial Bus (уни­версальную последовательную шину). Шина ISA представляла собой небольшое расширение первоначальной шины IBM PC. Она уже практически не применяется в современных компьютерах. Наиболее используемой является шина PCI. Она шире, чем ISA, и функционирует с более высокой тактовой частотой. Шина USB обычно применяется в качестве шины ввода-вывода для периферийных устройств малого быстродействия (например, мыши и клавиатуры).


3.6.1. Шина ISA


Шина IBM PC была неофициальным стандартом систем с процессором 8088. Она содержала 62 сигнальные линии, из них 20 для адреса ячейки памяти, 8 для данных и по одной для сигналов считывания информации из памя­ти, записи информации в память, считывания с устройства ввода-вывода и записи на устройство ввода-вывода. Имелись сигналы для запроса прерываний и их раз­решения, а также для прямого доступа к памяти. Шина IBM PC встраивалась в материнскую плату персонального компьютера. На плате было несколько разъемов, расположенных на расстоянии 2 см друг от друга. В эти разъемы вставлялись различные платы внешних устройств.

При разработке компьютера PC/AT с процессором 80286 фирмой IBM было принято решение не заменять, а расширить старую шину (для сохранения совместимости). В результате к модернизированной шине стало возможным подключение как старых сменных плат, так и новых, имеющих больше контактов. Дополнительный краевой разъем шины PC/AT содержит 36 линий. Из них 31 предназна­чена для дополнительных адресных линий, информационных линий, линий пре­рывания, каналов ПДП (прямого доступа к памяти), а также для питания и “земли”. Остальные связаны с различиями между 8-битными и 16-битными передачами данных.

Чтобы как можно больше производителей имели воз­можность выпускать платы для ее компьютеров, фирма IBM предоставила права на производство этой шины многим компаниям. В дальнейшем компьютерная промышленность ввела стандарт шины ISA (Industry Standard Architecture - стандарт­ная промышленная архитектура), которая по существу представляет собой шину PC/AT, работающую при частоте 8,33 МГц.

Позднее шина ISA была расширена до 32 разрядов. У нее появились некоторые новые особенности (например, возможность параллельной обработки). Такая шина называлась EISA (Extended ISA). Для нее было разработано несколько плат.


3.6.2. Шина PCI


В 1990 году компания Intel разработала новую шину с гораздо более высокой пропускной способностью, чем у EISA. Новую шину назвали PCI (Peripheral Component Interconnect - взаимодействие периферийных компонентов). Она стала чрезвычайно популярной. Фактически в каждом компьютере Intel (начиная с Pentium), а также во многих других компью­терах содержится шина PCI. Даже компания Sun выпустила версию UltraSPARC, в которой используется шина PCI (это компьютер UltraSPARC Hi).


Смотрите также файлы