PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer...

24
PowerPC Practicum

Transcript of PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer...

Page 1: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

PowerPC

Practicum

Page 2: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Introductie

Doel practicum = Computers begrijpen

Leer de werking van een computer door een emulator te bouwen.

Page 3: 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

Page 4: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Introductie

Informatie en Materiaal• http://www.pds.twi.tudelft.nl/vakken/in101/labcourse/

• Tutorial

• Assistenten

• Studenten

Page 5: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Systeem

MEMORY

R0

R1

R2

R31

PC

LR

PPC CPU

CR0

Page 6: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

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

Page 7: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Systeem

81 2 4

.16 32 .

ec o d

0x1000

0x1004

0x1008

0x100C

0x1010

0x1014

Machten = 1004

Macht = 100C

Page 8: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Systeem

Jumptable:

Table: .word Macht, Som, Verschil

.align 4

Macht: … ; subroutine macht

blr

Som: … ; subroutine Som

Verschil: … ; subroutine Verschil

Page 9: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Systeem

?? ? ?

?? ? ?

?? ? ?

ec o d

0x1000

0x1004

0x1008

0x100C

0x1010

0x1014

Table = 1000

Macht = 100C

Som = 2008

Verschil = 4096

Page 10: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

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

Page 11: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

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

Page 12: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Omgeving

• Terminal voor I/O

• I/O in Tutorial

• R0 NIET gebruiken

• Programma OK Omgeving OK

• Breakpoints / Step in handleiding

Page 13: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Inhoud Practicum

Deel A– Introductie– Subroutines– Recursie

Page 14: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Inhoud Practicum

Deel B– Ophalen van instructies– Decoderen / controleren– Executie voorbereiden

Page 15: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Inhoud Practicum

Deel C– Instructie Set– Test Programma

Page 16: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Aanpak

• Doe het tutorial

• Begin gewoon

• Vraag dingen

• Specificatie controleren voor coden

• Lees de aanwijzingen bij de opgaven

Page 17: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Aanpak

GOED:

• Overleggen

• Samenwerken

• Voorbeelden bekijken

• Vragen aan Assistenten

FOUT:

2 personen met 1 uitwerking

Page 18: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Aanpak

Hints Deel A

• LHA vs. LHZ bij -1

• Deel A klaar = ½ klaar!

Page 19: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Aanpak

Hints Deel B

• Bij PC > 1023 NIET stoppen

• Lookup Table

Page 20: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Aanpak

Hints Deel C

• Jumptable

• SAP/STAP assembler op website!

Page 21: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Goedkeuren

Specificatie

• Verduidelijkend

• NIET facultatief

• Algorithme formuleren

• GEEN implementatie-details

Page 22: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Goedkeuren

Commentaar:

Nuttig en Verduidelijkend:

FOUT:li R1, 0 ; R1 = 0

GOED: li R1, 0 ; Initialiseer Teller

Page 23: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Goedkeuren

Source Code

• Commentaar

• Netjes

• Uitprinten

• 1 source per persoon

Page 24: PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.

Goedkeuren

Test Programma:

Een aantal getallen optellen is NIET alleen twee getallen optellen.