1/1/ / faculty of Computer Science eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(2): Vertalen.

Slides:



Advertisements
Verwante presentaties
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Advertisements

PSD Basisstructuren programmeren.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(2): Instructietypen.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.
Hoofdstuk 1 Programmeren.
1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.1.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 8(1): Het Operating.
Hoofdstuk 8: Recursie.
Inleiding Software Engineering Universiteit AntwerpenBetrouwbaarheid 2.1 Ontdek de 7 verschillen.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur EIT OGO-1.2 addendum (2): Geheugens en timing in.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Instructieformaten adressering assembleertalen (zelfstudie.
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 2(2): Instructieformaten adressering assembleertalen.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Informatica Universiteit AntwerpenScripting 5.1 Informatica 1rste BAC Biologie Hoofdstuk 5 Scripting.
Hoofdstuk 1 Programmeren.
Implementatietechnieken voor logische programmeertalen
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(1): Instructietypen (1)
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 8(2): Multi-processing.
1Ben Bruidegom A Harvard Machine Calculator Calculator  Computer.
1 Woudschotenconferentie 2006 Ben Bruidegom AMSTEL-instituut Universiteit van Amsterdam NLT-module Digitale Techniek Ontwerpen van digitale schakelingen.
Frank Stalpers en Ad Baars
Algoritmen en Datastructuren (ALDAT) EVMINX4 Dagdeel 2.
GESPRG Les 8 Gestructureerd programmeren in C. 101 Array Meerdere variabelen van hetzelfde type kun je samennemen in één array variabele. Stel in een.
Zelfgemaakt datatype voor bomen nMet functies data Tree a = Bin (Tree a) (Tree a) | Leaf a foldTree :: Tree a  b foldTree (b,lf) (Bin le ri) = b (foldTree.
DB&SQL8- 1 VBA Visual Basics for Applications: eigen Office versie vanaf Office2000 gelijk voor alle applicaties Programmeren onder meer nodig voor Het.
Visual Basic.Net - Overzicht
From computer power and human reason. Joseph Weizenbaum.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 2 - onderwerpen Herhaling instructieset en.
Computerarchitectuur
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  D3EEMS1  programmed I/O: de.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 3 - onderwerpen Het.
KPRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Les 2 sheet 1 Wat gaan we doen:  Een (vaste) melodie.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Het ARM bord met wat library functies.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  basis files: ram-rom.zip.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Security Technology PICT les 1
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen seriele interface (UART -
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
1/1/ / faculty of Electrical Engineering eindhoven university of technology PGO opdracht trim. 1.2, week 1: Digitaal/Analoog, maar dan digitaal… A.C. Verschueren.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (1)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (2)
TOPIC O: Pointers | pag. 1 Pointer = adres in het geheugen, is zelf geen geheugen! Expliciet geheugen aanvragen vóór gebruik.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 9(2): Virtual.
Taaltheorie en Taalverwerking Parsing Continued. Totnutoe: Top-Down-Parser.
1Security Technology PICT les 1 ICT Techniek - les 7 - onderwerpen Operating Systems n Waarom een OS? n Soorten n Taken n Opbouw n Processen.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 5 Herhaling, game object interactie. Ball class class Ball { Texture2D colorRed, colorGreen, colorBlue; Texture2D currentColor; Vector2 position,
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.1 Peter Kramer Mail:
Hoofdstuk 3 - Conditionele logica
tircms02-p les 1 Operating Systems practicum
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Programmeren woensdag 4 oktober 2017.
Small Basic Console deel 2
Wat gaan we doen? Herhaling ARM assembler instructies
Transcript van de presentatie:

1/1/ / faculty of Computer Science eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(2): Vertalen van hogere talen

1/1/ / faculty of Computer Science eindhoven university of technology Hogere talen op de processor Interpreter: Simuleert een machine die het gegeven programma direct uitvoert. –Programma loopt direct; maar loopt traag. –Oudere Basic versies (niet VBasic), Scripttalen Compiler: Vertaalt gegeven programma naar de taal van de machine die het moet uitvoeren. –Programma moet eerst vertaald worden; maar loopt sneller. –C/C++, Pascal, VBASIC, Fortran/Cobol

1/1/ / faculty of Computer Science eindhoven university of technology *.javajavac*.class java Hardware ASM504*.asm *.hex Compiler Interpreter

1/1/ / faculty of Computer Science eindhoven university of technology Vertalen van hogere talen: Eerst programma nodig dat tekst leest en structuur ervan reconstrueert (Parser) Vertaling door op een systematische manier programma-constructies te vertalen en te combineren –Student-compiler: snel, maar niet zo heel efficiënte code –Professionele compiler: langzaam, maar betere code Meestal eerst student-compiler; later prof. compiler

1/1/ / faculty of Computer Science eindhoven university of technology Vertaling eenvoudige programma’s: x:=e if g then S1 else S2 ‘bereken e’ (zeg in A) else00x: verder00x: ‘bereken g’ (zeg in C) JNC else00x ‘vertaling S1’ AJMP verder00x ‘vertaling S2’

1/1/ / faculty of Computer Science eindhoven university of technology Vertaling eenvoudige programma’s: while00x: ‘bereken g’ (zeg in C) JNC exit00x ‘vertaling S’ AJMP while00x exit00x: while g do S S1;S2 ‘vertaling S1’ ‘vertaling S2’

1/1/ / faculty of Computer Science eindhoven university of technology Berekenen van expressies: Modulaire opzet: –Voor elke operator één subroutine. –Alle subroutines dezelfde invoer-uitvoer locaties (API) In verband met recursie alles op een stack (de rekenstapel; meestal niet de call-stack)

1/1/ / faculty of Computer Science eindhoven university of technology Uitrekenen van expressie e: Als e=c (constante)Zet c op rekenstapel Als e=x (variabele)Kopier x naar rekenstapel Als e=f(e 1,…,e n )‘Bereken e 1 ’ … ‘Bereken e n ’ Call f NB: Schrijf +(e 1,e 2 ) i.p.v. e 1 +e 2 etc.

1/1/ / faculty of Computer Science eindhoven university of technology PUSH math,7 math,7 ‘bereken ² (3) ’ ‘bereken x’ CALL minus CALL plus ‘bereken 7’ ‘bereken -( ² (3),x) ’ CALL plus PUSH math,7 ‘bereken 3 ’ CALL sqr MOV CALL minus CALL plus PUSH math,A PUSH math,7 PUSH math,3 CALL sqr MOV CALL minus CALL plus PUSH math,A (stel x=3) Voorbeeld: 7+(3²-x) Dus +(7,-( ² (3),x)) PUSH math,7 CALL sqr PUSH math,3 MOV PUSH math,A CALL minus CALL plus

1/1/ / faculty of Computer Science eindhoven university of technology Torens van Hanoi:

1/1/ / faculty of Computer Science eindhoven university of technology Recursieve procedures: Voor het aanroepen: argumenten op stack Tijdens het aanroepen: return adres op stack Na het aanroepen: locale variabelen op stack (vaak ook nog een Frame-Pointer, FP)

1/1/ / faculty of Computer Science eindhoven university of technology procedure towers(n,i,j:integer); var k:integer; begin if (n=1) writeln(‘from ‘,i,’ to ’,j) else begin k:=6-i-j; towers(n-1,i,k); towers(1,i,j); towers(n-1,k,j) end end Procedure voor Torens van Hanoi

1/1/ / faculty of Computer Science eindhoven university of technology n=3n=3 i=1i=1 j=3j=3 ReturnReturn Old FPOld FP k=2k=2 De stack tijdens recursie (Hanoi) 1000 n=2n=2 i=1i=1 j=2j=2 ReturnReturn FP=1000FP=1000 k=3k= address FP n=1n=1 i=1i=1 j=2j=2 ReturnReturn FP=1024FP=1024 k 1048 n=1n=1 i=1i=1 j=3j=3 ReturnReturn FP=1024FP=1024 k

1/1/ / faculty of Computer Science eindhoven university of technology Optimaliseringen: Geavanceerder: Constante expressies geheel van te voren berekenen. Eenvoudige aritmetiek rechtstreeks vertalen. Registers gebruiken bij eenvoudige (deel)berekeningen. Niet gebruikte berekeningen niet uitvoeren. x:=c x:=x+1