240 likes | 468 Views
PowerPC. Practicum. Introductie. Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen. Introductie. Opzet college Introductie PowerPC Systeem Omgeving Opzet Practicum Hoe-haal-ik-het Eisen. Introductie. Informatie en Materiaal
E N D
PowerPC Practicum
Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.
Introductie Opzet college • Introductie • PowerPC Systeem • Omgeving • Opzet Practicum • Hoe-haal-ik-het • Eisen
Introductie Informatie en Materiaal • http://www.pds.twi.tudelft.nl/vakken/in101/labcourse/ • Tutorial • Assistenten • Studenten
Systeem PC R0 MEMORY R1 LR R2 CR0 PPC CPU R31
Systeem Geheugen - Labels ; Macht ; pre: R2 is exponent ; post: R1 is 2^exponent MACHTEN: .byte 1, 2, 4, 8, 16 .align 4 Macht: LBZ R1, MACHTEN(R2) ; laad 2^R2 uit tabel BLR
Systeem 0x1000 0x1004 0x1008 0x100C 0x1010 0x1014 Machten = 1004 Macht = 100C 1 2 4 8 16 32 . . c o d e
Systeem Jumptable: Table: .word Macht, Som, Verschil .align 4 Macht: … ; subroutine macht blr Som: … ; subroutine Som Verschil: … ; subroutine Verschil
Systeem 0x1000 0x1004 0x1008 0x100C 0x1010 0x1014 Table = 1000 Macht = 100C Som = 2008 Verschil = 4096 ? ? ? ? ? ? ? ? ? ? ? ? c o d e
Systeem Table = 1000 ← adres ‘Macht’ ← adres ‘Som’ ← adres ‘Verschil’ Macht = 100C 0x1000 0x1004 0x1008 0x100C 0x1010 0x1014 1 0 0 c 2 0 0 8 4 0 9 6 c o d e
Systeem ; R1 bevat nummer van type berekening ; 0 = macht; 4 = som; 8 = verschil. LWZ R2, Table(R1) ; pak adres uit ; Tabel MTLR R2 ; Zet in Link Register BLRL ; Ga naar die subroutine ; en update LR
Omgeving • Terminal voor I/O • I/O in Tutorial • R0 NIET gebruiken • Programma OK Omgeving OK • Breakpoints / Step in handleiding
Inhoud Practicum Deel A • Introductie • Subroutines • Recursie
Inhoud Practicum Deel B • Ophalen van instructies • Decoderen / controleren • Executie voorbereiden
Inhoud Practicum Deel C • Instructie Set • Test Programma
Aanpak • Doe het tutorial • Begin gewoon • Vraag dingen • Specificatie controleren voor coden • Lees de aanwijzingen bij de opgaven
Aanpak GOED: • Overleggen • Samenwerken • Voorbeelden bekijken • Vragen aan Assistenten FOUT: 2 personen met 1 uitwerking
Aanpak Hints Deel A • LHA vs. LHZ bij -1 • Deel A klaar = ½ klaar!
Aanpak Hints Deel B • Bij PC > 1023 NIET stoppen • Lookup Table
Aanpak Hints Deel C • Jumptable • SAP/STAP assembler op website!
Goedkeuren Specificatie • Verduidelijkend • NIET facultatief • Algorithme formuleren • GEEN implementatie-details
Goedkeuren Commentaar: Nuttig en Verduidelijkend: FOUT: li R1, 0 ; R1 = 0 GOED: li R1, 0 ; Initialiseer Teller
Goedkeuren Source Code • Commentaar • Netjes • Uitprinten • 1 source per persoon
Goedkeuren Test Programma: Een aantal getallen optellen is NIET alleen twee getallen optellen.