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

 

Изобретение относится к компиляторам, осуществляющим устранение избыточной загрузки. Его использование позволяет обеспечить технический результат в виде обеспечения способности устранять любые виды избыточной загрузки. Технический результат достигается благодаря тому, что в способе осуществляют идентификацию множества покрывающих операций загрузки, включающего в себя по меньшей мере одну покрывающую операцию загрузки, относящуюся к первому типу загрузки, и избыточную операцию загрузки, относящуюся ко второму типу загрузки, при этом как первый тип загрузки, так и второй тип загрузки может принадлежать группе типов загрузки, включающей в себя обычную загрузку и по меньшей мере одну загрузку спекулятивного типа, причем по меньшей мере одна из покрывающей и избыточной операций загрузки является загрузкой спекулятивного типа, и избирательное устранение избыточной операции загрузки. 6 с. и 23 з.п.ф-лы, 6 ил.

Текст описания в факсимильном виде (см. графическую часть).

Формула изобретения

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

2. Способ по п.1, отличающийся тем, что операции загрузки спекулятивного типа включают в себя расширенную загрузку, проверочную загрузку, спекулятивную загрузку и спекулятивную расширенную загрузку.

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

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

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

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

7. Способ по п.5, отличающийся тем, что избыточную операцию загрузки устраняют избирательно, поскольку, в зависимости от комбинации первого и второго типов загрузки, избыточная операция загрузки не устраняется ни при каких условиях.

8. Способ по п.5, отличающийся тем, что группа типов загрузки включает в себя обычную загрузку, расширенную загрузку, проверочную загрузку, проверочную расширенную загрузку, спекулятивную загрузку и спекулятивную расширенную загрузку.

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

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

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

12. Способ по п.5, отличающийся тем, что первый тип загрузки представляет собой обычную загрузку и второй тип загрузки представляет собой спекулятивную расширенную загрузку.

13. Способ по п.5, отличающийся тем, что операции загрузки проверочного типа включают в себя операцию проверочной загрузки и операцию проверочной расширенной загрузки.

14. Способ по п.5, отличающийся тем, что устранение избыточной операции загрузки включает в себя полное устранение избыточной операции загрузки из кода программы.

15. Способ по п.5, отличающийся тем, что устранение избыточной операции загрузки включает в себя устранение избыточной операции загрузки из ее позиции в коде программы и перемещение в другую позицию в коде.

16. Машинно-читаемый носитель, на котором хранятся команды, которые при обработке их процессором обуславливают выполнение процессором действий, используемых для устранения избыточных операций загрузки при компиляции программы и включающих: идентификацию покрывающей операции загрузки, относящейся к первому типу загрузки, и избыточной операции загрузки, относящейся ко второму типу загрузки, причем как первый тип загрузки, так и второй тип загрузки могут принадлежать группе типов загрузки, включающей в себя обычную загрузку, по меньшей мере одну загрузку спекулятивного типа и по меньшей мере одну загрузку проверочного типа, причем по меньшей мере одна из покрывающей и избыточной операций загрузки является загрузкой спекулятивного типа; и избирательное устранение избыточной операции загрузки.

17. Машинно-читаемый носитель по п.16, отличающийся тем, что группа типов загрузки включает в себя обычную загрузку, расширенную загрузку, проверочную загрузку, проверочную расширенную загрузку, спекулятивную загрузку и спекулятивную расширенную загрузку.

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

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

20. Способ устранения избыточных операций загрузки для устранения избыточных операций загрузки при компиляции программы, включающий: определение имени подпрограммы на основании первого типа загрузки и второго типа загрузки; и выполнение подпрограммы, выбранной в соответствии с именем программы, в которой операции загрузки устраняются.

21. Способ по п.20, отличающийся тем, что подпрограмма может вызывать другую подпрограмму.

22. Способ по п.20, отличающийся тем, что определение имени подпрограммы включает в себя передачу первого и второго типов загрузки матрице комбинаций операций загрузки.

