Datoranvändning och datorteknik: Lösningar till tentamen 2006-02-16

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.)
  1. plats för processor (1p)
  2. plats för RAM-minne (1p)
  3. kontakt för anslutning av diskettenhet (0.5p)
  4. kontakt för anslutning av IDE-hårddisk (0.5p)
  5. kontakt för anslutning av Serial-ATA-hårddisk (SATA) (0.5p)
  6. plats för grafikkort (PCI Express x16) (1p)
  7. platser för andra PCI- och PCI Express-kort (1p)
  8. platser för ISA-kort
  9. kontakter för anslutning av el från nätaggregatet (0.5p)
  10. northbridge (0.5p)
  11. southbridge (0.5p)
  12. kontakter som ska sticka ut på baksidan av datorn (1p)

Bild på moderkortet ASUS A8N-E

Kommentarer:

Uppgift 3 (7 p)

Kontakter bakpå moderkortet

Kommentarer:

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?
  1. 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.
  2. 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.
  3. GPU (grafikprocessor): finns antagligen inte.
  4. RJ-45-kontakt (Ethernet-kontakt): finns antagligen inte.
  5. 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:

Uppgift 7 (3 p)

Exempel på dåliga lösenord:

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:

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:

En kurva

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.

Sampling med hög frekvens och upplösning

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.

Sampling med låg frekvens och upplösning

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...

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)

En halvadderare uppbyggd av en AND-grind och en XOR-grind

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)

Uppgift 15 (6 p)

Några felaktiga svar:


Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se) 26 februari 2006