Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdMartina Hermans Laatst gewijzigd meer dan 10 jaar geleden
1
1 Van Harvard naar MIPS
2
2
3
3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers die ieder 32 bits breed zijn - 32 bits Instruction Memory, - 32 bits Data Memory, - Byte georganiseerde Program Counter, - 5 bits ALU opcode - 3 formaten voor opcode en adresvelden, afhankelijk van het type instructie.
4
4 Van Harvard naar MIPS R-type Bit pos. opcode 31:26 rs 25:21 rt 20:16 rd 15:11 shamt 10:6 funct 0:5 I-type Bit pos. opcode 31:26 rs 25:21 rd or rt 20:16 Immediate/Offset/Address 0:15 J-type Bit pos. opcode 31:26 Address 0:25 Slechts drie instructieformaten Voorbeelden van instructies van het I-type zijn: instructies van het type immediate: bijv. ADDI, rd, rs, imm; branch instructies: bijv. BEQ rs, rt, offset; instructie Load Word: LW rd, index, rs; instructie Store Word: SW rt, index, rs.
5
5 Van Harvard naar MIPS: Sign-extender
6
6 Van Harvard naar MIPS: Mux voor het destination register Voorbeelden van instructies van het I-type zijn: instructies van het type immediate: bijv. ADDI, rd, rs, imm; branch instructies: bijv. BEQ rs, rt, offset; instructie Load Word: LW rd, index, rs; instructie Store Word: SW rt, index, rs.
7
7 Van Harvard naar MIPS: Opteller om de PC met 4 te verhogen
8
8 Van Harvard naar MIPS: Shifter
9
9 Van Harvard naar MIPS: Mux voor branches
10
10 Van Harvard naar MIPS
11
11 Executietijd; CPU-time Memory units (Instruction Memory en Data Memory): 1 ns (1 nanosecond = 10 -9 sec.). ALU: 1 ns. Register file (read and write): 1 ns. De delay time van de andere componenten is te verwaarlozen.
12
12 De vijf fases van een instructie
13
13 Instruction Fetch (Read Instruction Memory: 1 ns)
14
14 Instruction Decode (Read Registers: 1 ns)
15
15 Execute (ALU: 1 ns)
16
16 Memory (Write/Write Memory: 1 ns)
17
17 Read-back (Write register: 1 ns)
18
18 Instruction Load Word (LW rd, index, rs) CPU-time 5 ns
19
19 Instruction Branch on Equal (BEQ rs, rt, offset) CPU-time ook 5 ns Bij een Single Cycle machine duurt de executie van elke instructie evenlang als die van de “langzaamste”.
20
20 Klokfrequentie/ Clock rate Periodetijd/ Clock cycle time Tijd 3 Volt 0 Volt Computerklok X-tal oscillator Tijd 0,01 seconde 3 Volt 0 Volt Computerklok X-tal oscillator
21
21 CPU-time van een programma
22
22 Amdahl´s law The performance enhancement possible with a given improvement is limited by the amount that the improved feature is used.
23
23 Amdahl´s law Stel P is het deel van de hardware dat is verbeterd en S de factor hoeveel dit deel is verbeterd, dan is de performanceverbetering (speed up) van een systeem = Stel propagatietijd van de ALU wordt gehalveerd: S = 2. P = 0.2 de ALU-berekening kost 1/5 van de instructietijd Vullen we deze waarden in dan bereiken we performanceverbetering met een factor:
24
24 Amdahl’s Law
25
25 The speedup of a program in parallel computing is limited by the sequential fraction of the program. For example, if 95% of the program can be parallelized, the theoretical maximum speedup using parallel computing would be 20×, no matter how many processors are used.
26
26 Instruction Load Word (LW rd, index, rs) CPU-time 5 ns
27
27 Instruction Branch on Equal (BEQ rs, rt, offset) CPU-time 3 ns Bij een Multicycle machine is de executietijd van iedere instructie recht evenredig met het aantal fases dat de instructie doorloopt.
28
28 Multicycle machine
29
29 Multicycle machine
30
30 Multicycle machine
31
31 Multicycle machine
32
32 Multicycle machine
33
33 Finite State Multicycle Machine Implementation
34
34 Multicycle machine
35
35 Control unit
36
36 Finite state machine control LW or SW R-type RI-type Branch StartNext Instruction 1 Instr. Decode 0 Instr. Fetch ? Execute ALU opcode ? Execute Memory Addres ? Memory Write ? Write Back ? Write Back A Execute ALU opcode B Write Back ? Memor y Read ? Execut e Branch Offset
37
37 CPI (Cycles Per Instruction) LW or SW R-type RI-type Branch StartNext Instruction 1 Instr. Decode 0 Instr. Fetch ? Execute ALU opcode ? Execute Memory Addres ? Memory Write ? Write Back ? Write Back A Execute ALU opcode B Write Back ? Memor y Read ? Execut e Branch Offset 1 Cycle
38
38 CPI = 10* LW + 6* BEQ = (10*5 + 6*3)/16 = 4.25 Cycles LW or SW R-type RI-type Branch StartNext Instruction 1 Instr. Decode 0 Instr. Fetch ? Execute ALU opcode ? Execute Memory Addres ? Memory Write ? Write Back ? Write Back A Execute ALU opcode B Write Back ? Memor y Read ? Execut e Branch Offset 1 Cycle
39
39 CPU-time
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.