EMS20 Week 2: Opgaven Week 1
EMBEDDED SYSTEMS
Verdeling opdrachten
2
• Geef aan welke opdrachten je wilt bespreken
• Er wordt een dobbelsteen gegooid per opgave, of op vrijwillige basis
• Maximaal 1x per les aan de beurt.
EMS20 Theorie Week 2
Microprocessorarchitectuur
EMBEDDED SYSTEMS
Leerdoelen
4
Leerdoelen week 2. Je leert hoe je:
• hoe een CPU globaal is opgebouwd en werkt;
• hoe een CPU machinecodeinstructies uitvoert volgens de zogenoemde Von Neumann- cyclus;
• hoe de stack en de stack pointer gebruikt worden bij het uitvoeren van functieaanroepen en returns;
• hoe de CPU met de buitenwereld communiceert via I/O-poorten en hoe deze I/O- poorten zijn opgebouwd;
• hoe de normale uitvoering van een programma onderbroken kan worden door verschillende exceptions, waaronder interrupts;
• hoe een interrupt controller is opgebouwd en werkt;
• hoe DMA werkt en waarom je dit zou willen toepassen in een embedded systeem.
EMBEDDED SYSTEMS
Computer – Algemeen
5
EMBEDDED SYSTEMS
CPU – Central Processing Unit
6
Elk byte heeft zijn eigen adres.
Maar de databus kan toch breder zijn (b.v. 64 bits).
EMBEDDED SYSTEMS
Opbouw van de CPU
7
Bus Interface Unit
Arithmetic and Logic Unit
Internal Control
Unit
Timing Unit
general purpose
EMBEDDED SYSTEMS
Arithmetic Logic Unit
8
EMBEDDED SYSTEMS
Status- of conditiecoderegister
9
Belangrijkste bits (flags):
C → Carry out/in
V → oVerflow of sign bit Z → result is Zero
N → result is Negative
EMBEDDED SYSTEMS
Von Neumann-cyclus
10
f → fetch = ophalen van de instructie
d → decode = decoderen van de instructie e → execute = uitvoeren van de instructie
s → store = opslaan van het resultaat van de instructie
EMBEDDED SYSTEMS
ALU met registers
11
EMBEDDED SYSTEMS
Stack pointer
12
Stukje programma in geheugen
Subroutine aanroep, subroutine staat op adres 23
EMBEDDED SYSTEMS
Stack pointer
13
EMBEDDED SYSTEMS
Stack pointer
14
EMBEDDED SYSTEMS
Stack pointer
15
EMBEDDED SYSTEMS
Stack pointer
16
EMBEDDED SYSTEMS
Stack pointer
17
EMBEDDED SYSTEMS
I/O
• Speciale I/O.
18
• Memory mapped I/O.
EMBEDDED SYSTEMS
I/O
Voordelen memory mapped I/O:
• Bewerking op het geheugen zijn ook voor I/O- adressen beschikbaar.
Nadelen memory mapped I/O:
• CPU's met klein adresseerbereik raken adressen kwijt aan I/O.
• De te selecteren adreslijnen voor I/O zijn gelijk aan het totale aantal adreslijnen. Daardoor krijg je een
wat ingewikkeldere selectielogica.
19EMBEDDED SYSTEMS
Eenvoudige outputpoort
• AND-poort = Adresdecoder. 20
• VPA =Valid periferal address.
EMBEDDED SYSTEMS
Eenvoudige inputpoort
21
• Zelfde concept als outputpoort.
• Tristate buffers.
• Twee problemen:
• Hoe weet je dat er nieuwe data klaarstaat?
• Hoe voorkom je dat data die verandert, wordt ingelezen?
EMBEDDED SYSTEMS
Gebufferde input
• Lost tweede probleem op. 22
• Gebufferde input.
EMBEDDED SYSTEMS
Gebufferde input met statusregister van één bit
• I/O Statusregister. 23
• Lost eerste probleem op.
• Programmed I/O (Polling)
EMBEDDED SYSTEMS
Interrupt-mechanisme
In dit geval wordt de interrupt door 24
een hardware device veroorzaakt.
EMBEDDED SYSTEMS
Wired-NOR
(m.b.v. open collector uitgangen)4 interruptbronnen (IRQ0 t/m IRQ3) aangesloten op 1 interruptingang (IRQ)
Hoe weet je welk device de interrupt heeft gegeven?
EMBEDDED SYSTEMS
Meer devices op een interrupt-lijn
Het statusregister is geïmplementeerd zoals gegeven op sheet 23.
EMBEDDED SYSTEMS
Interrupt-lijn IRQ1 is geactiveerd
EMBEDDED SYSTEMS
Interrupt controller
EMBEDDED SYSTEMS
Daisy chain in werking
De positie in de chain bepaald de prioriteit.
EMBEDDED SYSTEMS
Von Neumann-architectuur
30
EMBEDDED SYSTEMS
Harvard-architectuur
31
RAM ROM
EMBEDDED SYSTEMS
I/O-poorten (DMA)
32
Direct Memory Access
EMBEDDED SYSTEMS
I/O-poorten (DMA)
33
Direct Memory Access
EMBEDDED SYSTEMS
Opdrachten
34
• Volgende les wordt
dobbelsteen gegooid per opgave.
• Maak ten minste
opdrachten 2.1, 2.2, 2.3, 2.5, 2.7, 2.9, 2.12, 2.21, 2.23