Производительность персонального компьютера. Настоящее и будущее
Архив...подчеркнем: речь пойдет именно о персональном компьютере, а не о компьютерах вообще. Иначе можно будет долго и скучно анализировать особенности архитектуры шахматного гиганта Deep Blue или с важным видом теоретизировать относительно удачных конструктивных решений, лежащих в основе созданных Сеймуром Крэем суперкомпьютеров, вызывая раздражение специалистов и зевоту 99,99% юзеров, не имеющих непосредственного отношения к разработке современных компьютеров. Или возмущаться якобы имевшим место фантастическим сговором Intel и прочих производителей "железа" для персоналок, имеющим целью тотальную дебилизацию человечества. Скучным это, быть может, и не покажется, но интерес вызовет, мягко говоря, нездоровый...
Итак, когда-то, давным-давно, лет эдак ...дцать назад автору довелось общаться с совершенно замечательным компьютером PDP-11/35. Замечательным во всех отношениях, кроме одного: ни тогда, ни сегодня компьютер этот не мог считаться ПЕРСОНАЛЬНЫМ. И дело не в габаритах (его две или три стойки вполне можно было бы разместить в любой квартире), и не в том, что работал за ним десяток пользователей (такое и с персоналками случается), а прежде всего в цене. Вполне возможно, что с точки зрения архитектуры современным PC до этого чуда, как антенне радиотелефона до Останкинской телебашни, но ни старушка PDP, ни мощные и высокопроизводительные рабочие станции фирм Sun или Silicon Graphics не стали (и не могли стать) действительно персональными. Да и цели такой их разработчики перед собой не ставили. Что же касается архитектуры, то, по всей видимости, некоторые решения, найденные создателями этих компьютеров, рано или поздно будут использованы и в PC, но - можно с уверенностью сказать - произойдет это не раньше, чем возросшие потребности пользователей с одной стороны и технический прогресс с другой сделают такое использование рентабельным: реальность такова, что по-настоящему массовый компьютер не может сегодня стоить дороже полутора-двух тысяч долларов. Кроме того, полный отказ от поддержки существующей архитектуры в пользу новой, пусть даже более прогрессивной, включая замену x86-совместимых процессоров какими-нибудь сверхпроизводительными RISC-процессорами, приведет к тому, что большую часть созданного в последние годы программного обеспечения невозможно будет использовать на новых компьютерах (в том числе и при наличии программных эмуляторов x86). А потому, даже названные "персональными", таковыми они скорее всего не станут.
О перспективах развития архитектуры PC можно написать многое, но опыт показывает, что прогнозы в этой области сбываются довольно редко. Каких-нибудь пять-семь лет назад в редком компьютерном издании не печатались восторженные статьи о системной шине EISA. Делались смелые прогнозы, что в ближайшем будущем шина эта вытеснит наконец старушку ISA, такую медленную и архаичную. И что же? Нет, EISA не умерла, и материнские платы, построенные на ее основе, можно купить и сегодня, но похоже, что прогнозируемого вытеснения все-таки не произошло. Почти так же дело обстоит и с айбиэмовской MicroChannel. А кто каких-нибудь три года назад мог предсказать появление технологии MMX? Короче говоря, долгосрочные прогнозы - дело неблагодарное, и автор предпочитает говорить о сегодняшнем, в крайнем случае - завтрашнем, дне персоналок, тем более что до теперь уже такого близкого двухтысячного года (с которым подсознательно у многих, в том числе и у автора, ассоциируется слово "будущее"), несмотря на появление все новых и новых типов процессоров и памяти, разного рода AGP, USB и DMA/33, в их (персоналок) конструкции принципиальных изменений не произойдет.
Как же выглядит персональный компьютер сегодняшнего дня? Еще каких-нибудь два - два с половиной месяца назад можно было бы написать об этом так: сердце современного персонального компьютера - процессор Intel Pentium MMX. Несколько высокопарно, но по существу - верно. Высокая цена Pentium Pro и рассчитанной на него материнской платы делала компьютеры на их основе слишком дорогими для массового пользователя, а серверы, построенные на Pentium Pro, считать персональными компьютерами едва ли возможно. С другой стороны, классические "Пентиумы", K5 и 6x86 с выходом Pentium MMX устарели как-то очень быстро и, похоже, навсегда. Но после появления процессоров AMD K6 и Cyrix M2, созданных для использования на стандартной пентиумной материнской плате с Socket 7 и двойным питанием, и особенно - Pentium II, для которого необходима специальная плата с чипсетом под Pentium Pro и разработанным Intel разъемом, так называемым "Slot One", все выглядит не так однозначно. Согласно приводимым на сайте http://sysdoc.pair.com данным, производительность Pentium II выше, нежели K6 на той же частоте, особенно на операциях с плавающей точкой и MMX. Более того, созданный как конкурент именно Pentium II, по этим показателям K6 уступает даже ставшему уже почти классическим Pentium MMX! И это притом, что кэш-память первого уровня L1 процессора K6 составляет 64 Кбайт против 32 Кбайт в Pentium II.
Достоверных данных о производительности Cyrix M2 автору найти не удалось (может быть, не там искал?), а приводимые, например, в конференциях Usenet результаты зачастую противоречивы. Дело в том, что в отличие от AMD, указывающей на корпусе процессора K6 его рабочую частоту, Cyrix указывает частоту процессора Intel Pentium, имеющего ту же производительность (так называемый P-Rating), причем производительность эта оценивается по результатам выполнения некоего набора тестов. Так, например, процессор, имеющий P-Rating, равный 233, по мнению разработчиков, обеспечивает вычислительные возможности, соответствующие процессору Pentium с тактовой частотой 233 МГц. Утверждение по меньшей мере спорное, поскольку производительность процессора зависит от конкретной задачи, и покупателю абсолютно неважно, что время выполнения теста Winbench 97 на изготовленном Cyrix 6x86 PR200 и Pentium 200 одинаково. Он-то покупал процессор не для тестирования, а для работы! А по быстродействию FPU Cyrix заметно уступает Intel... Кроме того, сравнивать процессор, заявленный как конкурент Pentium II, c классическим Pentium как-то нелогично. Справедливости ради следует заметить, что компания AMD маркировала процессоры K5 подобным же образом, но в отношении K6 от этой практики отказалась.
Высокой производительностью системы на основе процессора Pentium II в значительной мере обязаны применению известной еще со времен Pentium Pro двойной независимой шины (Dual Independent Bus, DIB), обеспечивающей значительное повышение пропускной способности оперативной памяти. Вот что сообщается об этом на сайте www.intel.ru: "Выступая перед менеджерами информационных технологий на организованной корпорацией Compaq Computers конференции "Innovate", исполнительный директор корпорации Intel Эндрю С. Гроув привел технические детали, иллюстрирующие, как именно достигается повышение пропускной способности. По его словам, архитектура двойной независимой шины впервые была реализована в процессоре Pentium Pro, а теперь она реализована и в процессоре Pentium II. По сравнению с процессорами, имеющими систему с одной шиной (как, например, процессор Pentium), такая архитектура шины заметно улучшает возможности ядра процессора по обмену данными с подсистемами памяти. Архитектура двойной независимой шины строится из двух шин: шины кэша второго уровня и системной шины, связывающей процессор с основной оперативной памятью. Один выделенный кэш второго уровня процессора Pentium II работает со скоростью, вдвое превышающей скорость работы кэша второго уровня процессора Pentium. Вместо последовательных единичных передач, конвейеризованная системная шина позволяет одновременно выполнять параллельные транзакции. Эти усовершенствования обеспечивают троекратное увеличение пропускной способности архитектуры двойной независимой шины, в сравнении с архитектурой процессора с одной шиной. Кроме того, архитектура двойной независимой шины поддерживает развитие системной шины, обеспечивая возможность перехода от шины с частотой 66 МГц (современная системная шина) к шине с частотой 100 МГц в течение следующего года".
Следует уточнить, что указанное удвоение скорости работы кэша L2 достигается только для Pentium II/266 (кэш второго уровня Pentium II использует частоту, равную половине внутренней частоты процессора) и лишь в том случае, когда системная шина стандартной на сегодняшний день материнской платы под процессор Pentium работает на частоте 66 МГц. Впрочем, overclocking, то есть повышение рабочей частоты платы до 75 или 83 МГц, принципиальных изменений в расстановку сил не вносит. С переходом к более высоким частотам (а Intel уже сегодня предлагает Pentium II/300, а к концу года обещает осчастливить покупателей процессором Pentium II/400) эффективность работы кэш-памяти второго уровня при использовании DIB повышается, и отрыв от конкурентов становится еще заметнее. Впрочем, ни AMD, ни Cyrix пока не производят серийно даже 266-мегагерцовых x86-совместимых процессоров, и приводимые ими оценки быстродействия имеют сугубо предварительный характер. Но несмотря на это, сегодня можно с уверенностью говорить об отсутствии исторических перспектив Socket 7 и материнских плат на его основе.
Единственным доводом против Pentium II остается цена, которая на сегодняшний день многим может показаться чрезмерной (чуть более 600 долларов за 233-мегагерцовую версию процессора и около 900 долларов - за 266-мегагерцовую), но, имея в виду намечаемое Intel в августе очередное снижение цен, можно говорить о Pentium II как о процессоре если и не сегодняшнего дня, то уж во всяком случае - сегодняшнего вечера.
Планируемое Intel в течение следующего года повышение частоты системной шины (точнее - DIB) уже сегодня полуофициально реализуется на стандартных материнских платах с Socket 7. Как известно, Intel не подтверждает и не отрицает способности разработанных ею чипсетов VX, HX и TX работать на повышенных частотах, но найти материнскую плату, поддерживающую частоты 75 (83) МГц совсем несложно (прежде всего это продукция компаний ASUSTek, Iwill, Abit и многих других), а новые версии чипсетов VIA Apollo (материнские платы FIC) уже изначально разрабатывались для работы именно на 75 МГц. Необходимость повышения частоты системной шины очевидна. Дело в том, что сегодняшние 233-мегагерцовые Pentium-совместимые процессоры работают с умножением частоты в 3,5 раза, что заметно снижает производительность связки процессор-память. Так, например, в процессе тестирования установленных на плату ASUS TX97 c 512 Кбайт кэш-памяти нового процессора Pentium MMX 233 и разогнанного до 225 МГц Pentium MMX 200 были получены следующие результаты:
Процес-сор | Частота шины | Множи-тель | Частота процес-сора | Cpu Mark16 | Cpu Mark32 |
Pentium MMX 233 | 66 МГц | 3,5 | 233 МГц | 431 | 427 |
Pentium MMX 200 | 75 МГц | 3 | 225 МГц | 493 | 485 |
Комментарии здесь, по всей видимости, излишни.
Все появившиеся в этом году x86-совместимые процессоры поддерживают технологию MMX. О том, что представляет из себя эта самая технология, писали уже достаточно, и повторяться, вероятно, не имеет смысла. Однако следует напомнить, что мультимедийные задачи, связанные прежде всего с обработкой звука и изображения, прежде решавшиеся аппаратно, теперь возлагаются на центральный процессор. То есть теперь их предполагается решать программно. А потому естественным представляется вопрос: в какой мере качественное программирование (то есть грамотная реализация эффективных алгоритмов) может способствовать росту производительности PC? Вместо ответа хотелось бы привести забавный случай, имевший место в первых числах января сего года (то есть еще до официальной презентации Pentium MMX) в известной московской фирме - известной прежде всего своим потрясающим графическим редактором, по сравнению с которым какой-нибудь PhotoShop - просто безделица. Там-то автор и увидел в первый раз компьютер с новым процессором. И не просто увидел, а узнал, что специально под Pentium MMX фирма уже выпустила версию своего редактора, и что кроме всего прочего с использованием этой новейшей технологии в нем реализован кодек JPEG. Знакомый с JPEG не понаслышке, автор, набравшись смелости, предложил сравнить с ним реализацию кодека, созданного больше двух лет назад - еще под 486-й процессор - в Институте космических исследований. И что же? Кодек этот ВДВОЕ опередил оптимизированную под Pentium MMX новинку...
Жесткие требования к работающей на повышенных частотах памяти приводят к тому, что быстрые 7 и 10 нс SDRAM, способные без дополнительных задержек справляться с частотами до 100 МГц, постепенно начинают вытеснять не только почти забытые FPM RAM, но и более современные EDO RAM. Значительное снижение цен на память привело к тому, что считавшийся какой-нибудь год назад прилично оснащенным компьютер с 16 Мбайт оперативной памяти сегодня рассматривается в лучшем случае как система начального уровня. Конечно, Windows 95 и даже NT для собственных нужд этого в большинстве случаев хватает, и даже одновременный запуск WinWord с парой-тройкой простых графических редакторов позволяет чувствовать себя на этих 16 Мбайт вполне комфортно, но монстры вроде CorelDRAW 7.0 или Visual C++ 5.0 при недостатке оперативной памяти ввергают компьютер в состояние, близкое к ступору. Именно поэтому перестала быть редкостью установка 64 Мбайт RAM и более, но обстоятельство это, похоже, не было учтено разработчиками появившегося сравнительно недавно чипсета Intel Triton TX. Современный, быстрый, способный работать с 256 Мбайт оперативной памяти, этот чипсет, как и более старый Triton VX, не кэширует более 64 Мбайт. Конечно, работать можно и без кэширования, но когда фильтрация или поворот приличных размеров изображения в каком-нибудь PhotoShop'е требует иногда десятков минут, рост производительности PC, обеспечиваемый эффективным кэшированием, перестает быть чисто абстрактным понятием. В такой ситуации ровесник VX, чипсет Triton HX, к достоинствам которого помимо поддержки не очень-то и нужной сегодня в домашних условиях многопроцессорности можно отнести лишь способность кэшировать всю установленную оперативную память, оказывается просто незаменимым. Специалистам такое суждение, вероятно, покажется поверхностным, но многие ли из заявленных Intel возможностей HX реализованы на интеловских же платах Tucson? В результате, несмотря на приличный по нынешним временам возраст (1,5 года!) и далеко не выдающиеся характеристики чипсета Triton HX, выпуск построенных на его основе материнских плат (Intel Tucson, ASUS P55T2P4 и др.) продолжается. И, скорее всего, будет продолжаться до тех пор, пока не прекратится выпуск рассчитанных на установку в Socket 7 процессоров. Более современные чипсеты VIA Apollo, SiS и до сих пор не доведенный до серийного производства AMD-640 в случае прекращения выпуска Triton HX едва ли смогут заполнить образовавшуюся нишу. Впрочем, это утверждение не результат серьезного экономического исследования, а всего лишь личная точка зрения автора.
Серьезное влияние на производительность PC, особенно при недостатке оперативной памяти, которой всегда не хватает, оказывает дисковая подсистема. И она же на сегодняшний день, вероятно, является основным тормозом, ограничивающим производительность персонального (и не только) компьютера. Действительно, чтение из RAM на материнской плате ASUS TX97, установленной в PC, на котором пишутся сейчас эти строки, происходит со скоростью 132 Мбайт/с (cachechk v6.0, Ray Van Tassle), в то время как Average Linear Read винчестера Seagate Cheetah - всего лишь 12,5 Мбайт/с (hddspeed v1.6, Михаил Радченко). Следует заметить, что винчестер этот (Ultra Wide SCSI, 10000 RPM, 4,5 Гбайт) - не только один из самых быстрых, но и, пожалуй, один из самых дорогих. У значительно более доступного Western Digital AC34000L (EIDE, 52000 RPM, 4 Гбайт) этот параметр не превышает 7,1 Мбайт/с. И тот факт, что интерфейсная скорость EIDE-винчестеров в режимах PIO-4 и DMA-2 составляет 16,6 Мбайт/с, а у новых винчестеров, поддерживающих UltraDMA/33, доходит до 33 Мбайт/с, принципиально ничего не меняет. Аппаратное кэширование повышает эффективность работы дисковой подсистемы, но в конечном счете ее производительность определяется скоростью движения рабочих поверхностей относительно магнитных головок и плотностью записи информации на дисках. Увеличение скорости вращения значительно повышает стоимость изделия (Seagate Cheetah при сравнимой емкости втрое дороже AC34000L от Western Digital), а значительного роста плотности записи можно добиться лишь применением новых материалов и технологий, что тоже недешево. Таким образом, можно уверенно утверждать, что в ближайшем будущем именно винчестеры будут оставаться узким местом, сдерживающим рост производительности персонального компьютера.
Работа с графическими приложениями и особенно с трехмерной графикой значительно ускоряется при использовании современных 3D-акселераторов и программного обеспечения, поддерживающего технологию MMX, однако и здесь существует узкое место: пропускная способность шины PCI часто оказывается недостаточной для эффективной реализации предоставляемых ими возможностей. Предлагаемое Intel решение этой проблемы состоит в отказе от использования PCI для работы с видеоадаптером (и только с ним!) и применении так называемого ускоренного графического порта (Accelerated Graphics Port, AGP), обеспечивающего видеоадаптеру конвейеризованный доступ к основной памяти компьютера, что позволяет значительно повысить скорость передачи видеоданных, делает возможным размещение в RAM z-буфера и прочая, прочая, прочая. Использование AGP (наряду с DIB и прочими новинками от Intel), как утверждает Эндрю Гроув, "обеспечит такую производительность и такую пропускную способность, которые будут адекватны новым процессорам Intel, тактовая частота которых, как ожидается, к 2000 году превысит 500 МГц".
300 МГц, 500 МГц, 1 ГГц, а что же дальше? Тактовая частота микропроцессоров Intel за последние шестнадцать лет увеличилась более чем в 50 раз. Есть ли предел этому росту, будут ли через 16 лет в наших компьютерах установлены процессоры с тактовой частотой 10 ГГц? Едва ли. И дело здесь не в том, что кремниевая технология, лежащая в основе современной микроэлектроники, имеет частотный предел, по разным оценкам составляющий от 1 до 1,5 ГГц: в конце концов арсенид галлия позволяет создавать и более высокочастотные устройства. Проблема заключается в том, что из-за конечности скорости света компьютер, эффективно работающий на частотах в десятки гигагерц, должен обладать сверхвысокой степенью интеграции (десяти гигагерцам соответствует длина волны всего 3 см!). Как известно, чрезвычайно высокая стоимость 200-мегагерцового процессора Pentium Pro с кэш-памятью 500 Кбайт связана с низким выходом годных кристаллов SRAM, способных нормально работать на 200 МГц. На жалких 200 МГц! В случае 10 ГГц в том же объеме необходимо будет разместить помимо сотен килобайт кэша еще и гигабайты RAM (за предыдущие шестнадцать лет оперативная память PC увеличилась в десятки раз). Короче говоря, перспективы неограниченного роста тактовой частоты процессора выглядят более чем сомнительными. Так что дальнейшее повышение производительности персонального компьютера должно быть связано с совершенствованием его архитектуры, в частности, с все большим распараллеливанием вычислений, в ближайшей перспективе - с использованием симметричной мультипроцессорной архитектуры (Symmetrical MultiProcessing). Впрочем, поживем - увидим...