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 LdA AB ALUOp CC In SelB LdB SelA – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
AB ALUOp CC In SelB LdB SelA0101 Implementation – just as in tutorial 4… LdA – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
GCD – slower ALU AB ALUOp CC ALU In SelB LdB SelA – © 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
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
AB ALUOp CC ALU In SelB LdB SelA – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
GCD – slower ALU AB ALUOp CC ALU In SelB LdB SelA – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
GCD – slower ALU AB ALUOp CC ALU In SelB LdB SelA01 01 CC '0' ReadCC – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
AB ALUOp CC ALU In SelB LdB SelA – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
ALUop אות הסטטוס – © Dima Elenbogen 2009 Technion - IIT
ALUop אות הסטטוס – © Dima Elenbogen 2009 Technion - IIT
AB ALUOp CC ALU In SelB LdB SelA01 01 CC '0' ReadCC 1 0 ALU op Output comb. logics Transition comb. logics – © Dima Elenbogen 2009 Technion - IIT
ספחת סטטית FF של ALU OP חייב להיות חסר ספחת סטטית! ספחת סטטית היא תופעה שבה יחידה יכולה לשנות את המוצא שלה כאשר הכניסות שלה לא השתנו – © Dima Elenbogen 2009 Technion - IIT
– © 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 ! AB ALUOp CC ALU In SelB LdB SelA01 01 Combinatorial 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
ALU OP depends on CC ALU ! AB ALUOp CC ALU In SelB LdB SelA01 01 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
Mistake by standard notations – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
Mealy Controller – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT