Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Storlek: px
Starta visningen från sidan:

Download "Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU."

Transkript

1 Digitala System: Datorteknik Minnets komponenter ERIK LARSSON Enhet för indata CPU Enhet för utdata Sekundärminne Programexekvering Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program i maskinspråk: Adress Instruktioner Programexekvering (1) Hämta instruktion på (där PC pekar) (2) Flytta instruktionen till CPU (3) Avkoda instruktionen: MOVE, Adress, 011 Register 3 (4) Hämta data på adress: Fetch Execute (5) Lagra datan i register 3 Adress Instruktion Data Instruktioner Register CPU Kontrollenhet Aritmetisk Logisk Enhet (ALU) Address Instruktion Data Instruktioner Register CPU Kontrollenhet Aritmetisk Logisk Enhet (ALU)

2 Minnet från processorns sida Minneshantering Processorn ger kommandon/instruktioner med en adress och förväntar sig data. Exempel: READ(ADR) -> DATA Fysisk adress Logisk adress Vid multiprogrammering kommer flera olika program finnas i primärminnet. Kostar för mycket tid att flytta program till hårddisk vid kontext byte. T ex, två program ska exekveras samtidigt : READ Address Instruction Minne CPU Register READ ( ) CPU Kontrollenhet Aritmetisk Logisk Enhet (ALU) Filsystem - Inode Minnet Minnet kan delas upp i primärminne och sekundärminne t förlorar sitt innehåll när strömmen stängs av. Minnet är flyktigt (volatile) Random-Access Memory (RAM)» Dynamiska RAM (DRAM) och statiska RAM (SRAM) Sekundärminnet behåller sitt innehåll när strömmen slås av. Minnet är icke-flyktigt (non-volitile) Hårddisk, flashminne, magnetband ABBA: Dancing Queen Andra: CD, DVD

3 Ett ord (word) Sekundärminne 1 READ(ADR) Buffert för minnesadress Adressavkodare Minnesarea 2 Adress 2 Adress 1 Adress 0 A track, (B geometrisk sektor) C sektor, D cluster En sektor kan vara bytes och består av sektor header, data area, error korrektion kod (ECC) Header DATA Sektor ECC En bit 3 Databuffert DATA Minneskontroll Sekundärminne Vill lagra en fil som är 1500 bytes Hårddisk Antag sektor = 512, cluster = 2*512 Lösning: Ta 2 stycken cluster (2048 bytes) Fil byte 0 byte 2 byte bytes byte 0 byte 2 byte *512 bytes Filsystem - Inode Sektor Halvfull sektor Tom sektor ABBA: Dancing Queen

4 Sekundärminne Sekundärminne Problem 1 Intern fragmentering Problem 2 Vilka cluster på hårddisk ska användas? Unix (inode): Snabb access för många block Kan hantera stora filer Sekundärminne Sekundärminne Små cluster (blocks) ger liten intern fragmentering Antag sector = 512, cluster = 2*512 Vill lagra en fil som är 1500 bytes Ta 2 stycken cluster (~2000 bytes) Men, kräver mer hantering (fler kluster på hårddisken) Vad innebär det att ta bort en fil? Kan man återskapa information från en hårddisk? Flashminne Utvecklat av Dr. Fujio Masuoka (Toshiba) kring 1980 Mobiltelefoner, kameror, MP3-spelare och i datorer Non-volatile och random access Kapacitet: mindre än en hårddisk Begränsat antal skrivningar Block 0: bad blocks Block 1: bootable block

5 Sekundärminne Lågnivåformatering Dela in hårddisk i tracks och sectors Partitioning» En sector är bytes Dela in en fysisk hårddisk i en eller flera logiska hårddiskar, t ex C:, D:, E: Högnivåformatering Bestäm för vilket operativ system hårddisken ska användas Design av minnesystem Vad vill vi ha? Ett minne som får plats med stora program och som fungerar i hastighet som processorn» Fetch execute (MHz/GHz/Multi-core race) Grundproblem: Processorer arbetar i hög hastighet och behöver stora minnen Minnen är mycket långsammare än processorer Fakta: CPU Större minnen är långsammare än mindre minnen Snabbare minnen kostar med per bit Minne-processor hastighet Minneshierarki

6 Minneshierarki Processor registers: 8-32 registers (32 bitar -> bytes) accesstid: få ns, 0-1 klockcykler Cacheminne On-chip cache memory (L1): 32 till 128 Kbytes accesstid = ~10 ns, 3 klockcykler Off-chip cache memory (L2): 128 Kbytes till 12 Mbytes accesstid = 10-tal ns, 10 klockcykler Instruktioner och data Instruktioner och data Adress Cacheminne Kopior av instruktioner och data Instruktioner och data Adress Central processing unit (CPU) Register Main memory: 256 Mbytes till 4Gbytes accesstid = ~100 ns, 100 klockcykler Hard disk: 1Gbyte tid 1Tbyte accesstid = 10-tal milliseconds, klockcykler Accesstid: 100ns Accesstid: 10ns Cacheminne Cache exempel 1 Ett cacheminne är mindre och snabbare än primärminnet Hela program får inte plats Men, data och instruktioner ska vara tillgängliga när de behövs Om man inte har cacheminne: Accesstid för att hämta en instruktion=100ns Om man har cacheminne: Accesstid för att hämta en instruktion=100+10=110 ns» Först ska instruktionen hämtas till cacheminne och sedan hämtas instruktionen från cacheminnet till CPU Program: Assemblyinstruktioner x=x+1; Instruktion1: x=x+1; y=x+5; Instruktion2: y=x+5; z=y+x; Instruktion3: z=y+x; Om man inte har cacheminne: Accesstid för att hämta en instruktion=100ns» Tid för att hämta instruktioner: 3*100=300ns Om man har cacheminne: Accesstid för att hämta en instruktion=100+10=110ns» Tid för hämta instruktioner: 3*110=330ns

7 Cache exempel 2 Antag: 1 maskininstruktion per rad 100 ns för minnesaccess till primärminnet 10 ns för minnesaccess till cacheminnet Programmet och dess maskininstruktioner. Exempel program: Assembly while (x<1000){ Instruktion1: while1000 x=x+1; Instruktion2: x=x+1 printf( x=%i,x); Instruktion3: print x} while (y<500){ Instruktion4: while500 y=y+1; Instruktion5: y=y+1 printf( y=%i,y); Instruktion6: print y } Utan cache exempel 2 Minnesaccess för 1 instruktion: 100 ns Totalt 4500 instruktioner. Tid för minnesaccesser: 4500*100= ns Antal instruktioner Instruktioner som exekveras: 1 Instruktion1:while Instruktion2:x=x+1 3 Instruktion3:printx 2998 Instruktion1:while Instruktion2:x=x Instruktion3:printx} 3001 Instruktion4:while Instruktion5:y=y Instruktion6:printy 4498 Instruktion4:while Instruktion5:y=y Instruktion6:printy Med cache exempel 2 Minne+cache ( ns) Cache (10 ns) Minne+cache ( ns) Cache (10 ns) Total tid för minnesaccesser: 6* *10= 45600ns (~10% jmf med utan cache ) Antal instruktioner Instruktioner som exekveras: 1 Instruktion1:while Instruktion2:x=x+1 3 Instruktion3:printx 2998 Instruktion1:while Instruktion2:x=x Instruktion3:printx} 3001 Instruktion4:while Instruktion5:y=y Instruktion6:printy 4498 Instruktion4:while Instruktion5:y=y Instruktion6:printy Cacheminne Minnesreferenser tenderar att gruppera sig under exekvering både instruktioner (t ex loopar) och data (datastrukturer) Lokalitet av referenser (locality of references): Temporal lokalitet lokalitet i tid» om en instruktion/data blivit refererat nu, så är sannolikheten stor att samma referens görs inom kort Rumslokalitet» om instruktion/data blivit refererat nu, så är sannolikheten stor att instruktioner/data vid adresser i närheten kommer användas inom kort

8 Utnyttja lokalitet Minneshierarki Lagra allt på hårddisk Kopiera recently accessed (and nearby) items från disk till mindre primärminne Kopiera mer recently accessed (and nearby) items från primärminne till cacheminne» Cacheminne kopplat till CPU Minneshierarki - nivåer Block (line): enhet som kopieras Kan vara flera words Om accessed data finns i högsta nivån (upper level) Hit: access ges av högsta nivå» Hit ratio: hits/accesses Om accessed data inte finns på aktuell nivå Miss: block kopieras från lägre nivå Tid: miss penalty, Miss ratio: antal missar/accesses = 1 hit ratio Sedan kan data nås från högre nivå Skrivstrategier Skrivstrategier Problem: håll minnet konsistent Exempel: x=0; while (x<1000) x=x+1; Variablen x kommer finnas i primärminnet och i cacheminnet I primärminnet är x=0 medan i cacheminnet är x=0,1,2 och till sist 1000 Write-through skrivningar i cache görs också direkt i primärminnet Write-through with buffers skrivningar buffras och görs periodiskt Write (Copy)-back primärminnet uppdateras först när en cacherad byts ut (ofta används en bit som markerar om en cacherad blivit modifierad (dirty)). (Omodifierade cacherader behöver inte skrivas i primärminnet)

9 Skrivstrategier Antal cachenivåer (levels) Skilj på write-hit och write-miss Write-hit: se ovan Write-miss: Vill skriva på plats som inte finns i cacheminne» Alternativ: Allokera vid miss: hämta block från primärminne Write around: hämta inte in block från primärminne, skriv direkt i primärminne Instruktioner och data Cache minne L2 Cache minne L1 Central processing unit (CPU) Register» (För write-back: vanligen fetch block) Separat instruktion/data cache Prestanda Instruktioner och data Cacheminne Kopior av instruktioner Cacheminne Central processing unit (CPU) Register När CPU prestanda ökar, så blir miss penalty viktig att minimera För att undersöka prestanda måste man ta hänsyn till cacheminne Cachemissar beror på algoritm(implementation) och kompilatorns optimering Kopior av data

10 AMD Athlon 64 CPU Minnets innehåll över tiden TID Paging Filsystem - Inode Program A byte 0 byte 1. SIDA A0 SIDA A1 SIDA A2 byte n SIDA A3 (lagring på hårddisk ej sammanhängande se tidigare) ABBA: Dancing Queen

11 Paging Demand paging Logisk adress Fysisk adress Ladda endast de pages som behövs till primärminnet CPU utnyttjande OS tar alltmer tid för att hantera sidfel Grad av multiprogrammering (hur många program som är aktiva) Sammanfattning Snabba minnen är små, stora minnen är långsamma Vi vill ha snabba och stora minnen Cacheminnen och virtuellt minne ger oss den illusionen Lokalitet viktigt för att cacheminnen och virtuellt minne ska fungera Program använder vid varje tidpunkt en liten del av sitt minne ofta Minneshierarki L1 cache <->L2 cache. - Sekundärminne Digitala System: Datorteknik ERIK LARSSON

12 Adress Data Datatyper (fortsättning från lab 1) Tabell för de olika siffrorna: const unsigned char segment_table [] = { 0b , //"0 0b , //"1 0b1, 0b1, 0b1, 0b1, Fyll i! 0b1, 0b1, 0b1, 0b1, }; Datatyper #include <avr/io.h> const unsigned char segment_table [] = { 0b , //"0 0b , //"1 //...resten av tabellen }; unsigned char n; int main(void) { DDRA = 0b ; // Utgångar till display PORTA = 0b ; // Aktivera pull-up while (1){ n=(n+1); // Öka n med ett PORTA = segment_table[n]; // Skriv ut med tabellen }} 0 segment_table [0] 1 segment_table [1] 2 segment_table [2]. 9 segment_table [9] 10 n Drivrutin Uppgift 5-7 Skriv en drivrutin där programmeraren anropar: display(5) om 5 ska skrivas ut. // Funktion display: // skriver ut en decimal siffra på displayen. void display (unsigned char number) { PORTA = segment_table [number]; } Avkänn enskilda knapptryckningar. Räkna upp displayens värde med 1 vid varje knapptryck Tangentstudsar blir ett problem. Lägg in en fördröjning: for (k=0; k<10; k++); volatile unsigned int k;

13 Lagringstyp: Volatile Register och primärminne Om man opererar på I/O-register, hanterar kommunikation med yttre enheter. De yttre enheterna är bara delvis under kontroll av processorn. En I/O-variabel kan ändras av processorn och I/O-enheten. Det är därför inte bra om dessa variabler lagras i processorns register. Exempel: volatile int tangentbord_reg Högnivåspråk: a=b+c; Assemblyspråk: ADD a, b, c Kompilatorn hittar en maskininstruktion som passar 3 minnesaccesser: Hämta b Hämta c Skriv a Register och primärminne Register och primärminne Högnivåspråk: a=b+c+d; Alternativ 1: ADD a, b, c //adderar b och c, resultat i a ADD a, a, d //adderar a (som är b+c) med d, resultat i a Antal minnesaccesser: 6=3+3 Tid för en minnesaccess: 100 ns gör att minnesläsning/ skrivning tar 600 ns Högnivåspråk: a=b+c+d; Alternativ 2: ADD r1, b, c //adderar b och c, resultat i register 1 ADD a, r1, d //adderar a (som är i r1) med d, resultat i a Antal minnesaccesser: 4=2+2 Tid för en: minnesaccess: 100 ns Registeraccess: 1 ns: Minnesläsning/skrivning tar ns = 402 ns 30% sparad tid ( )/600

14 Uppgift 8 Varje grupp får en egen uppgift. Gemensamt, PORT B. Digitala System: Datorteknik ERIK LARSSON Port A Port B Programmerad I/O Avbrottstyrd I/O Processorn kontrollerar om I/O har skett s Exempel: 1. Läs av om tangent är tryckt. 2. Om tangent tryckt, hantera, annars vänta lite och gå till 1 4 Main Data/instruktioner Kontroll 3 Central processing unit (CPU) Nackdel: Processorn är låst och gör meningslösa saker OS 5 Fetch instruction Execute instruction 2 Kontrollera och hantera avbrott (ändra PC)

15 Avbrottsstyrd I/O Laboration 3 1 I/O Periodiskt avbrott 4 Main 3 Data/instruktioner Kontroll 5 Central processing unit (CPU) Använda en klocka som genererar ett avbrott periodiskt. När avbrott uppkommer, kontrollera om tangent är tryckt. Fördel, slipper låta processor exekvera en tom -loop Fetch instruction Execute instruction 2 Kontrollera och hantera avbrott Laboration 3 Laboration 3 Så här kan programmet från förra laborationen beskrivas: 1. Vänta tills knappen är nedtryckt. 2. Vänta med hjälp av vänteloop så studsarna slutat. 3. Utför uppgiften (öka n med ett; om n blir 10 sätt n till noll; anropa utskriftsfunktionen med n som inparameter.) 4. Vänta tills knappen är släppt. 5. Vänta med hjälp av vänteloop så studsarna slutat. 6. Gå till punkt 1. Med hjälp av periodiskt avbrott ska vi skapa en lösning som med jämna intervall gör följande: 1. Läs av knappen. 2. Om den är nere nu, men var uppe förra gången: Utför uppgiften (som är: öka n med ett; om n blir 10 sätt n till noll; anropa utskriftsfunktionen med n som inparameter. )

16 Laboration 3 Timer_Counter_1 TIMSK TCCR1A TCCR1B OCR1A Laboration 3 #include <avr/io.h> #include <avr/interrupt.h> unsigned const char segment_table [] = { 0b , //"0 0b , //"1 }; void display (unsigned char number) { // din kod här } unsigned char n; void initoc1(){ // din kod här } ISR (SIG_OUTPUT_COMPARE1A){ static unsigned char //dina variabler; din kod } int main(void){ DDRA = 0b ; // Utgångar till display PORTA = 0b ; // Aktivera pull-up initoc1(); SREG = SREG //din kod; while (1){ } } Avbrottsrutin

Minnet från processorns sida Datorteknik

Minnet från processorns sida Datorteknik Minnet från processorns sida Datorteknik ERIK LARSSON Processorn ger kommandon/instruktioner med en adress och förväntar sig data. Exempel: READ(ADR) -> DATA Fysisk adress Logisk adress READ 00001000 READ

Läs mer

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne. Datorteknik Filsystem - Inode ERIK LARSSON ABBA: Dancing Queen Minnets komponenter Programexekvering Enhet för indata CPU Enhet för utdata Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Översikt Minnets komponenter Minneshierarkin Cacheminne Paging Virtuellt minne Minnets komponenter Enhet för indata Primärminne (CPU) Enhet för utdata

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Laborationer Gå bara på tillfällen där du är anmäld. Moment svarar mot 1.5hp, dvs 40 timmar arbete Schemalagd tid: 4*2 (lektioner)+4*4(laborationer)=20 timmar Material: Finns på

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Huvudled (H) Trafikljus för övergångsställe Trafikljus för huvudled (H) Trafikljus: Sväng vänster (H->T) Gående - vänta Trafikljus för tvärgata (T) Tvärgata (T)

Läs mer

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer

Läs mer

Närliggande allokering Datorteknik

Närliggande allokering Datorteknik Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1

Läs mer

Datorteknik 2 (AVR 2)

Datorteknik 2 (AVR 2) Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra

Läs mer

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt

Läs mer

Mer datorarkitektur. En titt I datorn Minnen

Mer datorarkitektur. En titt I datorn Minnen Mer datorarkitektur En titt I datorn Minnen von Neumann-modellen von Neumann-modellen CPU (Central Processing Unit) Styrenhet hämtar programinstruktioner ALU (Arithmetic and Logical Unit) utför beräkningar

Läs mer

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen den 18 mars svar Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30

Läs mer

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

Läs mer

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet Datorarkitektur - en inledning Organisation av datorsystem: olika abstraktionsnivåer System S den mest abstrakta synen på systemet A B C Ett högnivåperspektiv på systemet a1 b1 c1 a2 b3 b2 c2 c3 En mera

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne. Fö 8: Operativsystem II Minneshantering och Virtuelltminne. Virtuella I/O enheter och Filsystemet. Flerprocessorsystem. Minneshantering Uniprogrammering: Minnet delas mellan operativsystem och användarprogrammet.

Läs mer

Cacheminne i en AMD Opteron Processor

Cacheminne i en AMD Opteron Processor Handledare: Erik Larsson Lunds Tekniska Högskola HT15 Cacheminne i en AMD Opteron Processor En rapport om cacheminne och dess struktur, i en 12 kärnig AMD Opteron Magny-Cours processor. Författare: Hamza

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Översikt Processorn Maskininstruktioner Dator Primärminne Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction

Läs mer

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943 Datorhistorik Föreläsning 3 Datorhistorik Datorns uppbyggnad, komponenter Processor, primärminne, sekundärminne Minneshierarkier Inbyggda system, stora datorer I think there is a world market for maybe

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

Läs mer

Program. Datorteknik. Semantiskt gap. C - Inledning. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk

Program. Datorteknik. Semantiskt gap. C - Inledning. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Semantiskt gap C - Inledning Alltmer avancerade programmeringsspråk

Läs mer

CE_O5. Cacheminne. Hemlaboration 2.

CE_O5. Cacheminne. Hemlaboration 2. IS1500 Exempelsamling till övning CE_O5, 2014 CE_O5. Cacheminne. Hemlaboration 2. 5.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p Lösningar och kommentarer Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific

Läs mer

Datorsystem. Exempeltentamen 2011-10-18

Datorsystem. Exempeltentamen 2011-10-18 Datorsystem Exempeltentamen 2011-10-18 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering Fö 2: Minnen Introduktion, Klassificiering Primärminne Sekundärminne Minneshiearki Cache-minne Introduktion Primärminnet används för att lagra program och data som är aktuella att använda. Sekundärminnet

Läs mer

Digitalteknik och Datorarkitektur 5hp

Digitalteknik och Datorarkitektur 5hp Digitalteknik och Datorarkitektur 5hp Minnes-hierarkier och Cache 12 maj 2008 karl.marklund@it.uu.se issa saker använder vi ofta Dessa saker vill vi ha nära till hands Storleken har betydelse Litet är

Läs mer

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

Cacheminne Intel Core i7

Cacheminne Intel Core i7 EDT621 Datorarkitekturer med operativsystem 7,5 hp 2015-12-07 Cacheminne i Intel Core i7 Författare: Adnan Karahmetovic Handledare: Erik Larsson Innehåll 1. Inledning... 1 1.1 Syfte... 1 1.2 Frågeställning...

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki Minneshierarki, minnestyper och teknologier Minneshierarki Ideally one would desire an indefinitely large memory capacity such that any particular word would be immediately available. We are forced to

Läs mer

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Random Access Memory Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Introduktion Historia Vad är RAM? Hur fungerar RAM? Dataöverföring, tidsklocka och termer Vilka är de olika typerna av RAM? Vad

Läs mer

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

Läs mer

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar 1 Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan arkitektur), hårdvara osynlig Assembly- och maskinprogram:

