Шины, шины, шины... ну сколько можно?!

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

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

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

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

Сегодня в обычном персональном компьютере можно насчитать, как минимум, семь шин: между процессором и кэш-памятью; шина системной памяти; PCI-шина для подключения плат расширения; AGP-шина для графического контроллера; ISA-шина для тихоходных внутренних устройств; IDE-шина, к которой подключаются винчестеры и CD-ROM; шина для подключения флоппи-дисковода. Кроме того, на многих платах расширения (графических акселераторах, например) имеется своя локальная память, для записи и чтения тогда требуется отдельная шина. Есть еще куча интерфейсов для внешних устройств, которые тоже можно считать шинами. В общем, полный дурдом.

Основная характеристика любой шины - ее пропускная способность, то есть максимальная скорость, с которой могут по ней передаваться данные от одного устройства к другому. Пропускная способность упрощенно рассчитывается как произведение разрядности шины в байтах (по 8 бит) на ее тактовую частоту. Например, шина PCI работает с частотой 33 МГц и является 32-разрядной, то есть ее ширина равна 4 байтам. Получается, что ее пропускная способность составляет 132 мегабайта в секунду (Мбайт/с).

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

Возьмем процессор Pentium II с внутренней тактовой частотой 400 МГц. Стандартная внешняя частота (частота системной шины) для такого чипа составляет 100 МГц, а шина между процессором и встроенной кэш-памятью работает на половинной внутренней частоте, то есть на 200 МГц. В этом же компьютере имеется графический акселератор, частота AGP-шины для которого составляет 66 МГц. Шина PCI, к которой подключена звуковая карта, работает на 33 МГц, а ISA - на 8 или 16 МГц.

Что получится, если разогнать процессор. Поскольку возможность увеличить множитель (коэффициент, определяющий соотношение внутренней и внешней частот) Intel заблокировала, то для повышения внутренней частоты процессора придется поднять частоту системной шины. Скажем, установим для нее не 100, а 150 МГц - есть материнские платы, позволяющие это сделать. Процессор будет работать на 600 МГц, может, даже устойчиво. Правда, недолго. И придется усилить его охлаждение, поставив не меньше трех вентиляторов.

Но это одна сторона медали. После разгона увеличится частота системной шины, с которой связаны частоты большинства других шин компьютера. Оперативной памяти придется работать с частотой 150 МГц, то есть цикл чтения/записи сократится до 6.6 наносекунды(!). Такой памяти пока в продаже нет. Если же поставить 8-нановые DIMM'ы, то зависания компьютера вам гарантированы, так как эта память не тянет больше 125 МГц. Кэш-памяти тоже может не понравиться, что ей приходится работать на 300 МГц.

На шину AGP также пойдет не 66, а 100 МГц. Графическому чипу и так приходится несладко - не зря на нем стоит радиатор или кулер. При повышении частоты в полтора раза он, вероятно, начнет сбоить, а то и вовсе может приказать долго жить. Аналогичная проблема и с шиной PCI, подключенным к которой устройствам придется работать не с привычной частотой 33 МГц, а на 50 МГц. Возможны также проблемы с IDE-винчестерами. Стоит ли овчинка выделки?

Несколько слов должен сказать о технологии "двойной накачки", в последнее время часто применяемой для удвоения пропускной способности шины. Традиционно обмен данными в шинах происходит один раз за такт - по заднему фронту сигнала тактового генератора. Сегодня многие шины срабатывают дважды за такт - не только по заднему, но и по переднему фронту. К шинам с двойной накачкой относятся, например, AGP и Ultra АТА. Поэтому при тактовой частоте 66 МГц обмен данными по шине AGP на самом деле происходит с частотой 133 МГц. Об этом также не стоит забывать любителям разгона.

Вообще же, беспокойство у специалистов вызывает чрезмерно большой разрыв между внутренней и внешней частотами процессора. Получается, как будто вы впрягли "феррари" в телегу. Лучше всего, чтобы все шины компьютера работали на одной частоте. Разумным можно еще признать коэффициент 2 - 2.5, максимум 3. Иначе о сбалансированности по быстродействию разных подсистем компьютера говорить не приходится. В описанном компьютере рабочая частота ядра процессора выше, чем у шины PCI, в 12 раз!

Для сглаживания различий в пропускной способности идеологи новых компьютерных систем вынуждены везде применять кэширование, иногда многоступенчатое. Но кэш работает с КПД от 50% до 90%. С учетом двойного кэширования системной памяти получается, например, что три четверти времени сверхбыстрый Pentium II занят обработкой не тех данных, которые нужны программе!

Выход - вернуться к идеологии единой системной шины. Но нам этого, похоже, скоро увидеть не суждено. Уж очень большие инвестиции обратятся в хлам. Падут гордые и поднимутся смиренные... В общем, апокалипсис какой-то. Роман Соболенко


Компьютерная газета. Статья была опубликована в номере 07 за 1999 год в рубрике разное :: тусовка

©1997-2024 Компьютерная газета