TIES530 - Sulautettujen j - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

TIES530 - Sulautettujen j

Description:

Title: PowerPoint Presentation Last modified by: Jukka Ihalainen Created Date: 1/1/1601 12:00:00 AM Document presentation format: N yt ss katseltava esitys – PowerPoint PPT presentation

Number of Views:98
Avg rating:3.0/5.0
Slides: 52
Provided by: jyu75
Category:

less

Transcript and Presenter's Notes

Title: TIES530 - Sulautettujen j


1
TIES530 - Sulautettujen järjestelmien
arkkitehtuurit
Luento 2 Tietokonearkkitehtuurit
  • Jukka Ihalainen, jukka.ihalainen_at_chydenius.fi
  • Tietoliikennelaboratorio, http//rf.chydenius.fi

2
Yleinen arkkitehtuuri
3
Konsepti
  • Laitteita ja ohjelmistoja
  • lähimpänä rautaa ns. firmware ohjelmisto, joka
    alustaa laitteiston käynnistyksen yhteydessä
  • tämä on monesti pienen sulautetun järjestelmän
    itse ohjelmisto
  • bootloader on pieni alkulatausohjelma, joka lataa
    varsinaisen KJn

4
Konsepti
  • kerrosmainen ajattelu
  • firmwaren päällä käyttöjärjestelmä, joka
    sulautetuissa järjestelmissä on usein
    reaaliaikainen käyttöjärjestelmä (tehtävien
    vasteajat oltava pienet tai ainakin niille
    voitava määritellä vasteaikarajat)
  • KJ tai FW ohjaa laitteen käyttöä (syöttö,
    tulostus, muisti)
  • monet sulautetut järjestelmät eivät tarvitse
    käyttöjärjestelmää, vaan systeemit
    yksinkertaisesti suorittavat niille ohjelmoitua
    tehtävää
  • kaukosäädin ei tarvitse käyttöjärjestelmää
  • reititin on sulautettu järjestelmä, jossa usein
    käyttöjärjestelmä mukana (esim. Cisco IOS)

5
Konsepti
  • Prosessori(t) systeemin ytimenä
  • jokaisella prosessorityypillä oma käskykanta
  • periaate sama haetaan muistista tieto, tulkitaan
    se, suoritetaan
  • tieto binäärisenä 1011 0000 0100 1111 1111 0111
  • tieto heksana B0 4F F7
  • Assemlykielisenä voisi olla
  • ADD.B 0xFF, W7 Add the byte -1 to register
    W7

6
Konsepti
  • Muut laitteet
  • prosessorista/kontrollerista/sovelluksesta
    riippuen erilaisia ympäryslaitteita tarvitaan
  • teholähteitä
  • muistia
  • näyttöjä ja näppäimiä
  • antureita ja toimilaitteita
  • ym.

7
Systeemiarkkitehtuuri
  • Mikrotietokone koostuu
  • mikroprosessori, muistit ja liityntäpiirit
  • osia yhdistää kolme väylää
  • tietoväylä (Data Bus), osoiteväylä (Address Bus)
    sekä ohjausväylä (Control Bus)
  • lisäksi ulkoisia ohjauksia kuten kello,
    resetointi ja keskeytykset

8
Mikroprosessorit
  • http//linuxdevices.com/articles/AT4313418436.html
  • Yleisiä mikroprosessoreita
  • Intel 386
  • http//download.intel.com/design/intarch/datashts/
    27242007.pdf
  • Motorola/IBM PowerPC
  • MIPS (SGI Unix, Sony, Nintendo)
  • ARM
  • http//www.arm.com/products/CPUs/ARM7TDMI.html
  • Ultra SPARC

9
Mikrokontrollerit
  • mikrokontrolleri on prosessorin, muistin ja
    joidenkin i/o laitteiden integroitu piiri, joka
    on tarkoitettu käytettäväksi sulautetuissa
    järjestelmissä
  • valmistajia huomattavasti enemmän kuin
    mikroprosessoreilla
  • koot vaihtelevat pienistä PIC (http//ww1.microchi
    p.com/downloads/en/DeviceDoc/41239C.pdf) tai AVR
    kontrollereista (http//www.atmel.com/dyn/resourc
    es/prod_documents/doc1006.pdf ) tehokkaisiin
    32-bittisiin ARM, PowerPC ym. prosessoreihin
  • Lisäksi SOC prosessorit (System-On-Chip)
  • kuvassa TI/Chipcon CC2430

10
  • Von Neumann arkkitehtuuri 1 muisti (RAM) jossa
    sekä data että ohjelmakoodi
  • Alkuperäisen Harvard arkkitehtuurin tapauksessa
    käytettiin kahta muistia joilla omat väylänsä
    yksi dataa ja toinen koodia varten.

11
ALU
  • periaatteessa 6 perusfunktiota, joita prosessori
    voi suorittaa
  • kirjoittaa dataa muistiin tai i/o-laitteelle
  • lukea dataa muistista tai i/o-laitteelta
  • lukea käskyn muistista
  • muokata dataa prosessorien rekistereissä
  • aritmeettis-loogisessa yksikössä (ALU, Arithmetic
    Logic Unit) suoritetaan datan muokkaus
  • lisäys, vähennys, kertominen, jakaminen, NOT,
    AND, NAND, OR, NOR, XOR, bittisiirrot ja kierrot

12
(No Transcript)
13
(No Transcript)
14
Rekisterit
  • prosessorin sisäisiä muistipaikkoja
  • välitetään tietoa paikasta toiseen prosessorin
    sisällä
  • nimet, määrä ja leveys prosessorikohtaisia
  • esim. CC2430 sisältää
  • erikoisrekistereitä 120 kpl
  • CPUn rekistereitäAkku (A), R-rekisterit
    (R0R7), B-rekisteri, ohjelmalaskuri (PC),
    dataosoitin (DPTR), pino-osoitin (SP),
    prosessorin tilasana (PSW)

15
Pinot
  • prosessorit toteuttavat yhden tai useamman pinon,
    joka on väliaikainen muistipaikka käyttömuistissa
    (RAM)
  • prosessori voi viedä pinoon (PUSH) tietoa
    rekisteristä ja se voi palauttaa pinosta (POP or
    PULL) tietoa
  • pino voi täyttyä joko ylhäältä alaspäin (intelin
    8086) tai alhaalta ylöspäin (cc2430)

16
Väylät
  • Osoiteväylä
  • väylän leveys määrää sen kuinka paljon muistia
    voidaan liittää
  • esim 16 bittinen ? 216 65536 osoitettavaa
    muistipaikkaa
  • osoiteväylän liitäntöjä merkitään yleensä
    A-kirjaimella (A0, A1, A2, , An)
  • osoiteväylän ylimmät bitit kytkeytyvät
    tavallisesti osoitekooderille

17
Väylät
  • Osoitekooderi
  • jos mikrotietokoneen muisti koostuu useammasta
    piiristä tai jos siinä on useampia
    liitäntäpiirejä niin tarvitaan osoitekooderi,
    joka selvittää mille piirille väylällä oleva
    osoite kuuluu

18
Väylät
  • Tietoväylä
  • kaksisuuntainen, leveys 4, 8, 16, 32 tai 64
    bittiä
  • tietoväylän liitäntöjä merkitään yleensä
    D-kirjaimella (D0, D1, D2, , Dn)
  • tietoväylälle kytkeytyvien komponenttien
    lähtöliitännät ovat ns. kolmitilalähtöjä
    (Tri-State Output)
  • lähtö voi olla kolmessa tilassa ala-, ylä- tai
    suurimpedanssisessa tilassa
  • suurimpedanssinen tila vastaa tilannetta, jossa
    väylä kytketään irti lähtöliitännästä
  • prosessori huolehtii, että vain yksi komponentti
    kerrallaan voi liittyä tietoväylään

19
Väylät
  • Yhdistetty tieto- ja osoiteväylä
  • osoite ja data vuorottelevat samoissa prosessorin
    liitännöissä
  • tyypillinen monissa Intelin prosessoreissa ja
    kontrollereissa
  • väylän liitäntöjä merkitään usein AD
    kirjainparilla (AD0, AD1, AD2 ADn)
  • tarvitaan ulkoinen väyläerotin
  • prosessori syöttää yhdistetylle väylälle ensin
    osoitteen, joka lukitaan lukkopiirin lähtöihin
  • lukituksen jälkeen lukkopiiri irrotetaan ja väylä
    toimii normaalina tietoväylänä

20
Väylät
  • Ohjausväylä
  • tuloja ja lähtöjä
  • näillä prosessori ohjaa laitteita
    (luku/kirjoitus)
  • näistä prosessori myös saa tietoa laitteilta

21
Big-endian ja Little-endian
  • prosessori voi tallettaa tietoa kahdella eri
    tavalla (koskee 16 bittisiä tai suurempia sanoja)
  • big-endian tapauksessa prosessori tallettaa sanan
    eniten merkitsevän tavun vähiten merkitsevään
    osoitteeseen
  • little-endian tapauksessa sanan eniten merkitsevä
    tavu eniten merkitsevään osoitteeseen

22
Keskeytykset
  • interrupt, trap, exception
  • sulautettujen ohjelma suoritaa päättymätöntä
    silmukkaa
  • ohjattavassa prosesissa tulee usein eteen
    tilanne, johon pitää reagoida mahdollisimman
    nopeasti (näppäimen painallus, sarjaporttiin
    tulee merkki, ajastimen tai laskurin ylivuoto
    jne.)
  • ei ole mielekästä laittaa prosessoria pollaamaan
    tapahtumia käytetään keskeytyksiä
  • kun tapahtuu keskeytys (ja keskeytykset ovat
    sallittuja) niin prosessori suorittaa ensin
    meneillään olevan käskyn loppuun, tallentaa
    nykyisen tilansa (rekisterit, ohjelmalaskuri)
    pinoon (PUSH) ja lataa keskeytysvektorin
    alkuosoitteen ohjelmalaskuriin
  • kun keskeytysohjelma päättyy niin prosessorin
    talletettu tila palautetaan ja ohjelma jatkuu
    normaalisti

23
Keskeytykset
  • laitteistokeskeytykset
  • prosessorilla voi olla yksi tai useampi ulkoinen
    keskeytyslinja
  • jos yksi linja ja useita laitteita niin
    keskeytysrutiinissa pollattava mikä laite
    aiheutti keskeytyksen
  • jos linjoja useampia niin ohjelma voi suoraan
    hypätä oikeaan keskeytysrutiiniin (ISR)
  • nopea laitteistokeskeytys (fast hardware
    interrupt)
  • keskeytyksen sattuessa vain ohjelmalaskurin arvo
    talletetaan, ISR tallettaa muut tarvittaessa

24
Keskeytykset
  • ohjelmistokeskeytys
  • ulkoisten keskeytyslinjojen lisäksi keskeytys voi
    tulla esim ajastimesta

25
Vahtikoira-ajastin
  • on ajastin, joka asettaa signaalin, jos laskuri
    saavuttaa jonkin tietyn raja-arvon (tai nollan)
    ellei laskuria käynnistetä uudelleen. Jos kaikki
    toimii niin laskuri ei saavuta raja-arvoa koskaan
    vaan ohjelma ehtii alustamaan ajastimen ennen
    raja-arvon saavuttamista. Jos raja-arvo
    saavutetaan niin ohjelmassa on jotain vialla
    (kaatunut) ja ajastimen asettama signaali resetoi
    järjestelmän.

