Chapter 4 — The Processor — 1 Lecture 7 Pipelining.

Slides:



Advertisements
Benzer bir sunumlar
Gerekli olduğunda insanlara ulaşın Yer Uzantıları Reach prospective customers at important moment with location extensions. Location Extentions.
Advertisements

Alakalı müşterileri hedefleyin. Google ile Yeniden Pazarlama Remarketing with Google. Target customers who are already showing interest in your business.
CPU Tasarım – 2 Single – Cycle CPU Veriyolu Tasarımı
CPU Tasarım – 3 Single – Cycle CPU Controller Tasarımı
Google Display Network Targeting options.
Üniversitemiz Öğrenci Bilgi Sistemine Kullanıcı Adı (Öğrenci Numarası ) ve tarafınızdan belirlenen Şifre ile giriş yapılır; You can have access to Student.
Atama ve eşleme (eşleştirme) problemleri (Matching and Assignment problems)
Logical Design Farid Rajabli.
READING AND WRITING IN FOREIGN LANGUAGE
Chapter 5 Overview The principles of pipelining
Hareket halindeki insanlara ulaşın.Mobil Arama Ağı Reklamları Reach customers with Mobile Search Network.
SÜMEYYE KARABOYUN İÖP-1
NOUN CLAUSES (İSİM CÜMLECİKLERİ).
DEVRE TEOREMLERİ.
CONDITIONAL SENTENCES
Bilgisayarlar kodu nasıl işler?
REQUESTING OTHERS TO DO SOMETHING
Kampanyanızı optimize edin. Görüntülü Reklam Kampanyası Optimize Edici'yi Kullanma Display Ads Campaign Optimizer. Let Google technology manage your diplay.
Birthday party. birthday party new year's party new year's party New Year's Party.
COSTUMES KILIKLAR (KOSTÜMLER)
Gizli / İsimsiz Raporlama Tanıtımı
BM-305 Mikrodenetleyiciler Güz 2015 (6. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Yapısal Programlama Yüksek Düzeyli Dillerin Gelişim Süreci – , Fortran (by IBM), for creating scientific and engineering applications, first commercial.
AVL Trees / Slide 1 Silme * Anahtar hedefi silmek için, x yaprağında buluruz ve sonra sileriz. * Dikkat edilmesi gereken iki durum vardır. (1) Hedef bazi.
BİLGİSAYAR MİMARİLERİ 11.Hafta: Pipeline Sorunları
S ÜLEYMAN Ş AH ÜN İ VERS İ TES İ DERS KAYIT İŞ LEMLER İ / COURSE REGISTRATION PROCESS.
21/02/2016 A Place In My Heart Nana Mouskouri « Istanbul « (A Different Adaptation)
LITERARY TRANSLATION 2 Week 5. In-class translation workshop.
Searching Thy Lover, To Be One Looking at the sky.. Behind every cloud and over the wings of the birds.. I always dreamt of you. You were looking for.
Improvement to Rankine cycle
SO THAT IN ORDER THAT IN ORDER TO IN CASE. So that In order that cümle Özne + fiil + nesne Sentence Subject + Verb + Object So that: için in order that:
Sieve Analysis Concrete Mix Design Technician School.
8.8 A Simple Computer Architecture
Self-Registration on the Coats Supplier Portal
YDI101 YABANCI DIL 1 HAFTA 1. We use subject pronouns when the pronoun is the subject of the sentence. When the subject appears the second time, we don’t.
İleri Muhasebe ve Denetim Düzenleme Programı Modül 24: UFRS’lerin Bankacılık Sektöründe Kabul Edilmesi (Bölüm II) 2. Denetçi Perspektifi Reinhard Klemmer,
BİLİMSEL ÇALIŞMA BASAMAKLARI SCIENTIFIC WORKING STEPS MHD BASHAR ALREFAEI Y
Bilgisayarlar kodu nasıl işler?
W O R D A M G E U FOR N I T 1.
RA-Relational Algebra
Would you like a different color?
The Need for Program Design
PUANLAMA ÖNERİSİ *Öğrenciler iki gruba ayrılır. Her iki gruba da baştan 1000’er puan verilir. *Birinci grup yarışırken “GAME 1“ açılır. Öğrenciler her.
If you delete this after reading... you'll spend a year of ill luck!
Future: I will/shall & I am going to. Structure: Subject+will/shall+verb(base form)+object.
tomorrow soon next week / year in five minutes/ in two hours later today I'll go to the market tomorrow. Don’t worry. He will be here soon. There.
taşınabilir Akilli Tahta Kullanım kılavuzu
WEEKS Dynamics of Machinery
CONDITIONALS TYPE
Döngüler ve Shift Register
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
The Need for Program Design
“Differentiation for making a positive Difference!!!!”
NİŞANTAŞI ÜNİVERSİTESİ
(Dr. Öğr. Üyesi Deniz Dal)
Chapter 5 – Balancing of accounts
Chapter 4 - The effect of profit or loss on capital and double entry system for expenses and revenues Bölüm 4 – Kâr ve zararın sermaye üzerindeki etkisi.
UNIT 8: CHORES Günlük Ev İşleri.
Imagine that you are a teacher and you are taking your 20 students to England for the summer school.
THE MYSTERIOUS ISLAND JULES VERNE. INFORMATION ABOUT THE BOOK  Name of the book: The Mysterious Island  Author: Jules Verne  Type: Adventure  Number.
Bilgisayarlar kodu nasıl işler?
CONDITIONALS TYPE
UNIT 6 Future Perfect.
ELİF SU KÜÇÜKKAVRUK. plants When you touch this plant, it can be like the photograph. When you let go, it becomes normal.
SUBJECT NAME Prepeared by Write the names of group members here
People with an entrepreneurial mindset are always brave.
Sunum transkripti:

Chapter 4 — The Processor — 1 Lecture 7 Pipelining

Chapter 4 — The Processor — 2 Pipelining Analogy Pipelining is an implementation technique in which multiple instructions are overlapped in execution.  nearly universal. Non-pipelined approach to laundry: 1. Place one dirty load of clothes in the washer. 2. When the washer is finished, place the wet load in the dryer. 3. When the dryer is finished, place the dry load on a table and fold. 4. When folding is finished, ask your roommate to put the clothes away. §4.5 An Overview of Pipelining

Chapter 4 — The Processor — 3 Pipelining Analogy Pipelined laundry: overlapping execution Parallelism improves performance §4.5 An Overview of Pipelining Four loads: Speedup = 8/3.5 = 2.3 Non-stop: Speedup = 2n/0.5n ≈ 4 = number of stages

Chapter 4 — The Processor — 4 Pipelining All steps in pipelining are operating concurrently. Improves throughput of our laundry system. Not decrease the time to complete one load of laundry, but the improvement in throughput decreases the total time to complete the work.

Chapter 4 — The Processor — 5 MIPS Pipeline Five stages, one step per stage 1.IF: Instruction fetch from memory 2.ID: Instruction decode & register read 3.EX: Execute operation or calculate address 4.MEM: Access memory operand 5.WB: Write result back to register

Chapter 4 — The Processor — 6 Pipeline Performance Assume time for stages is 100ps for register read or write 200ps for other stages Compare pipelined datapath with single-cycle datapath InstrInstr fetchRegister read ALU opMemory access Register write Total time lw200ps100 ps200ps 100 ps800ps sw200ps100 ps200ps 700ps R-format200ps100 ps200ps100 ps600ps beq200ps100 ps200ps500ps

Chapter 4 — The Processor — 7 Pipeline Performance (2400 vs 1400 ps) Single-cycle (T c = 800ps) Pipelined (T c = 200ps)

Chapter 4 — The Processor — 8 Pipeline Speedup If all stages are balanced i.e., all take the same time Time between instructions pipelined = Time between instructions nonpipelined Number of stages If not balanced, speedup is less Speedup due to increased throughput Latency (time for each instruction) does not decrease

Chapter 4 — The Processor — 9 Pipelining and ISA Design MIPS ISA designed for pipelining All instructions are 32-bits Easier to fetch and decode in one cycle c.f. x86: 1- to 17-byte instructions Few and regular instruction formats Can decode and read registers in one step Load/store addressing Can calculate address in 3 rd stage, access memory in 4 th stage Alignment of memory operands Memory access takes only one cycle

Chapter 4 — The Processor — 10 Hazards Situations that prevent starting the next instruction in the next cycle Structure hazards A required resource is busy Data hazard Need to wait for previous instruction to complete its data read/write Control hazard Deciding on control action depends on previous instruction

Chapter 4 — The Processor — 11 Structure Hazards A structural hazard in the laundry room would occur if we used a washer-dryer combination instead of a separate washer and dryer, or if our roommate was busy doing something else and wouldn’t put clothes away. Our carefully scheduled pipeline plans would then be foiled.

Chapter 4 — The Processor — 12 Structure Hazards Conflict for use of a resource In MIPS pipeline with a single memory Load/store requires data access Instruction fetch would have to stall for that cycle Would cause a pipeline “bubble” Hence, pipelined datapaths require separate instruction/data memories Or separate instruction/data caches

Chapter 4 — The Processor — 13 Data Hazards Suppose you found a sock at the folding station for which no match existed. One possible strategy is to run down to your room and search through your clothes bureau to see if you can find the match. Obviously, while you are doing the search, loads that have completed drying and are ready to fold and those that have finished washing and are ready to dry must wait.

Chapter 4 — The Processor — 14 Data Hazards An instruction depends on completion of data access by a previous instruction add$s0, $t0, $t1 sub$t2, $s0, $t3

Chapter 4 — The Processor — 15 Forwarding (aka Bypassing) Use result when it is computed Don’t wait for it to be stored in a register Requires extra connections in the datapath

Chapter 4 — The Processor — 16 Load-Use Data Hazard Can’t always avoid stalls by forwarding If value not computed when needed Can’t forward backward in time!

Chapter 4 — The Processor — 17 Code Scheduling to Avoid Stalls Reorder code to avoid use of load result in the next instruction C code for A = B + E; C = B + F; lw$t1, 0($t0) lw$t2, 4($t0) add$t3, $t1, $t2 sw$t3, 12($t0) lw$t4, 8($t0) add$t5, $t1, $t4 sw$t5, 16($t0) stall lw$t1, 0($t0) lw$t2, 4($t0) lw$t4, 8($t0) add$t3, $t1, $t2 sw$t3, 12($t0) add$t5, $t1, $t4 sw$t5, 16($t0) 11 cycles13 cycles

Chapter 4 — The Processor — 18 Control Hazards Branch determines flow of control Fetching next instruction depends on branch outcome Pipeline can’t always fetch correct instruction Still working on ID stage of branch In MIPS pipeline Need to compare registers and compute target early in the pipeline Add hardware to do it in ID stage

Chapter 4 — The Processor — 19 Stall on Branch Wait until branch outcome determined before fetching next instruction

Chapter 4 — The Processor — 20 Branch Prediction Longer pipelines can’t readily determine branch outcome early Stall penalty becomes unacceptable Predict outcome of branch Only stall if prediction is wrong In MIPS pipeline Can predict branches not taken Fetch instruction after branch, with no delay

Chapter 4 — The Processor — 21 MIPS with Predict Not Taken Prediction correct Prediction incorrect

Chapter 4 — The Processor — 22 More-Realistic Branch Prediction Static branch prediction Based on typical branch behavior Example: loop and if-statement branches Predict backward branches taken Predict forward branches not taken Dynamic branch prediction Hardware measures actual branch behavior e.g., record recent history of each branch Assume future behavior will continue the trend When wrong, stall while re-fetching, and update history

Chapter 4 — The Processor — 23 Pipeline Summary Pipelining improves performance by increasing instruction throughput Executes multiple instructions in parallel Each instruction has the same latency Subject to hazards Structure, data, control Instruction set design affects complexity of pipeline implementation The BIG Picture