<<<предыдущий список следующий>>>

Это - копия документа, находившегося на http://dz.ru. Авторские права, если не указано иначе, принадлежат Дмитрию Завалишину и/или Евгении Завалишиной. Все изменения, внесенные мной, находятся в этой рамочке.Пожалуйста, прочитайте disclaimer.


09 Июня

Почитав гостевую книгу и непонятки в ней, я решил, что пора вернуться к рассказу о будущем писюков, USB, 1394, PCI и т.п.

Итак, жил-был на свете IBM PC. Была у него ISA. Всем хороша. Только вот тормозна, адресная шина сделана через задницу, прямой доступ работает медленнее кривого, нет автоконфигурации... короче, хорошая шина. Дешёвая. Сознание этого факта заставило IBM думать. Он и подумал. Придумал Microchannel. Отличную шину. Быструю, удобную, самонастраивающуюся... только вот заломил дорого. Тогда толпа собралась и придумала EISA. Гениальную шину. На половину глубины разъема она - как ISA один к одному, а если вглыбь пойти, то там второй слой контактов, и это уже EISA. То есть любую карту (EISA или ISA) - в любой слот. Хороша случилась шина, но как-то не очень пошла. Только что в серверах всяких... Зато оттянула одеяло от IBM-а, и линию развития писюков IBM определять перестал.

Настал бардак. Развитие замедлилось. А это ударило по карману Интелу. Интел призадумался, и решил, что ежли писюками никто не занимается, значит, пора ему, Интелу браться за руль.

Благо взяться за него оказалось не слишком сложно. Интел в некоторый момент почти монополизировал рынок материнских плат - ему-то это легко, он-то заранее может разрабатывать чипсеты под новые процессора. Целью, видимо, было не столько получить доход, сколько показать другим производителям матерей, что есть два пути - или делать матери как Интел хочет, или Интел сделает их сам, так, как он хочет. Кто в доме хозяин было продемонстрировано мягко, но внушительно.

Затем (точнее, одновременно с тем) Интел с Микрософтом разработали план развития платформы PC. План этот разрабатывался с тем, чтобы максимально ускорить внедрение самых современных технологий в писюки, ибо обоим компаниям это выгодно.

Что же этот план предусматривал? Ну, прежде всего, кажется, разработка этого плана явилась чуть ли не первым случаем, когда на писюк посмотрели в целом, как на объект, требующий приведения в порядок.

И до этого было известно, что сделан он, по большей части, из дерьма, но впервые позиция утверждающих это стала конструктивной, а возможности - достаточными, чтобы конструктив довести до практической реализации. Как говорят инженеры Интела, "писи - это как отцовский гараж, в который всю жизнь тащили весь хлам, но никто не догадался прибраться в нём и выкинуть ненужное."

Ненужного в писюке, пожалуй, более половины. Вторая половина - нужное, но корявое. :-)

Вот, к примеру, порт клавиатуры. Он ничем не лучше простого последовательного порта и вполне может быть им заменён. Однако у клавиатуры есть собственный контроллер, замысловатый интерфейс и личная дырка в корпусе. Или мышь PS/2. Глупее не придумаешь - мало, что мышь может втыкаться в ком-порт, она в него всегда и втыкалась, и зачем этот порт - совсем неясно. LPT неудобен физически (провод толстый и плохо гнётся), омерзительно программируется и разделение его сделано коряво, так как никто не замышлял его разделять между разными устройствами. Флоппи-дисковод - анахронизм на анахронизме. Он подключается чуть ли не аналоговым способом, и хотя для его подсоединения вполне подходит IDE, он вешается на специальный порт, сохранившийся со времён писюков на том самом 8080. А сам IDE? Кто вообще создал это порождение гения человеческого, на которое более двух устройств на шлейф не повесишь, а, впрочем, и двум не обрадуешься - будут друг другу жить мешать. Можно продолжать и далее, но идея ясна. Почти все интерфейсы современного компьютера разработаны с частными целями в голове и по-жлобски, бессистемно. Проблемы от этого в том, что компьютер дорог в разработке и производстве, и неудобен в поддержке, и программировать под него мерзко...

Была сделана попытка избавиться от хлама систематизированно. Принцип прост. Сначала вводим в строй решение, которое заменяет имеющиеся варианты, потом, когда альтернатива реально заработала, выкидываем старьё.

План состоит, если брать крупно, из трёх шагов.

Первый шаг - вводим PCI, выкидываем VLBUS, водим AGP, выкидываем ISA. Именно в таком странном на первый взгляд порядке. Дело в том, что изначально PCI встал именно как заменитель VLBUS. В него втыкали видеокарту, а кто покруче - SCSI-контроллер. Потом, по мере удешевления PCI-ного железа и более простые карты стали выходить в PCI-ном варианте, а видео потребовало ещё большей производительности. Произошла миграция - обычные карты переехали в PCI, а видео встало в AGP. Теперь настала заключительная стадия - вытеснение ISA. Сначала в машине было много ISA-слотов и два-три PCI. Потом - поровну. Теперь - больше PCI. В следующем году ISA станет историей.

Второй шаг - вводим USB, и когда она наросла - вышвыриваем потихоньку COM-порты, принтерный порт, клавиатурный, мышиный, джойстиковый, аналоговый звуковой, и внешний SCSI для медленных устройств. Ну и все подобные спец-порты. В настоящий момент достигнута ситуация, когда USB есть во всех новых машинах. Далее накачивается выпуск USB-устройств. Когда их станет много, начнётся спад в производстве устройств с не-USB подключением, как сейчас наблюдается спад производства ISA-шных карт. После этого порты, которые заменила USB, будут исключены из компьютера.

