LINUX.ORG.RU

То nVidia предрекает интенлокапец, то IBM...

gnomino
()
Ответ на: комментарий от KRoN73

>Core 2 Duo с такой же мощностью считается сегодня чуть ли не эталоном десктопного энергосбережения :D

У Core2 Duo предсказание ветвлений гораздо лучше работает.

anonymous
()
Ответ на: комментарий от anonymous

>У Core2 Duo предсказание ветвлений гораздо лучше работает.

1. Откуда у тебя информация о качестве предсказаний ветвлений в Cell?

2. Там можно меньше ветвиться, раскидывая задачу по разным SPE :)

KRoN73 ★★★★★
()
Ответ на: комментарий от amoralyrr

Кстати, где-нить есть ссылка на систему команд SPE-шек?

Если у них есть условное выполнение команд, как на тех же ARM'ах, то там и предсказывать ничего не надо будет в целом ряде случаев :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> 2. Там можно меньше ветвиться, раскидывая задачу по разным SPE :)

SPE - это, грубо говоря, просто сопроцессор. это не независимое процессорное ядро.

isden ★★★★★
()
Ответ на: комментарий от isden

> SPE может выполнять за такт четыре операции накопления (умножения с последующим сложением) над 32-разрядными операндами, так что восемь SPE выполняют в такте 64 операции с плавающей точкой (одинарной точности). При тактовой частоте 4 ГГц суммарная производительность достигает 256 GFLOPS. Подчеркнем, SPE может выполнять и операции с плавающей точкой двойной точности в соответствии со стандартом IEEE754, но при этом его производительность уменьшается на порядок, что при тактовой частоте 4 ГГц соответствует 25 GFLOPS.

(c) http://www.morepc.ru/processor/prc30082006.html

isden ★★★★★
()
Ответ на: комментарий от isden

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

YesSSS ★★★
()
Ответ на: комментарий от isden

btw,

Отсутствие в SPU предсказания переходов является еще одной серьезной проблемой этого процессора – даже, пожалуй, еще более серьезной, чем высокопроизводительная, не очень удобная для сложных алгоритмов модель памяти. Вспомогательное ядро очень бодро «перемалывает» цифры, но лишь до тех пор, пока ему не встретится условный переход. Конвейер обработки команд у Cell очень длинный (21 такт). Поскольку при выборе ошибочного направления декодирования команд его нужно сбрасывать и заполнять заново, все два десятка тактов SPU не будет делать ничего полезного. Сходные проблемы были у Pentium 4, где длина конвейера 20 тактов (в 2-3 раза больше, чем у Pentium III, Core 2 или обычных процессоров архитектуры PowerPC). Это общий недостаток всех процессоров с длинным конвейером – они очень долго «втягиваются в работу» после ошибки в предсказании перехода. Однако если в Pentium 4 это отчасти компенсируется исключительно эффективным механизмом предсказания, который срабатывает в 90-95% случаев, то SPU тут похвастаться нечем, кроме не очень действенного механизма «подсказок», оставляемых компилятором или программистом в теле программы и указывающих предполагаемое направление будущего перехода.

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

(c) http://www.gameland.ru/post/39791/default3.asp

isden ★★★★★
()
Ответ на: комментарий от YesSSS

> Afair ядро там независимое, просто к общей памяти доступа не имеет

нет, SPU - это именно вспомогательные ядра. основное ядро, грубо говоря, спихивает в них вычислительные задачи.

isden ★★★★★
()
Ответ на: комментарий от isden

В новых cell-ах должны были поднять скорость работы даблов до половины скорости работы float-ов, а так - да, каждый SPE может исполнять и векторные операции(128bit = 2 double = 4 float = 4 int = 8 short = 16 byte), на них будет самая большая скорострельность.

YesSSS ★★★
()

Братва я всё о том же: НАДО ПОГОВОРИТЬ С РАЗВИВАЮЩИМИ НАНОТЕХНОЛОГИИ В РОССИИ, ЧТО НУЖНО СДЕЛАТЬ ДЕШЕВУЮ МАМКУ ДЛЯ ПРОЦА IBM PowerXCell 8i С ПОДДЕРЖКОЙ ИНТЕРФЕЙСОВ ДЛЯ СТАНДАРТНОГО ЖЕЛЕЗА!!! Можно сообща с Китайцами...

PS А сколько будет стоить один такой проц?

anonymous
()
Ответ на: комментарий от isden

Так и есть, SPU простые как фиг знает что, за счет этого и достигается очень высокая производительность на одних задачах, но это же делате его непригодным для других задач. Одно только явное управление памятью SPU чего стоит, зато решается проблема медленного и непредсказуемого доступа к памяти.

YesSSS ★★★
()
Ответ на: комментарий от anonymous

