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!news2.icm.edu.pl!not-for-mail
    From: Sebastian Biały <h...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Zelety architektury Von Neumannna w uC ARM?
    Date: Sat, 07 Nov 2009 20:39:01 +0100
    Organization: http://news.icm.edu.pl/
    Lines: 43
    Message-ID: <hd4icn$luk$1@achot.icm.edu.pl>
    References: <9...@z...googlegroups.com>
    NNTP-Posting-Host: chello089076023107.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: achot.icm.edu.pl 1257622743 22484 89.76.23.107 (7 Nov 2009 19:39:03 GMT)
    X-Complaints-To: a...@i...edu.pl
    NNTP-Posting-Date: Sat, 7 Nov 2009 19:39:03 +0000 (UTC)
    In-Reply-To: <9...@z...googlegroups.com>
    X-Accept-Language: en-us, en
    User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:575082
    [ ukryj nagłówki ]

    slawek7 wrote:
    > Mam do Was prośbę. Wytłumaczcie mi coś.
    > Jakie są wady i zalety architektury Von Neumanna w uC ARM np
    > AT91SAM7256.

    VN:

    a) możliwość wykonywania kodu z RAM, samomodyfikujący sie kod (np
    dynamiczne ladowanie kodu z karty SD itd).

    b) brak osobnych instrukcji dostepu do różnych obszarow pamięci i I/O -
    tak są skonstruowane współczesne kompilatory jak gcc.

    c) w kodzie char* p = "fff" oznacza to samo bez wzgledu na to gdzie
    fizycznie jest "fff", ten sam kod będzie wysysal dane z RAM i FLASH.

    d) możliwośc tworzenia pamięci wirtualnej w standardowy sposób (bo można
    wykonywac kod w ram).

    H:

    a) podobno latwiej się implementuje więc tańsze chipy

    b) szybsze, bo można w jednym cyklu mieć dwa różne elementy (opcode +
    dana z ram).

    c) dziwaczne kompilatory i/lub workaroundy na istniejace kompilatory

    d) przeginanie niektórych w kierunku wesołych koncepcji jak sprzetowe
    stosy itp co uniemożliwia pracę wielu kompilatorów i w ogóle koncepcji
    (preemptive multitasking na PICach nie jest chyba możliwy).

    > Przecież pisząc jakiś program w C deklarujemy sobie zmienne i tak za
    > bardzo nie wnikam gdzie ona jest lokowana. Mam zmienną i z niej
    > korzystam.

    Niestety nie. Kompilatory C powstawaly w czasach gdy nie bylo do końca
    jasne jak odróżnić różne rodzaje pamięci i czy to w ogole potrzebne.
    Efektem czego co kompilator na embedded to wlasne koncepcje jak okreslić
    "ten string ma być we Flash, a ten w RAM". Mamy więc mase workaroundów na C.

    Duże systemy najczęściej są VN, małe H. Ale cieżko pokazać taką granicę.
    Sam widzisz ze mały ARM7 jest VN.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

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: