Tentamen PC-teknik 5 p Lösningar och kommentarer



Relevanta dokument
Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p

PC-teknik, 5 p LABORATION FILHANTERING

Tentamen PC-teknik 5 p

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

Enkla datatyper minne

Lathund. Pacific C för MS-DOS

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

Lösningar till tentamen i EIT070 Datorteknik

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

Grundläggande datavetenskap, 4p

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

Att använda pekare i. C-kod

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

Tentamen i Introduktion till programmering

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN1 - Teoretisk tentamen Tid: Torsdagen den 20 oktober 2011,

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Omtentamen i Programmering C, Fri, Kväll,

Tentamen. Datorteknik Y, TSEA28

Lösningar till tentamen i EIT070 Datorteknik

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

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

Tentamen den 18 mars svar Datorteknik, EIT070

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

TENTAMEN OOP

Lathund. C för inbyggda system

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)

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.

Tentamen Grundläggande programmering

"if"-satsen. Inledande programmering med C# (1DV402)

Datorsystem. Tentamen

Programmeringsuppgifter 1

Exempelsamling Assemblerprogrammering

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

Lösningar till tentamen i EIT070 Datorteknik

Tentamen Systemkonstruktion

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

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen. Datorteknik Y, TSEA28

Läsminne Read Only Memory ROM

Lathund. C för inbyggda system

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Tecken & Strängar. Kapitel 7

*Pekarvärden *Pekarvariabler & *

Institutionen för datavetenskap 2014/15

PROGRAMMERING-Java Omtentamina

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

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

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

Tentamen. Datorteknik Y, TSEA28

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15

Tentamen ges för: Tentamensdatum: Tid:

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Loopar och datatyper. Föreläsning 3

Loopar och datatyper. Föreläsning 3

Tentamen med lösningsförslag

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

Tentamen i Programmering

En kort text om programmering i C.

Översikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström

Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Datorarkitekturer med operativsystem ERIK LARSSON

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

Datalogi för E Övning 3

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

Exempeltentamen Datorteknik, EIT070,

Tentamen (Exempel) Datorteknik Y, TSEA28

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

Tentamen. Datorteknik Y, TSEA28

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl

CE_O1. Nios II. Enkla assembler-instruktioner.

Visual Basic, en snabbgenomgång

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

tentaplugg.nu av studenter för studenter

Datorhårdvaruteknik 1DV426 - Seminarie 1

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

Programmering i C, 7,5 hp

Tentamen. Datorteknik Y, TSEA28

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

Moderkortet Persondatorer Moderkortet Innehåll

Programmering och Programspråk. 7,5 högskolepoäng. Namn: (Ifylles av student) Personnummer: (Ifylles av student)

Cacheminne i en AMD Opteron Processor

Närliggande allokering Datorteknik

Några småsaker. switch break, continue, goto Kommentarer

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011,

CE_O3. Nios II. Inför lab nios2time

Inledande programmering med C# (1DV402) 85/2=42. OBS! Heltal 1 (13)

Transkript:

Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3 Datum: 05-10-22 Tid: 09:00-14:00 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C för MSDOS (utdelas). Bilagor: ASCII-tabell, Interrupt Examinator: Anders Arvidsson Telefon: 0707-76 28 86 Examinatorn besöker tentamen (efter ca halva skrivtiden). Uppgifterna redovisas direkt i frågebladet. Vid utrymmesbrist lämnas svar på separat ark, vilket då numreras och hänvisas till från uppgiftsbladet. Max poäng: 25 Betyg Poäng 3 10 4 15 5 20 1 (8)

Tentamensfrågor 1. Vad skrivs ut på skärmen då nedanstående program körs? #include <stdio.h> void main(void) { char tenta; int test; tenta = 251^247; test = 0x7FFF; test = test + 0b000000000000111; } printf("%d %d", (int)tenta, test); Svar: 12-32762 (2 p) 2. Vad kommer registren att innehålla för värde efter att nedanstående kod exekverats? Svara decimalt! Registervärdena betraktas som positiva heltal. (3 p) xor dx,dx mov al,#0ffh mov ah,#2 mov bx,ax shl bx,#1 mov cx,dx inc cx inc cx A: dec bx loop A add cx,#400 mul cx ax: 44656 (Låga 16 bit efter AX*CX) bx: 1532 (2FF vänsterskiftat ett steg (d v s en bit) - 2) cx: 400 (0 efter loop +400) dx: 4 (höga 16 bit efter AX*CX) 2 (8)

3. Skriv ett assemblerprogram som hjälper oss att göra en kryptering av text genom användning av Caesarkrypto. Programbeskrivning: Det som läses från tangentbordet skrivs ut på skärmen med en viss förskjutning (offset) i alfabetet. Vid programstart frågar programmet efter offset som sedan används för samtliga tecken. (D v s är offset = 3 och man trycker A så skrivs D ut.) Endast versaler och endast A Z krypteras, övriga tecken skrivs ut som de läses in. Blir tecknet efter tillägg av offset >Z börjar tecknen om från A. (D v s med offset = 3 blir ett Y till ett B.) Programmet avslutas vid tryck på Enter. Programmet ska demonstrera användning av blandad C och assembler genom att variabeldeklaration, utskrift av hjälptexten Ange offset: och inläsning av offset sker i C, medan resten (det som loopas tills Enter trycks) görs i assembler. Läs in offseten som en integer, men det inlästa talet får sedan konverteras till valfri typ (t ex vid kopiering till annan variabel eller register). Programmet ska delas upp i tydliga delar och kommenteras del för del så flödet enkelt går att följa. Komplettera med kommentering rad för rad om det krävs, vilket också ökar möjligheten till tröstpoäng om något syntaktisk fel gör koden felaktig. Interrupt och ASCII-tabell bifogas. Det kan vara smart att lösa uppgiften sist. (4 p) Lösningsförslag #include <stdio.h> int offset; void main(void) { printf("ange offset: \n"); scanf("%d", &offset); #asm ; Kopierar offset till dl (offset < 8 bit) mov dx,_offset ;dl innehåller offset ; Läser in tangent mloop: mov ah,#0 int #16H ;Vänta på och läs in tang ; Kollar om Enter för att avsluta cmp al,#13 ;Jfr med CR jz done ;Vagnretur hittad 3 (8)

; Kollar om tecken ska skrivas ut omodifierat cmp al,#'a' ;Compare tang med 'A' jb print ;If Below, skriv ut cmp al,#'z' ;Compare 'z' ja print ;If Above, skriv ut ; Lägger till offset på A - Z add al,dl ;Adderar offset cmp al,#'z' ;Kolla om vi hamnade utanför alfabetet jng print ;Skriv ut If Not Greater sub al,#'z'-'a'+1 ;Subtrahera annars hela alfabetet ; Förutsätter att offset < alfabetet ; Skriver ut tecken print: mov ah,#0eh ;Teletype mode mov bh,#0 ;Screenpage 0 mov bl,#1 ;Ger någon färg om grafikläge int #10H ;Skriv ut tecken (AL) jmp mloop done: #endasm } 4. Beskriv kortfattat kapslingstyperna QFP, PGA och BGA så att skillnaden mellan dem enkelt framgår och man inte riskerar förväxla dem med andra kapslar. (2 p) Plats för ev. skiss Samtliga är ungefär fyrkantiga. QFP är en kapsel för ytmontering där benen sitter i ytterkanten av alla fyra sidor. PGA har ben monterade under kapsel i flera rader med början från kapselns fyra ytterkanter och inåt. BGA har lödkulor fördelade över hela kapselns undersida. 4 (8)

