Tentamen PC-teknik 5 p



Relevanta dokument
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

Tentamen PC-teknik 5 p Lösningar och kommentarer

PC-teknik, 5 p LABORATION FILHANTERING

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p Lösningar och kommentarer

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

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

HF0010. Introduktionskurs i datateknik 1,5 hp

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

Lösningar till tentamen i EIT070 Datorteknik

Tentamen den 17 mars 2016 Datorteknik, EIT070

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

Grundläggande datavetenskap, 4p

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

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

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

Lösningar till tentamen i EIT070 Datorteknik

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

Digitala System: Datorteknik ERIK LARSSON

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

Programmeringsteknik med C och Matlab

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

Enkla datatyper minne

Exempeltentamen Datorteknik, EIT070,

Lösningar till tentamen i EIT070 Datorteknik

Läsminne Read Only Memory ROM

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

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

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

Tentamen. Datorteknik Y, TSEA28

Att använda pekare i. C-kod

Digitalteknik och Datorarkitektur 5hp

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Kontrollskrivning Mikrodatorteknik CDT S2-704

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

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

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

*Pekarvärden *Pekarvariabler & *

Tentamen Grundläggande programmering

MESI i Intel Core 2 Duo

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

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

Övning från förra gången: readword

Mer datorarkitektur. En titt I datorn Minnen

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

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)

PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation

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

PROGRAMMERING-Java TENTAMINA

Introduktion till programmering och Python Grundkurs i programmering med Python

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

A-del motsvarande KS1

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

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

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Föreläsning 2. Operativsystem och programmering

Tentamen FYTA11 Javaprogrammering

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Processprogrammering och operativsystem Introduktion. Kursinformation. Varför operativsystem?

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Föreläsningsanteckningar till Konstruktionsmetoder

Programmera Avant 5 med PC mjukvara

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

Stack och subrutiner Programmeringskonventionen

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

Datorsystemteknik för E/D

Lösningsförslag till Tenta i Mikrodator

F5: Högnivåprogrammering

F5: Högnivåprogrammering

INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN

Tentamen den 18 mars svar Datorteknik, EIT070

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

PROGRAMMERING-JAVA TENTAMINA

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

Beijer Electronics AB 2000, MA00336A,

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Tentamen i EIT070 Datorteknik

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

Lösningsförslag till Tenta i Mikrodator

Swema 05. Bruksanvisning vers 1.01 MB

En kort text om programmering i C.

Exempelsamling Assemblerprogrammering

Tentamen ges för: Tentamensdatum: Tid:

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

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

Cache coherence hos multicoreprocessorer

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Det finns en hemsida. Adressen är

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Datorarkitekturer med operativsystem ERIK LARSSON

Transkript:

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. Program: Di2, Em3, Et3 Datum: 03-01-10 Tid: 08:00-13:00 Lokal: E102 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C för MSDOS (utdelas). Bilagor: Interrupt Examinator: Anders Arvidsson Telefon: 036-15 61 12, 0707-76 28 86 Examinatorn besöker tentamen. Uppgifterna redovisas direkt i frågebladet, eller på separat ark, vilka då ska 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. Studera C-koden nedan och besvara frågorna (som avser minnesinnehåll efter exekvering). int var1, var3, var3; var3 = 257; var1 = -1; var2 = var3 & 0xFF; var3 = var2 512; Beskriv minnesinnehållet i adressen som lagrar var1, i binär form. I adress för var1: 1111 1111 1111 1111 Vilket värde kommer var3 ha? Svara decimalt! var3: 513 (2 p) 2. Vad kommer registren att innehålla för värde efter att nedanstående kod exekverats? Svara decimalt! (3 p) mov al,#10 mov ah,#1 mov bx,#0 mov cx,#3 mov dx,#1 sub cx,dx jle U2 mov bx,#1 U2: xor dx,#3 ax: 266 bx: 1 cx: 2 dx: 2 2 (8)

3. Skriv ett program i C och assembler som läser in en textfil tenta.txt och sparar innehållet i en annan fil atnet.txt, men där ordningen på tecknen i filen kastas om, så att första bokstaven hamnar sist osv. Filen tenta.txt är 5 till 50 tecken lång, men exakta längden är okänd när du öppnar den. Ingen felhantering krävs då vi förutsätter att tenta.txt existerar och att atnet.txt inte gör det utan skapas av ditt program. Du får deklarera variabler för t ex mellanlagring av texten vid behov. Filerna ska stängas innan programmet avslutas. Kodningen ska ske i tydligt blockkommenterade avsnitt och delas in i subrutiner så att den blir lätt att följa. (Fungerande rutiner kan ge tröstpoäng även om programmet havererar.) Koden ska också kommenteras rad för rad. Program med uppenbart onödigt många instruktioner ger poängavdrag. All filhantering ska skrivas i assembler och ske med hjälp av bifogade interrupt. Uppgiften löses på separat ark. (Tips: Lös övriga uppgifter först.) (4 p) #include <stdio.h> char filename_tenta[]="tenta.txt"; //filnamn (ligger i samma katalog) char filename_atnet[]="atnet.txt"; //filnamn på fil att skriva till int filehandle; //Variabel som lagrar aktuellt filhandtag char filbuff_tenta[50]; //Sparar innehållet i tenta char filbuff_atnet[50]; //Sparar det som ska lagras i atnet int filesize; //Antal tecken i filen. char i; //index //Endast en fil är öppen åt gången, aktuell fil anges av filehandle void openfile_tenta(void) mov dx,#_filename_tenta ;dx pekar på filnamn mov ah,#03dh ;open file mov al,#0 ;read access int #21H ;DOS-interrupt mov _filehandle,ax ;spara filhandtag // Pga tillfälligt(?) hjärnsläpp hos examinator och assistent fanns // INT 21H Function 5BH, Create new File // ej med i bilagan, då Open File antogs skapa filen om den inte existerar. // Vid poängbedömning av uppgiften kommer hänsyn till detta givetvis tas. void createfile_atnet(void) // Skapar och öppnar filen för skrivning mov dx,#_filename_atnet ;dx pekar på filnamn mov cx,#0 ;write only (normal) mov ah,#05bh ;create new file int #21H ;DOS-interrupt mov _filehandle,ax ;spara filhandtag 3 (8)

void read_tenta(void) mov ah,#3fh ;Read file mov bx,_filehandle ;Fil som ska läsas mov cx,#50 ;Antal tecken som ska läsas mov dx,#_filbuff_tenta ;Adress där tecknen ska sparas int #21H ;DOS-int, funktion Read file mov _filesize,ax ;Antal tecken som lästes av sista sista int void write_atnet(void) mov ah,#40h ;Read file mov bx,_filehandle ;Fil som ska läsas mov cx,_filesize ;Antal tecken som ska läsas mov dx,#_filbuff_atnet ;Adress där tecknen läses int #21H ;DOS-int, funktion Read file void closefile(void) mov ah,#3eh ;Closefile mov bx,_filehandle ;Nummer på fil som ska stängas int #21H void flip_text(void) // Placerar första bokstaven sist for (i = 0; i < filesize; i++) filbuff_atnet[filesize-i-1] = filbuff_tenta[i]; void main(void) openfile_tenta(); read_tenta(); closefile(); flip_text(); createfile_atnet(); write_atnet(); closefile(); getchar(); 4. Beskriv den huvudsakliga skillnaden mellan mikroprocessorarkitekturerna Harvard och von Neumann, samt hur dessa båda kombineras i Pentium-processorerna. (Tips: Cache L1 respektive L2.) (2 p) Harvard: Separat program och dataminne. von Neumann: Instruktioner och data ligger om vartannat i samma minne. Pentium är utåt sett en von Neumann arkitektur, men internt en Harvardarkitektur. I cache L2 lagras instruktioner och data om vartannat precis som i övriga RAM, men L1 är uppdelat på två minnen, en del för data och en för instruktioner. 4 (8)

5. Vad är en prefetch queue och vad är motivet till att man implementerar en sådan? Beskrivningen av motivet ska redogöra för hur det kommer sig att önskad effekt kan uppnås. (2 p) Bus Interface Unit hämtar instruktioner som förmodligen kommer att exekveras och lägger dem i prefetch queue. Detta gör att exekveringen går snabbare eftersom det tar lång tid att hämta nästa instruktion ur minnet. (Om instruktioner redan hämtats så fort bussen blivit ledig sparas tiden för minnesaccess.) 6. Beskriv skillnaden mellan SRAM och DRAM, samt varför båda typerna används i en PC. (2 p) SRAM består av en transistorvippa, medan minneselementet i DRAM består av en kondensator. Då kondensatorn självurladdas måste den läsas och återskrivas med jämna mellanrum (memory refresh). DRAM är långsammare än SRAM, men eftersom minneselementet tar mindre plats blir minnet billigare och används till större delen av RAM, medan SRAM används till cacheminne. 7. Redogör för skillnaderna mellan PCI och AGP. Det ska t ex framgå varför den ena kan vara betydligt snabbare än klockfrekvensen anger. (2 p) PCI är en buss som kan ansluta många enheter, medan AGP slipper dela tiden med någon annan, dock kan det bara finnas en i datorn. AGP gör ofta flera överföringar per klockcykel vilket innebär att t ex 66 MHz AGP 4x är 8 ggr snabbare är motsvarande 33 MHz PCI. 8. Vad avses med begreppet firmware? (1 p) Ett program som lagras i en krets, t ex i ett EPROM. 9. Vilken av följande minnestyper kan skrivas (brännas) en gång, men aldrig raderas? Ringa in rätt svar. (1 p) Flash EPROM EPROM EEPROM PROM ROM 5 (8)

10. Beskriv tre principiellt olika saker som BIOS utför. (2 p) Exempel på svar: 1) Bootprogram för datorn 2) Setupprogram för inställningar 3) Drivrutiner för t ex grafik 11. COM-porten ska användas för att föra över en 10 MByte fil från en dator till en annan. Porten är inställd på 115 kbit/s. Beräkna tiden det tar att föra över filen. Vissa uppskattningar måste göras. Redovisa beräkningar. (2 p) 10 MByte 80 Mbit För varje byte behövs även minst en start- och en stoppbit. 100 000 000 bit ska alltså överföras. 100 000 000 / 115 000 870 s 15 minuter Svar: Överföringen tar ungefär 15 minuter. 12. Redogör för hur RAID kan användas för att öka hastighet eller säkerhet när två hårddiskar ansluts till en dator. (2 p) Level 0, Striping Två hårddiskar (i exemplet) körs parallellt för dubblad lagringskapacitet och högre överföringshastighet, då data skrivs omväxlande till respektive disk. Level 1, Mirroring Samma data skrivs till båda hårddiskarna så den ena fungerar som bakup om den andra havererar. 6 (8)

Bilagor Användbara interrupt INT 21H Function 3DH Open File This function opens the file specified by the ASCII string at the pointer DS:DX. The string must be terminated with a zero. A 16-bit handle is returned. Register Call Value Return Value AH 3DH AL access mode (bit 0-1) 00=read access 01=write access 10= read/write access DS:DX pointer to the file name AX If function successful: File handle If function failed: Error code Error code 2 = file not found 3= path not valid (there are more error codes available) INT 21H Function 3EH Close File This function closes the file which handle was returned by a successful open (function 3DH) or create (3CH). Register Call Value Return Value AH 3EH BX file handle AX error code 6 if handle invalid or not open Carry flag clear on success set on error 7 (8)

INT 21H Function 3FH Read File or Device This function transfers data from the file specified by the handle in BX to a buffer pointed to by DS:DX. If the carry flag was returned clear, but AX=0 then the file pointer was already at the end of the file. Register Call Value Return Value AH 3FH BX file handle CX number of bytes to be read DS:DX segment:offset address of buffer area AX Number of bytes read (CF clear) Error code: (CF set) 5 access denied 6 handle invalid INT 21H Function 40H Write to File or Device Given a handle from a successful open or create (3DH, 3CH, 5AH, or 5BH) and the pointer to a buffer, this function will transfer data from the buffer to the file. Register Call Value Return Value AH 40H BX file handle CX number of bytes to write DS:DX segment:offset of buffer area AX Number of bytes written (If CF clear) Error code (CF set) 5 access denied 6 handle invalid 8 (8)