Tutorial #6 Controller + DataPath part II – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
GCD (Euclid's algorithm) – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
Euclid Al- Khwārizmī Ευκλείδης από την Αλεξάνδρεια Born: c. 325 BC Birthplace: Alexandria, Egypt Died: c. 265 BC Location of death: Alexandria, Egypt Nationality: Ancient GreekAlexandria, Egypt Muhammad ibn Mūsā al-Khwārizmī Born: c. 787 AC Birthplace: Khwārizm, Persia Died: c. 850 AC Location of death: Baghdad, Arab. Caliphate Nationality: PersianKhwārizm, PersiaBaghdad, Arab. Caliphate – © Dima Elenbogen 2009 Technion - IIT
ALU a is given at the first cycle and that b is given at the following cycle ALUOp CC AB – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
Other hardware – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
DP construction Variables… Operations… – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
Switch implementation – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT 1010 AB ALUOp CC In SelB LdB SelA LdA Out
Implementation – just as in tutorial 4… – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT 1010 AB ALUOp CC In SelB LdB SelA LdA Out
GCD – slower ALU – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT נניח: T cycle < T pd (ALU) ≤ 2 · T cycle 1010 AB ALUOp CC In SelB LdB SelA LdA Out
GCD – slower ALU – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT T cycle < T pd (ALU) ≤ 2 · T cycle
GCD – slower ALU – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT T cycle < T pd (ALU) ≤ 2 · T cycle
GCD – slower ALU ? – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT T cycle < T pd (ALU) ≤ 2 · T cycle
– © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT GCD – slower ALU
– © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT 1010 AB ALUOp CC In SelB LdB SelA LdA Out
ALU איטי: בעית זיהום אות הסטטוס CC – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT 1010 AB ALUOp In SelB LdB SelA LdA Out
ALU איטי: פיתרון לבעית זיהום אות הסטטוס CC '0' ReadCC – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT 1010 AB ALUOp In SelB LdB SelA LdA Out 0
– © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT ALU איטי – בעית שימור אות ההוראה CC '0' ReadCC AB ALUOp In SelB LdB SelA LdA Out 0
ALUop אות הסטטוס – © Dima Elenbogen 2009 Technion - IIT
ALUop אות הסטטוס – © Dima Elenbogen 2009 Technion - IIT
ALU op Output comb. logics Transition comb. logics – © Dima Elenbogen 2010 Technion - IIT 1010 AB ALUOp CC In SelB LdB SelA LdA Out
ספחת סטטית FF של ALU OP חייב להיות חסר ספחת סטטית! ספחת סטטית היא תופעה שבה יחידה יכולה לשנות את המוצא שלה כאשר הכניסות שלה לא השתנו – © Dima Elenbogen 2009 Technion - IIT
ALU op Output comb. logics Transition comb. logics – © Dima Elenbogen 2010 Technion - IIT CC '0' ReadCC AB ALUOp In SelB LdB SelA LdA Out 0
– © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
DP mealy (regular ALU) – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
Controller Mealy – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
Controller Mealy – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT ?
Standard Mealy Notation – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
selA=0 selB=0 if (CC==pos) ldA, OP=A-B if (CC==neg) ldB, OP=B-A CC=pos CC=neg ? – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
ALU OP depends on CC ALU ! Combinatorial Logics NS CS – © Dima Elenbogen 2009 Technion - IIT selA=0 selB=0 if (CC==pos) ldA, OP=A-B if (CC==neg) ldB, OP=B-A CC=posCC=neg 1010 AB ALUOp CC In SelB LdB SelA LdA Out
ALU OP depends on CC ALU ! AB ALUOp CC ALU LdB SelA Comb. Logics NS CS LdA – © Dima Elenbogen 2009 Technion - IIT selA=0 selB=0 if (CC==pos) ldA, OP=A-B if (CC==neg) ldB, OP=B-A CC=posCC=neg 1010 In SelB
Mistake by standard notations – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
Mealy Controller – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT 1010 AB ALUOp CC In SelB LdB SelA LdA Out