Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος...

15
Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική Υπολογιστών Κεφαλαίο Τέταρτο Ο Υποθετικός Υπολογιστής ΜΙΧ 1009 Μέρος Πρώτο Καθηγητής: Α. Βαφειάδης 2008

Upload: ebony

Post on 12-Jan-2016

59 views

Category:

Documents


0 download

DESCRIPTION

Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης. Μάθημα Οργάνωση και Αρχιτεκτονική Υπολογιστών Κεφαλαίο Τέταρτο Ο Υποθετικός Υπολογιστής ΜΙΧ 1009 Μέρος Πρώτο Καθηγητής: Α. Βαφειάδης 200 8. Ο Υποθετικός Υπολογιστής ΜΙΧ 1009 Περιεχόμενα. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

1

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

Μάθημα

Οργάνωση και Αρχιτεκτονική Υπολογιστών

Κεφαλαίο Τέταρτο

Ο Υποθετικός Υπολογιστής ΜΙΧ 1009

Μέρος Πρώτο

Καθηγητής: Α. Βαφειάδης

2008

Page 2: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

2

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Ο Υποθετικός Υπολογιστής ΜΙΧ 1009

Περιεχόμενα

Γιατί Υποθετικός Υπολογιστής Η Αρχιτεκτονική του ΜΙΧ Περιγραφή του Βασικού Συνόλου Εντολών Διαδικασία Σύνταξης Προγράμματος Γλώσσας

Μηχ. Κύκλος Ανάκλησης - Εκτέλεσης Εντολής Μέθοδοι Υπολογισμού της Τελικής Διεύθυνσης

Page 3: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

3

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Γιατί Υποθετικός Υπολογιστής

Απλοποιημένη Δομή

Εύκολη κατανόηση των βασικών χαρακτηριστικών

Διαχρονικότητα

Page 4: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

4

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Γιατί Υποθετικός Υπολογιστής

Ο Donald E. Knuth με αφορμή τη συγγραφή ενός τρίτομου έργου με τίτλο “The art of Computer Programming” στο οποίο περίγραφε αλγορίθμους χρήσιμους στους System programmers, χρησιμοποίησε μια υποθετική Μηχανή. Στην εισαγωγή αυτού του έργου έγραψε:

" Όταν αποφάσισα να γράψω το παραπάνω έργο έπρεπε να απαντήσω στην

ερώτηση, ποια συμβολική γλώσσα μηχανής να χρησιμοποιήσω; Αν επέλεγα τη γλώσσα μίας συγκεκριμένης μηχανής Χ , τότε οι άνθρωποι που δεν χρησιμοποιούσαν την μηχανή Χ , θα υπέθεταν ότι το έργο μου απευθύνεται μόνο σε αυτούς που την χρησιμοποιούν. Επί πλέον η μηχανή Χ θα είχε ένα σωρό ιδιαιτερότητες που δεν θα αφορούσαν τον σκοπό του βιβλίου μου. Επίσης σε δύο χρόνια ο κατασκευαστής της μηχανής Χ θα παρουσίαζε την μηχανή Χ+1 ή τη μηχανή 10Χ , και κανένας ποια δεν θα ενδιαφερόταν για τη μηχανή Χ."

Page 5: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

5

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

ΣΣ

r X

r A (31 bits)

r I1 (13 bits)

ΣΤ

PC (12 bits)

IR (31 bits)

MAR(12 bits)

MDR (31 bits)

r I2

r I3

r I4

rI5

r I6

r J (12 bits)

Μονάδες Εισόδου/εξόδουΧαμηλής ΤαχύτηταςCharacter Devices

80 Char.(input)120 Char. (Output)

και Υψηλής Ταχύτητας

Block DevicesBlock = 400 words

ΜονάδαΕλέγχου

Κυρία Μνήμη

Διευθύνσεις :0000 - 3999 θέσεις

Μηκός θέσης: 31 bits

Αριθμητική καιλογική Μονάδα

Ο Υπολογιστής ΜΙΧ

Page 6: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

6

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Δομές δεδομένων του ΜΙΧ

+/- Μέγεθος

0 1 30

0 1 2 3 4 5 Bytes

0 1 6 7 12 13 18 19 24 25 30 Bits

Θέση μνήμης

0 30

+-

E F1 F2 F3 F4

0 1 6 7 12 13 18 19 24 25 30 Bits

Ακέραιος

Πραγματικός

Χαρακτήρες

Page 7: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

7

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Σύστημα κωδικοποίησης χαρακτήρων

Χαρ ΜΙΧ Χαρ ΜΙΧ Χαρ ΜΙΧ Χαρ ΜΙΧ Χαρ ΜΙΧ

SP 00 Μ 16 Υ 34 ( 52 Γ 70

A 01 N 17 Z 35 ) 53 Δ 71

Β 02 O 20 0 36 + 54 Λ 72

C 03 P 21 1 37 - 55 Ξ 73

D 04 Q 22 2 40 * 56 Σ 74

E 05 R 23 3 41 / 57 Ψ 75

F 06 Φ 24 4 42 = 60 Ω 76

G 07 Π 25 5 43 $ 61 77

H 10 S 26 6 44 < 62

I 11 T 27 7 45 > 63

Θ 12 U 30 8 46 @ 64

J 13 V 31 9 47 ; 65

K 14 W 32 . 50 : 66

L 15 X 33 , 51 ‘ 67

Page 8: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

8

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Καταχωρητές - Σηματοδότες

Καταχωρητές συστήματος Καταχωρητής διευθύνσεων μνήμης (Memory Address Register)

(MAR) Καταχωρητής αποθήκευσης δεδομένων (Memory Data Register)

(MDR) Απαριθμητής εντολών (Program Counter) (PC) Καταχωρητής εντολών (Instruction Register) (IR)

Καταχωρητές εργασίας Συσσωρευτής (Accumulator) (rΑ) Καταχωρητής επέκτασης (Extension Register). (rΧ) Καταχωρητές δεικτών (Ιndex registers) (rΙ1, rΙ2, rΙ3, rΙ4, rΙ5, rΙ6) Καταxωρητής αλλαγής ροής) (Jump register) (rJ)

Σηματοδότες κατάστασης Σηματοδότης σύγκρισης (Comparison flag) Σηματοδότης υπερπλήρωσης (overflow flag)

Page 9: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

9

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Δομή εντολής γλώσσας μηχανής

m I F C

(0:2) (3:3) (4:4) (5:5)

Διεύθυνση παράγοντα ή Παράγοντας εντολήςΚωδικόςΕντολής

m Αρχική διεύθυνσηΙ Πεδίο δείκτηF Πεδίο τριπλής ενέργειας Μερικό πεδίο

Κωδικός μονάδας Ι/Ο Συμπληρωματικός

κωδικόςC κωδικός εντολής

Page 10: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

10

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Σύμβολο C F

NOP 00 00 ADD 01 L:R FADD 01 06 SUB 02 L:R FSUB 02 06 MUL 03 L:R FMUL 03 06 DIV 04 L:R FDIV 04 06 NUM 05 00 CHAR 05 01 HLT 05 02 AND 05 03 ORR 05 04 XOR 05 05 FLOT 05 06 SLA 06 00 SRA 06 01 SLAX 06 02 SRAX 06 03 SLC 06 04 SRC 06 05 SLB 06 06 SRB 06 07

Σύμβολο C F

MOVE 07 N

LDA 10 L:R LD1 11 L:R LD2 12 L:R LD3 13 L:R LD4 14 L:R LD5 15 L:R LD6 16 L:R LDX 17 L:R

JBUS 42 N IOC 43 N IN 44 N

JRED 46 N

