Группировщик команд

В Т-9000 полностью сохранена система команд предыдущих поколений транспьютеров. Увеличение производительности достигается за счет одновременного исполнения группы, в которую входит до 8 команд.

В Т-9000 реализован аппаратный группировщик команд. Образование групп команд преследует цель достижения высокой загрузки устройств процессора.

В качестве примера работы группировщика приведем следующий. Пусть требуется вычислить выражение: a[i + l] = b[j + 15] + c[k + 7].

Компилятор формирует следующий код :

Idl j load local variable j

Idl b load base address of array b

wsub calculate address of b[j]

Idnl 15 load value of element b[j + 15]

Idlk

Idle

wsub

Idnl 7

add add two values on the top of stack

Idli

Idia

wsub

stnl 1 store into a[i + l]

Эта последовательность команд преобразуется группировщиком в 3 группы: первая группа – Idl, Idl, wsub, Idnl; вторая группа – Idl, Idl, wsub, Idnl, add; третья группа – Idl, Idl, wsub, stnl.

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

Будет полезно почитать по теме: