De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader  De absolute lader  De relocerende lader  Dynamische relocatie.

Verwante presentaties


Presentatie over: "1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader  De absolute lader  De relocerende lader  Dynamische relocatie."— Transcript van de presentatie:

1 1 SOCS Hoofdstuk 3 Basisprogrammatuur

2 2 Inhoud De Vertaler De Voorvertaler De Lader  De absolute lader  De relocerende lader  Dynamische relocatie De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer

3 3 Lader Lader RAM Uitvoerbaar programma (machinetaal)

4 4 Lader RAM Lader

5 5 Verantwoording Nodig? Vertaler?  Vertalen  Uitvoeren Telkens opnieuw! Tijd!  | Vertaler | > | Lader | Minder geheugen beschikbaar RAM Vertale r HIA R0,A DRU OPT R0,B DRU STP A:10000 B:20000

6 6 Verantwoording RAM Vertale r HIA R0,A DRU OPT R0,B DRU STP A:10000 B: Schijf

7 7 Verantwoording RAM Lader

8 8 Lader Deel van het besturingssysteem  Zie ook opstarten van een computer Verschillende Lader-algoritmes  Absolute Lader  Relocerende Lader Extra Apparatuur  Dynamische adresvertaling

9 9 Absolute Lader Uitvoerbaar programma ongewijzigd in geheugen Meest elementaire geval  Programma steeds vanaf adres 0000 geladen  Programma in invoerorgaan  Eerste getal = lengte van het programma  Lader geladen vanaf adres … … symb.tabel … Lengte aanduiding 145 bevelen/constanten

10 10 Absolute Lader Algoritme:  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering … R1

11 11 Absolute Lader Algoritme:  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R … R1

12 12 Absolute Lader Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1, … R1

13 13 Absolute Lader Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2, … R1

14 14 Absolute Lader Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start … R1

15 15 Absolute Lader Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) … R1

16 16 Absolute Lader Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2, … R1

17 17 Absolute Lader Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS … R1

18 18 Absolute Lader Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS EINDPR … R1

19 19 Absolute Lader Simulator? Truukjes  Zelf lengte aanduiding toevoegen  Invoer uit bestand -invoer bestandsnaam  Lader vanaf 9000? | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS EINDPR

20 20 Absolute Lader Simulator? Truukjes  Zelf lengte aanduiding toevoegen  Invoer uit bestand -invoer bestandsnaam  Lader vanaf 9000! | Absolute lader LEZ | Lengte HIA R2,R0 HIA.w R1,0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS EINDPR SPR LAD XXX: RESGR 8999 LAD:

21 21 Absolute Lader Verfijning  Programma NIET ALTIJD vanaf adres 0000 geladen  Meerdere programma’s in het geheugen! Probleem  Adressen kloppen niet  Vertaler  symbooltabel (PT = 0)

22 22 Absolute Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 …  A B A B  A B A B  A B A B

23 23 Absolute Lader Lader kan programma niet wijzigen Oplossing:  Vertaler moet correcte adressen genereren  Programmeur  Vertaler: “Te laden vanaf XXX” LAADGR laadadres  Vertaler-directief LAADGR laadadres  Vertaler:  Stap 1: PT  Laadadres (i.p.v. 0)  Stap 2: Lengte en Laadadres in uitvoerbaar programma

24 24 Absolute Lader LAADGR 300 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR #symbolen 0304 A B 0305 Lengte  Laadadres  Hoofding Programma- code Symbool- tabel Bronprogramma Uitvoerbaar programma

25 25 Absolute Lader LAADGR 300 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 LAADGR 100 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR … … … Vertale r

26 26 Absolute Lader  A B A B  A B A B  A B A B … … … Lade r

27 27 Absolute Lader Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen  Start uitvoering | Absolute Lader | Aantal  R2 | Adres  R1 LEZ | Lengte HIA R2,R0 LUS: VGL.w R2,0 VSP KLG,0 | Start LEZ | Instr BIG R0,0(R1+) AFT.w R2,1 SPR LUS EINDPR LEZ | Laadadres HIA R3,R0  Laadadres inlezen (begin bij Laadadres)  Sprong  Laadadres | Laadadres  R3 HIA R1,R0 (R3)

28 28 Relocerende Lader Absolute lader:  Programmeur moet vóór vertaling laadadres kennen Vertaler  Lader: “Hoe adressen aanpassen”  Relocatietabel relatief adresbewerking  relatief adresbewerking

29 29 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 Lengte  Laadadres  #symbolen 0004 A B 0005 #relocatie +#LAADADRES# #LAADADRES# +#LAADADRES# #LAADADRES#

30 30 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 Vertaler (1ste stap): Symb. Adres Abs. Adres A4 B5

31 31 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 0 PT PT 1 LT LT Symb. Adres Abs. Adres A4 B5 Vertaler (2de stap): #LAADADRES#

32 32 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 1 PT PT 2 LT LT Symb. Adres Abs. Adres A4 B #LAADADRES# #LAADADRES# #LAADADRES# Vertaler (2de stap):

33 33 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 2 PT PT 3 LT LT Symb. Adres Abs. Adres A4 B #LAADADRES# #LAADADRES# #LAADADRES# #LAADADRES# Vertaler (2de stap):

34 34 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 3 PT PT 4 LT LT Symb. Adres Abs. Adres A4 B #LAADADRES# #LAADADRES# #LAADADRES# #LAADADRES# Vertaler (2de stap):

35 35 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 4 PT PT 5 LT LT Symb. Adres Abs. Adres A4 B #LAADADRES# #LAADADRES# #LAADADRES# #LAADADRES# Vertaler (2de stap):

36 36 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 5 PT PT 6 LT LT Symb. Adres Abs. Adres A4 B #LAADADRES# #LAADADRES# #LAADADRES# #LAADADRES# Vertaler (2de stap):

37 37 Vertaler  Relocerende Lader HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR 1 6 PT PT 6 LT LT Symb. Adres Abs. Adres A4 B #LAADADRES# #LAADADRES# #LAADADRES# #LAADADRES# Vertaler (2de stap):

38 38 Vertaler  Relocerende Lader 6 PT PT Symb. Adres Abs. Adres A4 B #LAADADRES# #LAADADRES# #LAADADRES# #LAADADRES# #symbolen 0004 A B 0005 #relocatie +#LAADADRES# #LAADADRES# +#LAADADRES# #LAADADRES#

39 39 Relocerende Lader Twee stappen:  Stap 1:  Uitvoerbaar programma letterlijk  geheugen  Stap 2: Relocatie-stap:  Adressen aanpassen

40 40 Relocerende Lader #symbolen 0004 A B 0005 #relocatie +#LAADADRES# #LAADADRES# +#LAADADRES# #LAADADRES# Stap Laadadres = 0300

41 41 Relocerende Lader #symbolen 0004 A B 0005 #relocatie +#LAADADRES# #LAADADRES# +#LAADADRES# #LAADADRES# Stap 2Laadadres = 0300

42 42 Relocerende Lader #symbolen 0004 A B 0005 #relocatie +#LAADADRES# #LAADADRES# +#LAADADRES# #LAADADRES# Stap 2Laadadres = =

43 43 Relocerende Lader #symbolen 0004 A B 0005 #relocatie +#LAADADRES# #LAADADRES# +#LAADADRES# #LAADADRES# Stap 2Laadadres = =

44 44 Relocerende Lader LAADGR 300 HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR … Vertale r

45 45 Relocerende Lader Voordelen:  Programmeur  NIET laadadres opgeven  Keuze uitgesteld tot uitvoeringstijd  Vertaalde progr. kan om het even waar geladen Gevolgen vertaler:  Kleine uitbreiding 2de stap = Statische Relocatie  Relocatie eenmaal, vóór uitvoering

46 46 Dynamische Relocatie Hardware aanpassen:  Geheugenbeheereenheid (GBE) Memory Management Unit (MMU) Dynamische Relocatie:  Adressen aangepast TIJDENS uitvoering Vergelijk:  Indexatie: adres tijdens uitvoering berekend  Dyn. Relocatie: alle adressen herberekend

47 47 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR ophalen

48 48 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR READ ophalen

49 49 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0300 READ GBR ophalen

50 50 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR ophalen

51 51 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR analyseren

52 52 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0304 READ GBR analyseren

53 53 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0304 READ analyseren GBR

54 54 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR analyseren

55 55 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR uitvoeren

56 56 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR uitvoeren

57 57 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR ophalen

58 58 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0301 READ GBR ophalen

59 59 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0301 READ GBR ophalen

60 60 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR ophalen

61 61 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR analyseren

62 62 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR uitvoeren

63 63 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR ophalen

64 64 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0302 READ GBR ophalen

65 65 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0302 READ GBR ophalen

66 66 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR ophalen

67 67 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR analyseren

68 68 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR uitvoeren

69 69 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0305 WRITE GBR uitvoeren

70 70 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR uitvoeren

71 71 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR ophalen

72 72 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0303 READ GBR ophalen

73 73 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR 0303 READ GBR ophalen

74 74 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR ophalen

75 75 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR analyseren

76 76 CVO Besturingsorgaan Dynamische Relocatie HIA R1,A OPT.w R1,B-A BIG R1,B STP A: 10 B: RESGR BT BR OR R1 GBE br 0300 RAMGAR GBR uitvoeren

77 77 Dynamische Relocatie  Inhoud Basisregister = constant  Adresvertaling transparant Indexatie  Inhoud Indexregister  constant  Adresberekening zichtbaar in instructie

78 78 Dynamische Relocatie Statische Relocatie  Geladen vanaf 0300 Dynamische Relocatie  Geladen vanaf 0300 MAIN: HIA.a R0,MAIN DRU STP EINDPR Uitvoer Programma lijkt geladen vanaf 0000

79 79 Dynamische Relocatie Geheugenbeheer-eenheid en de programmeur  Machine-instructies  Invullen van basisregister  In- en uitschakelen van GBE  HIB  HIB = Haal In Basisregister  HIB1234  HIB1234| br  1234  SGI  SGI = Spring en schakel GBE In  SGI1234  SGI1234| GBE in; BT  1234  SGU  SGU = Spring en schakel GBE Uit  SGU 1234  SGU 1234| GBE uit; BT  1234

80 80 Dynamische Relocatie Gevolgen voor vertaler  Programma geladen vanaf 0000  Geen relocatietabel Gevolgen voor lader  ± Absolute Lader  Invullen basisregister  GBE inschakelen

81 81 Dynamische Relocatie Laadadres is bepaald Algoritme  Lengte inlezen  Opeenvolgende getallen inlezen  opeenvolgende geheugenplaatsen (begin bij laadadres)  Start uitvoering | Lader (± Absolute Lader) | Aantal  R2 | Adres  R1 | Laadadres  R3 (bepaald!) LEZ | Lengte HIA R2,R0 HIA R1,R3 LUS: VGL.w R2,0 VSP KLG,GBE LEZ | Instr. BIG R0,0(R1+) AFT.w R2,1 SPR LUS | br  laadadres, GBE in GBE: HIB 0(R3) SGI 0  Laad basisregister  Schakel GBE in

82 82 Cursustekst Hoofdstuk 3: pag. 45  pag. 62


Download ppt "1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader  De absolute lader  De relocerende lader  Dynamische relocatie."

Verwante presentaties


Ads door Google