Computerarchitectuur. Ch 4. Data-Level Parallelism
|
|
- Marina van der Velde
- 5 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Computerarchitectuur Ch 4. Data-Level Parallelism Kristian Rietveld
2 Data-Level Parallelism Nu we de limieten hebben gezien van parallelisme tussen instructies, kunnen we parallelisme 'vinden' in data? - Data-level parallelism - Het draait hier om stukken data die in parallel kunnen worden verwerkt. Voorbeelden waar DLP te vinden is: - Matrix codes (wetenschappelijke codes) Image & video processing Sound processing...
3 Data-Level Parallelism (2) Hoe kunnen we data-level parallelism implementeren? Met behulp van multi-cores: thread-level parallelism. Zie ook hoofdstuk 5. Zouden we een instructie dezelfde operatie kunnen laten toepassen op meerdere elementen tegelijkertijd? - Single Instruction Multiple Data (SIMD)
4 SIMD Het idee van SIMD is dat we steeds 1 instructie specificeren die werkt op meerdere data-elementen in parallel. Deze start dus meerdere operaties per instructie. Minder controle logica nodig, beter energiegebruik (vandaar vaak te vinden in smart phones e.d.). Programma's blijven sequentieel en een parallelle speedup wordt gehaald door parallelle data operaties. - Prettig voor de programmeurs; het is sequentieel makkelijker denken dan parallel.
5 SIMD (2) We zullen 3 vormen van SIMD bekijken: 1) Vectorarchitecturen 2) Multimedia SIMD extensies (MMX ('96), SSE, AVX (allen Intel), AltiVec (PowerPC), NEON (ARM)) 3) Graphics Processing Units (GPUs)
6 Vector Architectures De ontwikkeling van klassieke vectorarchitecturen gaat terug tot de Cray-I (1976). In het boek wordt een VMIPS ISA geïntroduceerd, dat lijkt op de ISA van Cray-I: Grote register file, met vector registers. - 8 registers met elk 64 elementen. - Veel read/write ports. Vector Functional Unit, volledig gepipelined. Vector instructies die werken op volledige vectoren. - addvv.d V1,V2,V3 Optelling van vectoren V2, V3, resultaat naar V1. - addvs.d V1,V2,F0 Tel scalair F0 op bij elk element V2, resultaat naar V1.
7 Vectorinstructies Vectorinstructies kunnen op verschillende manieren worden geïmplementeerd. Het aantal beschikbare functional units kan verschillen: - Het is eenvoudig om brede units te maken die draaien op lage kloksnelheid. Tussen elementen binnen eenzelfde instructie kunnen geen hazards ontstaan, dus geen checks nodig (bij superscalar wel). - Of smalle units en pipelining toepassen. De Cray-I had 12 pipelined functional units. In het algemeen kan een hoge bandbreedte worden gehaald zonder gebruik te maken van dynamic scheduling.
8 Vectorinstructies (2) We bekijken een voorbeeld (DAXPY): Y = a * X + Y - We gaan uit van vectoren met lengte 64. L.D DADDIU Loop: L.D MUL.D L.D ADD.D S.D DADDIU DADDIU DSUBU BNEZ F0, a R4,Rx,#512 F2,0(Rx) F2,F2,F0 F4,0(Ry) F4,F4,F2 F4,0(Ry) Rx,Rx,#8 Ry,Ry,#8 R20,R4,Rx R20,Loop
9 Vectorinstructies (2) We bekijken een voorbeeld (DAXPY): Y = a * X + Y - We gaan uit van vectoren met lengte 64. L.D DADDIU Loop: L.D MUL.D L.D ADD.D S.D DADDIU DADDIU DSUBU BNEZ F0, a R4,Rx,#512 F2,0(Rx) F2,F2,F0 F4,0(Ry) F4,F4,F2 F4,0(Ry) Rx,Rx,#8 Ry,Ry,#8 R20,R4,Rx R20,Loop L.D LV MULVS.D LV ADDVV.D SV F0,a V1,Rx V2,V1,F0 V3,Ry V4,V2,V3 V4,Ry
10 Vectorinstructies (3) Loops die mbv vectorinstructies kunnen worden geschreven noemen we vectorizable loops. Pipeline interlocks: - In de MIPS code moet elke add wachten voor mul en elke sd voor add. - In VMIPS: de vectorinstructie heeft alleen een stall voor het eerste element, daarna blijft de pipeline gevuld. - We zien dus een pipeline stall per vector instructie ipv per vector element. Forwarding in vector architecturen: - Forwarding kan worden toegepast tussen instructies die op dezelfde elementen opereren: men noemt dit chaining.
11 Terminologie Vector functional units hebben vaak meerdere parallelle pipelines: dit noemt men lanes. - Per clock cycle worden 2 of meer resultaten geproduceerd. Een convoy is een set van vectorinstructies die samen kunnen worden uitgevoerd. Middels chaining kan een vectoroperatie worden gestart zodra de eerste individuele elementen beschikbaar zijn. - Instructies die RAW hazards hebben kunnen zo toch in dezelfde convoy zitten. Chime: de tijd die nodig is om een convoy te verwerken. - Exacte tijd afhankelijk van target architectuur. Executietijd kan worden geschat door het aantal convoys te tellen (m convoys -> m chimes). - Hier wordt wel uitgegaan van lange vectoren.
12 Multiple lanes Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig. 4.4.
13 Multiple lanes (2) Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig. 4.5.
14 Masking Loops met if-condities kunnen we niet zomaar vectoriseren. We moeten wel de control dependence correct afhandelen. for (i = 0; i < 64; i++) if (X[i]!= 0) X[i] = X[i] Y[i]; Vaak wordt dit opgelost middels mask registers, een Boolean vector. - Het Boolean-element geeft telkens aan of een operatie voor dat element wel of niet moet worden uitgevoerd. - Elementen waarvoor de mask nul is kosten nog wel executietijd Vaak draait de loop nog steeds sneller dan een scalar (non-vector) variant.
15 Gather/Scatter Bij een vector-load laden we elementen die achter elkaar in het geheugen staan of volgens een vaste stride. Wat nu in het geval van indirectie? - Dus de array-indices om te benaderen staan in een andere array/vector. for (i = 0; i < n; i++) A[K[i]] = A[K[i]] + C[M[i]]; Hiervoor bestaan er speciale gather/scatter instructies: - Gather: load aan de hand van een index vector. - Scatter: tegenovergestelde operatie.
16 Multimedia SIMD Extensions
17 Multimedia SIMD Vele general-purpose processoren bevatten multimedia SIMD extensies. Introductie MMX in Wat gebeurde er? - x86 had toentertijd al 64-bit floating-point registers. - Veel graphics gebruikten 8-bit pixels. - Met MMX werd het mogelijk om via de 64-bit FP registers ook 8 8-bit of 4 16-bit operaties tegelijkertijd uit te voeren. In feite werken multimedia SIMD instructies op kleine vectoren. - Daarnaast ontbreken vele geavanceerde functionaliteiten van vectorarchitecturen, zoals strided vector load, scatter/gather.
18 Multimedia SIMD (2) Waarom nuttig / waarom geïntroduceerd? Er hoeft maar weinig aan bestaande ALU te worden toegevoegd, dus goedkoop om te implementeren. Door de kleine vectoren zijn er ook (veel) minder hoge eisen aan geheugenbandbreedte vergeleken met vectorachitecturen. Het doel was om via hand-gecodeerde libraries programma's te versnellen. - Er zijn compilers die vectorcode kunnen genereren, maar automatische vectorisatie is zeer beperkt. - Dit alles blijft toch handwerk... en zelfs dan moeilijk om winst te halen.
19 Multimedia SIMD (3) Een evolutie van SIMD: MMX, bit vectors. Pentium Pro / Pentium II era. SSE (Streaming SIMD Extensions), Aparte register set, 128-bits. Pentium III era. - SSE2 2001, SSE3 2004, SSE4, AVX (Advanced Vector Extensions), bit vectors. Intel core era. - AVX2 voegt een gather instructie toe, maar geen scatter. Verwacht: AVX met 512-bit en later 1024-bit vectors. In ARM hebben we NEON, PowerPC had AltiVec.
20 Multimedia SIMD (4) Hoe programmeren we met behulp van SIMD extensies? Je kunt zelf assembly code schrijven. Iets eenvoudiger: gebruik maken van intrinsics. - Dit zijn eigenlijk de SIMD instructies verpakt als C functies, zodat je deze in C programma's kunt gebruiken zonder zelf inline assembly te schrijven. - Compiler zorgt voor een verdere vertaling naar assembly. - Zie verder het practicum. Als je peak performance wilt halen, blijf je aangewezen op assembly om zelf de instructievolgorde te tunen, enz.
21 Roofline Model Met behulp van het roofline model kunnen we de potentiële performance van verschillende SIMD architecturen vergelijken. We maken één grafiek, waarin we afbeelden: - Floating-point performance (peak) - Memory performance (max. bandbreedte) - Arithmetic intensity (FLOPS / bytes retrieved from memory) Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig
22 Roofline Model (2) Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig Diagonaal: berekening is memory-bound. Vlakke lijn: berekening is compute-bound
23 Graphics Processing Units
24 GPUs Waar zijn GPUs vandaan gekomen? - Eigenlijk vanuit een hele andere hoek. - Volledig ontworpen voor graphics. Begon met 3dFX eind jaren 90. Wat gebeurt er allemaal bij het renderen van 3-d graphics? - 3-d modellen opgebouwd uit polygonen / driehoeken. Coördinaattransformaties. Driehoeken uitlijnen op een grid van pixels. Driehoeken inkleuren. Driehoeken voorzien van schaduw / textures. Allemaal (eenvoudige) data parallele taken!
25 GPUs (2) GPUs zijn in feite ontworpen voor het uitvoeren van dezelfde taken op zeer veel data-elementen. - In het bijzonder eenvoudige taken: dus simpele programma's. Op een gegeven moment is men gaan kijken of de GPU ook buiten de graphics kon worden toegepast. - Matrix berekeningen doen via OpenGL textures (midden 2000). - Shaders programmeren. - En met de introductie van CUDA en OpenCL werd het gebruik van GPUs buiten graphics echt serieus. GPGPU programming: General Purpose GPU programming. Door CUDA heeft NVidia een zeer grote voorsprong wat betreft GPGPU programming.
26 GPUs (3) Vergeleken met CPUs is een GPU totaal anders georganiseerd. - Minder control logic. - Veel meer functional units. - Moderne kaarten hebben > 3000 simpele cores. De grootste moeilijkheid bij het begrijpen van GPUs is alle verschillende jargon die wordt gebruikt. - Het boek biedt een tabel aan met de NVidia-termen en de meer klassiekere benamingen die het boek gebruikt.
27 GPU programmeren Hoe programmeren we GPUs? De GPU is een aparte kaart binnen een computersysteem en wordt aangestuurd door de CPU (host). We hebben een library nodig om de GPU aan te sturen: - CUDA of OpenCL. We schrijven functies die op de GPU zullen worden uitgevoerd ( kernels ). Het geheugen van de GPU is apart, we moeten expliciet data tussen de CPU en GPU geheugens verplaatsen.
28 Werkverdeling Wanneer alles klaar staat, starten we duizenden threads op, die dezelfde kernel gaan uitvoeren. - Maar ieder op andere data! - Om threads uit te kunnen voeren, worden deze gegroepeerd in groepen van 32 threads (warps). - SIMT: Single Instruction Multiple Threads. Speciale manier om het werk te verdelen: - We starten een grid dat bestaat uit een aantal thread blocks. - Een thread block wordt toegewezen aan een bepaalde processor. - Een thread block bestaat uit een gegeven aantal threads, die in groepjes van 32 op een processor worden uitgevoerd.
29 Werkverdeling (2) Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig
30 Structuur GPU Een streaming multiprocessor (SM) kan 32 threads (een warp) tegelijkertijd uitvoeren. - Eigenlijk een 32-lane SIMD processor. - Elk van de 32 threads voert steeds dezelfde instructie uit. Een SM krijgt een geheel thread block toegewezen. - De hardware kan automatisch wisselen tussen blokken van 32 threads binnen hetzelfde thread block. - Multithreading wordt gebruikt om geheugen latency te verbergen! - Het boek noemt een SM een multithreaded SIMD processor. Een GPU bestaat uit meerdere streaming multiprocessors. - En bevat een thread block scheduler om thread blocks toe te wijzen aan SMs. - We zien hier dus terug: multi-core, multi-threading en SIMD.
31 Structuur GPU (2) Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig
32 Structuur GPU (3) Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig
33 NVIDIA Fermi architectuur Structuur van een SM. Twee sets van 16 SIMD lanes. Twee schedulers & dispatch units. Er worden telkens 2 threads gekozen, van ieder wordt een instructie naar een SIMD lane gestuurd. Dit gebeurt iedere 2 clock cycles. Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig
34 NVIDIA Fermi architectuur (2) Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig
35 GTX 980 Maxwell microarchitectuur 2048 CUDA cores Links een GM Graphics Processing Clusters. 16 SMs Source: GeForce GTX 980 Whitepaper
36 Per SM: 128 CUDA cores. Per SM: 4 warp schedulers. Een warp scheduler kan 2 instructies per per warp per clock cycle dispatchen. DP units niet weergegeven (4 per SM). Source: GeForce GTX 980 Whitepaper
37 Source: NVIDIA P100 Architecture Whitepaper NVIDIA Pascal microarchitectuur CUDA cores (Pieksnelheid ~10 TFLOPS, single-precision) Ter vergelijking: om 1 TFLOPS te behalen was in 1996 nog een grote supercomputer nodig.
38 Branching in GPUs Bij het uitvoeren van 32 threads, moeten alle threads steeds dezelfde instructie uitvoeren. Hoe gaat dat met if-statements? Waar de helft van de threads true heeft en de andere helft false? - Predicated instructies: true -threads slaan het resultaat van de berekening wel op, false -threads niet. Conditional branches in het algemeen: - Threads die de branch wel nemen voeren die uit, de andere threads wachten tot de control flow weer samenkomt. - Komt de efficientie dus niet ten goede. - Uitgebreide branching op GPUs vermijden.
39 Organisatie van het geheugen Elke SM heeft een on-chip lokaal geheugen ( shared memory ) dat door threads binnen eenzelfde thread block kan worden gedeeld. Daarnaast is er het normale off-chip GPU geheugen. - Elke thread heeft daarin wat prive opslag voor een stack, etc. - Om dit te versnellen wordt een kleine cache gebruikt. Er is geen hele grote cache: - Het doel van de cache is in het algemeen niet om latency te verbergen. - Bandbreedte wordt gekozen boven latency en latency wordt verborgen via multithreading. - In plaats van transistoren voor grote caches in te zetten, worden deze ingezet voor meer functional units.
40 Organisatie van het geheugen (2) Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig
41 Organisatie van het geheugen (3) Bij het optimaliseren van GPU codes komt vaak de term coalescing langs. Stel er wordt een load instructie uitgevoerd, dan voeren alle threads die tegelijkertijd uit. Er is speciale hardware die nagaat of de adressen van de load instructies van de verschillende threads binnen hetzelfde geheugenblok vallen. Wanneer dit zo is, worden al deze loads samengenomen in 1 load request dat naar het geheugen gaat. - Bandbreedte gaat hierdoor omhoog, overhead omlaag. Datastructuren worden zo opgeslagen zodat er gebruik kan worden gemaakt van coalescing.
42 Gebruiken van CUDA Hoe programmeren we zelf een GPU met behulp van CUDA? We maken gebruik van een speciale superset van C/C++; deze bevat speciale CUDA-extensies. - Source code geven we vaak de extensie ".cu". Hierdoor moeten we gebruik maken van een speciale C/C++compiler die in de CUDA Toolkit zit: nvcc. Met behulp van deze extensies schrijven we een of meerdere "kernels" die moeten gaan draaien op de GPU. Tevens moeten we de data transfers tussen de CPU en GPU regelen.
43 Data transfer Speciale functies om "device memory" te alloceren en data te kopieren tussen CPU en GPU: /* CPU */ float *b = (float *)malloc(n * sizeof(float)); cudamalloc(&b_dev, N * sizeof(float)); cudamemcpy(b_dev, b, N * sizeof(float), cudamemcpyhosttodevice); /* en de andere kant op */ cudamemcpy(b, b_dev, N * sizeof(float), cudamemcpydevicetohost); cudafree(b_dev);
44 Kernel schrijven Denk eerst na hoe je het werk over de threads wilt verdelen. Daarna kun je de kernel schrijven. Bijvoorbeeld voor een matrix-manipulatie waar we een element met 2 vermenigvuldigen en een waarde uit een vector erbij optellen. We kunnen er voor kiezen om te beginnen voor om voor elk matrix element een thread te maken. global void add_vec_gpu1(float A[N][N], const float b[n]) { int i = blockidx.x * blockdim.x + threadidx.x; int j = blockidx.y * blockdim.y + threadidx.y; } A[i][j] = A[i][j] * (float)2 + b[i]; Met behulp van shared kun je variabelen (ook arrays) declareren die worden gedeeld tussen alle threads in een thread block.
45 Kernel opstarten Om de kernel op te starten moeten we aangegeven uit hoeveel threads een thread block bestaat en uit hoeveel blocks een grid bestaat. Dit mag worden aangegeven in 1, 2 of 3 dimensies. Voor ons voorbeeld: we hebben een thread per matrix element nodig. Stel we gebruiken 16 x 16 = 256 threads per thread block. We hebben dan een grid van N/16 bij N/16 threads blocks. We starten dan de kernel als volgt op: dim3 thread_block_size(16, 16); dim3 n_thread_blocks(n/thread_block_size.x, N/thread_block_size.y); add_vec_gpu1<<<n_thread_blocks, thread_block_size>>>(a_dev, b_dev);
46 Compileren en testen We kunnen het programma nu compileren en testen. nvcc -O3 -o test test.cu Bij het compileren wordt er automatisch PTX assembly en een PTX binary gemaakt aan de hand van de kernel codes. Je kunt het programma uitvoeren door gewoon "./test" op te starten. Je kunt het programma ook onder "nvprof" uitvoeren, dit geeft je allerlei statistieken: nvprof./test
47 Hoe nu verder Ok, het werkt en hoe nu verder? Nu begint het echte analyseren en optimaliseren. Bijvoorbeeld: de thread blocks anders inrichten. We kiezen ervoor om per thread block 512 matrix elementen in dezelfde rij te verwerken. En verder: alle non-coalesced memory accesses proberen te elimineren.
48 Loop-Level Parallelism
49 Loop-Level Parallelism Voor DLP hebben we het liefst loops die volledig in parallel kunnen worden uitgevoerd. - Alle iteraties zijn onafhankelijk van elkaar. - Er zijn geen loop-carried dependences. for (i = 0; i < 1000; i++) x[i] = x[i] + s;
50 Loop-Level Parallelism (2) Soms valt er niets aan loop-carried dependences te doen, zoals in dit voorbeeld. - Eerste statement legt de volgorde van de iteraties geheel vast; A[i] wordt gelezen die in de voorgaande iteratie is gegenereerd. - Stel we zouden alleen de dependence op A[i+1] hebben tussen statement 1 en 2, dan zouden de loop iteraties wel in parallel kunnen worden uitgevoerd. Dit komt omdat deze dependence binnen eenzelfde loop iteratie valt. for (i = 0; i < 100; i++) { A[i+1] = A[i] + C[i]; B[i+1] = B[i] + A[i+1]; }
51 Loop-Level Parallelism (3) for (i = 0; i < 100; i++) { A[i] = A[i] + B[i]; B[i+1] = C[i] + D[i]; } Soms kan met een transformatie een loop worden omgezet in een loop die wel in parallel kan worden uitgevoerd. A[0] = A[0] + B[0]; for (i = 0; i < 100; i++) { B[i+1] = C[i] + D[i]; A[i+1] = A[i+1] + B[i+1]; } B[100] = C[99] + D[99];
52 Loop-Level Parallelism (4) Compilers kunnen dergelijke loop transformaties uitvoeren. - Via dependence analysis proberen zij de dependences in een loop in kaart te brengen. Problemen: pointers, indirect access, data die in verschillende functies wordt gebruikt. - Op basis hiervan kunnen bepaalde transformaties wel/niet worden uitgevoerd. True dependences moeten in tact blijven. Anti en output dependences kunnen worden verwijderd via renaming (vergelijk register renaming). Qua transformaties: denk aan loop (zo veel mogelijk) parallel maken, vectoriseren, loop interchange, loop blocking, enz.
53 Tot slot Een aantal jaren geleden al een groot verschil en dit verschil wordt alleen maar groter. SP DP Taken from Computer Architecture: A Quantitative Approach, fifth edition. Fig. 4.28
54 Tot slot (2) (Kon helaas geen recenter overzicht vinden.)
55 Tot slot: trends Het lijkt erop dat het aantal SIMD lanes groeit met dezelfde snelheid als het aantal cores op een chip groeit. Meer ideëen van vectorarchitecturen zullen hun weg vinden naar SIMD extensies. - We zien dit al met de toevoeging van gather in AVX2. Structuur GPU nog relatief eenvoudig, verwachting is dat hier nog ingewikkeldere/agressievere technieken gaan worden geïmplementeerd. - Daarnaast ook speciale functionaliteiten voor nieuwe toepassingen: e.g. deep learning.
Computerarchitectuur. Ch 4. Data-Level Parallelism
Computerarchitectuur Ch 4. Data-Level Parallelism Kristian Rietveld http://ca.liacs.nl/ Data-Level Parallelism Nu we de limieten hebben gezien van parallelisme tussen instructies, kunnen we parallelisme
Nadere informatieComputerarchitectuur. Terugblik / discussie / oefenopgaven
Computerarchitectuur Terugblik / discussie / oefenopgaven Kristian Rietveld http://ca.liacs.nl/ Trends & Performance Voorkennis We bouwden een 4-bit microprocessor bij Digitale Technieken. Bij computerarchitectuur
Nadere informatieUitwerking oefententamen Computerarchitectuur December 2016
Uitwerking oefententamen Computerarchitectuur December 2016 I.a. De overall CPI kan worden berekend met de formule n IC i CPI Instruction count CPI i voor de ratio vullen we telkens de geven frequentie
Nadere informatieComputerarchitectuur. Hoofdstuk 3: Instruction-Level Parallelism
Computerarchitectuur Hoofdstuk 3: Instruction-Level Parallelism Kristian Rietveld http://ca.liacs.nl/ Instruction-level Parallelism Doel: gebruik maken van potentiële overlap tussen opeenvolgende instructies.
Nadere informatieComputerarchitectuur. H&P App. C. Pipelining
Computerarchitectuur H&P App. C. Pipelining Kristian Rietveld http://ca.liacs.nl/ Motivatie Pipelining is een techniek die tegenwoordig in iedere CPU wordt gebruikt om de performance te verbeteren. Idee:
Nadere informatieComputerarchitectuur. H&P Ch 5. Thread-Level Parallelism
Computerarchitectuur H&P Ch 5. Thread-Level Parallelism Kristian Rietveld http://ca.liacs.nl/ Thread-Level Parallelism In het geval van thread-level parallelism (TLP) gaan we uit van meerdere threads.
Nadere informatiePyCuda. oftewel massief parallel rekenen. Jasper Spaans, Fox-IT PUN meeting
PyCuda oftewel massief parallel rekenen Jasper Spaans, Fox-IT PUN meeting 2009-09-24 Cuda Techniek om berekingen op je GPU te kunnen uitvoeren ( GPGPU ) Cuda Techniek om berekingen op je
Nadere informatieHigh Performance Computing
High Performance Computing Kristian Rietveld (krietvel@liacs.nl, kamer 138) Groep Computer Systems High-Performance Computing Optimizing compilers (generieke codes, maar ook specifieke rekenkernels). Parallel
Nadere informatieCentrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??
Vragen?? Vandaag Hoofdstuk 4: threads (tentamenstof : 4.1 t/m 4.2) Kleine Opgaven 4.1 (niet alleen ja of nee, ook waarom!) en 4.4 inleveren maandag Centrale begrippen hoofdstuk 3 processen proces state:
Nadere informatieCollege 13: Patterns (2)
Concurrency Gerard Tel / Jacco Bikker - november 2016 februari 2017 College 13: Patterns (2) Welkom! genda: Collective Operations Reduce Scan Stencil Recurrence Concurrency college 13 Patterns (2) 3 Collectives
Nadere informatieinformatica. 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
Nadere informatieDigitale 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
Nadere informatieHigh Performance Computing
High Performance Computing Kristian Rietveld (krietvel@liacs.nl, kamer 138) Groep Computer Systems - Embedded systems - Specifieke software mappen op specfieke hardware. - Hardware synthesis. - Real-time
Nadere informatiecollege 2: Introductie
Concurrency Gerard Tel / Jacco Bikker - november 2017 februari 2018 college 2: Welkom! Agenda: Concepten en patronen Multi-threading in C# Concurrency college 2 3 Concurrency college 2 4 Jacco Bikker j.bikker@uu.nl
Nadere informatieComputerarchitectuur. H&P Ch 2. Memory Hierarchy Design
Computerarchitectuur H&P Ch 2. Memory Hierarchy Design Kristian Rietveld http://ca.liacs.nl/ Motivatie Hoe dichter bij de CPU, hoe sneller het geheugen. - Maar ook: kleiner en duurder. Programmeurs willen
Nadere informatieBeter, Sneller, Mooier. Processoren 12 januari 2015
Beter, Sneller, Mooier Processoren 12 januari 2015 Beter! Sneller! Krachtigere CPU: maak instructies die meer doen Snellere CPU: pipeline, out-of-order execution Sneller RAM: cache meer mogelijkheden...
Nadere informatieComputerarchitectuur 2016 Inleveropdracht 3: Exploiting Memory Hierarchies in Modern Systems
Computerarchitectuur 2016 Inleveropdracht 3: Exploiting Memory Hierarchies in Modern Systems Gesuggereerde Deadline: zondag 27 november 2016 Zoals we in het hoorcollege uitgebreid hebben besproken spelen
Nadere informatieComputerarchitectuur. 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
Nadere informatieComputerarchitectuur. 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
Nadere informatieTentamen 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:
Nadere informatie1 Aanvulling cosy deeltijd
1 Aanvulling cosy deeltijd 1.1 Multiprocessor versus multicomputer Het kenmerk van een multiprocessor is dat meer CPU hetzelfde geheugen delen. Voordeel van deze aanpak is het relatief eenvoudige programmeermodel.
Nadere informatieComputerarchitectuur. App. B. Review of Memory Hierarchy
Computerarchitectuur App. B. Review of Memory Hierarchy Kristian Rietveld http://ca.liacs.nl/ Caching De memory wall is een zeer groot probleem dat vraagt om oplossingen. De gebruikelijke oplossing is
Nadere informatieConcurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom!
Concurrency Gerard Tel / Jacco Bikker - november 2015 januari 2016 Welkom! Agenda: Concepten en patronen Multi-threading in C# Concurrency college 1 3 Alles Parallel Opteron 6300 16 cores i7 4 cores Atom
Nadere informatieComputerarchitectuur en netwerken Toets 1 4 okt
11.00 13.00 De open vragen moet je beantwoorden op tentamenpapier. De multiple-choice antwoorden moet je op het vragenblad invullen in de rechtervakjes en dat blad inleveren. Schrijf je naam, studentnummer
Nadere informatieMulti-core systemen. door Alexander Melchior
Multi-core systemen Multi-cpu & Multi-core Multi cpu & Multi core door Alexander Melchior Toevoeging aan GDP Overdragen Capita Selecta Waarom? Een stukje geschiedenis 2005: Introductie eerste consumenten
Nadere informatieStudentnummer:... Opleiding:... a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid?
Computerorganisatie (213110) Dinsdag 15 augustus 2000, 13.30 17.00 uur 7 bladzijden met 6 opgaven 3 bladzijden met documentatie Bij dit tentamen mag geen gebruik worden gemaakt van boeken, dictaten of
Nadere informatieConcurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom!
Concurrency Gerard Tel / Jacco Bikker - november 2015 januari 2016 Welkom! Agenda: Wat vooraf ging Taken en Data Hardware Performance Theorie Concurrency college 3 Hardware 3 Previously in Concurrency
Nadere informatieComputerarchitectuur 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
Nadere informatieComputerarchitectuur. Hoofdstuk 1: Introductie
Computerarchitectuur Hoofdstuk 1: Introductie Kristian Rietveld http://ca.liacs.nl/ Inhoud Bestuderen van de opbouw van moderne computerarchitecturen. Wat gebeurt er allemaal binnen een Central Processing
Nadere informatieComputer Architectuur 2016 Handleiding bij de CUDA opdracht
Computer Architectuur 2016 Handleiding bij de CUDA opdracht Voor opdracht vier kijken we naar een eenvoudige image filter pipeline en naar een mogelijke versnelling hiervan met behulp van de GPU. Bij een
Nadere informatieCollege 4: Mechanismen
Concurrency Gerard Tel / Jacco Bikker - november 2017 februari 2018 College 4: Mechanismen Welkom! Agenda: Wat vooraf ging Hardware Electronic components are submerged into a bath of dielectric heat transfer
Nadere informatieCover Page. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications through code generation Issue Date:
Cover Page The handle http://hdl.handle.net/1887/18622 holds various files of this Leiden University dissertation. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications
Nadere informatieFrom High-Level Language to language of the hardware
Overzichtscollege 1 Abstractieniveaus Een computersysteem bestaat uit een hiërarchie van lagen Elke laag heeft een goed gedefinieerde interface naar de bovenliggende en onderliggende lagen Essentieel bij
Nadere informatieExamen Geavanceerde Computerarchitectuur
Examen Geavanceerde Computerarchitectuur Academiejaar 2006-2007 Dinsdag 16 januari 2007, 14u00 Prof. dr. ir. L. Eeckhout Richting: Enkele opmerkingen vooraf: Vul eerst en vooral op ieder blad Uw naam en
Nadere informatieEECS 452 Lecture 10 Chip Multiprocessors. Instructor: Gokhan Memik EECS Dept., Northwestern University
EECS 452 Lecture 10 Chip Multiprocessors Instructor: Gokhan Memik EECS Dept., Northwestern University Chip-Multiprocessors Place multiple, relatively simple cores on a single chip E.g., 32 RISC cores on
Nadere informatieProeftentamen 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)
Nadere informatieExamen Geavanceerde Computerarchitectuur
Examen Geavanceerde Computerarchitectuur Academiejaar 2008-2009 Maandag 30 januari 2009, 14u00 Prof. dr. ir. L. Eeckhout Voornaam: Naam: Richting: Enkele opmerkingen vooraf: Vul eerst en vooral op ieder
Nadere informatieCollege 15: Monte-Carlo
Concurrency Gerard Tel / Jacco Bikker - november 2016 februari 2017 College 15: Monte-Carlo Welkom! Agenda: Monte-Carlo Heterogeneous Computing Brigade Toets 2 Concurrency college 15 Monte-Carlo 3 Monte-Carlo
Nadere informatie6 Methodology. afgelopen twee jaar de grafische processor ontdekt als snelle en goedkope bron van verwerkingscapaciteit.
6 Methodology In de wetenschappelijke wereld, bij banken en bij ingenieursbureau s heeft men de grafische processor ontdekt als razendsnelle aanvulling op de gewone CPU. Die prestaties krijg je echter
Nadere informatieJava virtuele machine JVM
Implementatie Java Java virtuele machine JVM Java programma vertaald naar byte code instructies Byte code instructies uitgevoerd door JVM JVM is processor architectuur kan in principe in hardware worden
Nadere informatieComputerarchitectuur 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
Nadere informatieDe Parallelle Revolutie van GPU's en CPU's
De Parallelle Revolutie van GPU's en CPU's George van Venrooij Organic Vectory BV Bits&Chips Embedded Systemen 18 November 2011 Eindhoven Een nieuw speelveld Desktop PC anno 2005 2 GHz CPU (1 core, 6 GFLOP/s)
Nadere informatieEen interrupt is een hardwaremechanisme dat een extern apparaat in staat stelt om de CPU een signaal te sturen wanneer de I/O operatie voltooid is.
Procesbeheer: interrupts en uitvoering van besturingssystemen. a) Beschrijf de werking en de bedoeling van interrupts: Hoe deze door de processorhardware en het besturingssysteem worden verwerkt? Waarom
Nadere informatieHerconfigureerbare Hardware in Ieders Bereik
Herconfigureerbare Hardware in Ieders Bereik Prof. Dirk Stroobandt Universiteit Gent Vakgroep ELIS Onderzoeksgroep PARIS http://www.elis.ugent.be/~dstr/ Overzicht Nood aan digitale verwerking van gegevens
Nadere informatieTim Mallezie Architectuur van besturingssystemen: Vraag A2.
Procesbeheer: kenmerken van moderne besturingssystemen. 1. Bespreek de (drie) meest typische kenmerken van moderne besturingssystemen. 2. In hoeverre beantwoorden UNIX, Linux en Windows NT hieraan? Geef
Nadere informatievon-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
Nadere informatieHoe 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
Nadere informatieGeheugenbeheer. 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
Nadere informatieHardware Beginners. Processoren. Door Theo De Paepe
Hardware Beginners Processoren Merken en types Intel AMD * Pentium * Pentium II * Pentium III * Pentium 4 * Celeron * K6 * K7 / Athlon (64 BIT) * Duron * Sempron Opbouw En nog: * FPU * Datalijnen * Adreslijnen
Nadere informatieEen.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder
Een.NET-besturingssysteemtoolkit Discovering Cosmos Sijmen J. Mulder Agenda Boek 1 Cosmos: a very short introduction Boek 2 Modern Operating Systems Pauze Boek 3 The Design and Implementation of the Cosmos
Nadere informatieHoofdstuk 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
Nadere informatiecomputerarchitectuur antwoorden
2017 computerarchitectuur antwoorden F. Vonk versie 1 2-8-2017 inhoudsopgave hardware... - 3 - CPU... - 3 - bussen... - 4 - bridges... - 4 - RAM... - 4 - hardware architectuur... - 5 - Dit werk is gelicenseerd
Nadere informatieDeel 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
Nadere informatieConcurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom!
Concurrency Gerard Tel / Jacco Bikker - november 2015 januari 2016 Welkom! Agenda: Context Heterogeneous Rendering Load Balancing Application Conclusion Concurrency college 15 Heterogeen 3 Context Concurrency
Nadere informatieNederlandse samenvatting (Dutch summary)
Nederlandse samenvatting (Dutch summary) Ditproefschriftpresenteerteen raamwerk voorhetontwikkelenvanparallellestreaming applicaties voor heterogene architecturen met meerdere rekeneenheden op een chip.
Nadere informatieDe 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
Nadere informatieDe 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
Nadere informatieInhoudsopgave. 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
Nadere informatieGelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.
Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen
Nadere informatieMicrocontrollers 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
Nadere informatien-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik
n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik Rick van der Zwet 4 augustus 2010 Samenvatting Dit schrijven zal
Nadere informatieCollege 10: OpenCL (1)
Concurrency Gerard Tel / Jacco Bikker - november 2017 februari 2018 College 10: OpenCL (1) Welkom! Previously in Concurrency Concurrency College 8 Patronen 3 SIMD System.Numerics.Vectors namespace System.Numerics
Nadere informatieDe 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
Nadere informatieFlex_Rooster WERKBOEK. INTRODUCTIE iseries. Dit werkboek is eigendom van ICS opleidingen en mag niet worden meegenomen.
Flex_Rooster WERKBOEK INTRODUCTIE iseries Dit werkboek is eigendom van ICS opleidingen en mag niet worden meegenomen. ICS Opleidingen Niets uit deze uitgave mag worden verveelvoudigd en/of openbaar gemaakt
Nadere informatieExamen computerarchitectuur
Examen computerarchitectuur Woensdag 22 juni 2005, 8u30 Prof. Koen De Bosschere Naam, Voornaam: Richting: Belangrijk 1. Vergeet niet uw naam en voornaam te vermelden. 2. Schrijf de antwoorden in de daarvoor
Nadere informatieCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/1887/28464 holds various files of this Leiden University dissertation Author: Jeroen Bédorf Title: The gravitational billion body problem / Het miljard deeltjes
Nadere informatieTentamen Computerorganisatie in aug. 1999, uur. N.B.: Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 9
TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Subfaculteit Technische Wiskunde en Informatica Werkeenheid Technische Informatica Tentamen Computerorganisatie in101 27 aug. 1999,
Nadere informatieInhoud vandaag. Interrupts. Algemeen ARM7 AIC
Inhoud vandaag Interrupts Algemeen ARM7 AIC Interrupts Wat is een interrupt? Een interrupt is een onderbreking van de huidige bezigheden ten gevolge van een externe gebeurtenis, zodanig dat de bezigheden
Nadere informatieAssembly en Assemblers. Processoren 5 januari 2015
Assembly en Assemblers Processoren 5 januari 2015 Doel van vandaag Ik heb al losse eindjes over assembly verteld en een voorbeeldprogramma doorlopen. vandaag: algemeen + systematisch overzicht Programmeertalen
Nadere informatieInleiding Practicum Operating Systems
Inleiding Practicum Operating Systems Mattias Holm & Kristian Rietveld Doel - In komende 3 practica zullen we gaan werken met een custom OS. - Kort introduceren van: - Hardware. - Kernel. - Tools. - De
Nadere informatieOPTIMALISATIE VAN MPEG-4-WAVELETCODE VOOR DE TRIMEDIAPROCESSOR
E99/EL/VLSI1 Diepenbeek, 1 juni 1999 OPTIMALISATIE VAN MPEG-4-WAVELETCODE VOOR DE TRIMEDIAPROCESSOR Abstract van het eindwerk van Bert BRANS en Benjamin GOYVAERTS Industrieel Ingenieur Elektriciteit optie
Nadere informatie11011 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
Nadere informatieProeftentamen 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)
Nadere informatieOpenVPN(-NL) Performance. Jan Just Keijser 9 November 2017
OpenVPN(-NL) Performance Jan Just Keijser 9 November 2017 Wie ben ik? Werkzaam in de ICT sinds 1995 Werk bij Nikhef als Grid System Engineer sinds 2005 In 2004 OpenVPN ontdekt Sinds die tijd gebruiker
Nadere informatieVan 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
Nadere informatieVraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem
Tentamen A2 (deel b) 24-06-2004 Geef (liefst beknopte en heldere) motivatie bij je antwoorden; dus niet enkel ja of nee antwoorden, maar ook waarom. Geef van berekeningen niet alleen het eindresultaat,
Nadere informatieTweede Toets Concurrency 2 februari 2017, , Educ-β.
Tweede Toets Concurrency 2 februari 2017, 8.30 10.30, Educ-β. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe
Nadere informatieBeter, Sneller, Mooier. Processoren 27 maart 2012
Beter, Sneller, Mooier Processoren 27 maart 2012 Beter! Sneller! Krach:gere CPU: microcode Snellere CPU: pipeline, out- of- order execu:on Sneller RAM: cache meer mogelijkheden... Welke extra s kan processor-
Nadere informatieDigitale 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.
Nadere informatieOnafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms
Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie
Nadere informatieHoofdstuk 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
Nadere informatie2 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
Nadere informatie' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken.
Tentamen Operating Systems Dinsdag 14 juni 2016,10:00-13:00 Examinator: dr. K. F. D. Rietveld ' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen
Nadere informatieOpgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files
Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files 1 Introductie In deze oefening zal je je LCD display leren aansturen. Je controleert deze display door er instructies naar te
Nadere informatieICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen
ICT Infrastructuren: Processen en Threads 18 november 2013 David N. Jansen Datum en Ajd van werkcollege na overleg met de aanwezigen: donderdag 8:45 10:30 Leerdoel voor vandaag. Stallings hoofdst 2 4 Hoofddoelen
Nadere informatieWelke wordt het? Ga je voor snelheid, of wordt het een minder dure uitgave om het nieuwe millennium in te gaan.
Werkstuk door een scholier 3082 woorden 23 mei 2001 8,3 113 keer beoordeeld Vak Informatica Zelfs als je 3 jaar geen 1 PC tijdschrift gelezen hebt, weet iedereen toch dat Intel en AMD beide weer nieuwe
Nadere informatieGeheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading
Geheugen en Adressering Binding Geheugen (main memory, primary storage) is noodzakelijk voor de uitvoering van programma's. te beschouwen als array van adresseerbare bytes (of woorden). verschillende processen
Nadere informatieHardware. Word. Anna van Kommer M3A
Hardware Word Anna van Kommer M3A Inhoudsopgave Pagina Inleiding... 2 Hoofdstuk 1: Het Beeldscherm... 3 Hoofdstuk 2: De processor... 4 Hoofdstuk 3: Het geheugen... 5 Hoofdstuk 4: De harde schijf... 6 Hoofdstuk
Nadere informatieComputerarchitectuur en Netwerken. Computerarchitectuur
Computerarchitectuur en Netwerken 1 Computerarchitectuur Lennart Herlaar 2 september 2015 Opbouw van het vak Eerst (6 keer) over de opbouw van computer en operating system Collegedictaat Systeemarchitectuur
Nadere informatieASUS DESKTOP GT51CH-BE016T 2 099,00. Kenmerken COMPUTRADE. Artikelcode : ITASGT51CHBE016
ASUS DESKTOP GT51CH-BE016T Artikelcode : ITASGT51CHBE016 ASUS ROG GT51CH-BE016T. Frequentie van processor: 4,2 GHz, Processorfamilie: Zevende generatie Intel Core i7, Processormodel: i7-7700k. Intern geheugen:
Nadere informatieUitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.
Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken
Nadere informatieMemory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen
Memory Management Process control information Entry point to program Process Control Block Verdelen geheugen over meerdere processen Program Branch instruction Virtual Memory Data Reference to data Processen
Nadere informatieMSI DESKTOP INFINITE 8RC-259EU 1 499,00. Kenmerken. D-Ware. Artikelcode : ITMIINFINITE259
MSI DESKTOP INFINITE 8RC-259EU Artikelcode : ITMIINFINITE259 MSI Infinite 8RC-259EU. Frequentie van processor: 3,2 GHz, Processorfamilie: Intel 8ste generatie Core i7, Processormodel: i7-8700. Intern geheugen:
Nadere informatieIN1805 I Operating System Concepten
IN1805 I Operating System Concepten Hoofdstuk 12: Mass-storage structure 9-1 Secondary storage (1) voornamelijk disks kleinst leesbare eenheid: sector plaats van een sector volledig bepaald door: drive
Nadere informatieCollege 11: Game Engines
Concurrency Gerard Tel / Jacco Bikker - november 2016 februari 2017 College 11: Game Engines Welkom! Agenda: A Brief History Of Valve s Source Engine, 2007 id Tech 5, 2009 Bungie s Destiny, 2015 Naughty
Nadere informatieStudiewijzer BACHELOR INFORMATICA 2015-2016
Studiewijzer BACHELOR INFORMATICA 2015-2016 Opleiding Vak Studiejaar, Semester, Periode Coördinator(en) Docent Practicum docenten Assistenten Studielast (EC) Vakcode : Bachelor Informatica : Architectuur
Nadere informatie4EE11 Project Programmeren voor W. College 2, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 2, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Terugblik Functies Organisatie (architectuur) van programma s Arrays Structuren
Nadere informatieDigitale 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
Nadere informatieUitwerking Tentamen Operating Systems Maandag 15 juni 2015 P1 P2 P3 P4 P5 P1 P3 P5 P4 P2 P1 P3 P5 P3. Opgave 1
Uitwerking Tentamen Operating Systems Maandag 15 juni 2015 Belangrijk: de gegeven antwoorden vormen één mogelijke uitwerking van het tentamen. Echter zijn er bij vele vragen meerdere correcte antwoorden
Nadere informatieAsus vivobook N705FD-GC064T-BE 1 349,00. Kenmerken. Artikelcode : ITASN705FNGC064
Asus vivobook N705FD-GC064T-BE Artikelcode : ITASN705FNGC064 ASUS VivoBook Pro N705FD-GC064T-BE. Producttype: Notebook, Vormfactor: Clamshell. Processorfamilie: Intel 8ste generatie Core i7, Processormodel:
Nadere informatie