Jeszcze mam jedną sprawę tak trochę tylko związaną z tematem. Mówi się ze dane z pamięci Flash są pobierane wolniej niż z RAM. czy jest to gdzieć napisane. Przykład. Spotkałem opis programu na ARM typu AT91SAM7S256 w którym w celu przyspieszenia pracy zrobiono "sztuczkę" polegającą na przerzuceniu programu z FLASHa do RAM. Dlaczego.Przecież to odczyt. Rozumiem zapis do pamięci, ale odczyt miałby być dłuższy? Skąd to się bierze?
Didn't find your answer? Ask the community — no account required.
J
J.F.
Z osiaganych czasow dostepu w technologii SRAM i FLASH ?
Bo tak jak siegam pamiecia to SRAM byly szybsze, choc to czasem trudno porownac.
J.
P
Paweł
Wszystko jest dokładnie opisane w dokumentacji do procesora. W zależności od częstotliwości zegara programuje się odpowiednie opóźnienia przy dostępie do pamięci Flash. Tak więc w praktyce wykonywanie programu w pamięci RAM zwykle jest znacznie szybsze.
Paweł
A
Adam Dybkowski
Paweł pisze:
100% true. A do tego jeżeli już mówimy o AT91SAM7Sxx to tam wewnątrz jest AFAIR pamięć Flash o organizacji 16-bitowej i dlatego wykonywanie programu w trybie ARM (o instrukcjach 32-bitowych) jest powoolne. Dodatkowo pamięć Flash ma 1 waitstate powyżej chyba 33 MHz zegara (a ten procek musi śmigać na 48MHz gdy działa USB). Pobrania z pamięci programu są "pakowane" w kawałki 32-bitowe (taki mini cache). Ale i tak w praktyce warto kompilować wszystko w trybie Thumb (z instrukcjami
16-bitowe) - nie dość, że kod jest krótszy to jeszcze szybciej działa niż w trybie Thumb. A krytyczne czasowo funkcje kompilować w trybie ARM i wykonywać z RAMu.
Jak miło, że nie trzeba takich kombinacji alpejskich robić w ARM9 (np. AT91SAM9260), bo pamięć cache programu śmiga z pełną prędkością (a dane pobiera np. z SDRAM całymi liniami do cache). W tym przypadku kompilacja w trybie Thumb daje co prawda krótszy kod wynikowy, ale wolniejszy.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.