Расчет производительности процессора

Расчет производительности процессора Сегодня, подавляющее большинство современных компьютеров как открытой, так и закрытой архитектуры оснащаются многоядерными процессорами. В связи с этим у рядового пользователя возникает вполне обоснованный вопрос, а действительно ли процессор с несколькими ядрами будет более производителен по сравнению со своим одноядерным собратом? Чтобы ответить на этот вопрос необходимо знать, как рассчитать производительность процессора.
Общие сведения Основными техническими показателями процессора являются (Рис.1): 1. частота системной шины; 2. разрядность системной шины; 3. коэффициент умножения. Частота системной шины показывает, какое количество бит данных может быть передано в процессор за одну секунду. Например, если частота шины 200 МГц это означает, что за 1 секунду может быть передано в процессор 200 Мбит. Разрядность системной шины показывает число каналов для передачи данных в процессор (чаще всего бывает 32 и 64). Например, если частота системной шины 200 МГц, а разрядность 32, то пропускная способность составит (200*32)/8=800 Мб/c. Коэффициент умножения показывает, во сколько раз процессор работает быстрее, чем шина, на которой он установлен. Например, при частоте шины 200 МГц и коэффициентом умножения 15 получаем тактовую частоту процессора 3000 МГц. Расчет производительности процессора Теперь необходимо ввести такое понятие как сложность задачи. То есть любой задаче, которая выполняется на компьютере, может быть присвоен свой коэффициент сложности от 1 до 8. К самым сложным задачам относят преобразование файла из одного формата в другой, и расчет точки в трехмерном пространстве (современные игры-стратегии, работа с 3D-графикой). При этом сложность задачи соответствует коэффициенту умножения процессора. Например, процессор с тактовой частотой 1600 МГц и частотой системной шины 200 МГц, (Рис.2) при поступлении в него задачи с 8 коэффициентом сложности в виде 200 Мбит, справится с ней за одну секунду. Расчет производительности процессора Зависимость системы от сложности задачи представлена на рисунке (Рис.3): Расчет производительности процессора Где, + означает, что система всегда успевает за задачей; - означает, что система всегда отстает от задачи. Необходимо также отметить, что заявленные частоты системных шин у процессоров Intel, начиная с 400 МГц, являются не физическими, а математическими, их реальная частота в четыре раза меньше. А математика состоит в следующем (Рис.4): сигналу «0» и комбинациям сигналов «01», «010» и «0101» присваивается строго определенное значение силы тока, что позволяет при появлении этих комбинаций в системной шине процессора передавать их в два (01), в три (010), и в четыре (0101) раза быстрее. Естественно вероятность появления таких комбинаций не высокая, поэтому, рассчитывая производительность процессора целесообразно исходить из физической частоты. Расчет производительности процессора Многоядерность Теперь необходимо в общих чертах рассмотреть работу процессора в связке с оперативной памятью. На рисунке (Рис.5) показана работа обычного одноядерного процессора. В этом случае соблюдается очередность: первая задача (a) из оперативной памяти поступает в процессор (1), там она обрабатывается (2), после чего отсылается обратно в память (3), теперь вторая задача (b) поступает в процессор (4), где обрабатывается (5) и также отсылается обратно в оперативную память (6). Расчет производительности процессора На рисунке (Рис.6) показана работа процессора с технологией Hyper-Threading. В этом случае первая задача (a) из оперативной памяти поступает в процессор (1), там она обрабатывается (2), после чего вторая задача (b) поступает в процессор (3), а первая задача отсылается обратно в оперативную память (4), вторая задача обрабатывается (5), и также отсылается обратно в оперативную память (6). Данная технология может дать прирост производительности по сравнению с обычным процессором 1-10%. Расчет производительности процессора На рисунке (Рис.7) показана работа 2-х ядерного процессора Intel Dual Core. В этом случае первая задача (a) из оперативной памяти поступает в 1 ядро процессора (1), там она обрабатывается (2 красная), одновременно с этим вторая задача (b) поступает из оперативной памяти во второе ядро процессора (2 синяя), там она обрабатывается (3 синяя) и одновременно с этим первая задача отправляется обратно в память (3 красная), и в конце вторая задача также отправляется в память (4). Этот процессор может дать прирост производительности 5-7% по сравнению с технологией Hyper-Threading. Также необходимо отметить, что в данном процессоре используются логические ядра. Расчет производительности процессора В процессоре Intel Dual 2 Core уже используются два физических ядра, что позволяет при одновременной работе ядер отправить в оперативную память ту задачу, которая будет быстрее обработана процессором, что может дать прирост производительности по сравнению с Intel Dual Core 2-4%. Функционально схема работы процессора соответствует рисунку (Рис.7). Пример расчета Расчет будет произведен для двух процессоров Intel, одноядерного с тактовой частотой 3000 МГц и логической частотой системной шины 800 МГц (Рис.8) и 2-х ядерного с тактовой частотой ядра 2600МГц и логической частотой системной шины 1066 МГц (рис.9). Расчет производится для двух задач, для которых необходимо произвольно выбрать сложность. Это делается для определения производительности процессора на задачах определенной сложности. Расчет производительности процессора Расчет производительности процессора Расчет производительности для одноядерного процессора Intel 3000 МГц с логической частотой системной шины 800 МГц (физическая частота 200 МГц) для двух задач с коэффициентом сложности 8: Расчет производительности процессора Производительность процессора для двух задач с максимальным коэффициентом сложности составит: ((200*6)/(1+0.53+1+1+0.53+1))*32(разрядность)=7589 Мбит/с=948 Мб/с Теперь посчитаем производительность для двух задач с коэффициентом сложности 2: Расчет производительности процессора Производительность процессора для двух задач с коэффициентом сложности 2 составит: (1200/4,28)*32=8972 Мбит/c=1121 Мб/c Теперь посчитаем производительность для двух задач, одной с коэффициентом сложности 2, а второй 8: Расчет производительности процессора Производительность процессора для двух задач, одной с коэффициентом сложности 2, а второй 8 составит: (1200/4,67)*32=8222 Мбит/c=1028 Мб/c Не трудно догадаться, что чем ниже сложность задачи, тем производительность одноядерного процессора будет выше. Теперь произведем расчет для 2-х ядерного процессора Intel с тактовой частотой ядра 2600МГц и логической частотой системной шины 1066 МГц (физическая 266,5 МГц) для двух задач с коэффициентом сложности 8: Расчет производительности процессора (1599/4)*32=12792 Мбит/с=1599 Мб/c Теперь посчитаем производительность для двух задач с коэффициентом сложности 2: Расчет производительности процессора (1599/4)*32=12792 Мбит/с=1599 Мб/c Теперь посчитаем производительность для двух задач, одной с коэффициентом сложности 2, а второй 8: Расчет производительности процессора (1599/4)*32=12792 Мбит/с=1599 Мб/c На этих примерах прекрасно видно, что у 2-х ядерного процессора с такими техническими характеристиками производительность всегда будет одинаковая! Это происходит вследствие того, что ядро, успевшее обработать задачу, вынуждено простаивать в ожидании, когда загрузится следующая задача в соседнее ядро. Кроме того, получается, что ядра не работают одновременно, а это большая потеря в производительности. Подводя итог, хочу сказать, что многоядерность действительно актуальна в случае, когда ядра могут работать одновременно, то есть когда тактовая частота процессора незначительно выше частоты системной шины. И последнее: многопроцессорные системы всегда стоят огромных денег, так как в отличие от многоядерного процессора, в них технические показатели удваиваются (в зависимости от количества процессоров). Например, если стоят два процессора, каждый с частотой системной шины 200 МГц и тактовой частотой процессора 3000 МГц, это равносильно тому, что будет работать один процессор с частотой шины 400 МГц и тактовой частотой процессора 6000.