Ну imho кто-кто, а люди "РАЗВИВАЮЩИЕ НАНОТЕХНОЛОГИИ В РОССИИ" точно ни чего полезного не сделают. =))

А так - бери PS3, железо там вполне десктопное (жаль памяти нельзя добавить), а ограничения связанны скорее с политикой сони. Соню и пили. =)

YesSSS ★★★
()
Ответ на: комментарий от YesSSS

Не мне памяти в PS3 мало и проц там уже устарел, хочу новый IBM PowerXCell 8i, или новый PowerPC c частотой 5Hz! Если удастся в Китае клепать эти процы <200$ и мамку к нему <200$ то к x86 и венде пришёл бы пушистый зверёк с севера...

anonymous
()
Ответ на: комментарий от anonymous

Зачем оно уже? Надо сделать мамку под новые, мощные процы и воткнёш себе туда открытый AMD/ATI..

anonymous
()
Ответ на: комментарий от YesSSS

btw, а PowerXCell 8i - не так урезан как обычный cell? в cell часть логики выкинута и in-order execution ради удешевления :(

isden ★★★★★
()
Ответ на: комментарий от YesSSS

>Afair ядро там независимое, просто к общей памяти доступа не имеет

И даже доступ к памяти внешней имеет. Только код исполнять оттуда не может. Код - только из своей локальной памяти. Так что SPE - совершенно полноцнные ядра, если не заморачиваться вопросом исполнения кода из основной памяти. В конце концов, на x86 процессоры тоже не могут исполнять код прямо с блинов HDD, например :)

KRoN73 ★★★★★
()
Ответ на: комментарий от cobold

>а зачем сабж нужен кроме как для числодробильни?

Сабж - intel или интелокапец?

KRoN73 ★★★★★
()
Ответ на: комментарий от isden

>Вспомогательное ядро очень бодро «перемалывает» цифры, но лишь до тех пор, пока ему не встретится условный переход.

Потому я и задавал вопрос, есть ли в системе команд SPE условные выполнения операций, как в ARM, например? Если есть, то это эффективный способ избегать условных переходов.

KRoN73 ★★★★★
()
Ответ на: комментарий от YesSSS

А что быстрее: Cell в PS3 или GF 8800 Ultra (GTX)? Памяти на видеоплате точно больше.

В G200, который готовятся выпустить в июле, nvidia обещает 240 шейдеров, аппаратную поддержку double и пиковую производительность около 1 TFlops.

anonymous
()
Ответ на: комментарий от KRoN73

> есть ли в системе команд SPE условные выполнения операций, как в ARM, например?

Условное выполнение и в x86 имеется, начиная с Pentium Pro или даже обычного первопня, но сильно ли оно помогло Pentium-4? Что-то компиляторы не очень любят генерировать такой код.

anonymous
()
Ответ на: комментарий от anonymous

>Условное выполнение и в x86 имеется, начиная с Pentium Pro

Гм. Ты ничего не путаешь? И какие же у этих команд опкоды и растактовки? Боюсь, что условное выполнение нормального формата в x86 не ввести, как минимум, лишних байта два на префикс, да лишний такт на анализ.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>или даже обычного первопня

На первопне ещё не было. Я как раз после Pentium MMX перестал за опкодами следить.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> И какие же у этих команд опкоды и растактовки? 

Как минимум, а может только :-))))  команды серии CMOVcc
Смотри http://download.intel.com/design/processor/manuals/253666.pdf

The CMOVcc instructions check the state of one or more of the status 
flags in the EFLAGS register (CF, OF, PF, SF, and ZF) and perform a 
move operation if the flags are in a specified state (or condition). A
condition code (cc) is associated with each instruction to indicate 
the condition being tested for. If the condition is not satisfied, a 
move is not performed and execution continues with the instruction 
following the CMOVcc instruction.

These instructions can move 16-bit, 32-bit or 64-bit values from 
memory to a general-purpose register or from one general-purpose 
register to another. Conditional moves of 8-bit register operands are 
not supported.

The condition for each CMOVcc mnemonic is given in the description 
column of the above table. The terms "less" and "greater" are used for
comparisons of signed integers and the terms "above" and "below" are 
used for unsigned integers.

Because a particular state of the status flags can sometimes be 
interpreted in two ways, two mnemonics are defined for some opcodes. 
For example, the CMOVA (conditional move if above) instruction and the
CMOVNBE (conditional move if not below or equal) instruction are 
alternate mnemonics for the opcode OF 47H.

The CMOVcc instructions were introduced in P6 family processors; 
however, these instructions may not be supported by all IA-32 
processors. Software can determine if the CMOVcc instructions are 
supported by checking the processor's feature information with the 
CPUID instruction (see "CPUID—CPU Identification" in this chapter).


anonymous
()
Ответ на: комментарий от anonymous

> Как минимум, а может только :-))))

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.