JMP 47 00 JSJ 47 01 JOV 47 02 JNOV 47 03JL 47 04JE 47 05 JG 47 06 JGE 47 07 JNE 47 10

Σύμβολο C F

LDAN 20 L:R LD1N 21 L:R LD2N 22 L:R LD3N 23 L:R LD4N 24 L:R LD5N 25 L:R LD6N 26 L:R LDXN 27 L:R STA 30 L:R ST1 31 L:R ST2 32 L:R ST3 33 L:R ST4 34 L:R ST5 35 L:R ST6 36 L:R STX 37 L:R STJ 40 L:R STZ 41 L:R

Page 11: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

11

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Δομή συμβολικής εντολής γλώσσας μηχανής

ΟΡCODE ADDRESS, I(F)

LDA +1024,3(4:5) Σύμβολα-Δεκαδικό

0 2000 03 45 10 Οκταδικό

0 010 000 000 000 000 011 100 101 001 000 Δυαδικό

Page 12: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

12

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Παράδειγμα αντιστοιχίας συμβολικής και γλώσσας μηχανής

Συμβολική Περιγραφή Κωδικοποιημένη περιγραφή

opcode address,I(L:R) m I F C

LDA 1024,3(4:5) 0 20 00 03 45 10 LDA 1024(1:3) 0 20 00 00 13 10 LDA 1024,2(1:3) 0 20 00 02 13 10 LDA 1024 0 20 00 00 05 10 LDA -1024,4 1 20 00 04 05 10 IN 1024(16) 0 20 00 00 20 45 HLT 0 00 00 00 02 05

Page 13: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

13

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Βασικό σύνολο εντολών/1

Εντολές φόρτωσης καταχωρητών (Loading instructions)

LDA, LD1, LD2, LD3, LD4, LD5, LD6, LDX LDAN, LD1N, LD2N, LD3N, LD4N, LD5N, LD6N, LDXN

Εντολές αποθήκευσης (Storing Instructions)

STA, ST1, ST2, ST3, ST4, ST5, ST6, STX ,STJ,STZ

Αριθμητικές εντολές (Arithmetic Instructions)

ADD, SUB, MUL, DIV FADD, FSUB, FMUL, FDIV

Εντολές Σύγκρισης (comparison operators)

CMPA, CMP1, CMP2, CMP3, CMP4, CMP5, CMP6, CMPX

Page 14: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

14

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Βασικό σύνολο εντολών/2

Εντολές αλλαγής ροής (Jump instructions)

JAN, JAZ, JAP, JANN, JANZ, JANP J1N, J1Z, J1P, J1NN, J1NZ, J1NP J2N, J2Z, J2P, J2NN, J2NZ, J2NP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . J6N, J6Z, J6P, J6NN, J6NZ, J6NP JXN, JXZ, JXP, JXNN, JXNZ, JXNP JMP

Εντολές αλλαγής ροής (Jump instructions) σε συνδυασμό με εντολές Compare

JL, JE, JG, JGE, GNE, JLE

Page 15: Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης

15

Οργάνωση και Αρχιτεκτονική ΥπολογιστώνA. Βαφειάδης

Βασικό σύνολο εντολών/3

Εντολές αμέσου ενέργειας (no memory access)

ENTA, ENT1, ENT2, . . . . ENT6, ENTX ENNA, ENN1, ENN2, . . . . ENN6, ENNX DECA, DEC1, DEC2, . . . .. DEC6, DECX INCA, INC1, INC2, . . . ….INC6, INCX

Εντολές εισόδου εξόδου (I/O instructions) JBUS, IOC, IN, OUT, JRED

Εντολές μετατόπισης (Shift Instructions) SLA, SRA, SLAX, SRAX, SLC, SRC

Δυαδικές Εντολές AND, OR , XOR, SLB, SRB, JAE, JAO, JXE, JXO

Διάφορες εντολές NUM, CHAR, HLT, MOVE, NOP