ЗАПИСЬ ТРАССИРОВКИ НА ОСНОВЕ КЭША С ИСПОЛЬЗОВАНИЕМ ДАННЫХ ПРОТОКОЛА КОГЕРЕНТНОСТИ КЭША

1. Вычислительное устройство, содержащее:
множество блоков обработки;
кэш-память, содержащую множество строк кэша, которые используются для кэширования данных из одного или более резервных хранилищ и которые совместно используются множеством блоков обработки, причем согласованность данных в этом множестве строк кэша и упомянутых одном или более резервных хранилищах регулируется согласно протоколу когерентности кэша (CCP); и
хранимые управляющие логические средства, которые конфигурируют вычислительное устройство для выполнения, по меньшей мере, следующего:
определение того, что выполнены, по меньшей мере, следующие условия:
(i) операция вызвала взаимодействие между конкретной строкой кэша из упомянутого множества строк кэша и упомянутыми одним или более резервными хранилищами;
(ii) регистрация разрешена для конкретного блока обработки из упомянутого множества блоков обработки, который вызвал операцию;
(iii) упомянутая конкретная строка кэша является участником в регистрации; и
(iv) CCP указывает, что есть данные, которые должны быть зарегистрированы в трассировке, на основе упомянутой операции; и
на основе, по меньшей мере, определения того, что упомянутые условия выполнены, обеспечение регистрации данных в трассировке, причем данные могут использоваться для воспроизведения упомянутой операции.
2. Вычислительное устройство по п.1, в котором хранимые управляющие логические средства также конфигурируют вычислительное устройство для обновления одного или более учетных битов, соотнесенных с упомянутой конкретной строкой кэша, чтобы указать, остается ли эта конкретная строка кэша участником в регистрации после упомянутой операции.
3. Вычислительное устройство по п.2, при этом упомянутые один или более учетных битов, соотнесенных с конкретной строкой кэша, содержат одно из следующего: (i) одиночный бит, (ii) множество битов, каждый из которых соответствует одному из упомянутого множества блоков обработки, и (iii) множество битов, которые хранят значение индекса обрабатывающего устройства.
4. Вычислительное устройство по п.2, при этом упомянутые один или более учетных битов, соотнесенных с конкретной строкой кэша, хранятся в одной или более зарезервированных строках кэша, которые отделены от строк кэша, которые используются для кэширования данных из одного или более резервных хранилищ.
5. Вычислительное устройство по п.1, в котором обеспечение регистрации данных в трассировке содержит запись данных в буфер, при этом сброс данных из буфера в файл трассировки откладывается на основе активности шины памяти.
6. Вычислительное устройство по п.1, в котором хранимые управляющие логические средства также конфигурируют вычислительное устройство для регистрации по меньшей мере одного вытеснения данных из кэша посредством ссылки на группу и вход в ассоциативном кэше.
7. Вычислительное устройство по п.1, при этом регистрируемые данные содержат переходы между разными состояниями CCP.
8. Вычислительное устройство по п.1, при этом регистрируемые данные содержат по меньшей мере одно из следующего: переход из состояния записи в состояние считывания, переход из состояния записи в состояние записи и переход из состояния считывания в состояние записи.
9. Вычислительное устройство по п.1, в котором использование CCP для идентификации того, что есть данные, которые должны быть зарегистрированы в трассировке, содержит идентификацию того, что не требуется, чтобы переход из состояния считывания в состояние регистрировался в трассировке.
10. Вычислительное устройство по п.1, при этом данные для каждого блока обработки регистрируются по меньшей мере одним отдельным потоком данных.
11. Вычислительное устройство по п.1, при этом данные для двух или более блоков обработки регистрируются в один и тот же поток данных, но помечаются идентификатором блока обработки.
12. Вычислительное устройство по п.1, при этом данные, которые должны быть зарегистрированы в трассировке, содержат информацию об упорядоченности.
13. Вычислительное устройство по п.1, при этом данные, которые должны быть зарегистрированы, содержат данные, записанные в упомянутую конкретную строку кэша анклавом, причем обеспечение регистрации данных в трассировке содержит:
когда упомянутая операция, которая вызвала взаимодействие между конкретной строкой кэша и одним или более резервными хранилищами, соответствует потоку выполнения, взаимодействующему с анклавом, обеспечение регистрации данных в поток данных трассировки, соответствующий этому потоку выполнения; или
когда упомянутая операция, которая вызвала взаимодействие между конкретной строкой кэша и одним или более резервными хранилищами, соответствует анклаву, обеспечение регистрации данных отдельно от потока данных трассировки, соответствующего этому потоку выполнения.
14. Способ, реализуемый в вычислительной среде, которая включает в себя множество блоков обработки и кэш-память, содержащую множество строк кэша, которые используются для кэширования данных из одного или более резервных хранилищ и которые совместно используются множеством блоков обработки, причем согласованность данных в этом множестве строк кэша и упомянутых одном или более резервных хранилищах регулируется согласно протоколу когерентности кэша, при этом способ предназначен для выполнения записи трассировки на основе кэша с использованием данных протокола когерентности кэша (CPP) и содержит этапы, на которых:
определяют, что выполнены, по меньшей мере, следующие условия:
(i) операция вызвала взаимодействие между конкретной строкой кэша из упомянутого множества строк кэша и упомянутыми одним или более резервными хранилищами;
(ii) регистрация разрешена для конкретного блока обработки из упомянутого множества блоков обработки, который вызвал упомянутую операцию;
(iii) упомянутая конкретная строка кэша является участником в регистрации; и
(iv) CCP указывает, что есть данные, которые должны быть зарегистрированы в трассировке, на основе упомянутой операции; и
на основе, по меньшей мере, определения того, что упомянутые условия выполнены, обеспечивают регистрацию данных в трассировке, причем данные могут использоваться для воспроизведения упомянутой операции.
15. Компьютерный программный продукт для использования в вычислительном устройстве, которое содержит множество блоков обработки и кэш-память, содержащую множество строк кэша, которые используются для кэширования данных из одного или более резервных хранилищ и которые совместно используются множеством блоков обработки, причем согласованность данных в этом множестве строк кэша и упомянутых одном или более резервных хранилищах регулируется согласно протоколу когерентности кэша (CCP), при этом компьютерный программный продукт содержит машиночитаемые носители, на которых хранятся машиноисполняемые инструкции, которые являются исполняемыми одним или более блоками обработки для предписания вычислительному устройству выполнять, по меньшей мере, следующее:
определение того, что выполнены, по меньшей мере, следующие условия:
(i) операция вызвала взаимодействие между конкретной строкой кэша из упомянутого множества строк кэша и упомянутыми одним или более резервными хранилищами;
(ii) регистрация разрешена для конкретного блока обработки из упомянутого множества блоков обработки, который вызвал операцию;
(iii) упомянутая конкретная строка кэша является участником в регистрации; и
(iv) CCP указывает, что есть данные, которые должны быть зарегистрированы в трассировке, на основе упомянутой операции; и
на основе, по меньшей мере, определения того, что упомянутые условия выполнены, обеспечение регистрации данных в трассировке, причем данные могут использоваться для воспроизведения упомянутой операции.