Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

TIES530 - Sulautettujen järjestelmien arkkitehtuurit

Samankaltaiset esitykset


Esitys aiheesta: "TIES530 - Sulautettujen järjestelmien arkkitehtuurit"— Esityksen transkriptio:

1 TIES530 - Sulautettujen järjestelmien arkkitehtuurit
Luento 2: Tietokonearkkitehtuurit Jukka Ihalainen, Tietoliikennelaboratorio,

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 KJ:n

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ä: 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 Motorola/IBM PowerPC MIPS (SGI Unix, Sony, Nintendo) ARM 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 ( tai AVR –kontrollereista ( ) 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

13

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 CPU:n rekistereitä:Akku (A), R-rekisterit (R0…R7), 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 = 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ä 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ärjestelmät, lentokoneet, laivat,…

35

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

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

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

42 Skeman lukeminen… laitteistoarkkitehtuuri
mikrokontrollerina käytetään Atmelin ATMega32, joka käyttää 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

43

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 on binäärisenä heksalukuna se olisi C0 A8 89 4D ja desimaalisena 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


Lataa ppt "TIES530 - Sulautettujen järjestelmien arkkitehtuurit"

Samankaltaiset esitykset


Iklan oleh Google