Третий шаг - идёт 1394. С ним не всё ясно. Кажется, Интел уже не надеется на 1394, а хочет выкатить скоростной USB. В любом случае цель - сделать внешний интерфейс для скоростных устройств - винчестеров, видеокамер и т.п. В остальном - всё как с USB, но на пять лет позже. :-) То есть пока ещё 1394 даже не стал стандартной частью компьютера. Правда, стал стандартом среди цифровых видеокамер. Поможет ли это - они сами ещё не слишком распространены...

Общая цель - сделать PC совсем иным. У него не должно вообще быть слотов - ни ISA, ни PCI. И ничего внутри, что должно быть нужно ставить или снимать. Всё только через USB/1394. Планировалось, что будет Device Bay - гнездо для установки расширений, снабжённое сразу и USB, и 1394. Винчестер покупаешь, суёшь, не выключая машины, в Device Bay, и используешь без перезагрузки ОС. Никаких настроек прерываний, никаких действий пользователя, способных нарушить работу машины.

Интел даже выкатил концепт-PC по этому поводу - см. на фото справа. Столь нетривиальную форму они избрали специально - чтобы было видно, что форм-фактор более никого не волнует - слотов-то нет!

Вот. Таков генеральный план нашего с вами будущего, господа. :-)

Реклама

BelineaBelinea - это новые мониторы из Европы. На сегодня - лидер по продажам в Европе, самая высокотехнологичная и выгодная марка. Модели подбираются на любой вкус, от домашних до профессиональных. Теперь Belinea можно приобрести и в Москве, торопитесь на компьютерный рынок!

Ту асм ор нот ту асм.

   
From: Mikel Lavrentyev
Subject: об ассемблере

Hello dz,

"На асме хорошо писать под PIC-овские однокристалльные ЭВМ. Когда на таракане 512 слов кода и 25 байт данных, даже Си несколько тяжеловесен. :-)"

Если интересно, могу сказать, насколько тяжеловесен - из практики. Один из сотрудников в конторе, имея некоторое время для освоения C для микроконтроллера, переписал один из своих простых проектов на C. При наличии относительной свободы в оперативной и программной памяти. 128 байт оперативки - это обычно много до состояния "по уши" :). Исходный overhead по производительности и занимаемой программной памяти составил около 40-50%. Заглянув в ассемблерный код (ужаснувшись) и оптимизировав C под используемый компилятор - overhead составил 10-15%, причем практически непредсказуемых. В каком-нибудь цикле прочитал лишний регистр - и компилятор вставляет кучу бесполезного кода по копированию.... Его пример избавил меня от избыточного оптимизма по поводу использования Си.

В общем, конкретно для микроконтроллеров (Atmel, Microchip) - ни один из своих проектов я бы на язык высокого уровня перекладывать не стал. Либо это будет нереально по техническим условиям (когда рассчитывается время выполнения _каждой_ команды), либо проект просто не влезет в используемый кристалл (а другой, более толстый - стоит дороже).

Best regards, Mikel
mailto:mikel@geolink.ru

Ну, как всегда - всё определяется техническим заданием и ценой решения. Когда качество компилятора невысоко, цена кристалла составляет существенную часть цены изделия, а труд стоит недорого - ассемблер явно выигрывает. Ведь объём кода не может быть велик, соответственно даже при использовании слабых инструментов затраты на кодирование и сопровождение не могут быть велики.

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

Тем не менее, для микроконтроллеров ассемблер - ведущий язык. Он разработан с учётом лёгкости ручного программирования (на PIC-овском просто приятно писать, AVR-овский реально не пробовал, но выглядит тоже очень неплохо) и по контекстной сложности сравним с Си. Контекстной сложностью я называю размер вектора состояния системы, который нужно учитывать при программировании сверх того, что надо знать о состоянии самой программы. Конечно, ассемблер всегда грузит голову больше Си - как минимум, нужно помнить, что лежит в аккумуляторе и регистре флагов. Но в том же PIC-е - не сильно. Хоть его и называют RISC-ом (35 команд), это - RISC почти игрушечный. Как 8080 - игрушечный CISC.

Для традиционных процессоров же всё наоборот - как правило языки высокого и очень высокого уровня - выгоднее, но случаются потребности во вставках на ассемблере.

С Мерседом же, вероятно, наступает этап, когда вставки на ассемблере столь дороги в производстве и дают такую маленькую пользу, что практика эта вымрет. Повторюсь, вероятно. Но очень вероятно.

Реклама

Дело!Приходилось ли вам автоматизировать делопроизводство? Мы начали заниматься этим еще в ЦК КПСС. Сегодня Электронные Офисные Системы являются лидером на этом рынке. Наша система ДЕЛО-96 работает на тысячах рабочих мест в десятках крупнейших организаций России, Украины и Казахстана.

На нашем веб-сайте вы найдёте много интересного о российском делопроизводстве и его автоматизации (в том числе и список наших конкурентов:), сможете поиграть с Интернет-версией ДЕЛО-96 и сгрузить демонстрационную версию системы.

Я получил информацию о том, что в России запрещено использование цветных принтеров и ксероксов с разрешением выше 1200 dpi. Не знает ли кто из читателей, так ли это?

В номере за 7-е число поправлена ссылка на страшилки Тимура Цыганко :). Если кто хотел зайти, но не смог - просим.

В прописях открылся раздел, который, мне думается, будет вам довольно интересен. Это - новости от сайта Infused Bytes, попасть на которые можно с заглавной страницы - строка "IB/News" в Разделах. Просим отведать.