· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.HEAP —› Intel Pentium4 NetBurst

. 1 . 2 . 3 . >>

Посл.отвђт Сообщенiе


Дата: Сен 24, 2004 22:54:04

Книга М.Гука и В.Юрова "Процессоры P4, Athlon и Duron" отбила всякое желание изучать архитектуру ПК. В частности "спекулятивное исполнение и изменение порядка выполнения инструкций". Это что ж, мой П4 большую часть времени фигней страдает, загружая-выгружая конвеер, потому что некторые дядьки из Intel,Co. посчитали процентную вероятность выполнения того или иного джампа. Итак понять CISC процессоры я не могу, а тут еще оказывается ядро Пентиума - Risc процессор. Может я чего не понимаю, но, по-моему, люди из интела с ума сошли... к сожалению.


Дата: Сен 25, 2004 01:25:24

а в чем собственно вопрос?

NetBurst разбивает CISC-интструкции на т.н. микрооперации, которые затем и скармливаются RISC-ядру. Затем ему и поставили 20 ступеней конвейера, чтобы было когда декодировать все это дело :)


Дата: Сен 25, 2004 10:50:37

„люди из интела с ума сошли... к сожалению“

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


Дата: Сен 27, 2004 11:22:45

Не пойму, что конкретно вызывает удивление\возмущение и главное по сравнению с чем. Если отложить популярные издания и обратиться к первоисточнику IA-32 (ч.1), то увидим, что всем этим "нововведениям" уже около десятка лет. Суперскалярная архитектура с двумя параллельными конвейерами и предсказание ветвлений появилось еще в первом Pentium (1993г), а разбивка команд на микороперации с изменением порядка выполнения - в Pentium Pro (1995г). С тех пор эти механизмы только совершенствовались и NetBurst в этом отношении - только advanced & enhanced. Так что это не "сумасшествие" людей из интел, а стратегия развития процессоров - на одном совершенствовании полупроводниковой технологии и увеличении тактовой частоты далеко не уедешь.

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


Дата: Сен 27, 2004 13:16:47

dShell
Небольшое дополнелие к тому что сказал leo. Большой конвеер делается не просто так, а исключительно для поднятия частоты, если бы он работал на 100Mhz - ступень была бы одна и почти все инструкции занимали бы 1 такт.


Дата: Сен 27, 2004 14:47:10

„если бы он работал на 100Mhz - ступень была бы одна и почти все инструкции занимали бы 1 такт.“

Вот-вот. Как я не пытался превзойти П-3 866 Мгц,
на остальных процессорах задачка считается
с такой же скоростью. Правда я пока Целерон проверял.
Интеловский Фортран с оптимизацией под конкретный проц
ничего не улучшает. Выход один - использовать
библиотеки готовых программ, оптимизированных
под конкретную архитектуру.
И такая же картина у других производителей :
у меня друг год пытался на Сан-е оптимизировать
программу - результат ноль.


Дата: Сен 27, 2004 16:38:54

Ну то что ядро P6 быстрее, чем этот новый NetBurst (при прочих равных условиях) вроде бы известный факт.
Другое дело, что старое ядро на высоких частотах не работает, да и покупатели любят большие цифры ;-)


Дата: Сен 28, 2004 09:54:28

„Другое дело, что старое ядро на высоких частотах не работает, да и покупатели любят большие цифры ;-)“

Я читал статейку, что П-3 Туалатин с кешем на
512 Кб по быстродействию перекрывал все П-4,
но т.к. это тупиковая ветвь ,то Интел просто
перестал их выпускать. На самом деле, наверное
все уперлось в память - все Гигагерцы вылетают
в трубу ,когда процесс начинает скакать как
кузнечик по памяти и кеш становится тормозом,
а не ускорителем.


Дата: Сен 28, 2004 11:38:54 · Поправил: leo

Все-таки нельзя однозначно говорить, что ядро P6 быстрее и увеличение быстродействия достигается исключительно за счет длины конвейера. В NetBurst еще и АЛУ работает на удвоенной частоте и основные целочисленные операции выполняются за 1/2 такта (по уверению интел).
Я тут ради интереса сравнил P3(650 МГц) и P4(1.8 ГГц Northwood) на элементарных регистровых операциях (add,or,and). Получается, что когда вперемешку идут независимые операции с разными регистрами выигрыш P4 получается меньше отношения частот, но растет с увеличением числа операций в цикле, т.е. конвеер рулит. Но если притормозить конвейер, "заколбасив" последовательные операции над одним регистром, то время обработки на P3 сразу увеличивается в 1.5 раза, а на P4 всего на 5-7%. Так что быстрое АЛУ тоже "рулит", но в жизни этот выигрыш "съедается" за счет конвейера и изменения поледовательности выполнения команд. Вот только на этом примере что-то не видно эффекта от предсказания ветвления - если процессор предсказывает начало нового цикла вычислений, то какая ему разница сколько операций в цикле ?


