Inom området Mikrodatorteknik visa kunskap om beprövad erfarenhet samt dess vetenskapliga grund. Detta visas vid laborationer samt teoretiska frågor vid skriftlig examination.
Visa förmåga att skapa, utvärdera och analysera tekniska lösningar mha inbyggd mjukvara . Detta visas genom att laborativt konstruera och analysera mjukvara för en modern pipelinad processor.
Visa förmåga att kritiskt, självständigt analysera, modellera komplexa problemställningar och med adekvata metoder planera och lösa problem mha inbyggd mjukvara. Detta visas genom att laborativt konstruera och analysera en multitrådad schemaläggare .
Visa förmåga att identifiera sitt behov av och inhämta ytterligare kunskap genom att lösa problem som kräver inhämtning av avsevärd kunskapsmängd på egen hand. Detta visas genom kursens laborativa moment vilka kräver egen kunskapsinhämtning samt flektion.
Visa insikt i forsknings- och utvecklingsarbete genom att förstå begränsningar och möjligheter med mikroprocessorbaserade system. Detta visas genom kursens laborativa moment, vilka visar på trade-off mellan hård och mjukvara.
Kursinnehåll
Maskin arkitektur: Instruktionsuppsättningen. Datarepresentation. Maskinspråk och instruktionsformat. Adressrymder och adressering. Operationer på data. Instruktioner för programstyrning. Sekventiell programmering av en modern mikroprocessor. Strukturer för högnivåprogrammering: Datatyper. Stacken (aktiveringspost, proceduranrop, parameteröverföring och rekursion). Snittet mot översättaren: Modell av en typisk modern processors interna uppbyggnad. Pipelining, (interlocks, stalls, forwarding, fördröjt hopp). Instruktionsschemaläggning och effekt på datorns prestanda. Minneshierarkier, (cache minnen). Snittet mot operativsystemet: Minneshantering, (virtuellt minne). Processbegreppet. Processkydd och privilegier. Processbyte. Hantering av vektoriserade avbrott och undantag. Direkt och DMA in- och utmatning.
Förutsättningar
Grundläggande behörighet samt grundläggande kunskaper i programmering (motsvarande D0009E Introduktion till programmering).
Litteratur
Patterson, David A. Hennessy, John L. Computer Organization and Design: The Hardware/Software Interface Revised 4th edition (4th and 3rd editions can also be used), Morgan Kaufmann.