Категории
Самые читаемые

Основы AS/400 - Фрэнк Солтис

Читать онлайн Основы AS/400 - Фрэнк Солтис

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 92 93 94 95 96 97 98 99 100 ... 107
Перейти на страницу:

Вероятно, для перехода на 128 или 256-разрядные процессоры не стоит ждать еще 12 лет. Куда практичней размещать на одной плате несколько процессоров. Например, благодаря прогрессу в области SMP вполне реально представить себе n-процес-сорный узел SMP вместе со всеми кэш-памятями на одной микросхеме. Подобная реализация не потребует изменения ПО, которое уже сейчас поддерживает SMP. По мере увеличения размеров конфигураций SMP и размещения на одном кристалле нескольких процессоров, не за горами и такая фантастическая картина: миллиард транзисторов на одном кристалле. Это может произойти примерно после 2010 года.

Фактически, мы уже идем по этому пути. У каждого процессора четвертого поколения — два полных набора регистров на одном кристалле. Аппаратура процессора может попеременно использовать их то для одного, то для другого потока управления в программе. (Процесс может иметь одну или несколько единиц исполнения, называемых потоками, — об этом рассказано в главе 9). Когда говорят о параллелизме внутри процесса, обычно подразумевают, что несколько потоков выполняются одновременно на нескольких процессорах. Однако выполнение нескольких потоков возможно и на единственном процессоре с несколькими наборами регистров, которые аппаратура использует попеременно. Такой процессор называется многопоточным (multithreaded).

В главе 2 мы говорили, что современные процессоры обречены на простои во много циклов из-за промахов кэшей и длительного обмена с памятью. Чтобы предотвратить потери, многопоточный процессор может использовать такие циклы для исполнения команд из другого потока, что повышает загрузку процессора, и, таким образом, производительность. В конце 70-х годов суперкомпьютер на неоднородных элементах HEP (heterogeneous element processor) ныне несуществующей фирмы Denelcor продемонстрировал поддержку процессором до 16 потоков команд.

Многопоточные процессоры отлично вписываются в концепцию AS/400. Сегодня даже в самых малых системах AS/400 установлено не менее двух процессоров: основной и IOP. В будущем все IOP перейдут на PowerPC, и тогда многопоточные процессоры появятся на всех AS/400. Например, один набор регистров на микросхеме процессора третьего поколения может использоваться для основного процессора, а второй — для IOP, а значит можно будет выпускать дешевые модели, использующие лишь одну микросхему.

Весьма вероятен и такой вариант использования многопоточности: с появлением в 1998 году встроенной поддержки потоков каждая процессорная микросхема будет поддерживать несколько потоков процесса.

А теперь попробуем заглянуть еще дальше. Придет время, когда на одной микросхеме разместятся нескольких независимых процессоров. В AS/400 это, несомненно, будет кристалл с несколькими процессорами как узел SMP, но есть и другие возможности. Вообразите себе на мгновение, что мы можем динамически назначать процессорам одной микросхемы разные функции. Например, сейчас все процессоры выполняют операции ввода-вывода, а в следующий момент некоторые из них переключаются на вычисления. Возможности таких архитектур сегодня трудно даже оценить.

После RISC

Разговоры о технологиях процессоров после RISC вызывают в IBM большие волнения. Стратегия IBM в отношении будущих процессоров серии AS/400е и RS/6000 — PowerPC. Другие компании собираются перейти на новые архитектуры процессоров. Например, новая архитектура Intel IA-64 процессора под кодовым наименованием Merced имеет определенные признаки отхода от философии х86. Впрочем, здесь детали еще не вполне ясны, и только время покажет, что все означает для существующих программ ПК. Некоторые производители могут не пережить драматического роста себестоимости процессоров.

Этот рост, как предполагается, наступит в районе 2005 года. Как мы отмечали в главе 2, стоимость предприятия по производству микросхем с размерами транзисторов менее 0,1 микрона достигнет, вероятно, величин порядка 10 миллиардов долларов. В таких условиях вряд ли, скажем, Digital, чей годовой доход примерно равен этой цифре, сможет производить процессоры Alpha. HP уже заявила, что прекратит производство PA-RISC и заменит их процессорами, разработанными совместно с Intel. В прессе довольно часто можно встретить предположения, что HP не станет даже переводить на 64 разряда свою ОС HP-UX, но объединит силы с SCO (Santa Cruz Operations) для создания новой 64-разрядной ОС Unix. Так как современная SCO Unix работает на процессорах Intel, то основания верить в переход HP исключительно на архитектуру IA-64, бесспорно, есть. Будет интересно понаблюдать за попытками владельцев HP 9000 перейти на новые процессоры и новую ОС без остановки повседневной работы.

