background image

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.  
 
 

background image

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.  

background image

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.  
 

background image

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").