сора, а его малое потребление электроэнергии. По этому параметру RISC процессоры обычно более предпочтительны.
В КПК класса Palm использовались довольно медленные, но экономичные процессоры, такие, как DragonBall с системой команд микропроцессоров Motorola 68000, на которых были построены хорошо зарекомендовавшие себя ПК «Маки» (Apple Macintosh). Наибольшее применение поначалу имел процессор MC68EZ328 (DragonBall EZ). Это 32разрядный процессор с тактовой частотой 16,58 или 20 МГц, но c 16разрядной шиной данных.
Сейчас фирма Motorola производит новый процессор семейства
DragonBall – MC68VZ328 (DragonBall VZ), созданный на основе Motorola DragonBall EZ (MC68EZ328). Этот процессор имеет повы-
шенную тактовую частоту – 33 МГц и расширенную поддержку внешних устройств.
С появлением КПК на основе операционной системы Windows CE в КПК стали использоваться более мощные процессоры SH3 корпорации Hitachi с частотой 133 МГц и VR122 корпорации NEC с частотой 150 МГц. Но с приходом платформы Pocket PC 2002 выбор процессоров сузился до одного процессора - Intel Strong ARM SA-1110 c частотой 206 МГц.
Для КПК с новой операционной системы Windows CE.net может применяться широкий круг микропроцессоров:
Класс процессора |
Поддерживаемые типы процессоров |
ARM |
ARM720T, AEM920T, ARM 1020T, Strong |
|
ARM, Xscale |
MIPS |
MIPS II/32, MIPS 16, MIPS IV/64 |
SHx |
SH-3, SH-3 DSP, SH-4 |
X86 |
486, 586, Geode, Pentium, Pentium II/III/4 |
2.3.2. Микропроцессор Strong ARM SA-1110
Ввиду особой роли микропроцессора Strong ARM SA-1110 стоит рассмотреть его возможности более подробно. Этот процессор служит для создания различных мультимедиа устройств.
Strong ARM SA-1110 - 32-разрядный RISC процессор с такто-
вой частотой 206 МГц. Процессор поддерживает 100-мегагерцовую шину данных и память SDRAM и SMROM. Встроенная в процессор кэш-память уровня L2 имеет размер 8 Кбайт для данных и 16 Кбайт
72
для инструкций. Имеется также мини-кэш Minicashe уровня L1 с емкостью 512 байт с повышенной скоростью работы. С помощью контроллера памяти Memory&PCMCIA Controller поддерживается работа со многими видами памяти. Реализуются до 28 прерываний (модуль
Interrupt Controller) и прямой доступ к памяти (модуль DMA).
Для КПК важна поддержка технологий энергосбережения, осуществляемая модулем Power Manager. Процессор содержит также модули осциллятора, системного таймера, буфера данных и др. Модули периферийного контроля поддерживают жидкокристаллический дисплей, инфракрасный порт IrDA, последовательные порты RS-232 и USB, интерфейс кодеков.
Процессор заключен в 256-контактный миниатюрный BGA корпус. Вычислительная мощность процессора вполне достаточна для быстрого декодирование файлов MP3 музыки и файлов MPEG-4 сжатого видео.
2.3.3.Микропроцессор Xscale
Вначале 2002 года состоялся дебют новейшего микропроцессора для КПК - Xscale от Intel. Эти 32-разрядные микропроцессоры являются развитием StrongARM и программно с ними совместимы. Выпускается два варианта новых процессоров – PXA210 и PXA250 (Cotulla и Sabinal соответственно). Обе модели имеют кэш на 64
Кбайт, встроенный контроллер памяти и контроллер ЖК-дисплея. Модель PXA210 работает на тактовых частотах от 200 МГц, а рабочие частоты PXA250 (рис. 2.6) начинаются с 400 МГц. Планируется выпуск вариантов процессора с тактовой частотой 1 ГГц.
Рис. 2.6. Микропроцессор Xscale PXA250 корпорации Intel
В этих процессорах ради экономии электрической энергии частота работы сделана плавающей. Она автоматически понижается, если КПК используется не на всю свою мощь, и повышается до номинального значения, если процессор ведет интенсивные вычисления.
С такими процессорами уже выпускаются КПК класса Pocket PC 2002. Первые модели таких КПК уже появились на прилавках магазинов. Любопытно, что реальная скорость их лишь на 10-15% выше ско-
73
рости работы КПК на процессоре Strong ARM SA-1110. Причина этого кроется в отставании программного обеспечения для новых процессоров, которое включало бы в работу возможности новейших микропроцессоров в полной мере.
2.4. Работа микропроцессора
2.4.1. Устройство и назначение микропроцессора
Микропроцессор - это миниатюрное устройство для выполнения различных логических и арифметических операций без участия человека по заданной для него программе, которая (как и данные) хранится в памяти – чаще всего оперативной.
Можно рассмотреть несколько наиболее важных блоков микропроцессора и уточнить их функции и работу. Все эти блоки располагаются на системной (или материнской) плате компьютера.
2.4.2. Шины и разрядность микропроцессора
Микропроцессор подключается к системной шине, как и прочие блоки компьютера. Для выделения каждого устройства оно наделяется уникальным адресом – как квартиры, дома и улицы в большом городе. Недаром современные ПК имеют так называемую шинную архитектуру, которая позволяет в неограниченном количестве наращивать ПК все новым и новым периферийным оборудованием.
Шина на материнской плате компьютера – это множество плоских проводников. К шинам подключены специальные буферные микросхемы.Удобства ради принято делить системную шину на три шины.
Шина данных – двунаправленная шина, по которой данные от различных периферийных устройств подаются в процессор или, напротив, посылаются от процессора в эти устройства.
Шина адресов – однонаправленная шина, по которой от процессора посылаются сигналы, указывающие на адрес того или иного периферийного устройства.
Управляющая шина – двунаправленная шина, по которой передаются управляющие сигналы, обеспечивающие заданную последовательность работы микропроцессора и различных периферийных устройств компьютера.
По проводам шин данных и адресов идут двоичные электрические сигналы. Число проводов задает разрядность шин. В общем слу-
74
чае она различна для данных и адресов. Чем выше разрядность шины данных, тем больше информации передается за раз по ней. Разрядность шины адресов определяет максимальный адрес адресуемой ячейки памяти. Рабочие частоты шин современных микропроцессоров лежат в пределах от 66 до 800 МГц.
Помимо внешних шин, микропроцессор обычно имеет свои встроенные шины, которые формируются на его чипе. Размеры чипа (кристалла микропроцессора) малы, а потому такие шины могут иметь более высокие частоты работы.
2.4.3. Арифметико-логическое устройство
Арифметико-логическое устройство (АЛУ) построено на мно-
жестве логических схем и служит для выполнения арифметических и логических операций. Процессор позволяет в пределах своей разрядности складывать, вычитать, умножать и делить целые числа. Он позволяет также выполнять различные операции (например, сдвига или перемещения) для работы с числами повышенной разрядности и др.
Кроме того (и это, пожалуй, самое важное), процессор позволяет выполнять все эти и многие другие операции по программе, выбираемой из внешнего запоминающего устройства, и использовать данные, хранящиеся в нем. Таким образом, процессор наделен средствами общения с памятью и другими внешними устройствами. Процессор реализует также ветвления по программе (безусловные и условные переходы) и циклы.
2.4.4. Регистры микропроцессора
Для выполнения большинства операций нужно где-то хранить входные данные, промежуточные и итоговые результаты вычислений. Для этого процессор имеет свои быстродействующие устройства памяти, называемые регистрами. Числа в них раскладываются как бы по полочкам – разрядам так называемых регистров. Регистры имеют порты ввода и вывода данных. Микропроцессор имеет множество регистровых операций, например, очистки регистров, перемещения чисел из одного регистра в другой и т.д.
Имеются также регистры, в которых создаются и хранятся адреса ячеек ОЗУ с программами и данными – регистры адресации. Детали организации регистров и их специальные названия едва ли нужны большинству пользователей, но программисты должны их знать. Так же, как и язык программирования микропроцессоров Ассемблер, ко-
75
торый переводит символические команды программ в машинные коды.
2.4.5. Блок управления памятью
Во время работы процессор постоянно взаимодействует с памятью. Он получает из памяти коды команд и данные для вычислений и направляет в заданные ячейки памяти результаты вычислений. Для обеспечения этого процессор содержит блок управления памятью. Именно в этом блоке формируются адреса ячеек памяти, с которыми работает микропроцессор. Для работы с памятью большого размера используется страничная организация памяти – при ней адрес задается номером страницы - сегментом и смещением внутри выбранного сегмента. Начиная с процессоров Pentium III стала возможной линейная адресация к ячейкам памяти. Она требует меньшего числа команд на задание адреса и выполняется быстрее.
2.4.6. Порты ввода/вывода
Для обмена содержимым регистров микропроцессора с внешней памятью и иными периферийными устройствами служат порты ввода/вывода. Это название пришло от морских портов, имеющих маяки, буи, причалы, подъемные краны и прочее оборудование для приема и разгрузки или загрузки судов.
Аналогично этому порты микропроцессора - это совокупность аппаратных и программных средств для ввода и вывода данных. Порты обычно адресуются и имеют свои номера. Они могут передавать данные одновременно по нескольким шинам (параллельные порты) или по одной шине в режиме передачи данных с разделением во времени (последовательные порты).
2.4.7.Блок команд
Впроцессор «зашито» множество команд, которые выполняются программно с помощью АЛУ. Их немного больше 200. Это команды предшествующих поколений микропроцессоров 8086, 8088, 286, 386 и 486. Однако в новые процессоры включен целый ряд новых команд (см. выше описание процессоров). Выполнение команд микропроцессора и возложено на блок команд.
76
2.4.8.Конвейер
Всовременных микропроцессорах предусмотрены структурные методы повышения скорости работы. Один из таких методов – конвейерная обработка информации. Это означает, что процессор имеет устройство – конвейер, в которое поступает сразу ряд команд. Пока в конце конвейера завершается выполнение первой поступившей в конвейер команды, в него поступают новые команды и начинается их обработка. Таким образом, в конвейере идет одновременное (или, как говорят, параллельное) выполнение ряда команд.
2.4.9.Математический сопроцессор
Математический сопроцессор – это «машина», мало уступаю-
щая самому процессору по сложности схемы и числу компонентов. Он призван устранить главный недостаток микропроцессора – резкое снижение скорости вычислений для данных, представленных числами с плавающей точкой. Такие данные повсеместно встречаются при графических построениях или при работе с мультимедиа.
Начиная с процессоров 486 математический сопроцессор включается в состав собственно микропроцессора и берет на себя все функции быстрых вычислений, как только обнаруживается, что данные представлены в форме чисел с плавающей точкой. Кроме того, математический сопроцессор реализует довольно сложные алгоритмы точного (около 20 верных знаков) вычисления различных математических функций, например, квадратного корня, логарифма, синуса, косинуса и т.д. Множество таких команд используется при реализации трехмерной графики.
2.4.10. Кэш-память первого уровня
Кэш - это сверхбыстрая память, хранящая наиболее часто используемые в ближайшее время команды микропроцессора. Если процессор повторно должен выполнить какую-то цепочку команд, то он берет их уже из быстрого кэша, а не из медленной памяти. Это обеспечивает повышение скорости работы микропроцессора.
В компьютере кэш-память имеет ряд уровней (Levels). Пока мы говорим о кэш-памяти первого уровня - L1. Важно, что она расположена на том же кристалле, что и сам процессор, а потому работает на частоте процессора (иногда на половинной частоте). Это очень быстрая память. Но она занимает много места на кристалле процессора,
77
поэтому ее объем ограничен – обычно 16, 32 или 64 Кбайта. Лишь процессоры AMD Athlon имеют кэш-уровень L1 на 128 Кбайт.
В дальнейшем мы продолжим рассмотрение работы микропроцессоров, но уже в составе ПК (см. следующую главу).
2.5. Эмпирические законы и перспективы развития микроэлектроники
2.5.1. Закон Мура
Когда-то в далеком 1965 году один из основателей корпорации Intel Гордон Мур довольно неосторожно изрек: «… число транзисторов на чипе и производительность микропроцессоров будут удваиваться каждые два года». Говорят, что он поначалу говорил даже об одном годе. Сам Мур и не претендовал на то, что эта эмпирическая закономерность будет строгим математическим законом. Однако специалисты Intel сделали это высказывание своим знаменем и постарались выдерживать его десятилетиями.
Как выглядит закон Мура, применительно к микропроцессорам, показывает приведенная ниже таблица.
Тип |
микропро- |
Тыс. |
транзи- |
Год разработ- |
Параметр y |
цессора |
|
сторов |
|
ки |
|
4004 |
|
N0=2,3 |
|
1971 |
0 |
8008 |
|
3,5 |
|
1972 |
1 |
8080 |
|
6 |
|
1974 |
3 |
8088 |
|
29 |
|
1979 |
8 |
286 |
|
134 |
|
1982 |
11 |
386 |
|
275 |
|
1986 |
15 |
486 |
|
1200 |
|
1989 |
18 |
Pentium |
3500 |
|
1993 |
22 |
|
Pentium PRO |
5500 |
|
1995 |
24 |
|
Pentium II |
7500 |
|
1997 |
26 |
|
Pentium III |
9500 |
|
1999 |
28 |
|
Pentium 4 |
42000 |
|
2000 |
29 |
|
Pentium 4 M |
75000 |
|
2001 |
30 |
2.5.2.Закон Мура с позиций математики
Спозиций математики закон Мура представляется простым выражением:
78
y
N( y) = N0 2 yy ,
где N0 – количество транзисторов на кристалле N в некоторый год y (условно считаем его нулевым), N(y) – число транзисторов на кристалле спустя y лет и yy – срок (в годах и долях года), за который число транзисторов возрастает вдвое.
Насколько данные таблицы соответствуют представленной формуле? И возможен ли по ним прогноз? Попробуем ответить по возможности строго на эти вопросы. Для этого, используя программу компьютерной математики Mathcad, нанесем на график в логарифмическом масштабе точки, соответствующие приведенным в таблице данным. Подберем отрезки прямых, которые максимально близко проходят через эти точки (рис. 2.7).
Рис. 2.7. Графическое представление закона Мура в системе Mathcad
Обработка представленных данных дает поразительные результаты. Оказывается, целых 22 года число транзисторов и впрямь увеличивалось вдвое за каждые yy=2 года. При этом исходные точки укладываются почти точно на представляющую их приближенную зависимость.
Однако с появлением процессоров класса Pentium действие даже скорректированного закона Мура стало грубо нарушаться. Попро-
79
буем подобрать прямую для хорошего представления реалий роста числа транзисторов после этого периода, задав в качестве отсчета момент появления процессоров Pentium – точку (22, 1200). Оказывается (жирная прямая на рис. 3), время удвоения возросло почти вдвое и составило yy=4 года. Это стало свидетельством предкризисной ситуации в развитии технологии микропроцессоров.
Но затем, при переходе от производства процессора Pentium III к Pentium 4 в 1999 году, кривая роста числа транзисторов во времени резко скакнула вверх начиная с точки (28, 9500). Это, очевидно, связано с вводом новых технологических решений и переходом на технологию 0,13 мкм. Время удвоения при этом уменьшилось до рекордно малой величины в 0,6 года, но его оценка пока математически весьма недостоверна из-за малого объема выборки данных после 1999 года – всего 3 точки.
2.5.3. Прогнозы на основании закона Мура
Если усреднить представленные данные по числу транзисторов с помощью нелинейной регрессии, то время их удвоения составит 1,67 года. Прогноз по этим усредненным данным на первые десять лет выглядит вполне реалистичным (рис. 2.8 - левый график).
Рис. 2.8. Прогнозы числа транзисторов в микропроцессоре
К 2010 году можно ожидать появления микропроцессоров, на кристалле которых будет до 3 миллиардов транзисторов. Это близко к оценкам, о которых говорил Президент корпорации Intel Крейг Барретт в своем выступлении на форуме разработчиков Intel.
80
Но вот прогноз на следующее десятилетие выглядит скорее фантастическим, чем реальным: судя по нему, к 2020 году число транзисторов на кристалле достигнет примерно 140 миллиардов (рис. 2.8 - правый график)! Но кто знает, может, так и будет? Ведь создатели первых микропроцессоров 4004 вряд ли могли предполагать, что через 30 лет число транзисторов в микропроцессорах увеличится в 34 000 раз, а частота работы их возрастет более чем в 28 000 раз!
Физическим ограничением на рост числа транзисторов может оказаться очередной предел геометрического разрешения в производстве интегральных микросхем. Даже с учетом внедряемой новейшей технологии литографии со сверхжестким ультрафиолетовым излучением (EVU) этот барьер перемещается от 0,1 мкм до 0,03-0,05 мкм. При этом толщина подзатворного диэлектрика микроскопических полевых транзисторов, уже ныне составляющая менее 5 атомных слоев, достигнет предельного значения в один атомный слой.
Наконец, главный козырь к приостановке действия закона Мура - компьютерные системы из дискретных систем, скорее всего, превратятся в распределенные системы. В результате надобность в сверхмощных одиночных процессорах попросту отпадет. И закону Мура придется подчиниться другому, тоже отнюдь не точному в математическом смысле закону о переходе количества в качество.
3.5.4. Законы Меткалфа и фотона
Президент Intel огласил еще два эмпирических закона, которыми Intel руководствуется в планировании своей работы. Второй закон - это закон Меткалфа, названный в честь Боба Меткалфа из Массачусетского технологического института. Он звучит так: ценность компьютерной сети повышается в квадратичной пропорции по отношению к числу узлов в этой сети.
Именно поэтому Интернет в наше время является самым важным и ценным коммуникационным средством. Каждый раз, когда количество узлов в Интернете удваивается, ценность этой сети увеличивается в четыре раза. Сегодняшняя эта сеть имеет порядка 400-500 миллионов пользователей. В течение ближайших нескольких лет количество пользователей Интернета увеличится до одного миллиарда, и тогда ценность этой сети как средства доступа к информации, коммуникации и коммерции станет намного выше.
И еще один закон, так называемый закон фотона: пропускную способность волоконно-оптического канала передачи информации можно удваивать примерно каждые 10 месяцев. Уже сегодня между странами и континентами протянуто более 500 миллионов миль воло-
81