В продолжение темы о русской электронике...

Автор unihorn, 23.03.2007 23:58:02

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Вадим Семенов

ЦитироватьВидимо, надо посчитать за вас? пожалуйста - для комплексного умножения (выполняемого за такт на ядре) нужно семь операций с плавающей точкой. 7*4*0.1 = 2.8 GFLOP, поскольку они меряли не тупо умножение, а FFT - получили меньше на накладных расходах. Теперь вопросов нет?
Незачет. На ихней поделке нет никаких операций с комплексными числами. Ни выполняемых за 1 такт, ни за сколько тактов. Читайте описание ассемблера, а не фантазируйте. Соответсвенно, производительность умножения комплексных чисел меньше производительности на вещественных числах в 6 раз. (А не в 7, вы видимо не понимаете, что действительная и мнимая часть хрянятся в компьютере отдельными числами, а не складываются вместе, это всего лишь принятый в математике способ записи)
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".

dmdimon

ЦитироватьНезачет. На ихней поделке нет никаких операций с комплексными числами.
Незачет вам:
4.2. Форматы данных
Операции в процессорных элементах выполняются над знаковыми: •   дробными числами длиной dw бит (полусловами), где: dw=16 или dw=24; •   дробными числами двойной точности(словами) длиной (dw*2) бит; •   дробными упакованными числами(словами) длиною (dw*2) бит; •   комплексными дробными числами(словами) длиною (dw*2) бит; •   короткими целыми числами длиной dw бит (полусловами), где: dw=16 или dw=24; •   целыми числами длиной (dw*2) бит

...Тип данных задается в операциях чтения данных четырехбитным кодом...

_нет_ команды "комплексное умножение". _есть_ однотактовая команда "умножение" для которой комплексное число может быть аргументом.

Да, не семь, а шесть операций, тормознул. Но не ваших три, так что о понимании не надо.
push the human race forward

goran d

Цитировать
ЦитироватьНезачет. На ихней поделке нет никаких операций с комплексными числами.
Незачет вам:
4.2. Форматы данных
Операции в процессорных элементах выполняются над знаковыми: •   дробными числами длиной dw бит (полусловами), где: dw=16 или dw=24; •   дробными числами двойной точности(словами) длиной (dw*2) бит; •   дробными упакованными числами(словами) длиною (dw*2) бит; •   комплексными дробными числами(словами) длиною (dw*2) бит; •   короткими целыми числами длиной dw бит (полусловами), где: dw=16 или dw=24; •   целыми числами длиной (dw*2) бит

.

Ккрассотаа, нестандартный размер данных.
 :twisted:  :twisted:  :twisted:
И сколько там мантисса при длинне dw=16bit?
Врятли больше 10, значит 3 значящих цыфер.

Татарин

ЦитироватьКкрассотаа, нестандартный размер данных.
 :twisted:  :twisted:  :twisted:
Так на выбор же. :)

А "стандартность" количества бит для конкретного применения (ЦОС и embedded) всем пофигу.

Вадим Семенов

Цитировать
ЦитироватьНезачет. На ихней поделке нет никаких операций с комплексными числами.
Незачет вам:
4.2. Форматы данных
Операции в процессорных элементах выполняются над знаковыми: •   дробными числами длиной dw бит (полусловами), где: dw=16 или dw=24; •   дробными числами двойной точности(словами) длиной (dw*2) бит; •   дробными упакованными числами(словами) длиною (dw*2) бит; •   комплексными дробными числами(словами) длиною (dw*2) бит; •   короткими целыми числами длиной dw бит (полусловами), где: dw=16 или dw=24; •   целыми числами длиной (dw*2) бит

...Тип данных задается в операциях чтения данных четырехбитным кодом...

_нет_ команды "комплексное умножение". _есть_ однотактовая команда "умножение" для которой комплексное число может быть аргументом.

Да, не семь, а шесть операций, тормознул. Но не ваших три, так что о понимании не надо.

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

Более того, выполнить комплексное умножение в один такт невозможно если нет конвеерного и при этом еще и векторного АЛУ. Поскольку сначала нужен вектор из 4 умножателей, а потом еще и вектор из двух сумматоров. И при этом объединенные в конвеер, чтобы можно было запихивать новые операнды на каждом такте. Насколько я понимаю из заявлений авторов, ничего векторно-конвеерного там нет, они изобрели собственную конгениальную архитектуру. Но тогда не понятно, как достигнута производительность. Или все таки оно там есть и тогда имеем дело с банальной подтасовкой - производительность получена при помощи старой лоброй векторной и корвеерной обработки, а их гениальное изобретение тут совершенно ни при чем.
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".

Вадим Семенов

ЦитироватьИ сколько там мантисса при длинне dw=16bit?
Врятли больше 10, значит 3 значящих цыфер.

