JYVÄSKYLÄN YLIOPISTO

Informaatioteknologian tiedekunta

10.1.2001

 

Sulautettujen järjestelmien tutkintovaatimukset

 

Taustaa

Nykyisin mikrotietokoneita (esim. PC-laitteet) käytetään monilla insinööritieteiden ja kaupan sovellusalueilla. Siksi tulee helposti ajatelleeksi että mikrotietokoneita ei missään muualla käytetä lainkaan. Todellisuudessa e.m. käyttökohteet ovat vain pieni osa mikroprosessoritekniikan sovellutuksista sekä vain pieni osa alan kokonaismarkkinoista. Suurin osa mikrotietokoneista on ns. sulautetuissa järjestelmissä, jotka ovat luotu jotain tiettyä tehtävää varten ja joihin on sulautettu mikroprosessoritekniikan tuomaa toiminnallisuutta. Sulautettujen järjestelmien käyttökohteet ovat erinomaisen laajat; lähes kaikki teollisuuden ja kaupan järjestelmät sisältävät sulautettuja järjestelmiä. Esimerkiksi nykyaikaiset polttomoottorien ohjausjärjestelmät, mikroaaltouunit, robotin ohjaimet, hissien ohjausjärjestelmät, puhelinvastaajat, matkapuhelimet, puhelinvaihteet sisältävät yhden tai useampia sulautettuja mikroprosessoreita. Sulautetuille järjestelmille on tyypillistä laitteiston ja ohjelmiston suunnittelu ja toteutus samanaikaisesti, korkeat turvallisuus- ja reaaliaikavaatimukset sekä erilaiset sovelluskohtaiset rajoitteet.

 

Lähitulevaisuuden näkyminä on entistä halvempien laitteiden toiminnallisen älykkyyden kasvaminen sulautetun älyn muodossa sekä näiden laitteiden kyky viestiä toisten laitteiden kanssa. Tulevaisuuden älykkäissä vaatteissa, putkistossa liikkuvissa huolto- ja valvontaroboteissa, lemmikkikoiraroboteissa, rannekelloissa ja kodinkoneissa on monimutkaisia sulautettuja järjestelmiä, jotka tietoliikenneverkon avulla viestivät keskenään.

 

Opetus

Sulautetut järjestelmät ovat järjestelmiä, joissa laitteisto ja ohjelmisto muodostavat erottamattoman kokonaisuuden. Tällaisten järjestelmien tekeminen edellyttää sekä ohjelmistojen että laitteistojen tuntemusta. Sulautettujen järjestelmien koulutuksessa pyritään antamaan opetusta järjestelmien perusarkkitehtuureista, komponenttiteknologiasta sekä järjestelmien suunnittelumetodiikasta. Tällä hetkellä juuri järjestelmien suunnittelu aiheuttaa suurimmat kustannukset. Siksi sulautettujen järjestelmien koulutuksessa korostetaan sulautettujen järjestelmien suunnittelumenetelmien opetusta.

 

Sulautettujen järjestelmien suunnittelu vaatii monesti tietoja useilta eri tekniikan alueilta. Perustiedot elektroniikasta tarvitaan laitteistosuunnittelua varten. Perustiedot tietoliikennetekniikasta tarvitaan järjestelmätason suunnittelua varten, sillä nykyisin sulautetut järjestelmät ovat usein moniprosessorijärjestelmiä, joissa erilliset prosessorit kommunikoivat keskenään. Lisäksi tietoliikennejärjestelmien päätelaitteet (esim. kännykät) ovat yksi voimakkaimmin kasvavista sulautettujen järjestelmien sovellutusalueista, joten tietoliikennetekniikan osuus sulautettujen järjestelmien opetuksessa on tämän johdosta merkittävä. Perustiedot signaalinkäsittelystä ovat tarpeellisia, sillä usein sulautetuissa järjestelmissä joudutaan tekemisiin häiriöllisten mittaustietojen kanssa, joista täytyy kaivaa oleellinen mittaussuure esiin.

Kehityssuuntauksia

