Samenvatting Computer Systemen (2019-2020) – Willem Meijer
Computer Systemen (2019 – 2020)
door Willem Meijer
Inhoud:
Dijkstra F. J. (2006). Computers: Organisatie, Architectuur, Communicatie.
• Hs. 1, 2, 3, 7
• Paragraaf: 4.1, 6.1, 6.2
Bredek J. (2019). Hoorcolleges Computer Systemen.
• Week 1: Codering, Talstelsels, Logische Poorten, geheugen-elementen, en systeemklok
• Week 2: Computer Types, CPU intern, geheugen, bussen, byte ordening, pipelining, AVR-MCU
• Week 3: typen geheugen, caching, opslag, compiling & Interpreting, parallelle Architecturen
,Samenvatting Computer Systemen (2019-2020) – Willem Meijer
Hs. 1: Coderingen
1.1 De voorstelling van gegevens in de computer
Digitale Data: data waarbij maar twee opties mogelijk zijn: e.g. wel of niet.
Analoge Data: Antoniem van Digitale Data. Data waarbij informatie in fysieke grootheden wordt
beschreven (e.g. gewicht of druk).
Digitale data is verkozen boven analoge data omdat:
• Het is betrouwbaarder
• Je kan het makkelijker opslaan in grotere hoeveelheden
• Logica is makkelijker toepasbaar
• Het is sneller
Coderen: het vertalen van analoge informatie naar digitale informatie.
Decoderen: het vertalen van digitale informatie naar analoge informatie.
ADC: Analogue Digital Converter. Vertaald analoge data naar digitale data.
DAC: Digital Analogue Converter. Vertaald digitale data naar analoge data.
Bit: Binary Digit of Binary Information Ticket. Kleinst mogelijke digitale eenheid in een computer. Heeft
twee mogelijke waardes.
Nibble: een combinatie van 4 bits. Heeft 24 = 16 verschillende mogelijke waardes.
Byte: een combinatie van 8 bits. Heeft 28 = 256 verschillende mogelijke waardes.
Register: de opslagplaats van een aantal bits.
De waarde van de eerste 8 getallen in binaire code zijn: 128, 64, 32, 16, 8, 4, 2, 1
1.2 Talstelsels
Grondtal: de maximale waarde van één teken binnen een talstelsel (e.g. 2 bij binair, en 10 bij
decimaal). Iedere keer dat met één icoon het grondtal voorbij gegaan wordt, komt er een tweede
icoon voor te staan. Talstelsels die gebruik maken van een grondtal zijn een plaatsafhankelijk stelsel
– de waarde van een symbool hangt af van de locatie.
Bij het getal 15671 in het 10-tallig stelsel klopt het volgende:
1×1
7 × 10
6 × 102
5 × 103
1 × 104
_________ +
15671
Voor plaatsafhankelijke talstelsels met een ander grondtal dan 10 geldt het volgende:
• Het aantal symbolen staat gelijk aan het grondtal
• De posities van de symbolen geven het symbool zijn waarde van achter naar voren, van laag
naar hoog: n4, n3, n2, n1, n0 (zoals in het voorbeeld hierboven).
Voor het omrekenen van een ander talstelsel naar het decimale stelsel gaat als volgt.
45618 = (4 × 83 ) + (5 × 82 ) + (6 × 81 ) + (1 × 80 ) = 2048 + 320 + 48 + 1 = 241710
In het geval dat de getallen langer worden, worden de machten gewoon groter.
,Samenvatting Computer Systemen (2019-2020) – Willem Meijer
Om een decimaal getal naar een ander talstelsel te vertalen, kan de volgende methode gebruikt
worden: Herhaald Delen.
1216410 = 𝑋4
12164 ∶ 4 = 3041 𝑟𝑒𝑠𝑡 0
3041 ∶ 4 = 760 𝑟𝑒𝑠𝑡 1
760 ∶ 4 = 190 𝑟𝑒𝑠𝑡 0
190 ∶ 4 = 47 𝑟𝑒𝑠𝑡 2
47 ∶ 4 = 11 𝑟𝑒𝑠𝑡 3
11 ∶ 4 = 2 𝑟𝑒𝑠𝑡 3
3 ∶ 4 = 0 𝑟𝑒𝑠𝑡 3
1216410 = 33320104
Een andere methode is: Herhaald Aftrekken. Hierbij wordt steeds de grootst mogelijke waarde
afgetrokken van het geheel tot 0 overblijft.
1216410 = 𝑋2
12164 − 213 = 12164 − 8192 = 3972 → 1
3972 − 212 = 3972 − 4096 = 𝑋 → 0
3972 − 211 = 3972 − 2024 = 1948 → 1
1948 − 210 = 1948 − 1024 = 924 → 1
924 − 29 = 924 − 512 = 412 → 1
412 − 28 = 412 − 256 = 158 → 1
158 − 27 = 158 − 128 = 30 → 1
30 − 26 = 30 − 64 = 𝑋 → 0
30 − 25 = 30 − 32 = 𝑋 → 0
30 − 24 = 30 − 16 = 14 → 1
14 − 23 = 14 − 8 = 6 → 1
6 − 22 = 6 − 4 = 2 → 1
2 − 21 = 2 − 2 = 0 → 1
0 − 20 = 𝑋 → 0
Van boven naar onder geeft dit:
1216410 = 101111100111102
Talstelsel Grondtal Getallen Voorbeeld
Decimaal 10 0,1,2,3,4,5,6,7,8,9 13810
Binair 2 0,1 10010102
Octaal 8 0,1,2,3,4,5,6,7 3328
Hexadecimaal 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 8A16
Ondanks dat het octale en hexadecimale stelsel bestaat, wordt hier vrijwel nooit mee gerekend. Deze
stelsels worden alleen gebruikt om lange rijen binaire code makkelijk en korter weer te geven.
Hexadecimaal wordt vaak aangegeven met een ‘0x’ of een ‘$’ voor het getal. E.g. 0xAF3D of $AF3D
Hexadecimale waardes kunnen heel snel naar binair vertaald worden door per teken te vertalen: A =
1010 | 3 = 0011 | F = 1111. Hetzelfde geldt voor octaal, maar dan gebruik je 3 bits per teken.
, Samenvatting Computer Systemen (2019-2020) – Willem Meijer
1.3 Rekenen met binaire getallen
BCD-Code: Binary Coded Decimals. Het representeren van decimale nummers door middel van binaire
code.
MSB: Most Significant Bit. Het meest linker bit in een rij bits. Deze heeft het grootste effect op de
totale waarde (wanneer we uit gaan van getallen).
LSB: Least Significant Bit. Het meest rechter bit in een rij bits. Deze heeft het kleinste effect op de
totale waarde (wanneer we uit gaan van getallen).
Het optellen van binaire getallen werkt exact hetzelfde als bij decimale getallen. We maken hier
gebruik van de Som en de Carry. De som is het totaal voor het individuele getal, de carry is de waarde
die meegenomen wordt naar de optelling het getal links ervan.
1001 + 11010 = 100011
110000 (𝐶𝑎𝑟𝑟𝑦)
01001
11010
+
100011
Het vermenigvuldigen en delen van binaire getallen werkt ook exact hetzelfde als met decimale
getallen (dit is hetzelfde geval voor alle andere talstelsels), het is alleen een stuk makkelijker aangezien
je met alleen enen en nullen werkt.
11001
1001
−−−−
1 × 11001 = 11001
0 × 11001 = 0 × 21
0 × 11001 = 0 × 22
1 × 11001 = 11001 × 23
−−−−
00011001 +
11001000
= 11100001
De formule voor het grootste getal is: 2𝑛 − 1
De formule voor het aantal opties is: 2𝑛
Standaard is de laagste waarde 0
1.4 Codering van negatieve getallen
Signed Magnitude: een negatief getal waarvan de MSB van een reeks het teken (plus of min) aangeeft.
1 is negatief, 0 is positief. E.g. 1112 = -3 | 0112 = 3
Het nadeel van Signed Magnitude is dat rekenwerk met positieve en negatieve getallen praktisch
onmogelijk is.
One’s Complement: een methode van aangeven van negatieven waarbij het negatieve getal de
geïnverteerde waarde is van het positieve getal. e.g. 11102 = -1 | 00012 = 1