Engelskt namn: Computer Organization and Architecture
Denna kursplan gäller: 2017-06-26 och tillsvidare
Kursplan för kurser med start efter 2017-06-26
Kursplan för kurser med start mellan 2012-03-26 och 2017-06-25
Kursplan för kurser med start mellan 2012-01-02 och 2012-03-25
Kurskod: 5DV118
Högskolepoäng: 7,5
Utbildningsnivå: Avancerad nivå
Huvudområden och successiv fördjupning:
Datavetenskap: Avancerad nivå, har endast kurs/er på grundnivå som förkunskapskrav
Betygsskala: Med beröm godkänd, icke utan beröm godkänd, godkänd, väl godkänd, godkänd, underkänd
Ansvarig institution: Institutionen för datavetenskap
Beslutad av: teknisk-naturvetenskapliga fakultetsnämnden, 2011-06-27
Reviderad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2017-10-02
Kursen består av två moment:
Moment 1, teori, 4.5 hp
Det här momentet behandlar följande
* hur en dators prestanda mäts och faktorer som begränsar designen, exempelvis "the power wall";
* instruktionsuppsättningen för en modern RISC-processor och hur konstruktioner i högnivåspråk realiseras;
* representationer för heltal och flyttal samt hårdvarualgoritmer för aritmetiska operationer på heltal;
* uppbyggnad av processorer samt data- och kontrollvägar, parallellism på instruktionsnivå, pipelining, och multiple issue;
* minnets uppbyggnad, inklusive minneshierarkier, cacheminnen, och virtuellt minne; lagrings- och input/output-enheter och deras gränssnitt till processorn och minnet;
Moment 2, laborationer, 3 hp
I detta moment omsätts en del av de teorier och tekniker som diskuteras i den teoretiska delen i praktik. Momentet består av ett antal obligatoriska uppgifter.
Efter avslutad kurs ska studenten kunna:
* räkna ut prestandan hos moderna digitala datorer utifrån parametrar som processorhastighet, CPI och profileringsresultat för olika algoritmer i en benchmark;
* visa gedigen förståelse för en modern RISC-processors instruktionsuppsättning;
* formulera olika instruktioner i ett imperativt högnivåspråk utifrån en RISC-processors instruktioner;
* förklara hur heltal och flyttal representeras i en dator;
* beskriva hårdvarualgoritmer för aritmetiska operationer på heltal;
* designa, implementera och dokumentera (med en engelsk användarmanual) en disassemblator för en modern processor med förminskad instruktionsuppsättning som läser ord i instruktionsminnet och bryter ned dem till individuella fält som kan skickas till en emulator;
* visa bred förståelse för data- och styrningsflöde i en modern processor med förminskad instruktionsuppsättning (RISC);
* diskutera hur pipelining i en processor fungerar och beskriva hur hinder löses på olika sätt inklusive bubbles, flushes, och forwarding;
* designa, implementera och dokumentera (med en engelsk användamanual) en emulator för en modern processor med förminskad instruktionsuppsättning som troget modellerar styrningsflöden;
* visa vidsträckt förståelse för hur minnet organiseras och hanteras i en modern digitaldator, inklusive virtuellt och fysiskt minne, adressöversättning, flernivå-, förenade-, och multiväg associativa cacheminnen, översättningsbufferten och sidstabellen;
* räkna ut hur stort ett cacheminne måste vara med given indexstorlek, tag-storlek och associativitetsnivån;
* räkna ut prestanda av olika former av minne från givna parametrar;
* diskutera input/output-enheter inklusive hårddiskar och halvledardiskar (SSDs), hur de kommunicerar med processorn och hur deras prestanda räknas ut.
Univ:För tillträde till kursen krävs 60 hp i huvudområdet datavetenskap eller 2 års avklarade studier, i båda fallen inkluderande kurserna Systemnära programmering (5DV088), Digitalteknik (5EL006) och Introduktion till diskret matematik (5MA008) eller motsvarande kunskaper. Engelska A och svenska för grundläggande behörighet för högskolestudier (om kursen ges på svenska).
Undervisningen bedrivs i form av föreläsningar och datorlaborationer. Utöver schemalagda aktiviteter krävs även individuellt arbete med materialet.
Examinationen sker genom skriftlig tentamen på teorimomentet och genom kontroll av genomförandet av de obligatoriska uppgifterna i laborationsmomentet. På den skriftliga tentamen sätts något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5). På laborationsmomentet ges endast betygen Godkänd (G) eller Underkänd (U). På hela kursen ges något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5). För att bli godkänd på hela kursen krävs att samtliga prov och obligatoriska uppgifter är godkända. Kursbetyget utgör en sammanfattande bedömning av resultaten för examinationens olika delar och sätts först när alla obligatoriska uppgifter är godkända.
Studerande som godkänts i ett prov får inte undergå förnyat prov för att få ett högre betyg.
För studerande som inte godkänns vid ordinarie provtillfälle anordnas ytterligare provtillfälle. En student som utan godkänt resultat har genomgått två prov för en kurs eller en del av en kurs, har rätt att få en annan examinator utsedd, om inte särskilda skäl talar emot det (HF 6 kap. 22 §). Begäran om ny examinator ställs till prefekten vid Institutionen för datavetenskap.
TILLGODORÄKNANDE
I en examen får denna kurs ej ingå, helt eller delvis, samtidigt med en annan kurs med likartat innehåll. Vid tveksamheter bör den studerande rådfråga studievägledare vid Institutionen för datavetenskap och/eller programansvarig för sitt program.
Speciellt gäller att denna kurs kan ej ingå fullt ut i en examen samtidigt som Datorarkitektur (5DV008).
Tillgodoräknande av studier prövas individuellt (se universitetets regelsamling och tillgodoräknandeordning). Ansökan om tillgodoräknande görs på speciell blankett och ställs till den Teknisk-naturvetenskapliga fakultetsnämnden, Umeå universitet.
Litteraturlistan är inte tillgänglig via den webbaserade utbildningskatalogen. Kontakta aktuell institution.