Computer Systems Organization · 250 = 1024*1024*1024*1024*1024 Peta. Μετατροπές (1)...

Post on 08-Oct-2020

12 views 0 download

Transcript of Computer Systems Organization · 250 = 1024*1024*1024*1024*1024 Peta. Μετατροπές (1)...

Αρχιτεκτονική Υπολογιστών

Ψηφιακή Λογική

Βασικές Πηγές:

Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam.

Περιβάλλον Προσομοίωσης Hades, University of Hamburghttp://tams-www.informatik.uni-hamburg.de/applets/hades/

Computer Systems: A Programmer's Perspective, Bryant, O' Hallaron, Carnegie Mellon University.

Σύνθεση: Κ.Γ. Μαργαρίτης, Πανεπιστήμιο Μακεδονίας, Τμήμα Εφαρμοσμένης Πληροφορικής.

Αρχιτεκτονική Υπολογιστών

Ψηφιακή Λογική

Αναπαράσταση ΠληροφορίαςΣυνδυαστικά ΚυκλώματαΑκολουθιακά ΚυκλώματαΔιασύνδεση Κυκλωμάτων

Θεσιακά Συστήματα Αρίθμησης

Ο αριθμός 2001 στο δυαδικό, οκταδικό, δεκαδικό και δεκαεξαδικό.

Θεσιακά Συστήματα Αρίθμησης

Ο αριθμός 2001 στο δυαδικό, οκταδικό, δεκαδικό και δεκαεξαδικό.

Μονάδες Μέτρησης (1)

Μονάδες μέτρησης (δεκαδικό σύστημα).

Μονάδες Μέτρησης (2)20 = 121 = 222 = 423 = 824 = 1625 = 3226 = 6427 = 12828 = 25629 = 512210 = 1024 Kilo220 = 1024*1024 Mega230 = 1024*1024*1024 Giga240 = 1024*1024*1024*1024 Tera250 = 1024*1024*1024*1024*1024 Peta

Μετατροπές (1)

Μετατροπές (2)

Δεκαεξαδικό – Δυαδικό - Οκταδικό.

Μετατροπές (3)

Μετατροπή του δεκαδικού 1492 σε δυαδικό με συνεχείς διαιρέσεις.

Μετατροπές (4)

Μετατροπή του δυαδικού 101110110111 σε δεκαδικό με συνεχείς πολλαπλασιαμούς.

ASCII (1)

ASCII: χαρακτήρες 0 – 31.

ASCII (2)

ASCII: χαρακτήρες 32 – 127.

UTF-8

Universal Character Set Transformation Format

Ελληνικά και Κοπτικά U+0370 .. U+03FF (code points)Δυαδική μορφή 11001101 10110000 .. 11001111 10111111Πχ U+0391 Α 11001110 10010001 Α (Ελληνικό κεφαλαίο)

Κώδικες σφαλμάτων (1)

(a) Κωδικοποίηση 4 bits 1100

(b) Άρτια ισοτιμία ανά τρία bits

(c) Ανίχνευση και Διόρθωση Σφάλματος

Κώδικες σφαλμάτων (2)

Εφαρμογή κώδικα Hamming στη λέξη μνήμης 11110000010101110 με προσθήκη 5 bits ελέγχου για 16 bits δεδομένων, στις θέσεις 1, 2, 4, 8 και 16 για έλεγχο των bits 1 παρά 1, 2 παρά 2, 4 παρά 4, 8 παρά 8. Η επαλήθευση γίνεται με εφαρμογή της ίδιας συνάρτησης (εδώ άρτιας)ισοτιμίας. Η θέση απλού σφάλματα ανιχνεύεται από την τομή των αποτελεσμάτων των ελέγχων.

Κώδικες σφαλμάτων (3)

(1)' = (1), (3), (5), (7), (9), (11), (13), (15), (17), (19), (21) = 1(2)' = (2 3), (6 7), (10 11), (14 15), (18 19) = 1(4)' = (4 5 6 7), (12 13 14 15), (20 21 .. ..) = 0(8)' = (8 9 10 11 12 13 14 15) = 1(16)' = (16 17 18 19 20 21 ..) = 0

Λάθος στη θέση 01011 = δεκαδικό 11.

1

Παραλαβή και Επαλήθευση

Αρνητικοί Δυαδικοί Αριθμοί (1)

Αρνητικοί Δυαδικοί Αριθμοί (2)

0

2w–1

2w

Unsigned

Two’scomplement 0

+2w–1

–2w–1

0

2w–1

2w

Two’scomplement

0

+2w–1

–2w–1

Unsigned

Αρνητικοί Δυαδικοί Αριθμοί (3)

Δυαδική Αριθμητική (1)

Πρόσθεση στο συμπλήρωμα του 1 και του 2.

0

–2w –1

+2wPositive overflow

Negative overflow–2w

+2w –1

0

–2w –1

+2w –1

x + y

x +t yCase 4

Case 3

Case 2

Case 1

Δυαδική Αριθμητική (2)

Θετική Υπερχείλιση : Θετικός+Θετικός και πρόσημο ΑρνητικόΑρνητική Υπερχείλιση: Αρνητικός-Αρνητικός και πρόσημο Θετικό

Κινητή Υποδιαστολή (1)

Διαχωρισμός του αριθμού των ψηφίων από το εύρος αναπαράστασης. Χρήση εκθετικής αναπαράστασης:

n = f × 10e

f κλάσμα ή mantissae εκθέτης (προσημασμένος ακέραιος)

Παραδείγματα

3.14 = 0.314 × 101 = 3.14 × 100

0.000001 = 0.1 × 10−5 = 1.0 × 10−6