Комментарии (6)

RSSсвернуть /развернуть
+
0
тАк оно
avatar

FrikerOla

  • 19 сентября 2007, 22:37
+
0
да, теперь я знау все
avatar

DimastyRU

  • 20 сентября 2007, 03:00
+
0
Вот блин что я спрашивал у товарищей на форуме КС…
А меня лечили что прирост производительности будет 50%…
Пездец ну и чушь ведь они несли…
Кто там это говорил???
Ну ка отзовитесь =)))

Автору стопроцентный зачОт!!!
Автор пеши исчо про видюхи с шейдерными моделями, и оперативки с разными ДДР, в таком же стиле и я стану твоим фанатом!!!

ЗЫ
Почемуто не смог оценить…
Страница выдает УРЛ НОТ ФАУНД…
avatar

voLoNT

  • 20 сентября 2007, 06:51
+
0
да нихрена не так. на практике и тестам надо смотреть. расчеты ничего не покажут. при кодировании видео прирост более 50%
avatar

BIT

  • 22 сентября 2007, 20:07
+
0
получается на хер они нужна эти двухъядерные. они в люблм случае лучше, прирост заметен. А то что два процессора лучше двух ядер это и так понятно, для этого не надо было писать статью. но всё равно спасибо)
avatar

Archie

  • 04 декабря 2007, 00:04
+
0
не осилил…
avatar

petruxa15

  • 11 мая 2008, 19:59

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Валидный HTMLВалидный CSSRambler's Top100