Имеет ли значение порядок выводов для этой оперативной памяти?

11

Я пытаюсь направить чип pic32 в SRAM 128 КБчип и трудно получить все 17 адресных линий и все 8 линий передачи данных. Я пытаюсь привязать первые 16 контактов адреса к контактам 0-15 порта B, а контакты данных к порту 0-7 порта D. Подумав об этом некоторое время, я понял, что, возможно, усложняю свою жизнь, пытаясь выровнять rb0 с a0, rb1 с a1 и т. Д. Все, что я действительно хочу сделать, это записать 16-битное значение в portB и большинство адресов загружены и готовы. Если я назначу контакты на основе простоты маршрутизации, логический адрес будет отличаться между MCU и RAM, но он должен, по крайней мере, быть последовательным. Поскольку больше ничего не нужно для связи с RAM, я не думаю, что это будет проблемой, если mcu запрашивает адрес 0x101, а RAM дает ему адрес 0x110.

Тем не менее, мне интересно, если это хорошая идея. Если в ОЗУ имеется какая-то структура, предназначенная для повышения эффективности последовательных операций чтения, или что-то подобное, то я, возможно, захочу разобраться с их маршрутизацией 1: 1. Расположение выводов на обеих фишках для меня несколько случайное, поэтому мне было бы намного легче, если бы я мог игнорировать конкретные числа. Есть ли веская причина, почему я должен или не должен этого делать?

captncraig
источник

Ответы:

12

В этом случае кажется вполне приемлемым обмениваться битами данных и обмениваться адресными битами. Это не всегда так, как вы намекаете в своем вопросе.

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


Общая:

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

Некоторые ранние динамические воспоминания полагались на последовательность адресов и время доступа для обновления ячеек памяти. Вы вряд ли встретите многие из этих в наши дни.

Некоторые воспоминания (flash, eerom, некоторые другие) имеют время жизни, которое зависит от количества обращений, которое может быть за доступ (чтение или запись) или чаще только за запись, и может быть за ячейку памяти или за некоторое подмножество ячеек памяти , В последнем случае, если вы скремблируете адресные линии, вы можете столкнуться с алгоритмами выравнивания износа. Это может стать потенциальной проблемой только с достаточно специализированными устройствами, и в технических паспортах могут быть достаточно ясные требования

Рассел МакМахон
источник
+1 за квалификатор «В этом случае» и объяснение того, когда это может быть не так.
SplinterReality
5

Нет, порядок не имеет значения. Адресные строки могут быть в любом порядке, как и строки данных.

mikeselectricstuff
источник