alternativer til felles hukommelse store parallelle datamaskiner Tema for denne forelesningen: in 147, våren 1999 parallelle datamaskiner 1 9
|
|
- Halvard Jenssen
- 6 år siden
- Visninger:
Transkript
1 Tema for denne forelesningen: store parallelle datamaskiner alternativer til felles hukommelse in 147, våren 1999 parallelle datamaskiner 1 9
2 Store parallelle datamaskiner Felles hukommelse på én buss er begrenset til så mange prosessorer man kan telle på én hånd! Skal man lage noe større så kan man koble dem sammen med nettverk. Eksempel: arbeidsstasjoner koblet sammen med et nettverk hver maskin har hver sin hukommelse Kommunikasjon: utveksle meldinger skape (illusjon av) felles hukommelse in 147, våren 1999 parallelle datamaskiner 2 0
3 Byggesten for store parallelle datamaskiner meldingsutveksling ikkekoherent felles hukommelse cachekoherent felles hukommelse CPU er memory systembuss bro I/Obuss adapter I/O Systembusser følger CPU I/Obusser har lenger levetid disker in 147, våren 1999 parallelle datamaskiner 2 1
4 Meldingsutveksling CPU er memory systembuss bro I/Obuss I/O overhead? disker in 147, våren 1999 parallelle datamaskiner 2 2
5 Meldingsutveksling iht. SVID Opprettelse av en meldingskø: #include <sys/ipc.h> #include <sys/msg.h> #define MSGKEY ((key_t)1) msgid = msgget( MSGKEY, 0700 IPC_CREAT ); status = msgsnd( msgid, buffer, msgsize, 0 ); status = msgrcv( msgid, buffer, maxsize, type, 0 ); Generisk melding: struct msgbuf long mtype; /* message type */ char mtext[]; /* message text */ } msg; Fjerning av en meldingskø: /* rydder opp i System V IPC ipcs, ipcrm, etc */ msgctl( msgid, IPC_RMID, NULL ) Andre funksjoner, se man ipcs og man ipcrm in 147, våren 1999 parallelle datamaskiner 2 3
6 Fraktalt bilde iht. formann/arbeider konseptet /* melding for spørsmål etter oppgaver og svar på disse */ struct msgtask long mtype; /* mottakeren ønsker å motta iht. dette feltet */ int verdi; /* informasjon om type melding */ pid_t avsender; /* pid en til avsender */ unsigned lx; } svar; /* data */ arbeider /* meldinger med utførte arbeidsstykker */ struct msgpiece long mtype; int verdi; pid_t avsender; unsigned lx; unsigned char linjen[ysize]; } linje; formann arbeider /* meldingstyper */ #define REQ_WORK 1 /* arbeider spør etter oppgave */ #define RESULT 2 /* arbeider returnerer resultat */ #define ACK_WORK 3 /* formann deler ut nytt arbeidsstykke */ #define NACK_WORK 4 /* formann har ikke mer arbeid å dele ut */ in 147, våren 1999 parallelle datamaskiner 2 4
7 Formannen: void formann() boolean ferdig = FALSE; int status, i, igjen = 0, lx = 0, terminerte = 0; while (! ferdig ) /* vent på melding til formannen */ status = msg_rcv((struct msgbuf*)&linje,sizeof(struct msgpiece),formannpid); /* svar på melding */ switch ( linje.verdi ) case ( RESULT ) : /* her kom et resultat */ /* mottok en linje i bildet */ for ( i = 0; i < YSIZE; i ++ ) x147plot( linje.lx, i, linje.linjen[i] ); } /* teller ned antall utestående svar */ igjen = 1; x147sync(); break; 25
8 } case ( REQ_WORK ) : /* ønske om mer arbeid */ svar.mtype = ((struct msgtask*)&linje) >avsender; if ( lx < XSIZE ) /* mer å gjøre */ svar.verdi = ACK_WORK; svar.lx = lx; lx += inkrement; igjen += inkrement; if ( lx > XSIZE ) igjen = (lx XSIZE); lx = XSIZE; } } else /* oppdraget er utført */ svar.verdi = NACK_WORK; terminerte += 1; } status = msg_snd((struct msgbuf*)&svar,sizeof(struct msgtask)); break; default: perror("feil type mottatt melding"); ferdig = TRUE; break; } /* ferdig når alle arbeiderne har fått beskjed om å gå hjem */ if ( terminerte == prosesser && igjen == 0 ) ferdig = TRUE; } in 147, våren 1999 parallelle datamaskiner 2 6
9 Arbeider: void arbeider() boolean ferdig = FALSE; int status; unsigned teller = 0; int minpid = getpid(); /* henter første oppgave */ svar.mtype = formannpid; svar.verdi = REQ_WORK; svar.avsender = minpid; status = msg_snd( (struct msgbuf*)&svar, sizeof(struct msgtask) ); while (! ferdig ) int lx, verdi, i; /* lokale kopier */ /* vent på respons merket med egen PID */ status = msg_rcv((struct msgbuf*)&svar,sizeof(struct msgtask),minpid); lx = svar.lx; verdi = svar.verdi; /* be om ny arbeidsoppgave mens forrige bearbeides */ if ( verdi!= NACK_WORK ) svar.mtype = formannpid; svar.verdi = REQ_WORK; 27
10 svar.avsender = minpid; status = msg_snd((struct msgbuf*)&svar,sizeof(struct msgtask)); } switch ( verdi ) case ACK_WORK: /* del var mer arbeid */ for ( i = 0; i < inkrement; i ++ ) teller += 1; /* gjør arbeidet */ arbeider_plot_col( lx + i, linje.linjen ); /* returnere svaret */ linje.mtype = formannpid; linje.avsender = minpid; linje.verdi = RESULT; linje.lx = lx + i; status = msg_snd((struct msgbuf*)&linje,sizeof(struct msgpiece)); } break; case NACK_WORK: /* ikke flere oppgaver */ ferdig = TRUE; break; default: perror("arbeider: feil svar.verdi"); exit( 1); break; } } /* sier fra hvor stor belastningen var */ exit(teller); } in 147, våren 1999 parallelle datamaskiner 2 8
11 Forøvrig: Alle filene ligger på ~in147/kode/meldinger SVID meldinger fungerer på maskiner med felles hukommelse (!) Likefullt illustrerer eksemplet programmering for meldingsutveksling Meldingsutveksling er så mye brukt at det finnes flere (!) standarder: Message Passing Interface Parallel Virtual Machine Ved å bruke slike systemer blir muligheten for å flytte kode mellom forskjellige maskiner god! in 147, våren 1999 parallelle datamaskiner 2 9
12 Trinn en melding må gjennom (forenklet!) 1) bruker komponerer meldingen i et buffer 2) meldingen blir sendt fra bruker, OS overtar 3) meldingen blir kopiert fra brukerens buffer til et buffer som hører OSet til 4) OSet overlater meldingen til nettverket 5) meldingen flyttes fra buffer i avsendernoden til buffer i mottakernoden 6) nettverket informerer OSet om at en melding har kommet (avbrudd) 7) mottaker ønsker en ny melding, OSet kobler dette ønsket med meldingen 8) meldingen kopieres fra OSet sitt buffer til mottakerens buffer 9) mottakeren har fått sin melding in 147, våren 1999 parallelle datamaskiner 3 0
13 Cachekoherent felles hukommelse CPU er memory systembuss bro I/Obuss adapter I/O hvor er det cacher? atomiske operasjoner? disker in 147, våren 1999 parallelle datamaskiner 3 1
14 Katalogbasert cachekoherens hukommelse Alle maskiner bidrar til ett stort felles adresserom Hvem har kopier? Er oversikten sentralisert, eller er den distribuert? «kart» for hver linje peker til neste osv Skal protokollen bruke write through eller write back? tilstand in 147, våren 1999 parallelle datamaskiner 3 2
15 SCI = Scalable Coherent Interface cacher: hukommelse v tag data monoprosessor cstate tag data multiprosessor 16 bit forwardid 16 bit backwardid 7 bit cstate 16 bit memid 48 bit tag 64 byte data SCI Tid for overføring av 64 byte: > cachekoherent maskin: 0,5 1 µs > over I/O: ~7µs in 147, våren 1999 parallelle datamaskiner 3 3
16 Felles hukommelse uten hardware cachekoherens CPU er memory utvider fysisk adresserom systembuss bro I/Obuss I/O disker in 147, våren 1999 parallelle datamaskiner 3 4
17 Meldinger og felles hukommelse lese fra hukommelsen: data = load( adresse ) skrive til hukommelsen: store( data, adresse ) Melding: struct memory_operasjon unsigned operasjonstype; unsigned adresse; unsigned data[]; }; Avveininger: mengde data: cachelinje < > side implementasjon: maskinvare < > programvare plassering av data: buffer i hukommelsen < > cache in 147, våren 1999 parallelle datamaskiner 3 5
18 Fra eksempelet på side 654 Characteristic Bandwidth from node to network Interconnect latency HW latency to/from network SW overhead sending to network SW overhead receiving from network Ethernet MB/sec 15µs 6µs 200µs 241µs ATM 10MB/sec 50µs 6µs 207µs 360µs pakkestørrelse: 64 byte (én cachelinje) overføringstid: pakkestørelse/overføringshastighet total forsinkelse: overføringstid + HW/SW forsinkelser overføringstid for Ethernet : 57µs overføringstid for ATM : 6,4µs total forsinkelse for Ethernet : 519µs [8µs/byte] total forsinkelse for ATM : 630µs [10µs/byte] En prosessor på 100 MHz «utfører» 100 instruksjoner på ett µs. Det blir altfor dyrt å skape felles hukommelse over et nettverk under slike forhold! (større enheter hjelper) in 147, våren 1999 parallelle datamaskiner 3 6
19 Shared Virtual Memory (SVM) introduserer nettverket som «paging device» bruker «segmentation fault» som indikasjon deler sider (pages), disse er typisk på 4 KB Forsinkelser: Ethernet: 4103µs [1,00µs/byte] ATM: 1033µs [0,25µs/byte] + kan bruke virtuell hukommelse som cache «false sharing» tilstand «cache» virtuelt adresserom sider som hører til på denne noden in 147, våren 1999 parallelle datamaskiner 3 7
20 Moderne nettverksteknologi Erstatter meldingsutveksling med vinduer inn i andre noders hukommelser Maskin A Maskin B A.hukommelse B.hukommelse Skygge av utsnitt av B.hukommelse Nettverksadaptere: Programmereren må være klar hvordan data blir cachet, og tvinge data ut fra cachen til hukommelsen Memory Channel fra Digital ServerNet fra Tandem SCI fra bl.a. Dolphin Raskere nettverksteknologi kommer til unnsetning! Scali Computers [ in 147, våren 1999 parallelle datamaskiner 3 8
21 Meldingsutveksling vs. felles hukommelse meldingsutveksling: > lett å lage > vanskelig å bruke felles hukommelse: > vanskelig å lage > lett å bruke Standardiseringsarbeid Message Passing Interface (MPI) [ Parallel Virtual Machine (PVM) [ Open MP [ in 147, våren 1999 parallelle datamaskiner 3 9
Oppgave 8.1 fra COD2e
Oppgave 8.1 fra COD2e To systemer brukes for transaksjonsprosessering: A kan utføre 1000 I/O operasjoner pr. sekund B kan utføre 750 I/O operasjoner pr. sekund Begge har samme prosessor som kan utføre
DetaljerInput/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling
Input/Output når tema pensum 13/4 busser, sammenkobling av maskiner 8.2 8.4 20/4 PIO, DMA, avbrudd/polling 8.5 8.6 in 147, våren 1999 Input/Output 1 Tema for denne forelesningen: sammenkobling inne i datamaskiner
DetaljerInnhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse
Innhold Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer Prinsipper for synkronisering av felles hukommelse Multiprosessorer koblet sammen av én buss 02.05 2001 Parallelle
Detaljer4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.
Parallellitet når tema pensum 27/4 felles hukommelse 9.2 9.3 4/5 store parallelle maskiner 9.4 9.6 in 147, våren 1999 parallelle datamaskiner 1 Tema for denne forelesningen: kraftigere enn én prosessor
DetaljerOppgave 1 JK-flip-flop (Total vekt 20%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 12. mai 1997 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte
DetaljerTildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en
DetaljerTildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må
DetaljerOppgave 1 Oversettelse (total vekt 20%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 47 Program- og maskinvare Eksamensdag: 27. mai 998 Tid for eksamen: 9. 5. Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler:
DetaljerDagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache
Dagens temaer Dagens emner er hentet fra Englander kapittel side 338-35 (gammel utgave). Mer om design av cache. Kort repetisjon er en spesiell type rask hukommelse som inneholder et subsett av det som
Detaljerytelsen til hukommelseshierarkier
Tema for denne forelesningen: virtuell hukommelse ytelsen til hukommelseshierarkier andre ting å cache e in 47, våren 999 hukommelseshierarki 2 Alle prosesser får et helt adresserom! stakk stakk stakk
Detaljerdynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program
Alle prosesser får et helt adresserom! antall prosesser varierer hele tiden! in 47, våren 997 hukommelseshierarki 2 Mange prosessers og ett fysiske adresserom? Jo, bruk den fysiske hukommelsen som en cache
DetaljerGenerelt om operativsystemer
Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og
DetaljerIN 147 Program og maskinvare
Dagens tema Parallellitet Eksempelprogrammet Litt om X En enkelt pakke for tegning på skjerm Et program for å tegne fraktaler Kommunikasjon mellom prosesser Rør Felles lager Ark 1 av 24 Forelesning 28.4.1998
Detaljer! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:
Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som
DetaljerOppsummering av digitalteknikkdelen
Oppsummering av digitalteknikkdelen! Følgende hovedtemaer er gjennomgått! Boolsk Algebra! von Neuman-arkitektur! Oppbygging av CPU! Pipelining! Cache! Virtuelt minne! Interne busser 09.05. INF 1070 1 Boolsk
DetaljerDel 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
DetaljerDagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)
Dagens temaer Cache (repetisjon) Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser
DetaljerDagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen
Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining
DetaljerDagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser
Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser 1 Cache (repetisjon)
Detaljerkan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet
Dagens temaer Virtuell hukommelse (kapittel 9.9 i læreboken) Input-Output Virtuell hukommelse Ofte trenger et program/prosess mer RAM enn det som er tilgjengelig fysisk Et program deler RAM med andre programmer
DetaljerInnhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki. 02.04.2001 Hukommelseshierarki-2 1
Innhold Virtuelt minne Paging i mer detalj Felles rammeverk for hukommelseshierarki 02.04.200 Hukommelseshierarki-2 Virtuelt minne Lagringskapasiteten i RAM må deles mellom flere ulike prosesser: ûoperativsystemet
DetaljerOperativsystemer og grensesnitt
Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner
DetaljerNybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker
Nybegynnerkurs i C Øyvind Grønnesby 14. oktober 2004 Introduksjon pass-by-value svakt typet portabel assembler siste ISO-standard er C99 Hello world #i n c l u d e < s t d l i b. h> #i n c l u d e
DetaljerLøsningsforslag til eksamen i IN 147(A)
Løsningsforslag til eksamen i IN 147(A) Dag Langmyhr (oppgave 1, 4 og 6) ØysteinGranLarsen (oppgave 2, 3 og 5) 31. mai 1999 1 Oversettelse Funksjonen strxxx går gjennom en tekst og finner adresessen til
DetaljerSingletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.
-OS i i L1 og L2 og og Basis for flerprosess-systemer. Adresser.. 2 1 0 OS Device minne Skjerm minne Brukerprogram Brukerdata/heap Stack Stack: brukes bl. a. til å lagre adressen som skal returneres til
DetaljerDeadlocks og mer om concurrencymekanismer
Deadlocks og mer om concurrencymekanismer Lars Vidar Magnusson September 30, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 30, 2011 1 / 17 Oversikt Deadlocks 1 Deadlocks
DetaljerUniversitetet i Oslo Institutt for informatikk. Hovedfagsessay. Bård Lutzow-Holm Myrstad. User-level sockets
Universitetet i Oslo Institutt for informatikk Hovedfagsessay Bård Lutzow-Holm Myrstad User-level sockets 18. oktober 2001 1 Forord Dette essayet er en obligatorisk del av hovedfagsseminaret på Institutt
DetaljerHvorfor lære om maskinvare*?
Litt om maskinvare Hvorfor lære om maskinvare*? Hovedoppgaven til et OS er å styre maskinvare Må ha grunnleggende kjennskap til maskinvare for å forstå hvordan OS fungerer Skal bare se på grunnleggende
DetaljerIT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner
IT1101 Informatikk basisfag, dobbeltime 18/9 I dag: Kommunikasjon med perifere enheter (på maskinspråknivå) Kommunikasjonsrater Kommunikasjonsfeil Feildetektering Feilkorrigering (Hammingdistanse) Operativsystemer
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 8. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet
DetaljerDagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)
Dagems temaer Fra Kort Organisering Register kapittel 4 i Computer Organisation and Architecture om hurtigminne (RAM) av CPU: von Neuman-modellen Transfer Language (RTL) Instruksjonseksekvering Pipelining
DetaljerInnhold. Oppgave 1 Oversettelse (vekt 15%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 29. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 10 sider. Vedlegg: Tillatte
DetaljerKap. 8 del 1 kodegenerering INF5110 Vår2007
Kap. 8 del 1 kodegenerering INF5110 Vår2007 Stein Krogdahl, Ifi UiO Forelesninger framover: Tirsdag 8. mai: Vanlig forelesning Torsdag 10. mai: Ikke forelesning Tirsdag 15. mai: Vanlig forelesning (siste?)
DetaljerKort notat om parallellstyring IN147
Kort notat om parallellstyring IN147 Kristin Skar 18. mai 2001 1 Kommunikasjon mellom prosesser Mange problemer man kommer borti kan kreve en paralell løsning: Man kan ha behov for økt hastighet, og dermed
DetaljerDatamaskinens oppbygning og virkemåte
Datamaskinens oppbygning og virkemåte Laboppgave Sasa Bakija, 08DAT Del 1: Setup BIOS 1. DELL Optiplex GX270 har en Intel Pentium 4 CPU med buss speed på 800 Mhz og klokkefrekvens på 2.80 Ghz. 2. Internminne
DetaljerDagens tema: Parallellstyring
Nyttige forklaringer Sikker opprettelse av nye prosesser Hva er en kommandotolker? Dagens tema: Parallellstyring Generelt Synkronisering med filer Synkronisering med rør Synkronisering med felles lager
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 9. desember 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet
DetaljerEksamensoppgave i TDT4258 Energieffektive datamaskinsystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Faglig kontakt under eksamen: Asbjørn Djupdal Tlf.: 909 39452 Eksamensdato: 29. mai 2013
DetaljerGetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.
Hardware-støttet Semafor og Implementasjon av semafor i OS til å synkronisere Hardware-støttet alle softwareløsninger innebærer mange instruksjoner i tillegg til busy-waiting, som koster CPU-tid. I praksis
DetaljerOppgave 1 - Linux kommandolinje (%)
Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no
DetaljerEksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer
Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid
DetaljerIN 147 Program og maskinvare
Dagens tema Operativsystemer Hva er et operativsystem? En meget kort oversikt over operativsystemenes historie Systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer
DetaljerOppgave 1 Oversettelse (vekt 16%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 31. mai 1999 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider. Vedlegg: Tillatte
DetaljerLøsningsforslag til eksamen i IN 147 og IN 147A
Løsningsforslag til eksamen i IN 17 og IN 17A Dag Langmyhr Øystein Gran Larsen Våren 1996 1 Oversettelse I vårt forslag har vi lagt større vekt på at oversettelsen skal vært «rett frem» og lett forståelig
DetaljerMPIntroduksjon Et eksempel
MPIntroduksjon Et eksempel Jon Nilsen Kjerne- og energigruppen MPIntro p.1/17 Litt om parallisering Grunnleggende ideer: Vil ha raskere og større beregninger parallellisering. Flere prosessorer brukes
DetaljerDagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)
Dagems temaer! ra kapittel 4 i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering! Pipelining
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF103 Fra brukergrensesnitt til maskinvare Eksamensdag: 15. desember 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.
DetaljerOperativsystemets ansvar er å koordinere. programmers bruk av I/O
Operativsystemets ansvar er å koordinere programmers bruk av systemet blir delt av flere programmer som også deler prosessoren bruker ofte avbrudd for å melde tilbake om status til operasjoner avbrudd
DetaljerDagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer
Dagens program Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer Nyttige forklaringer Sikker opprettelse av nye prosesser Hva
DetaljerINF2270. Minnehierarki
INF2270 Minnehierarki Hovedpunkter Bakgrunn Kort repetisjon Motivasjon Teknikker for hastighetsøkning Multiprosessor Økt klokkehastighet Raskere disker Økt hurtigminne Bruksområder Lagringskapasitet Aksesstider
Detaljerhvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.
Oppbygging av RAM Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon). 9.. INF Antall bit som kan
DetaljerLøsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember 2011 9:00 13:00
Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultetet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsskisse
DetaljerHåndtering av minne i et OS
Håndtering av minne i et OS Hva er det som skal håndteres? Minnehåndtering (memory management) utføres av de delene av systemet som har ansvar for å håndtere maskinens primærminne Primærminnet (aka hovedminne,
DetaljerTDT4258 Eksamen vår 2013
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 14. juni 2007 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 9 sider. Vedlegg: INF1070 og INF2270 Datamaskinarkitektur
DetaljerDagens tema. Mer om C Enkle datatyper Sammensatte datatyper: Vektorer og matriser Tekster Mengder Strukturer Unioner Ringbuffere
Dagens tema Mer om C Enkle datatyper Sammensatte datatyper: Vektorer og matriser Tekster Mengder Strukturer Unioner Ringbuffere Formål: Nyttige å bruke under programmeringen Trening i programmering i C
DetaljerEksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer
Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid
DetaljerIN1020. Datamaskinarkitektur
IN1020 Datamaskinarkitektur Hovedpunkter Von Neumann Arkitektur BUS Pipeline Hazarder Intel Core i7 Omid Mirmotahari 4 Von Neumann Arkitektur John von Neumann publiserte i 1945 en model for datamaskin
DetaljerPensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO
Pensumoversikt - kodegenerering Kap. 8 del 1 kodegenerering INF5110 v2006 Arne Maus, Ifi UiO 8.1 Bruk av mellomkode 8.2 Basale teknikker for kodegenerering 8.3 Kode for referanser til datastrukturer (ikke
DetaljerDagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.
Dagens temaer Dagens emner er hentet fra Englander kapittel 11 (side 327-344 ) Repetisjon av viktige emner i CPU-design. Flere teknikker for å øke hastigheten Cache 03.10.03 INF 103 1 Hvordan øke hastigheten
DetaljerDatamaskinens oppbygning
Datamaskinens oppbygning Håkon Tolsby 18.09.2014 Håkon Tolsby 1 Innhold Hovedenheten Hovedkort Prosessor CISC og RISC 18.09.2014 Håkon Tolsby 2 Datamaskinens bestanddeler Hovedenhet Skjerm Tastatur Mus
DetaljerDagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM
Dagens tema Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM Typer, bruksområder og oppbygging Typer, bruksområder og oppbygging Virtuell hukommelse (kapittel 9.9
DetaljerD: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 17.jan 2013 Faglig
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
DetaljerOversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays
Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson
Detaljerhukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070
1 Dagens temaer Virtuell hukommelse (kapittel 9.9 i læreboken) Input-Output Virtuell hukommelse 2 Ofte trenger et program/prosess mer RAM enn det som er tilgjengelig fysisk i maskinen Et program deler
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 15. juni 2006 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 7 sider. Vedlegg: INF1070 Datamaskinarkitektur Ingen
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
DetaljerForelesning Instruksjonstyper Kap 5.5
TDT4160 Datamaskiner Grunnkurs Forelesning 22.11 Instruksjonstyper Kap 5.5 Dagens tema Instruksjonstyper (5.5) Datatransport Datamanipulering Betingede hoppinstruksjoner Prosedyrekall Løkker I/O Eksempler
DetaljerLøsningsforslag til eksamen i IN147(A)
Løsningsforslag til eksamen i IN147(A) Dag Langmyhr Øystein Gran Larsen 12 mai 1997 Oppgave 1: JK-flip-flop Boolsk ligning D-signalet bestemmer neste utgang, dvs Q(t + 1), og D-signalet tar derfor de samme
DetaljerInternminne og Cache. RAM = Random Access Memory
Minne og og frames eksempel ytelse og Cache algoritmer RAM = Random Access Memory og Cache CPU-registere og cache er laget av SRAM (Static RAM) SRAM består av 6 transistorer, er meget hurtig og statisk
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerIntroduksjon til kurset og dets innhold
til kurset og dets innhold Lars Vidar Magnusson September 4, 2011 Oversikt Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter 1 Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter
DetaljerCache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation
Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) bruksområder og oppbygging ROM bruksområder og oppbygging Hukommelsesbusser Typer, Typer, Cache (repetisjon)
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerProgrammeringsspråket C Del 2. Hans Petter Taugbøl Kragset
Programmeringsspråket C Del 2 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! 28.08.17 Hans Petter Taugbøl Kragset 2 Arrays Java int[] arr1 = {1,
Detaljer! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon
agems temaer Oppbygging av RAM! ra kapittel i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering!
DetaljerInnhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)
2 Innhold 1 Datamaskiner Prosessoren Primærminnet (RAM) Sekundærminne, cache og lagerhierarki Datamaskiner Matlab Parallell Jørn Amundsen Institutt for Datateknikk og Informasjonsvitenskap 2010-08-31 2
Detaljerbruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM
1 Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging 2 Cache (repetisjon) Formål:
DetaljerDen siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen
Den siste dagen Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen En oppsummering Oppsummering Pensum Læreboken til og med kapittel 7, kompendiet, forelesningene
DetaljerKap. 8 kodegenerering INF april, 2009
Kap. 8 kodegenerering INF5110 21. april, 2009 Stein Krogdahl, Ifi UiO Forelesninger framover: Torsdag 23. april: 1 time kapittel 8, 1 time Oblig 2 Tirsdag 28. april: Oppgaver kapittel 7, kapittel 8 + 1
DetaljerEn oppsummering (og litt som står igjen)
En oppsummering (og litt som står igjen) Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Eksamen En oppsummering Oppsummering Pensum læreboken til og med kapittel 7 forelesningene de
DetaljerD: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 13.des 2011 Faglig
DetaljerDagens tema. Flere teknikker for å øke hastigheten
Dagens tema Flere teknikker for å øke hastigheten Cache-hukommelse del 1 (fra kapittel 6.5 i Computer Organisation and Architecture ) Hvorfor cache Grunnleggende virkemåte Direkte-avbildet cache Cache-arkitekturer
DetaljerTildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til en prosess Når en prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må da:
DetaljerFakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %
Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til
DetaljerIntel Core i7. Omid Mirmotahari 4
INF2270 Pipeline Hovedpunkter Oppsummering av én-sykel implementasjon Forbedring av én-sykel designet Introduksjon til pipelining Oppbygning av datapath med pipelining Intel Core i7 Omid Mirmotahari 4
DetaljerIN1020. Minnehierarki
IN1020 Minnehierarki Hovedpunkter Bakgrunn Kort repetisjon Motivasjon Teknikker for hastighetsøkning Multiprosessor Økt klokkehastighet Raskere disker Økt hurtigminne Bruksområder Lagringskapasitet Aksesstider
DetaljerLedende på Linux og åpen programvare
Linpro AS Ledende på Linux og åpen programvare Neste generasjons datasenter med Xen Per Andreas Buer, avdelingsleder drift Espen Braastad, systemkonsulent drift 2006-11-14 Neste generasjons datasenter
DetaljerEKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe
Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 20. nov 2012 Faglig
DetaljerHukommelseshierarki. 16/3 cache 7.1 7.2. 23/3 virtuell hukommelse 7.3 7.5. in 147, våren 1999 hukommelseshierarki 1
Hukommelseshierarki når tema pensum 16/3 cache 7.1 7.2 23/3 virtuell hukommelse 7.3 7.5 in 147, våren 1999 hukommelseshierarki 1 Tema for denne forelesningen: en enkel hukommelsesmodell hukommelseshierarki
DetaljerMinnehåndtering i operativsystemer
Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet
DetaljerVi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.
Oppgave lab Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620. Søk etter denne maskinen på nettet. Alle oppgavene skal dokumenteres på din studieweb med tekst og
DetaljerInternminnet. Håkon Tolsby Håkon Tolsby
Internminnet Håkon Tolsby 26.09.2017 Håkon Tolsby 1 Innhold: Internminnet RAM DRAM - SDRAM - DDR (2, 3, 4, 5) ROM Cache-minne 26.09.2017 Håkon Tolsby 2 Internminnet Minnebrikkene som finnes på hovedkortet.
Detaljeroppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO
oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere
DetaljerLitt om Javas class-filer og byte-kode
Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet
DetaljerPensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering
Oppsummering Pensum Grovt sett er alt fra forelesningene og øvingsoppgavene pensum. Detaljert oversikt finnes på kurssidene. Hovedtanker fra kurset Litt om eksamen Hvorfor har dere lært dette? Ikke mange
DetaljerForelesning 3.11. Hurtigbuffer Kap 4.5
TDT4160 Datamaskiner Grunnkurs Forelesning 3.11 Hurtigbuffer Kap 4.5 Dagens tema Hurtigbuffer (4.5) Repetisjon: Hva, hvorfor og hvordan Avbildning Skriveoperasjoner Hurtigbuffer ( cache ): Hvorfor? Hurtigbuffer:
DetaljerINF1010 LISTER. Listeelementer og listeoperasjoner. Foran. Bak
LISTER Vanligste datastruktur Mange implementasjonsmåter (objektkjeder, array...) Operasjoner på listen definerer forskjellige typer lister (LIFO, FIFO,...) På norsk bruker vi vanligvis ordet «liste» for
Detaljer6105 Windows Server og datanett
6105 Windows Server og datanett Labøving: Maskinvare Oppgave a: Fysisk maskinvare Undersøk den fysiske maskinen din, og finn opplysninger om maskinvaren i denne, slik at du kan fylle ut mest mulig i tabellen
Detaljer