Многопроцессорные системы. Архитектура, топология, анализ производительности. Бикташев Р.А - 32 стр.

UptoLike

32
В соответствии с используемым принципом, команды,
последовательно формируемые конвейером команд, выполняются
свободными операционными блоками, причем результаты операций могут
выдаваться с очередностью, отличной от очередности команд в командном
конвейере. Например, в машине Эльбрус-2 десять операционных блоков
(сумматор с плавающей точкой, умножитель, сумматор с фиксированной
точкой и др.) параллельно выполняют соответствующие
операции,
совместно используя одни и те же регистры. При этом поддерживаются в
определенном состоянии операционные блоки и регистры, причём в
процессе выполнения команд производится проверка занятости
необходимых операционных блоков, управление поступлением требуемых
данных (операндов) из других операционных блоков и памяти и
передается управление определенным операционным блокам, когда для
выполнения ими команд
все готово. При невозможности выполнения
команды из-за того, что данные не готовы, происходит процесс ожидания
до тех пор, пока выполнение команды будет возможно. Таким образом,
если длительность операции, задаваемой последующей командой, меньше
и связь между ее данными и результатами выполнения предыдущей
команды отсутствует, то результат этой операции окажется в
регистре
раньше, чем результат операции предыдущей команды. В машине
Эльбрус-2 новая команда поступает в каждом машинном цикле, тогда как
быстродействие операционных блоков позволяет произвести
суммирование с фиксированной точкой за три машинных цикла,
умножение с плавающей точкойза 10 машинных циклов, а деление с
плавающей точкойза 29 машинных циклов. Другими словами,
выполнение обработки
операционным блоком отстает от темпа
поступления команд, поэтому введением определенного числа
дополнительных операционных блоков устанавливается баланс между
темпом поступления команд и скоростью выполнения операций.
Подобный же принцип управления вычислительным процессом применён
в процессорах Pentium, причём в зависимости от семейства число
операционных блоков может достигать пяти. Так в процессорах семейства
P6 в операционной
части конвейера используются два целочисленных
блока, один блок для операций с плавающей точкой, один блок MMX для
обработки потока целочисленных данных(Pentium, Pentium II) и один блок
SSE для обработки потока чисел с плавающей точкой ( Pentium III)
По крайней мере два обстоятельства ограничивают эффективность
использования суперскалярных архитектур. Во-первых, есть ограничения
      В   соответствии    с   используемым     принципом,      команды,
последовательно формируемые конвейером команд, выполняются
свободными операционными блоками, причем результаты операций могут
выдаваться с очередностью, отличной от очередности команд в командном
конвейере. Например, в машине Эльбрус-2 десять операционных блоков
(сумматор с плавающей точкой, умножитель, сумматор с фиксированной
точкой и др.) параллельно выполняют соответствующие операции,
совместно используя одни и те же регистры. При этом поддерживаются в
определенном состоянии операционные блоки и регистры, причём в
процессе выполнения команд производится проверка занятости
необходимых операционных блоков, управление поступлением требуемых
данных (операндов) из других операционных блоков и памяти и
передается управление определенным операционным блокам, когда для
выполнения ими команд все готово. При невозможности выполнения
команды из-за того, что данные не готовы, происходит процесс ожидания
до тех пор, пока выполнение команды будет возможно. Таким образом,
если длительность операции, задаваемой последующей командой, меньше
и связь между ее данными и результатами выполнения предыдущей
команды отсутствует, то результат этой операции окажется в регистре
раньше, чем результат операции предыдущей команды. В машине
Эльбрус-2 новая команда поступает в каждом машинном цикле, тогда как
быстродействие     операционных      блоков    позволяет     произвести
суммирование с фиксированной точкой за три машинных цикла,
умножение с плавающей точкой — за 10 машинных циклов, а деление с
плавающей точкой — за 29 машинных циклов. Другими словами,
выполнение обработки операционным блоком отстает от темпа
поступления команд, поэтому введением определенного числа
дополнительных операционных блоков устанавливается баланс между
темпом поступления команд и скоростью выполнения операций.
Подобный же принцип управления вычислительным процессом применён
в процессорах Pentium, причём в зависимости от семейства число
операционных блоков может достигать пяти. Так в процессорах семейства
P6 в операционной части конвейера используются два целочисленных
блока, один блок для операций с плавающей точкой, один блок MMX для
обработки потока целочисленных данных(Pentium, Pentium II) и один блок
SSE для обработки потока чисел с плавающей точкой ( Pentium III)
      По крайней мере два обстоятельства ограничивают эффективность
использования суперскалярных архитектур. Во-первых, есть ограничения




                                  32