26
CISC ja RISC
  • kaksi prosessorien perusarkkitehtuuria
  • CISC (Complex Instruction Set Computer)
  • Intel x86, Motorola 68xxx
  • vähän rekistereitä ja paljon käskyjä (käskyjen
    dekooderi monimutkainen ja hidas), iso pinta-ala
    ja kuuma
  • RISC (Reduced Instruction Set Computer)
  • PowerPC, ARM, Atmel AVR, Microchip PIC
  • paljon rekistereitä (jopa 1000), vähän käskyjä
  • esim. kertolasku kokonaisluvuilla voi viedä 80486
    CISC prosessorilta 42 kellojaksoa ja RISC
    prosessorilta vain yhden kellojakson

27
CISC ja RISC
clear 0x1000 clear memory location
0x1000 load r1, 5 load register 1 with the
value 5
xor r1, r1 clear register 1 store r1, 0x1000
clear memory location 0x1000 add r1, 5 load
register 1 with the value 5
28
DSP
  • erikoisprosessoreita tarkoitettu reaaliaikaisen
    signaalin muokkaamiseen
  • GSM, modeemit, äänikortit, mittalaitteet
  • yleensä Harvard-arkkitehtuuri, lisäksi data-alue
    voitu jakaa vielä kahteen tai useampaan osaan
  • mahdollistaa yhtäaikaisen datan haun ? nopeuttaa

29
Muistit
  • ohjelmamuistia (yleensä lukumuistia, ROM)
  • käyttömuistia (luku/kirjoitusmuistia, RAM)
  • nimityksiä
  • RAM, ROM, EPROM, EEROM, Flash

30
Muistit
  • luku- ja kirjoitusmuistin yksinkertaistettu
    symboli
  • 8-bittinen datalinja
  • 15-bittinen osoitelinja ? kapasiteetti 32 KB
  • piirinvalintasignaali (CS, Chip Select)
    (aktiivinen alatilassa)
  • kirjoituksen sallinta (WE, Write Enable)
  • lähdön sallinta (OE, Output Enable)

31
Muistit
  • Aikakaaviot
  • osoite muistipiirille
  • piiri valitaan
  • piirin lähtö sallitaan
  • muistipaikan tieto asettuu lähtöihin
  • lähdön sallinta ylätilaan
  • lähdöt suurimpedanssiseen tilaan
  • piirinvalinta ylätilaan
  • seuraava jakso alkaa

32
I/O
  • Liitäntäpiirien avulla mikrotietokone yhteydessä
    ympäröivään elektroniikkaan (näppäimet, näytöt,
    releet, muuntimet,)
  • näkyvät prosessorille yhtenä tai muutamana
    muistiosoitteena (rekisterinä)
  • tiedonsuuntarekisteri, jonka biteillä valitaan
    onko liitäntä tulo (0) tai lähtö (1)
  • liitäntöjen tilat voidaan lukea tietorekisteristä
    samoin kun lähtöjen tieto kirjoitetaan
    tietorekisteriin

33
I/O
  • Liitäntäpiirissä voi olla useita I/O portteja
    (A, B, ..)
  • kuvan piirissä kaksi porttia, jolloin tarvitaan 4
    rekisteriä
  • rekisterit voidaan osoittaa kahdella
    rekisterinvalintalinjalla

34
Sulautettujen arkkitehtuuri
  • Pöytäkoneessa tehokas CPU, paljon keskusmuistia,
    käyttöjärjestelmä, sovelluksia, paljon
    massamuisteja, erilaisia I/O laitteita ja
    verkko- ym. liitynnät
  • suuret sulautetut järjestelmät vastaavanlaisia
  • reitittimet, puhelinkeskukset, automaatiojärjestel
    mät, lentokoneet, laivat,

35
(No Transcript)
36
Sulautettujen arkkitehtuuri
  • pienemmät sulautetut järjestelmät käyttävät
    mikrokontrollereita, jotka sisältävät yhdellä
    piirillä samoja toimintoja mitä koko
    tietokonejärjestelmätkin
  • mikrokontrollerissa on minimissään CPU, pieni
    määrä muistia (RAM ja/tai ROM)

37
(No Transcript)
38
Digitaalinen signaali
  • bitit esitetään jännitetasoina
  • loogista nollaa vastaa maapotentiaali eli 0V
  • loogista ykköstä vastaa yleensä käyttöjännite,
    joka voi olla esim. 1.8V, 2.7V, 3.3V, 5V, 12V
  • loogiset tasot ovat jotain maapotentiaalin ja
    käyttöjännitteen välillä

39
Kynnysjännittet
  • esim AtMega128

40
(No Transcript)
41
Skeman lukeminen
  • esimerkkinä IR-valolla toimiva kauko-ohjain
  • järjestelmän yleiskuvaus
  • Laitteistolla voidaan vastaanottaa IR-signaaleja
    toisesta kauko-ohjaimesta, dekoodata ne
    binäärisiksi ohjauskoodeiksi, tallettaa niitä
    laitteiston EEPROM muistiin ja lähettää
    vastaanotettu koodi PClle sarjayhteyttä pitkin.
    Laite voi toimia myös ns. välittävänä laitteena,
    jolloin se PCltä saamansa ohjauskoodin ensin
    koodaa IR-signaaliksi ja sitten lähettää
    vastaanotinlaitteelle. Laite voi toimia myös
    itsenäisenä kauko-ohjaimena, jolloin sillä
    voidaan valita jokin EEPROM-muistiin tallennettu
    koodi ja lähettää se vastaanottimelle.

42
Skeman lukeminen
  • laitteistoarkkitehtuuri
  • mikrokontrollerina käytetään Atmelin ATMega32,
    joka käyttää 7.2837 MHzn ulkoista kidettä
  • ohjelmointiin ja debuggaukseen laitteistosta
    löytyy JTAG- ja ISP-liittimet
  • näyttönä käytetään 4x16 merkin LCD-näyttöä
  • yhteys PChen on toteutettu standardin RS-232
    liitynnän kautta
  • laitetta voidaan ohjata kolmella näppäimellä.
    Näppäimet toimivat keskeytysperiaatteella.
  • IR-led ja IR-vastaanotin on kytketty kuvan
    osoittamiin I/O-liityntöihin

43
(No Transcript)
44
Skeman lukeminen
  • mikrokontrolleri

45
Skeman lukeminen
  • sarjaliityntä

46
Mikrokontrolleri
JTAG -liitin
IR-led
Reset-painike
IR-vastaanotin
LCD-näyttö
UP-, DOWN- ja SELECT-painikkeet
ISP ohjelmointi-liitin
Kontrastin säätö
RS-232 liitin
47
Tietokonelogiikka
48
Lukujärjestelmistä
  • tietokonepuolella yleisimpiä binääri- ja
    heksajärjestelmät
  • bittejä (bits, b), tavuja (bytes, B), sanoja
    (words)
  • binääriluvun desimaaliarvo voidaan laskea
  • vaadittavien bittien määrä saadaan

49
Lukujärjestelmistä
  • muunnokset lukujärjestelmien välillä
  • esim. IPv4-osoite on 32-bittinen, jolloin
    oktetteina esitetty osoite 192.168.137.77 on
    binäärisenä 11000000 10101000 10001001 01001101
  • heksalukuna se olisi C0 A8 89 4D
  • ja desimaalisena 3 232 270 669
  • kannattaa muistaa 10 bitillä voi esittää 1024
    vaihtoehtoa, 11 bitillä kaksinkertaisen määrän,
    12 bitillä taas kaksinkertaisen määrän eli 4096
    .

50
Porttipiirit
  • aiemmin oli hyvin yleistä, että ohjauslogiikka
    tehtiin erillislogiikalla piirilevylle
  • nykyään logiikan tehtäviä hoitaa useimmiten yksi
    tai useampi mikrokontrolleri

51
Porttipiirit
Write a Comment
User Comments (0)
About PowerShow.com