-
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
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
Najnowsze wątki
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r
- 2025-01-04 Warszawa => Specjalista ds. IT - II Linia Wsparcia <=
- 2025-01-04 Warszawa => Java Developer <=
- 2025-01-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-04 Warszawa => System Architect (Java background) <=
- 2025-01-04 Wrocław => Application Security Engineer <=
- 2025-01-04 Chrzanów => Specjalista ds. public relations <=
- 2025-01-04 Katowice => Key Account Manager (ERP) <=
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-03 Warszawa => International Freight Forwarder <=
- 2025-01-03 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-03 Warszawa => Spedytor Międzynarodowy <=