Да, длина для числа с плавающей запятой конечно смешная. При вычислениях с такой точностю в реальных задачах будет получаться один мусор из-за накапливающихся ошибок округления. Они бы еще однобайтовые числа с плавающей запятой придумали. А что, зато можно очень быстро за один такт перемножать. И много )
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".

Татарин

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

И тут же сразу, не делая паузы выдаётся очередное точно такое же "насколько я понимаю". :) Скажите, Вадим, а если Вам объяснить, почему и где Вы и тут неправы (а Вы не правы), что-то это изменит в Вашей методике? :)

Вадим Семенов

Судя по тому, что вы вместо непосредственно объяснений предпочли потратить некоторое время на печатание пустопорожнего и совершенно бессодержательного гнутья пальцев, объяснений у вас пока никаких нет.  :) Впрочем, можете попробовать придумать, я не против  :wink:
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".

Татарин

ЦитироватьСудя по тому, что вы вместо непосредственно объяснений предпочли потратить некоторое время на печатание пустопорожнего и совершенно бессодержательного гнутья
Я спрашиваю: есть ли смысл Вам что-то объяснять?
От этого для Вас что-то изменится или Вы сразу ничтоже сумняшись перейдёте к очередному эээ... сомнительному утверждению?

Вопрос простой. Либо так, либо этак.

Вадим Семенов

Кстати, о бардаке в документации.

Вот в этом http://www.multiclet.com/docs/PO/UM_SW00018.pdf документе написано:



То есть форматы комманд 32 и 64 бита, 6 типов данных (или 8 если знаковые и беззнаковые считать отдельно) тоже размерностью 32 и 64 бита а так же знаковый/беззнаковый 8-битный байт.

dmdimon приводит цитату из другого источника про комплексный тип. Ну убедить его приводить ссылку на источник цитаты, как принято в приличном обществе, видимо, дело безнадежное. Благо есть гугль. Вбиваем начало цитаты и находим другой документ. http://www.multiclet.com/docs/ru/MCP_realization_rus.doc

Удивительным образом формат команд изменился. Теперь он 16 и 48 бит соотвественно:



Еще более удивительные метаморфозы претерпели типы данных.

ЦитироватьОперации в процессорных элементах выполняются над знаковыми:
дробными числами длиной dw бит (полусловами), где: dw=16 или dw=24;
дробными числами двойной точности(словами) длиной (dw*2) бит;
дробными упакованными числами(словами) длиною (dw*2) бит;
комплексными дробными числами(словами) длиною (dw*2) бит;
короткими целыми числами длиной dw бит (полусловами), где: dw=16 или dw=24;
целыми числами длиной (dw*2) бит .
А также над беззнаковыми:
дробными числами длиной dw бит (полусловами);
дробными числами двойной точности(словами) длиной (dw*2) бит;
дробными упакованными числами(словами) длиною (dw*2) бит;
короткими целыми числами длиной dw бит (полусловами), где: dw=16 или dw=24;
целыми числами длиной (dw*2) бит.

Их тут стало 11, при этом все 64-битные типы исчезли, равно как и 8-битный байт, взамен появились новые, включая 24 и 48 битные.

Но это ладно, до сих пор были противоречия между двумя разными документами. Дальше начинается интереснее. Дальше приводится таблица кодировки этих типов "нулями и единицами". Естественно, требуется минимум 4 бита чтобы закодировать все 11 типов:



Но когда дело доходит до команд, 4 бита магическим образом превращаются в 2. Например, команда умножения кодируется 010010хх, где xx, видимо, тип операндов. Как они закодировали 11 комбинаций 2 битами - загадка. Никаких пояснений нет. Правда, в первом документе есть намек, что "не каждая команда поддерживает все типы данных". Насколько это применимо ко второму документу - трудно сказать, там и типы то совсем другие и их другое число. Но если принять как рабочую гипотезу, правильнее было бы написать, что ни одна команда не поддерживает все типы данных, поскольку во всех командах с операндами на тип отведено по 2 бита. Что и как закодировано этими 2 битами в документе не поясняется никак. В частности, есть ли умножение комплексных чисел - неизвестно. И вот по такой документации предлагается делать выводы...
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".

Вадим Семенов

Цитировать
ЦитироватьСудя по тому, что вы вместо непосредственно объяснений предпочли потратить некоторое время на печатание пустопорожнего и совершенно бессодержательного гнутья
Я спрашиваю: есть ли смысл Вам что-то объяснять?
От этого для Вас что-то изменится или Вы сразу ничтоже сумняшись перейдёте к очередному эээ... сомнительному утверждению?

Вопрос простой. Либо так, либо этак.

1. Сомнительные утверждения здесь делаете  Вы.
2. Два пустопорожних сообщения подряд это уже система, можно делать выводы. Полагаю, никаких "объяснений" по-существу можно не ждать?
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".

Дем

ЦитироватьИ сколько там мантисса при длинне dw=16bit?
15 или 16. Fixed - не float :)
Летать в космос необходимо. Жить - не необходимо.

