1Ben Bruidegom 1 De Harvard Machine Van rekenmachine met “loopjes” naar processor
2Ben Bruidegom 2 Recapitulatie: “Calculator with loops” Branch instructies: BZ (Branch if zero) BEQ (Branch if equal) BRA (Branch always)
3Ben Bruidegom 3 Extra component: Data Memory Bij een Harvard architectuur is het geheugen gescheiden in twee delen: Het instructiegeheugen en het datageheugen
4Ben Bruidegom 4 ALU & Data Memory
5Ben Bruidegom 5 ALU & Data Memory Schrijven naar het geheugen: MemWrite is 1. Naar welke geheugenlocatie wordt geschreven?
6Ben Bruidegom 6 ALU & Data Memory Schrijven naar het geheugen: MemWrite is 1. Naar welke geheugenlocatie wordt geschreven? Adres wordt bepaald door First Register en Index
7Ben Bruidegom 7 Extra instructies: Store Word & Load Word Slechts twee instructies communiceren met het datageheugen: Load/Store Machine
8Ben Bruidegom 8 Datapad Store Word-instructie Store Word (SW): Second register Data Memory SW rt, index, rs SW $0, 0x10, $1 Memory[R HEX ] R0
9Ben Bruidegom 9 Datapad Load Word-instructie Load Word (LW): Destination register Data Memory LW rd, index, rs LW $1, 0x10, $2 R0 Memory[R HEX ]
10Ben Bruidegom 10 De Harvard machine
11Ben Bruidegom 11 De vijf fases van een instructie
12Ben Bruidegom 12 De vijf fases van een instructie
13Ben Bruidegom 13 De vijf fases van een instructie
14Ben Bruidegom 14 De vijf fases van een instructie
15Ben Bruidegom 15 De vijf fases van een instructie
16Ben Bruidegom 16 De vijf fases van een instructie
17Ben Bruidegom 17 Toepassing: Pipelining Methode om meer instructies tegelijkertijd uit te voeren Voorbeeld: Baanvak Amsterdam Utrecht is onderverdeeld in 4 baanvakken. Tijd (min) Trein nr CS- Amstel Amstel- Abcoude Abcoude- Breukelen Breukelen- Utrecht 2CS-AmstelAmstel- Abcoude Abcoude- Breukelen Breukelen- Utrecht 3CS-AmstelAmstel- Abcoude Abcoude- Breukelen Breukelen- Utrecht 4CS-AmstelAmstel- Abcoude Abcoude- Breukelen Breukelen- Utrecht 5CS-AmstelAmstel- Abcoude Abcoude- Breukelen Breukelen- Utrecht 6CS-AmstelAmstel- Abcoude Abcoude- Breukelen Breukelen- Utrecht Treinen op diverse baanvakken 4 baanvakken: ( ) * 6 = 78 min. 1 baanvak: 10 * 4 * 6 = 240 min.
18Ben Bruidegom 18 Toepassing: Pipelining Tijd (ns) Instr. nr 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2 1FetchDec.ExeMemWB 2FetchDec.ExeMemWB 3FetchDec.ExeMemWB 4FetchDec.ExeMemWB 5FetchDec.ExeMemWB 6FetchDec.ExeMemWB Executie van instructies in een pipeline machine
19Ben Bruidegom 19 Toepassing: Pipelining Tijd (ns) Instr. nr 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2 1FetchDec.ExeMemWB 2FetchDec.ExeMemWB 3FetchDec.ExeMemWB 4FetchDec.ExeMemWB 5FetchDec.ExeMemWB 6FetchDec.ExeMemWB Executie van instructies in een pipeline machine
20Ben Bruidegom 20 Toepassing: Pipelining Tijd (ns) Instr. nr 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2 1FetchDec.ExeMemWB 2FetchDec.ExeMemWB 3FetchDec.ExeMemWB 4FetchDec.ExeMemWB 5FetchDec.ExeMemWB 6FetchDec.ExeMemWB Executie van instructies in een pipeline machine
21Ben Bruidegom 21 Toepassing: Pipelining Tijd (ns) Instr. nr 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2 1FetchDec.ExeMemWB 2FetchDec.ExeMemWB 3FetchDec.ExeMemWB 4FetchDec.ExeMemWB 5FetchDec.ExeMemWB 6FetchDec.ExeMemWB Executie van instructies in een pipeline machine
22Ben Bruidegom 22 Toepassing: Pipelining Tijd (ns) Instr. nr 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2 1FetchDec.ExeMemWB 2FetchDec.ExeMemWB 3FetchDec.ExeMemWB 4FetchDec.ExeMemWB 5FetchDec.ExeMemWB 6FetchDec.ExeMemWB Executie van instructies in een pipeline machine
23Ben Bruidegom 23 Toepassing: Pipelining Tijd (ns) Instr. nr 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2 1FetchDec.ExeMemWB 2FetchDec.ExeMemWB 3FetchDec.ExeMemWB 4FetchDec.ExeMemWB 5FetchDec.ExeMemWB 6FetchDec.ExeMemWB Executie van instructies in een pipeline machine executeren 1 instructie duurt 1 ns executeren 6 instructies duurt 2 ns executeren 1000 instructies duurt?
24Ben Bruidegom 24 Toepassing: Pipelining Tijd (ns) Instr. nr 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2 1FetchDec.ExeMemWB 2FetchDec.ExeMemWB 3FetchDec.ExeMemWB 4FetchDec.ExeMemWB 5FetchDec.ExeMemWB 6FetchDec.ExeMemWB Executie van instructies in een pipeline machine executeren 1 instructie duurt 1 ns executeren 6 instructies duurt 2 ns executeren 1000 instructies duurt 201 ns
25Ben Bruidegom 25 Tentamenstof voor studenten AI Hoofdstuk: 1, 2 en 3: Alle paragrafen Hoofdstuk 4: Alle paragrafen m.u.v. 4.9 Hoofdstuk 5: Alle paragrafen m.u.v. – 5.4 set-up & hold time; – 5.6 Branch Predictor. – 5.7 & 5.8 Hoofdstuk 6: Niet Hoofdstuk 7, 8 Alle paragrafen