процессорное
Dec. 22nd, 2013 09:05 amМожет, баян, но я для себя ещё не формулировал.
Общеизвестная критика Intel с позиции "этот ваш x86 полный отстой, надо было делать как в ARM/MIPS/etc., конверсия во внутренний RISC не нужна, команды разбирать слишком дорого", которой полны соответствующие форумы - обычно заканчивается тем, что оппонент или стихает, или переходит в режим "от обоснуя слышу" и на этом обсуждение заканчивается якобы победой критика.
Но я ни разу не видел возражения на это, что RISC, VLIW, etc. организации банально нерасширяемы. Да, иногда цена расширения велика - начиная от тотального OOO+Tomasulo во внутренней логике (дорогая таки штука) до префиксов на каждую операцию (в x86-64 коде, ~38% всех команд с префиксом REX, и это я не считал те, у которых он подразумевается из-за единственности сути), но она подъёмна и, главное, перспективна в плане сохранения совместимости с существующими готовыми продуктами. X86-32 пережило даже внедрение AVX:) и умирать не собирается.
Отсюда обратный вывод - что x86 живо только пока идёт бурное развитие (по закону Мура). Как только последний остановится, она потеряет преимущество и лет за 10 уйдёт в ноль; но пока рост есть - она непобедима. Закон Чёрной королевы в действии.
Но странно другое. Практически каждое архитектурное решение Intel это в лучшем случае оптимальность на один шаг вперёд, уже через два шага побочные эффекты сиюминутной выгоды становятся явными недостатками. Результат выглядит как корабль, слой ракушек на котором в несколько раз толще ширины корабля. Зачем? Я не верю, что у них так плохо с мозгами.
Общеизвестная критика Intel с позиции "этот ваш x86 полный отстой, надо было делать как в ARM/MIPS/etc., конверсия во внутренний RISC не нужна, команды разбирать слишком дорого", которой полны соответствующие форумы - обычно заканчивается тем, что оппонент или стихает, или переходит в режим "от обоснуя слышу" и на этом обсуждение заканчивается якобы победой критика.
Но я ни разу не видел возражения на это, что RISC, VLIW, etc. организации банально нерасширяемы. Да, иногда цена расширения велика - начиная от тотального OOO+Tomasulo во внутренней логике (дорогая таки штука) до префиксов на каждую операцию (в x86-64 коде, ~38% всех команд с префиксом REX, и это я не считал те, у которых он подразумевается из-за единственности сути), но она подъёмна и, главное, перспективна в плане сохранения совместимости с существующими готовыми продуктами. X86-32 пережило даже внедрение AVX:) и умирать не собирается.
Отсюда обратный вывод - что x86 живо только пока идёт бурное развитие (по закону Мура). Как только последний остановится, она потеряет преимущество и лет за 10 уйдёт в ноль; но пока рост есть - она непобедима. Закон Чёрной королевы в действии.
Но странно другое. Практически каждое архитектурное решение Intel это в лучшем случае оптимальность на один шаг вперёд, уже через два шага побочные эффекты сиюминутной выгоды становятся явными недостатками. Результат выглядит как корабль, слой ракушек на котором в несколько раз толще ширины корабля. Зачем? Я не верю, что у них так плохо с мозгами.
no subject
Date: 2013-12-24 09:25 pm (UTC)Вполне реально, но, возможно, не с теми характеристиками. Но конкуренты брали свои ниши, как сейчас видится, за счёт архитектурно перекошенных решений. Например, кэш в 4-8 раз больше того, что могли себе позволить даже на продвинутых x86 - уже достаточное средство для того, чтобы БД летали (в сравнении). Это как сейчас топовый Corei7 против целерона той же базовой архитектуры. Но и стоило это так, что обычные люди и фирмы с оптимизацией каждого цента не покупали.
А x86 таки всегда в истории этого периода держал баланс между фичами, не перекашиваясь в одну сторону, если совсем уж явно не просили, и так и прошёл по принципу "Сейчас мы ме-е-едленно доедим траву, ме-е-едленно спустимся с горы и отымеем всё стадо".
(Мне в связи с этим вспоминается история из ранней жизни lucky.net ещё времён тотального UUCP - как uucico из Taylor UUCP начал при расширении списка пользователей (систем, знакомых узлу) всё больше тупить до тех пор, пока не начали отваливаться по таймауту. Стали читать код - мамочки родные... оно сначала один раз читает конфиг "в общем", потом второй - запоминая смещения секций каждой системы, затем, получая "Shere=$name" на входе, парсит секцию системы ещё пару раз. Срочно купили Pentium 75 вместо 486/50... время среднего старта сократилось с 50 секунд до 5. Вот что кэш животворящий делает.)
Alpha, если почитать сейчас, ужасно кривая архитектура, кривее x86. То, что она не выжила, закономерно. И все эти HPPA - туда же...