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

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

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

Добавлен: 24.12.2021

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

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

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

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

Если требуемой строки нет в кэш-памяти второго уровня, ее нужно вызвать из

основной памяти через интерфейс UPA. UPA в системе UltraSPARC II управля-
ется централизованным контроллером. Туда поступают адресные сигналы и сиг-
налы управления от центрального процессора (или процессоров, если их больше
чем один). Чтобы получить доступ к памяти, центральный процессор должен сна-

чала получить разрешение воспользоваться шиной. Когда шина предоставляется

процессору, он получает сигнал с адресных выводов, определяет тип запроса и пе-
редает сигнал по нужному адресному выводу. (Эти выводы двунаправлены, по-
скольку другим процессорам в системе UltraSPARC II нужен доступ к отдален-

ным блокам кэш-памяти.) Адрес и тип цикла шины передаются на адресные выводы

за два цикла, причем в первом цикле выдается строка, а во втором — столбец, как
мы видели на рис. 3.30.

В ожидании результатов центральный процессор вполне может заниматься

другой работой. Например, отсутствие нужной команды в кэш-памяти вовсе не

мешает выполнению одной или нескольких команд, которые уже вызваны, и каж-

дая из которых может обращаться к данным не из кэш-памяти. Таким образом,

сразу несколько транзакций к UPA могут ожидать выполнения. Система UPA

может справляться с двумя независимыми потоками транзакций (обычно это чте-

ние и запись), каждый поток проходит с несколькими задержками. Задача центра-

лизованного контроллера — следить за всем этим и производить обращения к па-

мяти в наиболее рациональном порядке.

Данные из памяти могут поступать блоками по 8 байтов. Они содержат 16-бит-

ный код с исправлением ошибок для большей надежности. Можно запрашивать

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

ному процессору необходимо записать слово или строку кэш-памяти в основную

память, он может не ждать доступа к UPA, а сразу записать данные в буфер UDB,

который доставит их в память позднее. UDB также генерирует код с исправлени-
ем ошибок. Отметим, что описание процессоров UltraSPARC II и Pentium II в этой

книге сильно упрощено. Тем не менее мы изложили основную суть их работы.

PicoJava II

Pentium II и UltraSPARC II — процессоры с высокой производительностью, кото-

рые были разработаны для построения быстрых персональных компьютеров и ра-

бочих станций. Существуют и другие компьютеры: так называемые встроенные
системы. Именно их мы и рассмотрим кратко в этом разделе.

Не будет преувеличением сказать, что практически любое электронное устрой-

ство стоимостью более 100 долларов содержит встроенный компьютер. Телевизоры,

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

сокую производительность, а на низкую стоимость встроенного компьютера, что
приводит к несколько другому соотношению преимуществ и недостатков по срав-

нению с процессорами, которые мы обсуждали до сих пор.


background image

204

Глава 3. Цифровой логический уровень

Традиционно встроенные процессоры программировались на языке ассемблер,

но так как с течением времени приборы усложнялись и последствия сбоев про-
граммного обеспечения становились более серьезными, появились другие подходы.

Особенно удобно использовать в качестве языка программирования для встроен-

ных систем язык Java, поскольку он относительно прост и программы занимают
мало места. К достоинствам также можно отнести независимость базовых программ-
ных средств. Однако у этого языка есть и недостатки. Во-первых, чтобы использо-
вать язык Java во встроенных системах, требуется большой интерпретатор для вы-

полнения кода JVM. (Программу на языке Java в код JVM преобразует специальный
компилятор.) Во-вторых, процесс интерпретации занимает много времени.

Чтобы разрешить эту проблему, Sun и другие компании разработали процессо-

ры со встроенным набором команд JVM. При таком подходе сочетаются и просто-

та использования языка Java, и мобильность, и небольшой размер бинарного кода

JVM, порождаемого компилятором, и высокая скорость выполнения операций,

которая достигается благодаря особенностям аппаратного обеспечения. В этом
разделе мы рассмотрим один из процессоров, который был разработан специально

для встроенных систем.

Речь идет о процессоре picojava II, который составляет основу микросхемы

microjava 701. Микросхема была разработана компанией Sun, но другие компании

также имеют право использовать эту разработку. Это однокристальный процессор

с двумя интерфейсами шины: один из них предназначен для шины памяти шири-
ной в 64 бита, а другой — для шины PCI, как показано на рис. 3.45. Как Pentium II

и UltraSPARC II, данный процессор может содержать кэш-память первого уровня
(до 16 Кбайт для команд и до 16 Кбайт для данных). Но, в отличие от этих двух
процессоров, он не имеет кэш-памяти второго уровня, поскольку низкая стоимость
является ключевым параметром при разработке встроенных систем. Ниже мы рас-
смотрим микросхему microjava II 701. Она небольшого размера: содержит всего
2 млн транзисторов плюс еще 1,5 млн для кэш-памяти.

Программируемые „

линии ввода-вывода

Шина PCI

16

Процессор

Microjava 701

Кэш- ,— —

память I Команды

п е р в о г о

 I Данные

уровня I—-

¥

Шина памяти

Основная

память

Рис. 3.45. Система microjava H 701

На рис. 3.45 видны три особенности микросхемы. Во-первых, в микросхеме

microjava 701 используется шина PCI (на частоте 33 МГц или 66 МГц). Эта шина
была разработана компанией Intel для использования в системах Pentium, но она
подходит и для других процессоров. Преимущество шины PCI состоит в том, что

она является стандартной, и поэтому не нужно каждый раз разрабатывать новую


background image

Примеры шин 205

шину. Кроме того, существует огромное количество сменных плат для этой шины.

Хотя платы

 PCI

 и не играют большой роли при создании сотовых телефонов,

они могут пригодиться для различных устройств большого размера (например,
web-TV).

Во-вторых, система microjava II701 обычно содержит флэш-память. Дело в том,

что в прибор должна быть встроена если не вся программа, то по крайней мере ее
большая часть. Флэш-память хорошо подходит для хранения программы, поэтому
полезно иметь соответствующий интерфейс. Другая микросхема (на рисунке она

не показана), которую можно добавить к системе, содержит последовательные

 и

 па-

раллельные интерфейсы ввода-вывода.

В-третьих, microjava 701 содержит 16 программируемых линий ввода-вывода,

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

ственно с процессором. Наличие программируемых линий ввода-вывода на про-

цессоре исключает необходимость использования программируемых контроллеров

ввода-вывода, что делает прибор проще и дешевле. В микросхему microjava 701
встроено также три программируемых тактовых генератора, которые могут быть
полезны, приборы часто работают в реальном времени.

Микросхема microjava 701 выпускается в стандартном корпусе

 BGA (Ball Grid

Array — корпус с выводами в виде сетки крошечных шариков).

 Он содержит

316 выводов. Из них 59 выводов связаны с шиной PCI. Ниже в этой главе мы
рассмотрим шину PCI подробно. Еще 123 вывода предназначены для шины памяти,

среди них есть 64 двунаправленных вывода для передачи данных, а также отдель-

ные адресные выводы. Остальные выводы используются для управления (7), син-

хронизирующих импульсов (3), прерываний (11), проверки (10), ввода-вывода(16).

Некоторые из оставшихся выводов используются для питания и «земли», а осталь-

ные вообще не используются. Другие производители процессора picojava II вправе

выбирать иную шину, компоновку и т. д.

У данной микросхемы есть много других особенностей. Она, например, может

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

встроенный контроллер прерывания, она также имеет полную поддержку для стан-
дарта тестирования IEEE 1149.1 JTAG.

Примеры шин

Шины соединяют компьютерную систему в одно целое. В этом разделе мы рас-

смотрим несколько примеров шин: шину ISA, шину PCI и Universal Serial Bus (уни-
версальную последовательную шину). Шина ISA представляет собой небольшое
расширение первоначальной шины IBM PC. По соображениям совместимости она
все еще используется во всех персональных компьютерах Intel'. Однако такие ком-

пьютеры всегда содержат еще одну шину, которая работает быстрее, чем шина ISA.

Шина ISA не используется в современных компьютерах. Уже несколько лет компания Intel настоя-

тельно рекомендует разработчикам компьютеров не использовать эту шину. —

 Примеч. научи, ред.


background image

2 0 6 Глава 3. Цифровой логический уровень

Это шина PCI. Она шире, чем ISA, и функционирует с более высокой тактовой

частотой. Шина USB обычно используется в качестве шины ввода-вывода для пе-
риферийных устройств малого быстродействия (например, мыши и клавиатуры).

В следующих разделах мы рассмотрим каждую из этих шин по очереди.

Шина ISA

Шина IBM PC была неофициальным стандартом систем с процессором 8088, по-

