Мозг компьютера /часть 2/

Начало здесь.

Шина данных

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

Разрядность шины данных можно сравнить с числом полос на скоростной автомагистрали. Чем больше полос – тем больше пропускная способность.

Разрядность шины

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

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

магистрали, поскольку в каждый момент времени по шине проходит два байта данных (помните: один байт равен восьми битам). Соответственно, 32-разрядная шина данных ¬может передавать четыре, а 64-разрядная – восемь байтов информации.

Шина адреса

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

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

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

С учетом того, что в компьютерах применяется двоичная система исчисления, количество адресуемых ячеек памяти равно 2n, где n – разрядность шины.

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

Внутренние регистры

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

К примеру, процессор может сложить числа, хранящиеся в двух регистрах, а результат записать в третий регистр (см. о работе процессора далее).

Почему процессоры нагреваются

Каждый процессор состоит из огромного количества микроскопических транзисторов. Чем больше транзисторов в процессоре и чем выше его тактовая частота, тем больше он потребляет энергии. Специальные процессоры для ноутбуков рассчитаны на пониженное энергопотребление (от 5 до 35 Вт).

Модели для обычных компьютеров, напротив, потребляют 130 Вт и больше. При этом выделяется большое количество тепла, и, чтобы отвести его от поверхности чипа, необходима сложная и порой дорогая система охлаждения. (Мерилом количества тепла, выделяемого процессором, является так называемая TDP, или Total Dissipated Power, то есть общая рассеиваемая мощность.)

Существует несколько способов снижения энергопотребления.

• Отключение отдельных модулей, а также понижение тактовой частоты или рабочего напряжения при снижении нагрузки на процессор. У Intel такая технология называется SpeedStep, у AMD – Cool & Quiet.

• Миниатюризация элементов процессора. Их размеры измеряются в нанометрах (нм) и у современных чипов составляют 130 или 90 нм. Однако тонкие микроэлектронные структуры имеют серьезный недостаток – в них возникают так называемые наводки и утечки. При этом часть энергии совершенно бесполезно превращается в тепло.

• Применение в производстве новых, прогрессивных материалов.
• Кроме того, существуют процессоры, которые работают с пониженным напряжением питания (Low Voltage, Ultra Low Voltage). Потребляемая мощность изменяется пропорционально напряжению. Уменьшение напряжения на 10% снижает энергопотребление почти на 20%.

Как еще можно повысить производительность процессоров:

Для ускорения вычислений используется несколько основных технологий.

• Быстрый доступ к оперативной памяти и запоминающим устройствам. Чем быстрее процессор получает данные и команды от запоминающих устройств ПК, тем меньше времени он тратит на ожидание. То есть быстрая шина ускоряет выполнение программ.

• Быстрая кэш-память. Современные процессоры сохраняют промежуточные результаты вычислений в собственной памяти, называемой кэш-памятью (cache memory). Ее тактовая частота равна частоте самого процессора, поэтому она гораздо быстрее системной памяти.

• Большинство процессоров имеют кэш-память первого (level 1, L1), второго (level 2, L2), и третьего (level 3, L3) уровней. Кэш-память первого уровня очень быстра, но относительно мала (несколько сот килобайт). Кэши второго и третьего уровня больше (до нескольких мегабайт) и медленнее, но все равно работают с более высокой скоростью, чем системная память.

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

Если кэш-памяти недостаточно, процессору приходится чаще обращаться к оперативной памяти или к жесткому диску, что снижает производительность всей системы. Поэтому большой объем кэш-памяти является важным преимуществом.

• Конвейерная обработка. Чтобы ускорить выполнение команд, процессоры организуют для них так называемые конвейеры, подразумевающие последовательное прохождение команд через различные компоненты ЦП. Преимущество такого способа организации вычислений в том, что при наличии конвейера процессор занимается не одной командой в каждый момент времени, а несколькими – сколько поместится на конвейер.

Чем длиннее конвейер, тем выше может быть тактовая частота. Однако длинный конвейер – не всегда преимущество: в случае ошибки предвыборки или в иной непредвиденной ситуации при исполнении кода процессору приходится сбрасывать содержимое конвейера и заново его заполнять – с большой потерей времени.

• Алгоритмы предварительной выборки команд и данных. При загрузке очередной команды блок предвыборки (prefetch) пытается предсказать, какие команды и данные потребуются дальше. Таким образом, конвейер загружается быстрее, поскольку не тратится время на ожидание результатов выполнения предыдущих команд. Если же предсказание было ошибочным и нужные команды и данные надо искать в другом месте (к примеру, при выполнении команды условного перехода), конвейер приходится очищать и загружать заново.

• Распараллеливание вычислений. Ряд современных процессоров за счет наличия нескольких вычислительных ядер имитируют присутствие в системе двух, четырех и более отдельных процессоров. Если программа для ПК умеет распараллеливать вычисления, разделяя их на несколько потоков (threads), эти вычисления могут быть выполнены одновременно. Однако у многоядерных процессоров есть недостаток: они расходуют гораздо больше энергии, а значит, сильнее нагреваются и требуют более интенсивного охлаждения.

• Поддержка специальных алгоритмов обработки мультимедийных данных. Обычно такие алгоритмы строятся по принципу SIMD (Single Instruction – Multiple Data, то есть одна команда – множество данных). Процессоры, поддерживающие подобные технологии, быстрее обрабатывают большие объемы данных, требующих многократного исполнения одинаковых команд.

Типичный случай – воспроизведение видео или обработка графических файлов. У Intel такие технологии называются MMX и SSE, у AMD – 3DNow!.
Последние модели процессоров поддерживают наборы инструкций SSE версии 4 и выше.

Окончание следует.



Понравилась статья? Поделиться с друзьями: