-
Data: 2016-02-06 00:08:06
Temat: Re: Różnice między mikrokontrolerami
Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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.
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.
--
Pozdrawiam
Grzegorz
Następne wpisy z tego wątku
- 06.02.16 00:42 JDX
- 06.02.16 08:22 Atlantis
- 06.02.16 10:48 Marek
- 06.02.16 11:18 Sebastian Biały
- 06.02.16 13:26 Atlantis
- 06.02.16 13:55 Sebastian Biały
- 06.02.16 15:29 Atlantis
- 06.02.16 15:30 Mario
- 06.02.16 15:44 Mario
- 06.02.16 20:19 Marek
- 06.02.16 20:48 Sebastian Biały
- 07.02.16 02:20 Marek
- 07.02.16 08:28 slawek
- 07.02.16 10:20 Sebastian Biały
- 07.02.16 10:43 Sebastian Biały
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 <=