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?
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.
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
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?
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 ;)...
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.
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ą.
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.
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".
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?
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.