Dat1E G2 - En enkelt/dobbelt-cyklus mikroarkitektur. Espen Højsgaard Rune Højsgaard Christian Iversen

Størrelse: px
Starte visningen fra side:

Download "Dat1E G2 - En enkelt/dobbelt-cyklus mikroarkitektur. Espen Højsgaard Rune Højsgaard Christian Iversen"

Transkript

1 Dat1E G2 - En enkelt/dobbelt-cyklus mikroarkitektur Espen Højsgaard Rune Højsgaard Christian Iversen 1

2 Indhold 1 Sammenfatning 3 2 Enkelt-cyklus mikroarkitektur Tilføjelser til datastien Tilføjelser til kontrollen Enkelt/dobbelt-cyklus arkitektur Opdeling af instruktioner Opdeling Kontrol Køretider 4 5 Litteratur 4 A Diagram over enkelt-cyklus arkitektur 6 B Kildekode til enkelt-cyklus arkitektur 7 B.1 alu.k B.2 alu-control.k B.3 control.k B.4 single-cycle.k C Diagram over enkelt/dobbelt-cyklusarkitektur 11 D Kildekode til enkelt/dobbelt-cyklus arkitektur 12 D.1 alucontrol.k D.2 double-cycle.k D.3 maincontrol.k D.4 pccontrol.k E Udskrift af kørsler 16 E.1 fib E.1.1 Enkelt-cyklus E.1.2 Enkelt/dobbelt-cyklus E.2 logtst E.2.1 Enkelt-cyklus E.2.2 Enkelt/dobbelt-cyklus E.3 scatter E.3.1 Enkelt-cyklus E.3.2 Enkelt/dobbelt-cyklus E.4 slttest

3 E.4.1 Enkelt-cyklus E.4.2 Enkelt/dobbelt-cyklus E.5 sort E.5.1 sort.in E.5.2 Enkelt-cyklus E.5.3 Enkelt/dobbelt-cyklus

4 1 Sammenfatning Dette er en besvarelse af anden godkendelsesopgave på kurset Datalogi 1E 2003, Københavns Universitet [2]. Læseren forventes at have læst opgaveformuleringen samt - som minimum - at have samme forudsætninger som en elev, der har fulgt kurset. Formålet med opgaven er i kreds at implementere en enkelt- og dobbelt-cyklus mikroarkitektur, der kan udføre en lille delmængde af MIPS maskinsprog. Vores ambition var at lave en fungerende minimumsløsning af begge kredsløb, med fokus på simple overskuelige valg, frem for mere avancerede løsninger. Begge de designede kredsløb fungerer og lever op til vores ambitionsniveau. 2 Enkelt-cyklus mikroarkitektur Vores enkelt-cyklus mikroarkitektur er, som foreslået i [2], baseret på den arkitektur, der er beskrevet i [1, afs ] og vist på fig i samme bog. Denne arkitektur understøtter dog ikke alle de krævede instruktioner, hvorfor det har været nødvendigt at udvide datastien og kontrollen. Kildekoden til programmet kan ses i appendiks B. 2.1 Tilføjelser til datastien De instruktioner, der ikke kan udføres på arkitekturen fra [1], er: I-type, BNE, JAL og JR. I det følgende gennemgår vi de ændringer vi har fundet nødvendige for at understøtte disse. Appendiks A viser et diagram over kredsløbet. I-type instruktionerne forudsætter at konstanter i de 16 mindst betydende bit af instruktionen kan føres ind i ALU en. Konstanterne skal både kunne nul-forlænges og fortegnsforlænges, hvilket klares ved en simpel ændring af den fortegnsforlænger, der optræder i forlægget. BNE-instruktionen medfører ingen ændringer af datastien, da den følger BEQ-instruktionen. JAL medfører at adressen på den næste instruktion (PC+4) skal føres ned til muxen, der vælger inddata til registrene. Derudover skal konstanten 31 ($ra) føres ind i muxen, der vælger det register, der skal skrives til. JR medfører at den første uddata-linje fra registrene skal føres ind i en mux, der vælger adressen på den næste instruktion. 2.2 Tilføjelser til kontrollen Kontrol-delen af kredsløbet er ikke ændret væsentligt fra forlægget i [1]. Der er tilføjet enkelte kontrol-linjer og ALUOp-linjen fra Control til ALU control er udvidet. Dette sker da I-type ordrene ikke kan angive operationen i funct-feltet af instruktion, hvorfor det er de seks mest betydende bit, der bestemmer ALU ens operation. 3

5 3 Enkelt/dobbelt-cyklus arkitektur Vi har valgt en simpel modifikation af enkelt-cyklus-kredsløbet, hvor de fleste instruktioner kun kræver en cyklus. Vi har indsat en flip-flop før data-porten til hukommelsen og fjernet den separate adder, der beregner branch-adressen. Kredsløbet kan ses i appendiks C og kildekoden i appendiks D. 3.1 Opdeling af instruktioner Vores opdeling bygger på at både læsning og skrivning til hukommelsen tager 5 ns. Ud fra denne antagelse har vi beregnet en øvre grænse for clockfrekvensen på vores enkelt-cyklus 1 kredsløb på 2 5ns = 100MHz (beregnet ud fra den givne adgangstid samt LW og SW, der tilgår hukommelsen to gange pr. instruktion). Da den reelle clockfrekvens for enkelt-cyklus kredsløbet er ca. 85MHz har vi sluttet at hukommelsen er den mest betydende komponent, hvorfor vi har besluttet kun at tilgå hukommelsen i starten af hver cyklus Opdeling Da det kun er LW og SW-kommandoerne der tilgår hukommelsen er det de eneste instruktioner, der behøver to cykler for at bringe clockfrekvensen væsentligt op. Derudover har vi valgt at spare på transistorerne ved at lade de to branch-instruktioner bruge ALU en til både at sammenligne og beregne hop-adressen, hvorved BEQ og BNE også tager to cykler. Det er dog ikke altid nødvendigt. Hvis man undersøger betingelsen i første cyklus kan man gå direkte til næste instruktion, hvis betingelsen ikke er opfyldt og dermed spare en cyklus. Resten af instruktionerne kan udføres på en cyklus. 3.2 Kontrol Den vigtigste ændring af kontrollen er tilføjelsen af en 1-bit flip-flop, der angiver kontrollens tilstand. Derudover har vi tilføjet en kontrolenhed, der styrer hvilken adresse næste instruktion skal hentes fra og om denne adresse skal skrives til PC. Denne opdeling gør kredsløbet nemmere at overskue og PLA erne nemmere at implementere. 4 Køretider Den simulerede udførselstid for de fem testprogrammer på hver arkitektur er angivet i tabel 1. Udskrifterne af kørslerne kan ses i appendiks E. For samtlige programmer er den simulerede udførselstid bedre for enkelt/dobbelt-cyklus arkitekturen end for enkelt-cyklus do. Da hukommelsesinstruktionerne (og til dels branchinstruktionerne) er langsommere end før (138MHz/2 = 68MHz), er det ikke overraskende, at den faktor, som clockfrekvensen er forbedret med ( MHz MHz = 1.6), ikke også er forbedringen i køretiden. 4

6 Arkitektur enkelt-cyklus enkelt/dobbelt-cyklus fib µs µs logtst µs µs Program scatter µs µs slttest µs µs sort µs µs Tabel 1: Køretider Litteratur [1] David A. Patterson and John L. Hennessy. Computer organization and design : the hardware/software interface. Morgan Kaufmann Publishers, Inc., second edition, [2] Martin Zachariasen. En enkelt/dobbelt-cyklus mikroarkitektur. dat1e godkendelsesopgave 2, oktober

7 A Diagram over enkelt-cyklus arkitektur 6

8 B Kildekode til enkelt-cyklus arkitektur B.1 alu.k alu ( ina {32} inb {32} opcode {3} ) >> ( Res {32} Zero {1} ) inb >> notarray {32}; notarray inb opcode [2] >> muxadd {1 32}; opcode [1..0] >> [ select ] mux {2 32}; // ## I n g o i n g c o n n e c t i o n s ( from i n w i r e s ) // 000 And o p e r a t i o n 001 Or o p e r a t i o n ( ina inb )/2 >> andarray {32 2}, orarray {32 2}; // 010 Add o p e r a t i o n ina muxadd opcode [2] >> adder {32}; // 011 No o p e r a t i o n // 100 No o p e r a t i o n // 101 No o p e r a t i o n // 110 Subtract // a l r e a d y d e c l a r e d i n 010 // 111 Set on l e s s than // a l r e a d y d e c l a r e d i n 010 end // ## Outgoing c o n n e c t i o n s ( to o u t w i r e s ) ( adder [ cout ] >> not1 ) ina [31] inb [31] >> myxor {3}; 0{31} myxor // 111 Set on l e s s than adder [ sum ] // 010 Add/110 Sub o p e r a t i o n orarray [ out ] // 001 Or o p e r a t i o n andarray [ out ] // 000 And o p e r a t i o n >> [in]mux [ out ] >> Res ; adder [ sum ] >> or {32} >> not2 >> Zero ; B.2 alu-control.k ALUcontrol ( ALUOp {3} Func {6}) >> ( JumpReg {1} Binvert {1} Opcode {2}) // ALUOp[ 2 ] // ALUOp[ 1 ] // ALUOp[ 0 ] // Func [ 5 ] ( i n s t r u k t i o n [5 0] = Func ) // Func [ 4 ] // Func [ 3 ] // Func [ 2 ] // Func [ 1 ] // Func [ 0 ] // controlplane = " , " // addi " , " // andi " , " // o r i " , " // s l t i " , " // sub " , " //R format ( add ) " , " //R format ( sub ) " , " //R format ( and ) 7

9 end " , " //R format ( or ) " , " //R format ( s l t ) " "; //R format ( j r ) // // ALUInput [ 0 ] // ALUInput [ 1 ] // ALUInput [ 2 ] ( Binvert ) // JumpReg [ 0 ] ALUOp Func >> PLA { controlplane } >> JumpReg Binvert Opcode ; B.3 control.k control ( Opcode {6} ) >> ( ALUSrc {1} Branch {1} BranchNE {1} Jump {1} Link {1} MemRead {1} MemtoReg {1} MemWrite {1} RegDst {1} RegWrite {1} SignExt {1} ALUOp {3} ) // Op [ 5 ] // Op [ 4 ] // Op [ 3 ] // Op [ 2 ] // Op [ 1 ] // Op [ 0 ] // // controlplane = " , " // R format " , " // lw " , " // sw " , " // beq " , " // bne " , " // j " , " // j a l " , " // addi " , " // s l t i " , " // andi " "; // o r i // DCBA // // 1 ALUOp0 // 2 ALUOp1 // 3 ALUOp2 // 4 SignExt // 5 RegWrite // 6 RegDst // 7 MemWrite // 8 MemtoReg // 9 MemRead // ALink // BJump // CBranchNE // DBranch 8

10 end // ALUSrc Opcode >> PLA { controlplane } >> ALUSrc Branch BranchNE Jump Link MemRead MemtoReg MemWrite RegDst RegWrite SignExt ALUOp ; B.4 single-cycle.k // F i l e n implementerer en e n k e l t c y k l u s m i k r o a r k i t e k t u r, // der implementerer det æunderst a f MIPS, der e r // b e s k r e v e t i Dat1E G main () // Udregn PC+4 PC{ FlipFlop 32 0} 4{32} 0{1} >> add1 {32}; add1 [ cout ] >> _ {1}; // Lav hukommelsen og brug PC som a d r e s s e // (æ l s e s hver ved hver c y k l u s ) PC 1{1} >> [ iaddrin, ird ] Memory { IdealMemIOSys 5}[ idataout ]; // Stop s i m u l a t i o n e n ved i n s t r u k t i o n e n FC Memory [ idataout ] >> and1 {6} or1 {26} >> {1} not0 >> and2 {2} >> [ stop ] SimSysCtrl ; // Hovedkontrollen ( c o n t r o l. k ) å f r opkoden Memory [ idataout :31..26] >> control1 ; 31{5} Memory [ idataout :20..11] control1 [ Link ]*2 control1 [ RegDst ]*2 >> {17} not1 {1} >> {16} Xor1 {2} {1} >> FastMux1 {3 5}; // Muxen, der æ v l g e r RegWriteData add1 [ sum ] >> [in :63..32] mux1 {1 32}; control1 [ Link ] >> [ select ] mux1 ; // æopst r e g i s t r e // Antal s k r i v p o r t e : 1 // Antal æ l s p o r t e : 2 // Antal a d r e s s e r i n g s b i t s : 5 // Antal d a t a b i t s : 32 Registers { RegFile }; control1 [ RegWrite ] >> [ wrenable ] Registers ; FastMux1 [ out ] >> [ wrselect ] Registers ; mux1 [ out ] >> [ wrdata ] Registers ; Memory [ idataout :20..16] Memory [ idataout :25..21] >> [ rdselect ] Registers ; // æopst k o n t r o l l e r e n t i l ALU en ( ALUcontrol. k ) control1 [ ALUOp ] Memory [ idataout :5..0] >> alucontrol1 ; //Muxen, der æ v l g e r B i n p u t t e t t i l ALU en ( control1 [ SignExt ] Memory [ idataout :15] Memory [ idataout :15..0] >> and3 {2}*16 {16}) Registers [ rddata :63..32] control1 [ ALUSrc ] >> mux2 {1 32}; 9

11 // ALU en ( alu. k ) Registers [ rddata :31..0] mux2 [ out ] alucontrol1 [ Binvert, Opcode ] >> alu ; // Add eren, der b e r e g n e r branch a d r e s s e r add1 [ sum ] ( control1 [ SignExt ] Memory [ idataout :15] Memory [ idataout :15..0] >> and4 {2}*14 {16}) 0{3} >> add2 {32}; add2 [ cout ] >> _ {1}; // Muxen, der æ v l g e r a d r e s s e n åp æ n s t e i n s t r u k t i o n // b i t 3 : Jump // b i t 2 : Jump r e g i s t e r // b i t 1 : Branch (åbde eq og neq ) // b i t 0 : PC+4 add1 [ sum :31..28] Memory [ idataout :25..0] 0{2} Registers [ rddata :31..0] add2 [ sum ] add1 [ sum ] ( control1 [ Jump ] alucontrol1 [ JumpReg ] control1 [ Branch ] alu [ Zero ]*2 control1 [ BranchNE ] >> {4} not2 {1} >> {2} and5 {2} and6 {2} >> {2} or2 {2} >> {3}, or3 {3} >> {3} not3 ) >> FastMux2 {4 32} >> [ in] PC; // æopst data hukommelsen alu [ Res ] >> [ daddrin ] Memory ; control1 [ MemRead ] >> [ drd ] Memory ; control1 [ MemWrite ] >> [ dwr ] Memory ; Registers [ rddata :63..32] >> [ ddatain ] Memory ; end //Muxen, der æ v l g e r mellem æ l s t e l l e r b e r e g n e t data Memory [ ddataout ] alu [ Res ] control1 [ MemtoReg ] >> mux3 {1 32} >> [in :31..0] mux1 ; 10

12 C Diagram over enkelt/dobbelt-cyklusarkitektur 11

13 D Kildekode til enkelt/dobbelt-cyklus arkitektur D.1 alucontrol.k ALUcontrol ( State {1} ALUOp {3} Func {6}) >> ( Opcode {3} AluMuxA {1} AluMuxB {2}) // S t a t e [ 2 ] // ALUOp[ 2 ] // ALUOp[ 1 ] // ALUOp[ 0 ] // Func [ 5 ] ( i n s t r u k t i o n [5 0] = Func ) // Func [ 4 ] // Func [ 3 ] // Func [ 2 ] // Func [ 1 ] // Func [ 0 ] // // controlplane = " , " //Add " , " //Add " , " //And " , " //Or " , " // S l t " , " //R " , " //R " , " //R " , " //R " , " //R " "; //Sub // // // AluMuxB [ 0 ] // AluMuxB [ 1 ] // AluMuxA // ALUC[ 0 ] // ALUC[ 1 ] // ALUC[ 2 ] end State ALUOp Func >> PLA { controlplane } >> Opcode AluMuxA AluMuxB ; D.2 double-cycle.k / Implementation o f a double c y c l e MIPS s u b s e t p r o c e s s o r ( 2 003) C h r i s t i a n I v e r s e n Rune øhjsgaard Espen øhjsgaard / main () // D e c l a r a t i o n s State { FlipFlop 1 0}; Controller {}; PC{ WrEnFlipFlop 32 0}; PCAdder { Adder 32}; PCControl {}; PCMux { FastMux 4 32} ALUControl {}; 12

14 ALUMuxA { Mux 1 32}; ALUMuxB { Mux 2 32}; ALUBufferD { WrEnFlipFlop 32 0}; ALUBufferA { WrEnFlipFlop 32 0}; ALU {}; RegBank { RegFile }; RegMuxA { Mux 2 5}; RegMuxB { Mux 2 32}; Memory { IdealMemIOSys 5}; CBuffer { FlipFlop 2 0}; // S t a t e State >> [ State ] ALUControl, [ State ] PCControl, [ State ] Controller ; // C o n t r o l l e r Memory [ idataout :5..0] >> [ Func ] Controller ; Memory [ idataout :31..26] >> [ Opcode ] Controller ; Controller [ RegWrite ] >> [ RegWrite ] PCControl ; Controller [ MemWrite ] >> [ MemWrite ] PCControl ; Controller [ BranchEQ ] >> [ BranchEQ ] PCControl ; Controller [ BranchNE ] >> [ BranchNE ] PCControl ; Controller [ Jump ] >> [ Jump ] PCControl ; Controller [ JumpReg ] >> [ JumpReg ] PCControl ; Controller [ MemWrite ] Controller [ MemRead ] >> CBuffer ; CBuffer >> [ dwr ] Memory [ drd ] Memory ; Controller [ RegWrite ] >> [ wrenable ] RegBank ; Controller [ ALUOp ] >> [ ALUOp ] ALUControl ; Controller [ Link ] Controller [ RegDst ] >> [ select ] RegMuxA ; Controller [ Link ] Controller [ MemToReg ] >> [ select ] RegMuxB ; 1{1} >> [ ird ] Memory ; // PC PCControl [ WritePC ] >> [ wrenable ] PC; PCControl [ PCMux ] >> [ select ] PCMux ; PCControl [ StateOut ] >> [ in] State ; PCMux [ out ] >> [in]pc; PC[out ] >> [ ina ] PCAdder, [ iaddrin ] Memory ; 4{32} >> [ inb ] PCAdder ; 0{1} >> [ cin ] PCAdder ; PCAdder [ cout ] >> _ {1}; PCAdder [ sum :31..28] Memory [ idataout :25..0] 0{2} RegBank [ rddata :31..0] ALU [ Res ] PCAdder [ sum ] >> [in] PCMux ; // R e g i s t e r Memory [ idataout :20..16] Memory [ idataout :25..21] >> [ rdselect ] RegBank ; RegMuxA [ out ] >> [ wrselect ] RegBank ; RegMuxB [ out ] >> [ wrdata ] RegBank ; 31{5} 31{5} Memory [ idataout :15..11] Memory [ idataout :20..16] >> [ in] RegMuxA ; PCAdder [ sum ]*2 Memory [ ddataout ] ALU [ Res ] >> [in] RegMuxB ; 13

15 // ALU ALUMuxA [ out ] >> [ ina ] ALU ; ALUMuxB [ out ] >> [ inb ] ALU ; ALU [ Res ] >> [in] ALUBufferA ; ALU [ Zero ] >> [ Zero ] PCControl ; ALUBufferA [ out ] >> [ daddrin ] Memory ; ALUBufferD [ out ] >> [ ddatain ] Memory ; RegBank [ rddata :63..32] >> [ in] ALUBufferD ; State >> notstate1 >> [ wrenable ] ALUBufferA ; PCControl [ StateOut ] >> [ wrenable ] ALUBufferD ; // Func Memory [ idataout :5..0] >> [ Func ] ALUControl ; ALUControl [ Opcode ] >> [ opcode ] ALU ; ALUControl [ AluMuxA ] >> [ select ] ALUMuxA ; ALUControl [ AluMuxB ] >> [ select ] ALUMuxB ; Controller [ SignExt ] Memory [ idataout :15] Memory [ idataout :15..0] >> SignAnd { And 2}*16 {16} >> [ val ] SignExtender { NullBoundary }; PCAdder [ sum ] RegBank [ rddata :31..0] >> [ in] ALUMuxA ; RegBank [ rddata :63..32]*2 SignExtender [ val ] SignExtender [ val :29..0] 0{2} >> [in] ALUMuxB ; // Stop the s i m u l a t i o n at FC Memory [ idataout ] >> and1 {6} or1 {26} >> {1} not0 >> and2 {2} >> [ stop ] SimSysCtrl ; end D.3 maincontrol.k control ( State {1} Func {6} Opcode {6}) >> ( MemRead {1} MemWrite {1} BranchEQ {1} BranchNE {1} Jump {1} JumpReg {1} Link {1} MemToReg {1} RegDst {1} RegWrite {1} SignExt {1} ALUOp {3} ) Func >> {2} not1 {3} >> or1 {6} >> not2 >> [ value ] Func8 { NullBoundary }; // S t a t e // Func8 // Op [ 5 ] // Op [ 4 ] // Op [ 3 ] // Op [ 2 ] // Op [ 1 ] 14

16 // Op [ 0 ] // // controlplane = " , " // R format " , " // JR " , " // lw " , " // lw " , " // sw " , " // sw " , " // beq " , " // beq " , " // bne " , " // bne " , " // addi " , " // s l t i " , " // andi " , " // o r i " , " // j " "; // j a l // DCBA // // ALUOp0 // ALUOp1 // ALUOp2 // SignExt // RegWrite // RegDst // MemtoReg // Link // JumpReg // Jump // BranchNE // BranchEQ // MemWrite // MemRead State Func8 [ value ] Opcode >> PLA { controlplane } >> MemRead MemWrite BranchEQ BranchNE Jump JumpReg Link MemToReg RegDst RegWrite SignExt ALUOp ; end D.4 pccontrol.k PCcontrol ( State {1} Jump {1} JumpReg {1} BranchEQ {1} BranchNE {1} RegWrite {1} MemWrite {1} Zero {1} ) >> 15

17 ( PCMux {4} WritePC {1} StateOut {1}) // S t a t e // Jump // JumpReg // BranchEQ // BranchNE // RegWrite // MemWrite // Zero // // controlplane = " , " // J a l " , " // Jr " , " //Beq " , " //Beq " , " //Beq " , " //Bne " , " //Bne " , " //Bne " , " //LW/SW 1. c y k l u s " , " //LW 2. c y k l u s + R og I type " "; //SW 2. c y k l u s // // // StateOut // WritePC // PCMux [ 0 ] // PCMux [ 1 ] // PCMux[ 2 ] // PCMux [ 3 ] end E State Jump JumpReg BranchEQ BranchNE RegWrite MemWrite Zero >> PLA { controlplane } >> PCMux WritePC StateOut ; Udskrift af kørsler Følgende er outputtet fra kørslerne af de fem testprogrammer på de to arkitekturer. E.1 fib E.1.1 Enkelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation. Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. 16

18 E.1.2 Enkelt/dobbelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation. Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. E.2 logtst E.2.1 Enkelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation. 1 Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. E.2.2 Enkelt/dobbelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation. 1 Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. E.3 scatter E.3.1 Enkelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. 17

19 Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation. Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. E.3.2 Enkelt/dobbelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation. Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. E.4 slttest E.4.1 Enkelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation. 1 Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. E.4.2 Enkelt/dobbelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation. 1 18

20 Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. E.5 sort Sort er kørt med den givne input-fil, sort.in. E.5.1 sort.in E.5.2 Enkelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. E.5.3 Enkelt/dobbelt-cyklus This is SimSys , November 24 th 2002, ( C) Finn Schiermer Andersen SimSys is open source. Share and enjoy. Please visit http ://www. opensource. org to learn more about the open source concept. SimSys : Estimating resource usage : MHz Preparations complete. Now starting functional simulation Functional simulation completed. Shutting down SimSys : Elapsed time ( simulated ): micro - seconds. 19

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B Martin Zachariasen 10. september 2004 1 Introduktion Dette er den karaktergivende rapportopgave på kurset Maskinarkitektur 1B, efterår

Læs mere

Dat1E K1-1 - En pipelinet mikroarkitektur. Espen Højsgaard Rune Højsgaard Christian Iversen

Dat1E K1-1 - En pipelinet mikroarkitektur. Espen Højsgaard Rune Højsgaard Christian Iversen Dat1E K1-1 - En pipelinet mikroarkitektur Espen Højsgaard Rune Højsgaard Christian Iversen 1 Indhold Indhold 2 1 Sammenfatning 5 1.1 Ambitioner................................... 5 1.2 Resultat.....................................

Læs mere

Processoren: Enkelt-cyklus implementation

Processoren: Enkelt-cyklus implementation Processoren: Enkelt-cyklus implementation Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, afsnit 5.1 5.3 Historisk tilbageblik MIPS-arkitekturen/delmængde Klokning og byggeklodser Opbygning

Læs mere

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Vejledende løsninger til

Læs mere

K1 - En pipelinet mikroarkitektur

K1 - En pipelinet mikroarkitektur K1 - En pipelinet mikroarkitektur Mikkel Boje, di020168@diku.dk Ulrik Schou Jrgensen, di020545diku.dk Martin Damhus, di020162@diku.dk 25. november 2002 Indhold 1 Sammenfatning 4 1.1 Indledning...............................

Læs mere

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

DATALOGI MASKINARKITEKTUR

DATALOGI MASKINARKITEKTUR Københavns Universitet Natrvidenskabelig Embedseksamen DATALOGI ASKINARKITEKTUR Skriftlig eksamen fredag den 29. oktober 24 kl. -2 Frederiksholms kanal 4B Der er fem opgaver i alt og disse giver følgende

Læs mere

Processoren: Fler-cyklus implementation

Processoren: Fler-cyklus implementation Processoren: Fler-cykls implementation artin Zachariasen, DIKU Litteratr: Patterson & Hennessy, afsnit 5.4 5. Ulemper ved enkelt-cykls maskinen Ændring til fler-cykls maskine Styresignaler Implementering

Læs mere

MIPS, registerallokering og MARS

MIPS, registerallokering og MARS MIPS, registerallokering og MARS Torben Mogensen 2011 Resumé Vi beskriver modulerne Mips.sml og RegAlloc.sml, samt hvordan de bruges sammen med MIPS-emulatoren MARS. 1 MIPS modulet Modulet Mips.sml indeholder

Læs mere

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse bedømmes som en helhed.

Læs mere

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer Maskinsprog Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, kap. 3 Programmer og ordrer Ordretyper Operander og deres placering Ordreformat Procedurekald Andre arkitekturer 1 Stored-program

Læs mere

uprocessorens hardware

uprocessorens hardware uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller

Læs mere

CPUer og maskinkode DM534. Rolf Fagerberg

CPUer og maskinkode DM534. Rolf Fagerberg CPUer og maskinkode DM534 Rolf Fagerberg CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Det digitale niveau Niveauer af abstrakte maskiner Mikroarkitektur: Mic-1 Digitale kredsløb Logiske tilstande: 0 (0-1 V), 1 (2-5 V) Mikroarkitektur: Mic-1 Kombinatoriske kredsløb Logiske tilstande: 0 (0-1

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min.

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min. Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse

Læs mere

Design og implementering af hardware-specifikationssprog

Design og implementering af hardware-specifikationssprog Design og implementering af hardware-specifikationssprog Fore til simulationssystemet SimSys Signe Reuss Datalogisk Institut, Københavns Universitet 4. marts 2002 Resumé I dette speciale designes og implementeres

Læs mere

MIPS modulet og registerallokatoren

MIPS modulet og registerallokatoren MIPS modulet og registerallokatoren Værktøjer til oversætterdelen af K1 Dat1E 2001 MIPS modulet Den vigtigste del af modulet MipsData.sml er datatypen mips, som beskriver MIPS ordrer, se figur 1. Alle

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Mikroarkitektur Niveauer af abstrakte maskiner Spørgsmål... Hvordan realiseres IJVM maskinen (lev. 2), eller hvordan ser en IJVM-CPU ud? Opbygning (mikroarkitekturen Mic-1) Anvendelse (mikroprogrammet

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Det digitale niveau Niveauer af abstrakte maskiner Digitale kredsløb Logiske tilstande: (- V), (2-5 V) Kombinatoriske kredsløb Logiske tilstande: (- V), (2-5 V) Registre Logiske tilstande: (- V), (2-5

Læs mere

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations

Læs mere

Computeren inderst inde

Computeren inderst inde Computeren inderst inde DM534 Rolf Fagerberg Bits Information = valg mellem forskellig muligheder. Simpleste situation: valg mellem to muligheder. Kald dem 0 og. Denne valgmulighed kaldes en bit. Bits

Læs mere

Systemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111

Systemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111 DM14 1. Obligatoriske opgave Systemkald Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111 Side 1 af 5 Intro: Formålet med opgaven at et lave en system kald

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DTLOGI 1E Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse

Læs mere

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode - 3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode Jacob Aae Mikkelsen - 191076 12. december 2005 1 Indhold 1 Opgave beskrivelse 2 2 Muligheder for optimering 2 2.1 efter branch.........................

Læs mere

DM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen

DM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen DM13-1. Obligatorisk opgave E.05 Jacob Aae Mikkelsen - 191076 26. september 2005 Indhold Analyse af problemstillingen........................ 2 Spørgsmål 1................................. 3 Spørgsmål

Læs mere

DM13-1. Obligatoriske Opgave - Kredsløbs design

DM13-1. Obligatoriske Opgave - Kredsløbs design DM13-1. Obligatoriske Opgave - Kredsløbs design Jacob Christiansen moffe42@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 1. Opgaven Opgaven består i at designe et kredsløb,

Læs mere

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015 Opgave: BOW Bowling danish BOI 0, dag. Tilgængelig hukommelse: 6 MB. 30.04.0 Byteasar er fan af både bowling og statistik. Han har nedskrevet resultaterne af et par tidligere bowling spil. Desværre er

Læs mere

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 SAS VISUAL ANALYTICS 7.1 ADMINISTRATOR Mulighed for at udføre handlinger på flere servere

Læs mere

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

Læs mere

Algorithms & Architectures II

Algorithms & Architectures II Algorithms & Architectures II Algorithms & Architectures II Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Simulering af en Mux2

Simulering af en Mux2 Simulering af en Mux2 Indhold Start QuartusII op start et nyt projekt.... 2 Fitter opsætning... 6 Opstart af nyt Block diagram... 8 ModelSim... 14 Hvis man vil ændre data grafisk kan det også lade sig

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... 9 Offline synkronisering... 11 Klienter til mobile enheder...

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang (API =

Læs mere

1.8.2 Overblik over releasens

1.8.2 Overblik over releasens 1.8.2 Overblik over releasens Marts 2013 Releasedato 21. marts 2013, mellem kl. 7:00 og 10:00 GMT Indholdsfortegnelse Forbedringer... 3 Find Us - bekræft beliggenhed på kort... 3 LinkedIn føjet til muligheder

Læs mere

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti. Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste

Læs mere

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Det Digitale Niveau Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Level : Det digitale niveau Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Introduktion til kurset Rolf Fagerberg Forår 2019 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, Institut for Matematik og Datalogi (IMADA) Forskningsområde: algoritmer

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Introduktion til DM507

Introduktion til DM507 Introduktion til DM507 Rolf Fagerberg Forår 2017 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer 2 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA

Læs mere

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti. Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste

Læs mere

Introduktion til SQL queries

Introduktion til SQL queries Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i

Læs mere

Modeling levels. Levels of hardware modeling. Possible set of levels (others exist)

Modeling levels. Levels of hardware modeling. Possible set of levels (others exist) pm2 2 Modeling levels Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008// ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Levels of hardware modeling Possible set of

Læs mere

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves

Læs mere

3. Computerens opbygning.

3. Computerens opbygning. 3. Computerens opbygning. Computere er konstrueret med henblik på at skulle kunne behandle og opbevare data og det er de som nævnt i noterne om Bits og Bytes vældig gode til. Som overordnet model for computere

Læs mere

TRÆNINGS COMPUTER PEAK FITNESS R99

TRÆNINGS COMPUTER PEAK FITNESS R99 TRÆNINGS COMPUTER PEAK FITNESS R99 FUNKTIONER SKÆRM DER VISER DIN NUVÆRENDE TRÆNING TID / TID 500M DISTANCE TRÆK I MINUTTET BRUGER DATA ROTAG / TOTAL ROTAG WATT / KALORIE FORBRUG H.R.C. (PULS) STORT DISPLAY

Læs mere

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Udarbejdet af: Mathias R W Sørensen, klasse 3.4 Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-2012 IT-vejleder: Karl G. Bjarnason

Læs mere

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1]

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1] Grundlæggende Algoritmer og Datastrukturer Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE

Læs mere

Intro til AVR. Mads Pedersen, OZ6HR mads@oz6hr.dk

Intro til AVR. Mads Pedersen, OZ6HR mads@oz6hr.dk Intro til AVR Mads Pedersen, OZ6HR mads@oz6hr.dk Projektidé Brug en AVR-microcontroller Mål temperatur vha. temperatursensor Vis på display Send til computer og vis temperatur Slide 2 Plan 27/10-2005:

Læs mere

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form Danish Language Course for International University Students Copenhagen, 12 July 1 August 2017 Application form Must be completed on the computer in Danish or English All fields are mandatory PERSONLIGE

Læs mere

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss Brugervejledning (side 2-6) Userguide (page 7-11) Bedienungsanleitung 1 - Hvordan forbinder du din E-PAD hængelås med din

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag d. 16. januar 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

Tech College Aalborg. HomePort. Projekt Smart Zenior Home

Tech College Aalborg. HomePort. Projekt Smart Zenior Home Tech College Aalborg HomePort Projekt Smart Zenior Home Indhold HomePort... 2 Hvad er HomePort?... 2 Hvad kan HomePort bruges til?... 3 Hvad er HomePort Adaptere?... 3 Muligheder og begrænsninger... 4

Læs mere

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software

Læs mere

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer.

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer. Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer. API for sekventiel tilgang (API = Application

Læs mere

Eksamen dcomnet Q2/2010. Navn

Eksamen dcomnet Q2/2010. Navn 2582 Eksamen dcomnet Q2/2010 ID Navn Example I A32-prg1 Betragt følgende program skrevet i IA-32 symbolsk maskinsprog:.section.data x:.long 2 r:.long 27.section.text.globl _start _start: pushl x movl $0,%ebx

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

NoteSync vejledning. Leba Innovation A/S

NoteSync vejledning. Leba Innovation A/S NoteSync vejledning Leba Innovation A/S Indholdsfortegnelse NoteSync... 3 USB Interface... 3 Opladning og sync af mere end 16 enheder... 3 Ventilation... 4 Forbinde enheden til strøm... 4 Skifte sikring...

Læs mere

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level.

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level. Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level Application form Must be completed on the computer in Danish or English All

Læs mere

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere version 8 Denne fil med vigtige oplysninger indeholder en vejledning til installation af Custom PostScript- og

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Svendeprøve Projekt Tyveri alarm

Svendeprøve Projekt Tyveri alarm Svendeprøve Projekt Tyveri alarm Påbegyndt.: 8/2-1999 Afleveret.: 4/3-1999 Projektet er lavet af.: Kasper Kirkeby Brian Andersen Thomas Bojer Nielsen Søren Vang Jørgensen Indholds fortegnelse 1. INDLEDNING...3

Læs mere

Start af nyt schematic projekt i Quartus II

Start af nyt schematic projekt i Quartus II Start af nyt schematic projekt i Quartus II Det følgende er ikke fremstillet som en brugsanvisning der gennemgår alle de muligheder der er omkring oprettelse af et Schematic projekt i Quartus II men kun

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved

Læs mere

DME Bootstrap Version 1.4x

DME Bootstrap Version 1.4x Brugermanual for DME Bootstrap Version 1.4x DIESSEL Mobile Electronics A/S Project no.: 18080 Project title: DME Bootstrap Version 1.4x Document file: T:\Projekt\18080 Bootstrap for Windows\Manual\Brugermanual

Læs mere

3. PROJEKT, 2 SEMESTER

3. PROJEKT, 2 SEMESTER 3. PROJEKT, 2 SEMESTER Bruger undersøgelse, af sociale medie. KENDSKAB TIL OG BRUG AF ONLINE SOCIALE MEDIER FORENINGEN AF DANSKE INTERAKTIVE MEDIER, FÅET TIL OPGAVE AT AFDÆKKE DANSKERNES BRUG AF SOCIALE

Læs mere

EDUCATE.AU.DK/BLACKBOARD

EDUCATE.AU.DK/BLACKBOARD Kaltura er en videoserver på AU Library, Aarhus Universitet, hvor ansatte kan uploade video filer via Blackboard. Det samme kan studerende, hvis underviseren giver dem lov. Du uploader alle dine videoer

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se

Læs mere

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1 Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words

Læs mere

ORCAD Digital U1A er en tæller. Den får clocksignaler ind på ben 1. På ben 2 er der en reset-funktion.

ORCAD Digital U1A er en tæller. Den får clocksignaler ind på ben 1. På ben 2 er der en reset-funktion. OR igital OR OPGER IGITL.) yg dette kredsløb op: er må kun bruges komponenter fra underbiblioteket /pspice/ Stel, findes ved klik i højre side, og i biblioteket Source. og R findes i Pspice / nalog. 7

Læs mere

Udforskende og Eksperimenterende Læring med LEGO (UE2L)

Udforskende og Eksperimenterende Læring med LEGO (UE2L) Udforskende og Eksperimenterende Læring med LEGO (UE2L) Australia, China, Denmark, Germany, India, Japan, Malaysia, Mexico, New Zealand, Norway, Singapore, Sweden, Switzerland, Taiwan, Saudi Arabia, Germany,

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Design af Algoritmer Korrekt algoritme 1) algoritmen standser på alle input 2) Output er det rigtige på alle input Effektivitet 1) Optimer algoritmerne

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) Efterår 2009 1 Talrepræsentation På maskinkodeniveau (Instruction Set Architecture Level) repræsenteres ordrer og operander ved bitfølger

Læs mere

US Kalt ura BRUG AF KALTURA I BLACKBOARD AARHUS UNIVERSITET CENTER FOR UNDERVISNINGSUDVIKLING OG DIGITALE MEDIER

US Kalt ura BRUG AF KALTURA I BLACKBOARD AARHUS UNIVERSITET CENTER FOR UNDERVISNINGSUDVIKLING OG DIGITALE MEDIER US Kalt ura BRUG AF KALTURA I AARHUS UNIVERSITET CENTER FOR UNDERVISNINGSUDVIKLING OG DIGITALE MEDIER Redaktion: Karen Louise Møller og Birthe Aagesen Version 2. 2015 2 BRUG AF KALTURA I 3 INDHOLD Indhold

Læs mere

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125 Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...

Læs mere

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads

Læs mere

Indhold. Senest opdateret:03. september 2013. Side 1 af 8

Indhold. Senest opdateret:03. september 2013. Side 1 af 8 Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 API Modeller... 2 Webshop2 API Model v1... 3

Læs mere

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION

Læs mere

Verilog HDL. Presented by: Amir Masoud Gharehbaghi

Verilog HDL. Presented by: Amir Masoud Gharehbaghi Verilog HDL Presented by: Amir Masoud Gharehbaghi Email: amgh@mehr.sharif.edu Design Hierarchy Design Specification & Requirements Behavioral Design Register Transfer Level (RTL) Design Logic Design Circuit

Læs mere

Part 5 Leisure Time and Transport

Part 5 Leisure Time and Transport Part 5 Leisure Time and Transport Lesson 3 Situation and Listen & Practice Situation Line and Louise are colleagues. They meet at a café before work. Line is late because h bike had a puncture on the way.

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.

Læs mere

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed Approximations-algoritmer Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed Negativt resultat om generel TSP Approximations-algoritme

Læs mere

Rolf Fagerberg. Forår 2013

Rolf Fagerberg. Forår 2013 Forår 2013 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM536 og DM537 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM536 og DM537 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,

Læs mere