ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
289498 Топик полностью
fk0, легенда (08.12.2011 11:23, просмотров: 111) ответил Evgeny_CD на Полазил тут по сайту CoreMark - интересные вещи узрел.
Дурное сравнение, особенно с 386 который CISC и в одну инструкцию хрен знает чего делает, в отличии от. Кто программировал на ассемблере понимают, что 386 сильно приятнее, чем AVR или PIC (всего 30 инструкций, просто изучить! но любая операция выливается в десяток команд...) И не надо забывать, что пеньтиумы весь тот же набор инструкций поддерживают и реально делают за один такт в два потока (ещё с Pentium-1). Понятно, что внутри сейчас динамическая трансляция в собственный код, но это отдельная история. По сути VLIW, но компилятор вообще-то это бы делал лучше, чё с армами сравнивать... На счёт конвейера (см. ниже) не согласен. Дело не в конвейере. Дело в параллельном исполнении. Думаю, здесь большие возможности для роста в ширину, но пока непонятно как это кодировать (ширина команды совершенно неприемлемая), либо как на лету распараллеливать тот же поток CISC команд. Потом, программы плохо распараллеливаются (тот же пример вычисления ряда фибоначи -- вычисления нужны строго последовательные и это фундаментальный тормоз. Нужен какой-то элемент динамического программирования, чтоб уметь вычислять значения от ещё не вычисленных переменных (например 1001 член ряда от 1000-го) и в таком виде как-то хранить их в регистрах. Чтоб потом вычислить первый элемент, например, и вся последующая "недовычисленная" тысяча в тысяче параллельных потоков, например, автоматически бы вычислилась за этот же такт. Регистр должен стать не данными, а функцией со своими АЛУ для её вычисления и иметь возможность быть связанным со своими переменными. Зря вообще функциональные языки похерили в пользу имбецилов джава-программирования... За фразу "программа -- последовательность инструкций" -- людей сжигать нужно (C) Это смертельный тормоз.
[ZX]