1 / 247

Tietokone-järjestelmät Krister Wikström Helsingin ammattikorkeakoulu Tekniikka

Tietokone-järjestelmät Krister Wikström Helsingin ammattikorkeakoulu Tekniikka. Krister Wikström. Toimisto: B324 Puhelin: 050-3408 462 ja 31083410 Email: krister.wikstrom@stadia.fi Kurssit keväällä 2005: elektroniikan perusteet 2 elektroniikan työt 2 tietokonetekniikkaa eri muodoissa

ull
Download Presentation

Tietokone-järjestelmät Krister Wikström Helsingin ammattikorkeakoulu Tekniikka

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 Krister WikströmHelsingin ammattikorkeakouluTekniikka © Krister Wikström

  2. Krister Wikström Toimisto: B324 Puhelin: 050-3408 462 ja 31083410 Email: krister.wikstrom@stadia.fi Kurssit keväällä 2005: elektroniikan perusteet 2 elektroniikan työt 2 tietokonetekniikkaa eri muodoissa yhtä sun toista muutakin © Krister Wikström

  3. Opinto-opas 2004 paljastaa: (sivulla 297) Kaikki mainitut kurssit suoritetaan harjoitustöillä ja kirjallisilla kokeilla. keskusyksikön rakenne, muistijärjestelmät, tietokoneväylät, prosessoriarkkitehtuurit, © Krister Wikström

  4. Tietokonejärjestelmät TXXCA02 toteutus 14 Puitteet: • 36 tuntia lähiopetusta • 3 tuntia viikossa = 12 viikkoa • yksi kirjallinen koe • jokin harjoitustyö (mikrokontrollerin ohjelmointia laiteläheisellä C-kielellä) • työt ovat erilaisten tilakoneiden toteutuksia • tehdään 2-3 opiskelijan ryhmissä © Krister Wikström

  5. Mikrokontrollerijärjestelmät TXXCA03 toteutus 12 Puitteet: • 36 tuntia lähiopetusta • yksi kirjallinen koe • jokin harjoitustyö (mikrokontrollerin ohjelmointia laiteläheisellä C-kielellä) • työt ovat erilaisten sulautettujen sovellusten toteutuksia: anturien liitäntöjä, moottorien ja näyttöjen ohjausta jne. • tehdään 2-3 opiskelijan ryhmissä © Krister Wikström

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

  7. 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 © Krister Wikström

  8. 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 © Krister Wikström

  9. Tietokonejärjestelmät Perusasioita Tietokonejärjestelmän perusrakenne: © Krister Wikström

  10. 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 © Krister Wikström

  11. 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 © Krister Wikström

  12. 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 © Krister Wikström

  13. Sulautetut järjestelmät Esimerkki: nykyaikainen ajoneuvo © Krister Wikström

  14. 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ä: © Krister Wikström

  15. 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 © Krister Wikström

  16. 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 © Krister Wikström

  17. 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 © Krister Wikström

  18. Tietokonejärjestelmät Terminologiaa • Automaatiotekniikka on merkitsevin sulautettujen järjestelmien osa-alue. Siinä on seuraava tilanne: © Krister Wikström

  19. 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 © Krister Wikström

  20. 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” © Krister Wikström

  21. 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 © Krister Wikström

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

  23. 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 © Krister Wikström

  24. 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: © Krister Wikström

  25. 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 © Krister Wikström

  26. 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ö © Krister Wikström

  27. 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ä. © Krister Wikström

  28. Tietokonearkkitehtuurit Suorittimen rakenne vähän tarkemmin Kolme pääyksikköä tässäkin: © Krister Wikström

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

  30. Tietokonearkkitehtuurit Ohjausyksikön rakenne (esimerkki) Kolme pääyksikköä vieläkin: © Krister Wikström

  31. 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ö © Krister Wikström

  32. 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 © Krister Wikström

  33. 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: © Krister Wikström

  34. 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ä © Krister Wikström

  35. 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??? © Krister Wikström

  36. Op1 ALU Tulos Op2 Tietokonearkkitehtuurit Operaatiot • 2 operandia ja yksi tulos vaatii periaatteessa 3 osoitetta: © Krister Wikström

  37. 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) © Krister Wikström

  38. 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 © Krister Wikström

  39. 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 © Krister Wikström

  40. 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 © Krister Wikström

  41. 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 © Krister Wikström

  42. 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) © Krister Wikström

  43. Tietokonearkkitehtuurit Esimerkki: Atmel AVR • kahdeksanbittinen, RISC-tyyppinen load/store-arkkitehtuuri, selkeyden perikuva © Krister Wikström

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

  45. 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 © Krister Wikström

  46. 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 © Krister Wikström

  47. 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 © Krister Wikström

  48. 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 © Krister Wikström

  49. 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. © Krister Wikström

  50. 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ä © Krister Wikström

More Related