Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Рабы закона Мура

Страницы: 1 :: 2 :: 3 :: следующая

 

Зако́н Му́ра — эмпирическое наблюдение, сделанное в 1965 году (через шесть лет после изобретения интегральной схемы), в процессе подготовки выступления Гордоном Муром (одним из основателей Intel). Он высказал предположение, что число транзисторов на кристалле будет удваиваться каждые 24 месяца.

ВикипедиЯ

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

Прошлое

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

Начнем с БЭСМ-6. Эта машина проектировалась в ИТМ и ВТ при тесном взаимодействии инженеров-электронщиков и программистов и поначалу была идеальной платформой для требовавшихся в то время операционных систем. Обеспечивался простой и понятный механизм обработки внешних и внутренних прерываний, поддерживался привилегированный режим работы процессора с небольшим числом специальных команд, имелась аппаратная поддержка механизма виртуальной памяти и т.д. Первая операционная система для БЭСМ-6 (Д-68) действительно продолжала аппаратуру и (похоже) идеально с ней гармонировала.

Но у БЭСМ имелись два серьезных ограничения, которые не были ограничениями в конце 1950-х гг., но стали таковыми через 10 лет. Во-первых, длина адресной части команды составляла всего 15 разрядов и, тем самым, предельный размер виртуального адресного пространства составлял 215 6-байтовых машинных слов. При этом страницы виртуальной памяти были достаточно длинными – 1024 слова. Поначалу объем физической оперативной памяти в БЭСМ-6 также ограничивался объемом в 32 страницы, но со временем был расширен до 256 страниц. Малая виртуальная память стала ограничивать пользователей машины.

Во-вторых, к началу 1970-х гг. в связи с появлением проекта EC ЭВМ в странах «социалистического лагеря» стали массовым образом производиться внешние устройства, снабжаемые контроллерами и подключаемые к процессору на основе аналогов аппаратуры канала IBM. Эти внешние устройства (громоздкие и ненадежные) были все-таки более прогрессивными, чем доморощенные внешние устройства БЭСМ-6, и потребители желали ими пользоваться.

Первое ограничение БЭСМ-6 пытались преодолеть в ОС ИПМ. В этой операционной системе была сделана, в частности, программная реализация механизма управления виртуальной памятью, и виртуальное адресное пространство, поддерживаемое аппаратурой БЭСМ-6, было значительно расширено. С одной стороны, это был очень прогрессивный по тем временам шаг на пути к построению машинно-независимых ОС, но, с другой стороны, из-за принятия такого решения ОС ИПМ работала заметно медленнее других операционных систем для БЭСМ-6 и по этой причине использовалась в меньших масштабах. И уж, конечно, нельзя сказать, что ОС ИПМ гармонировала с аппаратурой БЭСМ-6; она ее не столько дополняла, сколько исправляла на программном уровне.

Второе ограничение было невозможно обойти чисто программными средствами, и в ИТМиВТ был образован проект АС-6 (о котором я уже говорил в первой заметке), исходной целью которого являлось создание «аппаратуры сопряжения» устройств ЕС ЭВМ с БЭСМ-6 (отсюда и происходит аббревиатура АС-6). Как уже отмечалось, этот проект быстро преобразовался в проект по созданию многомашинного вычислительного комплекса, в который, помимо БЭСМ-6, вошли новые компьютеры ПМ-6 и ЦП АС-6. ПМ-6 представляла собой специализированный компьютер, в котором развивались и расширялись идеи канала IBM, и к которому непосредственно подключались контроллеры устройств ЕС ЭВМ и других заново разрабатывавшихся устройств (в частности, сетевых контроллеров). В архитектуре ЦП АС-6 разработчики пытались преодолеть все известные к тому времени недостатки и ограничения БЭСМ-6 и сделать машину, «идеальную» для будущей ОС и разработчиков приложений. При этом следует особо отметить, что весь проект АС-6 с самого начала выполнялся совместно инженерами и программистами.

Что же в результате получилось? Как я писал раньше, операционную систему для ЦП АС-6 было делать очень интересно, и во многих отношениях она получилась удачной. Но при этом ОС ЦП «жила» в среде АС-6 совершенно естественной жизнью, поскольку именно для такой жизни она и предназначалась. На основе аппаратной поддержки в этой ОС была реализована специальная служба обмена сообщениями между компонентами АС-6, и эта служба естественным образом интегрировала ЦП с остальными компонентами. Однако ОС НД-70, которая использовалась в качестве основной ОС БЭСМ-6 в составе АС-6, была организована с этой точки зрения совсем не так естественно. Теперь в БЭСМ-6 можно было использовать как собственные внешние устройства, подключенные через ее «родные» интерфейсы, так и новые ресурсы, доступ к которым был возможен только через локальную сеть АС-6. Причем сам этот доступ осуществлялся через традиционный интерфейс БЭСМ-6. Даже если не вдаваться в подробности, видно, что «идеальной» гармонии операционной системы с новой аппаратурой снова не получилось.

На самом деле, идеала не удалось достичь и в ЦП АС-6. Во-первых, в составе ЦП имелась аппаратура (очень интересная и сложная аппаратура, позволяющая сохранять и динамически восстанавливать регистровый контекст процессов), которая, по сути, использовалась только для отладки операционной системы. Изначально мыслилось, что эта аппаратура будет использоваться в подсистемах поддержки времени выполнения языков программирования с динамическими контекстами (типа Algol-60). Однако в ходе разработки выяснилось, что у пользователей АС-6 нет заинтересованности в таких системах программирования. В системе команд АС-6 имелись и такие средства, которые не использовались ни в ОС, ни в компиляторах, ни в приложениях, в частности, средства машинной арифметики с фиксированной точкой.