5. Förklara hur en Heat Pipe fungerar, vad den används till och på vilket sätt den kan vara bättre än andra, mer traditionella, lösningar. (2 p) Plats för skiss: En Heat Pipe består av ett slutet rör med en mindre mängd vätska och vakuum. Det låga trycket gör att vätskan kokar vid en låg temperatur. När ena änden av röret blir varm förångas vätskan där för att sedan kondensera i andra änden under avgivande av värmen. Användningsområdet är effektiv värmetransport, t ex från processor till kylflänsar. Fördelen jämfört med att leda värmen genom t ex en kopparstav är att tekniken medger lägre termisk resistans vid samma vikt och volym. 6. Beskriv någon för- och nackdel med flyttal (float) jämfört med heltalsdatatyper (integer). Berätta också om någon risk som kan finnas med flyttal i t ex if-satser i C-kod. (2 p) Exempel på lösning: En fördel med float är att väldigt stora eller väldigt små tal kan lagras. En nackdel är att hanteringen tar längre tid. Vid if-satser måste man beakta att flyttal har en begränsad noggrannhet och att alla tal är ungefärliga, vilket gör att man måste ta med en viss felmarginal vid konstruktion av jämförelsesatser. 5 (8)

7. En AMD-processor kan t ex vara märkt 3800+. Vad innebär detta? (D v s vilken information kan vi utläsa?) Vad är orsaken till att AMD märker processorerna på detta sätt? (2 p) 3800+ innebär att processorn (enligt AMD) exekverar kod lika snabb som en (enligt AMD) motsvarande Pentium med klockfrekvensen 3800 MHz. Orsaken till att AMD inte skriver ut frekvensen är att många av deras processorer exekverar mer kod per klockcykel, vilket skulle det göra det svårt att jämföra prestanda genom att jämföra klockfrekvens. 8. Vad står förkortningarna SRAM och DRAM för och vad är den principiella skillnaden? (2 p) SRAM = Static Random Access Memory DRAM = Dynamic Random Access Memory Skillnaden är att SRAM håller minnet så länge spänningen är på, medan DRAM måste uppdateras med jämna mellanrum för att inte tappa innehållet. 9. Vad kallas de tre delar ett äldre chipset består av? (D v s före hub-arkitekturen.) Nämn också en uppgift respektive del tar hand om. (2 p) North Bridge; hanterar t ex RAM-minnet South Bridge; hanterar t ex ATA-gränssnittet Super I/O; hanterar t ex serie- och parallellport 10. Beskriv den principiella skillnaden mellan PCI och PCI Express (i sättet att överföra data till instickskorten). Beskriv också på vilka sätt i PCI Express uppträder i olika varianter beroende på bandbredd. (2 p) PCI överför data parallellt (32 eller 64 bitar) medan PCI Express överför data seriellt (genom ett differentiellt par). Genom att köra flera seriella kanaler parallellt kan man få snabbare versioner av PCI Express. T ex existerar 2x och 16x på många moderkort. 11. Två hårddiskar som ansluts till samma parallella ATA-kontakt måste konfigureras för master respektive slave (så de tar hand om rätt data). På vilka två fysiskt olika sätt är det som regel möjligt att göra denna konfigurering så att hårddiskarna vet om de är master eller slave? (2 p) Genom jumpers på hårddisken kan dessa konfigureras för master eller slave. Alternativt kan jumpern ställas i Cable Select, samtidigt som man använder en ATA-kabel där en tråd saknas till den ena hårddiskkontakten. Vilken som blir master eller slave beror då på i vilken kontakt respektive hårddisk sitter. 6 (8)

Bilagor Användbara interrupt INT 16H Function 00H Read Character from Keyboard. (Waits for keystroke) Register Call Value Return Value AH 00H Scan Code AL ASCII-Character Code (=0 if extended key) INT 10H Function 0EH Write Text in Teletype mode Writes an ASCII character to the display at the current cursor position, using the specified colour (if in graphics mode), then increments the cursor position. Register AH AL BH BL Call Value 0EH ASCII value screen page foreground color in graphics mode 7 (8)

8 (8)