Läs mer

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Minneshantering segmentering och virtuellminne. Föreläsning 3

Minneshantering segmentering och virtuellminne. Föreläsning 3 Minneshantering segmentering och virtuellminne Föreläsning 3 Minneshantering forts. Hur kan man köra processer som är större än primärminnet? Hur kan man undvika att stack och heap växer ihop? Virtuellminne

Läs mer

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion Moment 2 Digital elektronik Föreläsning Inbyggda system, introduktion Jan Thim 1 Inbyggda system, introduktion Innehåll: Historia Introduktion Arkitekturer Mikrokontrollerns delar 2 1 Varför lär vi oss

Läs mer

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn. 0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter

Läs mer

Att använda pekare i. C-kod

Att använda pekare i. C-kod Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

Läs mer

IT för personligt arbete F5

IT för personligt arbete F5 IT för personligt arbete F5 Datalogi del 1 DSV Peter Mozelius 1 En dators beståndsdelar 1) Minne 2) Processor 3) Inmatningsenheter 1) tangentbord 2) scanner 3) mus 4) Utmatningsenheter 1) bildskärm 2)

Läs mer

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel Uppgift 3 Till en process som kräver 8 sidor allokeras 4 sidoramar. Antag följande referenssträng: 1,2,8,3,4,3,8,2,1,4 Hur många sidofel kommer att genereras (demand paging) med en a) FIFO-algoritm (2

Läs mer

Operativsystem - input/output, skydd, virtualisering

Operativsystem - input/output, skydd, virtualisering Operativsystem - input/output, skydd, virtualisering Mats Björkman 2015-03-12 Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Minnesmappad I/O n Typer av I/O-programmering n Programmerad,

Läs mer

Datorsystemteknik för E/D

Datorsystemteknik för E/D Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) 19/8 2000 1(8) Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) Datorsystemteknik för E/D 19/8 2000 Tentamensdatum:

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Lösningar med kommentarer Program: Di2 Datum: 05-01-10 Tid: 13:30-18:30 Lokal He303 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Bilaga: Ingen Examinator:

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Läs mer

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng

Läs mer

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach Föreläsning 1: Intro till kursen och Kursens hemsida http://www.it.uu.se/edu/course/homepage/prog1/esvt10 Studentportalen http://www.studentportalen.uu.se Kursmaterial Kursbok Kursprogramvara Tips: Installera

Läs mer

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile. CT3760 Mikrodatorteknik Föreläsning 2 Tisdag 2005-08-30 Minnestyper. Atmega 16 innehåller följande minnestyper: SRAM för dataminne FLASH för programminne EEPROM för parametrar och konstanter. Minnen delas

Läs mer

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00. Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:

Läs mer

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ CT3760 Mikrodatorteknik Föreläsning 1 Torsdag 2005-08-25 Upprop. Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ Kurslitteratur är Per Foyer Mikroprocessorteknik. Finns på bokhandeln.

Läs mer

4 grundregler. Minneshantering. Problemet. Windows minkrav

4 grundregler. Minneshantering. Problemet. Windows minkrav 4 grundregler 1. Man kan aldrig få för mycket minne 2. Minnet kan aldrig bli för snabbt Minneshantering 3. Minne kan aldrig bli för billigt 4. Programmens storlek ökar fortare än minnet i datorerna (känns

Läs mer

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets)

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets) Datorsystem 5 På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets) Vad är ett operativsystem (OS)? Syfte Att tillåta flera program att köra samtidigt Att fungera som ett

Läs mer

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt Flera processer Minneshantering Operativsystem lektion 6 Potentiellt problem: Den sida som plockas bort behöver inte vara den sida som används minst!! Det kan finnas andra processer som inte körs eller

Läs mer

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Några gamla tentamensuppgifter: Minneshantering

Några gamla tentamensuppgifter: Minneshantering 1 Tentamen 1992-08-26 5. I ett virtuellt minne med skiva är primärminnets accesstid 1 mikrosekund, sidstorleken 1 K, skivans rotationstid 10 millisekunder, inställningstiden för skivans arm 5 millisekunder

Läs mer

