Каково ожидаемое поведение процессора Intel при работе с типом, большим, чем его строка кэша?

Предположим, что я кормить массив T array[N] на мой процессор, где T большой тип, большой structэто больше чем 64 байт, предполагая, что 64 байты — это также размер вашей строки кэша в вашем процессоре; мой вопрос: что такое наблюдаемое поведение? Что я могу диагностировать?

Очевидно, я предполагаю, что мой T и мой array упакованы и выровнены, а соответствующие структуры данных оптимизированы с точки зрения их размещения и размещения в памяти. Мое основное внимание уделяется случаю, когда T> строка кэша, и техническим возможностям, которые могут объяснить, что происходит в этих обстоятельствах.

0

Решение

Ваш процессор не видит типов, в частности нет struct типы или что-то еще, это инкапсуляция для конкретного языка. Он видит только доступ к отдельным полям, которые ваш компилятор отделяет от этого. Все эти поля являются целыми числами, указателями или числами с плавающей точкой в ​​конце, и ваш процессор знает, как эффективно их обрабатывать.

3

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector