TSEA28 Datorteknik Y (och U)

Relevanta dokument
TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

Tentamen Datorteknik Y, TSEA28 Datum

Tentamen den 18 mars svar Datorteknik, EIT070

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

Tentamen (Exempel) Datorteknik Y, TSEA28

F5: Högnivåprogrammering

F5: Högnivåprogrammering

F4: Assemblerprogrammering

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen Datorteknik D del 2, TSEA49

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

TSEA28 Datorteknik Y (och U)

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)

Övningsuppgifter i Mikrodatorteknik 4p/5p

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen Datorteknik Y, TSEA28 Datum TER1 och TER2 Tid 14-18

TSEA28 Datorteknik Y (och U)

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

Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så

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

Datorarkitekturer med operativsystem ERIK LARSSON

TSEA28 Datorteknik Y (och U)

Exempeltentamen Datorteknik, EIT070,

Programexempel för FLEX

Grunderna i stegkodsprogrammering

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

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

IT för personligt arbete F5

Tentamen Datorteknik Y, TSEA28 Datum TER2 och TER3 Tid 14-18

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Lösningar till tentamen i EIT070 Datorteknik

F8: Undantagshantering

Lösningsförslag till Tenta i Mikrodator

HF0010. Introduktionskurs i datateknik 1,5 hp

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Assemblerprogrammering för ARM del 2

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

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

Lösningar till tentamen i EIT070 Datorteknik

TSEA28 Datorteknik Y (och U)

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

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

Assemblerprogrammering del 3

CE_O3. Nios II. Inför lab nios2time

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

Digital- och datorteknik

CPU. Carry/Borrow IX. Programräknare

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Laboration 2 i Datorteknik- Assemblerprogrammering II

Styrenheten styrsignalsekvenser programflödeskontroll

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

Datorarkitekturer med operativsystem ERIK LARSSON

Övning2 Datorteknik, HH vt12 - Programmering

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

TSEA28 Datorteknik Y (och U)

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Tentamen Datorteknik Y, TSEA28 Datum

Lösningsförslag till Tenta i Mikrodator

TSEA28 Datorteknik Y (och U)

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Föreläsningsanteckningar 3. Mikroprogrammering II

Tentamen PC-teknik 5 p

TSEA28 Datorteknik Y (och U)

Datorsystemteknik DAV A14 Föreläsning 1

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Digitala System: Datorteknik ERIK LARSSON

Tentamen Datorteknik Y, TSEA28 Datum TER2, TER4, TERE Tid 14-18

Datorarkitekturer med operativsystem ERIK LARSSON

Datorsystemteknik DVGA03 Föreläsning 8

Digital- och datorteknik

Digital- och datorteknik

Transkript:

TSEA28 Datorteknik Y (och U) Föreläsning 8 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 2 Dagens föreläsning Ett större exempel av signalbehandlande system Ge fler exempel på assemblerkodning Optimering av kod Nya instruktioner Hur man jämför datorer SPEC Andra mätmetoder

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 3 Praktiska kommentarer Extratillfällen Lab2 (för dom som gjort hemuppgift 2 i tid) Inkluderar hjälp (på samma sätt som tidigare labbar) Lab2: Torsdag 2/3 kl 17-19 Lab3: Fredag 10/3 kl 10-12 Extra redovisningstillfälle Lab 1-3, Fredag 10/3 kl 13-15 Enbart redovisning (ingen hjälp) TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 4 Praktiska kommentarer Ordning i labbet Allra flesta sköter det bra Kopplar ned allt utom tutorkortet (med strömmen avstängd) Loggar ur (ni ska inte stänga av datorn) Inga gamla kaffekoppar eller liknande kvar i labbet Labbet kommer användas för annan undervisning i vt2 Tutor-systemet plockas ut från labbet inför vt2 Tutor-server finns fortfarande ssh tutor

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 5 Ett större exempel Signalbehandlingsexempel Filtrering av en signal Se länk från föreläsningstabellen för mer information Generell struktur TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 6 Ett större exempel, forts. Antag vi vill bygga ett filter som implementerar y[n]= i=0 Antag b = [-0.0448 0.1659 0.8105 0.1659-0.0448} Lagra koefficienterna i b i en minnesarea coefficients (multiplicerade med 2^15 för att få heltal) Data är 16-bitars värden (2 byte var) Antag 100 sampel som ska filtreras per gång är lagrade i en minnesarea $2000 - $23EC 4 extra insampel för att skapa 100 utsampel Antag resultatet ska lagras i minnesarea $3000 - $33E8 Totalt 3000 block ska filtreras N x[n i]b i

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 7 Ett större exempel, kodstruktur Initiera addresspekare (A0, A1), sampelräknare (D0) samt blockräknare (D7) Loop över alla sampel Sätt koefficientpekare A2 till start av koefficienter Nollställ mellanresultat (D2) Loop över alla koefficienter Multiplicera sampel med koefficient => D1 Addera till mellanresultat (D2) Hoppa ur loop om adresspekare = coefficient_end Dividera med 2^15 (för att få multiplikation med 0.0448 etc), spara resultat i ut Räkna ned sampelräknare (D0), ta nästa sampel om inte slut Räkna ned block (D7), om alla block klara hoppa till Tutors prompt, annars ta nästa block TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 8 Ett större exempel, kodstruktur Initiera addresspekare (A0, A1) och sampelräknare (D0) move.l #3000,d7 ; Antal block som ska filtreras start: move.l #$2000,a0 ; Indata move.l #$3000,a1 ; Outdata move.l #100,d0 ; Antal sampels

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 9 Filter v1 Följer efter initiering inner_loop: move.l #coefficients,a2 ; Koefficienter för filtret finns här clr.l d2 ; Nollställ ackumulator sample_loop: ; Läs sampel, multiplicera med koefficient, ; samt addera till ackumulator cmp.l #coefficients_end,a2 ; Färdiga med detta värde? beq sample_ready bra sample_loop asr.l #8,d2 ; Dividera med 2^15 asr.l #7,d2 move.w d2,(a1)+ ; Spara resultat i utbuffert add.l #-8,a0 ; Justera a0 så den pekar på nästa sampel med indata add.l #-1,d0 ; Räkna ner loopräknaren bne inner_loop add.l #-1,d7 ; nästa block att räkna på bne start move.b #255,d7 ; hoppa tillbaks till Tutor prompt trap #14 coefficients: dc.w -1448,5437,26559,5437,-1448 coefficients_end: TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 10 Olika instruktioner tar olika lång tid Klockfrekvens Dubbel klockfrekvens betyder inte dubbel prestanda Vanligt mått: IPC (Instruction Per Clockcycle) Antal minnesläsningar/skrivningar Kan 32 bitar läsas på en gång? Hur snabbt är minnet? Hur lång är instruktionen Villkorliga hopp kan ta olika lång tid beroende på om villkoret är sant eller falskt

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 11 Prestanda filter version 1 Exekveringstid ca 39 sekunder på Tutor Inte optimerat, kan göras bättre Vad tar onödig tid (instruktioner i loop är dyrast) Vanligaste hoppet tas inte (jämför, hoppa inte, hoppa) cmp.l #coefficients_end,a2 beq sample_ready bra sample_loop cmp.l #coefficients_end,a2 bne sample_loop Läser konstanter i instruktionen, snabbare jämföra med register (färre ord i instruktionen att läsa) cmp.l #coefficients_end,a2 ; 2 ords instruktion cmp.l a4,a2 ; 1 ords instruktion ; måste dock sätta a4 innan loop startasf TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 12 Filter version 2 Vanligaste hoppet är det första som testas Vanliga konstanter läggs i register A3 och A4 innan loop startar Programmet aningen större (2 byte längre) 1 instruktion borttagen (bra inner_loop) 2 instruktioner tillagda (move.l #coefficients...) 2 instruktioner förenklade (move.l a3,a2, cmp.l a4,a2) Exekveringstid Ca 32 sekunder (-18%) move.l #3000,d7 start: move.l #$2000,a0 move.l #$3000,a1 move.l #100,d0 move.l #coefficients,a3 move.l #coefficients_end,a4 inner_loop: move.l a3,a2 clr.l d2 sample_loop: cmp.l a4,a2 bne sample_loop asr.l #8,d2 asr.l #7,d2 move.w d2,(a1)+ add.l #-8,a0 add.l #-1,d0 bne inner_loop add.l #-1,d7 bne start move.b #255,d7 trap #14 coefficients: dc.w -1448,5437,26559 dc.w 5437,-1448 coefficients_end:

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 13 Prestanda filter version 2 Titta på vanligaste operationerna add.l d1.d2 cmp.l a4.a2 bne sample_loop Vad tar onödig tid Test av slut på loop är onödig (20% av instruktionerna) Kopiera istället instruktionerna motsvarande antal Tekniken kallas Loop unrolling Enklast om fixt antal varv i loop move.l #3000,d7 start: move.l #$2000,a0 move.l #$3000,a1 move.l #100,d0 move.l #coefficients,a3 move.l #coefficients_end,a4 inner_loop: move.l a3,a2 clr.l d2 sample_loop: cmp.l a4,a2 bne sample_loop asr.l #8,d2 asr.l #7,d2 move.w d2,(a1)+ add.l #-8,a0 add.l #-1,d0 bne inner_loop add.l #-1,d7 bne start move.b #255,d7 trap #14 coefficients: dc.w -1448,5437,26559 dc.w 5437,-1448 coefficients_end: TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 14 Filter version 3 Programmet växer i storlek +10 byte Exekveringstid: 25 sekunder (-22%) move.l #3000,d7 start: move.l #$2000,a0 move.l #$3000,a1 move.l #100,d0 move.l #coefficients,a3 inner_loop: move.l a3,a2 sample_loop: move.w (a2)+,d2 muls.w (a0)+,d2 asr.l #8,d2 asr.l #7,d2 move.w d2,(a1)+ add.l #-8,a0 add.l #-1,d0 bne inner_loop add.l #-1,d7 bne start move.b #255,d7 trap #14 coefficients: dc.w -1448,5437,26559,5437,-1448 coefficients_end:

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 15 Prestanda filter version 3 Koefficienterna alltid samma Läs in dom i register innan loop Fungerar bäst för beräkningar med fixa värden och få konstanter 5 koefficienter men bara 3 olika värden move.l #3000,d7 start: move.l #$2000,a0 move.l #$3000,a1 move.l #100,d0 move.l #coefficients,a3 inner_loop: move.l a3,a2 sample_loop: move.w (a2)+,d2 muls.w (a0)+,d2 asr.l #8,d2 asr.l #7,d2 move.w d2,(a1)+ add.l #-8,a0 add.l #-1,d0 bne inner_loop add.l #-1,d7 bne start move.b #255,d7 trap #14 coefficients: dc.w -1448,5437,26559,5437,-1448 coefficients_end: TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 16 Filter version 4 Ta bort konstanttabellen Inre loop lika lång (samma antal instruktioner) Färre minnesläsningar ger snabbare program Fler instruktioner + 10 byte Exekveringstid 22 sekunder (-12%) move.l #3000,d7 start: move.l #$2000,a0 move.l #$3000,a1 move.l #100,d0 move.l #-1448,d3 move.l #5437,d4 move.l #26559,d5 inner_loop: sample_loop: move.w d3,d2 muls.w (a0)+,d2 move.w d4,d1 move.w d5,d1 move.w d4,d1 move.w d3,d1 asr.l #8,d2 asr.l #7,d2 move.w d2,(a1)+ add.l #-8,a0 add.l #-1,d0 bne inner_loop add.l #-1,d7 bne start move.b #255,d7 trap #14

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 17 Prestanda filter version 4 Allt svårare öka prestanda Det mesta av tiden spenderas på move, muls och add Några saker kan förbättreas En instruktion istället för 2 för skift Snabbare instruktion för subtraktion Små konstanter kan ingå i instruktionsordet Ger färre minnesläsningar move.l #3000,d7 start: move.l #$2000,a0 move.l #$3000,a1 move.l #100,d0 move.l #-1448,d3 move.l #5437,d4 move.l #26559,d5 inner_loop: sample_loop: move.w d3,d2 muls.w (a0)+,d2 move.w d4,d1 move.w d5,d1 move.w d4,d1 move.w d3,d1 asr.l #8,d2 asr.l #7,d2 move.w d2,(a1)+ add.l #-8,a0 add.l #-1,d0 bne inner_loop add.l #-1,d7 bne start move.b #255,d7 trap #14 TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 18 Prestanda filter version 5 Ersätt skiftinstruktioner Skift med register tillåter fler stegs skiftning Ersätt subtraktion med lång konstant Kort konstant ger kortare instruktion 0680 FFFF add.l #-1,d0 FFFF 5380 subq.l #1,d0 Färre minnesläsningar Kortare program -12 byte Exekveringstid: 20 sekunder (-10%) move.l #3000,d7 start: move.l #$2000,a0 move.l #$3000,a1 move.l #100,d0 move.l #-1448,d3 move.l #5437,d4 move.l #26559,d5 move.l #15,d6 inner_loop: sample_loop: move.w d3,d2 muls.w (a0)+,d2 move.w d4,d1 move.w d5,d1 move.w d4,d1 move.w d3,d1 asr.l d6,d2 move.w d2,(a1)+ subq.l subq.l bne #8,a0 #1,d0 inner_loop subq.l #1,d7 bne start move.b #255,d7 trap #14

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 19 Andra alternativ Ytterligare förbättringar kan göras Kräver detaljerad kunskap om M68k och hur den utför instruktioner Måste veta hur lång tid varje instruktion tar Beror bl a på adresseringsmod Exempel på intressanta instruktioner för optimering (för den intresserade) DBcc (Test condition, decrement and branch) Loopräknare och villkor för avslut av loop RTR (Return and restore condition code) Återställ flaggor ifrån subrutiner (liknar RTE) TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 20 Andra alternativ, forts. Andra alternativ bygger på förändringar/byte av algoritmen För den intresserade: Googla på FFA (Fast Fir Algorithm) Kan vara intressant att använda t ex FFT (Fast Fourier Transform) Byta multiplikation mot flera additioner Exempel: b0=b4 => b0*x(n)+b4*x(n-4) = b0*(x(n)+x(n-4)) Ändra beräkningsordning för att undvika läsning av samma minnesvärde flera gånger Läs en gång till register och multiplicera sedan med alla olika koefficienter (resultat i olika register)

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 21 Slutsats om prestanda Går ofta att förbättra (till en viss gräns) I exemplet: 39 sekunder -> 20 sekunder Nästan en halvering! Prestandaökning inte gratis Ökad mängd kod 78 byte + tabell med 10 byte -> 88 byte Mindre flexibilitet Svårt öka antal koefficienter Fungerar kanske bara på en processormodell Svårare förstå kod TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 22 Slutsats om prestanda, forts. En del av förbättringarna är svåra att generera automatiskt vid kompilering av högnivåspråk Extrem prestanda kräver ibland assemblerprogrammering Kompilatorns kvalitet viktig Översätter högnivåspråk till assembler Som synes finns många val, kompilatorn måste vara bra på att hitta snabba lösningar

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 23 Slutsats om prestanda, forts. Nästa processorgeneration kan ha helt andra egenskaper Nya instruktioner som löser delproblem bättre Bredare/snabbare minnebuss Fler register T ex 68020 (efterföljare till 68000) 32 x 32 bit multiplikation (ger 64 bitars resultat) Snabbar instruktioner då den räknar med 32-bitars data internt (68000 använder 16 bitar internt). Fler adresseringsmoder 8x högre maximal effektförbrukning (2 Watt), 50% högre klockfrekvens (25 MHz) TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2016-03-07 24 Prestanda hos andra arkitekturer Hastighet att utföra instruktioner endast en av flera intressanta egenskaper Beror på tänkt tillämpning Kostnadsmått varierar Exekveringshastighet, programstorlek, stöd för datatyper och operationer Hastighetskrav för avbrott Hur snabbt svar? Extra register, automatiskt spara register etc. Hur vet processorn adress för avbrott? Flexibilitet vs hastighet

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2016-03-07 25 Alternativa instruktionsuppsättningar ARM (används i ARM Cortex-A, t ex Raspberry Pi) Möjliggör villkorlig exekvering av flytt, aritmetiska och subrutinhoppsoperationer CMP r0, #0 ; if (x <= 0) MOVLE r0, #0 ; x = 0; MOVGT r0, #1 ; else x = 1; Tillåter val om flaggor ska påverkas av en instruktion Varje instruktion är 32 bitar lång Väldigt få adresseringsmoder Cortex-A familjen kan tolka olika instruktionsuppsättningar ARM vs THUMB vs THUMB2 Olika längd på instruktioner beroende på instruktionsuppsättning TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2016-03-07 26 Alternativa instruktionsuppsättningar Intel x86 (gamla IBM PC) Instruktioner är 8 bitar eller längre Prefix för att utöka antal möjliga instruktioner (8 bit instruktioner) Zilog (Z80), satt i många av de första hemdatorerna Byggde på Intel 8080 (samma designers) 8-bitars processor, med register A-E, H, L, SP, PC Prefixbyte i instruktionen väljer ett alternativt register (IX eller IY) istället för HL i följande instruktion $09 ADD HL,BC $FD $09 ADD IY,BC

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2016-03-07 27 Prestandajämförelse Antal register, operationstyper, klockfrekvenser och ordbredder skiljer sig åt Varierar även inom samma familj av processorer Köparen av en dator är intresserad av prestanda (tid, effekt, kostnad) för att köra köparens applikationer Olika processorer är bra på olika saker (heltalsaritmetik, sekvensiell vs parallel exekvering etc.) Vill därför kunna jämföra prestanda för vissa typer av arbetsuppgifter TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2016-03-07 28 Prestandajämförelse, forts. Standardiserade test: SPEC Standard Performance Evaluation Corporation SPEC CPU2006 SPECint 2006: 12 olika program att mäta heltalsprestanda på SPECfp 2006: 19 olika program att mäta flyttalsprestanda på Definierade test ger samma effekt som för dieselbilars utsläppstester... Processorer blir optimerade för att ge bra testresultat Bra testresultat stämmer inte alltid med bra prestanda för önskad applikation. Vanligt med stor mängd verkliga testfall istället

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2016-03-07 29 Prestandajämförelse, forts. Alternativa jämförelser Generella, sammanfattande PC Mark, SISoftware Sandra Specifika, vanliga nyttoprogram Office Adobe Zip Specifika, beräkningsserver NAMD, Unixbench, sysbench Specifika, Gaming Battlefield, hitman, GTA etc. TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2016-03-07 30 Prestandajämförelse, forts. Att komma ihåg vid jämförelse av datorer Processorn är en del av ett större system Prestanda kan begränsas av många andra delar Hårddisk vs SSD Minne Kylning

TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2016-03-07 31 Nästa period (VT2) Dags att lära sig hur datorn är uppbyggd i detalj Introducera bussar, register, beräkningselement, klockcykler, styrsignaler etc. Se hur arkitektur bestämmer hastighet hos datorn Därefter se hur prestanda kan ökas mha diverse lösningar Förutse nästa instruktion Använda små snabba minnen Göra flera saker samtidigt TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 32 Nästa period (VT2), forts. Ingen mer 68000 assembler i nästa period Undantag: Tenta! Titta på gamla tentor för att se upplägg och tillgänglig information Se till att träna så ni kan skriva egna små program Träna att analysera given kod (jämför hemuppgift 2) Förväntar mig inte att ni kan alla instruktioner Ska kunna de instruktioner ni använde i labben Många specialinstruktioner är inte nödvändiga Ex: NBCD (negate decimal with extend), BCHG (Test a bit and change)

www.liu.se