dmdimon

Цитироватьdmdimon приводит цитату из другого источника про комплексный тип. Ну убедить его приводить ссылку на источник цитаты, как принято в приличном обществе, видимо, дело безнадежное.
Да вы что? а мне казалось, что в приличном обществе принято знакомиться с аргументами оппонента перед их опровержением...
Цитироватьвот кстати нормальный документ:
http://paco2010.ipu.ru/pdf/C101.pdf
ЦитироватьБолее того, выполнить комплексное умножение в один такт невозможно если нет конвеерного и при этом еще и векторного АЛУ. Поскольку сначала нужен вектор из 4 умножателей, а потом еще и вектор из двух сумматоров. И при этом объединенные в конвеер, чтобы можно было запихивать новые операнды на каждом такте. Насколько я понимаю из заявлений авторов, ничего векторно-конвеерного там нет, они изобрели собственную конгениальную архитектуру.
Прекрасно! вижу несколько обьяснений:
1) выполнить комплексное умножение можно не так, как вы описали
2) вы понимаете неправильно заявления авторов и в клетках содержится соответствующее АЛУ, выполняющее эту операцию за один внешний такт
3) они действительно придумали что-то новое, что отсылает нас к п.1
произвольная комбинация из этих вариантов прекрасно обьясняет имеющиеся факты.
push the human race forward

dmdimon

и будьте вдумчивее при чтении:
ЦитироватьНо когда дело доходит до команд, 4 бита магическим образом превращаются в 2.
_вы_ привели картинку со структурой команды. Что же вы на нее не посмотрели? в ней _НЕТ_ поля "тип данных". Там вообще нет двухбитовых полей. xx  в двух битах - про другое.


вот это просто песня:
Комплесное число не может быть аргументом для обычной команды умножения, поскольку выполняется не так, как над вещественными числами
не хотите обдасть определения к этому заявлению присовокупить? А то мой компилятор C++ плачет с утра. Может быть, что-то типа "в традиционных процессорах..." надо вначале дописать? И то не факт кстати...
Да, а ведь умножение  uint8 и float  тоже выполняются по разному... Все пропало...
push the human race forward

zyxman

Цитировать2. Два пустопорожних сообщения подряд это уже система, можно делать выводы. Полагаю, никаких "объяснений" по-существу можно не ждать?
Я уже для себя давно сделал системный вывод, что бесплатное высшее образование наносит огромный вред всему человечеству.
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

Татарин

Цитировать2. Два пустопорожних сообщения подряд это уже система, можно делать выводы. Полагаю, никаких "объяснений" по-существу можно не ждать?
Вы не ответили на вопрос. От этого для Вас что-то изменится или Вы сразу ничтоже сумняшись перейдёте к очередному эээ... сомнительному утверждению?

Вопрос простой. Ответ возможен однозначный.

Татарин

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

Татарин

ЦитироватьДа вы что? а мне казалось, что в приличном обществе принято знакомиться с аргументами оппонента перед их опровержением...
Да забейте. Похоже, Вы кормите тут жирного, очень жирного политтролля.

Вадим Семенов

Цитировать_вы_ привели картинку со структурой команды. Что же вы на нее не посмотрели? в ней _НЕТ_ поля "тип данных". Там вообще нет двухбитовых полей. xx  в двух битах - про другое.

Это была лишь гипотеза при отсутствии внятной документации. Но если они об другом, тогда как  их процессор определяет тип данных остается загадкой. Видимо, божьим чудом, не иначе.
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".

Вадим Семенов

Цитировать
Цитироватьвот кстати нормальный документ:
http://paco2010.ipu.ru/pdf/C101.pdf
ЦитироватьБолее того, выполнить комплексное умножение в один такт невозможно если нет конвеерного и при этом еще и векторного АЛУ. Поскольку сначала нужен вектор из 4 умножателей, а потом еще и вектор из двух сумматоров. И при этом объединенные в конвеер, чтобы можно было запихивать новые операнды на каждом такте. Насколько я понимаю из заявлений авторов, ничего векторно-конвеерного там нет, они изобрели собственную конгениальную архитектуру.
Прекрасно! вижу несколько обьяснений:
1) выполнить комплексное умножение можно не так, как вы описали
Это как же? Походу там не только новый процессор изобрели, но и новую математику )

Цитировать2) вы понимаете неправильно заявления авторов и в клетках содержится соответствующее АЛУ, выполняющее эту операцию за один внешний такт
Я допускаю оба варианта. Если вы склоняетесь ко второму, что у них есть векторно-конвеерное АЛУ, выполняющее комплексное умножение за 1 такт, то очевидно, что производительность на комплексных числах достигнута именно за счет его, а гениальные архитектурные изобретения при этом совершенно сбоку. То есть имеем дело с подтасовкой.

Цитировать3) они действительно придумали что-то новое.
Но демонстрировать производительность предпочитают почему-то на старом.
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".