Я скопировал следующее предложение из таблицы данных PIC MCU:
«PIC18(L)F26K22, PIC18(L)F46K22: 64 Кбайт флэш-памяти, до 37 768 инструкций, состоящих из одного слова ».
вопрос в том, что означает «37 768 однословных инструкций» для памяти?
это показывает, как быстро память или что-то еще? в чем его смысл и как он рассчитывается?
Во-первых, ваш вопрос содержит опечатку, вы имеете в виду 32 768 (2 ^ 15), а не 37 768.
Рассматриваемый PIC имеет 16-битное командное слово.
Размер флэш-памяти указан как 64К (65536) байт . С двумя байтами на слово это место для 32768 простых инструкций.
Многие процессоры, в том числе и этот, предлагают инструкции различной длины — более сложные инструкции могут включать такие вещи, как непосредственные операнды или адреса памяти. Для их кодирования требуется больше битов, и поэтому они длиннее, чем инструкции «одного слова».
Таким образом, таблица данных дает вам лучший случай. В зависимости от компилятора или стратегии ручного кодирования реальный код может иметь различную среднюю длину инструкций, поэтому сложно сказать, сколько типичных инструкций может поместиться во флэш-памяти. Даже если можно написать программу, использующую все инструкции, состоящие из одного слова, на машине, предназначенной для их поддержки, вполне может быть более эффективно использовать некоторые инструкции, состоящие из нескольких слов, особенно если это позволяет избежать необходимости выполнять еще одну выборку константы из память данных.
Я ожидаю, что это должно быть 32 768 однословных инструкций. Если «слово» состоит из двух байтов, а в памяти 65 536 байт, то в памяти может храниться 32 768 таких слов. Это никак не связано со скоростью памяти.
Дэйв Твид
Эллиот Алдерсон
илккачу