Re: [hard] Надёжность, корректность, документированность и процессоры

abrek

Рассмотрим "попсовое" железо, т.е. то, что покупают для "обычных" применений - не для отказоустойчивых серверов, не для встраиваемых систем.
Складывается впечатление, что процессоры - это самая "правильная" часть таких обычных компьютеров.
На них всегда есть подробная, доступная документация, в которой описана система команд процессора, его взаимодействие с внешними устройствами и т.п. В случае обнаружения серьёзных ошибок нередки случаи, когда производитель отзывает дефектные изделия, возвращает их стоимость. Есть сведения, что разработчики широко используют формальные методы верификации корректности. Спецификации часто выпускаются задолго до начала продаж процессоров, чтобы разработчики ПО успели изучить их и подготовились к выпуску версий своих программ для новых процессоров. Процессоры очень редко горят или ломаются, кроме случаев неправильной установки радиатора.
У остальных же компонентов компьютера дела обстоят совсем не так. Сейчас обычное явление - чипсет, видеокарта, сетевая карта совершенно без спецификаций и с кривыми драйверами, причём со временем положение ухудшается. Баги в чипсетах, приводящие к порче данных - довольно частое явление. С видеокартами поставляются драйвера, обманывающие распространённые бенчмарки. Про отзывы глючных моделей я не слышал. Грубо говоря, эти компоненты гораздо более подходят для тех программ, которые обычно исполняются на них.
Создаётся впечатление, что современные процессоры слишком хороши для обычного компьютера.
Почему так происходит?
Стоит ли ждать изменений?

pupsik77

легко объясняется:
1. процессор рассматривает (было используется) один.
2. ошибки в чипсетах с отзывами - были
2.1 аналогично например в видеокартах
3. драйвер под процессор пишет ОС-писатель, ошибок много и исправлений тоже.
возьми отдельную микросхему памяти, не планку, а именно микросхему. практически все что ты написал про процессор к ней применимо. аналогично и, например, к видео чипу.

abrek

> возьми отдельную микросхему памяти, не планку, а именно микросхему. практически все что ты написал про процессор к ней
> применимо.
наверное
против памяти я ничего не имею, с этим тоже всё хорошо, просто это не такой сложный и интересный компонент
> аналогично и, например, к видео чипу
уже нет
если нет спецификаций, то мы уже не знаем, что собственно делает эта микросхема
говорить про баги в ней в такой ситуации бессмысленно
можно только предполагать, какие функции реализованны программно, какие аппаратно
можно только предполагать, какие баги относятся к железу, какие к драйверу, какие к ОС (зачастую единственной, для которой написан драйвер)
с чипсетами - почти так же плохо (Intel и AMD нормальные чипсеты пока делают)
по поводу отзывов - да, наверное я недостаточно это изучил

otets-mihail

<flood>
> Надёжность, корректность, документированность
выбирайте любые два пункта
</flood>

abrek

Фигню написал.
По крайней мере у процессоров от Intel и AMD всё хорошо со всеми этими пунктами, да ещё и с производительностью.

otets-mihail

у меня в посте не было ничего про процессоры :P

pupsik77

> аналогично и, например, к видео чипу
уже нет
если нет спецификаций, то мы уже не знаем, что собственно делает эта микросхема

еще разок, а у тебя есть спецификация на проц?
ну да сейчас они открыли, а вот некоторое время назад, когда появился сокет-370 и слот-1. они были закрыты. и ничего ты не мог специфицировать и знать.
с видео-чипами примерно так же, ты могешь купить лицензию и спецификацию и сам писать драйвера и пр.
можно только предполагать, какие баги относятся к железу, какие к драйверу, какие к ОС (зачастую единственной, для которой написан драйвер)

просто процессор оказался такой микросхемой под которую драйвера пишут многие. почему под ОС-мега-суперОСЬ нет драйвера под мегадивайс - потому что автор оси не написал драйвер. ведь интел не пише свои ОС. он просто выдает проц ИЗВЕСТНОЙ архитектуры, ОЧЕНЬ неудачной архитектуры, но очень распространенной.
учитывая, что драйвера люди пишут и под юниксы и под все подряд - спецификацию найти можно.
так считаю аналогию процессор - видеочип справедливой.
с чипсетами - почти так же плохо (Intel и AMD нормальные чипсеты пока делают)

как раз наоборот. все так же ХОРОШО.
все делают НОРМАЛЬНЫЕ чипсеты. ты знаешь про обновления микрокода к процессорам? а для тебя доступны обновления биоса.
есть еще один момент. процессор делают по спецификации, и матери тоже (почти) а вот то что та китайская видуха которую ты воткнул сделана удовлетворяя всем правилам - не факт, так появляются несовместимость метери и видеокарты. притом что чипы и на матери и на видухе установлены хорошоизвествные и прекрасно работающие.

abrek

> еще разок, а у тебя есть спецификация на проц?
> ну да сейчас они открыли, а вот некоторое время назад, когда появился сокет-370 и слот-1. они были закрыты. и ничего ты
> не мог специфицировать и знать.
система команд всегда открытой была, со всеми расширениями, если не ошибаюсь
про какие спецификации ты говоришь?
> с видео-чипами примерно так же, ты могешь купить лицензию и спецификацию и сам писать драйвера и пр.
кто-нибудь уже купил лицензию на GeForce? На RV300? Где альтернативные драйвера?
Да, теоретически это возможно, конечно, вместе с большим куском nVidia/ATI соотв.
> учитывая, что драйвера люди пишут и под юниксы и под все подряд - спецификацию найти можно.
про reverse engineering слышал?
надёжность таких драйверов - соответствующая.
если такие драйвера и оказываются иногда не хуже "фирменных", то это лишь характеризует "таланты" разработчиков последних
> он просто выдает проц ИЗВЕСТНОЙ архитектуры, ОЧЕНЬ неудачной архитектуры, но очень распространенной.
неудачность - не будем пока обсуждать
да, она известная, и когда Intel/AMD её меняют, они документируют изменения
а могли бы например ограничиться секретным договором с Mictosoft, чтобы ntkernel портировать, и компилятором для отдельных кусков прикладных программ
> все делают НОРМАЛЬНЫЕ чипсеты. ты знаешь про обновления микрокода к процессорам? а для тебя доступны
> обновления биоса.
ещё бывают обновления виндовых драйверов без публикации errata, VIA этим особенно знаменита
у nVidia не только видеокарты без спецификаций (тут отмазка: в них содержится чужая интеллектуальная собственность но даже поганая сетевуха, встроенная в nForce (она-то уж ничем не выделяется, тут никаких отмазок нет)
У SiS последние чипсеты также без спецификаций
часто также бывает, что в тех, которые есть, по утверждениям разработчиков драйверов, ошибок столько, что они малополезны

pupsik77

система команд всегда открытой была, со всеми расширениями, если не ошибаюсь
про какие спецификации ты говоришь?

про аппаратную. может не совсем уместно, но без передачи своих комманд в процеесор без аппаратной спецификации, в общем случае написания драйверов и пр. обойтись сложно.
кто-нибудь уже купил лицензию на GeForce? На RV300? Где альтернативные драйвера?
Да, теоретически это возможно, конечно, вместе с большим куском nVidia/ATI соотв.

вот вам преимущества опенсорса (имеется в виду х86)
про reverse engineering слышал?

я не спорю, но возможность есть. и производитель чипа не причем. он сделал ХОРОШИЙ чип, потом его немного испортили драйверами, потом нашли ошибки в чипе и исправили драйвером. ЧИП - ХОРОШИЙ.
ещё бывают обновления виндовых драйверов без публикации errata, VIA этим особенно знаменита

опа! сам ушел от темы. это обновление ДРАЙВЕРА. чип остался тем же. выходят же обновления винды и директикса, которые что-то там улучшают...
у nVidia не только видеокарты без спецификаций (тут отмазка: в них содержится чужая интеллектуальная собственность но даже поганая сетевуха, встроенная в nForce (она-то уж ничем не выделяется, тут никаких отмазок нет)

это немного не так. сетевуха встроена в чипсет. если используется внешний чип типа RTL8100 то пажалуста бери на него спек. и пиши дривер. а вот весь чипсет - извините закрыто.
Еще один момент: производителей процессоров 2(АМД, Интел а чипсетов 6(АМД, Интел, ВИА, СИС, Али, Нвидиа). чипсет не дешевле проца, конуренцция выше. и система комманд нужна ТОЛЬКО драйверописателям, то есть очень ограничееному кол-ву людей. а система комманд проца нужна всем программистам (хорошим, которые знают что такое оптимизация) и от открытости системы комманд будет зависить распространненгость программ. а от открытости системы комманд чипсета или даже видухи будт зависеть их распространенность среди фанатов и эксперимнтаторов.

Chupa

> а система комманд проца нужна всем программистам (хорошим, которые знают что такое оптимизация)
> и от открытости системы комманд будет зависить распространненгость программ
Пример: у интела есть свой компилятор. Что мешает закрыть часть системы команд для внутреннего использования с целью продвижения компилятора?

pupsik77

Пример: у интела есть свой компилятор. Что мешает закрыть часть системы команд для внутреннего использования с целью продвижения компилятора?

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

abrek

> про аппаратную. может не совсем уместно, но без передачи своих комманд в процеесор без аппаратной спецификации, в
> общем случае написания драйверов и пр. обойтись сложно.
драйверов чего? процессора?
насколько я знаю, для x86 всё необходимое разработчикам всегда было
когда было что-то закрыто, можно ссылки?
> я не спорю, но возможность есть.
практически нет, не дают и всё
> чипа не причем. он сделал ХОРОШИЙ чип, потом его немного испортили драйверами, потом нашли ошибки в чипе и
> исправили драйвером. ЧИП - ХОРОШИЙ.
при отсутствии спецификаций это утверждение бессмысленно, можно рассматривать только в совокупности - железо, драйвер, ОС
если спецификации частичны или с большим количеством ошибок, то можно рассматривать лишь ту часть возможностей железа, о которой можно уверенно судить по имеющейся информации
> опа! сам ушел от темы. это обновление ДРАЙВЕРА. чип остался тем же. выходят же обновления винды и директикса,
> которые что-то там улучшают...
в данном случае это одна система - чип+драйвера, их глюки - глюки системы
> и система комманд нужна ТОЛЬКО драйверописателям, то есть очень ограничееному кол-ву людей.
эмпирический факт: для открытого железа хорошие драйвера появляются, для закрытoго - как правило, нет
косвенно, это нужно очень многим людям - это продлевает срок службы компьютеров, даёт возможность использовать их в качестве серверов, во встраиваемых системах (например, как часть экспериментальной установки какой-нибудь)
а про глюки - реально, попробуй повыяснять причины различных глюков с компами, хотя бы только "десктопами": сколько глюков из-за процессора и его "драйверов", сколько из-за чипсета и его драйверов, сколько из-за видеокарты и её драйверов
сложность этих компонентов вполне сравнима, но что-то мне подсказывает, что процессоры намного меньше проблем вызывают
> а система комманд проца нужна всем программистам (хорошим, которые знают что такое оптимизация)
а ты думаешь, разработчики игр и 3D-приложений отказались бы поиметь доступ к GPU на низком уровне?
а в процессорах вполне можно было бы закрыть привилегированные команды, которые нужны только в ядре ОС
выпустить "попсовый" процессор только для WIndows, а на "настоящие" поднять цены
следует ли ждать этого?

Chupa

>> Пример: у интела есть свой компилятор. Что мешает закрыть часть системы
>> команд для внутреннего использования с целью продвижения компилятора?
> уже не получится.
> не будет распространения.
> надо ведь чтобы все продавалось и быстро....
> а х86 открыта, зачем брать дорогой изврат, если есть дешево и просто?
Что мешает сделать такое с x86 или с любой другой архитектурой после того, как она станет достаточно популярной?

pupsik77

на данный момент все твои утвержения отражены в дух ключевых моментах:
эмпирический факт: для открытого железа хорошие драйвера появляются, для закрытoго - как правило, нет
косвенно, это нужно очень многим людям - это продлевает срок службы компьютеров, даёт возможность использовать их в качестве серверов, во встраиваемых системах (например, как часть экспериментальной установки какой-нибудь)

1. опенсорс рулит.
при отсутствии спецификаций это утверждение бессмысленно, можно рассматривать только в совокупности - железо, драйвер, ОС
если спецификации частичны или с большим количеством ошибок, то можно рассматривать лишь ту часть возможностей железа, о которой можно уверенно судить по имеющейся информации

2. ты не отличаешь железку от системы.
ответы просты:
1. маркетинг. открытость не принесет денег. закрыть процы на данном этапе сложно, но исключать этого в будущем нельзя.
2. проц - ОДИН КОМПОНЕНТ, видеокарта - совокупность нескольких, РАЗНЫХ, сделанных хер знает кем (кроме чипа хер знает почему, хер знает как. Система всегда работает менее устойчиво чем каждый из компонентов по отдельности.

abrek

> на данный момент все твои утвержения отражены в дух ключевых моментах:
да, примерно так
> закрыть процы на данном этапе сложно
почему же сложно? я вроде реальный способ привёл
такое закрытие для попсовых компов мне самым логичным шагом кажется
> видеокарта - совокупность нескольких, РАЗНЫХ, сделанных хер знает кем (кроме чипа хер знает почему, хер знает как.
мне кажется, это может лишь на физические харектеристики влиять и на быстродействие
для программирования хватит только информации о чипе, поэтому глюки драйверов этим рассуждением никак не оправдать
> ты не отличаешь железку от системы
я называю системой (плохое слово, компонент получше) то, что можно использовать (для тех применений, про которые мы говорим тут) только целиком
недокументированную железку нельзя использовать без фирменного драйвера, поэтому отдельно от него использовать не получится (для некоторых других применений - получится, брелок сделать например )

pupsik77

> закрыть процы на данном этапе сложно
почему же сложно? я вроде реальный способ привёл
такое закрытие для попсовых компов мне самым логичным шагом кажется

блин, Володь, накаркаешь
я же говорю, нельзя исключать это в ближайшем будщем...
Вот, например, микрософт вынашивает планы сделать, так чтобы Виндовз не покупался, а брался в аренду на какой-то срок.
тем более, продажи резко сократятся, а интел итак не может удовлетворить спрос. строят новые фабрики... так что это еще впереди но довольно далеко впереди...
> ты не отличаешь железку от системы
я называю системой (плохое слово, компонент получше) то, что можно использовать (для тех применений, про которые мы говорим тут) только целиком
недокументированную железку нельзя использовать без фирменного драйвера

совокупность нескольких железок плюс програмное обеспечение, на несколько порядков превосходит по сложности процессор. например в видеокарте есть контроллер памяти, а в проце он появился только недавно: в атлон64.
так что нельзя сравнивать кирпич и дом с охраной.
при том что пьяный охранник (кривой драйвер) не узнал тебя и непустил домой. а кирпич, как был твердым так и остался.
Оставить комментарий
Имя или ник:
Комментарий: