1 / 157

SOCS

SOCS. Hoofdstuk 1 Computerarchitectuur. Computerarchitectuur. Uitgangspunt: Computer Logische bouwstenen Werking/mogelijkheden/beperkingen Primitieve Opdrachten. Inhoud. Basisstructuur Inleiding tot C Modelcomputer DRAMA Programma´s voor DRAMA. 1.1 Basisstructuur.

rona
Download Presentation

SOCS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SOCS Hoofdstuk 1 Computerarchitectuur

  2. Computerarchitectuur • Uitgangspunt: • Computer • Logische bouwstenen • Werking/mogelijkheden/beperkingen • Primitieve Opdrachten

  3. Inhoud • Basisstructuur • Inleiding tot C • Modelcomputer DRAMA • Programma´s voor DRAMA

  4. 1.1 Basisstructuur Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) Centraal GeheugenMain Memory UitvoerorgaanOutput Device InvoerorgaanInput Device HulpgeheugensSecondary Memory

  5. Toetsenbord • Muis, stuurpook • Ponskaart-, ponsbandlezer • Lichtpen • Digitaliseertafel • Microfoon • Camera • Sensor, Meettoestel Invoerorgaan Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) Centraal GeheugenMain Memory UitvoerorgaanOutput Device InvoerorgaanInput Device Gegevens programma HulpgeheugensSecondary Memory

  6. Beeldscherm (monitor) • Drukapparaten • Tekentafels, plotters • Luidsprekers • Ponskaart/band- eenheid • Stuurkabel (elektrisch stuursignaal) Uitvoerorgaan Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) Centraal GeheugenMain Memory UitvoerorgaanOutput Device InvoerorgaanInput Device HulpgeheugensSecondary Memory

  7. Processor Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) Controle-orgaan Reken-orgaan Registers Opslag van: • tussenresultaten • operanden Centraal GeheugenMain Memory UitvoerorgaanOutput Device Bevelen in juiste volgorde uitgevoerd InvoerorgaanInput Device Uitvoeren van bewerkingen • zeer elementair • rekenkundig, logisch, … HulpgeheugensSecondary Memory

  8. Geheugen Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) Centraal GeheugenMain Memory UitvoerorgaanOutput Device InvoerorgaanInput Device Direct toegankelijk HulpgeheugensSecondary Memory Bewaren

  9. 01010101 123 11100001 124 00000001 125 01111101 126 … Centraal Geheugen (werkgeheugen) Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) 210 = 1024 220 = 1.048.576 230 = 1.073.741.824 240 Adres0 .. Max (2n) Centraal GeheugenMain Memory Inhoud(geen interpretatie) UitvoerorgaanOutput Device InvoerorgaanInput Device HulpgeheugensSecondary Memory

  10. Lees Adres Inhoud (waarde) Schrijf Adres Waarde Centraal Geheugen (werkgeheugen) Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) CentraalGeheugen CPU CentraalGeheugen Centraal GeheugenMain Memory CPU UitvoerorgaanOutput Device InvoerorgaanInput Device HulpgeheugensSecondary Memory

  11. toegangstijd tijd cyclustijd Centraal Geheugen (werkgeheugen) • Geheugen met onmiddellijke toegang (Random Access Memory, RAM) • toegangstijd is onafhankelijk van het adres Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) volgendeopdracht lees-opdracht resultaat Centraal GeheugenMain Memory UitvoerorgaanOutput Device InvoerorgaanInput Device HulpgeheugensSecondary Memory

  12. Hulpgeheugen • Eigenschappen: • Grote capaciteit • Bestendig: langere tijd bewaren • Lezen (+ soms Schrijven) • Goedkoper, trager • Voorbeelden: • (Harde/Soepele) Schijven • Magneetbanden, -cassettes • CD-ROM, CD-R, CD-RW • DVD, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD-RW … • Magneto-Optische Schijf, ZIP, JAZ, … Inwendige van de computer Centraal Verwerkingsorgaan (Processor)Central Processing Unit (CPU) Centraal GeheugenMain Memory UitvoerorgaanOutput Device InvoerorgaanInput Device HulpgeheugensSecondary Memory

  13. Inhoud • Basisstructuur • Inleiding tot C • Modelcomputer DRAMA • Programma´s voor DRAMA

  14. C Programmeertaal C 1.2 Inleiding tot C • Kenmerken van C • Doelstelling • Overzicht • Eenvoudige programma´s

  15. C Kenmerken van C • Hogere programmeertaal • Grote verzameling types, (strenge) type controle • Zelf nieuwe types definiëren • Klassieke controle-structuren • Functies • Assembleertaal • Operatoren met equivalent op machine-niveau • Bewerkingen op adressen mogelijk • Basis voor … • C++, Java, C#, …

  16. C Doelstelling • Passieve kennis van C • Begrijpen maar niet zelf kunnen schrijven • Voorbeelden: • Steunen op kennis van Java • Stijgende complexiteit

  17. C Overzicht • Eenvoudig C • Arrays • Functies • Records • Dynamische gegevenstructuren

  18. C Overzicht • Eenvoudig C • Declaraties, main, operatoren, opdrachten, in- en uitvoer • Voorbeeld 1-1 • if, while, samengestelde opdracht • Voorbeeld 1-5 • Switch opdracht • Arrays • Functies • Records • Dynamische gegevenstructuren

  19. C Main – Globale variabelen Voorbeeld 1-1 int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); }

  20. C Main – Globale variabelen Voorbeeld 1-1 int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } • Globale variabelen • Type int = integer • Declaratie vereist

  21. C Types • Standaard types • int : voor gehele waarde • C voorziet verschillende groottes • short • int • long • Niet noodzakelijk verschillend • Geen type voor logische waardelogische waarde verwacht: • 0  false •  0  true

  22. C Main – Globale variabelen Voorbeeld 1-1 int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } • Hoofdprogramma main • Tussen ( ) : Parameters • Tussen { } : Lichaam • Opdrachten • In voorbeelden: • geen parameters • geen lokale variabelen

  23. C Operatoren • Uitdrukkingen • Rekenkundige operatoren (zoals Java) + - * / % • Relationele operatoren (zoals Java) > >= < <= == != • Logische operatoren &&tweede operand niet berekend indien eerste = 0 (false) | |tweede operand niet berekend indien eerste 0(true)

  24. C Operatoren • Uitdrukkingen • Toekenningsoperator: i = 5UITDRUKKING! • Met waarde: 5 • Met neveneffect: waarde i is 5 • Klassieke fout • i = 5 • i == 5 • j = i = k = 5 • Samengestelde toekenningsoperatoren • i *= j – 3 i = i * ( j – 3 ) • += -= *= /= %=  altijd waar! j = (i =(k = 5))

  25. C Opdrachten • Opdracht • Uitdrukking gevolgd door ; • Invoer en uitvoer • C definieert geen opdrachten • In C worden functies uit bibliotheken gebruikt • Wij gebruiken • getint()  leest geheel getal in en geeft dit als resultaat terug • printint ( <uitdrukking>)  drukt geheel getal af • If, while, switch, …

  26. C Voorbeeld 1-1 1000 int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } 10 –30

  27. C If while Voorbeeld 1-5 int a, abs, i; main() { i = 1; while (i <= 10) { a = getint (); if ( a > 0 ) abs = a; else abs = -a; printint (a, abs); i = i + 1; } }

  28. if(voorwaarde) opdracht if(voorwaarde) opdracht1 else opdracht2 C If while Voorbeeld 1-5 int a, abs, i; main() { i = 1; while (i <= 10) { a = getint (); if( a > 0 ) abs = a; else abs = -a; printint (a, abs); i = i + 1; } }

  29. C If while Voorbeeld 1-5 • Opdracht • Uitdrukking gevolgd door ; • Samengestelde opdracht (zonder afsluitende ;) { opdracht … } • If, while, …

  30. C If while Voorbeeld 1-5 int a, abs, i; main() { i = 1; while(i <= 10) { a = getint (); if ( a > 0 ) abs = a; else abs = -a; printint (a, abs); i = i + 1; } } while(voorwaarde) opdracht

  31. ? ? ? C Switch-opdracht switch(i - 7){ case 0: case 1: a = 0; break; case 2: a = 1; break; default: a = 2; break; } switch(uitdrukking){ case waarde1 : opdrachten1 case waarde2 : opdrachten2… default: opdrachten }

  32. C Switch-opdracht switch (i - 7) { case 0: case 1: a = 0; break; case 2: a = 1; break; default: a = 2; break; } i == 9 i == 5 a = 1 a = 2

  33. C Switch-opdracht switch (i - 7) { case 0: case 1: a = 0; break; case 2: a = 1; break; default: a = 2; break; } i == 8 i == 9 a = 0 a = 1 a = 2

  34. Inhoud • Basisstructuur • Inleiding tot C • Modelcomputer DRAMA • Programma´s voor DRAMA

  35. Reële Computer DRAMA 1.3 Modelcomputer • Verantwoording: • Basiskennis ( details) •  binding commercieel beschikbare processor • DRAMA • Decimale RekenAutomaat met Meerdere Accumulatoren • Decimaal ( echte computer: binair) • Compacter, Leesbaarder voor menselijke gebruiker

  36. 1234567890 R0 1234 BT 8234872348 R1 … 1 CC R9 0000001235 1234567890 0000 7362516278 0001 … 8271683928 9999 Nooit leeg! DRAMA-computer Processor Bevelenteller Accumulatoren (Registers) Conditiecode Werkgeheugen

  37. In voorbeelden: 1234 -1234 DRAMA: Getalvoorstelling • Gehele getallen • 10-complement (negatief: 1010 - |x| ) • Positief: 0  4.999.999.9990000000000  4999999999 • Negatief: 5.000.000.000  -15000000000  9999999999 Inwendig: 0000001234 • +1234 ? • 1234 ? 9999998766

  38. DRAMA: Bevelenset • Bevel = (meestal) 3 delen FUNCODE ACC,OPERAND • Functiecode (3 letters): vb. HIA • Eventueel interpretatieveld: vb. HIA.w • Naam van Accumulator: vb. R0 • Operand: • Geheugenadres: vb. 1209 • Geheel getal vb. 15 • Naam van Accumulator vb. R7

  39. DRAMA: Bevelenset • Transportbevelen • geheugenregisters  accumulatoren • HIA = Haal In Accumulator • HIA R7,123 | R7  GeheugenReg[123] • HIA.w R6,10 | R6  10 • HIA R8,R7 | R8  R7 • BIG = Berg In Geheugen • BIG R7,123 | GeheugenReg[123]  R7

  40. DRAMA: Bevelenset • Rekenkundige bevelen • Basisbewerkingen: +, , , /, % • OPT, AFT, VER, DEL, MOD • Zelfde varianten alsHIA • OPT R7,123 | R7  R7 + GeheugenReg[123] • AFT.w R6,10 | R6  R6 10 • VER R8,R7 | R8  R8 R7

  41. DRAMA: Bevelenset • Invoer / Uitvoer • Vereenvoudigd: gehele getallen lezen/schrijven • LEZ = Lezen • LEZ | R0 InvoerOrgaan • DRU = Drukken • DRU | UitvoerOrgaan  R0 • NWL = Nieuwe Lijn • NWL | UitvoerOrgaan  

  42. int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } Voorbeeld

  43. int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } | geheugenreservaties| a  1000| b  1001| somk  1002 Voorbeeld

  44. int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } | geheugenreservaties| a  1000| b  1001| somk  1002 Voorbeeld LEZBIG R0,1000

  45. int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } | geheugenreservaties| a  1000| b  1001| somk  1002LEZBIG R0,1000 Voorbeeld LEZBIG R0,1001

  46. int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } | geheugenreservaties| a  1000| b  1001| somk  1002LEZBIG R0,1000 LEZBIG R0,1001 Voorbeeld HIA R1,1000 VER R1,1000

  47. int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } | geheugenreservaties| a  1000| b  1001| somk  1002LEZBIG R0,1000 LEZBIG R0,1001 HIA R1,1000VER R1,1000 Voorbeeld HIA R2,1001 VER R2,R2

  48. int a, b, somk; main() { a = getint(); b = getint(); somk =a * a + b * b; printint (somk); } | geheugenreservaties| a  1000| b  1001| somk  1002LEZBIG R0,1000 LEZBIG R0,1001 HIA R1,1000VER R1,1000HIA R2,1001VER R2,R2 Voorbeeld OPT R1,R2

  49. int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } | geheugenreservaties| a  1000| b  1001| somk  1002LEZBIG R0,1000 LEZBIG R0,1001 HIA R1,1000VER R1,1000HIA R2,1001VER R2,R2OPT R1,R2 Voorbeeld BIG R1,1002

  50. int a, b, somk; main() { a = getint(); b = getint(); somk = a * a + b * b; printint (somk); } | geheugenreservaties| a  1000| b  1001| somk  1002LEZBIG R0,1000 LEZBIG R0,1001 HIA R1,1000VER R1,1000HIA R2,1001VER R2,R2OPT R1,R2BIG R1,1002 Voorbeeld HIA R0,1002 DRU

More Related