The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"IBM не видит альтернатив Linux"
Отправлено Аноним, 10-Авг-08 19:26 
>>Сравнивать разные архитектуры по тактовым частотам. Кто вас такому научил? O_O
>
>Вот, еще одна затёртая до дыр фраза:) Вот именно, что сравнение уже
>не в пользу IBM. Еще с десяток лет назад IBM'овцы гордились
>тем фактом, что благодаря "прогрессивной" архитектуре имея _МЕНЬШУЮ_ тактовую частоту, PowerPC
>оказывался более производительным. Сейчас же ситуация _ПОЛНОСТЬЮ ОБРАТНАЯ_ - тактовая частота
>Поверов уже под 5ГГц, а у Core 2 Duo редко доходит
>до трёх. Уяснили разницу? И еще сравниваем энергопотребление и цену. И
>помним про историю с Apple ;)
>

А я так и написал - не угнались;D

>>PPC не угнался за Intel. Между ними не такая уж и большая
>>разница. Но у x86 корявая система команд и переключение контекстов задач
>>занимает много времени. В PPC такого нет, но это преимущество проявляется
>>только на микроядре:)
>
>Ха-ха-ха:) Опять я слышу это "корявая система команд", упомянутое вскольз, с опаской
>и без конкретики... Напоминаю предыдущий свой пост:
>

Хоть бы почитали об истории создания первого интеловского проца:D Я его не просто так назвал корявой. Он создавался для терминала. Накладки с заказчиком и понеслось.

>>Если говорить откровенно, то вообще-то 99.9% программистам начхать на процессор, по той причине, что никто из них не пишет на ассемблере и понятия не имеет какая там используется система команд и уж тем более, микроархитектура. Поэтому для них процессор - черный ящик, который исполняет их программы (которые в последнее время все больше пишутся уже даже не на C/C++, а на различных Java/Python/Mono/Tcl - короче говоря очень далеких от конкретной архитектуры команд) и ОС, а испольняет он их _очень_ быстро, именно это на данный момент является критерием качества архитектуры (всё остальное - уже забота компиляторов)
>
>А про преимущества, которые проявляются лишь "на микроядре" вообще порадовало - хорошее
>наверное преимущество с учетом того факта, что самые распространенные ОС на
>данный момент обладают монолитными ядрами (ну или более близкие к монолитным).
>А про время переключения контекста Вы подтвердить сможете, или просто воздух
>сотрясаете? Ссылочка будет?
>
>

Вот именно, что монолитные.

<<<>>>
> почему на x86 переключение контекстов -- такая страшная операция, сильно тяжелее переключения userland/kernel стеков

Переключение контекста между нитями (пользовательскими) требует пересечения границы kernel/user и замены значений регистров, не связанных с управлением защитой памяти. Переключение контекста между задачами - это переключение контекста между нитями + переключение контекста защиты памяти. Последнее требует сброса TLB, а это дорогая операция с дорогими последствиями.
<<<>>>

Можно и поискать. Давно читал об этом.

>>Знаю, не заблуждайтесь поэтому:) http://www.terralab.ru/system/235565/
>>ARM хорош условными инструкциями.
>>Архитектура ARM (Advanced RISC Machines) разработана в 1983-85 годах в компании Acorn
>>Computers. http://itc.ua/node/3723/
>
>Пятёрка Вам за ответ:) Вы знаете как расшифровывается эта абревиатура и её
>краткую историю, но не более.
>P.S. Условные инстукции есть во всех процессорах, и инлелловских в том числе.
>Именно они основную головную боль и создают. Короче говоря, учите матчасть
>и не повторяйте за другими всякие глупости

Посмешили. Сразу видно - статью не прочел:)
Вот оно - инструкции с условным кодом:

Идея условных инструкций проста, как все гениальное: инструкция с условным кодом выполняется, только если в процессоре выставлен бит соответствующего условия. В противном случае она игнорируется. Ближайший аналог в наборе инструкций x86 - инструкции условного перехода, срабатывающие, только если в процессоре был выставлен тот или иной флаг; в архитектуре ARM подобные "условности" применимы к любой инструкции, а флаги можно определять самостоятельно. Идея в том, что в коде типа

    Если (условие) то Выполнить1 иначе Выполнить 2

вместо того, чтобы записать традиционную конструкцию

    1. Вычислить условие

    2. Если условие выполнено, то идти к 5

    3. Выполнить2

    4. Идти к 6

    5. Выполнить1

    6. …

используя условные инструкции, можно записать

    1. Вычислить условие и поставить Флаг1 по результатам вычисления

    2. Выполнить1 при условии выставленного Флаг1

    3. Выполнить2 при условии невыставленного Флаг1

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

Вариант x86 и ARM.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру