1. Opisz technologie procesorów, jakie znasz.
Technologie procesorów możemy podzielid na procesory ogólnego przeznaczenia, procesory mocno specjalizowane, czyli pojedynczego
przeznaczenia oraz procesory specjalizowane, ale programowalne, czyli przeznaczone do pewnego zakresu zastosowao.
Procesory ogólnego przeznaczenia to inaczej mikroprocesory. Są to programowalne software'owo procesory, zawierające pamięd
programu, ogólną ściezkę danych z dużym plikiem rejestru i jednostkę arytmetyczno-logiczną ogólnego przeznaczenia. Są bardzo elastyczne
i potrzeba niewiele czasu, by wprowadzid je na rynek. Niewielki jest także koszt jednokrotnego opracowania, ale za to pobierają dużo mocy,
są wolne i duże. Przykład: Pentium.
Procesory mocno specjalizowane, czyli procesory pojedynczego przeznaczenia, to procesory dedykowane do wykonywania tylko i
wyłącznie jednego programu. Nie posiadają zatem pamięci programu. Nazywane są koprocesorami, akceleratorami. Ponieważ program jest
zrealizowany sprzętowo, zaletami są niski pobór mocy, szybkie działanie, mały rozmiar. Wadą wysoki koszt jednorazowego opracowania,
długi czas do wprowadzenia na rynek, brak elastyczności.
Procesory specjalizowane, ale programowalne, czyli wyspecyfikowane dla pewnej kategorii zastosowao. Posiadają ściezkę danych
zoptymalizowaną pod kątem pewnej klasy zastosowao, które mają wspólne cechy. Są kompromisem pomiędzy procesorami ogólnego i
pojedynczego przeznaczenia. Względnie duża elastycznośd, chod nie tak duża jak w procesorach ogólnego przeznaczenia. Względnie duża
szybkośd działania, względnie mały rozmiar i względnie niski pobór mocy, chod te parametry nie są tak dobre, jak w przypadku procesorów
pojedynczego przeznaczenia.
2. Porównaj zależnośd między architekturą, metodologią i funkcjonalnością systemów wbudowanych.
Podobno jest to gdzieś pokazane jako trójkąt, ale nic takiego nie znalazłem.
Mogę natomiast porównad zależnośd między STRUKTURĄ, GEOMETRIĄ i funkcjonalnością systemów wbudowanych, co jest pokazane jako
litera "Y".
Porównania takiego dokonali Daniel Gajski i Kuhn na wykresie Gajskiego-Kuhna. Wykres składa się z dużej litery "Y" oraz kilku
koncentrycznych kół. Przedstawia on stopniowe narastanie poziomów abstrakcji oraz wzajemne powiązanie płaszczyzn abstrakcji w trzech
aspektach: strukturalnym, geometrycznym i funkcjonalnym. Te poziomy abstrakcji narastają od poziomu układowego, poprzez poziom
logiczny, poziom RTL i poziom algorytmiczny, aż do poziomu systemowego.
W aspekcie geometrycznym odzwierciedla się to przez przejście od szczegółu do ogółu: od topografii standardowych komórek, czyli
prostokątów, poprzez topografię symboliczną komórek (ich obrys), plany powierzchni modułów i plany powierzchni układów scalonych, aż
do podziału fizycznego na urządzenia, moduły, płyty PCB i układy scalone.
W aspekcie strukturalnym poziom abstrakcji narasta od elementów układowych (takich jak tranzystory, czy elementy RC), poprzez
elementy logiczne (bramki,przerzutniki), bloki funkcjonalne (ALU,sumatory,rejestry,liczniki) i moduły sprzętowe (ścieżki danych,
kontrolery), aż do architektury systemu (procesory, pamięci, kanały komunikacyjne).
W aspekcie behawioralnym, czyli funkcjonalnym poziom abstrakcji narasta od układu nieliniowych równao całkowo-różniczkowy, poprzez
równania boolowskie, opisy na poziomie przesłao międzyrejestrowych (czyli RTL) i definicje algorytmów, aż do nieformalnego opisu funkcji
systemu i ograniczeo projektowych.
3. Co to jest regulacja automatyczna?
Regulacja automatyczna to automatyczne utrzymywanie warunków wymaganych dla poprawnej pracy urządzenia.
5. Wymieo aspekty, na jakie zwraca się uwagę przy tworzeniu systemów wbudowanych:
Przy tworzeniu systemów wbudowanych należy zwrócid uagę na: ogólną wydajnośd, odczuwaną przez użytkownika, przestrzeganie limitów
czasowych dla funkcji czasu rzeczywistego, interfejs użytkownika, koszt jednorazowego opracowania, koszt wytworzenia jednostki, pobór
mocy, rozmiar, wagę, czas jednorazowego opracowania, czas wytworzenia jednostki, RYZYKO.
6. Co powoduje, że w systemach wbudowanych korzysta się obecnie z mikroprocesorów, a nie - jak kiedyś - na przykład z pomp
hydraulicznych?
Przede wszystkim dlatego, że mikroprocesory są programowalne. Poza tym mikroprocesory są mniejsze i wydzielają mniej ciepła.
7. Software-radio.
Software-defined radio to radio programowalne, czyli system komunikacji radiowej, w któym działanie podstawowych elementów
elektronicznych jest realizowane za pomocą programu komputerowego.
8. Multimedia.
Multimedia to media, które wykorzystują różne formy przekazu informacji (na przykład tekst, dźwięk, grafikę, animację, wideo).
9. Co to jest system wbudowany?
System wbudowany to system komputerowy, dedykowany do pełnienia okreslonego zadania, zintegrowany ze sprzętem, na którym został
zainstalowany.
10. Co to jest MTBF i jak się to liczy?
MTBF to Mean Time Between Failure, czyli średni czas między awariami. Liczy się go, sumując MTTF i MTTR, czyli średni czas do awarii i
średni czas do naprawienia. Średni czas do awarii można obliczyd, sumując wszystkie czasy do awarii w doświadczeniu i dzielając je przez
liczbę awarii. Analogicznie można obliczyd MTTR.
11. Jaka jest różnica pomiędzy bezpieczeostwem a niezawodnością?
Niezawodnośd to gwarancja, że system będzie działał poprawnie.
Bezpieczeostwo to gwarancja, że nawet jeśli system przestanie działad poprawnie, to konsekwencje nie będą straszne.
12. Co to jest SystemC?
SystemC to język opisu systemów cyfrowych, który umożliwia programowanie równoległe na wielu poziomach abstrakcji - na niskich
poziomach jest wzorowany na VHDL i Verilogu, a na wyższych poziomach abstrakcji może korzystad z wielu zasobów C++.
13. Jakie są rodzaje bezpieczeostwa systemów wbudowanych?
Może byd bezpieczeostwo, gwarantujące, że nie dojdzie do awarii, a może byd takie, które wprawdzie nie gwarantuje bezawaryjności, ale za
to gwarantuje, że nawet awaria nie przyniesie strasznych konsekwencji.
14. Jakie są plusy i minusy standaryzacji w tworzeniu systemów wbudowanych?
Plusy standaryzacji są takie, że jeśli my projektujemy coś zgodnie ze standardem i nie jest to kompatybilne z czymś, co stworzył ktoś inny, to
to nie jest nasza wina, tylko jego, bo nie projektował zgodnie ze standardem. Większośd będzie się trzymad standardu, więc nie będzie
problemu z kompatybilnością. Poza tym standardy często wynikają z rozwiązao dobrze przemyślanych i działających, więc działając zgodnie
z nim, możemy mied dośd dużą pewnośd, że nie powinny wystąpid te rodzaje błędów, które mogłyby wystapid, gdybyśmy się nie trzymali
standardu.
Minusy standaryzacji są takie, że czasem standard nie przewiduje bardzo użytecznych funkcjonalności i potrzeba czasu, aby weszły one do
standardu. Trzymanie się standardu jest dla nas ograniczeniem.
15. Omów charakterystyki systemów wbudowanych.
Cechy charakterystyczne systemów wbudowanych są następujące:
Po pierwsze są one dedykowane do pełnienia z góry określonych zadao.
Po drugie stają się one integralną częścią sprzętu, na którym zostają zainstalowane.
Po trzecie nierzadko zawierają one operacje czasu rzeczywistego, czyli takie, które zawsze muszą się wykonad w czasie niedłuższym niż z
góry określony próg.
Ponadto systemy takie muszą byd sterowane zdarzeniami, czyli oblizenia muszą byd wykonywane w odpowiedzi na określone zdarzenia
zewnętrzne.
Co więcej, poprawnośd w systemach wbudowanych jest funkcją czasu - to znaczy, ponieważ jest nałozony górny limit na czas wykonania
niektórych zadao, to gdy zbliża się czas kooczenia, obliczenia mogą zostad wykonane mniej dokładnie, byle tylko zmieścid się w czasie.
Systemy wbudowane, ponieważ zazwyczaj mają procesory pojedynczego znaczenia, mają mały rozmiar i mało ważą. Pobierają też niewiele
mocy.
Są nierzadko projektowane w taki sposób, by były odporne na ekstremalne czynniki zewnętrzne, takie jak ciepło, wibracje, prąd
elektryczny, fluktuacje mocy, błyskawice, korozja.
Często zawierają operacje krytyczne dla bezpieczeostwa.
Są bardzo czułe kosztowo - drobna zmiana może spowodwad duży wzrost kosztów.
Często zastępują wczesniejsze komponenty elektromechaniczne.
Często nie posiadają prawdziwej klawiatury.
Często urządzenie wyświetlające ma ograniczoną funkcjonalnośd (lub nie ma go wcale).
16. Wydajnośd w systemach wbudowancyh to zarówno ogólna efektywnośd działania systemu, odczuwalna przez użytkownika, jak i
przestrzeganie nieprzekraczalnych limitów na czas wykonania oeracji rygorystycznego czasu rzeczywistego.
17. Systemy wbudowane oceniamy według takich kryteriów jak rozmiar, waga, pobór mocy, elastycznośd programowania, wydajnośd
ogólnie odczuwana przez uzytkownika, przestrzeganie limitów czasowych na operacje czasu rzeczywistego, koszt i czas jednorazowego
opracowania, koszt i czas produkcji jednostki.
18. Jakie są wyzwania projektowe?
Trzeba skonstruowad taki system, który będzie poprawnie funkcjonował w środowisku, dla którego jest przeznaczony. System musi byd
wydajny, lecz wydajnośd jest tutaj rozumiana inaczej niż w przypadku pecetów. Chodzi tu o ogólną efektywnośd odczuwaną przez
użytkownika oraz o limity czasowe na operacje czasu rzeczywistego. Z powodu tych limitów, poprawnośd często staje się funkcją czasu,
ponieważ im mniej czasu do przekroczenia limitu, tym szybciej trzeba wykonad obliczenia, nawet kosztem ich dokładności. Ponadto dośd
ważne jest też, aby pobór mocy nie był zbyt duży. Zbyt duże nie powinny byd też rozmiar i waga. Czasem przydaje się też pewna
elastycznośd, rozumiana jako stopieo programowalności systemu.
Aby spełnid wymagania stawiane przed systemem, trzeba go dobrze wyspecyfikowad, wybrad odpowiednią platformę, metodologię
projektowania, technologię: procesorów, układów scalonych. Odpowiedni język programowania, narzędzia, ludzi. Trzeba wykonywad
testowanie, weryfikację, walidację. Trzeba integrowad sprzęt z softwarem.
19. "Ogólnie o SW gdzie wystepuja itp itd (lanie wody". Czyli pytanie może brzmied na przykład: "Proszę polad trochę wody o systemach
wbudowanych".
Systemy wbudowane to systemy komputerowe o wyspecjalizowanym przeznaczeniu, zintegrowane ze sprzętem na którym zostały
zainstalowane. Występują niemal wszędzie: W pralkach, w inteligentnych lodówkach, w samolotach, pociągach, statkach, samochodach,
odtwarzaczach DVD, satelitach, czołgach, zautomatyzowanych fabrykach, systemach zarządzania wentylacją, windach, itp.
Za pierwszy system wbudowany można uznad windę.
20. Czym się różni architektura systemów wbudowanych od architektury systemów ogólno dostępnych?
Systemy ogólnodostępne zazwyczaj mają technologię procesorów ogólnego przeznaczenia, czyli programowalnych software'owo, z
pamięcią programu, ogólną ścieżką danych z dużym plikiem rejestru i jednostką arytmetyczno-logiczną ogólnego przeznaczenia.
Systemy wbudowane często mają technologię procesorów pojedynczego przeznaczenia, czyli z konfiguracji sprzętowej wynika realizacja
dokładnie jednego programu. Brak jest zatem w nich pamięci programu. Są one nieelastyczne, ale za to mniejsze, lżejsze, o mniejszym
poborze mocy.
21. Znaczenie sieci w systemach wbudowanych.
Sied udostępnia szerszy wachlarz funkcji, które mogą byż realizowane w systamch wbudowancyh - na przykłąd obraz z windy może byd
przesyłany przez sied do administracji.
22. Czym się różni projektant (w kontekście umiejętności, itp.) systemów wbudowanych od systemów ogólnego przeznaczenia?
Projektant systemów wbudowanych musi umied programowad na różnych poziomach abstrakcji: Na niskim poziomie w VHDL, Verilogu, na
wysokim w C++. Musi posiadad umiejętności sprzętowe, rozumied technikę cyforwą. Musi umied poprawdzid cały projekt od specyfikacji aż
po produkcję.
Musi posiadad umiejętności komunikacji i pracy w zespole, ponieważ musi pracowad z innymi dyscyplinami, z wytwarzaniem,
marketingiem. Musi umied prowadzid dobrze rozmowę z klientem, aby dokładnie zrozumied rzeczywisty problem do rozwiązania. Musi
umied dobrze zaprezentowad swój produkt.
Musi umied programowad mikrokontrolery, FPGA, ASIC, programowad w assemblerze, znad się na przetwarzaniu analogowo-cyfrowym i w
drugą stronę. Powinien umied projektowad w sposób zorientowany obiektowo. Radzid sobie z implementacją systemu czasu rzeczywistego.
Nieraz tworzyd kreatywne rozwiązania dla bardzo złożonych problemów.
Dodatkowymi atutami mogą byd umiejętności projektowania w UML, znajomośd sieci, Java, Windows CE.
Nie tyle powinien byd odkrywczy, ile umied wybrad jak najlepsze gotowe rozwiązania, narzędzia, języki programowania i ludzi, aby jak
najszybciej i jak najmniejszym kosztem wykonad produkt.
23. Czym się różni walidacja od weryfikacji?
Weryfikacja to testowanie, czy projektowane rozwiązanie zgadza się z wymaganiami specyfikacji, a walidacja to sprawdzanie, czy
postawione wymagania zapewnią poprawną pracę w systemu, w warunkach dla których jest on przeznaczony.
24. W jaki sposó bym zaprojektował skomplikowany system wbudowany do samolotu?
Przede wszystkim zapoznałbym się z aktualnymi projektami, dotyczącymi takich systemów - wszystkim, co jest publicznie dostępne, do
czego mógłbym uzyskad dostęp. Poznałbym bezpieczne, niezawodne, efektywne rozwiązania, które się stosuje. Zapoznałbym się ze
standardowymi rozwiązaniami dla takich systemów, o ile takie istnieją.
Ustalam wymagania, jakie system ma spełniad. Na ich podstawie tworzę specyfikację.
Zakładając, że mam się zabrad za taki system, dysponuję wystarczającymi środkami finansowymi i potencjalnym kapitałem ludzkim.
Wybieram najlepszą możliwą dla specyfikacji platformę, narzędzia, języki, ludzi. Dokonuję sprawdzenia, czy postawione wymagania
zagwarantują satysfakcjonujące działanie systemu, porównam je z wymaganiami już istniejących systemów. Zaprojektuję system,
zweryfikuję, czy zgadza się on z wymaganiami specyfikacji. Zaprojektuję oprogramowanie, zbuduję je. Zintegruję ze sobą i ze sprzętem.
Dokonam integracji i kalibracji. Zgodnie z diagramem V-chart. Przy projektowaniu wykorzystam symulację. Przy tworzeniu specyfikacji
utworzę specyfikacje wykonywalne, wykorzystujące modele. Wdrażanie wykonam z automatyczną generacją kodu. Jednoczesnie będę cały
czas wykonywał weryfikację i walidację podczas projektowania.
25. Co to jest sied sensorowa?
Sied sensorowa to sied złożona z wielu małych urządzeo rozlokowanych na pewnym obszarze w celu realizacji pewnego wspólnego dla
wszystkich zadania.
26. Projektowanie systemów.
Standardowy styl projektowania systemów można przedstawid na nastepującym przykładzie: najpierw projektujemy system. Następnie
projektujemy software, jednocześnie projektujemy FPGA i potem wykonujemy jego symulację, jednocześnie projektujemy PCB, potem ją
wytwarzamy i testujemy. Po tych 3 równoległych etapach testujemy PCB, a potem testujemy Software.
Nowoczesny styl projektowania wygląda następująco: Najpierw projektujemy system, a potem współprojektujemy software i hardware,
tzw. "Shared design". Potem testujemy PCB, następnie tetujemy sfotware i jeśli coś jest nie tak, przeprojektowujemy go.
Możemy zaprojektowad też system w taki sposób, że w C++ projektujemy system, potem przerzucamy to do SystemC (i przy tym musimy
pozmieniad typy danych), w którym dokonujemy zrównoleglenia, a potem równolegle kompilujemy software, syntezujemy hardware i
projektujemy interfejs (wszystko to możemy zrobid w narzędziach Xilinxa). Na koniec dokonujemy integracji i testujemy (też można to
zrobid narzędziami Xilinxa).
27. Zastosowanie systemów wbudowanych w multimediach.
Jeśli chodzi o multimedia to systemy wbudowane są stosowane na przykład w odtwarzaczach DVD, w odtwarzaczach MP3, w
odtwarzaczach MP4, w kamerach cyfrowych, w aparatach cyfrowych i we wszystkich sprzętach tej maści.
28. Walidacja to sprawdzanie, czy postawione wymagania zapewniają poprawną pracę systemu.
29. Weryfikacja to testowanie zgodności projektowanego rozwiązania z wymaganiami specyfikacji.
30. Różnica między mikroprocesorem a mikrokontrolerem jest następująca: Mikroprocesorem często nazywamy procesor ogólnego
przeznaczenia. Jest to cyfrowy układ, umożliwiający wykonywanie cyfrowych operacji na podstawie dostarczonego ciągu instrukcji.
Mikrokontroler to natomiast cały system mikroprocesorowy, który oprócz mikroprocesora zawiera dodatkowe układy, na przykład
umożliwiające operacje wejścia/wyjścia.
31. Różnica między systemami niezawodnymi a bezpiecznymi jest taka, że systemy niezawodne się nie zepsują, a bezpieczne się zepsują,
ale nikogo to nie wzruszy.
32. Architektura systemów wbudowanych. Architektura konkretnego systemu wbudowanego zależy od czynników takich, jak technologia
procesora, technologia układu scalonego.
--------------------------------------------------------------------------------------
Dodatek A:
Świat zewnętrzny jest ANALOGOWY. Piorun - niby uderza "nagle", ale możemy to nagrad i puścid w zwolnionym tempie. (możnaby
ewentualnie polemizowad, że według niektórych teorii czas jest kwantowy).
Dziś systemy wbudowane funkcjonują w środowisku MECHATRONIKI.
Dodatek B:
Zalety techniki cyfrowej (5):
- operacje bez utraty dokładności
- wysoka rozdzielczośd urządzeo
- transmisja informacji przy wysokim poziomie zakłóceo, a mimo to nie tracimy danych
- łatwo przechowad wiele informacji bez ograniczeo w czasie
- własności układu mało zależą od rozrzutu parametrów elementów skłądowych
V-Chart:
1) Specyfikacja wymagao
2) Projektowanie systemowe
3) Projektowanie oprogramowania
4) Budowa oprogramowania
5) Integracja oprogramowania
6) Integracja oprogramowania i sprzetu
7) Integracja i kalibracja
Dodatek C:
Problem przepustowości możemy rozwiązad pieniędzmi, ale opóźnienia (ang. latency) nie - ponieważ nie przekroczymy prędkości światła
("You can't bribe God").