Перспективные модели многопроцессорных ЭВМ. Часть 3.

Основополагающие принципы. Перед более детальным описанием архитектуры МВК «Эльбрус-3» приведем кратко основополагающие принципы этого проекта.

Принцип первый. Проект основан на полной программной совместимости с существующими МВК «Эльбрус-1», «Эльбрус-2» и с менее производительными, чем МВК «Эльбрус-3», моделями нового поколения.

Принцип второй. Как и предыдущие модели, «Эльбрус-3» основан на теговой архитектуре, позволяющей последовательно проводить динамическую типизацию данных, а также обеспечивающей высокий уровень программирования и исключение ассемблера.

Принцип третий. В модели «Эльбрус-3» получила дальнейшее развитие многопроцессорная архитектура, позволяющая повысить производительность комплекса и его структурную надежность. «Эльбрус-3» разрабатывается как 16-процессорный комплекс с большой локальной оперативной памятью для каждого процессора (16 Мбайт) и глобальной общей для всех процессоров (2 Гбайт) оперативной памятью.

Принцип четвертый. Каждый процессор позволяет обеспечить высокую производительность на уровне современных суперЭВМ. С этой целью в процессоре использована архитектура с очень длинным командным словом (до 288 бит), обеспечивающая микрораспараллеливание на уровне операций как при скалярных, так и векторных вычислениях. В каждой команде максимально запускается семь арифметических операций, которые используют в качестве аргументов либо результаты ранее выполненных операций, поступающие непосредственно с выхода арифметических устройств, либо числа из быстрой регистровой памяти (буфера стека емкостью 1024 слова). В этой же команде предусмотрено:

  • управление записью результатов в буфер стека (если эта запись необходима);
  • параллельное выполнение условного или безусловного перехода;
  • параллельное обращение по восьми каналам в I локальную и(или) глобальную оперативную память.

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

Принцип шестой. Управление машиной позволяет контролировать каждый такт, так что большая команда выдается каждый такт в «реальном масштабе времени», т. е. непосредственно запуская устройства без дополнительного динамического аппаратного планирования. Это существенно упрощает логические схемы машины, значительно повышая долю регулярного оборудования ЦП, что крайне важно при переходе на большие интегральные схемы, имея в виду упрощение отладки машины.

Принцип седьмой. Значительная часть работы по оптимизации распределения ресурсов возлагается на высокооптимизирующий транслятор, который разрабатывается с учетом большого опыта работы по созданию трансляторов для языка ЭЛЬ-76 и других языков программирования высокого уровня на существующих МВК «Эльбрус».

Принцип восьмой. Основу эффективной стыковки и работы быстрого процессора с общей памятью, а также обеспечения высокоэффективной мультипроцессорности составляет функционально разделенная сверхоперативная память процессора, подобная памяти МВК «Эльбрус-2». Она состоит из буфера команд в 2 тыс. слов (16 страниц по 128 слов); буфера стека в 1 тыс. слов для хранения поколений локальных данных исполняемых процедур; буфера массивов в 512 слов и ассоциативной памяти глобалов в 512 слов. Такая организация сверхоперативной памяти с большим буфером стека и с большим буфером команд в случае скалярных вычислений позволяет замкнуть их практически полностью на буфере стека. При этом пропускная способность всех восьми каналов доступа в память используется для подкачки кодов процедур, которая, по возможности, заранее заказывается транслятором. Напротив, в случае векторных вычислений программный код основного цикла, как правило, умещается в буфере команд и пропускная способность восьми каналов доступа в память используется в основном для обращения к элементам массивов, которое хорошо предсказуемо и выполняется превентивно с помощью оптимизирующего транслятора.