Cache-koherens protokoll MESI och MOSI

Cache-koherens protokoll MESI och MOSI Handledare: Erik Larsson Lunds Tekniska Högskola HT2016 Cache-koherens protokoll MESI och MOSI Författare: Adnan Mohamed Abstrakt Cache koherens protokoll hanterar cacheminnet i ett multiprocessor system,

Läs mer

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn? Fö 7: Operativsystem Introduktion. Klassificering. Vad är ett operativsystem? Program som kontrollerar andra andra program. Gränssnitt mellan användare och hårdvaran. Kärnan. Historisk översikt. Typeset

Läs mer

Datorsystem. Tentamen

Datorsystem. Tentamen Datorsystem Tentamen 2012-03-17 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller, illustrationer och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

Datorsystem. Tentamen 2011-10-29

Datorsystem. Tentamen 2011-10-29 Datorsystem Tentamen 2011-10-29 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen. Ett svar

Läs mer

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning Datorarkitekturer med operativsystem ERIK LARSSON Översikt Inledning Inledning Inledning En processor eller central processing unit (CPU) är enheten som exekverar program i en dator En dator är en maskin

Läs mer

Datorsystemteknik DAV A14 Föreläsning 1

Datorsystemteknik DAV A14 Föreläsning 1 Innehåll Datorsystemteknik DAV A14 Föreläsning 1 Kursinformation Introduktion till datorsystem Programmeringsmodellen Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 02-10-13 Tid: 08:00-13:00 Lokal E104 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific

Läs mer

Minnen. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 4

Minnen. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 4 Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Minnen Slideset 4 Agenda Halvledarminnen

Läs mer

Datorsystemteknik DAVA14 Föreläsning 10

Datorsystemteknik DAVA14 Föreläsning 10 Datorsystemteknik DAVA14 Föreläsning 10 Från källkod till bitar Samspelet mellan program och hårdvara Med bilder från Mats Brorsson, Datorsystem: Program och maskinvara, studentlitteratur 1999 Assemblatorn

Läs mer

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi Pipelining i RISC-processorn Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi Innehållsförteckning 1. Inledning 2. Historia: Intel 8086 (1978) till Pentium

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #14 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad vi har åstadkommit hittills: Med hjälp av kombinatoriska

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 2 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 2 Check av övningar Von Neumann arkitekturen Minne, CPU, I/O Instruktioner och instruktionscykeln

Läs mer

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK

Läs mer

Operativsystem - Filsystem

Operativsystem - Filsystem Operativsystem - Filsystem Mats Björkman 2015-03-09 Administrativt n Extraföreläsning istället för den inställda: torsdag 12/3 kl 8-10 i Pi n Seminarier preliminärt schema ute n 15 minuter per grupp lämna

Läs mer

Föreläsningsanteckningar 3. Mikroprogrammering II

Föreläsningsanteckningar 3. Mikroprogrammering II Föreläsningsanteckningar 3. Mikroprogrammering II Olle Seger 2012 Anders Nilsson 2016 1 Inledning Datorn, som vi byggde i förra föreläsningen, har en stor brist. Den saknar I/O. I denna föreläsning kompletterar

Läs mer

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok Namn: Laborationen godkänd: Laboration 2. Cacheminne Laborationens syfte I laborationen ska du bekanta dig med cacheminnen. Genom laborationen fås kunskap om hur cacheminnen är konstruerade och hur de

Läs mer

Studera databladen för LCD på sid 4, 5, 7, 8, 14, 18, 19, 20 och 23. Datablad finns på kurshemsidan.

Studera databladen för LCD på sid 4, 5, 7, 8, 14, 18, 19, 20 och 23. Datablad finns på kurshemsidan. Namn: Laborationen godkänd: Digitala system 15 p Datorprojekt, del 2 L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Projektlaboration 2, skrivning till LCD. Förberedelser:

Läs mer

Rapport (1,5 HP) Lunds Universitet HT15

Rapport (1,5 HP) Lunds Universitet HT15 Rapport (1,5 HP) Lunds Universitet HT15 Cache-koherens protokoll i Intel Core i7 En rapport om cache-koherens och protokollet som används i Intel Core i7 processorer för att hålla minnet koherent Författare:

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-08-16 Lokal TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!!

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!! Sid 1 av 8 Datavetenskap Tentamen för DVG A03 Datorsystemteknik, 7,5 hp, del 2 fredag 2009-01-09 kl. 08.15-13.15 Tentamen del 2 består av 4 sidor. Ansvariga lärare: Tillåtna hjälpmedel: Kerstin Andersson

