powerpc practicum. introductie doel practicum = computers begrijpen leer de werking van een computer...
TRANSCRIPT
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
MEMORY
R0
R1
R2
R31
PC
LR
PPC CPU
CR0
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
81 2 4
.16 32 .
ec o d
0x1000
0x1004
0x1008
0x100C
0x1010
0x1014
Machten = 1004
Macht = 100C
Systeem
Jumptable:
Table: .word Macht, Som, Verschil
.align 4
Macht: … ; subroutine macht
blr
Som: … ; subroutine Som
Verschil: … ; subroutine Verschil
Systeem
?? ? ?
?? ? ?
?? ? ?
ec o d
0x1000
0x1004
0x1008
0x100C
0x1010
0x1014
Table = 1000
Macht = 100C
Som = 2008
Verschil = 4096
Systeem
c1 0 0
82 0 0
64 0 9
ec o d
0x1000
0x1004
0x1008
0x100C
0x1010
0x1014
Table = 1000
← adres ‘Macht’
← adres ‘Som’
← adres ‘Verschil’
Macht = 100C
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 RegisterBLRL ; 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.