Кроме того, а общесистемном уровне имелась аппаратура, позволяющая любому компоненту АС-6 иметь прямой доступ к основной памяти любого другого компонента. В ЦП это достигалось просто путем формирования соответствующего «машинного» адреса. Так вот, возможность записи в «чужую» память не использовалась ни в одной операционной системе (доступ по чтению использовался в упомянутой службе обмена сообщениями). Мне кажется (я не могу утверждать это обоснованно), что ровно так же обстоят дела в существенно более новых вычислительных системах, которые относятся к категории NUMA (Non-Unified Memory Access).

Так что гармонии системных программ и аппаратуры не удалось добиться даже в аппаратно-программном комплексе, который сообща проектировался инженерами и программистами.

Между прочим, аналогичные наблюдения распространяются и на всеми нами любимые компьютеры компании Digital Equipment серий PDP-11 и VAX-11. Если я не ошибаюсь, аппаратная поддержка сегментной виртуальной памяти в PDP-11 не использовалась ни в «родной» ОС компании DEC RSX-11 (там применялся механизм мультизадачности с постоянными разделами основной памяти без какой-либо подкачки или свопинга), ни в UNIX для PDP-11, где использовался простой свопинг. Несмотря на все удобство для операционных систем общей архитектуры и системы команд компьютеров семейства VAX-11 70% команд этой микропрограммной машины никогда не использовалось компиляторами. Сомневаюсь, что кто-то отважится назвать это гармонией.

Тем не менее, у компьютеров прошлых лет имелась одна общая особенность. Операционные системы для них делались в тех же организациях, где и аппаратура. Разработчики аппаратуры имели представление о замыслах программистов (и наоборот), и они, по крайней мере, стремились к гармоничности аппаратных и программных решений, хотя идеала достичь и не удавалось. И тогда закон Гордона Мура) еще не оказывал такого давления на разработчиков аппаратуры, а программисты не были его рабами.

Страницы: 1 :: 2 :: 3 :: следующая

CITKIT.ru
Цикл "Операционные системы:
Ностальгия по будущему
"

Комментарии

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

аноним, Ср 14 окт 2009 10:47:19:
такое впечатление, что развитие эвм в союзе тормозилось с само верха. уже тогда готовились к его ликвидации?
аноним, Ср 02 сен 2009 20:26:25:
Какой нах закон мура?! Это просто маркетинговая уловка! Ну что поменяется, если этому закону не следовать? Аж ничего! Лучше бы по-моему дорабатывали существующее железо и софт. ТОгда и проблемы с безопасностью глядишь исчезли бы. И быстрее все стало бы работать из-за оптимизации.
Бородулин Вячеслав, Вт 02 июн 2009 05:55:21:
Спасибо и за Вашу статью "Восход и закат High Performance Fortran: наглядный урок истории"
Тоже очень понравилась.
Бородулин Вячеслав, Вт 02 июн 2009 05:52:16:
Спасибо Сергей за интересную статью. Я думаю, что если произвести отсев всех комментариев хотя бы по критерию орфографии и оконченных 11 классов то из них уже отсталось бы 3-5 штук. А если отсеять тех кто не программировал под параллельные системы, и не написал ни одной статьи, так и подавно будет человека два.

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

С уважением, Бородулин Вячеслав, ТОГУ
SKeeper, Пн 13 апр 2009 14:15:13:
Браво! Хоть и как-то пессимистично, но все равно интересно.
дао, Вс 12 апр 2009 15:19:29:
мне кажется автора просто не понимают!
это относится и ко всем предыдущим статьям.
tweak, Ср 08 апр 2009 22:19:11:
креатив ниасилил, многабуков. Автор ставит интересный вопрос, но не предлагает вариантов решения проблемы "закона Мура для software".
В отличие от более другого автора http://www.moserware.com/2008/04/towards-moores-law-software-part-1-of-3.html
аноним, Ср 01 апр 2009 09:25:33:
привет кузнецов
аноним, Пн 30 мар 2009 21:18:43:
блин.. интересная статья, наверно. потом по-читаю. не грусти, Серега!
Rigdzin, Пн 30 мар 2009 18:30:21:
А вот почему я возбухаю по поводу лараби: http://www.thg.ru/graphic/intel_larrabee/index.html
В этой статье четко говорится, что интел собирается использовать х86 инструкции именно для графического проца. Причем сами инструкции предполагается модифицировать.
Аргумент, что интел пытается отвоевать рынок встроенной графики - неправилен. Интел и так владеет этим рынком чуть-ли не на 60%. Она скорее пытается подвинуть АТИ и Нвидию с перспективного рынка высокопроизводительных вычислений в объёме десктопа. А кто там обеспечивает такое? Правильно: Радеон и ДжиФорс. Вот интел по аналогии с ними тоже выпускает ГПУ, правда пихает в него х86, забывая, что Рдеон и ДжиФорс такие мощные не потому, что там х86, а как раз наоборот.
По поводу стоимости компьютеров DEC на базе процессоров Alpha - жизнь всегда наказывала жлобство. Я так подозреваю, что их руководство назначало более высокую цену по принципу, если наши компы быстрее - значит круче, и мы будем требовать за них большие деньги, и нам плевать, что продажи наши падают - вот и умер DEC.

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

Ваш комментарий

Имя:

Текст комментария (HTML-теги не допускаются):

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...