Ни одна конструкция не вечна. Эффект от использования суперскалярной RISC-архитектуры с выполнением команд вне порядка их следования и предсказанием переходов уже стал уменьшаться. Возникает вопрос: что же дальше? Широко обсуждаемая альтернатива RISC — VLIW (Very Long Instruction Word)[ 87 ]. Сначала полагали, что первый процессор, разрабатываемый Intel вместе НР (Merced) будет использовать VLIW-технологию. Теперь оказывается, что в нем, вероятно, использована гораздо более привычная суперскалярная архитектура и лишь задействованы некоторые концепции VLIW.

Давайте разберемся, почему VLIW-технология вызывает столь большой интерес. Дело в том, что ее применение может изменить генеральное направление развития современной информатики: от суперскалярных RISC-процессоров — вспять, к повышению сложности схем на кристалле. Ранее, такие процессоры с повышенной сложностью мы назвали Brainiac. Более простые архитектуры, такие как Speed Demons, могут «крутиться» быстрее и достигать больших тактовых частот. VLIW переносит сложность на компиляторы, позволяя создавать более быстрые процессоры.

Главный недостаток RISC-процессоров и причина сложности аппаратуры — трудности в поддержании загрузки конвейера. Мы уже говорили, что самые суперскалярные RISC-процессоры способны обрабатывать за один цикл лишь несколько команд (как правило, три—четыре), что ограничивает параллелизм выполнения команд на одном процессоре. Четыре команды: за один цикл означают лишь четырехкратный параллелизм, а из-за зависимостей между командами и переходов средний показатель вряд ли превзойдет двукратный. В реальности для некоторых задач он даже меньше.

Почему же суперскалярный RISC-процессор не может диспетчировать 8-16 команд за цикл? Во-первых, мешает ограничение аппаратной технологии: у обычного RISC-процессора для этого просто мало независимых функциональных узлов. Другая причина в том, что в цикле недостаточно времени, чтобы проанализировать 8-16 команд, определить, какие функциональные устройства не заняты, и отправить каждую команду на соответствующий узел; увеличение же времени цикла сократит производительность процессора. Третье ограничение — генерировать для каждого цикла по 8-16 независимых команд не способен компилятор.

Развитие аппаратных технологий позволяет создать однокристальный процессор с 8, 16 и даже большим числом функциональных узлов. Технология компиляторов также развилась достаточно, чтобы распознать многократный параллелизм команд и обеспечить работой больше функциональных узлов.

Но возможность выбирать на выполнение большее число команд бесполезна, если аппаратура суперскалярного RISC-процессора может выполнять одновременно лишь малое их число. VLIW-технология решает эту проблему, снимая с аппаратуры процессора задачу распределения команд. Вместо того чтобы, как в RISC-процессоре, анализировать каждую инструкцию в потоке команд и затем распределять их по одной в функциональные узлы, компилятор VLIW генерирует отдельную команду для каждого функционального узла на каждом цикле. Например, если функциональных узлов 16, то компилятор генерирует для каждого процессорного цикла 16 команд; но в отличие от RISC-процессора, который анализирует, в какой функциональный узел направлять каждую команду, VLIW-процессор просто посылает первую команду в первый узел, вторую — во второй и т. д. Конечно, если на каком-то цикле у компилятора не оказывается команды для некоторого узла, он по-прежнему должен сгенерировать код «нет операции». Так как VLIW-процессор ни о чем не «размышляет», то его время цикла меньше, чем время цикла суперскалярного RISC-процессора. Меньшее время цикла и увеличенная степень параллелизма исполнения команд, достигаемая посредством загрузки большего числа функциональных узлов, дает VLIW преимущества перед RISC.

Вы можете спросить, откуда взялось название «VLIW»2. Компилятор упаковывает независимые команды для каждого цикла в одно очень длинное слово — отсюда и название. На каждом цикле процессор выбирает по одному такому очень длинному слову из своего кэша команд. Таким образом, если каждая из 16 команд занимает 4 байта, то в результате получается 64-байтовое (512-битное) слово команды. Несомненно, название «очень длинное» здесь уместно.

Генератор кода компилятора (аналог транслятора AS/400) для VLIW-процессора находит процессору достаточно работы на каждом цикле и генерирует соответствующие команды:. Если на каждом цикле исполняется от 4 до 20 полезных команд, то на одном процессоре можно добиться производительности на уровне миллиарда команд в секунду.

1 ... 92 93 94 95 96 97 98 99 100 ... 107
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Основы AS/400 - Фрэнк Солтис.
Комментарии