Tällä hetkellä sulautettujen järjestelmien suunnittelussa suuntauksena on pyrkimys lyhentää järjestelmän suunnitteluun kuluvaa kokonaisaikaa. Tähän tavoitteeseen pyritään laitteiston ja ohjelmiston suunnittelun samanaikaistamisella (Hardware/Software codesign), suunnittelun abstrahoinnilla yhä korkeammalle tasolle sekä testauksen tehostamisella (Model Cheking).

 

Toteutusteknisellä puolella uutta suuntausta edustaa uudelleen konfiguroitavan laskennan käyttö. Käytännössä tämä tarkoittaa ohjelmoitavien logiikkapiirien (FPGA, CPLD) käyttöä. Uudelleen konfiguroitavan laskennan etuna on suuri laskentateho yhdistettynä toiminnan muunneltavuuteen. Toinen toteutustekniikan uudempi virtaus ovat yhden piirin järjestelmät (SOC, System On Chip). Siinä yhdelle mikropiirille on toteutettu kaikki sulautetun järjestelmän komponentit (prosessori, muistit ja oheislaitteet). Tämäntyyppisen järjestelmän toteuttaminen vaatii kehittyneitä suunnittelutyökaluja sekä tarkkaa pohdintaa, mikä osa toiminnallisuudesta tehdään ohjelmoitavalla prosessorilla ja mikä osa älykkäällä oheislaitteella. Perinteisesti yhden piirin järjestelmät ovat olleet spesifejä ASIC-toteutuksia (Application Spesific Integrated Circuit), mutta nyttemmin on ilmaantunut FPGA-tyyppisiä toteutuksia, joiden etuna on järjestelmän muunneltavuus.

 

Sovelluspuolella on nähtävissä sulautettujen järjestelmien eteneminen black box -tyyppisten ratkaisujen lisääntyminen yleiskäyttöisen PC-ratkaisun sijaan. Tämä tapahtuu seuraavien syiden vuoksi:

Perinteisen ohjelmiston osuus näissä uusissa black box –tyyppisissä ratkaisuissa suhteellisesti vähenee (joskaan ei absoluuttisesti).

Sulautettujen järjestelmien linjan kehitysstrategiat

 

Opetus

Sulautettujen järjestelmien suunnittelu on yhä enenevässä määrin ohjelmistotekniikan prosessien hallintaa. Siksi sulautettujen järjestelmien opetus painottuu käytännönläheisen ohjelmistoteknisen osaamisen vahvistamiseen.

 

Opetuksessa peruselektroniikan suhteen nojaudutaan fysiikan laitoksen tarjoamaan alan opetukseen. Ohjelmoinnin ja ohjelmistoprojektin hallinnan suhteen tukeudutaan tietojärjestelmätieteiden ja ohjelmistotekniikan tarjoamaan opetukseen. Näitä täydennetään omalla opetustarjonnalla. Oma opetus kohdennetaan lähinnä reaaliaikaisten ja hajautettujen järjestelmien, laitteistokuvauskielten ja käytännön projektien hallinnan taitojen kasvattamiseen. Käytännöllisyyttä opetukseen tuodaan voimakkaalla panostuksella laboratorioharjoituksiin.

 

Tutkimus

Laskennan implementointitekniikka asettaa rajoituksia suuren laskentakapasiteetin tai pienen tehonkulutuksen ongelmissa. Näiden rajoitusten tutkiminen eri arkkitehtuurien suhteen on mielenkiintoinen ja laaja tutkimuskenttä. Koska sulautettujen järjestelmien ongelmat ovat yleensä toteutusteknisiä ongelmia, siksi sulautettujen järjestelmien tutkimus on luontevaa kohdistaa näihin implementointiteknisiin ongelmiin.

 

Tietoliikennetekniikan sovellutukset ovat tyypillisiä suuren laskentakapasiteetin ongelmia. Tietoliikennetekniikan merkitys on viime aikoina voimakkaasi kasvanut ja tämän alueen tutkimusta on lisätty, siksi on luontevaa suunnata sulautettujen järjestelmien tutkimusta erityisesti tietoliikennetekniikan implementaatioiden suuntaan.

 

