Μικροπρογραμματιζόμενη Λογική Μειονεκτήματα καλωδιωμένης λογικής (hardwired logic): Πολυπλοκότητα συνδυαστικού κυκλώματος ΜΕ Αδυναμία αλλαγής των εντολών της γλώσσας μηχανής Wilkes, 1951: Μικροπρογραμματιζόμενη Λογική (microprogrammed logic) Παρένθεση: Αρχιτεκτονική πολλών καταχωρητών Ο TRN είναι κλασσικό παράδειγμα υπολογιστή του ενός καταχωρητή – συσσωρευτή Για να γίνει οποιαδήποτε πράξη, πρέπει πρώτα να μετακινηθούν πληροφορίες από την κεντρική μνήμη στον ACC και στη συνέχεια τα αποτελέσματα να αποθηκευθούν πάλι στη μνήμη
Αρχιτεκτονική Πολλών Καταχωρ. Αν υπήρχαν πολλοί καταχωρητές θα μπορούσαν να χρησιμοποιηθούν πολλά ορίσματα σε μία εντολή: ADD R1, R2, R3 A1 Am ALU ΜUX XjΜUX Yj X Y Αποπλέκτης Ζ ε3 ε1 ε2 ε4
Αρχιτεκτονική Πολλών Καταχωρ. To σήμα ε1 καθορίζει ποιος καταχωρητής θα συνδεθεί με το διάδρομο Χ Το σήμα ε2 καθορίζει ποιος καταχωρητής θα συνδεθεί με το διάδρομο Υ Το σήμα ε3 καθορίζει ποια πράξη θα εκτελεστεί Το σήμα ε4 καθορίζει ποιος καταχωρητής θα δεχθεί το αποτέλεσμα Για m καταχωρητές, το μήκος των ε1, ε2, ε4 είναι Tο μήκος του ε3 είναι: Όπου p ο αριθμός των πράξεων Για να περιγραφεί μία μικρολειτουργία του τμήματος επεξεργασίας απαιτούνται δυαδικά ψηφία
Μικροπρογραμματιζόμενη Λογική Ένα πλήθος q τέτοιων δυαδικών ψηφίων της μορφής ε1 ε2 ε3 ε4 ονομάζεται λέξη ελέγχου (control word). Μία ακολουθία από λέξεις ελέγχου καθορίζει μία σύνθετη λειτουργία της ΚΜΕ και μπορεί να αντιστοιχεί σε μία εντολή γλώσσας μηχανής Εάν οι λέξεις ελέγχου αποθηκευθούν σε μία γρήγορη μνήμη της ΚΜΕ (μνήμη ελέγχου), τότε μπορούν να ανακαλούνται με σειρά από τη μνήμη ελέγχου και να ενεργοποιούν τις επι μέρους μονάδες της ΚΜΕ. Αυτή είναι η βασική φιλοσοφία της μικροπρογραμματιζόμενης λογικής Το κάθε δυαδικό ψηφίο της λέξης ελέγχου αντιστοιχεί σε ένα σήμα ελέγχου που μπορεί να ενεργοποιήσει μία στοιχειώδη λειτουργία μικροεντολές Στην περίπτωση μικροπρογραμματιζόμενης ΚΜΕ οι λέξεις ελέγχου που ανακαλούνται και εκτελούνται διαδοχικά ονομάζονται και μικροεντολές
Μικροπρογραμματιζόμενη Λογική Σε κάθε εντολή γλώσσας μηχανής αντιστοιχεί και μία ακολουθία μικροεντολών Ο καταχωρητής μικροεντολών (MIR) δέχεται την ανακαλούμενη από τη μνήμη ελέγχου μικροεντολή Το περιεχόμενο του μετρητή μικροπρογράμματος (MPC) καθορίζει τη θέση στη μνήμη ελέγχου της επόμενης προς εκτέλεση μικροεντολής Αν σε μία μικροεντολή καθορίζονται διάφορες μικρολειτουργίες αυτές υποτίθεται ότι μπορούν να εκτελεστούν παράλληλα Κατακόρυφη μικροεντολή: η μικροεντολή καθορίζει μία μόνο μικρολειτουργία Οριζόντια μικροεντολή: η μικροεντολή καθορίζει πολλές μικρολειτουργίες
Μορφή Μικροεντολών Πεδίο ελέγχου 1 m1 Αποκωδ. 1 2 m1 Πεδίο ελέγχου 2 m2m2 Αποκωδ. 2 2 m2m2 Πεδίο ελέγχου k mk Αποκωδ. k 2 mk Πεδίο Εντολής ελέγχου Πεδίο Συνθήκης Πεδίο επόμενης διεύθυνσης Μικρολειτουργίες που αντιστοιχούν στο ίδιο πεδίο της μικροεντολής δεν μπορούν να εκτελεσθούν ταυτοχρόνως
Σχεδίαση TRN με μικρο/μενη ΚΜΕ
1. AR PC TPCARΠ1Π ReadREADΠ1Π PC PC+1 INCPCΠ2Π IR BR TBRIRΠ1Π AR BR(AP) TBRARΠ2Π AR IR(AP)+I ADDIRIARΠ1Π A BR TBRAΠ1Π X BR TBRXΠ1Π I BR(AP) TBRIΠ1Π100111
Σχεδίαση TRN με μικρο/μενη ΚΜΕ Η μορφή της μικροεντολής προκύπτει από την εξέταση όλων των μικρολειτουργιών του TRN Οι μικρολειτουργίες που αφορούν τον μετρητή ακολουθίας (SC) και τον καταχωρητή κύκλων F δεν χρειάζονται Από την ανάλυση προκύπτει ότι τρεις κατά μέγιστον μικρολειτουργίες πρέπει να μπορούν να εκτελεστούν ταυτόχρονα. Επομένως η εντολής αποτελείται από τρία πεδία ελέγχου
Πεδίο εντολής ελέγχου Το πεδίο εντολής ελέγχου έχει μήκος 2 bits : Πεδ. εντολής ελέγχου λ 1 λ 2 Μνημονικό όνομαΛειτουργία 00JMP (JuMP) MPC Περιεχόμενο πεδίου επόμενης διεύθυνσης, εάν η συνθήκη είναι αληθής (1). MPC MPC+1, εάν η συνθήκη που περιγράφεται στο πεδίο συνθήκης είναι ψευδής (0). 01JSR (Jump to SubRoutine) QQ MPC+1, εάν η συνθήκη που περιγράφεται στο πεδίο συνθήκης είναι αληθής (1). MPC Περιεχόμενο πεδίου επόμενης διεύθυνσης, εάν η συνθήκη είναι αληθής (1). MPC MPC+1, εάν η συνθήκη που περιγράφεται στο πεδίο συνθήκης είναι ψευδής (0). 10JIQ MPC Q (Jump Indirect on Q) 11JIR MPC(2,6) IR(15,19) (Jump indirect on IR) MPC(0,1) 00
Πεδίο συνθήκης Το πεδίο συνθήκης έχει μήκος 3 bits : Περιεχόμενο πεδίου συνθήκης Μνημονικό όνομα Συνθήκη 000UΧωρίς συνθήκη 001E¨Εμμεση προσπέλαση 010DΠροσπέλαση με δεικτοδότηση 011ZA=0 100VΥπερχείλιση 101SA<0 110RIR(12)=1 δηλ. IR(0,12)<0 111IGI>0
Πεδίο επόμενης διεύθυνσης Περιέχει τη διεύθυνση της επόμενης μικροεντολής που θα εκτελεστεί, εφόσον πληρείται η συνθήκη του πεδίου συνθήκης. Αλλιώς, εκτελείται η μικροεντολή που βρίσκεται στην επόμενη θέση της μνήμης ελέγχου Όταν το μικροπρόγραμμα είναι γραμμένο σε συμβολική γλώσσα, τότε στο πεδίο της επόμενης διεύθυνσης υπάρχει το μνημονικό όνομα CONT που σημαίνει «συνέχισε με την επόμενη εντολή»
Μικρορουτίνες εντολών label: op (cond, address) μ1, μ2, μ3 * σχόλια label:επιγραφή της εντολής op:λειτουργία της εντολής (JMP, JSR, JIQ, JIR) cond:συνθήκη που πρέπει να ισχύει για να εκτελεσθεί η εντολή ελέγχου address: επόμενη διεύθυνση του μικροπρογράμματος μ1, μ2, μ3: μικρολειτουργίες της μικροεντολής Π.χ. TAG: JMP (S, FETCH), ΤΒRPC Εκτέλεση της μικρολειτουργίας TBRPC. Η επόμενη μικροεντολή που θα εκτελεστεί είναι στη θέση FETCH (αν A<0), αλλιώς στη θέση TAG+1
Μικρορουτίνες εντολών ΤRN