tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · pipelining the...
TRANSCRIPT
![Page 1: Tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · Pipelining the 𝛽-machine •We can decompose the combinatorial logic into five identifiable stages:](https://reader030.vdocuments.net/reader030/viewer/2022040707/5e08423b0f11ce63f36962b9/html5/thumbnails/1.jpg)
Tutorial 11December 4, 2018
![Page 2: Tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · Pipelining the 𝛽-machine •We can decompose the combinatorial logic into five identifiable stages:](https://reader030.vdocuments.net/reader030/viewer/2022040707/5e08423b0f11ce63f36962b9/html5/thumbnails/2.jpg)
Speed up the 𝛽-machine with pipelines
The concept of pipeline is useful to increase the rate at which a deepcombinatorial circuit can process the data
𝑀𝐼𝑃𝑆 =𝐹𝑟𝑒𝑞
𝐶𝑃𝐼
• Terminology:• MIPS: millions of instruction per second• Freq: clock frequency• CPI: clock (cycle) per instruction
• To increase performances we need either to increase the frequency or to decrease the CPI
• We cannot increase the frequency because weare blocked by the stabilization time of the circuit
• We can decrease the CPI ⇒ pipelining
![Page 3: Tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · Pipelining the 𝛽-machine •We can decompose the combinatorial logic into five identifiable stages:](https://reader030.vdocuments.net/reader030/viewer/2022040707/5e08423b0f11ce63f36962b9/html5/thumbnails/3.jpg)
Pipelining the 𝛽-machine
• We can decompose the combinatorial logic into five identifiable stages:• Instruction fetch (IF): fetch the instruction from memory
• Register fetch (RF): fetch the arguments from the registers
• ALU: computation of the ALU
• Memory (MEM): reading data from memory
• Write back (WB): writing back the results to the registers
• During this tutorial, we will study simplified versions with two stages and four stages (see next slide)
![Page 4: Tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · Pipelining the 𝛽-machine •We can decompose the combinatorial logic into five identifiable stages:](https://reader030.vdocuments.net/reader030/viewer/2022040707/5e08423b0f11ce63f36962b9/html5/thumbnails/4.jpg)
Pipelining the 𝛽-machine
2 stages: {IF}, {RF, ALU, MEM, WB} 4 stages: {IF}, {RF}, {ALU}, {MEM, WB}
![Page 5: Tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · Pipelining the 𝛽-machine •We can decompose the combinatorial logic into five identifiable stages:](https://reader030.vdocuments.net/reader030/viewer/2022040707/5e08423b0f11ce63f36962b9/html5/thumbnails/5.jpg)
Pipelining comes at a cost…
• With pipelines, we are able to speed the machine…
• … but as we process several instruction at once, some new problemsoccur
• During this tutorial, we are going to review some of those problemsand evaluate their possible solutions
![Page 6: Tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · Pipelining the 𝛽-machine •We can decompose the combinatorial logic into five identifiable stages:](https://reader030.vdocuments.net/reader030/viewer/2022040707/5e08423b0f11ce63f36962b9/html5/thumbnails/6.jpg)
Two-stages pipeline
![Page 7: Tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · Pipelining the 𝛽-machine •We can decompose the combinatorial logic into five identifiable stages:](https://reader030.vdocuments.net/reader030/viewer/2022040707/5e08423b0f11ce63f36962b9/html5/thumbnails/7.jpg)
Four-stages pipeline
![Page 8: Tutorial 11 - montefiore.uliege.bermormont/files/info0012/1819/tp12-slides.pdf · Pipelining the 𝛽-machine •We can decompose the combinatorial logic into five identifiable stages:](https://reader030.vdocuments.net/reader030/viewer/2022040707/5e08423b0f11ce63f36962b9/html5/thumbnails/8.jpg)
Hardware solutions