Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C för MSDOS (utdelas). Bilagor: Interrupt, ASCII-tabell 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 (6)
Tentamensfrågor 1. Studera C-koden nedan. { int test; test = (33 ^ 10) & 7; } Vad kommer test innehålla efter att koden exekverats? Svara decimalt. Svar: 3 (2 p) 2. Vad kommer registren innehålla för värde efter att nedanstående kod exekverats? Svara decimalt! (3 p) mov al,#2 mov ah,#1 mov bx,#1 mov cx,#2 mov dx,#511 add al,dl jc U2 mov bx,#2 U2: or dx,#512 and cx,bx ax: 257 bx: 1 cx: 0 dx: 1023 2 (6)
3. Skriv ett assemblerinlägg i main() nedan så att programmet läser tecken från tangentbordet men vid alla tangenttryckningar bara skriver ut * på skärmen. Programmet ska avslutas vid tryck på q. (Programmet har ingen meningsfull funktion, men kan t ex vara en början till inläsning av lösenord.) Se bilaga för nyttig dokumentation. Inga variabler får deklareras. Skriv koden på separat ark. (3 p) #include <stdio.h> void main(void) { } Lösning: Se liknande uppgift i tentamen 2003-10-13 4. En Intel 8088 hade bara 8 bitars databuss, medan 8086 hade 16 bitars databuss. På vilket sätt påverkar bussbredden exekveringen? (D v s har den att göra med: möjligt adresserbart minne, hastighet, hur stora tal som kan adderas eller något annat?) (2 p) Minnesaccessen blir snabbare då processorn kan hämta fler byte åt gången. 5. Nu säljs processorer med över 100 miljoner transistorer per chip. För ett par år sedan var det 50 miljoner och något år före det 25 miljoner. Utvecklingen har gått i ungefär samma hastighet de senaste 30 åren och följer en kurva som förutspåddes av en av Intels grundare. Vilket begrepp, som förutsäger utvecklingen, myntade denna man? (2 p) Svar: Moores lag 6. En processor kan exekvera instruktioner med hjälp av random logic eller mikrokod. Beskriv kortfattat skillnaden. (2 p) Om random logic används exekveras instruktionerna genom att operationskoden ställer in ett antal grindar och vippor på ett sådant sätt att önskat resultat fås. I en mikrokodad processor körs instruktionen som ett flertal mindre instruktioner inne i processorn (vilket tar flera klockcykler). 3 (6)
7. Förklara, genom att kort redogöra för dess uppbyggnad, varför SRAM är dyrare än DRAM. (2 p) I SRAM består varje minnescell av en vippa bestående av 6 transistorer. DRAM-cellen består av en kondensator som styr av en transistor. De färre antalet komponenter per bit gör att DRAM tar mindre kiselyta => billigare minne. 8. Vad avses med virtuellt minne och när används det? (2 p) Virtuellt minne är ett minnesareor på hårddisken där data som inte får plats i RAM sparas. När RAM-minnet inte räcker för alla program sparar operativsystemet tillfälligt undan data på dessa ytor (som har mycket långa accesstider). 9. Vad är ett chipset och hur kan detta påverka PC:ns prestanda? (2 p) Chipset är de komponenter på moderkortet som kopplar samman processorn med RAM och expansionsbussar, samt I/O. Chipsetet avgör t ex vilken minneshastighet och minneskonfiguration som kan användas och vilken grafikprestanda som kan uppnås (då hastigheten AGP avgörs av chipsetet). (Dessutom innehåller chipsetet idag funktioner för energisparfunktioner mm.) 10. En parallellport kan finnas i lite olika utföranden, och speciellt vid anslutning av ett tillbehör (t ex en scanner) till en äldre dator kan detta vara värt att beakta. Vad kan skilja mellan olika parallellportar? (2 p) Främsta skillnaden finns mellan äldre enkelriktade och nyare dubbelriktade portar. (Vissa tillbehör kräver dubbelriktad port.) Även hastighet och möjlighet att använda IRQ och DMA skiljer. (Även på nyare datorer kan porten behöva konfigureras för att passa tillbehöret.) 11. Hårddiskar anslutna med RAID kan ge olika fördelar beroende på om Mirroring eller Striping används. Vilka fördelar vill man uppnå med respektive metod och hur lagras data om respektive metod väljs? (3 p) Mirroring ökar säkerheten genom att samma data kopieras till båda hårddiskarna parallellt. Detta förhindrar databortfall vid diskkrasch (men inte vid brand, stöld, virus mm ). Striping innebär att data kopieras än till ena än till andra hårddisken, så att båda hårddiskarna innehåller var sin del av datat och därigenom kan läsas snabbare (då hårddiskarna arbetar parallellt men levererar dubbla datamängden jämfört med en disk). 4 (6)
Bilagor Några 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 Call Value Return Value AH AL BH BL 0EH ASCII value screen page foreground color in graphics mode 5 (6)
6 (6)