1 / 243

Tietokone-järjestelmät

Tietokone-järjestelmät. Sisältö: 1. Sulautetut järjestelmät 2. Tietokonearkkitehtuurit 3. Liitännät ja oheispiirit 4. Muistipiirit 5. Ohjelmistotekniikka Sovellusesimerkki Anturit sulautetuissa järjestelmissä. Tietokonejärjestelmät Perusasioita

leigh
Download Presentation

Tietokone-järjestelmät

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tietokone-järjestelmät

  2. Sisältö: 1. Sulautetut järjestelmät 2. Tietokonearkkitehtuurit 3. Liitännät ja oheispiirit 4. Muistipiirit 5. Ohjelmistotekniikka • Sovellusesimerkki • Anturit sulautetuissa järjestelmissä

  3. Tietokonejärjestelmät Perusasioita • Elektroniikan tarkoitus on signaalien käsittely • Signaaleilla voi olla kaksi muotoa:  Analoginen signaali jatkumo, kuten reaaliluvut;esimerkiksi mikrofonista tuleva jännite • Digitaalinen eli numeerinen signaali diskreettiä (erillistä) eli kvantisoitua, kuten murtoluvut • Elektroniikka voidaan vastaavasti jakaa kahteen ryhmään: analogiaelektroniikka ja digitaalielektroniikka • Tietokone on digitaalielektroninen laite, jonka tarkoitus on digitaalisten signaalien käsittely

  4. Tietokonejärjestelmät Perusasioita • Tietokone on monitoimityökalu • Ei paras mahdollinen mihinkään tehtävään • Jokainen tehtävä voidaan paremmin hoitaa erikoistyökalulla • Parempi≈ nopeampi, tarvitsee vähemmän sähkötehoa • Tietokone on kuitenkin ylivoimaisen joustava ja periaatteessa sopii mihin tehtävään tahansa • Erikoistyökalu soveltuu vain tiettyyn tehtävään • Tietokone sovitetaan johonkin tehtävään ohjelmoimalla

  5. Tietokonejärjestelmät Perusasioita Tietokonejärjestelmän perusrakenne:

  6. Tietokonejärjestelmät Perusasioita Käyttöjärjestelmä: • perustoiminto: piilottaa laitteiston epäolennaiset yksityiskohdat (käytännössä lähes kaikki) ja tarjota laitteistoriippumaton rajapinta sovelluksille • muita toimintoja: • resurssien jako tehtävien (task, thread) tärkeyden mukaisesti, erityisesti reaaliaikakäyttöjärjestelmissä • tehtävien välinen tietojenvaihto • muut palvelut, kuten tiedostojärjestelmä ja tietoliikenne

  7. Tietokonejärjestelmät Perusasioita Käyttöjärjestelmä: • käyttöjärjestelmä on hyödyllinen, mutta hyöty ilmenee enimmäkseen monimutkaisissa järjestelmissä joissa on useita samanaikaisia tehtäviä • käyttöjärjestelmän tarvitsemat resurssit ovat poissa sovelluksilta • käyttöjärjestelmä ei ole pakollinen, eikä sitä käytetä yksinkertaisimmissa tapauksissa, jotka itse asiassa muodostavat valtaosan tietokonesovelluksista sulautetut järjestelmät (embedded systems) • silloin sovellukset joutuvat suoraan käyttämään laitteistoa laiteläheinen ohjelmointi

  8. Sulautetut järjestelmät Määritelmä • Sulautettu järjestelmä (embedded system) = mikä tahansa elektroninen laite joka sisältää mikro-ohjaimen • Siis lähes kaikki sähkölaitteet, varsinaisia tietokoneita lukuunottamatta

  9. Sulautetut järjestelmät Esimerkki: nykyaikainen ajoneuvo

  10. Reaktiivinen järjestelmä Ottoja:HeräteTapahtumaMittaus Antoja:Vaste (reaktio)ToimenpideOhjaus Tietokonejärjestelmät Reaktiivinen järjestelmä Sulautetut järjestelmät ovat yleensä reaktiivisia järjestelmiä:

  11. Tietokonejärjestelmät Terminologiaa • Yleinen menetelmä minkä tahansa järjestelmän toiminnallisessa testauksessa: • syötetään ottoihin sopiva testisignaali eli heräte (stimulus) • heräte aiheuttaa antoihin jonkin vasteen (response) • vasteesta voidaan päätellä jotain järjestelmän toiminnasta • riippuen siitä, mitä halutaan saada selville käytetään erilaisia herätteitä, joista yleisimmät ovat: sinifunktio taajuusvaste askelfunktio askelvaste impulssi impulssivaste Näillä tutkitaan järjestelmän toimintaa muutostilanteissatransienttiominaisuudet

  12. Tietokonejärjestelmät Terminologiaa • Digitaalisissa järjestelmissä kaikki asiat ovat diskreettejä • Siten herätteitä voidaan kutsua tapahtumiksi (event), ja vasteita toimenpiteiksi (action) • Tällöin tietokonejärjestelmää kutsutaan reaktiiviseksi järjestelmäksi • Suurin osa varsinkin sulautetuista järjestelmistä on luonteeltaan reaktiivisia • Kaikki tietokonejärjestelmät eivätole reaktiivisia, eikä kaikissa tietokonejärjestelmissä voida puhua tapahtumista

  13. Tietokonejärjestelmät Reaktiivinen järjestelmä Toimintatapa: • järjestelmä reagoi tapahtumiin (event) eli herätteisiin stimulus) • havaittuaan tapahtuman järjestelmä reagoi eli suorittaa tarvittavat toimenpiteet (action) eli kehittää vasteen (response) • sen jälkeen järjestelmä ryhtyy odottamaan uutta tapahtumaa • tapahtumaa odottaessaan järjestelmä ei välttämättä tee mitään, vaan voi mennä lepotilaan esimerkiksi tehonkulutuksen minimoimiseksi

  14. Tietokonejärjestelmät Terminologiaa • Automaatiotekniikka on merkitsevin sulautettujen järjestelmien osa-alue. Siinä on seuraava tilanne:

  15. Tietokonejärjestelmät Automaatiotekniikka • Automaatiojärjestelmän perimmäinen tarkoitus on ohjata jonkin prosessin jotain suuretta halutulla tavalla • Sangen usein (mutta ei aina) halutaan pitää jokin suure vakiona, esimerkiksi: • lämpötila • kierrosluku • paine • Tätä varten on ensin mitattava kyseinen suure anturilla, ja mittauksen sekä jonkin säätöalgoritmin mukaisesti ohjataantoimilaitteella prosessia siten, että suure käyttäytyy halutulla tavalla

  16. Tietokonejärjestelmät Automaatiotekniikka Klassinen esimerkki:sähkölämmitin, muun muassa silitysrauta • prosessi: lämmittimen ympäristö, esimerkiksi huonetila • suure: ympäristön lämpötila, joka halutaan pitää vakiona • anturi: lämpötila-anturi, joita on vaikka minkälaisia • toimilaite: lämmitysvastus ja sitä ohjaava kytkin (rele, kontaktori) • säätöalgoritmi; monenlaisia, joista yleisimmät: • PID-säätö, klassinen ja yhäti eniten käytetty • sumea säätö (fuzzy control), uudempi ja oudompi • kaikkein yksinkertaisin mutta varsin toimiva: “bang-bang”

  17. Tietokonejärjestelmät Reaktiivinen järjestelmä Esimerkiksi sähkölämmitin: • kaksi toimintatilaa: lämmittää “täysillä” ( ympäristön lämpötila nousee) tai ei lämmitä lainkaan (ympäristön lämpötila laskee) • haluttu lämpötila määritellään ylärajan ja alarajan avulla. Näiden eroa kutsutaan järjestelmän hystereesiksi. • tapahtuma E1: lämpötila nousee ylärajalletoimenpide A1: lämmitin pois päältä, lämpötila laskee • tapahtuma E2: lämpötila laskee alarajalletoimenpide A2: lämmitin päälle, lämpötila kohoaa

  18. Lämpötila t E1 tYLÄ E2 tALA Aika kuluu Tietokonejärjestelmät Reaktiivinen järjestelmä Esimerkiksi sähkölämmitin:

  19. Aloitus:C-kielen toimintaympäristön perustaminen (esim. pinon määrittely) Alkuasetukset:ohjausbittien asetukset Päättymätön silmukka:odotellaan tapahtumia Ohjelmistotekniikka Ohjelmiston vuokaavio • sulautetun sovelluksenohjelmarakenne on ainasama eli päättymätönsilmukka

  20. Digitaalinen signaali-prosessori Digitaalinen ottosignaali eli isokroninenvirta peräkkäisiä lukuarvoja Muokattu digitaalinen antosignaali Tietokonejärjestelmät Muunlaiset järjestelmät Kaikki tietokonejärjestelmät eivät ole reaktiivisia, esimerkiksi signaaliprosessori:

  21. Tietokonearkkitehtuurit Tietokoneen rakenne Kolme pääyksikköä: • I/O = Input/Outputeli otto/antotai syöttö/tulostussiis yhteydet ympä-ristöön • CPU = CentralProcessing Unitsuomeksi prosessoritai suoritin, yksikkö jokasuorittaa operaatiot elitoiminnot

  22. Tietokonearkkitehtuurit Tietokoneen rakenne Kolme pääyksikköä: • sama kuin edellinenkuva, mutta vähäneri tavalla piirretty Ohjelma-muisti Data-muisti KeskusyksikköProsessoriSuoritin Tässä on monenlaisia liitäntöjä, jotka ovat jokaisen tietokonejärjestelmän tärkein yksityiskohta LiitäntäyksikötPeripherals Ympäristö

  23. Tietokonearkkitehtuurit Tietokoneen osat Tarkoitus:  Prosessori: käsittelee tietoa suorittamalla aritmeettisia ja loogisia operaatioita eli “laskutoimituksia”. Kaikki prosessorit ovat nykyään mikroprosessoreja.  Muisti: siellä ovat ohjelmat eli käsittelyohjeet ja käsiteltävät tiedot eli datat. Useita erityyppisiä muisteja käytössä.  I/O-yksiköt: näilla ollaan yhteydessä ympäristöön, siis havaitaan tapahtumia sekä suoritetaan toimenpiteitä.

  24. Tietokonearkkitehtuurit Suorittimen rakenne vähän tarkemmin Kolme pääyksikköä tässäkin:

  25. GIGO DatatieData Path Käsiteltävä tieto Käsitelty tieto Tilatiedot(takaisinkytkentä) Käsittelyn ohjaus Ohjausyksikkö Käskyt eli toimintaohjeet Tietokonearkkitehtuurit Prosessori Toiminnallinen lohkokaavio:

  26. Tietokonearkkitehtuurit Ohjausyksikön rakenne (esimerkki) Kolme pääyksikköä vieläkin:

  27. Tietokonearkkitehtuurit Ohjausyksikön rakenne (esimerkki) Mikro-ohjelmointi: • mikro-ohjelmointi on paljon käytetty menetelmä toteuttaa ohjausyksikkö • tällöin ohjausyksikkö on kuin tietokone tietokoneessa • kutakin konekäskyä eli suorittimen käskyä vastaa ohjelmapätkä mikro-ohjelmamuistissa • etuna sama joustavuus kuin tietokoneissa ylipäänsä: esimerkiksi uusia konekäskyjä voidaan ottaa käyttöön ilman laitteiston muutoksia • toisaalta: ei kaikkein suorituskykyisin tapa toteuttaa ohjausyksikkö

  28. Tietokonearkkitehtuurit Käskykanta-arkkitehtuuri • ISA: Instruction Set Architecture • siis kaikki mitä assembler-ohjelmoinnissa tulee tietää ja tuntea prosessorista: • käskyt • osoitusmuodot (tässä on villakoiran ydin!) • rekisterit • C-kielellä tai vastaavalla ohjelmoitaessa ei tarvitse tietää juuri mitään prosessorista • laiteläheisessä ohjelmoinnissa tärkein asia on I/O-yksiköiden rekisterit

  29. Varsinainen käskykoodi (opcode), kertoo mikä operaatio suoritetaan Osoitteet, eli missä ovat operandit ja mihin tallennetaan tulokset. Tietokoneissa kaksi perusvaihtoehtoa paikan suhteen: rekisterit tai muisti Tietokonearkkitehtuurit Osoitusmuodot • konekäskyt ovat tietenkin binäärilukuja, kuten kaikki muukin digitaali- ja tietokonetekniikassa • käsky voidaan jakaa kahteen osaan eli bittikenttään:

  30. Tietokonearkkitehtuurit Osoitusmuodot Operaatiot ja operandit: • kuinka tulkitaan esimerkiksi merkintä ? • algebrassa x ja y ovat muuttujia, ohjelmissa taas operandeja • algebrassa z on funktio, ohjelmissa taas tulos • “+” on itse operaation symbooli, tässä aritmeettinen summa tai Boolen operaatio TAI (OR) • RPN-syntaksi (Reverse Polish Notation): esimerkiksi 5*(1+2) merkitään 5 1 2 + *, käytetään joissakin ohjelmointikielissä

  31. Tietokonearkkitehtuurit Osoitusmuodot • käytännön suorittimissa yhdellä käskyllä tehdään vain yksi operaatio • yksi tulos ja 0…2 operandia, siis enintään 3 lukua eli dataa • merkittävä poikkeus: VLIW (Very Large Instruction Word) eli leveän käskysanan arkkitehtuuri • siinä samassa käskyssä on useita operaatioita, joita varten koneessa on useita toiminnallisia yksiköitä • tässä pyritään lisäämään samanaikaisia toimintoja, jotta ehdittäisiin tehdä enemmän samassa ajassa • tärkein kysymys osoitusmuodoissa: montako osoitetta tarvitaan???

  32. Op1 ALU Tulos Op2 Tietokonearkkitehtuurit Operaatiot • 2 operandia ja yksi tulos vaatii periaatteessa 3 osoitetta:

  33. Tietokonearkkitehtuurit Osoitteet • 3 osoitetta  turhan paljon bittejä • esimerkiksi, jos muistialue käsittää 64 Ktavua tarvitaan 16-bittisiä osoitteita, eli kolmella osoitteella yhteensä 48 bittiä. Tämä on aivan liikaa! • eri arkkitehtuureissa rajoitetaan muistibittien määrää eri konsteilla: • akku-arkkitehtuuri: vain yksi osoite, kaksi muuta = sama implisiittinen vakio • load/store-arkkitehtuuri: 3 osoitetta, mutta hyvin pieni osoitealue, tyypillisesti vain 32 mahdollista osoitetta • pinoarkkitehtuuri: ei osoitetta ollenkaan (oikeammin: yksi implisiittinen vakio-osoite)

  34. Muu rekisteri, muisti tai I/O Op1 Akun tallennus Akun lataus ALU Tulos Akkurekisteri Op2 Tietokonearkkitehtuurit Akku-arkkitehtuuri • erityinen akkurekisteri, jonka osoite on implisiittinen vakio • yksi operandi aina akusta, ja tulos aina akkuun, tarvitaan vain toisen operandin osoite

  35. Op1 Rekisterit Load ALU Store Tulos Op2 Tietokonearkkitehtuurit Load/store-arkkitehtuuri • joukko samanarvoisia rekistereitä, tyypillisesti 32 kpl • kolme osoitetta, mutta kukin osoite vain 5 bittiä (tässä esimerkissä) • operaatiot pelkästään rekistereiden välillä, paitsi load/store-operaatiot

  36. Push Pop Op1 Pinomuisti LIFO-periaate: Last In - First Out ALU Tulos Op2 Tietokonearkkitehtuurit Pino-arkkitehtuuri • operandit pinomuistin kahdessa päällimmäisessä rekisterissä • tulos pinoon päällimmäiseksi

  37. Tietokonearkkitehtuurit Pino-arkkitehtuuri • varsinaiset pinokoneet harvinaisia prosessoripiireissä, mutta toiminta-ajatusta ja pino-operaatioita käytetään paljon tietokonetekniikassa • C-kääntäjä rakentaa virtuaalisen pinokoneen mille tahansa alustalle - käyttäjä ei tiedä tästä mitään • FORTH-ohjelmointikielessä (lähes) kaikki operaatiot (käskyt) ovat eksplisiittisesti pinotyyppisiä, vaikka suoritin ei olekaan pinokone • FORTH-kielessä RPN-tyyppinen syntaksi • pino-operaatioiden tehostamiseksi monissa prosessoreissa on erityinen rekisteri, pino-osoitin

  38. Mikro-ohjaimet Prosessori Rekisterit: Mikro-ohjain Ohjelmat SFR:SpecialFunctionRegisters Laitteisto Status Ohjaus Data Status: tilatieto, kertoo ”tilanteen” eli mitä on tapahtumassa tai tapahtunut Ohjaus: määrittelee mitä tehdään Data: käsiteltävää tietoa (signaali)

  39. Tietokonearkkitehtuurit Esimerkki: Atmel AVR • kahdeksanbittinen, RISC-tyyppinen load/store-arkkitehtuuri, selkeyden perikuva

  40. Tietokonearkkitehtuurit Esimerkki: Freescale HC08 • kahdeksanbittinen CISC-tyyppinen akku-arkkitehtuuri, myös hyvin selkeä • selkeyttä lisääsekin, että suorit-timessa on vainyksi ainoa muistialueeli muistiavaruus

  41. Tietokonearkkitehtuurit Esimerkki: Microchip PIC16 • kahdeksanbittinen RISC-tyyppinen (33 käskyä)akku-arkkitehtuuri, aika hankala • akku = W-rekisteri(Working) • SFR = SpecialFunction Registereli muut rekisterit,joista osa kuuluuliitäntöihin, eisuorittimeen

  42. Tietokonearkkitehtuurit Esimerkki: x86-suoritin • x86 tunnetaan myös nimellä IA-32 • kuvassaperusrekisterit • AH + AL = AXon akkurekisteri • punaisellamerkitytkäytettävissävain suojatussatoimintatilassa (protected mode) • perusrekistereiden lisäksi paljon muitakinrekistereitä tullut mukaan matkan varrella

  43. Tietokonearkkitehtuurit Esimerkki: x86-suoritin • uudemmissa x86-suorittimissa on lisäksi paljon, paljon muitakin rekistereitä, jotka voidaan jakaa seuraaviin ryhmiin: • FP (Floating Point): liukulukulaskentaan liittyvät • MMX (MultiMedia eXtensions): SIMD-tyyppisiä rekistereitä (SIMD = Single Instruction Multiple Data) • 3DNow!: sama kuin MMX, mutta kilpailijan (AMD) versio • MSR (Model Specific Registers): nimensä mukaisesti tietyn suoritintyypin erikoisrekistereitä • runsaasti lisätietoja aiheesta löytyy Internetistä Sandpile-sivustosta

  44. Tietokonearkkitehtuurit x86-valmistajia • suurimmat ja kauneimmat: • Intel • AMD • omaperäinen: VIA Technologies, keskittynyt pienen tehonkulutuksen suorittimiin ja pieniin emolevyformaatteihin (ITX, Micro-ITX, Nano-ITX) • yrittää kovasti: Transmeta, keskittynyt kannettavien laitteiden suorittimiin, omaperäinen sisäinen arkkitehtuuri • vain sulautetut sovellukset: STMicroelectronics, esimerkiksi STPC Vega: samalla sirulla Pentium II + USB + Ethernet + IDE-liitäntä + I2C-liitäntä + UART-sarjaportti, kilpailee AMD:n Geode-suoritinperheen kanssa

  45. Tietokonearkkitehtuurit Esimerkki: x86-suoritin • x86-suorittimessa hyvin runsaasti historiallista painolastia • tavattoman monimutkaiset osoitusmuodot • x86-assemblerohjelmointi on erittäin haasteellista, useimmille jopa täysin ylivoimaista protected mode-tapauksessa • dokumentissa “The Ten Commandments for C Programmers” luonnehditaan x86-arkkitehtuuria sangen osuvasti: This particular heresy bids fair to be replaced by “All the world's a Sun” or “All the world's a 386” (this latter being a particularly revolting invention of Satan), but the words apply to all such without limitation. Beware, in particular, of the subtle and terrible “All the world's a 32-bit machine”, which is almost true today but shall cease to be so before thy resume grows too much longer.

  46. CPU AGP PohjoissiltaNorth BridgeMemory Bridge DRAM ATA USB EteläsiltaSouth BridgeI/O Bridge KorppuasemaSarjaportitRinnakkaisporttiNäppäin/hiiri-liitäntä (PS/2) AC97 LPC-väylä PCI-väylä Tietokonearkkitehtuurit PC-emojen arkkitehtuuri Nykyinen käytäntö: • prosessorin lisäksi kaksiosainenpiirisarja (chip set) • useita emolevy-formaatteja,ATX yleisin • monenlaisia liitäntöjäja väyliä

  47. Tietokonearkkitehtuurit PC-emojen arkkitehtuuri Nykyinen käytäntö: • prosessorissa on vain asynkroninen rinnakkaisväylä • pohjoissillassa (Intel: Memory Controller Hub) nopeimmat liitännät: • muistipiirit • grafiikkakortti (AGP = Advanced Graphics Port) • eteläsillassa (Intel: Integrated Controller Hub) muut liitännät: • ATA-liitäntä: kovalevyt sekä CD- ja DVD-asemat • USB-väylä • AC97: Audio Codec 97 eli äänipiirin liitäntä • LPC: Low Pin Count bus, entisen ISA-väylän muisto

  48. Tietokonearkkitehtuurit PC-emot Aikojen kuluessa on kehitelty yhtä jos toistakin: • XT ja AT (Advanced Technology): alkuperäiset emoformaatit, ei enää käytössä. Baby AT oli AT:n kutistettu versio • ATX (Advanced Technology eXtended): AT:n seuraaja vuodelta 1995, pienempikokoinen, erilainen teholähteen liitin. Mini-ATX ja Micro-ATX kutistettuja versioita • LPX ja NLX: hyviä ideoita Inteliltä, mutta ei kaupallista menestystä, ilmeisesti liian kalliita ratkaisuja • ITX: taiwanilaisen VIA:n kehittämä, Micro-ITX ja Nano-ITX ovat kaikkein pienikokoisimmat emot • BTX (Balanced Technology eXtended): uusin emoformaatti, vasta tulossa, tämäkin Intelin kehittämä

  49. Tietokonearkkitehtuurit PC-emojen arkkitehtuuri Uusin versio: • BTX-emolevyformaatti • ATA-liitäntä korvattu SATA-liitännällä • PCI-väylä ja AGP korvattu PCIExpress-liitännöillä • uusin muistipiiriliitäntä on DDR 2 • edelleen kahden piirin piirisarja

  50. Tietokonearkkitehtuurit PC-emot NLX-emot: • emolevyhelppo irroittaa ja laittaa takaisin ilman muiden korttien ja yksiköiden irroittamista

More Related