1
2
3
4
Παραπάνω παρουςιάηεται ο πιο ςυνικθσ χωροκζτθςθ αρικμθτικϊν, λογικϊν κυκλωμάτων. Η μονάδα επεξεργαςίασ είναι θ λζξθ (λ.χ. 32-bit ςε επεξεργαςτζσ, 8-bit ςε DSP) και αυτι κακορίηει και τθν δομι τθσ υλοποίθςθσ ςτον χϊρο. 5
6
7
8
9
Η ιδιότθτα αντιςτροφισ, που παρουςιάηουν οι λογικζσ εξιςϊςεισ του ακροιςτι, ςυνεπάγεται ότι θ αντιςτροφι των ειςόδων ςυνεπάγεται αντιςτροφι τθσ εξόδου. 10
Η παραπάνω διαςφνδεςθ τθσ αλυςίδασ κρατουμζνου μειϊνει τα λογικά ςτάδια 11
12
Παραπάνω βλζπουμε τθν απλοφςτερθ υλοποίθςθ ολοκλθρωμζνου ακροιςτι ςε CMOS, ο οποίοσ και απαρικμεί 28 τρανηίςτορ: Co = AB + BCi + ACi, S = ABCi + Co (A + B + Ci). Οι δυο εξιςϊςεισ ζχουν επιλεγεί για να μοιράηονται ςυνδυαςτικι λογικι. Εκτόσ του μεγάλου του εμβαδοφ το παραπάνω κφκλωμα είναι ιδιαίτερα αργό: τα δίκτυα ανζλκυςθσ είναι ςθμαντικοφ μεγζκουσ με μεγάλα PMOS τρανηίςτορ θ χωρθτικότθτα που εμφανίηεται ςτο κρατοφμενο (Co Ci) είναι ςθμαντικι μια και απαρτίηεται από 2 χωρθτικότθτεσ διάχυςθσ (αντιςτροφζασ που παράγει το Co) και 6 χωρθτικότθτεσ πφλθσ (τα τρανηίςτορ με είςοδο Ci). Επιπλζον κα υπάρχει και θ χωρθτικότθτα τθσ διαςφνδεςθσ. τα δυο κυκλϊματα αποτελοφνται από δυο ςτάδια. Δυο ςτάδια ςτθν αλυςίδα του κρατουμζνου επιβαρφνουν ςθμαντικά τθν κακυςτζρθςθ προϊκθςθσ του κρατουμζνου. Στθν παραγωγι του ακροίςματοσ δεν είναι τόςο ςθμαντικι θ κακυςτζρθςθ μια και πραγματοποιείται μια φορά. 13
14
15
16
co = ab (ci + ci ) + ci (a b + ab ) Άρα θ κακυςτζρθςθ ςε Λογικά Επίπεδα είναι 4 (τεχνολογικά ανεξάρτθτθ κακυςτζρθςθ). Αναλυτικά 1 ο επίπεδο (χειρότερο) είναι το a b, ab, 2 ο επίπεδο ηο a b + ab, 3 ο επίπεδο ηο ci (a b + ab ), και 4 ο ολόκληρο ηο co. Άρα, η καθσζηέρηζη ηοσ co είναι 4 Λογικά Επίπεδα, ενώ ηο κόζηος ζε εμβαδό είναι 9. Το κόζηος ζε εμβαδό ιζούηαι με ηο πλήθος ηων εμθανίζεων ηων δσαδικών όρων-μεηαβληηών. Ζτςι: Κακυςτζρθςθ c1: 4 t.u. (1 t.u. time unit = 1 επίπεδο λογικισ AND/OR = 1 g.d. gate delay) Κακυςτζρθςθ c2: (4 + 4) t.u. Κακυςτζρθςθ c3: (4 + 4 + 4) t.u. Κακυςτζρθςθ c4: (4 + 4 + 4 + 4) t.u. Κακυςτζρθςθ ci : (4 * I) t.u. Η κακυςτζρθςθ του 4-bit ακροιςτι είναι 4*3 (4 ο bit) + 4 (s3) = 16 λογικά επίπεδα/t.u. Κακυςτζρθςθ c16 (16-bit ακροιςτι) = 4 * 16 = 64 t.u., δθλ. 64 λογικά επίπεδα (ι κακυςτεριςεισ τεχνολογικά-ανεξάρτθτων πυλϊν) 17
18
O παραπάνω ακροιςτισ ζχει ζνα ιδιότυπο κφκλωμα παραγωγισ του κρατουμζνου. Πρϊτον, δεν χρθςιμοποιεί αντιςτροφζα, και δεφτερον τα δίκτυα κακζλκυςθσ και ανζλκυςθσ δεν είναι δυικά αλλά ςυμμετρικά! Οι ιδιότθτεσ που εκμεταλλεφεται θ ςυμμετρικι πφλθ είναι (α) θ ςυμπλθρωματικότθτα των ςχζςεων d, g και p, (β) ςυμμετρία μεταξφ των d και g, και ςυμμετρία τθσ προϊκθςθσ ωσ προσ το Ci. Το δεξί τμιμα είναι μεταςχθματιςμόσ του απλοφ ςτατικοφ CMOS ακροιςτι όπου ζχουμε διαιρζςει τθν αρχικι πφλθ ςε δυο ςυμμετρικά μζρθ. Στθν παραπάνω πφλθ μποροφμε να κρατιςουμε το δεξί τμιμα (S) ςε ελάχιςτο μζγεκοσ και να βελτιςτοποιιςουμε τα μεγζκθ του αριςτεροφ (Co ) ωσ προσ τθν αλυςίδα. 19
20
21
Η παραπάνω υλοποίθςθ βαςίηεται ςτισ εξιςϊςεισ: P = A (+) B, Co = G + P ci και S = p (+) ci. Οι 2 πφλεσ XOR υπολογίηουν τα P και P αντίςτοιχα, και κατόπιν παράγονται, βάςθ αυτϊν τα S και Co. Η παραπάνω υλοποίθςθ εξαςφαλίηει ομοιόμορφθ κακυςτζρθςθ για τα ςιματα Co και S. 22
Η αρχιτεκτονικι του ακροιςτι παράκαμψθσ προςκζτει ζνα μονοπάτι παράκαμψθσ τθσ αλυςίδασ των κρατουμζνων χρθςιμοποιϊντασ τθν ςφηευξθ των ςθμάτων προϊκθςθσ (προϊκθςθ ομάδασ group propagate : GP = P0P1P2P3). Ζτςι, επιτυγχάνει επιτάχυνςθ τθσ χείριςτθσ περίπτωςθσ, δθλ. προϊκθςθσ του κρατουμζνου από είςοδο ςε ζξοδο. 23
Παραπάνω βλζπουμε ζναν ακροιςτι παράκαμψθσ 16-bit υλοποιθμζνο με 4 επιμζρουσ ακροιςτζσ. Το κρίςιμο μονοπάτι που φαίνεται παραπάνω ςκιαςμζνο ςε γκρι αποτελεί ζνα πάνω όριο ςτθν κακυςτζρθςθ του ακροιςτι κεωρϊντασ τθν εξισ περίπτωςθ: χρόνοσ προετοιμαςίασ (υπολογιςμόσ P) υπόκεςθ ότι αξιολογείται κανονικά θ αλυςίδα (κρατοφμενο από το 1 ο bit G0) παράκαμψθ κρατουμζνου ςτουσ επόμενουσ δυο ακροιςτζσ υπόκεςθ ότι αξιολογείται κανονικά θ αλυςίδα ςτον τελευταίο (κρατοφμενο από το 2 ο bit G1) χρόνοσ υπολογιςμοφ S Ο βζλτιςτοσ αρικμόσ ψθφίων ανά επιμζρουσ ακροιςτι υπολογίηεται από παραμζτρουσ τεχνολογίασ, π.χ. κακυςτζρθςθ/φορτίο του πολυπλζκτθ ςτο κρατοφμενο, διαφορά κακυςτζρθςθσ μεταξφ τθσ παράκαμψθσ και ςυμβατικισ αλυςίδασ. 24
25
26
27
Ο ακροιςτισ επιλογισ κρατουμζνου αποτελεί προςζγγιςθ «ωμισ δφναμθσ» (brute force) όπου υπολογίηονται οφτωσ θ άλλωσ τα εναλλακτικά αποτελζςματα του κρατουμζνου για τισ δυο πικανζσ τιμζσ του κρατουμζνου, 0 ι 1. Ζτςι, για μια ομάδα bits, με τθν άφιξθ τθσ κυριολεκτικισ τιμισ του κρατουμζνου επιλζγεται το 1 από τα 2 προχπολογιςμζνα αποτελζςματα και το άκροιςμα. 28
Παραπάνω βλζπουμε ακροιςτι επιλογισ 16-bit υλοποιθμζνο πάλι από ομάδεσ των 4-bit, και τθν κρίςιμο οδό του κυκλϊματοσ ςκιαςμζνθ ςε γκρι. 29
Ζνασ μεταςχθματιςμόσ που μπορεί να επιταχφνει τθν λειτουργία του ακροιςτι επιλογισ είναι το ανομοιόμορφο, και επαυξανόμενο αρικμό ψθφίων, λ.χ. επιπρόςκεςθ 1 bit για κάκε επιμζρουσ ακροιςτι. Το κίνθτρο για αυτιν τθν ανομοιομορφία είναι θ μθ ιςοςκελιςμζνθ άφιξθ που παρατθρείται ςτθν κρίςιμθ οδό μεταξφ των ςθμάτων τθσ αλυςίδασ του πολυπλζκτθ, και του υπολογιςμοφ των 2 λφςεων, θ οποία αντιςτοιχεί πρακτικά ςε διακζςιμο, εκμεταλλεφςιμο χρόνο. Ζτςι, για P ςτάδια και Μ bits για το αρχικό, όπου επιπροςκζτεται 1 bit για κάκε ςτάδιο ζχουμε N = M + (M + 1) +... + (M + P - 1) = MP + P(P-1)/2 =~ P^2/2. Ζτςι P~=SQRT(2N). 30
31
32
33
34
Κακυςτζρθςθ για Pi = AiBi, Gi = Ai + Bi = 1 Λογικό Επίπεδο Κακυςτζρθςθ pi, gi : 1 t.u. Κακυςτζρθςθ για co, c1, c2, c3, c4: c1 = G0 + P0 c0, δηλαδή 3 λογικά επίπεδα. Αναλσηικά ηα G0,P0 έτοσν καθσζηέρηζη 1 λογικό επίπεδο, ηο 2 ο είναι ηο P0c0, και ηρίηο ολόκληρο ηο c1 Ομοίως για ηο c4: c4 = G3 + G2P3 + G1P2P3 + C0P0P1P2P3 Τα P0, P1, P2, P3, G2, G1, G2 έτοσν καθσζηέρηζη 1 λογικό επίπεδο, ηο 2 ο είναι ηο C0P0P1P2P3, και ηρίηο ολόκληρο ηο c4. Ζτςι: Κακυςτζρθςθ για c1-c4 : 3 t.u. (για υλοποίθςθ 2-επίπεδθσ λογικισ) Κακυςτζρθςθ για PG, GG = 2 t.u. Άρα θ κακυςτζρθςθ για τον 4-bit ακροιςτι είναι 3 + 4 = 7 λογικά επίπεδα (αντί για 16 του ςειριακοφ κρατουμζνου) 35
Για τον 16-bit ακροιςτι με 4 των 4-bit με Πρόγνωςθ και 1 μονάδα Ιεραρχικισ Πρόγνωςθσ (LCU), οι κακυςτεριςεισ ζχουν ωσ εξισ: PPi (4-bit) = P0P1P2P3 = 2 λογικά επίπεδα GGi (4-bit) = G3 + G2P3 + G1P2P3 + G0P1P2P3 = 3 λογικά επίπεδα Ιεραρχικό ci (c4, c8, c12, c16) από τα PPi, GGi: c4 = GG1 + c0 PP1 c8 = GG2 + c4 PP2 = GG2 + GG1 PP2 + c0 PP1 PP2 c12 = GG3 + c8 PP3 = GG3 + (GG2 + GG1 PP2 + c0 PP1 PP2) PP3 = GG3 + GG2 PP3 + GG1 PP2 PP3 + c0 PP1 PP2 PP3, όποσ GGi, PPi είναι για ηον i (1 ο, 2 ο και 3 ο ) 4-bit αθροιζηή Άρα, τα c8, c12 ζχουν βάκοσ 5 λογικά επίπεδα, το c4 ζχει 4. s0 3 : 4 t.u. s4 7 : 9 t.u. s8 11 : 9 t.u s2, s3, s4 : 9 t.u., c16 επίςθσ ςε 5 t.u. Η μζγιςτθ κακυςτζρθςθ είναι βάκουσ 9 (9 t.u.). Στον 16-bit ςειριακό ακροιςτι κα ιταν 4*15 (κρατοφμενου του 15 ου bit) + 4 = 64 λογικά επίπεδα/t.u. 36
37
38
39
40
41
42
43
Η παραπάνω εξίςωςθ αφορά τθν 2θ κρίςιμθ οδό. 44
45
Στον πολλαπλαςιαςτι αποκικευςθσ κρατουμζνου, τα κρατοφμενα προάγονται διαγϊνια ςτο επόμενο ψθφίο κάτω αντί για αριςτερά. Ζτςι, απαιτείται ακόμα ζνασ ακροιςτισ (πρόγνωςθσ κρατουμζνου ςυνικωσ) για να παράγει το αποτζλεςμα. Η κρίςιμθ οδόσ ςτον πολλαπλαςιαςτι αποκικευςθσ είναι μοναδικι και γενικά μικρότερθ. 46
47
48
49
50
51
52
53
54