Läs mer

Hantering av begränsat antal skrivningar på Solid State diskar

Hantering av begränsat antal skrivningar på Solid State diskar LTH - LUNDS TEKNISKA HÖGSKOLA Hantering av begränsat antal skrivningar på Solid State diskar Filip Nilsson 2015-12-07 Sammanfattning På senare år har utvecklingen för SSD (Solid State Drive) enheter kommit

Läs mer

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation. Vad är viktigast? Sammanfattning Processer och trådar Avbrottshantering Vad det är och hur det fungerar (på låg nivå) Vilka problem finns Schemaläggning Flerprocessorsystem Varianter, problem Interprocesskommunikation

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Lösningar och kommentarer OBS! Denna version av tentan är främst avsedd för dem som gick kursen HT-02. En parallell tentamen i E103 är något anpassad för dem som gick kursen tidigare.

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering Vad är programmering? Vad gör en dator? Vad är ett datorprogram? 1 (9) Vad är programmering? För att bestämma en cirkels area måste du: 1. Dividera diametern 5 med 2. 2.

Läs mer

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående

Läs mer

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning Den digitala automaten Vägen från digitaltekniken till det kompletta styrsystemet Lund University, Sweden Insignaler Sekvensnät Utsignaler Kan vi betrakta insignalmönstret som en instruktion och det som

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 9 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 2 Dagens föreläsning Byggblocken i en processor Hur de fungerar Grundläggande

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första

Läs mer

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tisdagen 2014-03-18 kl 09:00-13:00 Examinator: ID2206, ID2200 Robert Rönngren, IS1350 Jim Dowling Hjälpmedel: Inga Tentamensfrågorna behöver inte återlämnas

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING 1. INLEDNING 1.1. Milstolpar i datorns historia 1.2. Några viktiga begrepp 1.3. Mikrodatorns användningsområden 2. TALSYSTEM, KODER OCH BINÄR ARITMETK 2.1. Binära

Läs mer

32 Bitar Blir 64 Sammanfattning

32 Bitar Blir 64 Sammanfattning 32 Bitar Blir 64 Sammanfattning Syftet med rapporten är att ge en insyn i det tillvägagångssätt och problem som uppstod i utvecklingen från 32 bitars CPUs till 64 bitars CPUs samt inblick i skillnaden

Läs mer

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem? DVG A06 Operativsystem, mm Definition Den del av systemet som hanterar all hårdvara och all mjukvara. Kontrollerar: -alla filer -alla enheter -varje del av minnet -varje ögonblick av processortiden (-nätverk

Läs mer

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1 DVG A06 Operativsystem, mm DVG A06 Johan Eklund, 1 2 DVG A06 Johan Eklund, 2 Operativsystem - Vad är ett operativsystem? - Hur fungerar det..? - Vad använder vi operativsystemet till? - Vilka olika operativsystem

Läs mer

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

Läs mer

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning Den digitala automaten Vägen från digitaltekniken till det kompletta styrsystemet Lund University, Sweden Insignaler Sekvensnät Utsignaler Kan vi betrakta insignalmönstret som en instruktion och det som

Läs mer

Information Coding / Computer Graphics, ISY, LiTH CUDA. En lösning för generella beräkningar. En introduktion: Programmingsmodell och språk

Information Coding / Computer Graphics, ISY, LiTH CUDA. En lösning för generella beräkningar. En introduktion: Programmingsmodell och språk CUDA En lösning för generella beräkningar. En introduktion: Programmingsmodell och språk Minnesareor och minnesaccess Delat minne Exempel CUDA = Compute Unified Device Architecture Utvecklat av NVidia

Läs mer

Institutionen för datavetenskap 2014/15

Institutionen för datavetenskap 2014/15 LUNDS TEKNISKA HÖGSKOLA Datorer och datoranvändning Institutionen för datavetenskap 2014/15 ME en dator 1 Inledning ME är en påhittad dator, men den har likheter med riktiga datorer: det finns ett maskinspråk

Läs mer