1941 = 0.1941 × 104 = 1.941 × 103

Κινητή Υποδιαστολή (2)Έστω 3 δεκαδικά για το κλάσμα, 2 για τον εκθέτη καθώς και 2 πρόσημα

(+/-) 0.δδδ Χ 10 (+/-)δδ

Το διάστημα των πραγματικών αριθμών χωρίζεται σε 7 περιοχές:• Πολύ 'μεγάλοι' αρνητικοί < −0.999 × 1099.• Αρνητικοί μεταξύ −0.999 × 1099 και −0.100 × 10−99.• Πολύ 'μικροί' αρνητικοί > 0.100 × 10−99.• Μηδέν.• Πολύ 'μικροί' θετικοί 0.100 × 10−99.• Θετικοί μεταξύ 0.100 × 10−99 και 0.999 × 1099.• Πολύ 'μεγάλοι' θετικοί > 0.999 × 1099.

Κινητή Υποδιαστολή (3)Οι διακριτοί πραγματικοί αριθμοί που μπορούν να αναπαρασταθούν είναι 2 Χ 900 Χ 199 = 358201 συν το 0.

Έχουμε σφάλμα στρογγυλοποίησης (rounding error) λόγω του πεπερασμένου αριθμού ψηφίων στο κλασματικό μέρος. Η κατανομή των αριθμών που μπορούν να αναπαρασταθούν δεν είναι ομοιόμορφη (τελείες στο σχήμα) αλλά το σχετικό σφάλμα που εισάγεται με τη στογγυλοποίηση είναι περίπου σταθερό.

Κινητή Υποδιαστολή (4)

Προσεγγιστικά άνω και κάτω όρια αναπαράστασης αριθμών κινητής υποδιαστολής σε δεκαδική μορφή.

IEEE Floating-point Standard 754 (1)

Αναπαράσταση και Κανονικοποίηση του δεκαδικού αριθμού 432 ή 110110000 (στο δυαδικό σύστημα).

IEEE Floating-point Standard 754 (2)

(a) Απλή Ακρίβεια. (b) Διπλή Ακρίβεια.

IEEE Floating-point Standard 754 (3)

Χαρακτηριστικοί αριθμοί.

IEEE Floating-point Standard 754 (4)

Χαρακτηριστικοί αριθμοί.

Αρχιτεκτονική Υπολογιστών

Ψηφιακή Λογική

Αναπαράσταση ΠληροφορίαςΣυνδυαστικά ΚυκλώματαΑκολουθιακά ΚυκλώματαΔιασύνδεση Κυκλωμάτων

Λογικές Πύλες (1)(a) Πύλη NOT

Η τάση του ρεύματος μπορεί λάβει μόνο δύο τιμές (και απομόνωση):

+ Vcc (πχ 5 Volt) = λογικό 1 (high)Γείωση (πχ 0 Volt) = λογικό 0 (low)

Αν Vin ~ 0 τότε Vout = Vcc ~ 1An Vin ~ 1 τότε Vout = Γείωση ~ 0

Λογικές Πύλες (2)

(b) Πύλη NAND: Αν V1 = 1 KΑΙ V2 = 1 τότε Vout = 0. Αλλιώς Vout = 1(c) Πύλη NOR: Αν V1 = 1 Ή V2 = 1 τότε Vout = 0. Αλλιώς Vout = 1

Λογικές Πύλες (3)

Τα σχεδιαστικά σύμβολα ορισμένων βασικών λογικών πυλών και οι αντίστοιχοι πίνακες αληθείας.

Λογικά (Συνδυαστικά) Κυκλώματα (1)

(a) Πίνακας αληθείας για μια συνάρτηση πλειοψηφίας τριών μεταβλητών.(b) Ένα αντίστοιχο κύκλωμα για τον πίνακα (a).

Λογικά (Συνδυαστικά) Κυκλώματα (2)

Οι όροι του πίνακας αληθείας για μια συνάρτηση πλειοψηφίας τριών μεταβλητών.

Υλοποιούνται οι όροι που δίνουν μονάδα στην έξοδο.

M=            M =A' B' C' +    (NOT A)AND(NOT B)AND(NOT C) OR A' B' C  +    (NOT A)AND(NOT B)AND(    C) ORA' B  C' +    (NOT A)AND(    B)AND(NOT C) ORA' B  C  +    (NOT A)AND(    B)AND(    C) ORA  B' C' +    (    A)AND(NOT B)AND(NOT C) ORA  B' C  +    (    A)AND(NOT B)AND(    C) ORA  B  C' +    (    A)AND(    B)AND(NOT C) ORA  B  C    (    A)AND(    B)AND(    C) 

Λογικά (Συνδυαστικά) Κυκλώματα (3)

Από την συνάρτηση Boole στο λογικό κύκλωμα.

1. Ξεκινούμε από μια συνάρτηση άλγεβρας Boole ή από ένα πίνακα αληθείας (ή σχετική λεκτική περιγραφή).

2. Αναπτύσσουμε τον πίνακα αληθείας ώστε να είναι πλήρης, δηλαδή να περιλαμβάνει όλους τους όρους στη πλήρη μορφή τους.

3. Σχεδιάζουμε δύο γραμμές εισόδου για κάθε μεταβλητή εισόδου (1 και 0 – τοποθετούμε αντιστροφείς).

4. Για κάθε γραμμή του πίνακα αληθείας με έξοδο 1 (ή για κάθε όρο της συνάρτησης) σχεδιάζουμε μια πύλη AND.

5. Συνδέουμε τις εισόδους της κάθε πύλης AND με τις αντίστοιχες γραμμές μεταβλητών εισόδου, ανάλογα με τα 0 ή 1 στο πίνακα αληθείας (ή ΝΟΤ στη συνάρτηση).

6. Σχεδιάζουμε μια πύλη OR στην έξοδο. Συνδέουμε στις εισόδους τις, τις εξόδους των πυλών AND. Η έξοδος της πύλης OR είναι το αποτέλεσμα της συνάρτησης.

Ταυτότητες άλγεβρας Boole

Απλοποίηση κυκλωμάτων (1)

* Ελάχιστος αριθμός πυλών (πίνακες Karnaugh)

* Πύλες με μόνο δύο εισόδους

* Χρήση ενός τύπου πύλης (ισοδυναμία κυκλωμάτων)

Πx Α Β C Χ Χ = A B' C + A B C' + A B C 0 0 0 0 = A (B' C + B C' + B C) 0 0 1 0 = A (B' C + B (C' + C)) 0 1 0 0 = A (B' C + B) 0 1 1 0 = A (B' + B) (C + B) Distributive Law 1 0 0 0 = A (B + C) 1 0 1 1 = A B + A C 1 1 0 1 1 1 1 1

Απλοποίηση κυκλωμάτων (1)

* Ελάχιστος αριθμός πυλών (πίνακες Karnaugh)

* Πύλες με μόνο δύο εισόδους

* Χρήση ενός τύπου πύλης (ισοδυναμία κυκλωμάτων)

Πx Α Β C Χ Χ = A B' C + A B C' + A B C 0 0 0 0 = A (B' C + B C' + B C) 0 0 1 0 = A (B' C + B (C' + C)) 0 1 0 0 = A (B' C + B) 0 1 1 0 = A (B' + B) (C + B) Distributive Law 1 0 0 0 = A (B + C) 1 0 1 1 = A B + A C 1 1 0 1 1 1 1 1

Απλοποίηση κυκλωμάτων (2)

Δύο ισοδύναμες συναρτήσεις (a) AB + AC, (b) A(B + C).

Ισοδυναμία κυκλωμάτων (1)

Κατασκευή πυλών (a) NOT, (b) AND, και (c) OR

με χρήση μόνο πυλών NAND ή NOR.

Ισοδυναμία κυκλωμάτων (2)

Ισοδύναμα κυκλώματα για πύλες:(a) NAND, (b) NOR, (c) AND, (d) OR

Μπορούμε να καταλήξουμε στην υλοποίηση κυκλωμάτων με χρήση ΜΟΝΟ ενός τύπου πύλης, NAND ή ΝΟR.

Aποκλειστικό Ή (XOR)

(a) Ο πίνακας αληθείας (b-d) Τρία πιθανά κυκλώματα Α XOR B = A'B + AB' = (A'B)'' + (AB')'' = ((A'B)(AB'))'ΝΟΤ(A XOR B) = (A'B + AB')' = (A'B)' (AB')' = (A+B')(A'+B) = Α'Β' + ΑΒ

Πολλαπλές Έξοδοι (1) Ο πίνακας αληθείας έχει πολλαπλές στήλες στην έξοδο.

Για την κάθε έξοδο υλοποιούμε ξεχωριστό λογικό κύκλωμα (bit-slice) και εφαρμόζουμε τις σχετικές απλοποιήσεις.

Αν είναι εφικτό μπορούμε κατόπιν να 'ενοποιήσουμε' τμήματα κυκλωμάτων που έχουν την ίδια συμπεριφορά (2η απλοποίηση).

Παράδειγμα: Από Πρόσημο-Μέγεθος σε Συμπλήρωμα του 2 (αυστηρό)

abc xyz

000 000 x = ab'c+abc'+abc =

001 001 ab(c'+c)+ab'c= a(b+b'c)=a(b+b')(b+c)=a(b+c)

010 010 y = a'bc'+a'bc+ab'c+abc'=

011 011 a'b+a(b'c+bc')

100 000 z = a'b'c+a'bc+ab'c+abc

101 111 a'c+ac=c

110 110

111 101

Πολλαπλές Έξοδοι (2) Ο πίνακας αληθείας έχει πολλαπλές στήλες στην έξοδο.

Για την κάθε έξοδο υλοποιούμε ξεχωριστό λογικό κύκλωμα (bit-slice) και εφαρμόζουμε τις σχετικές απλοποιήσεις.

Αν είναι εφικτό μπορούμε κατόπιν να 'ενοποιήσουμε' τμήματα κυκλωμάτων που έχουν την ίδια συμπεριφορά (2η απλοποίηση) .

Παράδειγμα: Από Πρόσημο-Μέγεθος σε Συμπλήρωμα του 2 (χαλαρό)

abc xyz

000 000 x = ab'c'+ab'c+abc'+abc =

001 001 ab'(c'+c)+ab(c'+c)= a(b'+b)=a

010 010 y = a'bc'+a'bc+ab'c+abc'=

011 011 a'b+a(b'c+bc')

100 100 z = a'b'c+a'bc+ab'c+abc

101 111 a'c(b'+b) + ac(b'+b)=c(a'+a)=c

110 110

111 101

Βασικά ΚυκλώματαΣυνδυαστικά Κυκλώματα:

Είσοδος ->Πράξη -> Έξοδος

Αριθμητικές, Λογικές Πράξεις (και συγκρίσεις, μετατοπίσεις)

(Απο-) Πολυπλέκτες, (Από-) Κωδικοποιητές

Ακολουθιακά Κυκλώματα:

Είσοδος + Κατάσταση -> Πράξη -> Έξοδος + Νέα Κατάσταση

Ρολόγια, Μανδαλωτές, Flip-Flops, Μετρητές

Καταχωρητές, Μετρητές, Μνήμες

Αποκωδικοποιητές

Αποκωδικοποιητής3-σε-8.

DABC 76543210----------------------

000 00000001

001 00000010

010 00000100

011 00001000

100 00010000

101 00100000

110 01000000

111 10000000 πχ. επιλογή διεύθυνσης στη μνήμη

Κωδικοποιητές

Kωδικοποιητής8-σε-3.

I Y76543210 210---------------------

00000001 000

00000010 001

00000100 010

00001000 011

00010000 100

00100000 101

01000000 110

10000000 111 πχ. επιλογή πλήκτρου σε πληκτρολόγιο

Από-πολυπλέκτες

Από-πολυπλέκτης 8

εξόδων.

a x

210 76543210

---------------------

000 0000000d

001 000000d0

010 00000d00

011 0000d000

100 000d0000

101 00d00000

110 0d000000

111 d0000000

πχ. επιλογή εξόδου

Πολυπλέκτες

Πολυπλέκτης 8

εισόδων.

πύλη

ΑΒC 76543210 F

-----------------------------------

000 00000001 D0

001 00000010 D1

010 00000100 D2

011 00001000 D3

100 00010000 D4

101 00100000 D5

110 01000000 D6

111 10000000 D7

πχ. επιλογή εισόδου

Συγκριτές (1)Συγκριτής 4 bits

A B A=B NOT(A XOR B) --------------------------------0 0 10 1 01 0 0 1 1 1

Kάθε bit XOR (bit-slice) αντιμετωπίζεται ξεχωριστά αφού ο υπολογισμός μπορεί να γίνειi παράλληλα. H σύνθεση γίνεται με NOR.

Συγκριτές (2)

Παραδείγματα

A 0 0 1 0B 1 0 1 1A XOR B 1 0 0 1NOR 0

A 1 0 1 1B 1 0 1 1A XOR B 0 0 0 0NOR 1

Εφαρμογή: Έλεγχος Μηδενικού Αποτελέσματος (Z)

Ολισθητές (Shift / Rotate) (1)

Λογικός Ολισθητής 1-bit αριστερά/δεξιά.Διάταξη 8 bit-slice απο-πολυπλεκτών 2-προς-1 (οι ακραίοι απο-πολυπλέκτες

μπορούν να ολοκληρωθούν με ψευδοσυνδέσεις). Κάθε έξοδος συνδέεται με 2 εισόδους.

Ολισθητές (Shift / Rotate) (2)

D0 D1 D2 D3 D4 D5 D6 D7

C 1 D0 0 D1 0 D2 0 D3 0 D4 0 D5 0 D6 0 OR 0 D0,0 D1,0 D2,0 D3,0 D4,0 D5,0 D6

C0 0 D1 0 D2 0 D3 0 D4 0 D5 0 D6 0 D7

OR D1 0,D2 0,D3 0,D4 0,D5 0,D6 0,D7 0

Ολισθητές (Shift / Rotate) (3)

Λογικός Ολισθητής 1-bit αριστερά/δεξιά.

Παράδειγμα (1)

1 0 0 1 0 1 1 01

0

1 0 0 0 0 0 1 0 0 0 1 0 1 0

0 1 0 0 1 0 1 1

Ολισθητές (Shift / Rotate) (4)

Λογικός Ολισθητής 1-bit αριστερά/δεξιά.

Παράδειγμα (2)

1 0 0 1 0 1 1 00

1

0 0 0 0 0 1 0 0 0 1 0 1 0 0

0 0 1 0 1 1 0 0

Αθροιστές (1)

(a) Πίνακας αληθείας και (b) Κύκλωμα ημι-αθροιστή.Sum = A'B+AB' = Α ΧΟR BCarry = AB

(a) (b)

Αθροιστές (2)

(a) Πίνακας αληθείας και (b) Απλοποιημένο κύκλωμα πλήρους αθροιστή.

Sum = A'B'Cin+A'BCin'+AB'Cin'+ABCin

Cout = A'BCin+AB'Cin+ABCin'+ABCin

Αθροιστές (3)

Sum = A'B'Cin + A'BCin' + AB'Cin' + ABCin

= (A'B' + AB) Cin + (A'B + AB') Cin'

Εστω Χ = (Α'Β + ΑΒ').

Τότε Χ' = (Α'Β + ΑΒ')' = (Α'Β)' (ΑΒ')' = (Α'' + Β') (Α' + Β'')

= (Α + Β') (Α' + Β) = Α'Β' + ΑΒ

Αρα Sum = X' Cin + X Cin'

Cout = A'BCin + AB'Cin + ABCin' + ABCin

= (A'B + AB') Cin + AB

Αθροιστές (4) - ΥπερχείλισηΣυμπλήρωμα του 2 στα 4 bits: έγκυρη αναπαράσταση από

-8 (1000) έως 7 (0111).

Εστω -7 1001 7 0111

+ -7 + 1001 + 7 + 0111

----------------------------------------------------------------------------

-14 (2) 10010 14 (-2) 1110

Msbit A Msbit B Msbit Sum V

-----------------------------------------------------

0 0 1 1

1 1 0 1

Αριθμητικές Λογικές Μονάδες (1)

Μια 1-bit ALU.

Αριθμητικές Λογικές Μονάδες (2)

' Ελεγχος Δεδομένων

Δεδομένα2 γραμμές

Απο-Πολυ-Πλεκτης

Ή

ΑπλήΔιακλά-δωση

Πράξη 0

Πολυ-Πλέκτης

Είσοδος ' Εξοδος

ΕπιλογήΛειτουργίας

Πράξη 1

Πράξη 2

Πράξη n-1

...

Log n γραμμές

0 , 1

Αριθμητικές Λογικές Μονάδες (3)

Είσοδοι Δεδομένων Α, Β, Carry in

Έξοδοι Δεδομένων Output, Carry out

Έλεγχος Δεδομένων ΕΝΑ, ΕΝΒ (enable), INVA (invert A, NOT A)

Eπιλογή Λειτουργίας F0, F1 (Function Select)

0 0 A AND B

0 1 A OR B

1 0 NOT B

1 1 A + B + Carry in (πρόσθεση)

Πιθανές πράξεις Α (OR 1) , ΝΟΤ Α (OR 1), (1 OR) B, NOT B,

A AND B, (NOT A) AND B, A OR B,

(NOT A) OR B, A + B, A + 1, B + 1, A + B + 1

(ΝΟT A) + B + 1 ...

Αριθμητικές Λογικές Μονάδες (4)

Παράδειγμα συνδυασμού εισόδων για τη πράξη Α + Β + 1

Α 0 ή 1 0 ή 1

Β 0 ή 1 0 ή 1

Carry in 1 1

ΕΝΑ 1 1

ΕΝΒ 1 1

ΙΝVA 0 1

F0 1 1

F1 1 1

Output A + B + 1 ((ΝΟΤ Α) + 1) + B = B - A

Carry Out 0 ή 1 0 ή 1

Αριθμητικές Λογικές Μονάδες (5)

Οκτώ 1-bit ALUs συνεδεδεμένες σε μια 8-bit ALU. Δεν φαίνονται τα σήματα INVΑ και ΕΝΑ, ΕΝΑΒ.

Πώς μπορούμε να κάνουμε αφαίρεση στα 8 bits στο Συμπλήρωμα του 2;

Έλεγχος Αριθμητικής Λογικής Μονάδας

Συνδυασμοί σημάτων ελέγχου της ALU και οι πράξεις που αντιστοιχούν σε αυτούς.

Αρχιτεκτονική Υπολογιστών

Ψηφιακή Λογική

Αναπαράσταση ΠληροφορίαςΣυνδυαστικά ΚυκλώματαΑκολουθιακά ΚυκλώματαΔιασύνδεση Κυκλωμάτων

Ρολόγια

(a) Ρολόι.

(b) Διάγραμμα χρονισμού.

(c) Ασύμμετρο διάγραμμα χρονισμού και χωρισμός κύκλου ρολογιού σε τμήματα. Έτσι μπορούμε να ορίσουμε χρονικές στιγμές μέσα στο κύκλο για την έναρξη γεγονότων.

Μανδαλωτές (Latches) (1)

Το απλούστερο κύκλωμα με μνήμη 1 bit.Σε αντίθεση με τα συνδυαστικά κυκλώματα η νέα έξοδος δεν καθορίζεται

μόνο από την είσοδο αλλά και από τη τρέχουσα έξοδο. Τέτοια κυκλώματα, τα οποία έχουν την έννοια της 'τρέχουσας κατάστασης', δηλαδή του χρόνου, λέγονται ακολουθιακά.

(a) Μανδαλωτής NOR στη κατάσταση 0 και (b) στη κατάσταση 1.(c) Πίνακας αληθείας πύλης NOR.

Μανδαλωτές (2)

S R Λειτουργία------------------------------------0 0 Διατήρηση (a) ή (b)0 1 Q = 0 (a) Reset1 0 Q = 1 (b) Set1 1 Αστάθεια

Μπορούμε, με τη βοήθεια των Set – Reset είτε να καθορίσουμε τη τιμή του bit στη μνήμη, είτε να το διατηρήσουμε στη παρούσα τιμή του.

Η επιλογή 1 1 οδηγεί σε ασταθή ταλάντωση που μπορεί να ισορροπήσει σε μια από τις δύο σταθερές καταστάσεις.

Χρονισμένος μανδαλωτής

Η όποια αλλαγή θα συμβεί μόνο όταν υπάρξει παλμός, οχι απαραίτητα ωρολογιακός (απλά enable). Ετσι το κύκλωμα μπορεί να απομονωθεί από ανεπιθύμητες εξωτερικές επιδράσεις.

Μανδαλωτής D (3)

Αποκλείονται οι επιλογές R = S = 0 και R = S = 1.

Όμως λόγω του enable η κατάσταση R = S = 0 μπορεί να επιτευχθεί έμμεσα αφού απομονώνει το κύκλωμα.

D Ck ΛειτουργίαX 0 Έξοδος και διατήρηση κατάστασης τρέχουσας (Q)0 1 Έξοδος τρέχουσας κατάστασης (Q), αποθήκευση νέας κατάστασης Q=01 1 Έξοδος τρέχουσας κατάστασης (Q), αποθήκευση νέας κατάστασης Q=1

Latches και Flip-Flops

(a) D latch με enable στη τιμή 1

(b) D latch με enable στη τιμή 0

(c) D flip-flop με ακμοπυροδότηση (edge -trigger) ανόδου (0 -> 1)

(d) D flip-flop με ακμοπυροδότηση (edge -trigger) καθόδου (1 -> 0)

Λογικά (Ακολουθιακά) Κυκλώματα (1)

Από τον πίνακα καταστάσεων στο ακολουθιακό κύκλωμα.Θεωρούμε οτι έχουμε ένα σύγχρονο ακολουθιακό κύκλωμα (με κοινό

χρονισμό ck) που αποτελείται από N D-latches ή flip-flops, όπου το κάθε ένα διατηρεί 'μνήμη' (κατάσταση) του ενός bit.

1. Ξεκινούμε από ένα πίνακα καταστάσεων, με δύο ομάδες στηλών: (α) τη τρέχουσα κατάσταση και (β) την επόμενη κατάσταση. Έχουμε έτσι το πολύ 2^Ν διακριτά ζεύγη καταστάσεων (τρέχουσα -> επόμενη).

2. Η παρούσα κατάσταση αποτελεί και την έξοδο του κυκλώματος κατά τη μετάβαση στην επόμενη κατάσταση.

3. Καθορίζουμε τις εισόδους που απαιτούνται έτσι ώστε, ο συνδυασμός εισόδου και εξόδου (τρέχουσας κατάστασης) να οδηγεί στην επόμενη κατάσταση.

4. Σχεδιάζουμε το συνδυαστικό κύκλωμα που απαιτείται σε κάθε είσοδο. Χρησιμοποιούμε ως πίνακα αληθείας τις στήλες εξόδων και εισόδων. Οι τρέχουσες έξοδοι πρέπει να προκαλούν τις επόμενες εισόδους.

Λογικά (Ακολουθιακά) Κυκλώματα (2)Σύγχρονος Δυαδικός Μετρητής (Counter) 3 bits. Το κύκλωμα έχει 3 D ff's c,b,a που κρατούν τα bits 2^2,2^1,2^0.Καταστάσεις Έξοδος Q Είσοδος DΤρέχουσα Επόμενη (τρέχουσα κατάσταση) (επόμενη κατάσταση)

cba cba cba cba000 001 000 001001 010 001 010010 011 010 011011 100 011 100100 101 100 101101 110 101 110110 111 110 111111 000 111 000

Η έξοδος καθορίζεται από τη τρέχουσα κατάσταση.Η επόμενη κατάσταση καθορίζεται από την είσοδο, και μέσω ανάδρασης

(feedback )από τη τρέχουσα κατάσταση.

Λογικά (Ακολουθιακά) Κυκλώματα (3)

Υπολογισμός συνδυαστικών κυκλωμάτων εισόδων:

D(a) = c'b'a' + c'ba' + cb'a' + cba' = (c'b' + c'b + cb' + cb) a' = a' = 1 XOR a D(b) = c'b'a + c'ba' + cb'a + cba' = (c' + c) (b'a + ba') = a XOR b D(c) = c'ba + cb'a' + cb'a + cba' = c'ba + cb' + a'c = c'ba + (a'+b')c = = c'ba + cb'a' = (ab) XOR c

Αν είχαμε μετρητή X bits τότε..

D(x) = (Bit0 AND Bit1 AND .. Bit(x-1)) XOR Bitx

Λογικά (Ακολουθιακά) Κυκλώματα (4)

1 a

b

c

...

Σύγχρονος δυαδικός μετρητής 4 bits

Μηχανές Πεπερασμένων ΚαταστάσεωνFinite State Machines (1)

Πεπερασμένο σύνολο Ν διακριτών καταστάσεων, όπου κάθε κατάσταση ορίζεται από ένα άνυσμα x bits.

Πεπερασμένο σύνολο Μ διακριτών εισόδων, όπου κάθε είσοδος ορίζεται από ένα διάνυσμα y bits.

Παρόμοια πεπερασμένο σύνολο Κ διακριτών εξόδων, όπου κάθε είσοδος ορίζεται από ένα διάνυσμα z bits.

Πίνακας ή Γράφος Μετάβασης που συνδέει Τρέχουσα Κατάσταση και Είσοδο με Επόμενη Κατάσταση (και Έξοδο).

Μια Μηχανή Πεπερασμένων Καταστάσεων μπορεί να υλοποιηθεί ως ένα Ακολουθιακό Κύκλωμα, αποταλούμενο από δύο βασικά τμήματα:

(α) το τμήμα που αποθηκεύει τη κατάσταση (δηλαδή τη Μνήμη)(β) το Συνδυαστικό Κύκλωμα που υλοποιεί τη λογική σύνδεση εισόδου και

τρέχουσας κατάστασης (εξόδου( για τη παραγωγή της επόμενης κατάστασης.

Μηχανές Πεπερασμένων ΚαταστάσεωνFinite State Machines (2)

Μηχανή ΠεπερασμένωνΚαταστάσεων Mealy.

Αν η Έξοδος εηξαρτάται μόνοαπό τη Παρούσα Κατάτασταση τότε έχουμε Μηχανή Πεπερασμένων Καταστάσεων Moore.

Μηχανές Πεπερασμένων ΚαταστάσεωνFinite State Machines (3)

Τρέχουσα Κατάσταση Είσοδος Έξοδος Επόμενη Κατάσταση

Locked Coin Release UnlockedLocked Push None LockedUnlocked Coin None UnlockedUnlocked Push Release Locked

Παράδειγμα: Μηχανή ελέγχου εισόδου.

Μηχανές Πεπερασμένων ΚαταστάσεωνFinite State Machines (4)

Πεπερασμένο Αυτόματο (Μηχανή Πεπερασμένων Καταστάσεων)Έλεγχος αριθμού μηδενικών σε δυαδικό αριθμόΑπροσδιόριστου αριθμού bits. Σειριακή ανάγνωση (bit προς bit)S1 = αρτιος αριθμός μηδενικώνS2 = περιττός αριθμός μηδενικών.

Καταχωρητές

Σύνδεση καταχωρητή 8 bit με διαύλους εισόδου και εξόδου.Το CK ('χρονισμός') ελέγχει την είσοδο (write: Ck=0->1) ενώ το ΟΕ ('απομονωτής') ελέγχει την έξοδο (read: OE=1). Μπορούν να είναι Τα 2 σήματα ταυτόχρονα στη τιμή 1;

Μνήμη (1)

Mνήμη (2)

' Ελεγχος RD, CS, OE

Διεύθυνσηlogn bits

Απο-Κωδικο-ποιητής

Γραμμή 0

Πολυ-Πλέκτης

' ΕξοδοςΔεδομένων

m bits

Επιλογή ΓραμμήςΑνάγνωσης και Έλεγχος Διαύλου

Γραμμή 1

Γραμμή 2

Γραμμή n-1

...

Eίσοδος Δεδομένων m bits m bits

Επιλογή Εγγραφήςκαι Επιλογή ΓραμμήςΕγγραφής

Z

Read

10

1

1

1

X Y Z

ZXY

Write

10

1

0

0

ZXY

Y ZX

Λειτουργία μνήμης (1)

Είσοδος δεδομένων Ι0, Ι1, Ι2 3 bits / λέξηΈξοδος δεδομένων Ο0, Ο1, Ο2 3 bits / λέξη

Είσοδος διεύθυνσης Α0, Α1 προσπέλαση σε 4 λέξεις(αποκωδικοποίηση)

Σήματα ελέγχου CS Chip Select οργάνωση με επι-μέρους chipsOE Output Enable επιτρέπει έξοδο RD Read εγγραφή δεδομένων

Λειτουργία ανάγνωσης

1. Διεύθυνση από address bus σε Α0, Α12. Σήματα ελέγχου CS = 1, OE = 1, RD = 13. Είσοδος δεδομένων Ι0, Ι1, Ι2 αδιάφορη, οι πύλες εγγραφής δίνουν 0.Επιλέγεται μια από τις 4 λέξεις με βάση την αποκωδικοποίηση των A0, A1. Οι αμετάβλητες καταστάσεις των αντίστοιχων Dff's καταλήγουν στις πύλες OR και μέσω των απομονωτών στις γραμμές O0, O1, O2.

Λειτουργία μνήμης (2)

Λειτουργία εγγραφής

1. Διεύθυνση από address bus σε Α0, Α12. Σήματα ελέγχου CS = 1, OE = 1, RD = 03. Είσοδος δεδομένων σε Ι0, Ι1, Ι2.Επιλέγεται μια από τις 4 λέξεις με βάση την αποκωδικοποίηση των A0, A1.Οι αντίστοιχες πύλες εγγραφής δίνουν 1 και τα συγκεκριμένα Dff's αλλάζουν κατάσταση με βάση την αντίστοιχη είσοδο δεδομένων. Οι παλιές καταστάσεις των Dff's καταλήγουν στις πύλες OR αλλά λόγω των απομονωτών δεν φθάνουν στις γραμμές O0, O1, O2.

(a) απομονωτής (b), (c) λειτουργία (d) αντιστρέφων απομονωτής

Μνήμη ROM

Τεχνολογίες μνήμης (1)

S=Static D= Dynamic SD=Synchronous Dynamic DDR=Double Data RateP=Progmammable E=Erasable EE= Electrically Erasable Flash=Block Erasable

Τεχνολογίες Μνήμης (2)

Dynamic RAM

Μόνο ενα transistor και ένας πυκνωτής ανά bit.

Πολύ πυκνή αλλα Πτητική (Vοlatile) ακόμη και όταν είναι σε λειτουργία.

Απαιτείται τακτική Eπανεγγραφή (Refresh) γιατί ο πυκνωτής εκφορτίζεται.

Προγραμματιζόμενες Λογικές Διατάξεις (PLAs)

PLA με 12 εισόδους και 6 εξόδους.

Τα μικρά τετράγωνα είναι συνδέσεις που μπορεί να διακοπούν.

2^12 >> 50Περιορισμένοςαριθμός όρων, περίπου 8 ή 9 ανά έξοδο

ΑΝDPlane

ORPlane

Προγραμματιζόμενη Λογική 1. EPROM σαν PLA: Σε μια ROM μπορούνε να έχουμε 12 εισόδους και

2^12 εξόδους των 6 bits. Μπορούμε να χρησιμοποιήσουμε τη ROM για να κωδικοποιήσουμε ένα οποιοδήποτε πλήρες λογικό κύκλωμα 12 εισόδων και 6 εξόδων.

2. EPROM σαν hardwired πρόγραμμα: Με τη βοήθεια ενός ρολογιού ή/και ενός μετρητή η ROM μπορεί να χρησιμοποιηθεί για να 'στέλνει' μια ακολουθία από 'εντολές' των 8-bits που εκτελούνται συνέχεια (πχ ROM BIOS).

3. ΕPROM με D'ffς και κατάλληλες συνδέσεις μπορούν να υλοποιήσουν οποιοδήποτε ακολουθιακό κύκλωμα, όπου η EPROM υλοποιεί το συνδυαστικό κύκλωμα και τα D'ffs τη μνήμη.

4. EPROM με D'ffs συνθέτουν τα Λογικα δομικά στοιχεία (Logic blocks) των FPGA's (Field Programmable Gate Arrays). Μέσω της EPROM μπορούμε να υλοποιήσουμε οποιαδήποτε λογική συνάρτηση 4 εισόδων – 1 εξόδου θέλουμε.

Field Programmable Gate Arrays

RoutingBlock

EPROM

Logic Block

Αρχιτεκτονική Υπολογιστών

Ψηφιακή Λογική

Αναπαράσταση ΠληροφορίαςΣυνδυαστικά ΚυκλώματαΑκολουθιακά ΚυκλώματαΔιασύνδεση Κυκλωμάτων

Σχηματικό Διάγραμμα Απλού Υπολογιστή

Μητρική Πλακέτα Ολοκληρωμένα ΚυκλώματαΣύνδεση Κυκλωμάτων με Διαύλους

Ολοκληρωμένα Κυκλώματα (1)

Ένα πολύ απλό ολοκληρωμένο κύκλωμα με 4 πύλες NAND.

Ολοκληρωμένα Κυκλώματα (2)

Καταχωρητής 8-bit.

Ολοκληρωμένα Κυκλώματα (3)

SSI (Small Scale Integration) 1-10 πύλες

MSI (Medium Scale Integration) 10-100 πύλες

LSI (Large Scale Integration) 100 – 100.000 πύλες

VLSI (Very Large Scale Integration) > 100.000 πύλες

Σήμερα έχουμε IC's με εκατομμύρια πύλες (ή transistors)

Μερικά προβλήματα:

Καθυστέρηση πύλης (διάδοση και μεταγωγή) ~1 nanosecond

Αριθμός ακροδεκτών (υψηλή αναλογία πυλών/ακροδεκτών)

Πυκνότητα (υπερθέρμανση, παρεμβολή)

Θα τα δούμε σύντομα στον Παραλληλισμό

Νόμος του Moore

O νόμος του Moore προβλέπει ετήσια αύξηση 60% στα transistors που χωρούν σε ένα ολοκληρωμένο κύκλωμα. Το συγκεκριμένο διάγραμμα αναφέρεται σε ολοκληρωμένα κυκλώματα μνήμης.

Ολοκληρωμένα Κυκλώματα (4)

Tύποι πακεταρίσματος ολοκληρωμένων κυκλωμάτων:

(a) dual-inline package DIP

(b) pin grid array PGA(c) land grid array LGA (συνήθως με μοχλό).

Ολοκληρωμένα κυκλώματα CPU

Συνδεσμολογία τυπικού ολοκηρωμένου κυκλώματος CPU. Τα βέλη δηλώνουν είσοδο ή έξοδο.Οι μικρές διαγώνιες γραμμές σημαίνουν πολλαπλές γραμμές.

Ολοκληρωμένα Κυλώματα Μνήμης (1)

Εναλλακτικοί τρόποι οργάνωσης μνήμης 512 Mbits.

Ολοκληρωμένα Κυλώματα Μνήμης (2)Λογική Οργάνωση Διευθύνσεων

Τρείς οπτικές μιας μνήμης των 96 bit.

Ολοκληρωμένα Κυλώματα Μνήμης (3)

Πλακέτα ενός DIMM συνολικής χωρητικότητας 4 GB σε 8 ολοκληρωμένα κυκλώματα των 256 MB σε κάθε μια από τις 2 πλευρές.

Δίαυλοι (1)

Τυπικό σύστημα υπολογιστή με πολλαπλούς διαύλους.

Κατηγορίες διαύλων:

Με βάση τη θέση: Οn-chip bus, On-board bus, Εξωτερικό bus.

Με βάση τη λειτουργία: CPU bus, Memory bus, I/O bus,...

Mε βάση το τύπο δεδομένων: Data bus, Address bus, Control bus.

Με βάση τη τεχνολογία: PCI, PCI Express, SCSI, USB..

Με βάση το χρονισμό: Σύγχρονο, Ασύγχρονο

Με βάση τη μέθοδο μεταφοράς δεδομένων: Σειριακό, Παράλληλο..

Δίαυλοι (2)

Λειτουργία του Ελεγκτή / Διαιτητής Διαύλου (Bus Controller / Arbiter)

Πιθανοί συνδυασμοί master - slave σε διαύλους.

Εύρος Διαύλων

Μεγέθυνση Διαύλου Διευθύνσεων (backward compatibility).

Eύρος Αddress Bus ~ Αριθμός Θέσεων Μνήμης.

Εύρος Data Bus ~ Αριθμός Bytes ανά Θέση Μνήμης.

Επηρρεάζονται οι αντίστοιχοι καταχωρητές.

Χρονισμός Διαύλου (1)

Χρονισμός Ανάγνωσης σε σύγχρονο δίαυλο.

Χρονισμός Διαύλου (2)

Ορισμός μερικών σημαντικών σημάτων.

Χρονισμός Διαύλου (3)

Χρονισμός Ανάγνωσης σε ασύγχρονο δίαυλο.

Λειτουργία Ασύγχρονου Διαύλου με Πλήρη Χειραψία (Full-Handshake).

Χρονισμός Διαύλου (4)

Ομαδική μεταφορά (Βlοck Transfer)

Διαιτησία Διαύλου

(a) Κεντρικός διαιτητής διαύλου ενός επιπέδου.(b) Ο ίδιος δαιτητής με δύο επίπεδα.

Ελεγκτής Διακοπών

Ελεγκτής Διακοπών 8259A .

Ελεγκτές Ι/Ο

Ενα Προγραμματιζόμενος Ελεγκτής Ι/Ο 24-bit (PIO Interface).

Αποκωδικοποίηση Διευθύνσεων (1)

EPROM, RAM, και PIO σε χώρο διευθύνσεων 64 KB.

Αποκωδικοποίηση Διευθύνσεων (2)

Πλήρης αποκωδικοποίηση διευθύνσεων 64K.

CS'=1 όταν Α15,Α14,..,Α11 = 0Διεύθυνση00000xxxxxxxxxx

0

10

0

1

0

0 0

1

0

0 0

1 1

1 1

CS'=1 όταν Α15=1 και Α14,..,Α11 = 0Διεύθυνση10000xxxxxxxxxx

CS'=1 όταν Α15,Α14,..,Α2 = 1Διεύθυνση1111111111111xx