ties530 sulautettujen j rjestelmien arkkitehtuurit
Download
Skip this Video
Download Presentation
TIES530 - Sulautettujen järjestelmien arkkitehtuurit

Loading in 2 Seconds...

play fullscreen
1 / 51

TIES530 - Sulautettujen järjestelmien arkkitehtuurit - PowerPoint PPT Presentation


  • 156 Views
  • Uploaded on

TIES530 - Sulautettujen järjestelmien arkkitehtuurit. Luento 2: Tietokonearkkitehtuurit. Jukka Ihalainen, [email protected] Tietoliikennelaboratorio, http://rf.chydenius.fi. Yleinen arkkitehtuuri. Konsepti. Laitteita ja ohjelmistoja

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'TIES530 - Sulautettujen järjestelmien arkkitehtuurit' - isanne


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ties530 sulautettujen j rjestelmien arkkitehtuurit

TIES530 - Sulautettujen järjestelmien arkkitehtuurit

Luento 2: Tietokonearkkitehtuurit

Jukka Ihalainen, [email protected]

Tietoliikennelaboratorio, http://rf.chydenius.fi

konsepti
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 KJ:n
konsepti4
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)
konsepti5
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

konsepti6
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….
systeemiarkkitehtuuri
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
mikroprosessorit
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
mikrokontrollerit
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.microchip.com/downloads/en/DeviceDoc/41239C.pdf)tai AVR –kontrollereista (http://www.atmel.com/dyn/resources/prod_documents/doc1006.pdf ) tehokkaisiin 32-bittisiin ARM, PowerPC ym. prosessoreihin
    • Lisäksi SOC prosessorit (System-On-Chip)
      • kuvassa TI/Chipcon CC2430
slide10
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.
slide11
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

ALU
rekisterit
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
    • CPU:n rekistereitä:Akku (A), R-rekisterit (R0…R7), B-rekisteri, ohjelmalaskuri (PC), dataosoitin (DPTR), pino-osoitin (SP), prosessorin tilasana (PSW)
pinot
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)
v yl t
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
v yl t17
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
v yl t18
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
v yl t19
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ä
v yl t20
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
big endian ja little endian
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
keskeytykset
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
keskeytykset23
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
keskeytykset24
Keskeytykset…
  • ohjelmistokeskeytys
    • ulkoisten keskeytyslinjojen lisäksi keskeytys voi tulla esim ajastimesta
vahtikoira ajastin
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.
cisc ja risc
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
cisc ja risc27
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

slide28
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
muistit
Muistit
  • ohjelmamuistia (yleensä lukumuistia, ROM)
  • käyttömuistia (luku/kirjoitusmuistia, RAM)
  • nimityksiä
    • RAM, ROM, EPROM, EEROM, Flash
muistit30
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)
muistit31
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
slide32
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
slide33
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
sulautettujen arkkitehtuuri
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ärjestelmät, lentokoneet, laivat,…
sulautettujen arkkitehtuuri36
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)
digitaalinen signaali
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ä
kynnysj nnittet
Kynnysjännittet
  • esim AtMega128
skeman lukeminen
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 PC:lle sarjayhteyttä pitkin. Laite voi toimia myös ns. välittävänä laitteena, jolloin se PC:ltä 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.
skeman lukeminen42
Skeman lukeminen…
  • laitteistoarkkitehtuuri
    • mikrokontrollerina käytetään Atmelin ATMega32, joka käyttää 7.2837 MHz:n ulkoista kidettä
    • ohjelmointiin ja debuggaukseen laitteistosta löytyy JTAG- ja ISP-liittimet
    • näyttönä käytetään 4x16 merkin LCD-näyttöä
    • yhteys PC:hen 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
skeman lukeminen44
Skeman lukeminen…
  • mikrokontrolleri
skeman lukeminen45
Skeman lukeminen…
  • sarjaliityntä
slide46
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

lukuj rjestelmist
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
lukuj rjestelmist49
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 ….
porttipiirit
Porttipiirit
  • aiemmin oli hyvin yleistä, että ohjauslogiikka tehtiin erillislogiikalla piirilevylle
    • nykyään logiikan tehtäviä hoitaa useimmiten yksi tai useampi mikrokontrolleri