Upload
duongcong
View
247
Download
4
Embed Size (px)
Citation preview
Εισαγωγή στους ΗλεκτρονικούςΥπολογιστές
Λεωνίδας Αλεξόπουλος
Λέκτορας ΕΜΠE-mail: [email protected]
URL: http://users.ntua.gr/leo
http://courseware.mech.ntua.gr/ml23021/
13ο Μάθημα
1
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
2
Λογικές Πράξεις Λογικές Συναρτήσεις
* Λογικές συναρτήσεις: συναρτήσεις όπου τόσο οι ανεξάρτητες μεταβλητές όσοκαι η εξαρτημένη μεταβλητή είναι όλες λογικές μεταβλητές, δηλαδή
* Επειδή κάθε μεταβλητή μπορεί να λάβει 2 τιμές, η λογική συνάρτηση z τωνμεταβλητών ορίζεται σε σημεία που αντιστοιχούν στους συνδυασμούς τους.
* Πίνακας αληθείας: εργαλείο συστηματικής παράστασης όλων των τιμών μιαςλογικής συνάρτησης που αντιστοιχούν στους συνδυασμούς των μεταβλητώντης.
( ) { } { }1 2, ,..., 0,1 0,1 , 1, 2, ,n iz f x x x x i n= ∈ ∈ =
ix nn2n2n2
nn2
f(x) zx1x2
xn
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
3
Συνδυαστικά Λογικά Κυκλώματα• Τα Συνδυαστικά Λογικά Κυκλώματα υλοποιούν στατικές λογικές συναρτήσεις
δηλαδή σχέσεις εισόδων - εξόδων του τύπου
όπου το z εξαρτάται μόνο από το x με μια στατική (δηλ. μη χρονικάεξαρτώμενη) σχέση εισόδου / εξόδου.
• Υπάρχουν 2 προβλήματα που σχετίζονται με τα συνδυαστικά λογικά κυκλώματα:– ανάλυση: Δεδομένου ενός ψηφιακού κυκλώματος να κατανοηθεί η
λειτουργία του (δηλ. η μαθηματική λογική συνάρτησή του και ο πίνακαςαληθείας του).
– σύνθεση: Δεδομένων των προδιαγραφών λειτουργίας ενός λογικούκυκλώματος να βρεθεί η μαθηματική λογική συνάρτησή του και το κύκλωμαπου την υλοποιεί.
( ) { } { }0,1 0,1m nz f x z x= ∈ ∈
f(x)x1x2
xn
z1z2
zm
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
4
Παραδείγματα Ανάλυσης• Δεδομένων των παρακάτω λογικών κυκλωμάτων να βρεθεί οι αντίστοιχες
μαθηματικές λογικές συναρτήσεις που υλοποιούν και οι πίνακας αληθείας.
• Οι παραπάνω Πίνακες Αληθείας αποτελούνται από 2n=3 = 8 σειρές, όπου n=3 οαριθμός των εισόδων, και μας δείχνουν την έξοδο για κάθε περίπτωση εισόδου.
B
A
C
A B C B A B⋅ A B C⋅ + 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 1
PQ
R
P Q R P Q+ ( )P Q R+ ⋅
0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1
BA B⋅
A B C⋅ +
P Q+
( )P Q R+ ⋅
• Δεδομένων των λειτουργικών προδιαγραφών που συνοψίζονται σε ένα πίνακα αληθείας να ευρεθούν οι σχετικές μαθηματικές λογικές συναρτήσεις και τα αντίστοιχα λογικά κυκλώματα που τις υλοποιούν
Να ευρεθεί το ψηφιακό κύκλωμα που υλοποιεί τον παρακάτω πίνακα αληθείας
Παραδείγματα Σύνθεσης
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
5
Α Β x0 0 00 1 11 0 01 1 0
( )0, 1A B= = x A B⇒ = ⋅
x A B= ⋅
x y z0 0 10 1 01 0 01 1 1
Να ευρεθεί το ψηφιακό κύκλωμα που η έξοδός του z είναι αληθής μόνο όταν οι 2 είσοδοί του
(x,y) είναι ίσες
( )0, 0x y= =
( )1, 1x y= =
x y⋅ ⇐
x y⋅ ⇐
z x y x y= ⋅ + ⋅
Πρόβλημα Σύνθεσης
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
6
+5 V
ON
OFF
+5 V
ON
OFF
+5 V
Open
Closed
Λογικό Κύκλωμα ΠροςΣυναγερμό
D
I
L
ΘύραΟδηγού
Φώτα
Κινητήρας
D I⋅z = +L I⋅
• Στο σχήμα απεικονίζεται μιά διάταξη «συναγερμού» αυτοκινήτου που χρησιμοποιείται για την ανίχνευση ορισμένων ανεπιθύμητων καταστάσεων. Οι 3 διακόπτες χρησιμοποιούνται για την ανίχνευση της κατάστασης της θύρας του οδηγού, την κατάσταση λειτουργίας του κινήτήρακαι τα φώτα. Να σχεδιασθεί το λογικό κύκλωμα που με είσοδο αυτά τα 3 σήματα ενεργοποιεί κατάλληλα τον συναγερμό όταν συμβαίνει κάποιααπό τις παρακάτω ανεπιθύμητες καταστάσεις :– Tα φώτα είναι ανοικτά (ΟΝ) ενώ κινητήρας
είναι ανενεργός (OFF)– Η θύρα οδηγού είναι ανοικτή (OPEN) ενώ ο
κινητήρας είναι ενεργός (ΟΝ).
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
7
Τυπικά Συνδυαστικά Κυκλώματα: Διακόπτες Ελέγχου (Control Switches)
• Αν στην έξοδο έχουμε όλο 0 δεν γνωρίζουμε αν είναι αυτά δεδομένα ή απλά δενδιέρχονται δεδομένα δια του διακόπτη.
a11
a22
3a3
4a4
b1
b2
b3
b4
5
6
7
8
GND0
nΓραμμέςΕισόδου
nΓραμμέςΕξόδου
Είσοδος Ελέγχου:1: διέλευση δεδομένων εισόδου πρός την έξοδο0: αποκοπή δεδομένων εισόδουπρός την έξοδο
a11
a22
3a3
4a4
b1
b2
b3
b4
5
6
7
8
GND0
Είσοδος Έξοδος
Είσοδος Ελέγχου
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
8
Τυπικά Συνδυαστικά Κυκλώματα:Μάσκες (Masks)
• Παρόμοια δράση με αυτή του διακόπτη αλλάεπεκτείνεται το δικαίωμα επιλογής σε κάθεγραμμή της εισόδου.
• Παραμένει το μειονέκτημα του ότι αν σε μίαγραμμή εξόδου έχουμε 0 δεν γνωρίζουμε ανείναι αυτά δεδομένα ή απλά δεν διέρχονταιδεδομένα δια του αντίστοιχου διακόπτη τηςεν λόγω γραμμής.
a11
a22
3a3
4a4
b2
b3
b4
5
6
7
8
GND0
b1
Είσοδος Έξοδος
Είσοδοι Ελέγχου(μάσκα επιλογής)
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
9
Τυπικά Συνδυαστικά Κυκλώματα:Πολυπλέκτες (Multiplexers)
• Μέσω των n γραμμών ελέγχου είναι δυνατή η επιλογή μίας από τις 2n γραμμές εισόδου έτσι ώστε να διέλθει στην έξοδο D (επίσης διατίθεται και η D ).
S1
S8
D
C1 ENBC3C2
Multiplexer
2n “Γραμμές”Δεδομένων
Εισόδου
nΕίσοδοιΕλέγχου
n
n
D
S1
S8
D
C1 ENBC3C2
Multiplexer
4=22
“Γραμμές”Δεδομένων
Εισόδου
2ΕίσοδοιΕλέγχου
n
n
S1
S2
S3
S4
C1 C2
D
D
2
S1
S8
D
C1 ENBC3C2
Multiplexer
n
n
S0
S1
S2
S3
C1 C0
D
D
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
10
Πολυπλέκτης 4 εισόδων
00
11
00
0
0
0
0
0 011 S0
S0
S0
ABC
A∙B∙C=A∙(B∙C)==(A∙B)∙C
ABCD
A+B+C+D==A+[B+(C+D)]
G1
G0
G2
G4
S1
S8
D
C1 ENBC3C2
Multiplexer
n
n
S0
S1
S2
S3
C1 C0
D
D
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
11
Πολυπλέκτης 4 εισόδων
0
0
0 1
1
0
0
0
0 01 1 S2
01
S2
S2
G1
G0
G2
G4
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
12
Τυπικά Συνδυαστικά Κυκλώματα:Αποπολυπλέκτες (Demultiplexers)
• Μέσω των n γραμμών ελέγχου είναι δυνατή ηεπιλογή μίας από τις 2n γραμμές εξόδου (S1,S2, …, S2n-1, S2n) στην οποία θα διέλθει ηείσοδος D.
Demultiplexer
nΕίσοδοιΕλέγχου
ΕίσοδοςD
2n “Γραμμές”Δεδομένων
Εξόδου
S1
S2n
S2
S2n-1
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
13
Τυπικά Συνδυαστικά Κυκλώματα:Αποκωδικοποιητές (Decoders)
• Σε κάθε συνδυασμό εισόδου ενεργοποιείται μίας από τις 2n γραμμές εξόδου.• Χρησιμοποιούνται στους Η/Υ για να εντοπίζουν κελιά μνήμης
2n “Γραμμές”Δεδομένων
Εξόδου
n “Γραμμές”Δεδομένων
Εισόδου
Decoder
S0
S1
Sn-1
Sn-2
D0
D1
D2n-2
D2n-1
Decoder
S0
S1
D1
D2
D0
D3
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
14
Τυπικά Συνδυαστικά Κυκλώματα:Αποκωδικοποιητές (Decoders)
• Σε κάθε συνδυασμό εισόδου ενεργοποιείται μίας από τις 2n γραμμές εξόδου.
Decoder
S1
S0
D1
D2
D0
D3
G1
G0
G2
G4
0
1
00
0
00
0
1
1
1
11
0S1S0=102=210
D2=1
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
15
Τυπικά Συνδυαστικά Κυκλώματα:Κωδικοποιητές (Encoders)
• Σε κάθε ενεργοποίηση μίας από τις2n γραμμές εισόδου αντιστοιχίζεταιένας συνδυασμός εξόδων.
• Χρησιμεύει στην κωδικοποίηση τωνχαρακτήρων του πληκτρολογίουκατά τον κώδικα ASCIΙ.
Encoder
2n “Γραμμές”Δεδομένων
Εισόδου
n “Γραμμές”Εξόδου
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
16
Τυπικά Συνδυαστικά Κυκλώματα:Αθροιστές
• Βασικός μηχανισμός άθροισης. Πράξη μεταξύ 2 bits Α, Β :+ Α 1 bit (0 ή 1)
B 1 bit (0 ή 1) Half - AdderC S
Κρατούμενο Άθροισμα ΗΑ
Α Β C S0 0 0 0 _ _ _0 1 0 1 A B S =AB + AB = A ⊕ B1 0 0 1 A B1 1 1 0
C = AB
Α
Β
S
C
Λογικό κύκλωμα που υλοποιεί τηνπρόσθεση 2-bit και αποκαλείταιΗμιαθροιστής (Half Adder - HA)
τ
τ
τ
XOR
• Υλοποίηση: Α+Β, με ΗΑ-1: ΑΒ +
c1 s1• Μετά, μέσω ΗΑ-2: s1
. Γ +c2 s2
• Για το c1+c2 δεν είναι αναγκαίοςένας ΗΑ αλλά απλά μια πύλη OR
• Το όλο λογικό κύκλωμα λέγεταιαθροιστής (Full Adder - FA).
Γ
FAΒ
ΑΚ.Κυριακόπουλος Εισαγωγή
στους Η/Υ17
S2
C1
HA
HA
S1
C2
S
C
Τυπικά Συνδυαστικά Κυκλώματα:Αθροιστές (συνεχ.)
• Απλή 2-μπιτη πρόσθεση : α2 α1b2 b1 +
• Η πρώτη πρόσθεση που εκτελείται είναι αυτή της δεξιάς στήλης: α1
b1 +k1 d1
• Το κρατούμενο k1 θα πρέπει ναπροστεθεί στην αμέσως πιοαριστερά στήλη, δηλαδή: k1
α2 α1b2 b1 +
d1• Συμπέρασμα: απαιτείται η
πρόσθεση των 3 bit, (k1, a2, b2).Φανερή η ανάγκη κατασκευήςλογικού κυκλώματος που θαπροσθέτει 3 bit (π.χ. Α,Β,Γ).
τ
τ 2τ
τ 3τ
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
18
• Ο συνολικός χρόνος που χρειάζεταιγια την πράξη είναι ο χρόνος τουυπολοίπου (3n-2)τ.
• Επειδή ο χρόνος αυξάνει γραμμικά μετο n υπάρχουν άλλοι τύποι αθροιστώνπου “προβλέπουν” τα κρατούμενα καιοδηγούν σε ταχύτερους υπολογισμούς.
S C HA
τ
+2τ τ
+3τ FA1
3τ
+2τ 4τ
+3τ FA2
. 5τ 7τ
.
. FA(n-1)
(2n-1) τ (3n-2) τ
Τυπικά Συνδυαστικά Κυκλώματα:Αθροιστές (συνεχ.)
• Πρόσθεση 2-μπιτων αριθμών α2α1
b2b1 +d3d2d1
• Για την πρόσθεση αριθμών n bit,χρησιμοποιούμε ένα ΗΑ και (n-1) FA.
HAFA1
α1
α2
b2 b1
c1 s1s2c2
d1d2d3
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
19
Ακολουθιακά Λογικά Κυκλώματα• Υπενθυμίζουμε ότι τα Συνδυαστικά Λογικά Κυκλώματα υλοποιούν στατικές
λογικές συναρτήσεις δηλαδή σχέσεις εισόδων - εξόδων του τύπου
δηλαδή το z εξαρτάται μόνο από το x με μια στατική (δηλ. μη χρονικάεξαρτώμενη) σχέση εισόδου / εξόδου, δηλαδη
• Στα Ακολουθιακά (sequential) Λογικά Κυκλώματα η μεταβολή της εξόδουδεν εξαρτάται μόνο από αυτή της εισόδου αλλά και από την τιμή της ιδίας.
( ) ( ) ( )( )1 ,z t f x t z t+ =
( ) { } { }0,1 0,1m nz f x z x= ∈ ∈
( ) ( )( )z t f x t=
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
20
Ακολουθιακά Λογικά Κυκλώματα• Στα Συνδυαστικά Λογικά Κυκλώματα οι σχέσεις εισόδων - εξόδων αποδίδεται
από το δομικό διάγραμμα:
• Στα Ακολουθιακά (sequential) Λογικά Κυκλώματα, η έξοδος z(t+1) τουσυστήματος εξαρτάται από τη τρέχουσα είσοδο x(t) και την τρέχουσα έξοδοz(t). Δηλαδή η έξοδος «αναδρά» στον (ανατροφοδοτεί τον) εαυτό της δρώνταςως (μερική) είσοδος.
• Επομένως, ένα ακολουθιακό λογικό κύκλωμα είναι ένα σύστημα που έχει μνήμηκαι γι’ αυτό χρησιμοποιείται στους Η/Υ για την υλοποίηση συσκευών μνήμης.
• Η βασικότερη και απλούστερη διάταξη μνήμης είναι το RS Flip-Flop.
( ) ( ) ( )( )1 ,z t f x t z t+ =
Λογικό Κύκλωμα
f(x)x z
Κ.Κυριακόπουλος Εισαγωγήστους Η/Υ
21
• Tο Flip-Flop μπορεί να υλοποιήσει την έννοια του bit δεδομένου ότι μπορεί ναφυλάσσει δεδομένα (π.χ. στην έξοδο Q) ενώ έχει άμεσα διαθέσιμο το Q΄ =Q πουαπαιτείται σε διάφορους χειρισμούς.
• Υπάρχουν τέσσερις δυνατές καταστάσεις:⇒ SET: S=1 , R=0⇒ RESET: S=0 , R=1⇒ STORE: S=0 , R=0⇒ Μη αποδεκτή: S=1 , R=1
To RS Flip-Flop• Είναι ένα λογικό κύκλωμα με 4 ακροδέκτες:S (set), R (reset): είσοδος Q, Q΄ : έξοδος. 1
2
S(t)
R(t)
Q’(t)
Q(t)
ΕΙΣΟΔΟΣ ΕΞΟΔΟΣ
G1(t)
G2(t)
1
0
0
011
0
0
0 1
http://www.mekanizmalar.com/sr_flip_flops.html
Πρόβλημα (Θέμα 2/2010)• Στο παρακάτω σχήμα, οι έξοδοι Q των δύο (2)
RS Flip-Flop αντιστοιχούν στα bit b1 και b2 του 2-μπιτου αριθμού b2b1. Να σχεδιασθεί και συνδεθεί με τα Flip-Flop το κύκλωμα που δίνει το c2(b2b1).
b2b1→b2b1
1+
d3d2d1
Κ.Κυριακόπουλος Εισαγωγή στους Η/Υ
22
S
R
Q
Q
S
R
Q
Q
b2
b1
b2
b1
d2
d1
d3
1
Εισαγωγή στους ΗλεκτρονικούςΥπολογιστές
ΑΝΑΚΕΦΑΛΑΙΩΣΗ
23
24
Γλώσσα Μηχανής
Μικρολειτουργίες&
Μικροπρογραμματισμός
Ψηφιακή Λογική
Γλώσσες & ΠρογράμματαΕφαρμογών
Γλώσσες Προγραμματισμού
Λειτουργικό Σύστημα
Λογισμικό: Σύνολο προγραμμάτωνπου μπορούν να εκτελεσθούν από
τον Η/Υ
ΥλικόΤεχνικό: Σύνολο συσκευών πουαπαρτίζουν τον Η/Υ
ΑΝΑΚΕΦΑΛΑΙΩΣΗ
«Ένας Η/Υ είναι μία μηχανή η οποία, υπό τον έλεγχο ενός αποθηκευμένου προγράμματος που υλοποιεί
κάποιο αλγόριθμο επεξεργασίας δεδομένων, δέχεται και επεξεργάζεται αυτόματα τα δεδομένα και παρέχει τα
αποτελέσματα αυτής της επεξεργασίας»
25
Η/ΥΔΕΔΟΜΕΝΑ
(data)ΠΛΗΡΟΦΟΡΙΑ
(information)
«ακατέργαστα»δεδομένα
«δομημένα»δεδομένα
ΕΠΕΞΕΡΓΑΣΙΑμέσω κατάλληλου
αλγορίθμου(προγράμματος)
Τι είναι ένας Η/Υ?ΑΝΑΚΕΦΑΛΑΙΩΣΗ
26
ΑΝΑΚΕΦΑΛΑΙΩΣΗ
ΔεδομέναΕισόδου
Δεδομένα Εισόδουσε
Δυαδική Μορφή
Κωδικοποίηση ΑποκωδικοποίησηΕπεξεργασία Δεδομένα Εξόδουσε
Δυαδική Μορφή
ΔεδομέναΕξόδου
g2A
2B2Γ
10α
10β10γf ( )1δ − ⋅
( )δ ⋅
( )δ ⋅
( )2 10A δ α=
( )2 10B δ β=
( )2 2 2,A BgΓ =( )110 2γ δ −= Γ
( )10 10 10,fγ α β=
Η ηλεκτρονική υλοποίηση μέσω λογικών πράξεων είναι πολύ πιο εύκολη και αξιόπιστη απ’ ότι αυτή των αριθμητικών πράξεων
Ηλεκτρονική υλοποίηση μίας συνάρτησης f(α,β)
27
ΑΝΑΚΕΦΑΛΑΙΩΣΗ
Άρα Για να υλοποιήσουμε μία συνάρτηση f(α,β) (ή ένα πρόγραμμα)
ηλεκτρονικά πρέπει 1) Να κωδικοποιήσουμε την πληροφορία2) Να κάνουμε μία σειρά από Boolean πράξεις που
αποτυπώνουν την συνάρτηση/πρόγραμμα και οι οποίες μπορούν να υλοποιηθούν με συνδυαστικά/ακολουθιακά λογικά κυκλώματα
3) Να αποκωδικοποιήσουμε την εξαγόμενη πληροφορία
28
ΑΝΑΚΕΦΑΛΑΙΩΣΗ
Συστήματα Αρίθμησης (Δεκαδικό, Δυαδικό, Οκταδικό, Δεκαεξαδικό)
Κωδικοποίηση: Μετατροπή δεκαδικού σε δυαδικό, Bit/byte
Πράξεις στο Δυαδικό (Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός) Παράσταση αρνητικών αριθμών με πρόσημο-μέτροΣυμπλήρωμα ως προς δύο Υπερχείλιση & Υποχείλιση
Κλασματικοί αριθμοί (Σταθερή Υποδιαστολή), Αρνητικοί κλασματικοί, Πόλωση κατά Κ
Αριθμητική Κινητής Υποδιαστολής (floating pointarithmetic, single/double precision)
Κωδικοποίηση Χαρακτήρων Μέθοδοι Επαλήθευσης Ακρίβειας Δεδομένων
29
ΑΝΑΚΕΦΑΛΑΙΩΣΗ ADC & DAC
Διακριτοποίηση ως προς τον χρόνο (sampling rate, συχνότητα δειγματοληψίας) Διακριτοποίηση ως προς την τιμή της συνάρτησης (βήμα κβαντισμού, quantization level) Εφαρμογές
Ψηφιακά Συστήματα (η υλοποίηση των αλγορίθμων με ηλεκτρονικό υλικό)Λογικές Μεταβλητές και ΠράξειςΑπλές και Παράγωγες Λογικές Πράξεις & ΠύλεςΗλεκτρονική Υλοποίηση πυλών (Τransistor)
Συνδυαστικά / Ακολουθιακά Κυκλώματα Εισαγωγή στον δομημένο προγραμματισμό
Λογικά διαγράμματα Παραδείγματα στην Matlab
Για τις εξετάσεις:
Θα σταλούν οδηγίες και βαθμολογία.
Καλή επιτυχία!
30
31
ΕΥΧΑΡΙΣΤΙΕΣ
Ιωάννης ΜελάςΠαναγιώτης Παύλου και PC Lab
Το κέντρο Η/Υ ΕΜΠ
Λ.Αλεξόπουλος