TKT-3201 Tietokonearkkitehtuuri 2
|
|
- Irma Kapulainen
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 TKT-3201 Tietokonearkkitehtuuri 2 Luku 7: Moniytimet, moniprosessorit ja klusterit Adapted from Computer Organization and Design, 4 th Edition, Patterson & Hennessy, 2008 Adapted from slides by Mary Jane Irwin, PSU
2 Moniprosessorijärjestelmä Moniprosessorijärjestelmä (Multiprocessor) tietokonejärjestelmä, jossa vähintään kaksi prosessoria Processor Processor Processor Cache Cache Cache Interconnection Network Memory I/O Voi tuottaa korkean läpäisyn toisistaan riippumattomille tehtäville #2 Tehtävätason rinnakkaisuus (job-level parallelism, process-level parallelism, tasklevel parallelism) Voi pienentää yhden ohjelman suoritusaikaa, jos ohjelma on erikseen valmisteltu suoritettavaksi moniprosessorissa rinnakkaisprosessointiohjelma
3 Moniydin-prosessorit Haasteet virrrankulutuksessa ovat pakottaneet muutoksiin mikroprosessoreiden suunnittelussa Vuodesta 2002 lähtien ohjelman vasteajan suhteellinen parannus on hidastunut kertoimesta 1.5/vuosi alle 1.2/vuosi Nykisessä mikroprosessorissa tyypillisesti piilastulla useampi prosessoriydin (core) Chip Multicore microprocessors (CMPs) Ytimien lukumäärän odotetaan tuplaantuvan joka toinen vuosi Product AMD Barcelona Intel Nehalem IBM Power 6 Sun Niagara 2 Cores per chip Clock rate 2.5 GHz ~2.5 GHz? 4.7 GHz 1.4 GHz Power 120 W ~100 W? ~100 W? 94 W #3
4 Moniprosessorijärjestelmä Jotkut suurempaa suorituskykyä vaativat ongelmat voidaan ratkaista yksinkertaisesti käyttämällä klusteria joukko lähiverkon avulla toisiinsa kytkeytyneitä riippumattomia palvelimia (tai PCkoneita), jotka toimivat yhtenä suurena moniprosessorijärjestelmänä Hakukoneet, web-palvelimet, sähköpostipalvelimet, tietokannat, Haasteena on kehittää rinnakkainen ohjelma (parallel, concurrent), jolla aikaansaadaan korkea suorituskyky silloin kuin prosessoreiden määrä järjestelmässä kasvaa skaalautuminen Vuoronnus, kuorman tasaus, synkronointiaika, kommunikointikuorma #4
5 Amdahlin laki Nopeutus parannuksen E avulla t o : alkuperäinen suoritusaika ilman parannusta E t E : suoritusaika parannuksen E avulla Oletetaan, että E kiihdyttää tekijällä S (S>1) osan F (F<1) tehtävän suorituksesta. Jäljelle jäävää osaa (1-F) tehtävästä ei saada kiihdytettyä (sarjallinen suoritus) #5
6 Esim 1: Amdahlin laki nopeutus E = 1 / ((1-F) + F/S) Oletetaan parannus, jonka avulla suoritus on 20x nopeampi, mutta on käytettävissä ainoastaan 25% ohjelmasta nopeutus E = 1/( /20) = 1.31 Jos parannus olisi käytettävissä 15% ohjelmasta? nopeutuse = 1/( /20) = 1.17 Amdahlin laki kertoo, että lineaarisen nopeutuksen aikaansaamiseksi, mikään osa alkuperäisestä laskennasta ei saa olla sarjallista! Käytetään 100 prosessoria, jolloin nopeutuksen 90 saamiseksi alkuperäisessä ohjelmassa voi olla sarjallisesti suoritettavaa osaa vähemmän kuin 0.1% nopeutuse = 1/( /100) = #7
7 #9 Esim 2: Amdahlin laki nopeutus E = 1 / ((1-F) + F/S) Oletetaan 10 skalaarimuuttujan summaus ja kahden 10x10 matriisin summaus (matriisien summa) käyttäen 10 prosessoria? nopeutus E = 1/(10/ /110*1/10) = 1/ = 5.5 Jos käytössä olisi 100 prosessoria? nopeutus E = 1/( /100) = 1/ = 10.0 Jos käytettäisiin 100x100 matriiseja (tai suoritetaan kaikkiaan summausta) 10:llä prosessorilla? nopeutus E = 1/( /10) = 1/ = 9.9 Jos käytössä olisi 100 prosessoria? nopeutus E = 1/( /100) = 1/ = 91
8 #10 Skaalautuminen Vahva skaalautuminen Nopeutusta saadaan lisäämällä prosessoreiden määrää ilman ongelman koon kasvattamista Heikko skaalautuminen Nopeutusta aikaansaadaan ainoastaan kasvattamalla ongelman kokoa prosessoreiden määrän lisäyksen suhteessa Kuorman tasaus tärkeä tekijä Yksi prosessori kaksinkertaisella kuormalla muihin verrattuna pienentää nopeutuksen melkein puoleen 10 skalaarin summaus ja 100x100 matriisin summaus 100:lla prosessorilla, mutta yhdellä prosessorilla 2% kokonaiskuormasta: t E = 10t add + max(200t add, 9800t add /99); nopeutus E = t 0 /t E = 10010t add / 210t add = 48 (tasaisella kuormalla 91)
9 Moniprosessori/klusteri: pääpiirteet Q1 miten data jaetaan? Q2 miten toiminta koordinoidaan? Q3 kuinka skaalattava arkkitehtuuri on? Kuinka monta prosessoria tuetaan? #11
10 Jaetun muistin moniprosessori Shared Memory Multiprocessor (SMP) #12 Q1 yksi muistiavaruus, joka jaetaan kaikkien prosessoreiden kesken Q2 prosessorit koordinoivat toimintansa/kommunikoivat muistissa olevien jaettujen muuttujien avulla Jaetun datan käyttö on koordinoitava synkronointiprimitiiveillä (lukitusmekanismi), joka sallii vain yhden prosessorin kerrallaan viittaamaan jaettuun dataan sama lyhenne: Symmetric multiprocessing Kaksi tai useampaa samanlaista prosessoria jakaa yhden päämuistin ja järjestelmää ohjaa yksi käyttöjärjestelmäinstanssi
11 Jaetun muistin moniprosessori kaksi pääluokkaa yhtenäinen muistiviittaus: (uniform memory access, UMA) Päämuistin hakuaika on sama kaikille prosessoreille ja kaikille päämuistin muuttujille epäyhtenäinen muistiviittaus: (nonuniform memory access, NUMA) Päämuistin hakuaika erilainen eri prosessoreille ja eri muuttujille NUMAn ohjelmointi on hankalampaa NUMA voi skaalautua paremmin ja tarjota paikalliseen muistiin pienemmän latenssin Local mem Local mem Local mem #13
12 luvun summaus 10- prosessorin SMP:llä Prosessorit aloittavat silmukalla, joka summaa prosessorille annetun osan vektorista A (vektorit A ja sum ovat jaettuja muuttujia, Pn on prosessorin indeksi, i on paikallinen muuttuja). Prosessorit koordinoivat välisummien yhteenlaskun (half on paikallinen muuttuja, alustettu arvoon 10 (prosessoreiden lukumäärä)) sum[pn] = 0; for (i = 10000*Pn; i< 10000*(Pn+1); i = i + 1) sum[pn] = sum[pn] + A[i]; repeat synch(); if (half%2!= 0 && Pn == 0) sum[0] = sum[0] + sum[half-1]; half = half/2; /*synchronize first if (Pn<half) sum[pn] = sum[pn] + sum[pn+half]; until (half == 1); /*final sum in sum[0] #14 Puomisynkronointi (barrier synchronization) synkronointimenetelmä, jossa prosessorit odottavat, että kaikki ovat saavuttaneet synkronointikohdan
13 Esim. 10:llä prosessorilla sum[p0] sum[p1] sum[p2] sum[p3] sum[p4] sum[p5] sum[p6] sum[p7] sum[p8] sum[p9] P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 half = 10 P0 P1 P2 P3 P4 half = 5 P0 P1 prosessoreiden kuormitus epätasainen half = 2 P0 half = 1 #15
14 Sanomanvälitys-moniprosessori Message Passing Multiprocessors (MPP) Jokaisella prosessorilla oma yksityinen osoiteavaruutensa Q1 prosessorit jakavat dataa lähettämällä ja vastaanottamalla tietoa (sanomanvälitys) Q2 koordinaatio on sisäänrakennettu sanomanvälitysprimitiiveihin (sanoman lähetys ja sanoman vastaanotto) Processor Processor Processor Cache Cache Cache Memory Memory Memory #16 Interconnection Network
15 # luvun summaus 10- prosessorin MPP:lla Aloitetaan hajauttamalla vektorin A elementtiä jokaisen prosessorin paikalliseen muistiin ja summataan elementit välisummiksi rinnakkain. Prosessorit koordinoivat yhdessä välisummien yhteenlaskun (Pn on prosessorin indeksi, send(x,y) lähetää arvon y prosessorille x ja receive() vastaanottaa arvon) sum = 0; for (i = 0; i<10000; i = i + 1) sum = sum + Al[i]; /* sum local array subset half = 10; limit = 10; repeat half = (half+1)/2; /*dividing line if (Pn>= half && Pn<limit) send(pn-half,sum); if (Pn<(limit/2)) sum = sum + receive(); limit = half; until (half == 1); /*final sum in P0 s sum
16 Esimerkki 10:llä prosessorilla sum sum sum sum sum sum sum sum sum sum P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 send half = 10 limit = 10 P0 P1 P2 P3 P4 send receive half = 5 limit = 5 P0 P1 P2 send receive half = 3 limit = 3 P0 P0 receive P1 send receive half = 2 limit = 2 half = 1 #18
17 Sanoman välityksen edut ja haitat Sanoman lähetys ja vastaanotto on huomattavasti hitaampaa kuin laskenta, esim. summaus MPP-laitteisto on huomattavasti helpompi suunnitella Ei tarvetta huolehtia esim. välimuistin koherenssiudesta Etu ohjelmoijalle: kommunikoinnin selkeys Vähemmän suorituskyky-yllätyksiä kuten SMP:n yhteydessä välimuistien koherenssin säilyttämisestä aiheutuvat päivitykset Sanomanvälitys-standardi MPI-2 ( ) Sarjallisen ohjelman porttaaminen MPP:lle on hankalaa, koska jokainen kommunikointitapahtuma täytyy identifioida etukäteen Koherentilla välimuistilla varustettu jaettu muisti huolehtii itse ajoaikana mitä dataa tarvitsee siirtää #19
18 Työasemaklusterit Networks of Workstations (NOWs) Clusters Klusteri koostuen kaupallisista tietokoneista, jotka on kytketty toisiinsa käyttäen tietokoneen I/O-väylää Alhaisempi kaistanleveys kuin moniprosessoreilla, jotka käyttävät prosessori-muistiväyliä Käytetään hitaampia verkkolinkkejä enemmän I/O-liikenteestä johtuvia konflikteja N prosessorilla varustetussa klusterissa on N käyttöjärjestelmäkopiota, mikä rajoittaa sovelluksille käytettävissä olevan muistin määrää Parempi saatavuus ja laajennettavuus Yksittäinen kone voidaan vaihtaa ilman koko järjestelmän alasajoa Mahdollistaa nopean inkrementaalisen laajentamisen kustannustehokas #20
19 Grid Computing Erillisiä verkkoyhteydellä varustettuja tietokoneita Esim. Internet-yhteys Työyksiköt lähetetään verkkoon ja tulokset lähetetään takaisin keskukselle Voi hyödyntää tietokoneen joutoaikaa Esim. World Community Grid #21
20 Monisäikeistys Multithreading on A Chip Yritetään kätkeä todellisista datariippuvuuksista, välimuistin hudeista ja haarautumisista aiheutuva liukuhihnan sakkaus hakemalla suoritukseen käskyjä (muista prosessisäikeistä), jotka ovat sakkauksen aiheuttavista käskyistä riippumattomia Monisäikeistys laitteistolla kasvatetaan piirin resurssien käyttöastetta sallimalla useamman prosessin (säikeen) jakaa prosessorin funktioyksiköitä Prosessorin pitää kopioida jokaisen säikeen osalta laitteiston tila jokaisella säikeellä tulee olla talletustilaa: rekisteritiedosto, ohjelmalaskuri, käskypuskuri, tallennuspuskuri Välimuistit, TLB, BHT, BTB, RUU voidaan jakaa (vaikkakin hutisuhde saattaa kasvaa jos näitä ei ole mitoitettu ajettavien säikeiden määrälle) Muisti voidaan jakaa virtuaalimuistimekanismeilla Laitteiston tulee tukea tehokasta säikeen tilan vaihtoa #22
21 Monisäikeistetty arkkitehtuuri ohjelmisto laitteisto säie Hardware Context rekisterit Hardware Context rekisterit Hardware Context rekisterit puskurit puskurit puskurit ohjelmalaskuri ohjelmalaskuri ohjelmalaskuri RUNNING WAITING READY Context Selection FU väylät FU FU #23
22 Säikeistys Hienorakeinen (fine-grain) vaihdetaan säiettä jokaisella käskyjaksolla Kiertävä säikeiden vuoronnus (skipataan sakkaavat käskyt, jotka odottavat operaation valmistumista) Prosessorin on pystyttävä vaihtamaan säiettä jokaisella kellojaksolla etu pystyy kätkemään sekä lyhyen että pitkän latenssin sakkauksia haitta hidastaa yksittäisen säikeen suoritusta, koska säiettä vaihdetaan kellojakson välein Karkearakeinen (coarse-grain) vaihdetaan säiettä ainoastaan kalliin sakkauksen yhteydessä (esim. L2- välimuistin huti) etu säikeen vaihdon ei tarvitse olla nopea haitta rajoittunut, liukuhihnan uudelleenkäynnistys kallis operaatio Liukuhihna on tyhjennettävä ja täytettävä uudelleen jokaisen säikeen vaihdon yhteydessä #24
23 Simultaneous Multithreading (SMT) Monisäikeistyksen variaatio, jossa käytetään superskalaariprosessorin resursseja hyödyntämään sekä ohjelman käskytason että säie-tason rinnakkaisuutta (threadlevel parallelism, TLP) Useimmissa SS -prosessoreissa enemmän konetason rinnakkaisuutta kuin useimman ohjelmat voivat tehokkaasti hyödyntää (eli ILP pienempi kuin koneen rinnakkaisuus) Rekisterin uudelleen nimeämisen ja dynaamisen vuoronnuksen avulla useampia käskyjä toisistaan riippumattomista säikeistä voidaan asettaa suoritukseen ilman riippuvuuksien tarkastusta Intel kutsuu Pentium 4 SMT nimellä hyperthreading Tukee kahta säiettä (tuplaa arkkitehtuurin tilamuuttujat) #25
24 4-tie SS-prosessorin säikeistys, esim. Issue slots Coarse MT Fine MT SMT Thread A Thread B Time Thread C Thread D #26
25 Flynn:n luokittelu SISD single instruction, single data stream Yksi prosessoriydin (uniprocessor) SIMD single instruction, multiple data streams Yksi ohjausyksikkö lähettää operaation useammalle datapolulle MISD multiple instruction, single data Tällaisia koneita ei tunneta (joissain lähteissä vektorikoneet luokitellaan tähän) MIMD multiple instructions, multiple data streams moniprosessori (SMP, MPP, klusteri, NOW) Nyttemmin vanhentunut luokittelu, paitsi... #27
26 SIMD -prosessorit PE PE PE PE PE PE PE PE Control PE PE PE PE PE PE PE PE Yksi ohjausyksikkö (ohjelmakoodista vain yksi kopio) Useampi datapolku (prosessointielementti PE) toimii rinnakkain #28 Q1 PE:t kytketty toisiinsa ja ne vaihtavat/jakavat dataa ohjausyksikön käskyjen mukisesti Q2 jokainen PE suorittaa saman operaation omalle paikalliselle datalleen
27 Multimedia-SIMD -laajennukset Eniten käytetty SIMD-variaatio löytyy nykyisin melkein kaikista mikroprosessoreista Käskykantaan lisätyt MMX- ja SSE käskyt multimediasovellusten suorituskyvyn kasvattamiseksi Yksi leveä ALU on partitioitu useammaksi pienemmäksi rinnakkain toimivaksi ALU:ksi 16-bit 8-bit summain 32-bit 8-bit summain 16-bit 8-bit summain 8-bit summain summain summain summain Lataukset ja talletukset ovat yhtä leveitä kuin levein ALU, joten sama datan siirto voi käsitellä yhtä 32-bittistä arvoa tai kahta 16-bittistä arvoa tai neljää 8-bittistä arvoa Nykyisin x86 ISA sisältää satoja SSE käskyjä multimediaoperaatioiden tukemiseen #29
28 Vektoriprosessorit vektoriprosessorissa (esim. Cray) ALU on liukuhihnoitettu hyvän suorituskyvyn aikaansaamiseksi alemmalla kustannuksella Tarvitaan joukko vektorirekistereitä operandien tulosten tallettamiseen Kerätään dataelementit muistista, talletetaan ne oikeaan järjestykseen rekisterijoukkoon, operaatiot suoritetaan sarjallisesti rekisterioperandeille ja tulokset kirjoitetaan takaisin muistiin Tällä periaatteella suunniteltiin 80- ja 90-lukujen supertietokoneet Ajatellaan vektorilaajennusta MIPS:n käskykantaan (VMIPS), esim. addv.d : summaa kaksi double precision -arvoa vektorirekisteristä addvs.d, mulvs.d : summaa (tai kerro) skalaarirekisterin arvo jokaisella vektorirekisterin elementillä lv, sv : vektorilataus ja tallennus double precision datalle #30
29 MIPS vs VMIPS DAXPY-koodi: Y = a X + Y l.d $f0,a($sp) ;load scalar a addiu r4,$s0,#512 ;upper bound to load to loop: l.d $f2,0($s0) ;load X(i) mul.d $f2,$f2,$f0 ;a X(i) l.d $f4,0($s1) ;load Y(i) add.d $f4,$f4,$f2 ;a X(i) + Y(i) s.d $f4,0($s1) ;store into Y(i) addiu $s0,$s0,#8 ;increment X index addiu $s1,$s1,#8 ;increment Y index subu $t0,r4,$s0 ;compute bound bne $t0,$zero,loop ;check if done l.d $f0,a($sp) ;load scalar a lv $v1,0($s0) ;load vector X mulvs.d $v2,$v1,$f0 ;vector-scalar multiply lv $v3,0($s1) ;load vector Y addv.d $v4,$v2,$v3 ;add Y to a X sv $v4,0($s1) ;store vector result #31
30 Vektorikone vs skalaarikone Käskynhaun ja dekoodauksen kaistanleveys dramaattisesti pienempi (säästää energiaa) #32 64-elementtinen DAXPY: VMIPS:ssä 6 käskyä vs. ~600 MIPS:ssä Laitteiston ei tarvitse tarkkailla hasardeja vektorikäskyissä. Vektorikäsky sakkaa ainoastaan ensimmäisen elementin kohdalla, loput ilman pysähdyksiä Ohjaushasardeja ei ole MIPS sakkaa n. 64 kertaa useammin kuin VMIPS DAXPY -käskyn yhteydessä Data-tason rinnakkaisten sovellusten kirjoittaminen on helpompaa Muistin viittauskuvio tiedetään etukäteen, joten lomitettu rinnakkaismuisti toimii hyvin Muistin latenssista aiheutuva kustannus näkyy ainoastaan kerran koko datavektorille
31 Grafiikkaprosossorit Graphics Processing Units (GPU) GPU on kiihdytin, joka täydentää keskusprosessoria GPU:n ei tarvitse pystyä suorittamaan kaikkia CPU:n tehtäviä; GPU:n kaikki resurssit on räätälöity grafiikkasovelluksiin GPU datatyyppejä ovat (x, y, z, w) koordinaatit ja kuvapisteen (pixel) (red, green, blue, alpha) värikomponentit GPU suorittaa monia säikeitä rinnakkain (vertex ja pixel shading) in parallel hyvin paljon data-tason rinnakkaisuutta Nykyinen trendi kohti yleiskäyttöisiä GPU-prosessoreita CPU-GPU -yhdistelmä heterogeeninen moniprosessointi CPU sarjallinen koodi, GPU rinnakkainen koodi Ohjelmointikieliä/-rajapintoja DirectX, OpenGL C for Graphics (Cg), High Level Shader Language (HLSL) Compute Unified Device Architecture (CUDA) OpenCL Laaja joukko SIMD-käskyjä; suuntaus kohti moniydin-arkkitehtuureja #33
32 #34 Grafiikka tietokonejärjestelmässä
33 NVIDIA Tesla Streaming multiprocessor 8 Streaming processors #35
34 Kytkentäverkot Verkkotopologia prosessoreiden, kytkimien ja linkkien järjestys Bus Ring N-cube (N = 3) 2D Mesh Fully connected #36
35 Kytkentäverkon suorituskyky Verkon kustannus Kytkimien lukumäärä Kytkimen verkkoon liittyvien (kaksisuuntaisten) linkkien lukumäärä (plus yksi linkki prosessoriin kytkeytymiseen) Linkin leveys biteissä, linkin langoituksen pituus (piirillä) Verkon kaistanleveys (network bandwidth, NB) esittää parasta tapausta Kunkin linkin kaistanleveys * linkkien lukumäärä Puolittajan kaistanleveys (bisection bandwidth, BB) lähempänä pahinta tapausta Jaa kone kahteen osaan, joissa kummassakin puolet solmuista, ja laske yhteen jakolinjan ylittävien linkkien kaistanleveydet Muita kytkentäverkon suorituskykyyn liittyviä seikkoja kuormittamattoman verkon lähetyksen ja vastaanoton latenssi läpäisy aikayksikössä lähetettyjen sanomien max. lukumäärä Pahimman tapauksen reitityshyppyjen lukumäärä, ruuhkan ohjaus ja viive, vikasietoisuus, energiatehokkuus #37
36 Väylä kaksisuuntainen verkkokytkin prosessorisolmu N prosessoria, 1 kytkin ( ), 1 linkki (väylä) vain 1 datasiirto kerrallaan NB = linkin (väylä) kaistanleveys * 1 BB = linkin (väylä) kaistanleveys * 1 #38
37 Rengas N prosessoria, N kytkintä, 2 linkkiä/kytkin, N linkkiä N samanaikaista siirtoa NB = linkin_kaistanleveys * N BB = linkin_kaistanleveys * 2 Jos linkki on yhtä nopea kuin väylä, rengas on ainoastaan 2 kertaa nopeampi kuin väylä pahimmassa tapauksessa, mutta N kertaa nopeampi parhaassa tapauksessa #39
38 Täysinkytketty N prosessoria, N kytkintä, N-1 linkkiä/kytkin, (N*(N-1))/2 linkkiä N samanaikaista siirtoa NB = linkin_kaistaneveys * (N * (N-1))/2 BB = linkin_kaistanleveys * (N/2) 2 #40
39 Ristikytkin (crossbar, Xbar) N prosessoria, N 2 kytkintä (yksisuuntaisia), 2 linkkiä/kytkin, N 2 linkkiä N samanaikaista siirtoa NB = linkin_kaistanleveys * N BB = linkin_kaistanleveys * N/2 #41
40 Hyperkuutio (Binary N-cube) 2-cube 3-cube #42 N prosessoria, N kytkintä, logn linkkiä/kytkin, (NlogN)/2 linkkiä N samanaikaista siirtoa NB = linkin_kaistanleveys * (NlogN)/2 BB = linkin_kaistanleveys * N/2
41 2D ja 3D Mesh/Torus #43 N prosessoria, N kytkintä, 2, 3, 4 (2D torus) tai 6 (3D torus) linkkiä/kytkin, 4 N/2 linkkiä tai 6 N/2 linkkiä N samanaikaista siirtoa NB = linkin_kaistanleveys * 4N tai linkin_kaistanleveys * 6N BB = linkin_kaistanleveys * 2N 1/2 tai linkin_kaistanleveys * 2N 2/3
42 Kytkentäverkkojen vertailua 64:n prosessorin järjestelmä Network bandwidth Bisection bandwidth Total # of switches Links per switch Total # of links (bidi) Bus Ring 2D Torus 6-cube Fully connected #44
43 #45 Monitasoiset kytkentäverkot Multistage Networks
CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
Sisältöä SÄIKEET, SMP
LUENTO 5 Sisältöä SÄIKEET, SMP Stallings, Luku 4 Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä SMP Windowsin säikeet 1 2 Säikeet (multithreading) Prosessi
Rinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa
52480S TIETOKEARKKITEHTUURIT Tentti 6.2.1998
S Ä H K Ö T E K N I I K A N O S A S T O 548S TIETOKEARKKITEHTUURIT Tentti 6..998 Oulu 8..999. Selosta lyhyesti käsitteet: a. set associative memory b. conflict miss c. consistency of cached data d. access
Luento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
Luento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento
Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
Tietokonearkkitehtuuri 2 TKT-3201 (5 op)
Tietokonearkkitehtuuri 2 (5 op) syksyllä 2012 periodit I & II (viikot 35-41 & 43-49) luennot tiistaisin klo 14-16 (periodi I: sali S4, periodi II: sali TB109) Kurssin tavoite Käydään läpi tietokoneen toimintaa
Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi
Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi 24.4.2008 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli
SÄIKEET, SMP. Sisältöä. Stallings, Luku 4. Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä
LUENTO 5 SÄIKEET, SMP Stallings, Luku 4 1 Sisältöä Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä SMP Solaris säikeet 2 Syksy 2007, Tiina Niklander 5-1 Säikeet
Sisältöä SÄIKEET, SMP
LUENTO 5 Sisältöä SÄIKEET, SMP Stallings, Luku 4 Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä SMP Solaris säikeet 1 2 Säikeet (multithreading) Prosessi
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,
Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
Luento 1 (verkkoluento 1) Tietokonejärjestelmä
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.
Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet
POWER analytiikka-alustana
POWER analytiikka-alustana Teppo Seesto Solution Architect Infrastructure matters SAPS/core 5000 4000 SAP 2-tier SD-benchmark SAP ERP 6.0 3765 3000 2000 2204 70% nopeampi 1000 Intel IvyBridge E7-4890v2
Käyttöjärjestelmän rakenne
Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa
Suunnitteluautomaatio
1 Suunnitteluautomaatio Prof. Jarmo Takala Tampereen teknillinen yliopisto Digitaali- ja tietokonetekniikan laitos 2 IC-teknologian tarjoamat mahdollisuudet IC-teknologian kehittyminen on mahdollistanut
4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi
4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen
Intel Pentium Pro -prosessori tietokonearkkitehtuurit, syksy -96 Ari Rantanen Tarkasteltavat aiheet Katsaus Pentium Pro:n ominaisuuksiin Käskyn suoritus Pentium Pro:n liukuhihnalla Pentium Pro:n suorituskyky
Rinnakkaistietokoneet luento 1 521475S
Rinnakkaistietokoneet luento 1 521475S Yleistä Luennnoitsija: Janne Haverinen huone: TS349 s-posti: janne.haverinen@oulu.fi puh: 553 2801 Assistentti: Jarno Haapamäki huone: TS354 s-posti: jarno.haapamaki@oulu.fi
Intel Threading Building Blocks
Intel Threading Building Blocks Markku Vajaranta Esko Pekkarinen TBB Pähkinänkuoressa C++ luokkamallinen rinnakkaisuus Abstrahoi rinnakkaisuutta korkean tason tehtävät (tasks) ja niiden skedulointi suuri
TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokonetekniikka. Tutkintotyö. Emil Palomäki INTEL CORE -MIKROARKKITEHTUURI
TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokonetekniikka Tutkintotyö INTEL CORE -MIKROARKKITEHTUURI Työn ohjaaja Tampere 2006 Kai Poutanen TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan
SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet
SISÄLLYS 1 2 3 4 Tietokoneen toimintaperiaate ja käyttö 14 1.1 Mikä tietokone on? 14 1.2 Tieteen ja toimiston koneista yleistietokoneeseen 15 1.3 Mekaanisista ja sähköisistä laitteista sulautettuihin tietokoneisiin
Moniydinsuorittimien rinnakkaisohjelmointi
Moniydinsuorittimien rinnakkaisohjelmointi Turun yliopisto Informaatioteknologian laitos Tietojenkäsittelytiede Pro gradu -tutkielma Jari-Matti Mäkelä Maaliskuu 2011 TURUN YLIOPISTO Informaatioteknologian
Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi
Käyttöjärjestelmät Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Kurssin sisältö Johdanto, historiaa
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan
Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä
Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat
Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
Tietokoneen toiminta, K Tavoitteet (4)
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
Käyttöjärjestelmät: poissulkeminen ja synkronointi
Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet
Käyttöjärjestelmät: prosessit
Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä
Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka
Rinnakkaisuus parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa Rinnakkaisuuden etuja: laskennan nopeutuminen (sarjoittuvat operaatiojonot) ilmaisuvoima (ongelman
1. Keskusyksikön rakenne
1. Keskusyksikön rakenne Kuvassa on esitelty TTK-91 esimerkkikoneen keskusyksikkö. Oikeiden tietokoneiden keskusyksiköt ovat luonnollisesti monimutkaisempia, mutta tämä riittää oikein mainiosti asian havainnollistamiseen.
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?
Vapaasti suomennettu esityksestä: Supercomputing: Past, Present, and a Possible Future
Vapaasti suomennettu esityksestä: Supercomputing: Past, Present, and a Possible uture SOS'11 Keynote lex Ramirez Computer rchitecture Group anager Barcelona Supercomputing Center Sisältö Supertietokoneiden
Välimuistin suorituskyvyn mittaus
Välimuistin suorituskyvyn mittaus Oletetaan, että välimuistiosuman kustannukset on sisällytetty normaaliin CPU-jaksoon. Tällöin CPU time = IC CPI CC = IC (CPI ideal + Memory-stall cycles) CC CPI stall
OHJ-4301 Sulautettu Ohjelmointi
OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3
Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien
Numeriikan kirjastoja
Numeriikan kirjastoja + Säästää aikaa, hikeä ja kyyneleitä + Aliohjelmat testattuja ja luotettavia + Tehokkuus optimoitu - Ei aina sovellu kovin hyvin omaan tehtävään - Kaupallisista kirjastoista ei saa
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa
Prosessit ja säikeet SMP, Mikroytimet W2K säikeet
LUENTO 3 Käyttöjärjestelmät II Prosessit ja säikeet SMP, Mikroytimet W2K säikeet Stallings, Ch 3-4.4 1 Mitä KJ-I:ssä / KJ-II:ssa? KJ I + RIO (luvut 3.1-3, 4.1, 5, 6.1-6) Prosessin tilat, jonot, PCB Luonti,
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
KJ-II K2006 / Auvo Häkkinen - Teemu Kerola
LUENTO 3 Käyttöjärjestelmät II Prosessit ja säikeet SMP, Mikroytimet W2K säikeet Stallings, Ch 3-4.43 1 Mitä KJ-I:ss I:ssä / KJ-II:ssa II:ssa? KJ I + RIO (luvut 3.1-3, 4.1, 5, 6.1-6) Prosessin tilat, jonot,
Käyttöjärjestelmät II. SMP, Mikroytimet. Prosessit yleensä. UNIX prosessit. UNIX SVR4 Prosessit. UNIX prosessin kuvaaja
Käyttöjärjestelmät II Prosessit ja säikeet SMP, Mikroytimet W2K säikeet Stallings, Ch 3-4.43 LUENTO 3 Mitä KJ-I:ss I:ssä / KJ-II:ssa II:ssa? KJ I + RIO (luvut 3.1-3, 4.1, 5, 6.1-6) Prosessin tilat, jonot,
TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?
Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää
Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä
Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon
CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa
CT50A2602 Käyttöjärjestelmät Seminaarityö Tietokoneen muisti nyt ja tulevaisuudessa Jyrki Eurén Raimo Asikainen Janne Laitinen Teppo Lapinkoski Manu Toivanen Pasi Ruuth Johdanto Taustaa Työn taustana ryhmän
TKT-3201 Tietokonearkkitehtuuri 2. Luku 1: Tietokoneen abstraktiot ja tekniikka
TKT-3201 Tietokonearkkitehtuuri 2 Luku 1: Tietokoneen abstraktiot ja tekniikka #2 Tietokone Henkilökohtainen tietokone (Personal Computer, Desktop, Laptop) Suunniteltu tuottamaan hyvä suorituskyky yhdelle
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
Tietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.
Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon
Algoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007
Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden
Superskalaariprosessointi
Tietokoneen rakenne Luento 10 Superskalaariprosessointi Stallings: Ch 14 Käskyjen väliset riippuvuudet Rekistereiden uudelleennimeäminen Pentium / PowerPC Luento 10-1 Superskalaariprosessointi Tavoite
Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?
Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi 27.1.2011 Tietokone suoritin (CPU) väylä tai väylät laiteohjaimet muiden koneiden kanssa Ethernet, modeemi,... laitteiden kanssa Levy, DVD, CD,
Rinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 4 521475S Rinnakkaiset ei-numeeriset algoritmit: transitiivisulkeuma (transitive closure) Oletetaan suunnattu graafi G = (V,E) ja halutaan tietää onko olemassa kahta pistettä
Luento 10: Superskalaari prosessori
Tietokoneen rakenne Stallings: Ch 14 Käskyjen väliset riippuvuudet Rekistereiden uudelleennimeäminen Pentium / PowerPC Luento 10 Muistin käytön oltava tehokas u Nouda useita käskyjä yhtäaikaa, ennaltanouto
TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto
Indeksin luonti ja hävitys TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Komentoa ei ole standardoitu ja niinpä sen muoto vaihtelee järjestelmäkohtaisesti Indeksi voidaan
Nopea kertolasku, Karatsuban algoritmi
Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa
Yleisen PSCR-menetelmän toteutus ohjelmoitavalla näytönoh
Yleisen n toteutus ohjelmoitavalla näytönohjaimella Mirko Myllykoski mirko.myllykoski@jyu.fi 15.2.2011 Mitä teen? Tarkoituksena toteuttaa (ja osin jo toteutettukin) stä versio ohjelmoitavalle näytönohjaimelle
Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen
Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka
Superskalaariprosessointi
Tietokoneen rakenne Luento 10 Superskalaariprosessointi Stallings: Ch 14 Käskyjen väliset riippuvuudet Rekistereiden uudelleennimeäminen Pentium / PowerPC Luento 10-1 Superskalaariprosessointi Tavoite
Algoritmit 1. Luento 11 Ti Timo Männikkö
Algoritmit 1 Luento 11 Ti 14.2.2017 Timo Männikkö Luento 11 Algoritminen ongelmanratkaisu Osittaminen Lomituslajittelu Lomituslajittelun vaativuus Rekursioyhtälöt Pikalajittelu Algoritmit 1 Kevät 2017
Prosessi perinteisesti
Käyttöjärjestelmät t I Luento 11: SÄIKEETS Stallings, Luku 4.1 Sisält ltöä Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä Säikeen tilat Käyttöjärjestelmän
Stallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH
Käyttöjärjestelmät t I Luento 11: SÄIKEETS Stallings, Luku 4.1 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-1 Sisält ltöä Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden
Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa
Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Osa II OUGF / 12.5.2004 c Sisält ltö Mitä uutta? Yleistä lisensoinnista Lisensointiin liittyviä ongelmia Hankinnassa muistettavia asioita
Tietokoneen rakenne: Harjoitustyö. Motorola MC68030 -prosessori
kevät 2004 TP02S-D Tietokoneen rakenne: Harjoitustyö Motorola MC68030 -prosessori Työn valvojat: Seppo Haltsonen Pasi Lankinen RAPORTTI 13.5.2004 Sisällysluettelo sivu Tiivistelmä... 1 Lohkokaavio... 2
Tietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2001 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet
Superskalaariprosessointi
Tietokoneen rakenne Luento 10 Superskalaariprosessointi Stallings: Ch 14 Käskyjen väliset riippuvuudet Rekistereiden uudelleennimeäminen Pentium / PowerPC Luento 10-1 Superskalaariprosessointi Tavoite
Tietokoneen toiminta (Computer Organization I)
581305-6 toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kesä 2002 Avoin yliopisto 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet
Algoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
Backup Exec 3600 Appliance
Backup Exec 3600 Appliance Markku A Suistola Principal Presales Consultant Parempaa varmistusta kaikille! Ohjelmisto Appliance Pilvi Virtuaalisen ja fyysisen ympäristön suojaus 2 Perinteinen ratkaisu usein
Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)
Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tieto ja sen osoite (3) X DC LOAD, =X LOAD R2, X int x =; symbolin X arvo muuttujan X arvo
D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää
Levyn rakenne Levykössä (disk drive) on useita samankeskisiä levyjä (disk) Levyissä on magneettinen pinta (disk surface) kummallakin puolella levyä Levyllä on osoitettavissa olevia uria (track), muutamasta
Tietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2003 Muuntokoulutettaville Aihepiiri Sovellukset Teknologia Samanaikaisuus
Tietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2003 Muuntokoulutettaville 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus
MUISTIPIIRIT H. Honkanen
MUISTIPIIRIT H. Honkanen Puolijohdemuistit voidaan jaotella käyttötarkoituksensa mukaisesti: Puolijohdemuistit Luku- ja kirjoitusmuistit RAM, Random Access Memory - Käytetään ohjelman suorituksen aikaisen
Kertausluento luennoista 1-3 1
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi
Ohjelmistoradio. Mikä se on:
1 Mikä se on: SDR = Software Defined Radio radio, jossa ohjelmisto määrittelee toiminnot ja ominaisuudet: otaajuusalue olähetelajit (modulaatio) olähetysteho etuna joustavuus, jota tarvitaan sovelluksissa,
Tietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Kesä 2000 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet
Tietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Kesä 2000 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet
Aihepiiri Tietokoneen toiminta (Computer Organization I) Tavoitteet (4) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia
581305-6 toiminta (Computer Organization I) Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Kesä 2000 Aihepiiri Sovellukset Samanaikaisuus Teknologia Ohjelmointikielet toiminta: konekieli
SMART BUSINESS ARCHITECTURE
SMART BUSINESS ARCHITECTURE RAJATTOMAN VERKON ALUSTA Mihail Papazoglou, järjestelmäasiantuntija Agenda Markkinatrendit Miksi Smart Business Architecture? LAN Security Yhteenveto 2010 Cisco Systems, Inc.
Tietokonetekniikka Edita, Seppo Haltsonen, Esko T. Rautanen
SISÄLLYS 1 Tietokoneen toimintaperiaate ja käyttö... 14 1.1 Mikä tietokone on?... 14 1.2 Tieteen ja toimiston koneista yleistietokoneeseen... 15 1.3 Mekaanisista ja sähköisistä laitteista sulautettuihin
Tietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2002 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet
Aihepiiri Tietokoneen toiminta (Computer Organization I)
toiminta, K2000 1452002 581305-6 toiminta (Computer Organization I) Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2002 Aihepiiri Sovellukset Samanaikaisuus Teknologia Ohjelmointikielet
Tietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2002 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet
Rinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 3 521475S Rinnakkaiset Numeeriset Algoritmit Silmukattomat algoritmit Eivät sisällä silmukka lauseita kuten DO,FOR tai WHILE Nopea suorittaa Yleisimmässä muodossa koostuu peräkkäisistä
Oppimistavoitteet kurssilla Rinnakkaisohjelmointi
17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman
Anvia IT-palvelut Oy Tuotetiedot. Tiedot. Tuotenumero FUJITSU CELSIUS W550 + K1200. Tuotetiedot.
Tuotetiedot Tiedot Valmistaja Fujitsu Tuotenumero FUJITSU CELSIUS W550 + K1200 VFY:W5500W75ABNC + S26361-F2222-L120 - CELS W550, i5-6500, 1x8GB DDR4, DVD SM, MCR 24IN1, HDD 1000GB SATA III, no graphics,
Osio 2: Luennot 5-8 Muistinhallinta
Käyttöjärjestelmät I Osio 2: Luennot 5-8 Muistinhallinta Tiina Niklander; kalvot Auvo Häkkinen Tietojenkäsittelytieteen laitos Helsinin yliopisto "!$#%#'&)(*+,(.-0/1#'-243 0# 5 Stallins, Luku 7 KJ-I S2004
RISC-arkkitehtuuri Ch 13 [Sta06] Käskyanalyysia RISC vs. CISC Rekisterien käytöstä
Tietokoneen rakenne Suoritinesimerkit Ch 12.5-6 [Sta06] Pentium/PowerPC Luento 9 RISC-arkkitehtuuri Ch 13 [Sta06] Käskyanalyysia RISC vs. CISC Rekisterien käytöstä Luento 9-1 Tietokoneen rakenne Pentium
Tietokoneen toiminta (Computer Organization I) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia. Aihepiiri.
toiminta, K2001 1512001 581305-6 toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2001 Muuntokoulutettavien erikoiskurssi Mitä hyötyä tästä on?
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi
Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer)
Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer) 1 Suorituksenaikainen suorittimen ja muistin sisältö muisti suoritin
Luento 10: Superskalaari prosessori
Tietokoneen rakenne Luento 10 Tavoite u Nopeuttaa skalaarikäskyjen prosessointia Useita itsenäisiä liukuhihnoja u Ei siis pelkästään enemmän vaiheita liukuhihnalla Stallings: Ch 14 Käskyjen väliset riippuvuudet
Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi