Instituut voor
Engineering en Applied Science
Naam deelnemer: Studentnummer:
0
Opleiding : ELE
Cursusnaam : Embedded Systems 2
Cursuscode : ELEEMS20
Tentamenperiode : HT1
Toetsdatum : 30 januari 2019
Begintijd : 10:30
Duur (in minuten) : 90 min
Docent : D. Versluis
Collegiale review : J.Z.M. Broeders
Cesuur : 55 %
Aantal pagina’s : 5 (exclusief voorblad)
Toetsen inleveren : Nee
Kladpapier inleveren : Nee
Toegestande hulpmiddelen:
• Dubbelzijdige handgeschreven samenvatting op A4-papier.
• Normale rekenmachine.
Overige
opmerkingen:
1.
Sommige CPU’s hebben een Valid Memory Address pin.a. [2 punten] Is dit een in- of uitgang van de CPU? Verklaar je antwoord.
Antwoord: Het VMA-signaal is een uitgang van de CPU. De CPU geeft hiermee aan of er een geldig geheugenadres op de adresbus staat.
b. [3 punten] Is dit signaal onderdeel van de adresbus, controlbus of databus? Verklaar je antwoord.
Antwoord: Het VMA-signaal is onderdeel van de controlbus. Met dit signaal bestuurt (Engels:
controls) de CPU de overige componenten zoals het geheugen.
2.
[3 punten] Volgens de auteur van je boek zijn de PCIe en USB bussen eigenlijk geen bussen maar point-to-point verbindingen. Leg uit wat het verschil is tussen een point-to-point verbinding en een bus.Antwoord: Een point-to-point verbinding verbindt twee (deel)systemen met elkaar. Op een bus kunnen meer dan twee (deel)systemen aangesloten worden.
3.
Bij deze vraag gaan we uit van een little endian processor met 8 adreslijnen en 8 datalijnen. Een instructie bestaat uit één of meer bytes. Een CALL instructie is 2 bytes lang, de laatste byte bevat het 8-bits adres waar de subroutine begint. Een RET instructie is 1 byte lang. De STOP instructie is 1 byte lang en zorgt ervoor dat het programma stopt. De program counter en de stack pointer zijn (uiteraard) beide 8 bits breed. De program counter wijst naar de volgende instructie die zal worden uitgevoerd. De stack pointer wijst naar de eerste vrije plaats op de stack en groeit richting adres 0x00. In figuur 1 is een programma gegeven dat deze processor uitvoert. In figuur 2 is de stack weergegeven.instr.
0xA0
program counter
instr.
0xA1
CALL 0xA2
0xA9 0xA3
instr.
0xA4
instr.
0xA5
CALL 0xA6
0xA1 0xA7
STOP 0xA8
instr.
0xA9
RET 0xAA
...
??
0xFC
??
0xFD
??
0xFE
??
0xFF
stack pointer
Figuur 2:De stack op het moment dat het programma begint.
a. [2 punten] Welke waarde bevat de stack pointer als de program counter, nadat het programma is gestart, voor de derde keer de waarde 0xA4 bevat?
Antwoord: 0xFD
b. [6 punten] Teken de inhoud van de stack op het, bij deelvraag a gegeven, moment.
Antwoord: Zie figuur 3.
...
??
0xFC
??
0xFD
stack pointer
0xA8 0xFE
0xA8 0xFF
Figuur 3:De stack op op het bij deelvraag a gegeven moment.
4.
[4 punten] Geef minstens twee goede redenen waarom moderne microcontrollers bijna altijd memory mapped I/O gebruiken terwijl verouderde processoren zoals de Z80 I/O mapped I/O gebruikten.Antwoord: Mogelijke redenen:
• Moderne microcontrollers hebben veel adreslijnen (bijvoorbeeld 32) en dus een grote geheu- genruimte (memory map). In deze geheugenruimte is plaats genoeg voor de I/O registers.
• Bij een microcontroller bevinden de I/O poorten zich in dezelfde chip als de CPU. De selectielogica bevindt zich dus ook in dezelfde chip. Een paar extra logische poorten voor de selectielogica maakt dan niet meer uit.
• Als er geen speciale I/O-ruimte (I/O map) is, dan zijn er geen speciale instructies nodig voor I/O operaties.
5.
[5 punten] Er zijn meerdere radiostations die op hun beurt een bericht uitzenden op hetzelfde FM-radiokanaal (FM staat voor Frequentie Modulatie). Is dit een vorm van TDM, FDM, OFDM of CDMA? Verklaar je antwoord.Antwoord: Dit is een vorm van TDM (Time Division Multiplexing). De zenders zenden beurtelings uit op hetzelfde kanaal. De beschikbare kanaalcapaciteit wordt dus verdeeld in time-slots.
6.
Deze opgave heeft betrekking op een CDMA-systeem waarbij voor de bronnen A, B en C respectieve- lijk de volgende chips worden gebruikt: (1,1,-1,-1), (-1,1,-1,1) en (1,-1,-1,1).a. [2 punten] Laat zien dat A en C orthogonaal zijn.
Antwoord: (1, 1, −1, −1) · (1, −1, −1, 1) = +1 − 1 + 1 − 1 = 0 dus A en C zijn orthogonaal.
b. [3 punten] Als de ontvanger het samengestelde signaal (-1, -1, -1, 3) ontvangt, welke bit- waarde is dan verzonden door bronnen A, B en C?
Antwoord: (−1, −1, −1, 3) · (1, 1, −1, −1) = −1 − 1 + 1 − 3 = −4 dus A = 0.
(−1, −1, −1, 3) · (−1, 1, −1, 1) = +1 − 1 + 1 + 3 = +4 dus B = 1.
(−1, −1, −1, 3) · (1, −1, −1, 1) = −1 + 1 + 1 + 3 = +4 dus C = 1.
7.
In de TCP header bevindt zich een ‘sequence number’ en ‘acknowlegdement number’ maar in de UDP header ontbreken deze nummers.a. [2 punten] Leg uit waarom TCP deze nummers nodig heeft en UDP niet.
Antwoord: TCP garandeert dat alle pakketten in de juiste volgorde worden ontvangen, UDP garandeert dit niet. TCP gebruikt het ‘sequence number’ om de ontvangen pakketten te ordenen en gebruikt het ‘acknowlegdement number’ om er voor te zorgen dat alle pakketten ontvangen worden. Als een pakket verloren gaat, dan zal het ontbrekende pakket nogmaals verstuurd worden. Bij het gebruik van UDP mogen pakketten in een willekeurige volgorde worden ontvangen en zelfs verloren gaan. UDP heeft deze ‘numbers’ dus niet nodig.
b. [2 punten] Maakt het FTP protocol gebruik van UDP of van TCP? Verklaar je antwoord.
Antwoord: FTP staat voor File Transfer Protocol. Hierbij wordt TCP gebruikt, want als je een bestand verstuurt, dan wil je dat de pakketten waarmee het bestand wordt verstuurd allemaal in de juiste volgorde worden ontvangen.
8.
Network Address Translation (NAT) is een techniek waar jouw router thuis gebruik van maakt.a. [2 punten] Welk probleem lost NAT op?
Antwoord: Het probleem dat er te weinig IP-v4 adressen beschikbaar zijn. Er zijn 232 = 4,3× 109adressen beschikbaar.
b. [2 punten] Hoe lost NAT dit probleem op?
Antwoord: Alle apparaten achter de router hebben voor de buitenwereld hetzelfde IP-v4 adres. De router stuurt het binnenkomende verkeer door naar het juiste apparaat.
c. [2 punten] Hoe lost IPv6 dit probleem op?
Antwoord: IPv6 lost dit probleem op door 128 bits te gebruiken voor het adres. Er zijn dan 2128= 3,4 × 1038adressen beschikbaar en dit is hoogstwaarschijnlijk voor altijd genoeg.
9.
Je kunt via webmail je schoolmail benaderen.a. [2 punten] Van welk protocol maak je gebruik als je jouw schoolmail leest via webmail?
Antwoord: HTTPS (Hypertext Transfer Protocol Secure) dit protocol wordt gebruikt om webpagina’s op een veilige manier te halen.
b. [2 punten] Met welk protocol wordt je mail verstuurd als je via webmail een mail verstuurd?
Antwoord: SMTP (Simple Mail Transfer Protocol) dit protocol wordt gebruikt om mail te versturen over het internet.
10.
In het boek wordt gesproken over domeinnamen.a. [2 punten] Wat is een domeinnaam?
Antwoord: Een domeinnaam is een naam voor een groep IP-adressen bijvoorbeeld: nl of hr.nl.
b. [2 punten] Hoe weet een computer het IP-adres achter een domeinnaam?
Antwoord: Dit kan opgevraagd worden bij een DNS-server (Domain Name System).
c. [2 punten] Kunnen meerdere domeinnamen gekoppeld zijn aan een IP-adres? Verklaar je antwoord.
Antwoord: Ja, dat kan. Er is geen reden waarom dit niet zou kunnen. Je kunt bijvoorbeeld hr.nlen hro.nl aan hetzelfde IP-adres koppelen.
11.
[3 punten] Het gebruik van een veldbus in plaats van stroomlussen in een productiesysteem kan leiden tot een kostenreductie. Leg uit waarom.Antwoord: Er kan bespaard worden op de bedrading. Niet elk I/O-device heeft zijn eigen bedra- ding naar de controleruimte nodig. De veldbus loopt net als een LAN langs alle veldbusapparatuur.
12.
[4 punten] Heeft de node die de positie van het rempedaal produceert een hoge of een lage identifier in een CAN-netwerk? Verklaar je antwoord.Antwoord: Een lage identifier want dit bericht zal een hoge prioriteit hebben.
13.
[3 punten] Bij een PROFIBUS-veldbus wordt een token gebruikt. Leg uit waar het token voor gebruikt wordt.Antwoord: Het token wordt gebruikt om te bepalen welke busmaster aan de beurt is. De master die in bezit is van het token heeft toegang tot de bus. Een master moet het token doorgeven aan de volgende master enzovoort. Zo gaat het token in een kringetje langs alle masters en is de bustoegang binnen zekere tijd gegarandeerd.
14.
[4 punten] Waarom wordt cipher block chaining toegepast (bijvoorbeeld bij AES)?Antwoord: Om het probleem van herhaling van cijfertekst bij herhaling van klare tekst te voorko- men.
15.
[6 punten] Romeo en Julia gebruiken asymmetrische cryptografie en hebben dus beide een pu- blieke en een geheime sleutel. Romeo wil Julia geheime boodschappen sturen. Om dit te kunnen doen vraagt Romeo aan Julia wat haar publieke sleutel is. Julia verstuurt haar publieke sleutel vervolgens naar Romeo. Romeo versleutelt zijn geheime berichten met deze publieke sleutel. Julia kan deze berichten ontsleutelen met haar geheime sleutel. Eve wil echter de geheime boodschappen kunnen lezen met een Man-In-The-Middle aanval. Het is haar gelukt om alle communicatie tussen Julia en Romeo te onderscheppen en zij kan deze berichten dus naar believen aanpassen. Wat moet Eve doen om de berichten van Romeo naar Julia te lezen zonder dat een van beiden het door heeft?Antwoord: Eve onderschept het bericht waarin Julia haar publieke sleutel naar Romeo stuurt en vervangt Julia’s publieke sleutel door haar eigen publieke sleutel. Daarna onderschept Eve de geheime boodschap van Romeo aan Julia. Eve kan dit ontsleutelen met haar eigen geheime sleutel en lezen. Vervolgens versleutelt Eve de geheime boodschap met de publieke sleutel van Julia en stuurt het door naar Julia. Julia kan dit vervolgens ontsleutelen met haar geheime sleutel. Romeo en Julia hebben dus geen van beiden in de gaten dat ze afgeluisterd worden.
Einde van dit tentamen.
Vraag: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Totaal