Velkommen Velkommen til INF2270 Datamaskinarkitektur Motto: Datamaskinen på tvers
Forelesere Forelesere Omid Mirmotahari (omidmi@ifi.uio.no) fra Studielaben, men opprinnelig fra Nanoelektronikk. Dag Langmyhr (dag@ifi.uio.no) fra forskningsgruppen Programmering og software engineering.
Dagen i dag Første time i dag Introduksjon til kurset Hva handler kurset om? Pensum Kursopplegg Eksamen Andre time i dag Dag Programmeringsspråket C (i seminarrom 2453 Perl) Omid Logiske kretser (her, i Simula)
Deling og samling Forelesningene Siden dere har ulik bakgrunn, blir opplegget: Uke 3½ 6 undervises parallelt i C-programmering (i seminarrom Perl) og kretsteknikk (i Simula) Resten av kurset undervises felles i Simula.
Oversikt Forventninger Eksamen Hva skjer inni en datamaskin? Grunntanken med kurset Sett fra brukerens side utfører datamaskinen mange avanserte programmer, men dypt inne i maskinen er alt som skjer at strøm i diverse transistorer slås av og på. Hva er sammenhengen?
Datamaskinens nivåer Datamaskinens nivåer Datamaskinen er konstruert i ulike nivåer som bygger på hverandre: I kurset vil vi presentere de ulike nivåene og sammenhengen mellom dem. Høynivåspråk Nivå 5 Assemblerspråk Nivå 4 Operativsystem Nivå 3 Maskininstruksjoner Nivå 2 Mikroarkitektur Nivå 1 Digital logikk Nivå 0
www.pearson-books.com CVR_LANG7751_01_CUS_CVR.indd 1 05/11/2015 14:03 Oversikt Forventninger Eksamen Kilder til informasjon Lærebøker Læreboken er Assembly language programming; ISBN 978-1-78448-775-1 (Den er et særtrykk av Computer Systems a programmer s perspective (second edition) av Randal E Bryant og David R O Hallaron; Pearson 2011.) Your lecturer has created this personalised learning resource to support your studies. It contains Pearson content from our world-renowned textbook authors, and often also industry case studies and articles. It includes just the bits your lecturer knows you need nothing extra! They may also have included their own, bespoke, learning materials specific to your course. Pearson works closely with your university and your lecturers and we are committed to helping you learn. Support your learning with one of our personalised, elearning systems: visit www.pearsonmylabandmastering.com to see what s available for your subject. Why not give your study skills a boost and start preparing for your future career now? Take a look at our skills resources: www.pearsoned.co.uk/bookshop/studyskills Assembly Language Programming Assembly Language Programming Compiled by Dag Langmyhr University of Oslo INF2270 I tillegg har foreleserne skrevet et kompendium. Det ligger på kursets nettside.
Hjemmeside Hjemmeside Kursets hjemmeside http: //www.uio.no/studier/emner/matnat/ifi/inf2270/v16/ er hovedkanalen for løpende informasjon om kurset. Plansjer og podcast fra forelesningene blir lagt på hjemmesiden. Ukeoppgaver legges ut hver uke; senere kommer også løsningsforslag. Kompendiet finnes her. Viktige beskjeder dukker opp ved behov.
Gruppeundervisning Gruppeundervisning Hver uke blir det presentert diverse oppgaver for å underbygge det foreleste stoffet. Ukeoppgavene er også pensum! (Og så er de til god hjelp når man skal løse de obligatoriske oppgavene.) Tanken bak gruppene er at dere skriver ut oppgavene før samlingen og tar dem med, dere løser ikke oppgavene på forhånd, på de ukentlige samlingene deles dere inn i smågrupper på 3 5 personer som løser oppgavene i fellesskap.
Programvare Programvare Kretskonstruksjon benytter et eget program LogiSim. C- og assemblerprogrammering bruker GNUs gcc som finnes på alle Linux- og Mac-maskiner. I Ifis startpakke http://www.mn.uio.no/ifi/tjenester/it/hjelp/ startpakke/programmer/win/cygwin/index.html finnes gcc som en del av CygWin; denne kan kjøres på en Windows-maskin hjemme.
Hvilke forventninger har dere? Forventninger Hva kan dere forvente å få ut av å ta kurset? Kunnskap om hvorledes en datamaskin er bygget opp og fungerer. Dette vil gjøre dere til bedre programmerere og brukere av datamaskiner.
Hvilke forventninger har dere? Forventninger Hva kan dere forvente å få ut av å ta kurset? Kunnskap om hvorledes en datamaskin er bygget opp og fungerer. Dette vil gjøre dere til bedre programmerere og brukere av datamaskiner. Lære å programmere Intels prosessorer.
Hvilke forventninger har dere? Forventninger Hva kan dere forvente å få ut av å ta kurset? Kunnskap om hvorledes en datamaskin er bygget opp og fungerer. Dette vil gjøre dere til bedre programmerere og brukere av datamaskiner. Lære å programmere Intels prosessorer. Lære å konstruere egne kretser.
Hvilke forventninger har dere? Et eksempel Denne løkken bruker 0,48 s når SIZE er 16 000: for (i1 = 0; i1 < SIZE; ++i1) for (i2 = 0; i2 < SIZE; ++i2) a[i1][i2] += b[i1][i2];
Hvilke forventninger har dere? Et eksempel Denne løkken bruker 0,48 s når SIZE er 16 000: for (i1 = 0; i1 < SIZE; ++i1) for (i2 = 0; i2 < SIZE; ++i2) a[i1][i2] += b[i1][i2]; mens denne bruker 7,59 s: for (i2 = 0; i2 < SIZE; ++i2) for (i1 = 0; i1 < SIZE; ++i1) a[i1][i2] += b[i1][i2]; Hvorfor?
Våre forventninger til dere Hva forventer vi av dere? Programmeringsferdigheter Kunne skrive enkle programmer i ett eller annet programmeringsspråk Annen bakgrunn Enten kunne programmere i C (f eks fra INF1060) eller kjenne til logiske kretser (f eks fra INF1400)
Eksamen på egen datamaskin Eksamen Eksamen vil være 1. juni og vil foregå på studentens egen datamaskin.
Eksamen på egen datamaskin Eksamen Eksamen vil være 1. juni og vil foregå på studentens egen datamaskin. Krav Bærbar datamaskin med wifi Enten Windows 7 eller Mac 10.7 Administratortilgang
Eksamen på egen datamaskin Eksamen Eksamen vil være 1. juni og vil foregå på studentens egen datamaskin. Krav Bærbar datamaskin med wifi Enten Windows 7 eller Mac 10.7 Administratortilgang Hvis man ikke har egnet maskin, vil det bli anledning til å låne.
Eksamen på egen datamaskin Eksamen Eksamen vil være 1. juni og vil foregå på studentens egen datamaskin. Krav Bærbar datamaskin med wifi Enten Windows 7 eller Mac 10.7 Administratortilgang Hvis man ikke har egnet maskin, vil det bli anledning til å låne. Prøveeksamen Det vil bli arrangert en prøveeksamen.