Суть этой проблемы достаточно широко известна. Когда календарный год изменится с 1999 на 2000, многие прикладные и даже системные программы прекратят правильно работать. Для представления года в них заданы только две цифры, так что по их внутреннему календарю наступит не 2000, а 1900 год. А так как ошибка будет массовой, то она может вызвать огромный беспорядок в делах по всему миру.
Гиганты компьютерной индустрии уже прилагают огромные усилия, чтобы предотвратить грозящую неразбериху. Производители программ и ОС готовят свои продукты к 2000 году. Например, все системное ПО AS/400 и ПО многих бизнес-партнеров IBM уже сертифицировано на готовность к 2000 году.
Но, так или иначе, в 2001 году мы все уже придем в себя и с новым рвением вернемся к поиску новых технологий.
Я начну свой прогноз с самого простого: будущего аппаратных технологий процессоров. Аппаратурой управляют законы физики, так что ее развитие можно предсказать с определенной долей уверенности. Единственное затруднение — предвидеть с высокой точностью, какие конкретно технологии и как именно будут применяться в наших вычислительных системах.
В главе 2 мы упоминали «закон Мура», в соответствии с которым, число транзисторов на одной микросхеме удваивается примерно через каждые 18 месяцев. Многие эксперты полагают, что действие этого «закона» сохранится, по меньшей мере, еще в течение 15 лет, то есть что компьютерная промышленность еще долго не откажется от технологии КМОП. Это также означает, что число цепей на кремниевой микросхеме будет продолжать удваиваться каждые 18 месяцев благодаря уменьшению размеров транзисторов. Производительность будет расти по мере увеличения количества транзисторов на одной микросхеме. К тому же, чем ближе друг к другу расположены транзисторы, тем быстрее электрические сигналы, передающиеся примерно со скоростью света, будут это расстояние преодолевать.
Мы часто воспринимаем прогресс в аппаратных технологиях как нечто само •<=>в собой разумеющееся. За последние 30 лет в производительности, цене и потребляемой мощности аппаратуры компьютеров достигнуты огромные успехи. Но попробуйте представить себе, что такими же семимильными шагами развивалось и автомобилестроение. Тогда Вы смогли бы купить новый «Порше» примерно за 2 доллара; причем эта машина двигалась бы быстрее звука и могла бы пройти более 1000 миль, израсходовав менее 30 грамм бензина, — будь я проклят!
В этом разделе я постараюсь спрогнозировать будущее аппаратных средств AS/400 на ближайшие 5-10 лет. Как и все предсказатели, я не даю никаких гарантий, что что-либо из моих предсказаний сбудется, но делать прогнозы занимательно. Итак, получше затяните свой пристяжной ремень; наш новый Порше быстро набирает скорость звука и мы устремляемся вперед в возможное будущее.
В течение нескольких следующих лет серия AS/400е будет использовать процессоры PowerPC. Как мы уже говорили, третье и четвертое поколение процессоров, разработанных в Рочестере, будет применяться на протяжении всего времени выпуска версии 4 и далее. Эти же процессоры используются моделями RS/6000. (IBM обсуждала идею конвергенции процессоров между AS/400 и RS/6000 для коммерческих приложений с момента начала работ над PowerPC, но не смогла осуществить ее в первом поколения процессоров AS/400.)
Процессоры AS/400 первого и второго поколений поддерживали только режим активных тегов, а все процессоры третьего и четвертого поколения — режимы как активных, так и неактивных тегов. Как мы уже упоминали, на этих процессорах также работают стандартные интерфейсы ввода-вывода, на них возможна установка как OS/400, так и других ОС PowerPC.
В главе 2 обсуждался мощный процессор Belatrix для систем высшего уровня, названный так в честь звезды в созвездии Орион. Повторюсь: этот проект, который по первоначальному замыслу должен был завершиться созданием процессора как для научных, так и для коммерческих расчетов, был слишком амбициозен и, потому, ни к чему не привел. В результате, лаборатория в Остине начала разработку своей версии Belatrix для научных расчетов, а Рочестер — своей, под названием Northstar, которая и стала началом семейства процессоров четвертого поколения. Затем эти процессоры были оптимизированы для коммерческих расчетов как для AS/400е, так и
для RS/6000.
Процессоры четвертого поколения особо примечательны тем, что спроектированы с учетом перехода на более быстрые технологии КМОП. Семейство четвертого поколения насчитывает несколько версий, все они используют общую архитектуру, но реализованы на разных этапах развития микросхем. Можно ожидать, что диапазон производительности этих 64-разрядных процессоров PowerPC составит от 250 до 800 МГц. В подразделении IBM Research также ведется работа для достижения на этом процессоре тактовой частоты более 1 гигагерца (ГГц). Поэтому, если будет принято соответствующее решение, архитектура третьего поколения может использоваться и после версии 4.
Теперь поговорим о пятом поколении процессоров AS/400. Здесь возможны разные интересные варианты. Но сначала, давайте разберемся, как обстоят дела с технологией КМОП. Примерно к 2005 году появится возможность размещения до 100 миллионов транзисторов на одном кристалле. Как лучше использовать все это множество цепей — предмет больших дискуссий.
Современные микросхемы процессоров содержат от 5 до 8 миллионов цепей. Одно из очевидно возможных применений дополнительных цепей — увеличение внутренних кэшей. Другой вариант — реализация с их помощью функций, для которых сейчас выделяются отдельные микросхемы. Третий — доверить им новые функции, по примеру Intel, включившей в свои процессоры Pentium технологию MMX.
Но даже после всего этого часть цепей, возможно, останется незадействованной. Их можно использовать для создания процессоров со сверхширокими трактами данных. 128- и даже 256-разрядные процессоры уже не кажутся чем-то мифическим. 128-разрядный видеопроцессор уже сейчас используется на многих ПК. Конечно, проблема перевода процессоров общего назначения на большие размеры регистров связана с ПО. К 2005 году многие компании лишь только перейдут на 64-разрядное ПО.
Вероятно, для перехода на 128 или 256-разрядные процессоры не стоит ждать еще 12 лет. Куда практичней размещать на одной плате несколько процессоров. Например, благодаря прогрессу в области SMP вполне реально представить себе n-процес-сорный узел SMP вместе со всеми кэш-памятями на одной микросхеме. Подобная реализация не потребует изменения ПО, которое уже сейчас поддерживает SMP. По мере увеличения размеров конфигураций SMP и размещения на одном кристалле нескольких процессоров, не за горами и такая фантастическая картина: миллиард транзисторов на одном кристалле. Это может произойти примерно после 2010 года.
Фактически, мы уже идем по этому пути. У каждого процессора четвертого поколения — два полных набора регистров на одном кристалле. Аппаратура процессора может попеременно использовать их то для одного, то для другого потока управления в программе. (Процесс может иметь одну или несколько единиц исполнения, называемых потоками, — об этом рассказано в главе 9). Когда говорят о параллелизме внутри процесса, обычно подразумевают, что несколько потоков выполняются одновременно на нескольких процессорах. Однако выполнение нескольких потоков возможно и на единственном процессоре с несколькими наборами регистров, которые аппаратура использует попеременно. Такой процессор называется многопоточным (multithreaded).
В главе 2 мы говорили, что современные процессоры обречены на простои во много циклов из-за промахов кэшей и длительного обмена с памятью. Чтобы предотвратить потери, многопоточный процессор может использовать такие циклы для исполнения команд из другого потока, что повышает загрузку процессора, и, таким образом, производительность. В конце 70-х годов суперкомпьютер на неоднородных