vak: (Улыбка)
Serge Vakulenko ([personal profile] vak) wrote2013-01-28 12:04 pm

О чем говорят инженеры

Выдержки из дискуссии:
Chris Rowen, CTO at Tensilica;
Andrew Caples, senior product manager at Mentor Graphics;
Drew Wingard, CTO at Sonics;
Larry Hudepohl, vice president of hardware engineering at MIPS;
Barry Pangrle, senior power methodology engineer at Nvidia.

"There are examples of chip companies that were started to do some very clever things, but they never got off the ground because no one could figure out how to develop the software. It’s easy to build embarrassingly parallel hardware that is programmable, but building a software environment that people are willing to use is a different matter."

Как бы вдогонку к обсуждению Мультиклета.

[identity profile] archaicos.livejournal.com 2013-01-28 09:31 pm (UTC)(link)
Медленность не в задачах, а в том, как было сделано аппаратное переключение между ними. Не всегда нужно сохранять и восстанавливать так много контекста и со всеми проверками, не всегда нужно перезагружать корень таблицы страниц, сбрасывая при этом весь TLB, просто читать TSS из памяти - дополнительный тормоз тогда, как, в сегментных регистрах кода ядра обычно сидят константы - чего их из TSS читать-то? Можно так загрузить. Короче, сразу сделать быстро не вышло, а потом уже поздно было - т.к. уже обошлись без и вряд ли бы переписывали, если бы сделали примерно так же быстро - уже ж работает.
(deleted comment)

[identity profile] archaicos.livejournal.com 2013-01-28 09:49 pm (UTC)(link)
Всех подробностей не знаю/помню, но корень сбрасывать точно не надо, т.к. с перезагрузкой CR3 на 80386 уйдут и записи в TLB для кода и данных ядра, которые должны быть адресуемы в контекстах всех процессов и ниток (иначе как вызывать ф-ции ядра и данными с ним обмениваться?). Потом в 80486 Pentium специально добавили бит Global в элементы таблиц страниц чтобы TLB для таких общих страниц не сбрасывались.
Edited 2013-01-28 21:50 (UTC)
(deleted comment)

[identity profile] archaicos.livejournal.com 2013-01-28 10:07 pm (UTC)(link)
В какой-то момент придётся, да. Если не это, то ещё есть аргумент гибкости кода без TSS - одной специфичной для железа деталькой меньше (комментарий в старом коде Linux об этом говорит).