НЕСВЯЗАННАЯ ТРАНЗАКЦИОННАЯ ПАМЯТЬ С ГАРАНТИЯМИ ПРОДВИЖЕНИЯ ПРИ ПЕРЕСЫЛКЕ, ИСПОЛЬЗУЯ АППАРАТНУЮ ГЛОБАЛЬНУЮ БЛОКИРОВКУ

1. Устройство обработки, содержащее:
аппаратную транзакционную память (HTM), аппаратный менеджер разногласий, который обеспечивает перевод связанных транзакций в несвязанные транзакции, при этом несвязанная транзакция получает глобальную аппаратную блокировку для несвязанной транзакции, глобальная аппаратная блокировка считывается связанными транзакциями, которые отменяют, когда применяют глобальную аппаратную блокировку; и
исполнительный модуль, соединенный с возможностью обмена данными с аппаратным менеджером разногласий НТМ для исполнения инструкций несвязанной транзакции без упреждающего исполнения, несвязанная транзакция вырабатывает глобальную аппаратную блокировку после завершение исполнения инструкций.
2. Устройство обработки по п. 1, в котором аппаратный менеджер разногласий НТМ обеспечивает обращение к политике повторной попытки для определения, когда следует выполнять перевод связанной транзакции в несвязанную транзакцию.
3. Устройство обработки по п. 2, дополнительно содержащее счетчик повторных попыток НТМ, к которому обращается аппаратный менеджер разногласий НТМ, как часть политики повторных попыток, в котором когда счетчик повторных попыток НТМ, ассоциированный со связанной транзакцией, превышает пороговое значение повторных попыток, менеджер разногласий аппаратных средств НТМ обеспечивает перевод связанной транзакции в несвязанную транзакцию.
4. Устройство обработки по п. 3, в котором связанную транзакцию переводят в несвязанную транзакцию при возникновении состояния отмены, вызванного конфликтом, и при превышении счетчиком повторных попыток НТМ порогового значения повторных попыток.
5. Устройство обработки по п. 1, в котором связанную транзакцию переводят в несвязанную транзакцию при возникновении состояния отмены, содержащего, по меньшей мере, одну неподдерживаемую инструкцию или состояние переполнения.
6. Устройство обработки по п. 1, в котором связанные транзакции считывают глобальную аппаратную блокировку перед упреждающим исполнением инструкций связанных транзакций.
7. Устройство обработки по п. 1, в котором связанные транзакции считывают глобальную аппаратную блокировку перед упреждающим исполнением инструкций связанных транзакций..
8. Устройство обработки по п. 1, в котором глобальную аппаратную
блокировку поддерживают в основной памяти, ассоциированной с устройством обработки.
9. Устройство обработки по п. 8, в котором накопитель для идентификатора (ID) CPU ассоциирован с глобальной аппаратной блокировкой и содержит ID CPU, соответствующий CPU потока, исполняющего несвязанную транзакцию, которая получает глобальную аппаратную блокировку.
10. Устройство обработки по п. 1, в котором исполнение инструкций несвязанных транзакций, гарантирующих продвижение при пересылке устройства обработки, в качестве несвязанных транзакций, не может быть отменено и, по мере того, как связанные транзакции становятся несвязанными транзакциями, по меньшей мере, после того, как их отменят заданное количество раз.
11. Способ, содержащий:
выполняют перевод связанной транзакции в несвязанную транзакцию;
получают глобальную аппаратную блокировку для несвязанной транзакции, глобальную аппаратную блокировку считывают связанные транзакции, которые отменяют, когда глобальная аппаратная блокировка установлена;
исполняют инструкции несвязанной транзакции без упреждающего исполнения; и
устраняют глобальную аппаратную блокировку.
12. Способ по п. 11, дополнительно содержащий дополнительную ссылку на политику повторной попытки, для определения, когда следует перевести связанную транзакцию в несвязанную транзакцию, в котором счетчик повторной попытки НТМ, на который ссылаются, как на часть политики повторной попытки, в котором когда счетчик повторной попытки НТМ, ассоциированный со связанной транзакцией, превышает пороговое значение повторной попытки, связанную транзакцию преобразуют в несвязанную транзакцию.
13. Способ по п. 12, в котором связанную транзакцию переводят в несвязанную транзакцию при возникновении состояния отмены, вызванного конфликтом, и при превышении счетчиком повторных попыток НТМ порогового значения повторных попыток.
14. Способ по п. 11, в котором выполняют перевод связанной транзакции в несвязанную транзакцию после возникновения состояния отмены, содержащего, по меньшей мере, одну из неподдерживаемой инструкции или состояния переполнения.
15. Способ по п. 11, в котором связанные транзакции считывают глобальную аппаратную блокировку перед упреждающим исполнением инструкций связанных транзакций.
16. Способ по п. 11, в котором связанные транзакции, считывают глобальную аппаратную блокировку, как часть процедуры передачи, следующей после упреждающего исполнения инструкций связанных транзакций.
17. Способ по п. 11, в котором глобальную аппаратную блокировку поддерживают в основной памяти, ассоциированной с устройством обработки.
18. Способ по п. 17, в котором накопитель для идентификатора (ID) CPU ассоциирован с глобальной аппаратной блокировкой и содержит CPU ID, соответствующий CPU потока, исполняющего несвязанную транзакцию, которая получает глобальную аппаратную блокировку.
19. Система содержащая:
память для сохранения глобальной аппаратной блокировки; и
устройство обработки, соединенное с памятью с возможностью передачи данных для:
перевода связанной транзакции в несвязанную транзакцию;
получения глобальной аппаратной блокировки для несвязанной транзакции, глобальную аппаратную блокировку считывают связанные транзакции, которые отменяют, когда глобальная аппаратная блокировка установлена;
исполнения инструкций несвязанной транзакции без упреждающего исполнения;
и устранения глобальной аппаратной блокировки.
20. Система по п. 19, дополнительно содержащая: обращаются к политике повторной попытки для определения, когда следует перевести связанную транзакцию в несвязанную транзакцию, в которой к счетчику повторных попыток НТМ обращаются, как к части политики повторных попыток, в котором когда счетчик повторных попыток НТМ, ассоциированный со связанной транзакцией, превышает пороговое значение повторных попыток, связанную транзакцию преобразуют в несвязанную транзакцию.
21. Система по п. 20, в которой связанную транзакцию переводят в несвязанную транзакцию при возникновении состояния отмены, вызванного конфликтом, и при превышении счетчиком повторных попыток НТМ, порогового значения повторных попыток.
22. Система по п. 19, в которой связанную транзакцию переводят в несвязанную транзакцию при возникновении состояния отмены, содержащего, по меньшей мере, одну из неподдерживаемых инструкций или состояния переполнения.
23. Система по п. 19, в которой связанные транзакции, считывают глобальную аппаратную блокировку перед упреждающим исполнением инструкций связанных
транзакций.
24. Система по п. 19, в которой связанные транзакции, считывают глобальную аппаратную блокировку, как часть процедуры передачи, следующей после упреждающего исполнения инструкций связанных транзакций.
25. Система по п. 19, в которой глобальную аппаратную блокировку поддерживают в основной памяти, ассоциированной с устройством обработки, и в которой накопитель для идентификатора (ID) CPU ассоциирован с глобальной аппаратной блокировкой и содержит CPU ID, соответствующий CPU потока, исполняющего несвязанную транзакцию, которая получает глобальную аппаратную блокировку.