Μικροπρογραμματιζόμενη Λογική
description
Transcript of Μικροπρογραμματιζόμενη Λογική
Μικροπρογραμματιζόμενη Λογική
Μειονεκτήματα καλωδιωμένης λογικής (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 καθορίζει ποιος καταχωρητής θα δεχθεί το αποτέλεσμα
mk 2logΓια m καταχωρητές, το μήκος των ε1, ε2, ε4 είναι
Tο μήκος του ε3 είναι: p2log Όπου p ο αριθμός των πράξεων
Για να περιγραφεί μία μικρολειτουργία του τμήματος επεξεργασίας απαιτούνται pmq 22 loglog3 δυαδικά ψηφία
Μικροπρογραμματιζόμενη ΛογικήΈνα πλήθος q τέτοιων δυαδικών ψηφίων της μορφής ε1 ε2 ε3 ε4 ονομάζεται λέξη ελέγχου (control word).
Μία ακολουθία από λέξεις ελέγχου καθορίζει μία σύνθετη λειτουργία της ΚΜΕ και μπορεί να αντιστοιχεί σε μία εντολή γλώσσας μηχανής
Εάν οι λέξεις ελέγχου αποθηκευθούν σε μία γρήγορη μνήμη της ΚΜΕ (μνήμη ελέγχου), τότε μπορούν να ανακαλούνται με σειρά από τη μνήμη ελέγχου και να ενεργοποιούν τις επι μέρους μονάδες της ΚΜΕ. Αυτή είναι η βασική φιλοσοφία της μικροπρογραμματιζόμενης λογικής
Το κάθε δυαδικό ψηφίο της λέξης ελέγχου αντιστοιχεί σε ένα σήμα ελέγχου που μπορεί να ενεργοποιήσει μία στοιχειώδη λειτουργία
Στην περίπτωση μικροπρογραμματιζόμενης ΚΜΕ οι λέξεις ελέγχου που ανακαλούνται και εκτελούνται διαδοχικά ονομάζονται και μικροεντολέςμικροεντολές
Μικροπρογραμματιζόμενη ΛογικήΣε κάθε εντολή γλώσσας μηχανής αντιστοιχεί και μία ακολουθία μικροεντολών
Ο καταχωρητής μικροεντολών (MIR) δέχεται την ανακαλούμενη από τη μνήμη ελέγχου μικροεντολή
Το περιεχόμενο του μετρητή μικροπρογράμματος (MPC) καθορίζει τη θέση στη μνήμη ελέγχου της επόμενης προς εκτέλεση μικροεντολής
Αν σε μία μικροεντολή καθορίζονται διάφορες μικρολειτουργίες αυτές υποτίθεται ότι μπορούν να εκτελεστούν παράλληλα
Κατακόρυφη μικροεντολή: η μικροεντολή καθορίζει μία μόνο μικρολειτουργία
Οριζόντια μικροεντολή: η μικροεντολή καθορίζει πολλές μικρολειτουργίες
Μορφή Μικροεντολών
Πεδίο ελέγχου 1
m1
Αποκωδ. 1
2 m1
Πεδίο ελέγχου 2
m2
Αποκωδ. 2
2 m2
Πεδίο ελέγχου k
mk
Αποκωδ. k
2 mk
Πεδίο Εντολής ελέγχου
Πεδίο Συνθήκης
Πεδίο επόμενης
διεύθυνσης
Μικρολειτουργίες που αντιστοιχούν στο ίδιο πεδίο της μικροεντολής δεν μπορούν να εκτελεσθούν ταυτοχρόνως
Σχεδίαση TRN με μικρο/μενη ΚΜΕ
ΜΝΗΜΗ ΕΛΕΓΧΟΥ
Συνεχιστήςμικροπρογράμματος
MIR
ΑΠ
ΟΚ
ΩΔ
ΙΚΟ
ΠΟ
ΙΗΤ
ΕΣ
Σήματακατάστασης
από τηνμονάδα
επεξεργασίας
Σήματαελέγχουπρος τηνμονάδα
επεξεργασίας
Σχεδίαση TRN με μικρο/μενη ΚΜΕ
1. ARPC TPCAR Π1 00001
2. Read READ Π1 00010
3. PCPC+1 INCPC Π2 001
4. IRBR TBRIR Π1 00011
5. ARBR(AP) TBRAR Π2 010
6. ARIR(AP)+I ADDIRIAR Π1 00100
7. ABR TBRA Π1 00101
8. XBR TBRX Π1 00110
9. IBR(AP) TBRI Π1 00111
Σχεδίαση TRN με μικρο/μενη ΚΜΕ
• Η μορφή της μικροεντολής προκύπτει από την εξέταση όλων των μικρολειτουργιών του TRN
• Οι μικρολειτουργίες που αφορούν τον μετρητή ακολουθίας (SC) και τον καταχωρητή κύκλων F δεν χρειάζονται
• Από την ανάλυση προκύπτει ότι τρεις κατά μέγιστον μικρολειτουργίες πρέπει να μπορούν να εκτελεστούν ταυτόχρονα. Επομένως η εντολής αποτελείται από τρία πεδία ελέγχου
ΠεδίοΕντολής Ελέγχου
ΠεδίοΣυνθήκης
ΠεδίοΕπόμενης διεύθυνσης
ΠεδίοΕλέγχου 1
ΠεδίοΕλέγχου 2
ΠεδίοΕλέγχου 3
ΠροςΣυνεχιστή
Προς μονάδαεπεξεργασίας
5 bits 3 bits 1 bit
Πεδίο εντολής ελέγχου• Το πεδίο εντολής ελέγχου έχει μήκος 2 bits :
Πεδ. εντολής ελέγχου λ1λ2
Μνημονικό όνομα Λειτουργία
00 JMP(JuMP)
MPC Περιεχόμενο πεδίου επόμενης διεύθυνσης, εάν η συνθήκη είναι αληθής (1).
MPC MPC+1, εάν η συνθήκη που περιγράφεται στο πεδίο συνθήκης είναι ψευδής (0).
01 JSR(Jump to
SubRoutine)
Q MPC+1, εάν η συνθήκη που περιγράφεται στο πεδίο συνθήκης είναι αληθής (1).
MPC Περιεχόμενο πεδίου επόμενης διεύθυνσης, εάν η συνθήκη είναι αληθής (1).
MPC MPC+1, εάν η συνθήκη που περιγράφεται στο πεδίο συνθήκης είναι ψευδής (0).
10 JIQ MPC Q
(Jump Indirect on Q)
11 JIR MPC(2,6) IR(15,19)
(Jump indirect on IR) MPC(0,1) 00
Πεδίο συνθήκης• Το πεδίο συνθήκης έχει μήκος 3 bits :
Περιεχόμενο πεδίου συνθήκης
Μνημονικό όνομα
Συνθήκη
000 U Χωρίς συνθήκη
001 E ¨Εμμεση προσπέλαση
010 D Προσπέλαση με δεικτοδότηση
011 Z A=0
100 V Υπερχείλιση
101 S A<0
110 R IR(12)=1 δηλ. IR(0,12)<0
111 IG I>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
000 FETCH: JMP(U ,CONT ),TPCAR AP PC
001 JMP(U ,CONT ),READ ,INCRPC ανάγνωση από την μνήμη; PC PC+1
002 JIR(U ,FETCH ),TBRIR ,TBRAR IR BR; AR BR(AP)
003 JMP(U ,FETCH ),NOP
004 LDA: JSR(D ,INDEX ) άλμα στην ρουτίνα δεικτοδοτημένης αναφοράς
005 JSR(E ,INDRCT) άλμα στην ρουτίνα έμμεσης αναφοράς
006 JMP(U ,CONT ),READ ανάγνωση από την μνήμη
007 JMP(U ,FETCH ),TBRA A BR
12 ... E D 120 ... 0
Z V S
Συνδυαστικόκύκλωμα
B
MUX
Αύξησηκατά "1"
MPC
Μνήμηελέγχου
Q
Πεδία ελέγχουΠ1, Π2, Π3
λ1 λ0Πεδίο εντολής
ελέγχου
Πεδίοσυνθήκης
Πεδίοεπόμενης
διεύθυνσης
Αποκωδικοποιητές
Σήματα ελέγχου προς μονάδα επεξεργασίας
I IR
M1
M0
C
IR(12)
IG
0 0
0123
1
0