Yhteistyö

 

Sivuaineet

Valinnaiseksi sivuaineeksi sulautetuissa järjestelmissä suositellaan elektroniikan approbatur-kokonaisuutta (Elektroniikka I, Elektroniikka I, Digitaalitekniikka, Digitaalitekniikan jatkokurssi).

 

Tietotekniikan cum laude approbatur sulautettujen järjestelmien linjalla

Sama kuin ohjelmistotekniikan linjalla.

 

TIE 110

Johdatus ohjelmointiin

3

TIE120

Ohjelmointi

5

TIE130

Tietotekniikan perusteet

3

TLI110

Johdatus tietoliikenteeseen

2

TIE150

Tietokannat

2

TJTA40

Oliokeskeinen tietojärjestelmien kehittäminen

3

TIE210

Tietorakenteet ja algoritmit 1

3

TIE211

Tietorakenteet ja algoritmit 2

2

TIE221

Käyttöjärjestelmien perusteet

2

TLI264

Automaatit ja kieliopit

3

TIE280

Työprojekti

5

 

Valinnaisia cum laude –kursseja

7

 

 

40

 

Suositeltavia cum laude –kursseja

TLI240

SDL-järjestelmänkehityksessä

2

TLI115

Johdatus tietokoneverkkoihin

3

TJTC25

Ohjelmistotekniikka

4

 

Tietotekniikan laudatur sulautettujen järjestelmien linjalla

 

TIE342

Reaaliaikajärjestelmät

2

TLI309

Tietoliikenneprotokollat

3

TIE345

Sulautettujen järjestelmien arkkitehtuurit

3

TIE385

Seminaari

2

TIE301

Harjoittelu

5

TIE3xx

Sulautettujen järjestelmien työt

3-6

 

Valinnaisia laudatur-kursseja, seminaareja tai erikoistöitä

14-17

 

 

35

 

Suositeltavia laudatur-kursseja

TIE334

Ohjelmistoprojektin vaiheet ja OMT++

4

TIE331

Rinnakkainen ja hajautettu laskenta

4

TJTL60

Liikkuva tietojenkäsittely

3

 

Sulautettujen järjestelmien linjan tarjoama opetus

 

TIE3XX Ohjelmoitavat logiikkapiirit ja VHDL-ohjelmointi (3 ov)

Professori Jarkko Vuori

Tavoitteet: Kurssin suorittaneella opiskelijalla on yleiskuva moderneista ohjelmoitavista logiikkapiireistä sekä ohjelmoitavan logiikan käyttömahdollisuuksista laskennan toteuttamiseen ja aikakriittisten ohjausten implementoinnissa. Lisäksi opiskelija oppii VHDL-laitteistokuvauskielen alkeet. Sisältö: Ohjelmoitavan arkkitehtuurin ja uudelleenkonfiguroitavan logiikan erot ohjelmoijan kannalta. Aritmetiikka ohjelmoitavissa logiikkapiireissä. VHDL-laitteistokuvauskieli. Tutkintovaatimukset: Hyväksytysti suoritetut harjoitustyöt ja tentti

Kirjallisuus: ilmoitetaan myöhemmin

 

TIE345 Sulautettujen järjestelmien arkkitehtuurit (3 ov)

DI Ville Pietikäinen

Tavoitteet: Kurssin suoritettuaan opiskelijalla on selkeä näkemys sulautettujen järjestelmien rakenteesta. Sisältö: Kurssilla perehdytään syvällisesti sulautettujen järjestelmien ytimeen eli prosessori-arkkitehtuureihin, oheiskomponentteihin, väyliin ja muistitekniikoihin. Lisäksi käsitellään kannettavien laitteiden vaatimuksia tehokkaille sulauteteuille järjestelmille. Tutkintovaatimukset: Hyväksytysti suoritettu harjoitustyö ja tentti. Kirjallisuus: ilmoitetaan myöhemmin

 

TIE221 Käyttöjärjestelmien perusteet (2 ov)

