Observera att detta är förslag på lösningar.
Det kan finnas andra lösningar som också är korrekta,
och det kan hända att en del av lösningarna är mer omfattande
än vad som krävs för full poäng på uppgiften.
En del av lösningarna är kanske inte fullständiga,
utan hänvisar bara till var man kan läsa svaret.
Uppgift 1 (7 p)
Här använder jag termerna mebibyte, gibibyte och tebibyte.
Inga poängavdrag om man i stället talar om megabyte, gigabyte och terabyte,
oavsett vilken definition av dessa som man använder.
Inga poängavdrag för enkla räknefel.
Inga poängavdrag för (rimliga)
följdfel.
a) (2p) Hur mycket data behövs för att lagra en film i det angivna formatet?
En enda bild tar 4096 * 2160 * 12 * 3 = 318504960 bitar,
vilket motsvarar 318504960 / 8 = 39813120 byte = 38 mebibyte.
Det går åt 24 * 60 * 60 * 2 = 172800 bilder för hela filmen.
Svar:
4096 * 2160 * 12 * 3 / 8 * 24 * 2 * 60 * 60 = 6879707136000 byte = 6407 gibibyte (eller 6 tebibyte)
En byte bestå av åtta bitar, så glöm inte att dela med åtta för att få antalet byte!
b) (1p) Hur många cd-skivor behövs för att lagra filmen?
Cd-skivor finns i flera olika typer, med olika kapacitet,
men här räknar vi med "vanliga" cd-rom på 650 mebibyte.
6879707136000 / (650*1024*1024) = 10093 cd-skivor
Full poäng för rimliga cd-storlekar, ungefär 600 till 800 mebibyte.
c) (1p) Hur många dvd-skivor behövs för att lagra filmen?
Dvd-skivor finns i flera olika typer, med olika kapacitet,
men här räknar vi med "vanliga" dvd-skivor med en sida och två lager,
som kan innehålla 7.92 gibibyte.
6879707136000 / (7.92*1024*1024*1024) = 809 dvd-skivor
Full poäng för alla rimliga dvd-storlekar.
d) (1p) Går den in på hårddisken på en vanlig hemdator?
Nej. (De hemdatorpaket man kan köpa just nu har hårddiskar på mellan 80 och 500 gigabyte.)
e) (2p) Fortfarande skickas filmer ut till biograferna som stora filmrullar.
En digital biofilm kan dock skickas som digitala data till biografen.
Antag att biografen har bredbandsanslutning,
med en bandbredd på 10 megabit per sekund.
Hur lång tid tar det att skicka filmen till biografen?
6879707136000 * 8 / (10*1000*1000) = 5503765 sekunder = drygt 2 månader
Tänk på att bandbredden mäts i bitar per sekund och inte byte per sekund!
Kommentar:
Ja, det blir mycket stora datamängder, med många skivor.
(I verkligheten kan man dock komprimera en del, så det det blir inte fullt så mycket data.)
Biofilm är ett väldigt högupplöst format, och det är fortfarande svårt för datorerna att konkurrera!
Kanske är det inte så konstigt att filmerna fortfarande skickas ut till biograferna som stora filmrullar?
Uppgift 2 (8 p)
Var på moderkortet hittar man följande?
(Alla saker i listan finns inte med på det här moderkortet.)
- plats för processor (1p)
- plats för RAM-minne (1p)
- kontakt för anslutning av diskettenhet (0.5p)
- kontakt för anslutning av IDE-hårddisk (0.5p)
- kontakt för anslutning av Serial-ATA-hårddisk (SATA) (0.5p)
- plats för grafikkort (PCI Express x16) (1p)
- platser för andra PCI- och PCI Express-kort (1p)
- platser för ISA-kort
- kontakter för anslutning av el från nätaggregatet (0.5p)
- northbridge (0.5p)
- southbridge (0.5p)
- kontakter som ska sticka ut på baksidan av datorn (1p)
Kommentarer:
-
Det finns inga platser för ISA-kort.
ISA-standarden är föråldrad,
och moderna moderkort brukar inte ha ISA-platser.
-
Jag är själv osäker på om Northbridge är rätt utritad.
Den lilla kretsen nedanför processorn är inte Northbridge,
utan en Ethernet-krets för det inbyggda "nätverkskortet",
men ger inget poängavdrag som Northbridge.
-
0.5 poängs avdrag om man angett "ITE"-kretsen till höger om batteriet som Southbridge,
för man ska komma ihåg att Southbridge-kretsen jobbar hårt med att flytta data,
och därför blir den varm och behöver antingen en kylfläns eller (som här) en fläkt.
Uppgift 3 (7 p)
- PS/2-musport: 1 (1p)
- PS/2-tangentbordsport: 14 (1p)
- Parallellport: 2 (1p)
- RJ-45-port för Ethernet: 3 (1p)
- Analoga ljudkontakter (linje in, linje ut, flera högtalare, mikrofon): 4-9 (1p)
- USB-portar: 10, 11 (1p)
- Digital S/PDIF-ljudport (optisk): 12 (0.5p)
- Digital S/PDIF-ljudport (elektrisk): 13 (0.5p)
- Serieport: saknas
- Firewire-port: saknas
- VGA-port för bildskärm: saknas
Kommentarer:
-
Många datorer har tre analoga ljudanslutningar:
mikrofoningång, linjeingång och högtalar/linje-utgång (i stereo).
Det här är dock ett modernt och inte alltför billigt moderkort,
och det har flerkanalsljud (surroundljud).
-
Inga poängavdrag för rimliga gissningar om de analoga och digitala ljudkontakterna.
-
Nummer 12, den optiska kontakten för digitalt ljud (S/PDIF),
påminner lite i formen om en Firewire-kontakt,
så det ger inga poängavdrag.
Uppgift 4 (3 p)
Bilden av moderkortet i uppgift 2 är ett foto,
med många färgnyanser och mjuka övergångar,
och därför kan den passa att lagras som en JPEG-bild.
(PNG kan ge samma kvalitet, men filen blir betydligt större.)
Bilden av kontakterna i uppgift 3 är en teckning, eller gjord i ett ritprogram,
med få färger och skarpa övergångar,
och därför kan den passa att lagras som en GIF-bild eller PNG-bild.
(Detaljstuderar man bilden i ett program ser man att den trots allt har ganska många färgnyanser,
och då fungerar PNG bättre än GIF, som bara klarar 256 färger.)
Kommentar:
Bilderna är egentligen i färg och av ganska god kvalitet.
På tentamenstillfället var tentorna kopierade med en vanlig dålig kontorskopieringsmaskin,
som gör sin egen behandling av de bilder den kopierar,
och därför kunde man inte sluta sig till så mycket genom att detaljstudera
de dåliga, kopierade bilderna.
Uppgift 5 (4 p)
Komponenterna i en dator, till exempel ljudkortet, består i sin tur av mindre komponenter.
Vilka av följande delar kan man hitta om man skruvar isär ett ljudkort,
och (för dem som man hittar) vad gör de?
- D/A-omvandlare (även kallad DAC):
Digital/analog-omvandlaren omvandlar digitala ljuddata (dvs ljud uttryck som en följd av tal)
till en analog ljudsignal (dvs elektriska svängningar).
Den behövs om man till exempel vill skicka ljud från datorn till ett par vanliga datorhögtalare,
eller till en vanlig stereo.
- A/D-omvandlare (även kallad ADC):
Analog/digital-omvandlaren omvandlar en analog ljudsignal
till digitala ljuddata.
Den behövs om man till exempel vill ta in ljud tll datorn från en vanlig mikrofon.
- GPU (grafikprocessor): finns antagligen inte.
- RJ-45-kontakt (Ethernet-kontakt): finns antagligen inte.
- Polariserande filter: finns antagligen inte - om inte ljudkortet har en LCD-display!
Uppgift 6 (5 p)
Nej, datorn visar inte förinspelad film, utan alla bilder
skapas utifrån en matematisk beskrivning.
Allt som visas i spelet, vare sig det är ett föremål, ett monster, en annan spelare eller marken man går på,
uttrycks som en matematisk modell som beskriver dess yta. Ytan består av polygoner (platta månghörningar),
oftast trianglar. Även böjda ytor som bollar och ansikten kan approximeras med ett stort antal polygoner.
Man kan beskriva alla polygonerna med en lång serie tal,
genom att räkna upp varje hörns position i de tre dimensionerna höjd, bredd och djup.
Ytorna som består av polygoner är tredimensionella (med höjd, bredd och djup)
men de ska visas på en tvådimensionell datorskärm (som bara har höjd och bredd).
Därför måste de projiceras på en plan yta, ungefär som en (tredimensionell) människa kastar en (tvådimensionell) skugga på en vägg.
Det kan göras med matematiska formler,
som också tar hänsyn till avstånd,
så att saker visas med mindre storlek ju längre bort de är.
Kanterna på polygonerna är linjer i det tredimensionella rummet,
så kallade vektorer.
Dessa kanter bildar "ståltrådsmodeller" eller "ståltrådsskelett" av sakerna i spelet.
Datorn kan rita upp dem, men det ser förstås ganska tråkigt ut.
Därför har man bilder, så kallade texturer, som man lägger in på polygonernas ytor, och därigenom "klär in" ståltrådsskeletten.
Exempelvis kan ett monster använda textur som är en bild av grön och fjällig hud som textur,
och så lägger man in denna bild på monstrets yta.
Då ser monstret grönt och fjälligt ut.
Ytterligaare trick används för att få bilderna att se mer realistiska ut.
Här är två exempel:
-
Fogging innebär att man blandar i mer vitt i färgen
ju längre bort en yta är,
för att efterlikna hur saker blir ljusare längre bort mot horisonten.
(Tänk på skogsåsar bakom varandra som man ser från en utsiktspunkt.)
-
Depth cueing är motsatsen för inomhusscener:
en yta visas mörkare ju längre bort den är,
för att efterlikna dåligt upplysta korridorer
(och för att datorn ska slippa
rita så mycket - avlägsna objekt blir helt svarta).
Uppgift 7 (3 p)
Exempel på dåliga lösenord:
- gnf: För kort.
Går snabbt att gissa genom att låta datorn prova olika kombinationer.
- krokodil: Ett ord som finns i en vanlig ordlista.
Går snabbt att gissa genom att prova alla orden i ordlistan.
- Olle: Ett vanligt namn, som finns i listor med vanliga ord, och dessutom för kort.
- krokodil4: Ett ord som finns i en vanlig ordlista, med en siffra adderad.
Går ganska snabbt att gissa genom att prova alla orden i ordlistan, med små förändringar.
- lidokork: Ett ord som finns i en vanlig ordlista, baklänges.
Går snabbt att gissa genom att prova alla orden i ordlistan, baklänges.
- 39487529: Består bara av siffror,
och går därför snabbare att gissa genom att prova alla kombinationer,
än om man använt bokstäver.
Förklaring:
Eftersom det bara finns tio siffror,
kan man skapa 108 = 100000000 olika lösenord med åtta siffror.
Med de 52 (engelska) stora och små bokstäverna
kan man skapa 528 = 53459728531456 olika lösenord med åtta bokstäver.
Med 52 bokstäver, 10 siffror och 20 olika skiljetecken, dvs 72 möjliga tecken,
kan man skapa 728 = 722204136308736 olika lösenord med åtta tecken.
Exempel på bra lösenord:
- Nhjhpelm15taos!
(uttyds Nu har jag hittat på ett lösenord med 15 tecken av olika slag!:
Inte för kort, innehåller olika slags tecken, står inte i ordlistan,
går inte att härleda ur ett ord i ordlistan med en enkel transformation,
och är dessutom möjligt att komma ihåg eftersom det är härlett ur en ramsa.
Uppgift 8 (3 p)
Unicode och ASCII är teckenuppsättningar, ibland kallade teckenkodningar.
En teckenuppsättning (på engelska character set)
är en uppsättning tecken (bokstäver, skiljetecken, symboler mm)
där varje tecken fått ett särskilt nummer, en så kallad teckenkod.
Till exempel motsvaras stora bokstaven A i ASCII av teckenkoden 65,
stora bokstaven B av teckenkoden 66,
och utropstecken (!) av teckenkoden 33.
Teckenkoderna används sen för att lagra tecknen i datorer, eller skicka dem över nätverk.
Unicode innehåller många fler tecken (ungefär 100000 olika tecken)
än ASCII (128 olika),
och fungerar därför bra för språk med konstiga tecken, som ryska, kinesiska och svenska.
ASCII har mycket färre tecken,
och har i ursprungsversionen inte ens Å, Ä och Ö.
Å andra sidan tar Unicode större plats,
eftersom varje tecken tar upp 16 bitar i stället för ASCII:s 7 bitar,
Unicode måste kodas om för att kunna skickas med e-post och andra system som inte är gjorda för 16-bitarstecken,
och många äldre program och operativsystem klarar inte Unicode.
Uppgift 9 (3 p)
Signalen är (ofta) avsedd att "konsumeras" i analog form,
till exempel om den är en ljudsignal.
Så här kan ett avsnitt av en analog ljudsignal ritas upp:
Vi tänker oss att höjden på kurvan visar styrkan (amplituden) på ljudet,
och att längdaxeln är en tidsaxel,
så kurvan visar alltså amplituden på ljudet vid olika tidpunkter.
(Notera den lilla böjen på den uppåtgående delen av kurvan.)
För att omvandla signalen till en digital signal, mäter man upp
kurvans höjd på olika ställen.
De två uppritade sträckorna visar två sådana mätningar.
Samplingsfrekvensen anger hur ofta man mäter,
normalt angiven i hur många mätningar man gör per sekund.
Ju fler mätningar per sekund,
desto bättre blir kvaliteten.
Upplösningen anger hur många skalsteg man använder för varje mätning.
Ju fler skalsteg,
desto bättre blir kvaliteten.
Staplarna i den här figuren visar en digital signal som gjorts med ganska hög samplingsfrekvens
och ganska många skalsteg. Notera att den lilla böjen på kurvan syns som ett hack.
Digital betyder "med siffror",
och den här digitala signalen kan skrivas ut så här:
12, 12, 11, 10, 9, 6, 4, 3, 3, 3, 3, 4, 6, 5, 6, 7, 8, 8, 8, 7, 6
Man räknar alltså helt enkelt upp alla mätningarna efter varandra,
mätt i hur många skalsteg hög varje stapel blev.
Nu gör vi en ny digital signal,
med bara en tredjedel så hög samplingsfrekvens
och en tredjedel så många skalsteg.
Nu kommer den digitala signalen att följa kurvan mycket sämre,
och den lilla böjen syns inte alls.
Kvaliteten i form av "finkornighet" har alltså blivit sämre.
Den här digitala signalen kan skrivas ut så här:
4, 3, 1, 1, 2, 3, 2
Vi ser att med lägre samplingsfrekvens och lägre upplösning tar digitala data mindre plats,
men kvaliteten blir sämre.
På cd-skivor används samplingsfrekvensen 44100 Hz, dvs 44100 mätningar per sekund,
och 65536 skalsteg (i vardera kanalen, för det är ju stereo).
Den intresserade kan också lära sig samplingsteoremet,
som säger att man måste sampla med dubbelt så hög frekvens
som den högsta frekvens man vill kunna lagra.
Om man vill kunna lagra ljud upp till 20000 Hz,
som ungefär är vad en människa kan uppfatta,
så måste man allstå sampla med minst 40000 Hz.
Uppgift 10 (2 p)
Serie betyder att data skickas seriellt,
dvs efter varandra.
Först skickas en bit (etta eller nolla), sen nästa, och så vidare.
Buss betyder att flera olika komponenter, datorer eller liknande
kan kommunicera på samma ledning, eller bunt med ledningar,
så att "alla pratar med alla": när en skickar ut data på bussen,
så når dessa data fram till alla andra.
(En buss fungerar alltså mer som ett rum, där flera personer sitter och pratar med varandra,
än som ett telefonsystem, där man pratar två och två.)
Uppgift 11 (4 p)
Hur representeras ettor och nollor...
- i RAM-minne:
Elektrisk laddning som lagras i en elektronisk komponent som kallas "kondensator"
(engelska: "capacitor").
Om kondensatorn är laddad betyder det en etta,
om den inte är laddad betyder det en nolla.
- på en hårddisk:
I ett magnetiserbart metallskikt på ytan av hårddiskens plattor,
så har fläckar magnetiserats åt olika håll.
Två fläckar behövs för en bit.
Om båda fläckarna magnetiserats åt samma håll
betyder det en nolla, annars en etta.
- på en CD-ROM:
Nollorna är gropar i ett reflekterande skikt,
medan ettorna är ytan mellan groparna.
När lasern lyser på en grop, reflekteras ljuset inte tillbaka.
(Egentligen är det mer komplicerat, för man flyttar också om groparna och ytorna
för att få längre sammanhängande gropar och ytor.)
- på en CD-R-skiva:
Nollorna är inte gropar, utan vid skrivningen använder man en starkare laser
som skapar bubblor eller som bleker ett färgat skikt.
Uppgift 12 (2 p)
En dator arbetar med det binära talsystemet, som enbart har de två siffrorna ett och noll.
Alla data lagras binärt, som tal uttryckta med ettor och nollor.
Men inte bara data i datorns minne, utan även adresser till platser i minnet anges binärt.
Ett minne vars adresser anges med tio binära siffror, till exempel för att adressbussen har tio ledningar,
kan innehålla upp till 210, dvs 1024, platser.
Det är praktiskt, och mest ekonomiskt, att använda alla dessa platser, och inte räkna de sista 24 möjliga adresserna som ogiltiga.
Ett minne vars adresser anges med 20 binära siffror, och som kanske har en adressbuss med 20 ledningar,
kan innehålla upp till 220, dvs 1048576, platser.
Uppgift 13 (3 p)
a) (1p)
En AND-grind har två insignaler och en utsignal.
Både insignaler och utsignaler kan ha två värden, som betyder noll eller ett.
Egentligen är signalerna strömmar eller spänningar,
där exempelvis ström kan betyda ett och avsaknad av ström kan betyda noll.
Om båda insignalerna är ettor,
blir även utsignalen en etta,
annars blir den en nolla.
Man kan rita upp en tabell:
Insignal 1 | Insignal 2 | Utsignal |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
b) (1p)
En halvadderare adderar två ensiffriga binära tal,
och ger som utdata summan av de två talen,
uttryckt med en binär entalssiffra och en binär minnessiffra.
Man kan rita upp en tabell:
Insignal 1 (ena talet) | Insignal 2 (andra talet) | Utsignal 1 (minnessiffran) | Utsignal 2 (entalssiffran) |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
Med andra ord:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
c) (1p)
Uppgift 14 (4 p)
a) (1p)
För att data ska kunna överföras mellan processorns olika delar,
måste dessa arbeta i takt,
och en klockpuls är den minsta tidsenhet som den takten mäts i.
Att skicka klockpulser till processorn med en viss frekvens kallas att klocka processorn med den frekvensen.
b) (3p)
-
Arbeta med mer data parallellt,
till exempel med register och ALU:er som jobbar med 32 eller 64 bitar i stället för 8 eller 16 bitar.
-
Ett annat sätt att arbeta med mer data parallellt
är att en instruktion utförs på flera olika tal samtidigt.
Det kallas ibland SIMD (Single Instruction, Multiple Data),
och ett exempel på det är MMX-instruktioner.
-
Arbeta med flera instruktioner parallellt.
At utföra en enda instruktion (till exempel för att addera två tal)
är en lång och komplicerad process för processorn:
första ska instruktionen hämtas från minnet,
sen ska den avkodas,
sen ska de data som instruktionen ska arbeta med hämtas, och så vidare.
I stället för att vänta tills hela instruktionen är utförd
innan man börjar med nästa,
har man en så kallad pipeline med instruktioner:
Så fort man hämtat en instruktion och börjat avkoda och bearbeta den,
hämtar man nästa instruktion, så den kan skickas till avkodaren direkt när avkodaren är klar med den första. Och så vidare.
-
Eftersom primärminnet i datorn är långsamt jämfört med processorn,
lagrar man en del data och instruktioner i särskilda snabba minnen
inuti eller nära processorn, så kallat cache-minne.
-
Man kan också ha fler register i processorn,
för att ha data tillgängligt inne i själva processorn och i den allra snabbaste typen av minne.
-
Processorn kan ha flera likadana enheter av samma slag,
till exempel flera ALU:er,
som kan arbeta parallellt med flera olika instruktioner.
-
Processorn kan ha dubbla kärnor,
så att den fungerar ungefär som två processorer i samma kapsel.
-
Kommunikationen med resten av datorn kan snabbas upp
med hjälp av snabbare eller bredare bussar (dvs att fler bitar överförs parallellt),
till exempel minnesbussens datadel.
Uppgift 15 (6 p)
-
Man ska partitionera hårddisken först, och sen formatera den.
-
En IP-adress är ett 32-bitars heltal,
som brukar skrivas som fyra åttabitars heltal skrivna med vanliga decimala siffror, med punkter emellan.
Eftersom ett åttabitarstal kan uttrycka talen 0 till 255 (här skrivna med vanliga decimala siffror),
kan IP-adressen 130.243.405.396 inte vara riktig:
405 och 396 måste vara fel.
-
En nätmask är ett 32-bitars heltal,
som används för att ange vilka IP-adresser som finns på det "lokala nätet", subnätet,
och vilka som ska skickas iväg via en gateway till resten av Internet.
En nätmask består av en följd av ettor, och sen en följd av nollor,
till exempel 11111111111111111111111100000000,
där ettorna anger hur stor del av IP-adressernas 32 bitar som är gemensam för alla datorerna på subnätet.
Nätmasker brukar skrivas på samma sätt som IP-adresser,
dvs som fyra åttabitars heltal skrivna med vanliga decimala siffror, med punkter emellan.
Nätmasken ovan skrivs alltså som 255.255.255.0.
Nätmasken 255.255.255.33 blir, uttryckt binärt,
11111111111111111111111110000001,
alltså en följd av ettor, och sen en följd av nollor, och sen en etta på slutet.
Några felaktiga svar:
-
För mycket primärminne:
Nej, 2 GB primärminne och mer förekommer i kraftfulla persondatorer.
(Ger en halv poäng, för det är trots allt ganska ovanligt.)
-
Man behöver inte installera operativsystem på en ny dator, för det följer med:
Ja, oftast gör det det, men inte alltid,
och ibland vill man installera ett annat eller särskilt anpassat operativsystem
i stället för det som fanns förinstallerat.
-
Nätverkshastighet mäts i bit per sekund och inte byte per sekund:
Ja, men det är ju enkelt att räkna om,
och 100 megabyte per sekund motsvarar ungefär en gigabit (1000 megabit) per sekund.
-
Nätverkshastigheten är för hög:
Nej, gigabit-Ethernet är ganska vanligt idag.
-
Gateway och DNS-server ska inte vara samma:
Det är kanske inte så vanligt, men inte omöjligt.
Då är det helt enkelt sama dator som både fungerar som gateway och DNS-server.
Thomas Padron-McCarthy
(Thomas.Padron-McCarthy@tech.oru.se)
26 februari 2006