-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin3!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.ne
ws.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for
-mail
Date: Wed, 10 Feb 2016 19:14:10 +0100
From: mk <reverse_lp.pw@myzskm>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
Newsgroups: pl.misc.elektronika
Subject: Re: Różnice między mikrokontrolerami
References: <56b49564$0$642$65785112@news.neostrada.pl>
<n92n98$u9o$1@node2.news.atman.pl>
<56b50477$0$22831$65785112@news.neostrada.pl>
<56b52b57$0$22826$65785112@news.neostrada.pl>
In-Reply-To: <56b52b57$0$22826$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 54
Message-ID: <56bb7def$0$22833$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: host-178-216-93-110.sta.tvknaszapraca.pl
X-Trace: 1455128048 unt-rea-a-02.news.neostrada.pl 22833 178.216.93.110:2297
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:693949
[ ukryj nagłówki ]W dniu 2016-02-06 00:08, Grzegorz Kurczyk pisze:
> W dniu 05.02.2016 o 21:22, Atlantis pisze:
>> W dniu 2016-02-05 o 18:47, Sebastian Biały pisze:
>>
>>> Przy czym zaznaczam że czasami harvardowatość jest ukryta przed kodem
>>> usera. Mówimy o procesorach gdzie jest to widoczne, jak na przykład AVR.
>>> Tam jezyk C z definicji bedzie musiał być wspierany w mało przenośny
>>> sposób aby wydajnie programować.
>>
>> Hmm... O jakich aspektach kodu pod AVR tutaj mówimy?
>>
>
> AVR ma oddzielną pamięć programu i danych co powoduje, że np do
> odczytania bajtu z pamięci programu (która ma szynę 16-bitową) służy
> inny rozkaz procesora niż do czytania bajtu z pamięci danych z szyną
> 8-bitową. Czyli jeśli z poziomu języka wyższego poziomu chcesz np.
> wyświetlić jakiś napis, to masz dwie różne definicje łańcucha
> określające w jakiej pamięci ma być umieszczony i dwie różne procedury
> do wyświetlania tego łańcucha w zależności gdzie był umieszczony. W
> AVRGCC jest specjalny typ wskaźnikowy do stałych umieszczonych w pamięci
> programu.
Wstępnie zaznaczę, że nie znam kompletnie AVRGCC...
Jeśli tak jest, że w AVRGCC *nie da się* zmienną wskaźnikową wskazać raz
na obiekt w pamięci programu, a potem na obiekt w pamięci zmiennych, to
jest to tylko ułomność owego AVRGCC. MCS-51 miał jeszcze bardziej
porypany model pamięci i do każdej z nich trzeba było się odwoływać
innymi instrukcjami maszynowymi. Niemniej kompilator Keila bez problemu
sobie z tym radził i standardowe wskaźniki C były implementowane w taki
sposób, że takim wskaźnikiem do woli można skakać pomiędzy różnymi
rodzajami pamięci MCS-51. Standard C nie wymusza, że wskaźnik musi być
li tylko adresem. Wskaźnik jak najbardziej może przechowywać dodatkowe
informacje pozwalające na dobranie się do wskazywanego obiektu bez
żadnych dwuznaczności.
W kompilatorze Keila na MCS-51 wskaźnik zajmował trzy bajty -- jedno
pole 8-bit typu pamięci + 16-bitowy adres. Oczywiście były też
niestandardowe wskaźniki służące do pokazywania tylko w wybranym typie
pamięci -- to dla tych co lubią/potrzebują optymalizować kod.
> Przy architekturze von Neumanna nie ma rozdzielenia pamięci danych od
> pamięci programu. O tym czy procesor widzi pamięć w danej chwili kostkę
> RAM, EPROM czy rejestr jakiegoś I/O decyduje dekoder adresów. Procek
> może wykonywać rozkazy umieszczone w dowolnym obszarze przestrzeni
> adresowej. Z punktu widzenia języka wysokiego poziomu w rodzaku C taki
> sam wskaźnik char* może wskazywać na jakiś fragment kodu programu, daną
> czy rejestr układu I/O.
Napomnę o Modified Harvard Architecture, współcześnie
najpopularniejszej, łączącej wspólną przestrzeń adresową i korzyści
posiadania dwóch (a może i jeszcze więcej) magistral.
pzdr
mk
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Czy cos fi przechodzi przez trafo separujące?
- śrubka masy
- Ciekawostka na dziś lock bity
- [OT] napisy w YT
- Było 83V
- Stare komputery
- Odbiornik ADS-B i wzmacniacze
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML