Hardware (1) NSG Informatica
Opbouw van een computer Een computer bestaat uit veel verschillende componenten. Bijvoorbeeld: Processor Intern geheugen Harde schijf Netwerkkaart Toetsenbord Monitor Geluidskaart … NSG Informatica
Von Neumann architectuur Belangrijkste componenten Processor Geheugen SGDB Informatica
Samenwerking Elk component heeft een eigen functie Componenten werken samen Componenten communiceren met elkaar via de Bus De Bus is een onderdeel van het moederbord Elk component is verbonden met moederbord (en dus met de Bus) NSG Informatica
Moederbord (nieuwere PC) PCI-e-slots PCI-slots Processor slot Chipset SATA ports NSG Informatica DIMM sockets
De bus (1) Zender zet informatie + bestemming op bus Ontvanger leest informatie van de bus Overige componenten negeren informatie TOETSEN- BORD CPU WERK- GEHEUGEN HARDDISK PRINTER Initiatief bij zender: schrijfactie Initiatief bij ontvanger: leesactie (vaak gevolgd door schrijfactie) NSG Informatica
De bus (2) De bus bestaat eigenlijk uit 3 kanalen: Databus Verstuurt gegevens Bijvoorbeeld: de te printen letters Adresbus Bevat adres ontvanger Bijvoorbeeld: adres van de printer Controlbus Verstuurt commando’s Bijvoorbeeld: Print de tekens van de databus databus adresbus controlbus NSG Informatica
Bus (3) Verkeer op de bus wordt geregeld door busarbiter Een transactie moet (via controlbus) worden aangevraagd Bus wordt gedreven door een klok Elke tik vindt één buscyclus plaats: Zender zet data op bus Ontvanger leest van bus Bus wordt leeggemaakt NSG Informatica
Bus (4) Capaciteit van de (data)bus wordt bepaald door: Kloksnelheid (aantal transacties per seconde Busbreedte (hoeveel data kan er tegelijk op de bus staan?) NSG Informatica
Geheugen memorycontroller Het geheugen bestaat uit geheugenplaatsen van 1 byte met elk een eigen adres De memorycontroller is de “archivaris” en “kijkt” naar de bus 128110 128111 128112 128113 128114 128118 128115 128119 128116 128117 128120 128121 memorycontroller NSG Informatica
De processor Het “brein” van de computer Voert alle bewerkingen en opdrachten uit Andere namen: CPU (Central Processing Unit) CVE (Centrale Verwerkings Eenheid) SGDB Informatica
Instructies (machinetaal) Alleen hele eenvoudige operaties Optellen Vergelijken Herhalen … Miljoenen operaties per seconde, dus toch ingewikkelde dingen mogelijk Vergelijkbaar met alfabet: maar 26 letters, toch zeer veel woorden mogelijk
Processor onderdelen ALU ALU Voert de bewerkingen en berekeningen uit Registers Tijdelijke opslag voor berekeningen (een soort kladblok) Control unit Leest de stroom instructies van de controlbus Zorgt dat de instructies worden uitgevoerd door de ALU databus REGISTERS CONTROL UNIT adresbus controlebus SGDB Informatica
Analyseren instructie Instructiecyclus De Control Unit haalt instructie op waar de programcounter naar verwijst en zet deze in het instructieregister. De programcounter wordt verhoogd Ophalen instructie Analyseren instructie De Control Unit analyseert de instructie. De benodigde gegevens worden in de registers gezet Uitvoeren instructie De ALU voert de bewerking uit Resultaten worden in het register opgeslagen SGDB Informatica
Machinetaal Iedere instructie bestaat uit een rij bits. In een machinetaal zou de instructie voor het optellen van de inhoud van twee registers er als volgt kunnen uitzien: 01101101000010010000001100000100 operatiecode: 01101101 optellen van de inhoud van twee registers operandcode: 00001001 register 9 operandcode: 00000011 register 3 operandcode: 00000100 register 4 Deze opdracht kan betekenen: Tel de inhoud van de registers 3 en 4 bij elkaar op en zet het resultaat in register 9. SGDB Informatica
Assembleertaal Machinetaal is lastig voor mensen Slecht leesbaar Snel fouten Oplossing: assembleertaal 01101101 00001001 00000011 00000100 wordt ADD R9, R3, R4 Vertaling: assembler Vertaalt assembly code naar machinetaal Is het enige programma dat in machinetaal geschreven hoeft te worden Processorafhankelijk SGDB Informatica
Assembleertaal (2) Voorbeeld: Rekenkundige of logische instructies ADD, CMP Spronginstructies JNG Instructies voor datatransport LOAD LOAD R0, 1234 LOOP: ADD R0, #1 CMP R0, #12 JNG LOOP LOAD 1234, R0 SGDB Informatica