Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdSylvia Brouwer Laatst gewijzigd meer dan 10 jaar geleden
1
1 SOCS Hoofdstuk 3 Basisprogrammatuur
2
2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker Werking van vertolker Voor- en nadelen Toepassingen Het Speurprogramma Het Opstarten van de Computer
3
3 RAM Vertaling en Uitvoering HIA R0,A DRU OPT R0,B DRU STP A:10000 B:20000 Vertale r 1131000005 7299999999 2131000006 7299999999 9999999999 0000010000 0000020000 LaderVertalingsfaze Uitvoeringsfaze 1131000005 7299999999 2131000006 7299999999 9999999999 0000010000 0000020000
4
4 Vertolker HIA R0,A DRU OPT R0,B DRU STP A:10000 B:20000 Vertolke r 10000 30000 Engels: Interpreter Interpretatie = Vertaling + Uitvoering
5
5 Werking van een Vertolker Eerste Vertolkers Lijn per lijn inlezen: Vertaal Voer uit HIA R0,50 BIG R0,60 … Lees bevel Vertaal Berg in 0000 Voer uit (SPR 0000) 0000 5000 0001 … … 3221900000 … Vertolker
6
6 Werking van een Vertolker Eerste Vertolkers Lijn per lijn inlezen: Vertaal Voer uit HIA R0,50 BIG R0,60 … Lees bevel Vertaal Berg in 0000 Voer uit (SPR 0000) 0000 5000 0001 … … 3221900000 … Vertolker
7
7 Werking van een Vertolker Eerste Vertolkers Lijn per lijn inlezen: Vertaal Voer uit HIA R0,50 BIG R0,60 … Lees bevel Vertaal Berg in 0000 Voer uit (SPR 0000) 0000 5000 0001 … … 3221900000 … Vertolker 3221905000 1131000050 HIA R0,50 Deel v/h te vertolken programma SPR 5000
8
8 Werking van een Vertolker Eerste Vertolkers Lijn per lijn inlezen: Vertaal Voer uit HIA R0,50 BIG R0,60 … HIA R0,50 SPR 5000 Lees bevel Vertaal Berg in 0000 Voer uit (SPR 0000) 0000 5000 0001 … … 3221900000 … Vertolker 3221905000 1131000050 Deel v/h te vertolken programma3221905000 1131000050 3221900000
9
9 Werking van een Vertolker Eerste Vertolkers Lijn per lijn inlezen: Vertaal Voer uit HIA R0,50 BIG R0,60 … HIA R0,50 SPR 5000 Lees bevel Vertaal Berg in 0000 Voer uit (SPR 0000) 0000 5000 0001 … … 3221900000 … Vertolker 3221905000 1131000050 Deel v/h te vertolken programma3221900000 Enzovoort
10
10 Werking van een Vertolker Twee programma’s door elkaar uitgevoerd Stukje van de vertolker Stukje van het te vertolken programma Geen interferentie! Toepassing: Niet bij LPT Reeds vertaalde programma nodig Rekenen met bevelen Machinetaal (DRAMA, Java Bytecode, …) Hogere programmeertaal (C, Pascal, Perl, …)
11
11 Vertolker voor vertaalde programma’s Waarom? Programma is vertaald voor een doelcomputer Uitvoeren op gastcomputer Machinetaal doelcomputer machinetaal gastcomputer
12
12 Vertolker voor vertaalde programma’s Oplossing: Vertaalprogramma Machinetaal1 Machinetaal2 Soms geen tegenhanger, geen indexatie, geen auto-increment, … Voorbeeld: JIT-compilator (Java Bytecode) Vertolker (simulator) Gedrag doelcomputer nabootsen op gastcomputer Voorbeelden: DRAMA-simulator, JVM, …
13
13 Vertolker voor hogere programmeertaal Verschil met LPT: Niet rekenen met bevelen Variabelen via toekenning initiële waarde Voorbeeld: b = 3 * a; Inlezen Analyseren (lexicaal, syntactisch, semantisch) Simuleren HIA R0,A VER.w R0,3 BIG R0,B Uitvoering: 3 instructiesUitvoering: 10-tallen instructies
14
14 Voordelen Gemakkelijker te schrijven dan compilator Minder geheugenruimte nodig Zinvolle foutenboodschappen a = b / c; // c == 0 Machine-instructies niet kennen Vertolker zelf geschreven in HPT Kan uitgevoerd worden op elke machine waarvoor een vertaler beschikbaar is
15
15 Nadelen Uitvoering duurt langer Deel werk van vertaler overdoen Interpretatie vergt meer instructies Niet erg tijdens ontwikkeling van programma Programmalus Telkens opnieuw analyseren … Uitvoeringstijd vertolking Vertalingstijd + Uitvoeringstijd vertaalde programma Productiefaze: Tijd uitsparen door vertalen
16
16 Optimisaties Programma omzetten naar intermediaire code Eenvoudiger te analyseren/interpreteren Programma-fragmenten (lussen) vertalen Geen (her)interpretatie nodig
17
17 Toepassingen Nieuwe programmeertaal Vertolker in conventionele HPT Talen van zeer hoog niveau Permanent door vertolker Wat (I.p.v. Hoe) Bron-instructie zeer veel machinebevelen Poly-algoritmes Vertaaltijd << Uitvoeringstijd Voorbeeld: APL Dynamische programmeertalen Voorbeeld: LISP Manipuleren van lijsten (programma = zelf ook lijst)
18
18 Toepassingen Simulator Voor programma in machinetaal Bijv. om conversieproblemen tijdelijk op te lossen Emulator Gastcomputer aanpassen zodat hij zich gedraagt zoals de doelcomputer Simulator omzetten naar micro-code Invoer/uitvoer = moeilijkste om te emuleren Computer waarvan machinecode = HPT Pascal-machine, LISP-machine Vertolker voor die taal naar micro-code omzetten
19
19 Cursustekst Hoofdstuk 3: pag. 78 pag. 84
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.