Komunikacija v dvoprocesorskem sistemu s skupnim pomnilnikom

Autor: Lukić, Aleksander
Přispěvatelé: Brodnik, Andrej
Jazyk: slovinština
Rok vydání: 2015
Předmět:
Popis: Potreba po vedno zmogljivejših računalniških sistemih na eni strani in fizikalne omejitve na drugi so pripeljale do razvoja večjedrnih procesorjev, ki čedalje bolj prodirajo tudi v področje vgrajenih sistemov in neredko opravljajo različne časovno kritične funkcije. Na tovrstnih sistemih je posebej pomemben mehanizem komunikacije med različnimi programskimi opravili, ki se med sabo morajo usklajevati in si izmenjevati informacije na zanesljiv in časovno predvidljiv način. Posebna vrsta večjedrnih sistemov so asimetrični večjedrni sistemi, kjer so na enem čipu procesorska jedra različnih vrst in zmogljivosti. Na takšnih sistemih se praviloma izvaja ločen primerek operacijskega sistema na vsakem posameznem jedru, kar vprašanje komunikacije med opravili dodatno zaplete. Potrebno je namreč ustvariti ustrezen komunikacijski kanal med opravili, ki tečejo na različnih operacijskih sistemih. V tem diplomskem delu smo razvili mehanizem komunikacije med opravili na asimetričnem dvojedrnem krmilniku LPC4350 z uporabo skupnega pomnilnika. Pri tem smo preučili standardne mehanizme za usklajevanje in komunikacijo in uporabili njihove ključne koncepte pri zasnovi naše rešitve. Mehanizem komunikacije smo implementirali na operacijskem sistemu FreeRTOS in uporabili na praktičnem primeru preprostega temperaturnega krmilnika. The need for increasingly powerful computer systems on the one side and physical limitations on the other have brought about the development of multi-core processors which are becoming part of embedded systems and may often perform time-critical functions. It is particularly important that such systems involve a communication mechanism between various software tasks that need to be synchronised and able to exchange information in a reliable way and predictably in terms of time. Asymmetric multi-core processors belong to a special type of multi-core systems in which one chip combines several processor cores of different types and capacities. In case of such systems, separate operating systems are run on each individual core, which further complicates the communication between tasks. To this end, an adequate communication channel needs to be established between tasks running on different operating systems. For the purpose of the thesis we developed a communication mechanism between tasks on a dual-core controller LPC4350 by using shared memory. We also examined the standard mechanisms for synchronisation and communication and applied their key concepts in our solution. The communication mechanism was implemented on the mbox{FreeRTOS} operating system and used on a practical example involving a simple temperature controller.
Databáze: OpenAIRE