Computerdenken
Getallen en Logica
Computer: Logische opbouw (von Neumann)
CPU: Central Processing Unit
● Één voor één instructies uitvoeren dmv klok
- Rekenen: add, subtract, …
- Logische instructies: and, or, …
- Data instructies: load, store, …
- ‘Program Flow’ instructies: jump, call, …
Geheugen: Random Access Memory (RAM)
● Binaire getalrepresentatie
● 8 bits = adres
Binaire getalrepresentatie
● machten van 2 (2 symbolen: 1 en 0)
● 110110
● bit: 1 symbool, nibble: 4 bits, byte: 8 bits, 16-bit word: 2 bytes, 32-bit word: 4 bytes…
● Decimaal naar binair:
- 98 → grootste macht van 2 die er in past is 64 → 98 - 64 = 34,
begint met 1 → daarna alle machten van 2 die kleiner zijn afgaan →
past het er in? zet een 1 neer → past het niet? zet een 0 neer
● Binair naar decimaal
- 1101 → voor elke 1 geldt er zit een macht van 2 in → 1 (2^3) + 1
(2^2) + 0 (0^1) + 1 (2^0) = 8 + 4 + 0 + 1 = 13
Hexadecimale getalrepresentatie
● Machten van 16 (16 symbolen: 0123456789ABCDEF)
● Zelfde doen als binaire getalrepresentatie, maar dan met machten van 16
Digitale Logica
● and = beide moeten gelden
● or = a, b of allebei moeten gelden
● xor = a óf b moet gelden, niet allebei
● nand/nor/xnor = omgekeerde van and, or en xor
, CPU, representaties
Geklokte logica
● Inputs worden enkel ‘gezien’ tijdens een opgaande klokpuls. Rest klokperiode is
beschikbaar om de input te verwerken en de juiste waarde op de uitgang te krijgen.
CPU, toycomputer
● CPU: uitvoeren instructies
● Geheugen: instructies en gegevens
● Assembler: representatie naar geheugen door elk commando een waarde te geven
● Accumulator: geheugentje voor 1 getal in de CPU voor een ‘tussenresultaat’
● Program Counter (PC): geheugenadres volgende instructie
- get: get a number from the keyboard into the accumulator
- print: print the contents of the accumulator
- load Val: load accumulator with Val
- store M: store contents of accumulator in memory location M
- add Val: add Val to the contents of the accumulator
- sub Val: subtract Val to the contents of the accumulator
- goto L: go to instruction labeled L
- ifpos L: go to instruction labeled L, if accumulator >= zero
- ifzero L: go to instruction labeled L, if accumulator = 0
- stop: stop running
- M: Num: label for memory location. Initialize to value Num.
Microcode
● Uitvoering instructies:
1. ophalen instructies uit geheugen
2. decoderen instructies
3. uitvoeren instructie (microcode: 1 per klokpuls)
4. resultaat ophalen
Optimalisaties
● Cache
- Lokale kopie van gedeelte van het geheugen in een klein, snel geheugen
(caches), dichtbij de CPU
● Pipeline
- Uitvoering van één instructie gaat in meerdere stappen
● Parallellisatie
- Meerdere CPU-Cores die elk één of meerdere instructie reeksen (threads)
kunnen uitvoeren
Digitale representatie
● Tekst
- Letter representeren als getal
- Sleutel is belangrijk: ASCII, Unicode
● Graaf
- Datastructuur bestaande uit knopen (vertex) en zijden (edge)
- Zijde als set van 3 getallen representeren (van, naar, gewicht)
- Problemen: aantal knopen? - eerst het aantal of stopteken als einde
- Connectiematrix lost dit ook op
● Afbeelding
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller jurredevries1. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $3.75. You're not tied to anything after your purchase.