Czy kolejność pin w ogóle ma znaczenie dla tej pamięci RAM?

11

Próbuję skierować układ pic32 do 128 kB SRAMmikroprocesor i trochę trudno jest połączyć wszystkie 17 linii adresowych i wszystkie 8 linii danych. Próbuję przywiązać pierwsze 16 pinów adresu do pinów portu B 0-15 i pinów danych do portu D 0-7. Po zastanowieniu się przez chwilę zdałem sobie sprawę, że prawdopodobnie utrudniam moje życie, próbując wyrównać rb0 z a0, rb1 z a1 itd. Jedyne, co naprawdę chcę, to napisać 16-bitową wartość do portu B i większość adresów jest załadowana i gotowa. Jeśli dokonam przypisania pinów w oparciu o łatwość routingu, adres logiczny będzie różny dla mcu i pamięci RAM, ale powinien być przynajmniej spójny. Ponieważ nic więcej nie musi komunikować się z pamięcią RAM, nie sądzę, że będzie problem, jeśli mcu poprosi o adres 0x101, a pamięć RAM da mu adres 0x110.

Zastanawiam się jednak, czy to dobry pomysł. Jeśli istnieje jakaś struktura wewnętrzna pamięci RAM zaprojektowana tak, aby sekwencyjne odczyty były bardziej wydajne, lub coś w tym rodzaju, to może będę chciał zmusić ich do routingu 1: 1. Rozmieszczenie pinów na opłatach za oba żetony jest dla mnie dość losowe, więc znacznie łatwiej byłoby mi zignorować poszczególne liczby. Czy jest jakiś dobry powód, dla którego powinienem lub nie powinienem tego robić?

captncraig
źródło

Odpowiedzi:

12

W takim przypadku wymiana bitów danych i wymiana bitów adresu wydaje się całkowicie akceptowalna. Nie jest tak powszechnie, jak wspominasz w swoim pytaniu.

W tym przypadku urządzenie jest statyczną pamięcią RAM - szybkie przeglądanie arkusza danych AS6C1008 nie wykazało żadnej możliwości szybkiego dostępu jakiegokolwiek rodzaju ani żadnych zależności czasowych związanych z adresem.


Generał:

Niektóre pamięci dynamiczne pozwalają na rozrywanie danych poprzez zatrzaskiwanie dużej części adresu, a następnie sekwencjonowanie niskich bitów adresu. Może to odpowiadać opublikowanej logicznej strukturze wierszy i kolumn lub niektórym tajemnym mechanizmom wewnętrznym, które nie są wyraźnie widoczne z zewnątrz. W takich przypadkach należy trzymać się tego, co mówi arkusz danych, aby uniknąć awarii pamięci.

Niektóre wczesne pamięci dynamiczne opierały się na sekwencjonowaniu adresów i czasie dostępu do odświeżania komórek pamięci. W dzisiejszych czasach prawdopodobnie nie spotkasz wielu z nich.

Niektóre pamięci (flash, eerom, niektóre inne) mają okresy życia zależne od liczby dostępów, które mogą być na dostęp (odczyt lub zapis) lub częściej tylko na zapis, i mogą dotyczyć lokalizacji pamięci lub określonego podzbioru komórek pamięci . W tym drugim przypadku, jeśli szyfrujesz linie adresowe, możesz zakłócać algorytmy wyrównywania zużycia. Będzie to tylko potencjalny problem z dość specjalistycznymi urządzeniami, a karty danych mogą być dość jasne w odniesieniu do wymagań

Russell McMahon
źródło
+1 za kwalifikator „W tym przypadku” i wyjaśnienie, kiedy tak nie jest.
SplinterReality
5

Nie, porządek nie ma znaczenia. Linie adresowe mogą być w dowolnej kolejności, podobnie jak linie danych.

mikeselectricstuff
źródło