Optimalisatie van de mmips

Maat: px
Weergave met pagina beginnen:

Download "Optimalisatie van de mmips"

Transcriptie

1 Optimalisatie van de mmips Sander Stuijk Department of Electrical Engineering Electronic Systems

2 2 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

3 3 Hoe moet ik clipping implementeren? void main(void) { int a, b, result; char *buf_i = (char*)x6, *buf_o = (char*)x6654; for (a = ; a < HEIGHT - ; a++) { for (b = ; b < WIDTH - ; b++) { result=(( 5*(int)buf_i[(a - ) * WIDTH + b - ] + -3*(int)buf_i[(a - ) * WIDTH + b ] + 6*(int)buf_i[(a - ) * WIDTH + b + ] + -7*(int)buf_i[ a * WIDTH + b - ] + *(int)buf_i[ a * WIDTH + b ] + -7*(int)buf_i[ a * WIDTH + b + ] + 6*(int)buf_i[(a + ) * WIDTH + b - ] + -3*(int)buf_i[(a + ) * WIDTH + b ] + 5*(int)buf_i[(a + ) * WIDTH + b + ] + 28) / 3); } } } /* Clipping */ if(result<) buf_o[a * WIDTH + b] = ; else if (result > 255) buf_o[a * WIDTH + b] = (char)255; else buf_o[a * WIDTH + b] = result;

4 4 Voeg een custom patroon aan de C code toe #define clip(a,b) ((a) - ((b) + *(int *) x234432)) void main(void) { int a, b, result; char *buf_i = (char*)x6, *buf_o = (char*)x6654; for (a = ; a < HEIGHT - ; a++) { for (b = ; b < WIDTH - ; b++) { result=(( 5*(int)buf_i[(a - ) * WIDTH + b - ] + -3*(int)buf_i[(a - ) * WIDTH + b ] + 6*(int)buf_i[(a - ) * WIDTH + b + ] + -7*(int)buf_i[ a * WIDTH + b - ] + *(int)buf_i[ a * WIDTH + b ] + -7*(int)buf_i[ a * WIDTH + b + ] + 6*(int)buf_i[(a + ) * WIDTH + b - ] + -3*(int)buf_i[(a + ) * WIDTH + b ] + 5*(int)buf_i[(a + ) * WIDTH + b + ] + 28) / 3); } } } /* Clipping */ result = clip(result,result); buf_o[a * WIDTH + b] = result;

5 5 Voeg clipping aan de LCC compiler toe Open het bestand lcc/src/minimips.md in een text editor Wijzig de custom operatie opcode = function code = x3

6 6 Controleer dat clipping gebruikt wordt Open een cygwin shell en voer de volgende commando s uit: ) lcc image.c o mips_mem.bin 2) disas mips_mem.bin less Zoek een assembler instructie met opcode and function code x3

7 7 Voeg de clipping functionaliteit toe aan de mmips rom_addr rom_dout rom_wait rom_r pc c4 a d d mux PCWrite if_instr if_pc mux7 decoder decoder_nb [5-] [25-] [5-] [-6] imm2word [25-2] r_addr_reg [2-6] r_data_reg r_addr_reg2 registers w_data_reg w_addr_reg r_data_reg2 w id_pc id_immediate id_instr_25_ id_data_reg id_data_reg2 id_instr_5_ id_instr 6 shiftleft a d d 2 shiftleft_ jmp mux2 b a l u aluctrl mux5 aluctrl a alu 2 branch_ ctrl hi lo 2 mux8 mux6 ex_alu_result memdev dev_* ram_dout ram_wait ram_din ram_addr ram_r ram_w mem_dmem_data mem_alu_result signextend byte 2 mux3 Pipe_en (This signal goes to all registers on which no write signal is depicted) hazard IFIDWrite [2-6] [3-26] [5-] [5-] id_instr_2_6 id_instr_5_ c3 2 mux4 ex_regdst_addr mem_regdst_addr dmem_wait Signextend enable Hazard Enable ctrl hazard_ctrl id_ctrl_ex_regdst id_ctrl_ex_alusrc id_ctrl_ex_aluop id_ctrl_ex_target id_ctrl_mem_branch id_ctrl_ex_hilo_write id_ctrl_ex_hiloalu_sel id_ctrl_ex_regvalue id_ctrl_mem_memwrite id_ctrl_mem_memread id_ctrl_wb_memtoreg id_ctrl_wb_regwrite ex_ctrl_wb_memtoreg ex_ctrl_wb_regwrite mem_ctrl_wb_memtoreg mem_ctrl_wb_regwrite clk rst

8 8 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

9 9 Compileer de LCC compiler Open een cygwin shell en voer de volgende commando s uit: ) cd /cygdrive/d/mmips/lcc 2) make clean 3) make

10 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

11 mux mux Forwarding optie rom_addr rom_dout rom_wait rom_r pc c4 a d d mux if_instr if_pc mux7 decoder_nb [5-] [25-] imm2word [25-2] r_addr_reg [2-6] r_data_reg r_addr_reg2 registers w_data_reg w_addr_reg r_data_reg2 w id_pc id_immediate id_instr_25_ id_data_reg id_data_reg2 shiftleft mux2 b a d d 2 shiftleft_ jmp a l u 2 mux5 branch_ ctrl hi lo memdev dev_* ram_dout ram_wait ram_din ram_addr ram_r ram_w mem_dmem_data signextend byte 2 decoder a 2 mux8 mux6 ex_alu_result mem_alu_result mux3 PCWrite [5-] [-6] id_instr_5_ id_instr 6 aluctrl Pipe_en (This signal goes to all registers on which no write signal is depicted) hazard IFIDWrite [2-6] [3-26] [5-] [5-] id_instr_2_6 id_instr_5_ c3 2 mux4 ex_regdst_addr mem_regdst_addr dmem_wait Signextend enable Hazard Enable ctrl hazard_ctrl id_ctrl_ex_regdst id_ctrl_ex_alusrc id_ctrl_ex_aluop id_ctrl_ex_target id_ctrl_mem_branch id_ctrl_ex_hilo_write id_ctrl_ex_hiloalu_sel id_ctrl_ex_regvalue id_ctrl_mem_memwrite id_ctrl_mem_memread id_ctrl_wb_memtoreg id_ctrl_wb_regwrite ex_ctrl_wb_memtoreg ex_ctrl_wb_regwrite mem_ctrl_wb_memtoreg mem_ctrl_wb_regwrite clk rst

12 mux mux 2 Forwarding optie 2 rom_addr rom_dout rom_wait rom_r pc c4 a d d mux if_instr if_pc mux7 decoder_nb [5-] [25-] imm2word id_pc id_immediate id_instr_25_ [25-2] r_addr_reg [2-6] r_data_reg id_data_reg r_addr_reg2 registers w_data_reg w_addr_reg r_data_reg2 id_data_reg2 w shiftleft mux2 b a d d 2 shiftleft_ jmp a l u 2 mux5 branch_ ctrl hi lo memdev dev_* ram_dout ram_wait ram_din ram_addr ram_r ram_w mem_dmem_data signextend byte 2 decoder a 2 mux8 mux6 ex_alu_result mem_alu_result mux3 PCWrite [5-] [-6] id_instr_5_ id_instr 6 aluctrl Pipe_en (This signal goes to all registers on which no write signal is depicted) hazard IFIDWrite [2-6] [3-26] [5-] [5-] id_instr_2_6 id_instr_5_ c3 2 mux4 ex_regdst_addr mem_regdst_addr dmem_wait Signextend enable Hazard Enable ctrl hazard_ctrl id_ctrl_ex_regdst id_ctrl_ex_alusrc id_ctrl_ex_aluop id_ctrl_ex_target id_ctrl_mem_branch id_ctrl_ex_hilo_write id_ctrl_ex_hiloalu_sel id_ctrl_ex_regvalue id_ctrl_mem_memwrite id_ctrl_mem_memread id_ctrl_wb_memtoreg id_ctrl_wb_regwrite ex_ctrl_wb_memtoreg ex_ctrl_wb_regwrite mem_ctrl_wb_memtoreg mem_ctrl_wb_regwrite clk rst

13 3 Forwarding - aandachtspunten Register heeft altijd de waarde, ongeacht wat er in dit register wordt geschreven Forward dus nooit register Forward altijd de nieuwste data EX gaat voor MEM, MEM gaat voor WB, WB gaat voor ID De twee register inputs kunnen uit dezelfde of verschillende pipeline stages komen De twee forwarding multiplexers moeten los worden aangestuurd De lees operaties (lw, lb) hebben delay slot, de data uit het geheugen is pas beschikbaar is in de WB stage Er kan een data hazard zijn tussen een load instructie in the MEM stage en een instructie in de ID stage, deze kan niet worden opgelost met forwarding

14 4 Forwarding WB stage Hazard detectie in WB stage else if (memwbregwrite_t == && ((memwbwriteregister_t == ifidreadregister_t) { } hazard = ; (memwbwriteregister_t == ifidreadregister2_t))) Forwading vanuit WB stage if (memwbregwrite_t == && memwbwriteregister_t == ifidreadregister_t && memwbwriteregister_t!= ) { forwarda.write(3); } if (memwbregwrite_t == && memwbwriteregister_t == ifidreadregister2_t && memwbwriteregister_t!= ) { forwardb.write(3); }

15 5 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

16 6 Hoe kan ik loads correct afhandelen Resultaat van load (lb, lw) pas in WB stage beschikbaar (op uitgang mux3) Eerste instructie na load onafhankelijk van load Tweede instructie na load kan hazard genereren Load MEM stage Tweede instructie na load in ID stage Optie Controleer of instructie in EX/MEM stage een load is bus id_ctrl_wb_memtoreg / ex_ctrl_wb_memtoreg ongelijk nul Introduceer een NOP indien load Optie 2 Controleer of instructie in MEM stage een load is bus ex_ctrl_wb_memtoreg ongelijk nul Controleer of er een hazard is Introduceer NOP indien nodig

17 7 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

18 8 Waarom is mijn simulatie zo traag? Controleer met disas hoeveel instructies er uitgevoerd moeten worden om pixel te bewerken en vermenigvuldig dit met het aantal pixels in het plaatje Met behulp van deze procedure kun je mogelijke optimalisaties vinden

19 9 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

20 2 Waarom stopt mijn mmips simulatie niet? Gebruik <ctrl>+<c> om een simulatie te stoppen Het VCD bestand bevat alle signalen tot het moment dat de simulatie wordt gestopt Bekijk de signalen in het VCD bestand om je probleem te vinden Veel voorkomende problemen Een combinatorische lus in de mmips Een fout in de forwarding

21 2 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

22 22 Hoe kan ik eenvoudig mijn forwarding testen? Maak een klein test programma om de nieuwe functionaliteit te testen Maak een VCD bestand met behulp van een similatie Vergelijk de VCD trace met de assembler code Begin aan het begin van het programma Gebeurt er precies dat wat jij verwacht?

23 23 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Opdracht Belangrijke data Vragen

24 24 Wat is de maximale frequentie van mijn mmips? Het synthese rapport wordt opgeslagen in het bestand mmips.srp maximale frequentie kritiek pad

25 25 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

26 26 Waarom werkt ImProc.exe niet? De combinatie van MS Vista en Cygwin geeft soms problemen met de file permissions Voer de volgende stappen uit als je een permission denied foutmelding krijgt op ImProc.exe of imgproc.exe )Open een cygwin shell 2)chmod a+rwx /usr/bin/imgproc.exe 3)chmod a+rwx /usr/bin/improc.exe 4)cd /cygdrive/d/imageprocessing/cygwin_post_install 5)./create_commands.sh 6)chmod a+rwx /usr/bin/imgproc.exe 7)chmod a+rwx /usr/bin/improc.exe

27 27 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

28 28 Waarom is het plaatje zo donker? Dit probleem kan een aantal oorzaken hebben imgproc.exe neemt standaard aan dat het plaatje 28x28 pixels is de filter coëfficiënten zijn niet altijd even logisch (vanuit een image processing perspectief) er zit een fout in je mmips Het plaatje dat jouw mmips oplevert moet uiteindelijk bit exact overeenkomen met het plaatje dat door de originele mmips wordt geproduceerd. Als beide plaatjes precies even donker zijn dan is het goed Je kunt dit echter niet zelf zien, gebruik daarom check-image

29 29 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

30 3 image.c void main(void) { int a, b, result; char *buf_i = (char*)x6, *buf_o = (char*)x6654; for (a = ; a < HEIGHT - ; a++) { for (b = ; b < WIDTH - ; b++) { result=(( 5*(int)buf_i[(a - ) * WIDTH + b - ] + -3*(int)buf_i[(a - ) * WIDTH + b ] + 6*(int)buf_i[(a - ) * WIDTH + b + ] + -7*(int)buf_i[ a * WIDTH + b - ] + *(int)buf_i[ a * WIDTH + b ] + -7*(int)buf_i[ a * WIDTH + b + ] + 6*(int)buf_i[(a + ) * WIDTH + b - ] + -3*(int)buf_i[(a + ) * WIDTH + b ] + 5*(int)buf_i[(a + ) * WIDTH + b + ] + 28) / 3); } } } /* Clipping */ if(result<) buf_o[a * WIDTH + b] = ; else if (result > 255) buf_o[a * WIDTH + b] = (char)255; else buf_o[a * WIDTH + b] = result;

31 Assembler if(result<) buf_o[a * WIDTH + b] = ; else if (result > 255) buf_o[a * WIDTH + b] = (char)255; else buf_o[a * WIDTH + b] = result; lcc image.c o mips_mem.bin disas mips_mem.bin 32: slt s8,s4,zero 324: beqz s8,x : nop 32c: sll t8,s6,x 33: sll t8,t8,x2 334: sll t8,t8,x2 338: addu t8,t8,s7 33c: addu t8,t8,s3 34: b x : sb zero,(t8) 348: li t8,255 34c: slt s8,t8,s4 35: beqz s8,x : nop 358: sll t8,s6,x 35c: sll t8,t8,x2 36: sll t8,t8,x2 364: addu t8,t8,s7 368: addu t8,t8,s3 36c: li t7,255 37: b x : sb t7,(t8) 378: sll t8,s6,x 37c: sll t8,t8,x2 38: sll t8,t8,x2 384: addu t8,t8,s7 388: addu t8,t8,s3 38c: move t7,s4 39: sb t7,(t8)

32 32 Voeg een custom patroon aan de C code toe #define clip(a,b) ((a) - ((b) + *(int *) x234432)) void main(void) { int a, b, result; char *buf_i = (char*)x6, *buf_o = (char*)x6654; for (a = ; a < HEIGHT - ; a++) { for (b = ; b < WIDTH - ; b++) { result=(( 5*(int)buf_i[(a - ) * WIDTH + b - ] + -3*(int)buf_i[(a - ) * WIDTH + b ] + 6*(int)buf_i[(a - ) * WIDTH + b + ] + -7*(int)buf_i[ a * WIDTH + b - ] + *(int)buf_i[ a * WIDTH + b ] + -7*(int)buf_i[ a * WIDTH + b + ] + 6*(int)buf_i[(a + ) * WIDTH + b - ] + -3*(int)buf_i[(a + ) * WIDTH + b ] + 5*(int)buf_i[(a + ) * WIDTH + b + ] + 28) / 3); } } } /* Clipping */ result = clip(result,result); buf_o[a * WIDTH + b] = result;

33 Assembler result = clip(result,result); buf_o[a * WIDTH + b] = result; lcc image.c o mips_mem.bin disas mips_mem.bin 328: tgeu s4,s4,x28 32c: lw t8,72(sp) 33: nop 334: addu t8,t8,s3 338: move t7,s4 33c: sb t7,(t8)

34 Converting a C program to the LCC IR : int main(void) { : int a = 3; 2: if (a == 3) 3: return ; a 3 ADDRLP4 CNSTI4 ASGNI4 2 a ADDRLP4 INDIRI4 3 CNSTI4 4: return ; 5: } NEI4 The LCC data representation is called an Abstract Syntax Tree (AST). 3 CNSTI4 RETI4 2* ADDRGP4 JUMPV The data representation is converted to assembler using rules. Rules map a set of nodes (one or more) onto assembler instructions. 4 CNSTI4 RETI4

35 What does a rule look like? A rule for adding two unsigned integer (4 bytes): reg: ADDU4 (reg,reg) "\taddu $%c,$%,$%\n" the node one output register two source registers the assembler instruction weight % The first source operand register %2 The second source operand register %c The destination register

36 Converting the LCC data-structure to assembler a 3 2 a.set reorder.globl main.text.text.align 2.ent main main:.frame $sp,8,$3 addu $sp,$sp,-8 la $24,3 sw $24,-4+8($sp) lw $24,-4+8($sp) la $5,3 bne $24,$5,L.2 la $2, b L. L.2: move $2,$ L.: addu $sp,$sp,8 j $3.end main ADDRLP4 ASGNI4 CNSTI4 3 ADDRLP4 3 INDIRI4 CNSTI4 NEI4 CNSTI4 RETI4 2* ADDRGP4 JUMPV 4 CNSTI4 RETI4

37 Adding a special function to the mmips (software) Clip function must be detected by LCC Use special pattern to indicate use of clip function Example: ((a) - ((b) + *(int *) x234432)) The following 4 constructs map to custom operations in LCC: ((a) - ((b) + *(int *) x234432)) ((a) + ((b) + *(int *) x234432)) ((a) - ((b) - *(int *) x234432)) ((a) + ((b) - *(int *) x234432)) More operations (possibly with more operands) can be added. Look at the website for more information.

38 What does a rule look like? All rules are defined in the file lcc/src/minimips.md File can be edited with a standard text editor LCC must be recompiled after editing (see website for details) Rule with three inputs

39 39 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

40 4 Opdracht Optimaliseer de run-time van een image processing filter voor de mmips beperkingen alle programma s die op de originele mmips draaien moeten ook op jouw mmips werken programma s die op jouw mmips draaien moeten precies hetzelfde resultaat (bit-exact) produceren als de originele mmips toegestaan toevoegen van speciale instructies aan de mmips aanpassen van het ontwerp van de mmips (b.v. forwarding) niet toegestaan aanpassingen aan het image processing algoritme die niet nodig zijn om speciale instructies te gebruiken (b.v. vervangen van vermenigvuldiging door shifts)

41 4 Testen en implementeren van het ontwerp functionele correctheid genereer referentie output met de originele mmips vergelijk deze referentie output met het resultaat van jouw eigen mmips gebruik check-image commando maximale klok frequentie gebruik cocentric en ise om timing rapport te genereren

42 42 Insturen van je ontwerp gebruik submit-design om jouw ontwerp in te sturen alleen de laatste versie wordt getest

43 43 Inhoudsopgave Veel gestelde vragen Hoe moet ik clipping implementeren? Hoe moet ik de compiler opnieuw compileren? Hoe moet ik forwarding implementeren? Er is iets bijzonders met de loads, maar hoe zit dat precies? Waarom is mijn simulatie zo traag? Waarom stopt mijn mmips simulatie niet? Hoe kan ik eenvoudig mijn forwarding testen? Wat is de maximale frequentie van mijn mmips? Waarom werkt ImProc.exe niet? Waarom is het plaatje dat uit de mmips komt zo donker? Hoe werkt dat nou precies met LCC en die speciale instructies? Opdracht Belangrijke data Vragen

44 Belangrijke data eerste versie van de mmips inleveren voor 8 maart a.s. om 2. uur deze deadline is optioneel als je iets inlevert krijg je feedback deze versie moet minimaal het volgende bevatten: werkende forwarding unit werkende clipping instructie. een los document (A4, pt font, max 2 pagina s) met een bescrhijving van alle veranderingen die je nog wil maken stuur het document naar s.stuijk@tue.nl instructies op

45 45 Belangrijke data test programma beschikbaar op vrijdag 3 maart om 9. op inleveren voor zondag april a.s. om 2. uur uitstel is niet mogelijk! presentaties op woensdag en donderdag 4/5 april a.s. indien je mmips tijdig is ingeleverd ontvang je op 2 april het tijdstip van je presentatie per presentatie moet gaan over wat jij gedaan hebt om de mmips sneller te maken (leg dus niet het boek, forwarding of clipping uit)

46 46 Ondersteuning en informatie iedere maandag tussen 5.45 en 7.3 uur in PT 9. zie ook voor meer informatie, tips, etc.

47 47 Vragen

Inhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation

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

Nadere informatie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie www.arduino.cc Arduino en DDS DDS chips DDS = Direct Digital (frequency) Synthesis Output = sinusvormig signaal Maximum frequentie = ½ klokfrequentie Frequentie bepaald door tuning word Grootste fabrikant:

Nadere informatie

Tentamen Computersystemen

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:

Nadere informatie

Hoe werkt een computer precies?

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

Nadere informatie

Digitale technieken Deeltoets II

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.

Nadere informatie

Computerarchitectuur. Terugblik / discussie / oefenopgaven

Computerarchitectuur. 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 informatie

Beter, Sneller, Mooier. Processoren 12 januari 2015

Beter, 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 informatie

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 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 informatie

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

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

Nadere informatie

Oefeningen Interpretatie I Reeks 6 : Registermachines

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

Nadere informatie

Basisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek

Basisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek Basisconcept VHDL Tweede studiejaar Wim Dolman Engineering, leerroute Elektrotechniek Faculteit Techniek 1 Deze presentatie toont de stappen voor het ontwerpen van een digitale combinatorische schakeling

Nadere informatie

Examen computerarchitectuur

Examen computerarchitectuur Examen computerarchitectuur Vrijdag 6 juni 2003, 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 informatie

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

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

Nadere informatie

ALGORITMIEK: answers exercise class 7

ALGORITMIEK: answers exercise class 7 Problem 1. See slides 2 4 of lecture 8. Problem 2. See slides 4 6 of lecture 8. ALGORITMIEK: answers exercise class 7 Problem 5. a. Als we twee negatieve (< 0) getallen bij elkaar optellen is het antwoord

Nadere informatie

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 10e hoorcollege

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 10e hoorcollege EE1410: Digitale Systemen BSc. EE, 1e jaar, 2012-2013, 10e hoorcollege Arjan van Genderen, Stephan Wong, Computer Engineering 13-5-2013 Delft University of Technology Challenge the future Hoorcollege 10

Nadere informatie

MyDHL+ Van Non-Corporate naar Corporate

MyDHL+ Van Non-Corporate naar Corporate MyDHL+ Van Non-Corporate naar Corporate Van Non-Corporate naar Corporate In MyDHL+ is het mogelijk om meerdere gebruikers aan uw set-up toe te voegen. Wanneer er bijvoorbeeld meerdere collega s van dezelfde

Nadere informatie

Handleiding Zuludesk Parent

Handleiding Zuludesk Parent Handleiding Zuludesk Parent Handleiding Zuludesk Parent Met Zuludesk Parent kunt u buiten schooltijden de ipad van uw kind beheren. Hieronder vind u een korte handleiding met de mogelijkheden. Gebruik

Nadere informatie

PROS1E1 Handleiding ( ) Kf/Dd/Bd

PROS1E1 Handleiding ( ) Kf/Dd/Bd 1 Inleiding De eerste oefening In deze eerste oefening wordt het voorbeeld 2-1 van bladzijde 11 uit het boek De taal C van PSD tot C-programma (enigszins aangepast) ingevoerd in de computer. Tevens wordt

Nadere informatie

ES1 Project 1: Microcontrollers

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

Nadere informatie

After that, the digits are written after each other: first the row numbers, followed by the column numbers.

After that, the digits are written after each other: first the row numbers, followed by the column numbers. Bifid cipher The bifid cipher is one of the classical cipher techniques that can also easily be executed by hand. The technique was invented around 1901 by amateur cryptographer Felix Delastelle. The cipher

Nadere informatie

Daylight saving time. Assignment

Daylight saving time. Assignment Daylight saving time Daylight saving time (DST or summertime) is the arrangement by which clocks are advanced by one hour in spring and moved back in autumn to make the most of seasonal daylight Spring:

Nadere informatie

Inleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014!

Inleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014! Inleiding Software Engineering Unit Testing, Contracten, Debugger 13 Februari 2014 Beknopte info over Unit Testing en Contracten kan je vinden op het einde van dit document. Eclipse beschikt over een handige

Nadere informatie

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Opgave 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 informatie

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, 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 informatie

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain.

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain. Domino tiles Dominoes is a game played with rectangular domino 'tiles'. Today the tiles are often made of plastic or wood, but in the past, they were made of real stone or ivory. They have a rectangle

Nadere informatie

Gebruik van het LOGO in geautomatiseerde verkiezingen

Gebruik van het LOGO in geautomatiseerde verkiezingen BIJLAGE 1 S.A. STERIA Benelux N.V. Gebruik van het LOGO in geautomatiseerde verkiezingen Technische bepalingen voor de weergave van het logo op de schermen. Versie 1.2 Guy JASPERS Revisions Revision Description

Nadere informatie

Introductie in flowcharts

Introductie in flowcharts Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,

Nadere informatie

Alistair LED stairwell luminaire Handleiding Alistair (Emergency UC03 sensor)

Alistair LED stairwell luminaire Handleiding Alistair (Emergency UC03 sensor) Alistair LED stairwell luminaire Handleiding Alistair (Emergency UC03 sensor) Let op: Als het flexibele draad van dit licht beschadigd is, dient het te worden vervangen door iemand van de technische service,

Nadere informatie

Antwoorden vragen en opgaven Basismodule

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

Nadere informatie

Praktische Toets Computerarchitectuur

Praktische Toets Computerarchitectuur Praktische Toets Computerarchitectuur Oefentoets, december 2016 Examinator: dr. K. F. D. Rietveld De praktische toets is open boek. Echter zijn alleen het voorgeschreven tekstboek, of materiaal uitgeprint

Nadere informatie

MyDHL+ Tarief berekenen

MyDHL+ Tarief berekenen MyDHL+ Tarief berekenen Bereken tarief in MyDHL+ In MyDHL+ kunt u met Bereken tarief heel eenvoudig en snel opvragen welke producten er mogelijk zijn voor een bestemming. Ook ziet u hierbij het geschatte

Nadere informatie

ES1 Project 1: Microcontrollers

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.

Nadere informatie

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives Students will recognize the values of numerals 1 to 10. Students will use objects to solve addition problems with sums from 1 to 10. Materials Needed Large number cards

Nadere informatie

General info on using shopping carts with Ingenico epayments

General info on using shopping carts with Ingenico epayments Inhoudsopgave 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What is an

Nadere informatie

DomJudge-Practicum. Open Dag UU

DomJudge-Practicum. Open Dag UU 1 Introductie DomJudge-Practicum Open Dag UU Bij veel vakken die je volgt tijdens je studie informatica aan de UU, moet je programmeeropdrachten maken. Soms moet je die inleveren zodat ze door de docent

Nadere informatie

Multi user Setup. Firebird database op een windows (server)

Multi user Setup. Firebird database op een windows (server) Multi user Setup Firebird database op een windows (server) Inhoudsopgave osfinancials multi user setup...3 Installeeren van de firebird database...3 Testing van de connectie met FlameRobin...5 Instellen

Nadere informatie

Zelftest Inleiding Programmeren

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

Nadere informatie

Uitwerking oefententamen Computerarchitectuur December 2016

Uitwerking 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 informatie

Computerarchitectuur. H&P App. C. Pipelining

Computerarchitectuur. 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 informatie

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead 7.1 Exploring Combinations of Ten Look at these cubes. 2. Color some of the cubes to make three parts. Then write a matching sentence. 10 What addition sentence matches the picture? How else could you

Nadere informatie

Graphic Design. Keuzevak GD1. Raul Martinez-Orozco (r.d.martinez.orozco@hro.nl / raul@thecombine.nl)

Graphic Design. Keuzevak GD1. Raul Martinez-Orozco (r.d.martinez.orozco@hro.nl / raul@thecombine.nl) Graphic Design 1 Graphic Design Keuzevak GD1 Raul Martinez-Orozco (r.d.martinez.orozco@hro.nl / raul@thecombine.nl) Graphic Design 2 Expectations Attendance, creativity, motivation and a professional attitude

Nadere informatie

PIR DC-SWITCH. DC Passive infra-red Detector. Model No. PDS-10 GEBRUIKSAANWIJZING/INSTRUCTION MANUAL

PIR DC-SWITCH. DC Passive infra-red Detector. Model No. PDS-10 GEBRUIKSAANWIJZING/INSTRUCTION MANUAL PIR DC-SWITCH DC Passive infra-red Detector Model No. PDS-10 GEBRUIKSAANWIJZING/INSTRUCTION MANUAL Please read this manual before operating your DETECTOR PIR DC-Switch (PDS-10) De PDS-10 is een beweging

Nadere informatie

2019 SUNEXCHANGE USER GUIDE LAST UPDATED

2019 SUNEXCHANGE USER GUIDE LAST UPDATED 2019 SUNEXCHANGE USER GUIDE LAST UPDATED 0 - -19 1 WELCOME TO SUNEX DISTRIBUTOR PORTAL This user manual will cover all the screens and functions of our site. MAIN SCREEN: Welcome message. 2 LOGIN SCREEN:

Nadere informatie

Documentatie Nederlands v1

Documentatie Nederlands v1 Documentatie Nederlands v1 Getting started Navigation menu Theme settings General Features Background Typography Banners Contact details Social Unique selling points Image Sizes Frequently asked questions

Nadere informatie

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet. Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version

Nadere informatie

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame.

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame. 8+ 60 MIN. 2-5 Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame. HELICOPTER SPEL VOORBEREIDING: Doe alles precies hetzelfde als bij

Nadere informatie

Alistair LED stairwell luminaire Handleiding Alistair (UC03 sensor)

Alistair LED stairwell luminaire Handleiding Alistair (UC03 sensor) Alistair LED stairwell luminaire Handleiding Alistair (UC03 sensor) Let op: Als het flexibele draad van dit licht beschadigd is, dient het te worden vervangen door iemand van de technische service, of

Nadere informatie

Calculator spelling. Assignment

Calculator spelling. Assignment Calculator spelling A 7-segmentdisplay is used to represent digits (and sometimes also letters). If a screen is held upside down by coincide, the digits may look like letters from the alphabet. This finding

Nadere informatie

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008 judge Teamhandleiding DOMjudge (versie..0mukp) 31 mei 008 /\ DOM DOM judge Inhoudsopgave 1 Inleiding Samenvatting.1 Inlezen en wegschrijven............................... Insturen van oplossingen...............................3

Nadere informatie

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1 Quick start guide Powerbank MI 16.000 Mah Follow Fast 2016 - All rights reserved. Page 1 ENGLISH The Mi 16000 Power Bank is a very good backup option for those on the move. It can keep you going for days

Nadere informatie

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Handleiding bij het gebruik van een microcontroller in het Accelerometerproject (Project II) Er zijn speciaal voor het Accelerometerproject

Nadere informatie

Tentamen Objectgeorienteerd Programmeren

Tentamen Objectgeorienteerd Programmeren Tentamen Objectgeorienteerd Programmeren 5082IMOP6Y maandag 16 november 2015 13:00 15:00 Schrijf je naam en studentnummer op de regel hieronder. Sla deze pagina niet om tot de surveillant vertelt dat het

Nadere informatie

Deel 1: schriftelijk deel

Deel 1: schriftelijk deel Examen Computerarchitectuur en systeemsoftware Donderdag 15 januari 2009, namiddag Deel 1: schriftelijk deel Algemene bemerkingen: Het examen bestaat uit 2 delen. Dit zijn de vragen voor het eerste deel.

Nadere informatie

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 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

Nadere informatie

DOMjudge teamhandleiding

DOMjudge teamhandleiding judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 1: Installeren en verifiëren van de SDE Door Hugo Arends, augustus 2012 Microcontrollers Een microcontroller is een elektronische component dat gebruikt wordt om (complexe)

Nadere informatie

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 Op basis van het nieuwe artikel 365, lid 4 (NCTS) en het nieuwe artikel 455bis, lid 4 (NCTS-TIR) van het Communautair Toepassingswetboek inzake douane 1

Nadere informatie

Hoofdstuk 7. Computerarchitectuur

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

Nadere informatie

E-Basic. E-Studio. E-Run Real-Time Experiment Generator. E-Merge. E-DataAid Spreadsheet Application for E-Prime Data Files

E-Basic. E-Studio. E-Run Real-Time Experiment Generator. E-Merge. E-DataAid Spreadsheet Application for E-Prime Data Files E-Studio Graphical Design Environment E-Basic Full Scripting Language E-Run Real-Time Experiment Generator E-Merge Data Merging Utility E-DataAid Spreadsheet Application for E-Prime Data Files E-Studio

Nadere informatie

EE1410: Digitale Systemen BSc. EE, 1e jaar, 2011-2012, 2e werkcollege

EE1410: Digitale Systemen BSc. EE, 1e jaar, 2011-2012, 2e werkcollege EE4: igitale Systemen BSc. EE, e jaar, 2-22, 2e werkcollege Arjan van Genderen, Stephan Wong, Computer Engineering 5 t/m 22-3-22 elft University of Technology Challenge the future Voor je begint. ownload

Nadere informatie

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

Add the standing fingers to get the tens and multiply the closed fingers to get the units. Digit work Here's a useful system of finger reckoning from the Middle Ages. To multiply $6 \times 9$, hold up one finger to represent the difference between the five fingers on that hand and the first

Nadere informatie

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of: Document properties Most word processors show some properties of the text in a document, such as the number of words or the number of letters in that document. Write a program that can determine some of

Nadere informatie

B1 Woordkennis: Spelling

B1 Woordkennis: Spelling B1 Woordkennis: Spelling Bestuderen Inleiding Op B1 niveau gaan we wat meer aandacht schenken aan spelling. Je mag niet meer zoveel fouten maken als op A1 en A2 niveau. We bespreken een aantal belangrijke

Nadere informatie

NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. DOEL: SIMULATOR:

NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. DOEL: SIMULATOR: NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. Door mee te doen aan deze uitdaging kan je Nspyre laten zien wat je kan. Schrijf jij de beste oplossing dan is deze lego mindstorms nxt 2.0 set voor jou.

Nadere informatie

Digitale en analoge technieken

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

Nadere informatie

EE1400: Programmeren in C BSc. EE, 1e jaar, , 4e college

EE1400: Programmeren in C BSc. EE, 1e jaar, , 4e college EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 4e college Arjan van Genderen, Computer Engineering 11-12-2012 Delft University of Technology Challenge the future Mededelingen Voortgangstoets: Woensdagmiddag

Nadere informatie

Interaction Design for the Semantic Web

Interaction Design for the Semantic Web Interaction Design for the Semantic Web Lynda Hardman http://www.cwi.nl/~lynda/courses/usi08/ CWI, Semantic Media Interfaces Presentation of Google results: text 2 1 Presentation of Google results: image

Nadere informatie

Usability walkthrough for accessibility

Usability walkthrough for accessibility Usability walkthrough for accessibility steven stijger steven_stijger@nl.ibm.com http://www.flickr.com/photos/81167076@n00/322162512/ Copyright IBM Corporation 2008 usability walkthrough usability test

Nadere informatie

College 13: Patterns (2)

College 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 informatie

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network

Nadere informatie

9 Tijdsfuncties. 9.1 Voorstelling tijden

9 Tijdsfuncties. 9.1 Voorstelling tijden 9 Tijdsfuncties 9.1 Voorstelling tijden Een speciaal gedeelte van het geheugen van de CPU is gereserveerd voor timers. In dit geheugengedeelte is er voor iedere timer een 16-bit woord gereserveerd. Het

Nadere informatie

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation TeleBank Contents Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation Introduction - TeleBank Automatic bank services Initiates a Dialog with

Nadere informatie

Zelf PIC's programmeren. Deel-1 KnipperLED (flashing LED)

Zelf PIC's programmeren. Deel-1 KnipperLED (flashing LED) Zelf PIC's programmeren Deel-1 KnipperLED (flashing LED) Het eerste project is het programmeren van een knipperende LED. Bij dit project gaat het vooral om ervaring op te doen met PIC-programmeren. We

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Project Software Engineering XML parser: Parsen van een xml CD catalogus

Project Software Engineering XML parser: Parsen van een xml CD catalogus Project Software Engineering XML parser: Parsen van een xml CD catalogus Brent van Bladel brent.vanbladel@uantwerpen.be February 16, 2017 XML (Extensible Markup Language) is een taal waarmee we op een

Nadere informatie

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

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

Nadere informatie

The colour of a pixel in a bit map picture can be presented in different ways. For this assignment, we distinguish two categories:

The colour of a pixel in a bit map picture can be presented in different ways. For this assignment, we distinguish two categories: Bitmap conversion A bit map picture is exactly what the name makes one suspect: a sequence of bits (0 or 1) that together represent a digital photo. The picture consists of a matrix (rectangle grid) of

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

i(i + 1) = xy + y = x + 1, y(1) = 2.

i(i + 1) = xy + y = x + 1, y(1) = 2. Kenmerk : Leibniz/toetsen/Re-Exam-Math A + B-45 Course : Mathematics A + B (Leibniz) Date : November 7, 204 Time : 45 645 hrs Motivate all your answers The use of electronic devices is not allowed [4 pt]

Nadere informatie

7 aug. 2006 Snelstart document Thecus N2100 Y.E.S.box BlackIP Versie 1.0

7 aug. 2006 Snelstart document Thecus N2100 Y.E.S.box BlackIP Versie 1.0 Setup Wizard MET DHCP-server: 1. NA de installatie van de software welke zich op de CD bevindt krijgt u het volgende te zien: 2. V ervolgens gaat de softw are op zoek naar de Thecus Y.E.S.box welke is

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Bewijzen en Technieken 1 7 januari 211, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe.

Nadere informatie

1. Testdata TA sensor met Ohmse belasting

1. Testdata TA sensor met Ohmse belasting 1. Testdata TA12-100 sensor met Ohmse belasting Data van primaire meetkring met ohmse belasting Load (Ω) Mp1 (VC165) VTrms Mp2 (DVM98) ITrms Mp3 Vpp Mp3 VMax Mp3 VTrms Primaire Kring analyse Mp3 Vrms Mp1

Nadere informatie

RCL Arduino Workshop 1

RCL Arduino Workshop 1 RCL Arduino Workshop 1 Leren door doen april 2015 - slides voor RCL Arduino workshop 1 ON4CDU & ON8VQ Workshop Leren door doen Werken in een groep Beperkte tijd Alleen essentiele vragen stellen Thuis oefenen

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 2: Architectuur ATmega32 en STK500 Door Hugo Arends, september 2012 Architectuur ATmega32 Een uitgebreide en gedetailleerde beschrijving van de ATmega32 microcontroller

Nadere informatie

ROBOMIND EV3 EXPORT HANDLEIDING VOOR WINDOWS COMPUTERS

ROBOMIND EV3 EXPORT HANDLEIDING VOOR WINDOWS COMPUTERS ROBOMIND EV3 EXPORT HANDLEIDING VOOR WINDOWS COMPUTERS Attentie: Op dit moment werkt de EV3 export alleen met Windows Desktop computers! Om RoboMind programma s te exporteren naar de Lego EV3 robot moet

Nadere informatie

2. Wanneer moet ik een afbeelding verkleinen?

2. Wanneer moet ik een afbeelding verkleinen? Appendix B. Beeldmateriaal en Blackboard 1. Inleiding...1 2. Wanneer moet ik een afbeelding verkleinen?...1 3. Het formaat van een afbeelding wijzigen...2 4. Een afbeelding comprimeren...4 5. Een uitsnede

Nadere informatie

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1 Today s class Digital Logic Friday, October 19, 2007 Computer Architecture I - Class 8 1 Digital circuits Two logical values Binary 0 (signal between 0 and 1 volt) Binary 1 (signal between 2 and 5 volts)

Nadere informatie

Hoofdstuk 4. Digitale techniek

Hoofdstuk 4. Digitale techniek Hoofdstuk 4 Digitale techniek 1 A C & =1 F Figuur 4.1: Combinatorische schakeling. A C & & F A = & F C Figuur 4.2: Drie-input AND. A C _ >1 & F Figuur 4.3: Don t care voorbeeld A? F Figuur 4.4: Onbekende

Nadere informatie

Macrium Reflect V4.2 Handleiding

Macrium Reflect V4.2 Handleiding Macrium Reflect V4.2 Handleiding Met Macrium Reflect kunt u een Image (kopie) maken van de C: schijf, waarmee, u na computerproblemen binnen tien minuten weer een goed werkende PC kunt hebben. Ga naar:

Nadere informatie

b) Geef het schema van een minimale realisatie met uitsluitend NANDs en inverters voor uitgang D.

b) Geef het schema van een minimale realisatie met uitsluitend NANDs en inverters voor uitgang D. Basisbegrippen Digitale Techniek (213001) 9 november 3000, 13.30 17.00 uur 8 bladzijden met 10 opgaven Aanwijzingen bij het maken van het tentamen: 1. Beantwoord de vragen uitsluitend op de aangegeven

Nadere informatie

Sequentiële gepijplijnde machine

Sequentiële gepijplijnde machine Sequentiële gepijplijnde machine Samenvatting controlesignalen Als we de controlesignalen van vorig hoofdstuk nemen, kunnen we per cyclus een naam geven aan de stap. We plaatsen hiervoor wel de registerbeschrijving

Nadere informatie

1 van 8 22-2-2012 20:43

1 van 8 22-2-2012 20:43 1 van 8 22-2-2012 20:43 Garmin Basecamp is een gratis software programma van Garmin. Het vergelijkbaar met mapsource, echter met de nieuwe toestellen (oregon, dakota en gpsmap 62) heeft het een aantal

Nadere informatie

Installatie van Windows 10 op laptops. Windows 10 installation on laptops

Installatie van Windows 10 op laptops. Windows 10 installation on laptops Installatie van Windows 10 op laptops In mei vindt de migratie naar Windows 10 plaats op de laptops. Per dag worden ongeveer 25 laptops gemigreerd. Elke laptop heeft een ISSC-sticker met een laptop-nummer.

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 6 januari 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Testplan Module 12: Bachelor assignment ( )

Testplan Module 12: Bachelor assignment ( ) Testplan Module 12: Bachelor assignment (201500466) BSc Chemical Engineering, academic year: 2017-2018 Module information Module examiners Module parts EC Gardeniers, Bouwmeester, Betlem, Huskens, Brilman,

Nadere informatie

Hoe werkt een rekenmachine?

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

Nadere informatie

HOP9850. void sendfrequency(unsigned long frequency) zie SWEEP9850

HOP9850. void sendfrequency(unsigned long frequency) zie SWEEP9850 SWEEP9850 #define DDS_CLOCK 120000000 // frequentie van de DDS-klok (in Hz) byte LOAD = 8; // I/O 8 is verbonden met FQ_UD van de DDS (frequency update) byte CLOCK = 9; // I/O 9 is verbonden met W_CLK

Nadere informatie

Teardrop readout gradient waveform design. Ting Ting Ren

Teardrop readout gradient waveform design. Ting Ting Ren Teardrop readout gradient waveform design Ting Ting Ren Overview MRI Background Teardrop Model Discussion Future work MRI Background: Classical Description of MRI Spins: MR relevant nuclei, like 1 H. Main

Nadere informatie

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen. Hoofdstuk 3: controlestructuren instructies en blokken Naar elke instructie staat een ; Instructies worden door de haakjes {} in een block samengevat. if else if ( expression) statement1; else statement2;

Nadere informatie

Cambridge International Examinations Cambridge International General Certificate of Secondary Education. Paper 4 Writing May/June hour

Cambridge International Examinations Cambridge International General Certificate of Secondary Education. Paper 4 Writing May/June hour *9572620256* Cambridge International Examinations Cambridge International General Certificate of Secondary Education DUTCH 0515/04 Paper 4 Writing May/June 2015 1 hour Candidates answer on the Question

Nadere informatie