PowerPC
description
Transcript of PowerPC
PowerPCPracticum
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 tabelBLR
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 4Macht: … ; subroutine macht
blrSom: … ; subroutine SomVerschil: … ; 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 AssistentenFOUT: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.