Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
53
Добавлен:
21.05.2015
Размер:
89.09 Кб
Скачать

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).

Первая шина PCI передавала 32 бита за цикл и работала с частотой 33 МГц (время цикла 30 нс), общая пропускная способность составляла 133 Мбайт/с. В 1993 году появилась шина PCI 2.0, а в 1995 году - PCI 2.1. Шина PCI 2.2 подхо­дит и для портативных компьютеров (где требуется экономия заряда батареи). Шина PCI работает с частотой 66 МГц, способна передавать 64 бита за цикл, а ее общая пропускная способность составляет 528 Мбайт/с.

Хотя 528 Мбайт/с - достаточно высокая скорость передачи данных, этого недостаточно для шины памяти. С другой стороны, эта шина несовместима со старыми картами ISA. По этой причине разрабатывались компьютеры с тремя и более шинами. Центральный процессор мог обмени­ваться информацией с основной памятью через специальную шину памяти, а шина ISA была связана с шиной PCI. Такая архитектура использовалась во многих компьютерах Pentium II.

Ключевыми компонентами данной архитектуры являются мосты между шина­ми (эти микросхемы выпускает компания Intel). Мост PCI связывает центральный процессор, память и шину PCI. Мост ISA связывал шину PCI с шиной ISA, а также поддерживал один или два диска IDE. Системы Pentium II выпускались с одним или несколькими сво­бодными слотами PCI для подключения дополнительных высокоскоростных периферийных устройств и с одним или несколькими слотами ISA для подключе­ния низкоскоростных периферийных устройств.

Платы PCI различаются по потребляемой мощности, разрядности и синхронизации. Старые компьютеры обычно используют напряжение 5 В, а новые - 3,3 В, поэтому шина PCI поддерживает оба напряжения. Существуют и универсальные платы, которые также под­держивают оба напряжения. Платы разли­чаются не только по мощности, но и по разрядности. Существует два типа плат: 32-битные и 64-битные. 32-битные платы содержат 120 выводов; 64-битные платы содержат те же 120 выводов плюс 64 дополнительных вывода (аналогично тому, как шина IBM PC была расширена до 16 битов). Шина PCI, под­держивающая 64-битные платы, может поддерживать и 32-битные, но обратное неверно. Наконец, шины PCI и соответствующие платы могут работать с частотой 33 МГц или 66 МГц. В обоих случаях контакты идентичны. Различие со­стоит в том, что один из выводов связывается либо с источником питания, либо с “землей”.

Шины PCI являются синхронными, как и все шины PC, восходящие к первой модели IBM PC. Все транзакции в шине PCI осуществляются между задающим и подчиненным устройствами. Чтобы не увеличивать число выводов на плате, ад­ресные и информационные линии объединены. При этом используются 64 выво­да для всей совокупности адресных и информационных сигналов.

Шина PCI управляется централизованным арбитром. В большинстве случаев арбитр шины встраивается в один из мостов между шинами. От каждого устройства PCI к арбитру тянутся две специ­альные линии. Одна из них (с сигналом REQ#) используется для запроса шины, а вторая (с сигналом GNT#) - для получения разрешения на доступ к шине. Алгоритм, которым руководствуется арбитр, не зависит от технических характеристик шины PCI.

Соседние файлы в папке Архитектура ЭВМ