Översikt Datorarkitekturer med operativsystem Erik Larsson Lund University / Electrical and Information Technology / 1 Förberedelser Översikt För att påbörja laboration, måste elektronisk dugga vara godkänd. Elektronisk dugga hittas på hemsidan och öppnar klockan 08:00 den 10:e september. Elektronisk dugga stängs efter 24 timmar. Ett antal frågor ska besvaras Om alla rätt, duggan godkänd. Om inte alla rätt, gör om duggan (OBS, 30 minuter senare) Lund University / Electrical and Information Technology / 2 Lund University / Electrical and Information Technology / 3
För denna laboration behövs: MipsIt.exe (för programutvecklingen) och Mips.exe (för simuleringen) Ladda ner MIPSIt (finns på hemsidan). Packa upp filen. Starta Mipsit.exe i mappen \bin. Ignorera popup-- fönstret med texten: "Failed to open COM-- port.... Spara filer i hemmakatalog. Lund University / Electrical and Information Technology / 4 Lund University / Electrical and Information Technology / 5 Build: F7 Ladda upp till simulator: F5 (obs, simulator måste vara igång) Klicka för att se och ändra register Klicka för att se och ändra minne Lund University / Electrical and Information Technology / 6 Lund University / Electrical and Information Technology / 7
set noreorder.text.globl start.ent start # Ändra inte instruktionernas ordning # Instruktioner skapas # start är en global symbol # Programmet börjar vid start start: li $8, 0x2 li $9, 0x3 add $10, $8, $9.end start # Markerar slutet på programkoden Lund University / Electrical and Information Technology / 8 Lund University / Electrical and Information Technology / 9 Översikt ADD -- Add Beskrivning: Adderar innehåll i två register och lagrar resultatet i ett register Operation: $d = $s + $t; ökar_pc (4); Syntax: add $d, $s, $t Encoding: 0000 00ss ssst tttt dddd d000 0010 0000 Lund University / Electrical and Information Technology / 10 Lund University / Electrical and Information Technology / 11
Laborationsuppgifter Laborationsuppgifter Uppgift 1: Skriv ett Assemblerprogram som implementerar uttrycket Z=(X+Y)*3. Låt X vara lagrat i minnet medan Y är lagrat i ett register. Uppgift 2: Skriv ett Assemblerprogram som implementerar detta: if X>Y then Z=X else Z=Y end Låt X, Y och Z vara lagrat i minnet. Uppgift 3: Skriv ett Assemblerprogram som implementerar: Summa=0; For I=1 to 10 begin Summa=Summa+2; End Uppgift 4: Skriv ett Assemblerprogram som implementerar N-- fakultet, dvs för N som input returneras 1*2*3*...*N. Uppgift 5: Skriv ett Assemblerprogram som beräknar hur många 1:or det finns i en given byte. Lund University / Electrical and Information Technology / 12 Lund University / Electrical and Information Technology / 13 Laborationsuppgifter Laborationsuppgifter Uppgift 3: Skriv ett Assemblerprogram som implementerar: Summa=0; For I=1 to 10 begin Summa=Summa+2; End Uppgift 4: Skriv ett Assemblerprogram som implementerar N-- fakultet, dvs för N som input returneras 1*2*3*...*N. Uppgift 5: Skriv ett Assemblerprogram som beräknar hur många 1:or det finns i en given byte. Uppgift 6: Skriv ett Assemblerprogram som beräknar största gemensamma delare (SGD). SGD är det största heltal tom delar alla talen, till exempel, SGD(12,18) = 6 (För mer detaljer, läs på Wikipedia: http://sv.wikipedia.org/wiki/ Största_gemensamma_delare) Lund University / Electrical and Information Technology / 14 Lund University / Electrical and Information Technology / 15
Översikt Redovisning En laborationsrapport ska lämnas in för laborationen. Alla medlemmar i gruppen måste signera försättsbladet för att bli godkänd. Genom att signera laborationsrapporten bekräftar du att rapporten är ditt eget arbete och att du har följt reglerna. Erik%Larsson Försättsblad för laborationsrapport Laborationsnamn: Laborationsnummer: Laboranter Namn(signatur): Namnförtydligande: Email: Telefon: Namn(signatur): Namnförtydligande: Email: Telefon: Genomattsigneraintygarduattduföljtreglernanedan: skalösassjälvständigtavvarjelaborationsgrupp Detärintetillåtetattgelaborationsresultatellerlaborationsrapport tillenannangrupp Detärintetillåtetattta,kopieraellerpånågotannatsättefterliknaen annangruppsresultatellerrapport Allagruppmedlemmarmåstetaaktivdelialladelaravlaborationen, detinkluderarattskrivaprogramkod,testaochfelsöka,genomföra experiment,skrivalaborationsrapportochdemonstrera(examinag tion).examinationenäralltidbaseradpåindividuellaresultat. Antal inlämnade sidor (inklusive försättsblad): 18%juni%2012 Lund University / Electrical and Information Technology / 16 Lund University / Electrical and Information Technology / 17 Redovisning Redovisning Försättsblad för laborationsrapport För att göra laborationer måste du följa följande regler: Laborationsuppgifter ska lösas självständigt av varje laborationsgrupp Det är inte tillåtet att ge laborationsresultat eller laborationsrapport till en annan grupp Det är inte tillåtet att ta, kopiera eller på något annat sätt efterlikna en annan grupps resultat eller rapport Alla gruppmedlemmar måste ta aktiv del i alla delar av laborationen, det inkluderar att skriva programkod, testa och felsöka, genomföra experiment, skriva laborationsrapport och demonstrera (examination). Examinationen är alltid baserad på individuella resultat. Lund University / Electrical and Information Technology / 18 Alla gruppmedlemmar måste ta aktiv del i alla delar av laborationen, det inkluderar att skriva programkod, testa och felsöka, genomföra experiment, skriva laborationsrapport och demonstrera (examination). Examinationen är alltid baserad på individuella resultat. Lämna in laboration med försättsblad där alla i gruppen signerat Laborationsnamn: Laborationsnummer: Laboranter Namn(signatur): Namnförtydligande: Email: Telefon: Lund University / Electrical and Information Technology / 19 Namn(signatur): Namnförtydligande: Email: Telefon: Genomattsigneraintygarduattduföljtreglernanedan: Erik%Larsson skalösassjälvständigtavvarjelaborationsgrupp Detärintetillåtetattgelaborationsresultatellerlaborationsrapport tillenannangrupp Detärintetillåtetattta,kopieraellerpånågotannatsättefterliknaen annangruppsresultatellerrapport Allagruppmedlemmarmåstetaaktivdelialladelaravlaborationen, detinkluderarattskrivaprogramkod,testaochfelsöka,genomföra experiment,skrivalaborationsrapportochdemonstrera(examinag tion).examinationenäralltidbaseradpåindividuellaresultat. Antal inlämnade sidor (inklusive försättsblad): 18%juni%2012
Datorarkitekturer med operativsystem Erik Larsson Lund University / Electrical and Information Technology / 20