Дата: Сен 28, 2004 15:14:56

valterg > „П-3 Туалатин с кешем на
512 Кб по быстродействию перекрывал все П-4,
но т.к. это тупиковая ветвь ,то Интел просто
перестал их выпускать. На самом деле, наверное
все уперлось в память..“


Да, про пямять верно всё, ядро на порядок быстрее работает, а объём кеша мал для современных программ (он работает на частоте ядра), так что память - это самое узкое место.
А то, что PIII тупиковая архитектура.. дык нужно же что-то написать-то! Как же ещё объяснить необходимость появления NetBurst ?
А ведь intel до сих пор дожимает ядро P6 - Pentium M, например..

На самом деле это NetBurst тупиковая архитектура - изначально предполагалось, что проц будет работать с rambus памятью - потому и конвеер они "растянули", у rambus всё равно латентность высокая.. но рынок сказал "фи", поэтому приходится сейчас пользоваться SDRAM, а на ней PIV чувствует себя куда хуже, разве что новые 2х канальные чипсеты хоть как-то исправляют ситуацию..
Понятное дело, что на 2,8GHz@800Mhz FSB проц будет работать быстрее, чем 1,2GHz@133Mhz FSB, но если взглянуть на athlon который на заметно меньшей частоте делает этот PIV..


leo > „Все-таки нельзя однозначно говорить, что ядро P6 быстрее и увеличение быстродействия достигается исключительно за счет длины конвейера.“

Увеличение длины конвеера наоборот, снижает производительность, особенно на ветвлениях.
Стадии добавляют, что бы задрать частоту.

> „В NetBurst еще и АЛУ работает на удвоенной частоте и основные целочисленные операции выполняются за 1/2 такта (по уверению интел). “

Так оно и есть, но в тоже время, количество тактов необходимых для выполнения других инструкций возрасло на порядок!
IMHO именно из-за этого intel не приводят теперь данные по всем инструкциям, но и по тем каккие есть, можно видеть различая..


Дата: Сен 28, 2004 18:32:42

leo
Я и не знал, что архитектура "старая". Надо будет почитать первоисточник. Спасибо за тест. Дома у меня стоят слишком разные машины (Cyrix-M II 233Hz и P4 3GHz) результаты сравния на них бессмыслены.

flankerx,valterg,semen,S_T_A_S_
Спасибо, что разъяснили ситуацию.


Дата: Сен 28, 2004 19:52:38 · Поправил: semen

S_T_A_S_
leo собственный эксперемент поставил, а ты его ругаешь...

„Понятное дело, что на 2,8GHz@800Mhz FSB проц будет работать быстрее, чем 1,2GHz@133Mhz FSB, но если взглянуть на athlon который на заметно меньшей частоте делает этот PIV.. “

А ты пробовал? Я вот пробовал, и не пришел к однозначному выводу. Мои выводы таковы: athlon имеет большой кеш первого уровня - и это его основная сила(даже не длина конвеера), на сложных неоптимизированных(тут уже и длина конвеера сказывается) алгоритмах он рулит. Но потоковая обработка рулит на P4.

Ядро athlon уже не может работать на большей частоте - выжато все что можно из малого конвеера, что делать? Можно пойти дальше - растянуть конвеер, повысить частоту - и если не вспотыкаться особо об конвеер - можно ускориться(а потоковая обработка не вспотыкается), ну плюс там улучшить что-нить в плане анти-конвееро-вспотыкания... Разумеется - что лучше, будет зависить от случая, но второй вариант я все-же склонен считать развитием, но ОН ТРЕБУЕТ оптимизации...


Дата: Сен 28, 2004 21:16:16

semen

Никого я не ругаю. Да и не зачем мне это.

> „А ты пробовал? Я вот пробовал, и не пришел к однозначному выводу. Мои выводы таковы: athlon имеет большой кеш первого уровня“

Да, я пробовал (довольно давно правда, сейчас у меня нормального доступа к пням нет :)
Задача вроде обработки данных посредством mmx.
Результаты были примерно такие: Celeron 1700 ~ Celeron 1200 ~ Duron 1100 (или 1000 - не помню точно).
Всё это усреднённо, конечно.
Первоначальная оптимизация (довольно сильно) производилась под AMD.
Потом я пытался как-то улучшить выполнение на ядре PIV, но мои результаты только ухудьшались :(
Некоторые операции были заметно (до 20%, но частота насколько выше) быстрее на Celeron 1700, но в целом он проигрывал.

То, что на сложных неоптимизированных алгоритмах athlon работает быстрее, IMHO, вполне логично - на сколько он позже разрабатывался, чем P6.


> „Ядро athlon уже не может работать на большей частоте - выжато все что можно из малого конвеера, что делать?“

Да, из ядра K7 выжато уже практически всё, но AMD не увеличивает конвеер, чтобы задирать частоту (с маркетингом у них не так хорошо ;-), вместо этого они делают новое - K8 (64 бита я здесь не трогаю, не в них дело):
- интегрированный (!!) контроллер памяти - уменьшаем латентность ОЗУ;
- улучшают микроядро - на той же частоте K8 работает быстрее чем K7 (32 битный код) за счёт того, что количество микроопераций уменьшается. Т.е. (некоторые) инструкции выполняются быстрее.

intel же идёт по своему обычному пути - частота выше, код выполняется медленнее.. хотите прирост? Перекомпилируйте, переделывайте.. да им-то что, рынок их.


Дата: Сен 29, 2004 12:26:45 · Поправил: leo

S_T_A_S_
Ну, батенька, ты загнул. По твоему ребята из интел действительно с ума сошли. А ведь они наверняка хотели "как лучше".
Все-таки стадии добавляют для того, чтобы не "задрать", а повысить тактовую частоту и в среднем увеличить быстордействие (в том же IA-32 неоднократно подчеркивается "on average"). Ты ведь согласен, "что на 2,8GHz@800Mhz FSB проц будет работать быстрее..." А интелы уверяют, что конвеер NetBurst способен работать на частотах до 10GHz, так что они этот путь тупиковым не считают и надеются на перспективы в будущем. Поэтому нельзя однозначно говорить, что "увеличение длины конвеера наоборот, снижает производительность". Конечно, длинный конвеер требует времени на загрузку\перезагрузку при ветвлениях, но для этого есть механизм предсказания ветвлений и спекулятивного исполнения. Ясно, что если усеять программу операторами if и case с множеством мелких веток, то тут не один механизм предсказания не справится и никакого толку от конвейера и спекулятивных гигагерцев мы не получим.
Что-касается увеличения\уменьшения числа микроопераций. Наверное, ребята из AMD "умнее", если им удается добиться того же быстродействия на меньших частотах. Но наверное нельзя на каждую инструкцию поставить отдельный вычислительный блок. В NetBurst насчитывается 8 субблоков FPU и 3 АЛУ, из которых два double speed. А сколько же тогда в К7\К8 ? Ну а то, что разные архитектуры нельзя сравнивать по тактовой частоте - это в любой книжке написано, вот только не до всех покупателей это доходит.

PS: В общем-то, разгорающийся на глазах спор - довольно бессмыслен. Я например, не являюсь ни сторонником, ни противником Intel или AMD, и агитировать или критиковать никакую из архитектур не собираюсь. Жизнь покажет (еще гигагерцы подрастут, память подтянется, а может интелы у себя какую ошибку найдут, как уже бывало...)


Дата: Сен 29, 2004 13:04:13 · Поправил: semen

S_T_A_S_
Сделай сравнения еще раз. Я недавно сравнивал AMD ATHLON XP 2400+ "Thoroughbred" (2000MHz) и 2.40GHz Intel Pentium4 (512k,800MHz) на своем AC3 декодере, который оптимизирован и туда и туда по максиуму. В итоге P4 сильно выигрывает и не за счет 800mhz шины - тест был декодирование одного фрейма, который помещается в кеше со всеми данными декодера, при декодировании потока P4 выигрвыает еще больше. Если провести профайлинг c помощью MSR регистров - то на моем декодере инструкций сходит больше чем прошло тактов - при таком раскладе P4 всегда быстрее. Аналогичная ситуация с моим видео декодером...

И вообше - мой предидущий пост был абстрактный по поводу того что можно сделать когда выжато все что можно из малого кол-ва ступеней. А уж насколько хорошо реализовано удлинение конвеера в P4 это уже другой вопрос и чтобы судить кто круче надо иметь хотябы аналог от AMD... Но все-таки это ресурс, который можно использовать - потому что теоритически инструкции не равноправны(cisc конечно гораздо сильнее чем risc), даже сложение и сдвиг - чем больше ступеней - тем больше свободы выделить это неравноправие. Больше ступеней - проще каждая - выше частота - есть возможность завершать сложные операции за один такт. Смешно - но сигнал за такт даже не успеет пройти от одного края кристалла к другому! Есть и обратная сторона - непредсказанные ветвления. Больше в одну сторону - лучше выполняются одни задачи - больше в другую - другие, где середина я хз, лучше конечно переключать либо то либо то в зависимости от задачи. Я не привязываю это к Intel и AMD - так просто мысли...

По поводу 64бит: а что у тебя нет инструкций с 64 бит операндами? - есть и 128... 64 бит процессор - 64бит указатель - нада тока для кучи памяти, а для нас - простых смертных это еще не скоро потребуется, а может и скоро - но все равно это уже не та степь.(Сорри - потом заметил что ты 64бит не трогал :))

. 1 . 2 . 3 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.164