23. Способ по п.22, отличающийся тем, что определение имени подпрограммы включает в себя идентификацию имени подпрограммы на пересечении первого и второго типов загрузки в матрице комбинаций операций загрузки.

24. Способ по п.22, отличающийся тем, что матрица комбинаций операций загрузки является полной матрицей комбинаций операций загрузки.

25. Способ по п.20, отличающийся тем, что идентификатор на пересечении первого и второго типов загрузки представляет собой адрес памяти для имени подпрограммы.

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

27. Машинно-читаемый носитель, на котором хранятся команды, которые при обработке их процессором при устранении избыточных загрузок при компиляции программы и обуславливают выполнение процессором действий, включающих: определение имени подпрограммы на основании первого типа загрузки и второго типа загрузки; и выполнение подпрограммы, выбранной в соответствии с именем программы, в которой операции загрузки устраняются.

28. Машинно-читаемый носитель по п.27, отличающийся тем, что подпрограмма использует обращение к матрице комбинаций операций загрузки.

29. Машинно-читаемый носитель по п.27, отличающийся тем, что матрица является полной матрицей комбинаций операций загрузки.

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13, Рисунок 14, Рисунок 15, Рисунок 16, Рисунок 17, Рисунок 18, Рисунок 19, Рисунок 20, Рисунок 21, Рисунок 22, Рисунок 23, Рисунок 24, Рисунок 25, Рисунок 26, Рисунок 27, Рисунок 28, Рисунок 29, Рисунок 30, Рисунок 31, Рисунок 32, Рисунок 33, Рисунок 34, Рисунок 35, Рисунок 36, Рисунок 37, Рисунок 38, Рисунок 39, Рисунок 40, Рисунок 41, Рисунок 42, Рисунок 43, Рисунок 44, Рисунок 45, Рисунок 46, Рисунок 47, Рисунок 48, Рисунок 49, Рисунок 50, Рисунок 51, Рисунок 52, Рисунок 53, Рисунок 54, Рисунок 55, Рисунок 56, Рисунок 57, Рисунок 58, Рисунок 59, Рисунок 60, Рисунок 61, Рисунок 62, Рисунок 63, Рисунок 64, Рисунок 65, Рисунок 66



 

Похожие патенты:

Изобретение относится к вычислительной технике и предназначено для отладки микропроцессорных систем, построенных на базе микропроцессоров, микроконтроллеров, процессоров цифровой обработки сигналов

Изобретение относится к области оптимизирующей компиляции программ для повышения уровня параллелизма при исполнении на современных архитектурных платформах

Изобретение относится к области оптимизирующей компиляции программ для повышения уровня параллелизма при исполнении на современных архитектурных платформах

Изобретение относится к комплексным специализированным интегральным схемам, в частности к распределенной параллельной архитектуре процессора

Изобретение относится к транслятору для машинного языка программирования высокого уровня, в частности к способу и устройству для реализации таблицы кодировки символов, которая обеспечивает быстрый доступ к идентификаторам таблицы кодировки символов

Изобретение относится к вычислительной технике и может быть использовано в быстродействующих операционных системах, в частности в системах с диалоговым режимом разработки, отпайки и выполнения программ, а также в ЭВМ с языком высокого уровня

Изобретение относится к вычислительной технике и может быть использовано для разработки и отладки программного и аппаратного обеспечения однокристальной микроЭВМ

Изобретение относится к специализированным вычислительным средствам и предназначено для моделирования процесса обслуживания двух потоков заявок одним обслуживающим прибором

Изобретение относится к способу и системе эмуляции команд одного микропроцессора с командами другого микропроцессора с помощью несовместимой системы команд

Изобретение относится к области систем обработки данных

Изобретение относится к автоматизации процессов с использованием полевых приборов

Изобретение относится к средствам обработки изображения

Изобретение относится к области двигателестроения и может быть использовано для защиты программного обеспечения (ПО) блока управления двигателем внутреннего сгорания транспортного средства (далее - БУ ДВС ТС) от несанкционированного изменения

Изобретение относится к системе и способу поддержки множества языков для приложения

Изобретение относится к области одновременного совместного исполнения приложений
Наверх