Informaatioteknologian tiedekunta
10.1.2001
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.
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.
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 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.
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.
Valinnaiseksi sivuaineeksi sulautetuissa järjestelmissä suositellaan
elektroniikan approbatur-kokonaisuutta (Elektroniikka I, Elektroniikka I,
Digitaalitekniikka, Digitaalitekniikan jatkokurssi).
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 |
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 |
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
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
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.
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
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
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.
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.