ZarathustrA писал(а):
По-поводу страничной памяти суперскалярности, кэширования и т.д. Если я правильно понимаю, то все эти навороты не делают i686 принципиально непригодным для ЖРВ. Однако, конечно, усложнение архитектуры ЦПУ приводит к усложнению расчета таймингов. Но если я правильно понимаю, тот же Intel используя свою внутреннюю инфраструктуру сможет рассчитать все тайминги без особых проблем.
В теории Интел, конечно, может, на практике -- фиг знает (возможно, просто слишком большое число вариантов надо рассматривать, чтобы точно определить наихудшие времена). Однако, если используется виртуальная память (т.е. не просто страничный механизм включен, а используется выгрузка на диск), то ЖРВ возможно лишь для кода и данных, которые всегда находятся в физической памяти, поскольку время подгрузки с диска, даже если оно само по себе невелико, абсолютно непредсказуемо (хотя бы из-за того, что диск может подсбаивать и в итоге считать нужный блок с ннадцатой попытки).
Цитата:
a) Поскольку архитектуре х86 уже несколько десятков лет, она накопила известное количество говна благодаря закону сохранения обратной совместимости. Вечно так продолжаться не сможет, и рано или поздно они или сами у себя проведут ревизию архитектуры, либо их подвинет другая компания с более молодой архитектурой. То же касается в целом и архитектуры IBM PC. Та же судьба в конечном итоге ждет и ARM и любую другую долгоиграющую архитектуру.
Ну, АРМ не шибко моложе, особенно если сравнивать с ИА-32, а не с 8086, и тоже не без говна. Насчёт судьбы тоже спорить трудно. Есть, правда, один важный момент: качество первоначальной архитектуры и её дальнейшего расширения. У Интел архитектура была изначально ужасной, ну а в дальнейшем становилась всё хуже и хуже (хотя с точки зрения программиста отчасти было и наоборот; например, были смягчены ограничения на использование регистров -- но ценой резкого усложнения кодирования команд; тут правильней было бы полностью отказаться от совместимости с 16-разрядным кодом в плане кодирования и делать полностью новую кодировку -- так, например, поступила DEC при разработке 32-разрядной VAX-11, которая могла выполнять и 16-разрядный код PDP-11). У АРМ архитектура была существенно лучше, а её недостатки связаны в первую очередь с тем, что изначально это были РИСК-процессоры. Сама концепция РИСК с треском провалилась (как показала эволюция процессоров, в итоге ЦИСК обгоняет любой РИСК на любых задачах, кроме крайне специализированных "числодробительных", ну а на последних классический РИСК будет вдребезги разбит графическим процессором), но тяжкие последствия ощущаются и будут ощущаться дальше, поскольку просто так взять и ликвидировать их невозможно, требуется кардинально переделывать систему команд.
Цитата:
b) И ARM и x86 заняли свои ниши рынка. Плюсы одной - это минусы другой. Глупо запиливать х86 в мобильник ибо батарея сядет за 2 часа, так же как и глупо пихать ARM в рабочую станцию ибо производительность будет более чем бедная.
Угу, но у АРМа производительность постоянно растёт, а у ИА-32 фактически дошла до предела (наращивание числа ядер не в счёт; в конце концов, на той же площади кристалла АРМовских ядер поместится прилично больше). Так что на ПК позиции ИА-32 пока незыблемы не из-за производительности, а из-за огромного количества готового ПО, чего на АРМе нет.