Удивительная картина: с каждым новым поколением мощь 1 мегагерца процессоров AMD растёт, что в принципе абсолютно нормально, а у каждого нового поколения процессоров Intel удельный вес 1 mhz падает... Так было с Willamate, теперь - Prescott. Intel приходится всё больше увеличивать разрыв по тактовой частоте, что-бы хоть как-то удерживать паритет с конкурентом.
Да, конечно появляются такие фишки, как HyperThreading, PAT, но почему новое поколение процессоров медленее, по-идее архитектурно не уступая?
Значит уступает Большенство экспертов выносят 2 причины:
1) Несмотря на увеличенный объём кэша, его латентность увеличена - задержки выше, и в приложениях, которым важнее не количество последних выполненных команд в кэше, а скорость обращения к ним, производительность падает. Вполне объективная причина. Но часто называется ещё одна:
2) Увеличенная длина конвеера с 20 до 32 блоков (могу ошибаться, но точно знаю, что их в районе ~30) также снижает производительность. Вот тут мне уже не понятно...
На сколько я знаю, все блоки конвеера выполняют часть инструкции одновременно за один такт, то есть за такт все 32 блока одновременно делают свой "ход", кстати так как в Northwood'е их было 20 - возможно это одна из причин повышенного терловыделения. Так вот, увеличенный конвеер только повышает вероятность правильного предугадывания перехода, как он может её снижать? Другое дело - АЛГОРИТМ предугадывания переходов, который всегда страдал у Intel (кстати он и есть основная причина огромного преимущества Athlon'ов на РАВНОЙ с Pentium'ом частоте в большенстве приложений и паритета в потоковых приложениях с небольшим числом переходов - таких, как декодирование или архивирование). Но ведь не могла Intel просто взять и ухудшить этот алгоритм в новом ядре?! От увеличения количества блоков конвеера, ИМХО производительность никак не могла упасть...
BERSERKER А ты знаешь, что у первых настольных процев напруг вообще за 5 v был . Ето ж не значит, что в Northwood столько надо ставить - да и не поставишь, даже с самым лучшим BIOS'ом. Если Prescott на своих 1.3 v греется сильнее чем Northwood на 1.75 - какое ж должно быть охлаждение, чтоб охладить его на 1.75 Prescott - это уже экстремальный разгон.
Member
Статус: Не в сети Регистрация: 19.11.2003 Откуда: Краснодар
BERSERKER писал(а):
ИМХО, напруги маловато, надо 1.75 поставить, как в Northwood, и всё будет пучком... Чувствую, моя следующая система будет на AMD
Да напруга тут непричём, на 1.75В Prescott скорее всего сгорит, ибо при техпроцессе 90нм длина затвора составляет около 45нм, и при большом напряжении токи утечки сильно возрастают, соответственно возрастает и тепловыделение, так что маленькие транзисторы и тоненькие межтранзисторные перекрытия и соединения могут не выдержать такого напряжения.
А насчёт перехода на AMD, то это ещё надо сильно подумать... У них тоже не всё в радужном свете процветает.
Member
Статус: Не в сети Регистрация: 17.08.2003 Откуда: Новосибирск
Axceil и др. Ну чего прицепились, я же шучу QNX Конечно, ещё ничего не ясно, но всё таки не очень обнадёживающие результаты, и доплачивать за меньшую производительность и ужасный разгон я не намерен.
Member
Статус: Не в сети Регистрация: 12.03.2003 Откуда: Израиль
Цитата:
Так вот, увеличенный конвеер только повышает вероятность правильного предугадывания перехода, как он может её снижать?
Цитата:
От увеличения количества блоков конвеера, ИМХО производительность никак не могла упасть...
Вот тут ты слегка ошибаешься...
1. Вероятность предугадывания перехода не зависит от длины конвеера.
2. Рассмотрим упрощенную модель работы проца:
- каждая стадия на конвеере выполняется за 1 такт, конвеер из 30 блоков.
- допустим, каждая команда выполняется 1 такт
- нет фишек из серии НТ
Теперь:
1. Включили комп.
2. Конвеер проца пуст.
3. Проц начал откуда-нибудь брать команды.
4. Первая команда вошла в конвеер.
5. На следующий такт - вторая, итд...
6. Через 30 тактов мы получили результат выполнения первой команды.
7. Дальше результаты выполнения действительно сыпятся каждый такт.
8. Работали, пока не нарвались на неправильно предсказанный переход...
9. ААА!!!!1111 Мы не оттуда брали команды!!!!
10. Чистим конвеер...
11. Начинаем брать команды с правильного места.
12. Пока правильная команда выполнилась, потеряли 30 тактов...
_________________ Более мощный компьютер глючит быстрее и точнее.
WhPh, на счёт HT ты меня подколол , но вот в 6-ом и в 12-ом пунктах ты всётаки ошибся: инструкция (команда) выполняется не за столько тактов, сколько блоков в конвеере, это зависит от конкретной команды: например команда add выполняется за 4 такта - причём как на 20 блоковом конвеере, так и на 32 блоковом.
Поэтому при неправильном переходе мы действительно разгружаем весь конвеер, но теряем при этом ровно столько тактов, за сколько будет выполняться следующая команда.
Я не говорил, что увеличенный конвеер обязательно улучшит производительность - я говорил, что он её как минимум не может ухудшить. А вероятность угадывания повышается за счёт большего пространства для заполнения
Member
Статус: Не в сети Регистрация: 12.03.2003 Откуда: Израиль
Axceil Я написал "упрощенную модель работы проца"... На деле все не так страшно, но ноги растут оттуда.
Кстати пример команды ADD, которая выполняется за 4 такта... Ты уверен, что эти данные для выполнения с незаполненного конвеера?
Интел кстати перестал писать в мануалах время выполнения команд почему-то. Наводит на некоторые мысли...
_________________ Более мощный компьютер глючит быстрее и точнее.
Так всё таки, WhPh , ты счетаешь, что увеличенная длина конвеера Prescott является причиной падения производительности, или нет?
Хочу узнать побольше мнений экспертов
Member
Статус: Не в сети Регистрация: 12.03.2003 Откуда: Израиль
Axceil Считаю, что да: с увеличением длины конвеера теряется больше тактов на неверно предсказанном переходе.
Про кэш говорить ничего не буду: не понимаю в вопросах памяти.
Присоединяюсь и жду экспертов...
_________________ Более мощный компьютер глючит быстрее и точнее.
Кстати пример команды ADD, которая выполняется за 4 такта... Ты уверен, что эти данные для выполнения с незаполненного конвеера?
Я думаю да, иначе какое преимущество в скорости от использования команд, требующих меньше тактов на выполнение, и вообще от конвеера в целом...
Если ты предполагаешь, что в Интеловских процессорах любая уже полностью обработанная команда должна обязательно прождать весь конвеер, пока он не заполнится - лучше уж вообще тогда без конввеера, быстрее будет Я думаю это не так
Member
Статус: Не в сети Регистрация: 29.01.2003 Откуда: Вильнюс, Литва
Axceil
Цитата:
Я не говорил, что увеличенный конвеер обязательно улучшит производительность - я говорил, что он её как минимум не может ухудшить. А вероятность угадывания повышается за счёт большего пространства для заполнения
Может ухудшить, если блок предсказания ветвлений не будет адекватно улучшен. Не всегда ветвления можно вообще угадать, например, если условие перехода зависело от случайно сгенерированного числа. АМД вообще не советует пользоваться random, программируя под современные процы.
Цитата:
Удивительная картина: с каждым новым поколением мощь 1 мегагерца процессоров AMD растёт, что в принципе абсолютно нормально, а у каждого нового поколения процессоров Intel удельный вес 1 mhz падает... Так было с Willamate, теперь - Prescott. Intel приходится всё больше увеличивать разрыв по тактовой частоте, что-бы хоть как-то удерживать паритет с конкурентом.
Тут скорее, наоборот - Интел делит конвеер на большее количество маленьких ступеней, чтобы поднять частоту проца. Маленькие ступени(участки кристалла) могут работать на большей частоте, нежели способен весь кристалл.
Что касается конвеера, то чем длиннее конвеер, тем больше процу нужно кэша и пропускной способности памяти: вспомните, какими замухрышками были П4 в начале и как расцвела эта архитектура при переходе на ядро Нортвуд(512К кэш) + 800 шина. В то же время Атлоны реагируют более сдержанно на изменение кэша и пропускной способности памяти.
Последний раз редактировалось Artiom 30.01.2004 23:08, всего редактировалось 1 раз.
AkkellA , множитель разблокирован только у инженерных образцов. У серийных - тех что будут продаваться в магазинах - множитель будет, естественно заблокирован, халява закончилась .
То, что он теплее - это да, а разгоняться будет чуть лучше Notrhwood'ов
Member
Статус: Не в сети Регистрация: 12.03.2003 Откуда: Израиль
Axceil Не обязана команда пройти весь конвеер. Просто вспоминая описания 486, где конвеер впервые появился, Интел скинул приличное кол-во команд до выполнения за такт, но скромно умолчал, что это при заполненном и нормально идущем конвеере.
Т.е. вспоминая мой упрощенный пример, можно вполне написать, что команда выполняется за такт (если считать отношение количество выполненных команд к единице времени), при том, что в моей модели проца команда требует 30 тактов на самом деле.
_________________ Более мощный компьютер глючит быстрее и точнее.
Интересные вещи говоришь, Artiom , я, кстати действительно хотел узнать, как влияет увеличенный конвеер на масштабируемость проца, за разъяснение спасибо!
Но скажи, не ухудшает ли frequ тот факт, что конвеер разделён на ступени, а не един?
И я всё-таки не понял, почему если адекватно не улучшить блок предсказания ветвлений, может упасть производительность - это ж как, если бы в системе было 256Mb RAM или 512Mb - работающих на одной и той же частоте. Понятно, что второй вариант будет как минимум не медленее...
Member
Статус: Не в сети Регистрация: 02.03.2003 Откуда: Мск
Axceil Если в конвеере 20 ступеней, то при неправильно предсказаном переходе мы теряем 19 тактов; если же в конвеере 30 ступеней, то соответственно, мы потеряем 29 тактов.
_________________ "На хк играют трусы, те кто боятся умирать" (с)
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения