530 likes | 699 Views
Start. LD A LD B. EQ. EQ. LD A. LD B. END. שאלה 9 – בקר ומסלול-נתונים נתונה המערכת הבאה של בקר ומסלול נתונים. כל הקווים העבים בשרטוט ה DP הם ברוחב n . ה ADDER מחבר מודולו n 2. COMPARE הוא רכיב צירופי המשדר 1 על EQ אםם שני הקלטים שלו שווים.
E N D
Start LDA LDB EQ EQ LDA LDB END שאלה 9 – בקר ומסלול-נתונים נתונה המערכת הבאה של בקר ומסלול נתונים. כל הקווים העבים בשרטוט ה DP הם ברוחב n. ה ADDER מחבר מודולו n2. COMPARE הוא רכיב צירופי המשדר 1 על EQ אםם שני הקלטים שלו שווים. נתון שבמצב התחלתי A=1 ו B=2. מה יהיה ערכו של A כאשר המערכת תגיע למצב END ? http://webcourse.cs.technion.ac.il/234262/Spring2009/ho/WCFiles/tutorial%204%20-%20question9_run.doc S1 LDB LDA A B S2 ADDER EQ COMPARE S3 S4 A+B S5
Start LDA LDB EQ EQ LDA LDB END אות הסטטוס S1 S2 LDA A B LDB S3 EQ ADDER S4 COMPARE A+B S5
Start LDA LDB EQ EQ LDA LDB END אות הסטטוס S1 S2 EQ תלוי בערכי A ו-B של המחזור הקודם EQ תלוי בערכי A ו-B של המחזור הקודם LDA A B LDB S3 EQ ADDER S4 COMPARE A+B S5
Start LDA LDB EQ EQ LDA LDB END כל הקווים העבים בשרטוט ה DP הם ברוחב n. ה ADDER מחבר מודולו n2. COMPARE הוא רכיב צירופי המשדר 1 על EQ אםם שני הקלטים שלו שווים. נתון שבמצב התחלתי A=1 ו B=2. מה יהיה ערכו של A כאשר המערכת תגיע למצב END ? S1 Aprev = __ Bprev= __ S2 LDB LDA A B EQ = (Aprev == Bprev) EQ = (Aprev == Bprev) ADDER EQ COMPARE S3 A+B S4 S5
Start LDA LDB EQ EQ LDA LDB END http://webcourse.cs.technion.ac.il/234262/Spring2009/ho/WCFiles/tutorial%204%20-%20question9_run.doc כל הקווים העבים בשרטוט ה DP הם ברוחב n. ה ADDER מחבר מודולו n2. COMP הוא רכיב צירופי המשדר 1 על EQ אםם שני הקלטים שלו שווים. נתון שבמצב התחלתי A=1 ו B=2. מה יהיה ערכו של A כאשר המערכת תגיע למצב END ? S1 S2 LDB LDA A B S3 S4 ADDER EQ COMPARE S5 A+B
Latency = _________ Tcycle = _________ Throughput = _________
קטע אטומי Latency ≥ Tcycle * Ncycles= Tcycle * Nregs Tcycle ≤ = Tpd(A) + Tpd(Register) Throughput ≤
מהו אופן הפעולה כאן? • מהי השפעת העובדה שהבורר אינו אדיש?
חיבור במקביל טהור 1 2 3 Latency = Throughputgen = Tcycle =
חיבור במקביל טהור 1 2 3 Latency ≥ depends on our design of the controller and Tmax Throughputgen ≤ ∑ {Throughput in each parallel chain} Tmax = GCD{ in each section and } i.e: N gen max כולל גם Throughputgen
Latency ≥ Tcycle * Ncycles= Tcycle * Nregs= 5ns * 2 = 10ns Tcycle ≤ = Tpd(A) + Tpd(Register) = 5 ns Throughput ≤ = 1/5
חיבור בטור Latency = Tcycle = Throughput =
חיבור בטור צוור בקבוק Latency = Tcycle = Throughput =
חיבור בטור צוור בקבוק Latency ≥ Tmax * Ncycles Tmax = Throughput ≤ min{Throughput in each section }
חיבור במקביל טהור להזכירכם: 1 2 3 Latency ≥ depends on our design of the controller and Tmax Throughputgen ≤ ∑ {Throughput in each parallel chain} Tmax = GCD{ in each section and } i.e: N gen max כולל גם Throughputgen
מהו אופן הפעולה כאן? • איך אדישות הבורר באה לידי ביטוי? • מהי ספיקת המערכת שבניתם? • מהו זמן המחזור המקסימלי המאפשר ספיקה מקסימלית? • מהי השהיית המערכת שבניתם? Latency = Throughputgen = Tcycle =
Latency ≥ Ncycles * Tmax= 14 ns Throughputgen ≤ Tmax = GCD {3, 6, 2} (i.e. Tmax must divide each of {3, 6, 2}) = 1ns
משווים את ה-Latency משווים את ה- Latency Latency ≥ Ncycles * Tmax= 14 ns Throughputgen ≤ Tmax = GCD {3, 6, 2} (i.e. Tmax must divide each of {3, 6, 2}) = 1ns
Latency = Ncycles * Tmax= 14 ns Throughputgen = Tmax = GCD {3, 6, 2} (i.e. Tmax must divide each of {3, 6, 2}) = 1ns • נשאר לבנות את FSM הבקר Nstates = __________
Latency = Ncycles * Tmax= 14 ns Throughputgen= Tmax = GCD {3, 6, 2} (i.e. Tmax must divide each of {3, 6, 2}) = 1ns Nstates = (LCM{ in each path and }) / Tmax gen כפולה משותפת מינימלית דהיינו: N states כולל גם Throughputgen
LCM = כפולה משותפת מינימלית Nstates = = LCM {6, 2, 3} / 1 = = 6 / 1 = 6
LCM = כפולה משותפת מינימלית Throughputgen = חישוב 1 ל-2ns
ld0 ld0 ld0
ld0 ld0 ld5 ld6 ld0
ld0 ld0 ld5 ld6 sel=1 ld7 ld0
ld0 sel=0 ld7 ld0 ld5 ld6 sel=1 ld7 sel=0 ld7 ld0
ld0 sel=0 ld7 ld0 ld1 ld2 ld3 ld4 sel=0 ld7 ld5 ld6 sel=1 ld7 ld0
ld0 ld0 sel=0 ld7 ld1 ld2 ld3 ld4 ld1 ld2 ld3 ld4 sel=0 ld7 ld5 ld6 sel=1 ld7 ld0