-
Data: 2016-02-07 11:28:05
Temat: Re: Różnice między mikrokontrolerami
Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Sat, 6 Feb 2016 00:08:06 +0100, Grzegorz Kurczyk napisał(a):
> 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.
Przy czym zauwaz, ze to jest luzno zwiazane z "harvardowoscia".
Osobna pamiec programu ... program w C w zasadzie programu nie rusza,
a tam gdzie rusza (adres funkcji), tam kontekst jest z gory ustalony.
Problemem sa dane przechowywane w pamieci programu.
Cos w zasadzie sprzeczne z harwardowoscia :-)
C sie z tym boryka od dawna - byl chocby segment danych
niezainicjowanych i zainicjowanych czy nawet stalych.
Oczywiscie w uC przez dlugi czas bylo malo pamieci, co zachecalo do
uzycia ROM, z drugiej strony ROM jest wolny, a RAM szybki, co zacheca
do przepisania programu do RAM. Nawet jesli to specjalny RAM,
wydzielony tylko na program :-)
> 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.
Harvard Harvardem, ale w co bardziej uniwersalnych systemach jest
potrzeba aby program tworzyl program do wykonania w RAM, czy nawet
zaczytywal go z dysku. I dostep do pamieci programu musi byc, nawet
jesli to pamiec specjalna.
J.
Następne wpisy z tego wątku
- 07.02.16 11:30 J.F.
- 07.02.16 11:39 J.F.
- 07.02.16 12:22 Sebastian Biały
- 07.02.16 12:57 janusz_k
- 07.02.16 13:03 janusz_k
- 07.02.16 13:05 Marek
- 07.02.16 20:06 Zbych
- 07.02.16 20:39 Sebastian Biały
- 07.02.16 20:49 Zbych
- 07.02.16 21:25 Marek
- 07.02.16 21:29 Sebastian Biały
- 07.02.16 22:03 J.F.
- 07.02.16 22:15 J.F.
- 07.02.16 23:15 Marek
- 08.02.16 21:28 janusz_k
Najnowsze wątki z tej grupy
- LED
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
Najnowsze wątki
- 2024-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami
- 2024-05-18 LED
- 2024-05-19 ceny nieruchomości
- 2024-05-18 Szczecin => UX/UI Designer <=
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=