Microcontrollers Week 2 Opbouw ATmega32 controller, instructies Jesse op den Brouw INLMIC/
|
|
|
- Nathalie Bakker
- 10 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Microcontrollers Week 2 Opbouw ATmega32 controller, instructies Jesse op den Brouw INLMIC/
2 Blokdiagram ATmega32 2
3 ATmega32 Features 131 instructies 32 KB Flash ROM programmageheugen 2 KB Intern SRAM 1024 Bytes EEPROM Twee 8-bit timers Een 16-bit timer Two Wire Interface = I 2 C 8x1 10 bits ADC USART SPI 32 I/O lijnen 3
4 AVR datapad Een microcontroller verwerkt data door middel van instructies. Een microcontroller heeft dus (data)opslag. De data wordt verwerkt in een eenheden van bv. 8 bits. Verwerken kan zijn: rekenkundige operaties (optellen, aftrekken) en logische operaties (and, or, not, schuiven). Dit verwerken wordt gerealiseerd door de ALU: Arithmetic and Logic Unit 4
5 AVR datapad demux R0 mux mux Alle AVR s hebben 32 registers van 8 bits breed. R1 R30 De registers zijn genummerd van R0 tot en met R31. R31 function n ALU 8 status register 5
6 AVR datapad demux R0 mux mux De registers en de ALU vormen samen het datapad. R1 R30 R31 Het Status Register registreert belangrijke uitkomsten van de bewerkingen zoals carry, negatief, overflow en nul. function n ALU 8 status register 6
7 AVR datapad demux R0 mux mux De mux-en selecteren de bronregisters. R1 De demux selecteert het doelregister. R30 R31 Function volgt uit de instructie. function n ALU 8 status register 7
8 AVR Register File 32 8-bit General Purpose Registers Alle hebben direct toegang tot de ALU 3 registerparen werken als 16-bit pointers naar SRAM-geheugen. R0 R1 R2 Een aantal instructies kan alleen werken met R16 t/m R31. Een aantal instructies werkt met R0 en R1. X Pointer Y Pointer Z Pointer { { { R26 R27 R28 R29 R30 R31 XL XH YL YH ZL ZH 8
9 AVR ALU De ALU is een combinatorische schakeling die een aantal rekenkundige en logische bewerkingen kan uitvoeren. Bewerkingen: optellen, aftrekken, vermenigvuldigen, delen, bitwise AND/OR/XOR, inverse, schuiven, roteren, pass thru. Register1 Register2 Function Flags Result 9
10 AVR ALU Interessante informatie over de berekeningen worden weergegeven door de flags. De flags worden gecombineerd tot een register. Deze wordt Status Register genoemd. Register1 Register2 SREG Function S V N Z C Result 10
11 AVR status register I T H S V N Z C SREG Het Status Register is een 8-bit register en is opgenomen in het datapad. Status Register Flags: Interrupt Enable, T bit storage, Half Carry, Sign, overflow, Negative, Zero, Carry. 11
12 AVR status register De C-flag wordt gebruikt in multi-byte bewerkingen en geeft overflow bij unsigned bewerkingen aan. De Z-flag wordt gezet wanneer het resultaat van een bewerking nul is, anders wordt het gewist. De N-flag wordt gezet wanneer het resultaat van een bewerking negatief is (msb =1), anders wordt het gewist. De V-flag wordt gezet als een 2's complement bewerking het tekenbit foutief heeft gewijzigd. 12
13 AVR status register De S-flag geeft het teken aan van het resultaat van een optel/aftrekbewerking (exor van de N-flag en de V-flag). De H-flag wordt gebruikt bij BCD-rekenkunde en geeft aan of het lage nibble een overflow heeft gehad. De T-flag is een vlag die door de gebruiker gebruikt kan worden d.m.v. assemblerinstructies. De I-flag geeft aan of interrupts worden gehonoreerd (zie week 5). 13
14 AVR ALU Met behulp van de flags kunnen beslissingen genomen worden. Als Register1 = Register2, dan wordt Z = 1 Als Register1 < Register2, dan wordt N = 1 Als Register1 > Register2, dan wordt Z = 0 en N = 0 NB: voor unsigned berekeningen, voor Z=1 geldt dat N=0, voor N=1 geldt dat Z=0. 14
15 Multibyte optelling De Carry flag wordt gebruikt bij multi-byte bewerkingen. Zo kunnen 16- en 32-bit optellingen worden gedaan met een 8-bit processor. carry high bytes low bytes naar carry 15
16 Single Cycle Instruction Execution Register File Registeroperaties duren precies één klokpuls! ALU 16
17 Single Cycle Instruction Execution Registeroperaties duren precies één klokpuls. 17
18 AVR programmageheugen Een microcontroller is een kleine computer met gespecialiseerde I/O. Een microcontroller bevat dus een programma (lijst van instructies). Een microcontroller heeft dus programmageheugen waar deze instructies zijn opgeslagen. Het programmageheugen is uitgevoerd als Flash en is niet vluchtig (non volatile). 18
19 AVR programmageheugen program counter De programmateller (program counter) houdt bij waar de microcontroller met het uitvoeren van de instructies is. program flash (user) instruction register instruction decoder De uit te voeren instructie wordt geladen in het instructieregister (instruction register). Deze bevat dus de huidige instructie die wordt uitgevoerd. De instructiedecoder (instruction decoder) decodeert de bitpatronen in het instructie-register en stuurt de logica verder aan (control lines). 19 control lines
20 AVR programmageheugen program counter Het uitvoeren van de instructies gaat d.m.v de Von Neumann-cyclus: program flash (user) Ophalen instructie (fetch) Decoderen instructie (decode) instruction register Uitvoeren instructie (execute) instruction decoder 20 control lines
21 Programmaverwerking Programmateller start bij adres 0. De instructie op adres 0 wordt opgehaald. De instructie wordt uitgevoerd. De programma teller wordt met 1 opgehoogd. De volgende instructie wordt opgehaald. enz. 21
22 AVR CPU demux mux mux program counter R0 R1 program flash (user) R30 R31 instruction register function n ALU 8 status register instruction decoder 22 control lines noot: flash niet onderdeel van CPU
23 Parallelle uitvoering Instruction Fetch en Instruction Execute gaat tegelijkertijd (pipeline). Waar is Instruction Decode gebleven? 23
24 AVR CPU Bestaat uit registerfile, ALU en Status Register Program Counter, Instruction Register en Instruction Decoder Stack Pointer (week 4) Program Flash en SRAM behoren niet tot de CPU 24 From Programming Interface databus
25 Flash ROM De ATmega32 heeft 32 kbytes Flash ROM. PC is 22 bits. ATmega32 gebruikt de onderste 14 bits. Instructies zijn georganiseerd in 16-bit words of 32-bit double words. Er zijn dus 16 k words aan instructies mogelijk. 0x adressen in words! x3fff
26 Plaatsing bytes (8-bits) in woorden (16-bits) De machinecode in de Flash ROM is 16 bits. Een byte is 8 bits 2 manieren van opslaan. Little Endian en Big Endian*). Bijv. machinecode voor het zenden van de inhoud van R16 naar PORTB is (16 bits): = 0xBB08 MSB byte (0xBB) gaat in het laagste adres. LSB byte (0x08) het daarop volgende hogere adres. Dit noemen we Big Endian. *) 26
27 Plaatsing bytes (8-bits) in woorden (16-bits) Hieronder een plaatje betreffende de memory map. Let hier op wanneer je gebruik maakt van constanten in Flash-ROM. 0x0000 0x BB 08 0x0001 0x x7ffc 0x7ffe adressen in bytes! 0x7ffc 0x7fff 27
28 SRAM De ATmega32 heeft 2048 bytes statisch RAM. 16 bits adres. Inhoud is vluchtig (volatile), verdwijnt na spanningverlies. Data-opslag: Gegevens tijdens draaien applicatie. Manipulatie via registers. 28
29 I/O De ATmega32 heeft 64 I/O-registers. Hiermee kan de hardware worden gemanipuleerd. I/O ports, Timer/Counter, Usart, ADC,... Inhoud is vluchtig, beginwaarden na power-on/reset. Speciale instructies (in, out). Wordt behandeld in week 3. 29
30 EEPROM De ATmega32 heeft 1024 bytes EEPROM. 16 bits adres, ATmega32 gebruikt onderste 10 bits. Inhoud blijft bewaard na spanningverlies. Data-opslag: Constanten. Gebruikersparameters voor applicatie. Manipulatie via I/O registers. 30
31 Address- en memory map De AVR heeft drie geheugens: Flash, eeprom en data. Registers en I/O zijn gemapped in de data-ruimte! flash eeprom data 0x0000 0x000 0x3ff 0x000 0x01f 0x020 0x05f 0x060 regs I/O 0x00 0x1f 0x00 regs 0x7fff SRAM 0x3f I/O 0x85f 31
32 Geheugenoverzicht en verbindingen General purpose registers regelen alle dataverplaatsingen Direct Program memory access Direct SRAM access EEPROM access via IO-registers EEAR,EEDR,EECR Secure Program memory en EEPROM access Timed sequence Register File SRAM Program Memory I/O Registers EEPROM 32
33 Typen instructies We onderscheiden de volgende typen instructies: Data transfer: laden van registers uit het geheugen opslaan van registers in het geheugen stack manipulatie Rekenkundige bewerkingen: optellen, aftrekken, verhogen/verlagen met 1, vermenigvuldigen, delen, schuiven. 33
34 Typen instructies Logische bewerkingen: AND, OR, EXOR, NOT testen van bits bitmanipulatie Spronginstructies absolute en relatieve sprongen voorwaardelijke en onvoorwaardelijke sprongen Subroutine aanroep en terugkeer van subroutine Speciale instructies: NOP, WDR, SLEEP, BREAK 34
35 Belangrijke gegevens voor instructie Wat is de binaire code van de instructie? Hoeveel geheugenadressen beslaat de instructie? Hoe worden de status flags beinvloed? Hoe vindt de CPU de data waarop de instructie moet werken (adresseermethode)? Hoeveel klokcycli neemt de instructie minimaal in beslag? 35
36 Programmeren Voor het programmeren van de AVR-microcontroller zijn drie mogelijkheden: Programmeren van de juiste bitpatronen. Deze bitpatronen worden machinecode genoemd. Doen we niet. Programmeren in assembly. Dit gaan we doen. Programmeren in een hogere programmeertaal zoals C. Dit wordt uitgewerkt in MICPRG. 36
37 Machinecode Het gebruik van machinecode bij het opstellen van een programma voor een microcontroller is niet handig. Het is lastig alle codes uit het hoofd te kennen en het is foutgevoelig. Daarnaast kost het veel tijd om de codes samen te stellen. Voorbeeld: c51 tel R1 bij R5 op en plaats in R5 37
38 Assembly Het is beter om een eenvoudige programmmeertaal op te stellen die de programmeur verlost van het samenstellen van de machinecode. Deze taal moet eenvoudig te leren zijn en goed de instructies uitdrukken in voor de mens te begrijpen woorden. Zo n programmeertaal wordt assembly genoemd. Het vertalen van de assembly-code naar machinecode wordt gedaan door een assembler (to assemble = samenstellen). 38
39 C Als de complexiteit van een programma toeneemt, levert het programmeren in assembly nogal wat problemen. Het gebruik van een hogere programmeertaal als C is dan noodzakelijk. Het helpt bij het opstellen van lussen (for, while, do..while), beslissingen (if, else) en functie-aanroep. Eenvoudig bewerken van variabelen (simpel, array, struct) 39
40 Mnemonics Om aan te geven wat een instructie moet gaan doen worden symbolische namen gebruiken die herkenbaar zijn. Deze symbolische namen worden mnemonics genoemd (geheugensteuntje). Enkele voorbeelden zijn: jmp jump mov copy contents of a register to another register ldi load register with constant nop no operation 40
41 Operands We weten nu dat jmp springen betekent en dat de microcontroller door deze instructie een sprong maakt naar een nieuw adres. Dat adres moet natuurlijk opgegeven worden: jmp 0x03f Bovenstaande instructie betekent: spring naar adres 03f in hexadecimale notatie. 0x03f noemen we een operand*. *) the quantity on which an operation is to be done. 41
42 Operands Er zijn ook instructies die twee operands nodig hebben: ldi r16,23 load register R16 with 23 decimal add r5,r1 add contents of R1 to R5 and put in R5 Let hierbij op het volgende: De transportrichting is van rechts naar links (23 naar r16). Het doelregister (destination register) is óók bronregister (source register). Dit levert minder te coderen bits. 42
43 Operands Er zijn ook instructies die geen operands hebben: nop ret wdr - no operation - return from subroutine - reset watchdog timer Er zijn geen instructies die drie of meer operands hebben.* *) behalve directives. 43
44 Labels Het gebruik van adressen in de vorm van een getal is niet handig. Als er nieuwe instructies worden ingevoegd, of de instructies worden verplaatst, verandert ook het sprongadres (doeladres). Een handig hulpmiddel zijn labels (etiket). De assembler berekent tijdens assembleren het doeladres. Voorbeeld: jmp loop... loop: ldi r16,23 44
45 Directives De assembler kan meer dan het vertalen van assemblercode naar machinecode. Sommige mnemonics genereren bitpatronen, andere dienen voor overzichtelijke programma s. Deze mnemonics worden directives genoemd. Directives kunnen operands hebben. 45
46 Directives.org zet het startpunt voor te genereren code.org 0x020 start: ldi r16,23 De ldi-instructie wordt gecodeerd vanaf adres 0x020. Label start krijgt de waarde 0x
47 Directives.equ ken een waarde toe aan een label.equ max_count = 23.equ buffer_size = max_count+1.org 0x020 start: ldi r16,max_count De label max_count krijgt de waarde 23. De label buffer_size krijgt de waarde
48 Directives.def ken een naam aan een register toe (aliasing).def loop_count = r16.def max_loops = r17... ldi loop_count,23 again:... cp loop_count,max_loops ;compares r16 & r17 brne again De naam loop_count is een alias voor register 16 48
49 Directives.byte reserveert bytes in SRAM-geheugen..dseg geeft start van datasegment aan..dseg.org 0x0060 array:.byte 10 ; loopt van 0x0060 t/m 0x0069 i:.byte 1 ; 0x006a Datasegment begint op 0x0060 en reserveert een array van tien bytes. De label array krijgt de waarde 0x0060, i wordt 0x006a. Met.byte kan het gebruik van variabelen worden nagebootst. 49
50 Directives.db definieert byte-constanten in programmageheugen..cseg geeft start van codesegment aan..cseg.org 0x100 table:.db 23,45,67,87 Codesegment begint op 0x100 en definieert een tabel van vier bytes. De label table krijgt de waarde 0x100. Er zijn instructies om deze data over te hevelen naar registers en RAM. 50
51 Directives.dw definieert word-constanten in programmageheugen..cseg geeft start van codesegment aan..cseg.org 0x100 varlist:.dw 0, 0xffff, 0b , Codesegment begint op 0x100 en definieert een tabel van vier words (acht bytes). De label varlist krijgt de waarde 0x
52 Directives.include voegt een file in op een bepaald punt..include "m32def.inc".org ldi out 0x020 r23,0xff DDRA,r23 Leest de file m32def.inc in. DDRA is gedefinieerd in deze file. Noot: nooit file includen in zichzelf! 52
53 Assembler format Hieronder het format van de assembly: [; comment] [label:] [label:] mnemonic [operand[,operand]] [; comment] [label:] directive [operand[,operand[, ]]] [; comment] [] = optioneel. 53
54 Voorbeeldprogramma.include "m32def.inc".def temp = r16.equ AllInputs = 0x00.equ AllOutputs = 0xff.org 0x000 ldi temp,allinputs ; Port A is input out DDRA,temp ; uses r16 for data movement ldi temp,alloutputs ; Port B is output out DDRB,temp loop: in temp,pina ; read Port A (switches) out PORTB,temp ; output to Port B (leds) rjmp loop ; and again 54
55 Machinecode De assembler vertaalt de assemblercode naar machinecode. Dit zijn de bitpatronen waarmee de controller werkt. Een instructie in machinecode bestaat uit een opcode en operands. De opcode is in principe niet gelijk aan een mnemonic. Een mnemonic kan meerdere opcodes vertegenwoordigen. Opcode staat voor Operation Code en geeft aan wat er gaat gebeuren. Voorbeeld: add 55
56 De Haagse Hogeschool, Delft
Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015
Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015 Microcontroller Uit Wikipedia A microcontroller (sometimes abbreviated µc or uc) is a small computer on a single integrated circuit
Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015
Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Computersysteem Een systeem dat rekenkundige operaties, data manipulaties en beslissingen kan uitvoeren, aan de hand
De Arduino-microcontroller in de motorvoertuigentechniek (4)
De Arduino-microcontroller in de motorvoertuigentechniek () E. Gernaat (ISBN 978-90-7930--6) De Atmel ATmega38/P microcontroller. Uitvoering De ATmega38 is een microprocessor van de Amerikaanse firma ATMEL
De Arduino-microcontroller in de motorvoertuigentechniek (8)
De Arduino-microcontroller in de motorvoertuigentechniek (8) E. Gernaat (ISBN 978-90-79302-11-6) 1 Assembly (Assembleertaal) 1.1 Inleiding De Arduino kan ook in assembleertaal (assembly) worden geprogrammeerd.
Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)
TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)
Hoe werkt een rekenmachine?
Hoe werkt een rekenmachine? Uit welke hardware-componenten bestaat een rekenmachine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachine I Constante getallen Instructies van het type
Digitale technieken Deeltoets II
Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.
Hoofdstuk 7. Computerarchitectuur
Hoofdstuk 7 Computerarchitectuur 1 controlebus CPU MEMORY I/O databus adresbus Figuur 71 Schematische opbouw van een computersysteem 8 Figuur 72 Een busverbinding Buslijn Out E A In Out E B In Out E C
von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014
von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 Herhaling: Booleaanse algebra (B = {0,1},., +, ) Elke Booleaanse functie f: B n B m kan met., +, geschreven worden Met Gates (electronische
Digitale en analoge technieken
Digitale en analoge technieken Peter Slaets February 14, 2006 Peter Slaets () Digitale en analoge technieken February 14, 2006 1 / 33 Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen
Digitale technieken Microprocessoren
Digitale technieken Microprocessoren ir. Patrick Colleman Inhoudstafel Inhoudstafel. Afkortingen. Inleiding - voorwoord 1 Hoofdstuk 1 : Voorstelling van getallen en karakters. 2 1.1 Voorstelling van binaire
Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam
Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly
Hoe werkt een computer precies?
Hoe werkt een computer precies? Met steun van stichting Edict Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Overview Introductie SIM-PL Simulatietool voor werking computer
De Arduino-microcontroller in de motorvoertuigentechniek (2)
De Arduino-microcontroller in de motorvoertuigentechniek (2) E. Gernaat (ISBN 978-90-79302-11-6) 1 Procescomputer 1.1 Microprocessoren algemeen De informatie-verwerking zoals is behandeld, is vrijwel geheel
VRIJ TECHNISCH INSTITUUT Burg.Geyskensstraat 11 3580 BERINGEN. De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis
Burg.Geyskensstraat 11 3580 BERINGEN De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis Versie: vrijdag 2 november 2007 2 Toegepaste informatica 1 De Microprocessor Zowel
Computerarchitectuur en netwerken. Memory management Assembler programmering
Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management
De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012
De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012 Tanenbaum hoofdstuk 2 von Neumann - architectuur. Tanenbaum, Structured Computer Organiza4on, FiMh Edi4on, 2006 Pearson Educa4on,
Microcontrollers. Week 5 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/
Microcontrollers Week 5 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/2018-2019 Week 5 Interrupts Timers 2 Interrupts Stel dat een programma snel moet reageren op een
scc = b) CD AB
Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,
Microcontrollers Week 3 Addressing modes, I/O ports, vergelijken, beslissen Jesse op den Brouw INLMIC/2015-2016
Microcontrollers Week 3 Addressing modes, I/O ports, vergelijken, beslissen Jesse op den Brouw INLMIC/2015-2016 Adressing modes De operands zijn te verdelen in: Constante: 0 255 Register: r0 r31 I/O adres:
ES1 Project 1: Microcontrollers
ES1 Project 1: Microcontrollers Les 5: Timers/counters & Interrupts Timers/counters Hardware timers/counters worden in microcontrollers gebruikt om onafhankelijk van de CPU te tellen. Hierdoor kunnen andere
Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)
TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)
Linux Assembly Uitwerkingen van de vragen en opdrachten
Linux Assembly Uitwerkingen van de vragen en opdrachten The choice of a GNU generation Hoofdstuk 3 1. (a) Een system call is een functie geleverd door de kernel (het operating system, een interface tussen
Inleiding microcontrollers. Week 1 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/
Inleiding microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/2018-2019 Microcontroller Uit Wikipedia: A microcontroller (sometimes abbreviated µc or
Microcontrollers Week 5 Interrupts, Timer/Counter 0 Jesse op den Brouw INLMIC/
Microcontrollers Week 5 Interrupts, Timer/Counter 0 Jesse op den Brouw INLMIC/2014-2015 Interrupts Stel dat een programma snel moet reageren op een event (gebeurtenis) van buitenaf. Dit kan worden opgelost
Antwoorden zijn afgedrukt!!!!!!!
Computerorganisatie INF/TEL (233) februari 2, 9. 2.3 uur 8 bladzijden met 9 opgaven 3 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam, studentnummer, naam vak, vakcode,
De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)
De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012
11011 Processor MMI Intro. Binaire representatie. Computer: Logische opbouw (Von Neumann) 3-input 1-hot detector.
NOT NOT NOT NOT NOT NOT 9-09-7 Intro MMI The Digital World 2 Peter van Kranenburg Vandaag: Terugblik vorige week Werking CPU Soorten instructies Werking CPU Cache Pipelining Digitale representatie Tekst
Antwoorden vragen en opgaven Basismodule
Antwoorden vragen en opgaven Basismodule Antwoorden van vragen en opgaven van hoofdstuk 1 1. Is elke combinatorische schakeling een digitale schakeling? Zo nee, waarom niet? Antwoord: Elke combinatorische
2 Algemene opbouw van een computersysteem
Procescomputer E. Gernaat 1 Microprocessoren algemeen Informatie-verwerking zoals behandeld is momenteel vrijwel geheel overgenomen door microprocessoren. Wanneer we voortborduren op het idee van combinatorische
Wat is een busverbinding?
Wat is een busverbinding? gemeenschappelijke verbinding tussen CPU, geheugen en I/O-schakelingen onderscheid tussen: databus/adresbus/controlbus intern/extern serieel/parallel unidirectioneel/bidirectioneel
assembleertaal F. Vonk versie
2017 assembleertaal F. Vonk versie 1 8-8-2017 inhoudsopgave 1. inleiding... - 3-2. Zeer Eenvoudige Processor v2 (ZEP2)... - 4-3. de code, simulator en geheugen... - 6-4. optellen... - 11-5. vermenigvuldigen...
Computerarchitectuur en netwerken. Memory management Assembler programmering
Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 12 september 2016 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management
ES1 Project 1: Microcontrollers
ES1 Project 1: Microcontrollers Les 3: Eenvoudige externe hardware & hardware programmeren in C Hardware programmeren in C Inmiddels ben je al aardig op gang gekomen met het programmeren van microcontrollers.
Practicum 1: Construeer je eigen microprocessor
Practicum 1: Construeer je eigen microprocessor Processen en processoren 19 april 2011 1 Inleiding Doel van deze opdracht is het een werkende, eenvoudige microprocessor te maken volgens de specificaties
18 Embedded systemen 1
18 Embedded systemen 1 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15(pc) NZCV CPSR Figuur 18.1 ARM-programmeermodel Byte 0 Byte 1 Byte 2 Byte 3 Byte 3 Byte 2 Byte 1 Byte 0 Figuur 18.2 Endian conversie
Sequentiële Logica. Processoren 24 november 2014
Sequentiële Logica Processoren 24 november 2014 Inhoud Eindige automaten Schakelingen met geheugen Realisatie van eindige automaten Registers, schuifregisters, tellers, etc. Geheugen Herinnering van week
Studentnummer:... Opleiding:...
Computerorganisatie INF/TEL (233) februari 2, 9. 2.3 uur 8 bladzijden met 9 opgaven 3 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam, studentnummer, naam vak, vakcode,
Rekenen met computergetallen
Rekenen met computergetallen Getallenstelsel en notaties Getallen in computers zijn opgebouwd met het kleinste element dat een computer kent: een bit. Een bit kan twee logische waardes bevatten, een nul
H ANDLEIDING AVR- ASSEMBLER PROGRAMMEREN
H ANDLEIDING AVR- ASSEMBLER PROGRAMMEREN VERSIE 3.0 Harry Broeders en Jesse op den Brouw De Haagse Hogeschool Opleiding Elektrotechniek 13 september 2014 [email protected] [email protected] 1
Samenvatting Computer Architectuur 2006-2007
Controletransferinstructies = Instructies die verandering brengen in de zuiver sequentiële uitvoering van de instructies. Ze doen dit door de instructiewijzer een andere waarde te geven. Ze kunnen met
De computer als processor
De computer als processor DE FYSIEKE COMPUTER Componenten van de computerconfiguratie Toetsenbord Muis Scanner Microfoon (Extern geheugen) Invoerapparaten Uitvoerapparaten Monitor Printer Plotter Luidspreker
Computertechniek vorige examens
Computertechniek vorige examens Examen 2009 Groep 1 1. Geef de 2 manieren waarop de adressen van de I/O-module in de adresruimte geïntegreerd kunnen zijn. (memory-mapped en isolated dus) 2. Wat is post-indexering?
Getalformaten, timers en tellers
Getalformaten, timers en tellers S_CU CU S PV R CV DEZ CV_BCD S_ODT S TV BI R BCD 1 pagina 1 Getalformaten (16 bits) PG CPU BCD W#16#296 Voorteken (+) 2 9 6 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 Positieve getallen
Hoofdstuk 19. Embedded systemen
Hoofdstuk 19 Embedded systemen 1 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15(pc) NZCV CPSR Figuur 19.1: ARM-programmeermodel. Byte 0 Byte 1 Byte 2 Byte 3 Byte 3 Byte 2 Byte 1 Byte 0 Figuur 19.2:
17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies
17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke
H ANDLEIDING AVR- ASSEMBLER PROGRAMMEREN
H ANDLEIDING AVR- ASSEMBLER PROGRAMMEREN VERSIE 3.3 Harry Broeders en Jesse op den Brouw De Haagse Hogeschool Opleiding Elektrotechniek 4 september 2015 [email protected] [email protected] 1
Didactische computer Siemens
Didactische computer Siemens 1. Opbouw Het demonstratiemodel is uitgevoerd als eenvoudige 4 bits processor. Het is uiteraard veel eenvoudiger van opbouw dan onze huidige krachtige processoren, wat niet
Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,
Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt
Computerarchitectuur. H&P Appendix A: Instruction Set Principles
Computerarchitectuur H&P Appendix A: Instruction Set Principles Kristian Rietveld http://ca.liacs.nl/ Instruction Sets Een processor moet precies worden verteld wat deze moet doen. Dit staat opgeschreven
Inleiding Digitale Techniek
Inleiding Digitale Techniek Week 4 Binaire optellers, tellen, vermenigvuldigen, delen Jesse op den Brouw INLDIG/25-26 Optellen Optellen is één van meest gebruikte rekenkundige operatie in digitale systemen.
Project Digitale Systemen
Project Digitale Systemen Case Study The Double Dabble algorithme Jesse op den Brouw PRODIG/2014-2015 Introductie Double Dabble In de digitale techniek wordt veel met decimale getallen gewerkt, simpelweg
EE1410: Digitale Systemen BSc. EE, 1e jaar, , 8e hoorcollege
EE4: Digitale Systemen BSc. EE, e jaar, 22-23, 8e hoorcollege rjan van Genderen, Stephan Wong, Computer Engineering 3-5-23 Delft University of Technology Challenge the future Hoorcollege 8 Combinatorische
Digitale Systeem Engineering 1. Week 4 Toepassing: Pulse Width Modulation Jesse op den Brouw DIGSE1/2013-2014
Digitale Systeem Engineering 1 Week 4 Toepassing: Pulse Width Modulation Jesse op den Brouw DIGSE1/2013-2014 PWM basics Het regelen van het toerental van een elektromotor kan eenvoudig worden gedaan door
informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)
informatica hardware overzicht moederbord CPU RAM GPU architectuur (vwo) 1 moederbord basis van de computer componenten & aansluitingen chipset Northbridge (snel) Southbridge ("traag") bussen FSB/HTB moederbord
Onderwijseenheid INLMIC Inleiding microcontrollers
Studiebelasting: 3 CP Kwartaal: EQ1.1, EQ3D.1 Verantwoordelijke docenten: J.E.J. op den Brouw, B. Kuiper Opbouw onderwijseenheid. OEdeel kwt sbu theo pract proj toetswijze bs INLMIC-co1 1 42 14 Meerkeuze
Software Reverse Engineering. Jacco Krijnen
Software Reverse Engineering Jacco Krijnen Opbouw Inleiding en definitie Techniek Assemblers/Disassemblers Compilers/Decompilers Toepassingen Security Overige Softwarebeveiliging Piracy Anti RE technieken
slides12.pdf December 14, 2001 1
Onderwerpen Inleiding Algemeen 12 Getallen Getallen Representaties Rekenen Problemen Piet van Oostrum 12 dec 2001 INL/Alg-12 1 X INL/Alg-12 1 X Getallen Soorten getallen Wat is een getal? Experiment: met
Oefeningen Interpretatie I Reeks 6 : Registermachines
Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren
slides2.pdf April 12,
Werking van CPU CSN CS2 CPU, I/O en Memory management Piet van Oostrum 12 april 2002 De ALU kan alleen eenvoudige operaties uitvoeren (bijv. twee getallen optellen, vermenigvuldigen of testen of iets >
Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?
Hoofdstuk 3: Processen: Beschrijving en Besturing Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? 1 Wat is een proces? Een proces is een programma in uitvoering
Hoofdstuk 2. De Von Neumann-architectuur
Input Interface Output Interface Informatica Deel III Hoofdstuk 2 De Von Neumann-architectuur 2.1. Organisatie. De overgrote meerderheid der digitale computers zijn georganiseerd zoals weergegeven in fig.
Inleiding Digitale Techniek
Inleiding Digitale Techniek Week 5 2 s complement representatie, BCD-optellen Jesse op den Brouw INLDIG/2015-2016 Introductie negatieve getallen Tot nu toe zijn alleen positieve getallen (en nul) behandeld.
Tentamen 17 augustus 2000 Opgaven Computerarchitectuur
Tentamen 17 augustus 2000 Opgaven - 1 - Computerarchitectuur Tentamen Computerarchitectuur (213005) 17 augustus 2000 2 bladzijden met 5 opgaven 3 antwoordbladen Het raadplegen van boeken, diktaten of aantekeningen
Zelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
Inleiding Digitale Techniek. Week 7 Schuifregisters Jesse op den Brouw INLDIG/2013-2014
Inleiding Digitale Techniek Week 7 Schuifregisters Jesse op den Brouw INLDIG/213-214 Schuifregisters In de digitale techniek en met name in de digitale communicatie wordt veel gebruik gemaakt van seriële
Tentamen Computersystemen
Tentamen Computersystemen baicosy06 2e jaar bachelor AI, 2e semester 24 september 2013 13u-15u IWO 4.04A (blauw), Academisch Medisch Centrum, Meidreef 29, Amsterdam ZuidOost Het is niet toegestaan de communicatie
Microcontrollers. 8051 based microcontroller ADuC832 from Analog Devices. 12/2011 Roggemans M. (MGM)
Microcontrollers 8051 based microcontroller ADuC832 from Analog Devices 12/2011 Roggemans M. (MGM) LES 1 Doelstellingen: situering vak, afspraken labo en evaluatie toelichten concept embedded oplossing
FAT32 disk structuur 2007 stam.blogs.com
FAT32 disk structuur 2007 stam.blogs.com Master Boot Record De Master Boot Record is vrijwel hetzelfde voor alle besturingssystemen. Het ligt binnen de eerste sector van de harddisk: Cylinder 0, Head 0,
Tentamen Computersystemen
Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:
De CB channel controller TMS1022NL/NLL en TMS1023NL/NLL. ( Dit is een maskrom-programmed version van de Texas Instruments TMS1000 family)
De CB channel controller TMS1022NL/NLL en TMS1023NL/NLL ( Dit is een maskrom-programmed version van de Texas Instruments TMS1000 family) Ik begin even met een korte inleiding over de TMS1000. ( Wil je
Hoofdstuk 18. Embedded systemen
Hoofdstuk 18 Embedded systemen 1 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15(pc) NZCV CPSR Figuur 18.1 ARM-programmeermodel Byte 0 Byte 1 Byte 2 Byte 3 Byte 3 Byte 2 Byte 1 Byte 0 Figuur 18.2
Bachelor Kunstmatige Intelligentie
Computer Systemen baicosy06 Bachelor Kunstmatige Intelligentie Deeltentamen Datum: 25 september 2015 Tijdstip: 13u-15u Aantal pagina s (inclusief voorblad): 12 Aantal vragen: 6 VOORDAT U BEGINT Controleer
RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen
Jan Genoe KHLim Situering RAM-geheugens Geheugens Halfgeleider Geheugens Serieel toegankelijk geheugen Willekeurig toegankelijk geheugen Read Only Memory ROM Random Access Memory RAM Statische RAM SRAM
Microcontrollers Theorie
Microcontrollers Theorie 8051 based microcontroller ADuC832 from Analog Devices 07/2016 Roggemans M. (MGM) LES 1 Doelstellingen: situering vak, afspraken labo en evaluatie toelichten concept embedded oplossing
Microcontrollers. Bart Kardinaal E204 221490 Verslag microcontrollers 28-11-06. Rev 1.0 Status definitief.
Microcontrollers Bart Kardinaal E204 221490 Verslag microcontrollers 28-11-06 Rev 1.0 Status definitief. Voorword. Dit verslag is geschreven in het kader van de opdracht, als onderdeel van het eerste studiejaar
Geheugenbeheer. ICT Infrastructuren 2 december 2013
Geheugenbeheer ICT Infrastructuren 2 december 2013 Doelen van geheugenbeheer Reloca>e (flexibel gebruik van geheugen) Bescherming Gedeeld/gemeenschappelijk geheugen Logische indeling van procesonderdelen
Deel 8: stappenmotoren en interrupts
Deel 8: stappenmotoren en interrupts Stappenmotor Kan hoek van as instellen zonder een gesloten feedbacksysteem. Het is een simpel en precies open loop systeem. Werkt met discrete stappen, dus schokkerig
Inhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation
2 Inhoudsopgave Optimalisatie van de mmips pc Sander Stuijk Veel gestelde vragen Hoe moet ik forwarding implementeren? Hoe moet ik clipping implementeren? Waarom is mijn simulatie zo traag? Hoe kan ik
Talstelsels en getalnotaties (oplmodel)
Talstelsels en getalnotaties (oplmodel) herhalingsvragen 1. Waarom werken computers binair? Omdat binaire computers veel makkelijker te maken is. De kans op fouten is ook veel kleiner. het spanningsverschil
Alflex Products B.V. LRN-010-x-C. Payload specificatie
Alflex Products B.V. LRN-010-x-C Payload specificatie Versie: 1.0.0 Datum vrijgave: 26-10-2018 Inhoud Introductie... 2 1 Bericht types... 3 1.1 Report bericht... 3 1.2 Configuratie berichten... 3 2 Report