Lehtori Jarmo Ernvall. Luennot 24 h, harjoitukset 4 h, harjoitustyö, loppukoe. Sisältö: Konekielisen ohjelmoinnin perusteet ja käskyn suoritus. Prosessit ja niiden tahdistaminen. Moniajojärjestelmät ja muistinhallinta. Oheislaitteiden hallinta. Esitiedot: Ohjelmointi. Ei sovellu samaan tutkintoon kurssin Käyttöjärjestelmät ja tietoliikenne kanssa.

 

TIE342 Reaaliaikajärjestelmät (2 ov)

Professori Jarkko Vuori

Tavoitteet: Kurssin suorittaneella opiskelijalla on näkemys reaaliaikajärjestelmien ominaispiirteistä sekä niiden suunnittelusta. Sisältö: Kurssilla perehdytään Rate Monotonic –tekniikkaan sekä rinnakkaisohjelmointiin. Esitiedot: TIE221 Käyttöjärjestelmien perusteet. Tutkintovaatimukset: tentti. Kirjallisuus: ilmoitetaan myöhemmin

 

TIE3XX Hardware/Software Codesign (3 ov)

Luennoitsija: ilmoitetaan myöhemmin

Tavoitteet: Opiskelijalla on näkemys, kuinka laitteiston ja ohjelmiston samanaikainen kehittäminen toteutetaan. Sisältö: Kurssilla perehdytään laitteiston ja ohjelmiston samanaikaisen suunnittelemisen ongelmiin sekä laitteistokuvauksen ja ohjelmiston syntetisointiin yhtenäisestä mallinnuskielestä. Tarkemmin perehdytään POLIS- ja Esterel-kehitysympäristöihin. Esitiedot, tutkintovaatimukset ja kirjallisuus: ilmoitetaan myöhemmin

 

TIE341 Sulautettujen järjestelmien suunnittelu (3 ov)

Luennoitsija: ilmoitetaan myöhemmin.

Tavoitteet: Kurssin suoritettuaan opiskelijalla on yleiskuva sulautettujen järjestelmien suunnittelutyökaluista (UML-mallinnus, Hardware/Software -codesign, VHDL-laitteistokuvauskieli) ja hän osaa näitä suunnittelumenetelmiä hyödyntäen toteuttaa ohjelmia järjestelmiin, joissa ohjataan ulkoista elektroniikkaa tai mekaniikkaa suhteellisen pienillä suorittimilla. Lisäksi hänellä on yleisnäkemys ohjelmoitavan logiikan käyttömahdollisuuksista laskennan toteuttamiseen ja aikakriittisten ohjausten implementoinnissa. Sisältö: Ohjelmoitavan arkkitehtuurin ja uudelleenkonfiguroitavan logiikan erot ohjelmoijan kannalta. Aritmetiikka ohjelmoitavissa logiikkapiireissä. UML-mallinnuskieli. VHDL-laitteistokuvauskieli. Tutkintovaatimukset: Hyväksytysti suoritetut harjoitustyöt ja tentti. Kirjallisuus: Luentomoniste, ilmoitetaan myöhemmin. Esitiedot: TIE345 Sulautettujen järjestelmien arkkitehtuurit.

 

TIE3XX Sulautettujen järjestelmien työt (6 ov)

Professori Jarkko Vuori

Tavoitteet: Kurssin suoritettaneella opiskelijalla on hyvä käytännön kokemus sulautettujen järjestelmien suunnittelusta. Sisältö: Kurssi koostuu useasta erillisestä osasta, jotka lopuksi liittyvät yhdeksi kokonaisuudeksi, radio-ohjattavaksi pieneksi robotiksi. Eri osissa opitaan käytännössä teoriakursseilla opetettuja asioita (VHDL, reaali-aikainen UML, Hardware/Software Codesign, jne.). Esitiedot: sulautettujen järjestelmien laudatur-opintoja.

Tutkintovaatimukset: harjoitustyö. Kirjallisuus: moniste.

 

Joidenkin kurssien väliset riippuvuudet