-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
-for-mail
From: Adam Dybkowski <a...@4...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Zelety architektury Von Neumannna w uC ARM?
Date: Sun, 08 Nov 2009 21:23:28 +0100
Organization: http://onet.pl
Lines: 36
Message-ID: <hd79bs$v2d$1@news.onet.pl>
References: <9...@z...googlegroups.com>
<hd4slt$tv5$1@news.onet.pl> <hd65se$pan$1@atlantis.news.neostrada.pl>
<r...@4...com>
<d...@r...googlegroups.com>
<hd6al2$5vn$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: aelf158.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1257711804 31821 79.191.31.158 (8 Nov 2009 20:23:24 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Sun, 8 Nov 2009 20:23:24 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.23) Gecko/20090812
Thunderbird/2.0.0.23 Mnenhy/0.7.6.666
In-Reply-To: <hd6al2$5vn$1@atlantis.news.neostrada.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:575158
[ ukryj nagłówki ]Paweł pisze:
>> 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?
>
> 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.
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.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Najnowsze wątki z tej grupy
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
Najnowsze wątki
- 2025-02-14 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-14 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-02-14 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-14 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-02-14 Kraków => Technical Team Leader (Clojure, Java) <=
- 2025-02-14 Ściemniacze na parkingach
- 2025-02-13 kilka pytań o klimę
- 2025-02-13 genialny pomysł
- 2025-02-12 diesel z otwartą komorą
- 2025-02-14 60 mA dużo czy spoko?
- 2025-02-13 Jaka moc wi-fi ?
- 2025-02-12 Drabina rozsuwana
- 2025-02-13 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-13 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-02-13 Warszawa => Staż w dziale Sprzedaży B2B <=