STM32 architektura pami?ci.

Cześć. Zastanawia mnie jedna sprawa dotycząca tych uC. Jak to jest z ich architekturą. Podobno jest harwardzka? Tylko dlaczego w dokumentacji pamięć jest pokazana jako ciągła czyli flash potem RAM w adresach rosnących? Czy jeśli była by to faktycznie harwardzka to czy Flash i RAM nie powinny zaczynać się od zera?

Reply to
slawek7
Loading thread data ...

W dniu 2011-05-30 06:29, slawek7 pisze:

To co widzi programista nie musi się pokrywać z tym jak fizycznie są podzielone magistrale.

Reply to
Zbych

Dobrze, ale w takim razie jaka jest fizyczna różnica dla programisty. W którym czasie użytkownik, programista odczuje róznicę w architekturze. Tego nie rozumiem.

Reply to
slawek7

W dniu 2011-05-30 08:05, slawek7 pisze:

Jedyna różnica jaką zauważysz, to prędkość. Można w jednym cyklu pobrać (następny) rozkaz z FLASHa i dane (do bieżącego rozkazu) z RAMu.

Reply to
Zbych

Czyli podczas programowania (pisania programu) nie ma żadnej różnicy? To po co tak zawsze głośno o tym? A STM32 jaka ma w końcu architekturę, bo czytam o sprzecznych opisach

Reply to
slawek7

ARMv7-M :) ARM napisał, że Harvard:

formatting link
że zmylił rdzeń ARM7TDMI-S, który ma architekturę ARMv4T. Trochę to zamieszane.

Michał

Reply to
Michał Lankosz

A znacie jakieś strony poświęcone STM32? Powiem szczerze że ciężko się połapać nawet w tych sygnałach zegarowych, juz nie mówiąc o tym że ciężko rozszyfrowac to jak to nazwali. Npco to jest AHB?

Reply to
slawek7

W dniu 2011-05-30 12:16, slawek7 pisze:

Wszystko jest dostępne na stronie producenta i ewentualnie na stronie ARM. Chyba nie oczekujesz, że ktoś ci tu będzie przepisywał pdfy?

formatting link
formatting link

Reply to
Zbych

Co prawda to nie stm, ale tam chyba co nieco było o szynie AHB i VPB.

The Insider's Guide to the Philips ARM7 - Based Microcontrollers

Paweł

Reply to
pawel

To trochę tak - z punktu widzenia konstruktora, architektura jest harwardzka. Są dwie magistrale, koniec, kropka. Z punktu widzenia programisty - praktycznie von Neuman - jedna przestrzeń adresowa, nie wiesz, czy odnosisz się do pamięci programu (flash) czy danych (RAM). A czemu o tym głośno?? Bo gdyby było to zrobione w typowej architekturze von Neumana, to by działało wolniej i tyle ;)... Piszesz referat na ten tema, jakąś pracę, czy chcesz zacząć tego używać? Bo trochę nie wiem, jakiej wiedzy poszukujesz ;)...

Reply to
Konop

Chcę zacząć tego używać. Tą książkę co powyżej pokazuje Zbych mam i wg mnie są tam sprzeczne rzezcy. Na początku pisze o jednym a potem wewnątrz coś zupełnie przeciwnego. Nie mogę też zrozumiec o co chodzi w tych własnie sygnałach zegarowych. Aby było śmieszniej nie doszukałem się w żadnym pdfie jakie mogą byc wartości preskalera dla każdego z tych sygnałów a nie mówiąc własnie co oznaczają niektóre skróty. Coś mi sie wydaje że są to zbyt nowe uC i chyba większośc działa po omacku.

Reply to
slawek7

Użytkownik "Konop" snipped-for-privacy@gazeta.pl napisał w wiadomości news:is0ega$aj8$ snipped-for-privacy@inews.gazeta.pl...

No zaraz, zaraz. Ale jest podstawowa kwestia... program da się uruchomić tylko z flesha, czy z RAM-u też. Bo jeśli tylko z flesha, to jest to typowa architektura harwardzka i adresacja ma tu drugorzędne znaczenie. Po prostu po zdekodowaniu adresu wiadomo do jakiej magistrali się odwołać a co za tym idzie można nie bawić się z osobnymi instrukcjami do odczytu flesha, jak to jest w AVR, gdzie przestrzenie adresowe się pokrywają.

Reply to
Marcin Wasilewski

W dniu 30.05.2011 19:09, slawek7 pisze:

Max częstotliwość magistrali zależy od modelu, ST robi wersje z max zegarem 36, 48, 72 MHz. To wszystko masz w pdfach.

Reply to
Zbych

W dniu 30.05.2011 19:24, Marcin Wasilewski pisze:

Program można też uruchomić z SRAMu.

Michał

Reply to
Michał Smolnik

Użytkownik "Michał Smolnik" snipped-for-privacy@fims.pl napisał w wiadomości news:is0qld$h50$ snipped-for-privacy@news.onet.pl...

Ale program będzie wolniej się wykonywał, przynajmniej korzystający z pamięci danych (w RAM).

Michał

Reply to
Michał Lankosz

W dniu 30.05.2011 23:05, Michał Lankosz pisze:

W datasheecie to rozwiązanie jest zaznaczone jako dla debugu.

Michał

Reply to
Michał Smolnik

W dniu 30.05.2011 23:05, Michał Lankosz pisze:

Ztcw będzie się szybciej wykonywał (i z mniejszym poborem prądu) - FLASH powyżej 24MHz musi mieć 1 a powyżej 48 - 2 wait-state. RAM - nie.

Dlaczego?

Reply to
Michoo

Użytkownik "Michoo" <michoo snipped-for-privacy@vp.pl napisał w wiadomości news:is128v$i0b$ snipped-for-privacy@news.onet.pl...

Elementarne. Jeśli instrukcje programu są pobierane z jednej magistrali, w tym samym czasie na drugiej magistrali mogą być pobierane dane. W opisywanym przypadku, gdy będziesz pobierał z SRAM dane, to nie będziesz mógł w tym czasie pobierać instrukcji. Oczywiście nie każda instrukcja polega na przesyłaniu danych. Ale na pamięci SRAM zapewne i jakieś DMA działa. A to wszystko pochłania cykle dostępu.

Reply to
Marcin Wasilewski

To co siedzi w tych prockach nosi nazwę zmodyfikowanej architektury Harvard czyli dwie oddzielne szyny do pobierania instrukcji i przesyłu danych, ale wspólna przestrzeń adresowa. To jest w zasadzie najbardziej elastyczne rozwiązanie dzięki któremu program i dane mogą ale nie muszą być umieszczone w fizycznie oddzielnych pamięciach włącznie z możliwością odseparowania tylko fragmentów kodu np. procedur obsługi przerwań. Dosyć adekwatnie przedstawia sytuację chociażby ten diagram:

formatting link
Jak widać, oprócz tradycyjnych szyn I i D jest jeszcze szyna systemowa z oddzielną przestrzenią adresową umożliwiającą alokację zarówno instrukcji jak i danych (z przewagą tego drugiego - m.in połączenia z peryferiami).

Ogólnie we współczesnych architekturach z wielowarstwowymi magistralami oraz złożonymi hierachiami pamięci i przestrzeniami adresowymi mapowanymi na wiele równolegle dostępnych zasobów te podziały na Harvardy i von Neumany wg mnie powoli tracą rację bytu - trzeba patrzeć na "pełen obrazek".

Pozdrawiam! Portal

Reply to
Portal

A powiesz mi jeszcze gdzie znaleźć opisy (wyjaśnienienia) sygnałów zegarowych występujących w STM32 i ich preskalerów. Tylko prosze nie mówcie że jest to w pdfach, bo pewnie tak jest. Problem w tym, w którym?

Reply to
slawek7

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.