скольку практически все производители клонов скопировали ее, чтобы иметь воз-

можность использовать в своих системах платы ввода-вывода от различных по-
ставщиков. Шина содержала 62 сигнальные линии, из них 20 для адреса ячейки
памяти, 8 для данных и по одной для сигналов считывания информации из памя-
ти, записи информации в память, считывания с устройства ввода-вывода и записи
на устройство ввода-вывода. Имелись и сигналы для запроса прерываний и их раз-
решения, а также для прямого доступа к памяти. Шина была очень примитивной.

Шина IBM PC встраивалась в материнскую плату персонального компьютера.

На плате было несколько разъемов, расположенных на расстоянии 2 см друг от

друга. В разъемы вставлялись различные платы. На платах имелись позолоченные

выводы (по 31 с каждой стороны), которые физически подходили под разъемы.

Через них осуществлялся электрический контакт с разъемом.

Когда компания IBM разрабатывала компьютер PC/AT с процессором 80286,

она столкнулась с некоторыми трудностями. Если бы компания разработала со-
вершенно новую 16-битную шину, многие потенциальные покупатели не стали бы
приобретать этот компьютер, поскольку ни одна из сменных плат, выпускаемых

другими компаниями, не подошла бы к новой машине. С другой стороны, если
оставить старую шину, то новый процессор не сможет реализовать все свои воз-
можности (например, возможность обращаться к 16 Мбайт памяти и передавать

16-битные слова).

В результате было принято решение расширить старую шину. Сменные платы

персональных компьютеров содержали краевой разъем (62 контакта), но этот кра-
евой разъем проходил не по всей длине платы. Поэтому на плате поместили еще
один краевой разъем, смежный с главным. Кроме того, схемы PC/AT были раз-
работаны таким образом, чтобы можно было подсоединять платы обоих типов.

На рис. 3.46 изображена шина PC/AT.

Второй краевой разъем шины PC/AT содержит 36 линий. Из них 31 предназна-

чена для дополнительных адресных линий, информационных линий, линий пре-
рывания, каналов ПДП (прямого доступа к памяти), а также для питания и «земли».

Остальные связаны с различиями между 8-битными и 16-битными передачами.

Когда компания IBM выпустила серию компьютеров PS/2, пришло время на-

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

клоны, которые в то время заполонили компьютерный рынок. Поэтому компьюте-
ры PS/2 с высокой и средней производительностью были оснащены абсолютно но-
вой шиной MCA (MicroChannel Architecture), которая была защищена патентами.


background image

Примеры шин

207

Материнская плата

Разъем

ШИНЫ PC

D

а

D

а

D

D

D

П D

Процессор

и другие

микросхемы

Встроенная

Контакт плата

О*

1

Z1

Л

О

п

п

D

Новый разъем для PC/AT Краевой разъем

Рис. 3.46.

 Шина PC/AT состоит из двух компонентов' старой и новой шины

Компьютерная промышленность отреагировала на такой шаг введением своего

собственного стандарта, шины

 ISA (Industry Standard Architecture — стандарт-

ная промышленная архитектура),

 которая, по существу, представляет собой шину

PC/AT, работающую при частоте 8,33 МГц. Преимущество такого подхода состо-

ит в том, что при этом сохраняется совместимость с существующими машинами и
платами. Отметим, что в основе этого стандарта лежит шина, разработанная ком-
панией IBM. IBM когда-то необдуманно предоставила права на производство этой
шины многим компаниям, чтобы как можно больше производителей имели воз-
можность выпускать платы для компьютеров IBM. Однако впоследствии компа-
нии IBM пришлось об этом сильно пожалеть. Эта шина до сих пор используется
во всех персональных компьютерах с процессором Intel, хотя обычно кроме нее
там есть еще одна или несколько других шин. Исчерпывающее описание шины

ISA можно найти в книге [127].

Позднее шина ISA была расширена до 32 разрядов. У нее появились некоторые

новые особенности (например, возможность параллельной обработки). Такая шина

называлась

 EISA (Extended Industry Standard Architecture — расширенная ар-

хитектура промышленного стандарта).

 Для нее было разработано несколько плат.

Шина PCI

В первых компьютерах IBM PC большинство приложений имели дело с текстами.
Постепенно с появлением Windows вошли в употребление графические интерфей-

сы пользователя. Ни одно из этих приложений не давало большой нагрузки на

шину ISA. Однако с течением времени появилось множество различных приложе-