1 / 20

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

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

quana
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Διαδικασία Σύνταξης σε γλώσσα μηχανής • Το πρόβλημα Διάβασε από μια εγγραφή εισόδου μήκους 80 χαρακτήρων δύο θετικούς ακέραιους αριθμούς Κ και L που είναι τοποθετημένοι στα πεδία 1-10 και 11-20 αντίστοιχα. Οι αριθμοί μέσα στα πεδία είναι δεξιά προσανατολισμένοι. Να βρεθεί ο μεγαλύτερος από αυτούς και να τυπωθεί στον εκτυπωτή στις στήλες 1-10 μιας γραμμής μήκους 120 χαρακτήρων». • Οι αλγόριθμοι Β1: Διάβασε τους δύο αριθμούς. Β2: Βρες τον μεγαλύτερο. Β3: Τύπωσε το αποτέλεσμα. Β4: Σταμάτησε το πρόγραμμα. Β1: READ (5,1) K,L 1 FORMAT (2I10) B2: IF (L.LT.K) L=K B3: WRITE (6,2) L 2 FORMAT (1H5,I9) B4: STOP

  3. Ο χάρτης μνήμης

  4. Μέρος Α - εισαγωγή δεδομένων 0041 Άρχισε την διαδικασία ανάγνωσης λέγοντας στην μονάδα εισόδου να μεταφέρει μια εγγραφή εισόδου (80 χαρακτήρες) στις διευθύνσεις 0000-0015 (IN) 0042 Περίμενε το τέλος της ανάγνωσης (JBUS) α) Χρήση της εντολής JBUS Τ1 ΙΝ Τ2 JBUS Τ3 NUM Τ4 ALU T1 Τ2 Εκτέλεση ΙΝ Τ3 T4 Ι/Ο β) Χωρίς χρήση της εντολής JBUS Τ1 ΙΝΤ2 NUM T4 ALU T1 Τ2 Εκτέλεση ΙΝ Τ3 Ι/Ο

  5. Εικόνα δεδομένων πριν και μετά Πριν Μετά

  6. Λειτουργία εντολής ΝUM

  7. Λειτουργία της εντολής CHAR

  8. Ψευτοκώδικας 0041 Άρχισε την διαδικασία ανάγνωσης λέγοντας στην μονάδα εισόδου να μεταφέρει μια εγγραφή εισόδου (80 χαρακτήρες) στις διευθύνσεις 0000-0015 (IN) 0042 Περίμενε το τέλος της ανάγνωσης (JBUS). 0043 Φόρτωσε το περιεχόμενο της θέσης 0000 στον rA (LDA). 0044 Φόρτωσε το περιεχόμενο της θέσης 0001 στον rX (LDX). 0045 Μετέτρεψε σε δυαδική μορφή τον πρώτο αριθμό (NUM). 0046 Αποθήκευσε το περιεχόμενο του rA στη διεύθυνση 0016 (STA). 0047 Φόρτωσε το περιεχόμενο της θέσης 0002 στον rA (LDA). 0048 Φόρτωσε το περιεχόμενο της θέσης 0003 στον rΧ (LDΧ). 0049 Μετέτρεψε σε δυαδική μορφή τον δεύτερο αριθμό (NUM). 0050 Αποθήκευσε το περιεχόμενο του rA στη διεύθυνση 0017 (STA). 0051 Φόρτωσε το περιεχόμενο της διεύθυνσης 0017 στον rA (LDA) 0052 Συνέκρινε το περιεχόμενο του rA με αυτό της θέσης 0016 (CMPA) 0053 Αν η τιμή του ΣΣ είναι EQUAL ή GREATER πήγαινε στην εντολή που βρίσκεται στη διεύθυνση 0056 (JGE).

  9. Ψευτοκώδικας (συνέχεια) 0054 Φόρτωσε το περιεχόμενο της θέσης 0016 στον rA (LDA). 0055 Μετέτρεψε το αποτέλεσμα που βρίσκεται στον rΑ σε χαρακτήρες(CHAR) 0056 Αποθήκευσε το περιεχόμενο του rA στη θέση 0018 ( τα πρώτα 5 bytes της εικόνας του αποτελέσματος) (STA). 0057 Αποθήκευσε το περιεχόμενο του rX στη θέση 0019 (τα επόμενα 5 bytes του αποτελέσματος) (STX). 0058 Άρχισε την διαδικασία εκτύπωσης λέγοντας τον εκτυπωτή να τυπώσει σε μια γραμμή του εκτυπωτή τις 24 θέσεις μνήμης που βρίσκονται στις διευθύνσεις 0018-0040 (OUT). 0059 Περίμενε το τέλος της εκτύπωσης (JBUS). 0060 Σταμάτησε το πρόγραμμα (HLT).

  10. Συμβολικός Πίνακας Συμβολικό όνομα Κωδικός F-πεδίο Σημασία F-πεδίου IN 44 20 μονάδα εισόδου JBUS 42 20 μονάδα εισόδου LDA 10 05 πεδίο (0:5) LDX 17 05 πεδίο (0:5) NUM 05 00 τροποποιητής STA 30 05 πεδίο (0:5) STΧ 37 05 πεδίο (0:5) CMPA 70 05 πεδίο (0:5) JGE 47 07 τροποποιητής CHAR 05 01 τροποποιητής OUT 45 22 μονάδα εξόδου JBUS 42 22 μονάδα εξόδου HLT 05 02 τροποποιητής

  11. Συμβολικός-εκτελέσιμος κώδικας(οκταδικό) (Διευθ.)8 m Ι F C Σύμβολα (Διευθ.)10 0052 +0000 00 20 44 ΙΝ 0(16) 0042 0053 +0053 00 20 42 JBUS 43(16) 0043 0054 +0000 00 05 10 LDA 0 0044 0055 +0001 00 05 17 LDX 1 0045 0056 +0000 00 00 05 NUM 0046 0057 +0020 00 05 30 STA 16 0047 0060 +0002 00 05 10 LDA 2 0048 0061 +0003 00 05 17 LDX 3 0049 0062 +0000 00 00 05 NUM 0050 0063 +0021 00 05 30 STA 17 0051 0064 +0021 00 05 10 LDA 17 0052 0065 +0020 00 05 70 CMPA 16 0053 0066 +0070 00 07 47 JGE 56 0054 0067 +0020 00 05 10 LDA 16 0055 0070 +0000 00 01 05 CHAR 0056 0071 +0022 00 05 30 STA 18 0057 0072 +0023 00 05 37 STX 19 0058 0073 +0022 00 22 45 OUT 18(18) 0059 0074 +0074 00 22 42 JBUS 60(18) 0060 0075 +0000 00 02 05 HLT 0061

  12. Τελικός κώδικας σε γλώσσα μηχανής Διεύθυνση Εντολή σε γλώσσα μηχανής 0052 0 000000000000 000000 010000 100100 0053 0 000000101011 000000 010000 100010 0054 0 000000000000 000000 000101 001000 0055 0 000000000001 000000 000101 001111 0056 0 000000000000 000000 000000 000101 0057 0 000000010000 000000 000101 011000 0060 0 000000000010 000000 000101 001000 0061 0 000000000011 000000 000101 001111 0062 0 000000000000 000000 000000 000101 0063 0 000000010001 000000 000101 000101 0064 0 000000010001 000000 000101 001000 0065 0 000000010000 000000 000101 111000 0066 0 000000111000 000000 000111 100111 0067 0 000000010000 000000 000101 001000 0070 0 000000000000 000000 000001 000101 0071 0 000000010001 000000 000101 011000 0072 0 000000010010 000000 000101 011111 0073 0 000000010001 000000 010010 100101 0074 0 000000111100 000000 010010 100010 0075 0 000000000000 000000 000010 000101

  13. Κύκλος Ανάκλησης-Εκτέλεσης εντολής Βήμα Ι Ανάκληση εντολής : Βήμα Ι.1. Το περιεχόμενο του PC αντιγράφεται στον ΜAR. Βήμα Ι.2. Η μνήμη εκτελεί ένα κύκλο μνήμης και φέρνει στον MDR το περιεχόμενο της θέσης μνήμης, της οποίας η διεύθυνση υπάρχει στον MAR, δηλαδή την εντολή. Βήμα ΙΙ Αποκωδικοποίηση εντολής : Βήμα ΙΙ.1. Αποκωδικοποίηση της εντολής από την μονάδα ελέγχου. Βήμα ΙΙ.2. Αύξηση κατά 1 του απαριθμητή εντολών (PC). Βήμα ΙΙΙ Εκτέλεση της εντολής : Εντολές στις οποίες ο παράγοντας λειτουργεί σαν δεδομένο. Βήμα ΙΙΙ.1. Η διεύθυνση του παράγοντα αποθηκεύεται στον MAR Βήμα ΙΙΙ.2. Κύκλος μνήμης (ανάγνωση). Βήμα ΙΙΙ.3. Παράγοντας στον MDR. Βήμα ΙΙΙ.4 Εκτέλεση της εντολής Εντολές στις οποίες ο παράγοντας λειτουργεί σαν αποτέλεσμα. Βήμα ΙΙΙ.1 Εκτέλεση της εντολής. Βήμα ΙΙΙ.2 H διεύθυνση του παράγοντα αποθηκεύεται στον MAR Bήμα ΙΙΙ.3 Το περιεχόμενο του παράγοντα αποθηκεύεται στον MDR Bήμα ΙΙΙ.4 Εκτελείται ο κύκλος μνήμης (εγγραφή). Εντολές που δεν έχουν παράγοντα ή έχουν σταθερά. Βήμα ΙΙΙ.1 Εκτέλεση της εντολής χωρίς αναφορά στη μνήμη

  14. Υπολογισμός της τελικής διεύθυνσης • Άμεσος υπολογισμός (Direct Addressing). Κωδικός I = 00 • Υπολογισμός με καταχωρητών δείκτη (indexing). Κωδικός I = 01, 02, 03, 04, 05, 06 • Έμμεσος υπολογισμός (Indirect Addressing). Κωδικός I = 07

  15. Άμεσος Υπολογισμός (Direct addressing) m I F C V +0027 00 05 10 0027 +0325 00 15 10 0325 +0020 00 07 47 0020

  16. Υπολογισμός με δείκτη (Indexing) Ι1= +0500 Ι2= -0263 I3= +0020 I4= +0666 mIFCV Μέθοδος +0035 03 05 01 0055 με rI3 +0264 02 15 01 0001 rI2 +0025 01 05 01 0525 rI1 -0002 04 15 01 0664 rI4

  17. Έμμεσος Υπολογισμός (Indirection) (0:2) V = MEM[m](0:2)

  18. Παραδείγματα έμμεσου υπολογισμού

  19. Σύνθετος υπολογισμός της τελικής διεύθυνσης • (a=0,b=0) Άμεσοςυπολογισμός (direct addressing). • (a=0,b=i) Υπολογισμός με ενός δείκτη (single indexing). • (a=j,b=i) Yπολογισμός με δύο δεικτών (double indexing). • (a=0,b=7) Έμμεσος υπολογισμός (indirection). • (a=i,b=7) Yπολογισμός με δείκτη και μετά έμμεσος υπολογισμός (preindexed indirection). • (a=7,b=i) Έμμεσος υπολογισμός και μετά υπολογισμός με δείκτη (postindexed inderection).

  20. Σύνθετος υπολογισμός της τελικής διεύθυνσης Απλοί μέθοδοι υπολογισμού Με δύο δείκτες Δείκτης – Έμμεσος Έμμεσος – Δείκτης Άχρηστος κωδικός

More Related