eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaZelety architektury Von Neumannna w uC ARM?Re: Zelety architektury Von Neumannna w uC ARM?
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: