Все метаданные, которые нужны процессору, кодируются в инструкциях машинного кода, которые он выполняет. И если процессору требуется одна и та же информация в разное время для разных частей программы, компилятор будет повторять любые необходимые метаданные в инструкциях для всех таких частей программы.
Тип метаданных, которые нужны процессору: : насколько велик элемент (например, байт, половина, слово, четверка), является ли элемент подписанным или без знака, как далеко можно перейти вперед для каждой позиции индекса массива и т. д. c .. И вообще говоря, процессор требует последовательности команд для выполнения любого кода языка высокого уровня, поэтому некоторые метаданные эффективно кодируются в отдельных инструкциях, а также в последовательностях самих инструкций.
Примером здесь является массив, имеющий конкретный тип данных, и конечно, используется (например, индексируется) для чтения и записи в разных частях программы. Программа C кодирует информацию о типе (метаданные) в объявлении массива C, и этот тип хранится независимо от того, какая функция обращается к массиву. Однако процессор не читает декларации данных, только инструкции машинного кода! Таким образом, трансляция повторяет информацию о размере и шаблоне доступа с инструкциями машинного кода и последовательностями команд по мере необходимости, и, таким образом, компилятор обеспечивает согласованный доступ для процессора.