Adresse Daten. Hauptspeicher. Ausgang OE MAP. RAM i

Größe: px
Ab Seite anzeigen:

Download "Adresse Daten. Hauptspeicher. Ausgang OE MAP. RAM i"

Transkript

1 . Bereich II: Mikroprogrammierung 6 Bereich II: Mikroprogrammierung Wolfgang Karl, Roland Wismuller. Aufbau des mikroprogrammierbaren TGI-Rechners In der Vorlesung Technische Grundlagen der Informatik, in den Ubungen hierzu und im Praktikum wird das Konzept der Mikroprogrammierung am Beispiel eines mikroprogrammierbaren Rechners demonstriert. Im folgenden wird dieser mikroprogrammierbare Beispielrechner eingefuhrt, wobei die Beschreibung nur auf dessen wesentliche Komponenten und deren Funktionsweise eingeht und auf eine detaillierte arstellung der Einfachheit wegen verzichtet wird. er mikroprogrammierte Rechner besteht entsprechend dem von Neumann'schen Konzept aus einem Leitwerk zur Generierung der Steuersignale fur die einzelnen Komponenten des Rechners, einem Rechenwerk zur Verarbeitung von 6-Bit Integer-aten, einem Speicherwerk mit einem 6K 6 Bit groen Hauptspeicher und einem Ein-/Ausgabewerk, uber das die Kommunikation mit dem PC erfolgt. ie einzelnen Werke sind uber einen 6 Bit breiten atenbus und einen 6 Bit breiten Adrebus miteinander verbunden. as Leitwerk enthalt einen K 8 Bit groen Mikroprogrammspeicher (MPS), in dem die Mikroprogramme abgelegt sind. Ein Mikroprogramm besteht aus einer Folge von Mikroinstruktionen. In jedem Taktzyklus wird eine Mikroinstruktion ausgewahlt und alle in ihr zusammengefaten Mikrooperationen werden gleichzeitig zur Ausfuhrung angestoen. ie Auswahl der im nachsten Taktzyklus auszufuhrenden Mikroinstruktion erfolgt durch das Mikroleitwerk (MLW), das in jedem Taktzyklus eine 8-Bit breite Speicherzelle des Mikroprogrammspeichers adressiert. Jedes Mikroprogramm kann einen Maschinenbefehl einer virtuellen ielmaschine implementieren. iese virtuelle ielmaschine ist durch die Menge der durch Mikroprogramme implementierten Maschinenbefehle und das vereinbarte Programmiermodell deniert. ie Programme, die mit den Maschinenbefehlen der ielmaschine geschrieben werden konnen, stehen zusammen mit den zu verarbeitenden aten im Hauptspeicher. as Rechenwerk besteht aus einer Verarbeitungseinheit (der arithmetischen und logischen Einheit, ALU), die arithmetische und logische Operationen auf 6-Bit breiten Operanden ausfuhrt, die von einer Registerdatei kommen konnen oder vom atenbus ubernommen werden. aruberhinaus konnen Schiebeoperationen ausgefuhrt werden. Mit Hilfe der mikroprogrammierbaren Maschine soll zum einen das Konzept bzw. die Technik der Mikroprogrammierung demonstriert werden, zum anderen konnen die in einem Rechner ablaufenden Vorgange bei der Abarbeitung eines Maschinenprogramms vermittelt werden. In Abbildung. ist die mikroprogrammierbare Maschine dargestellt, wobei zusatzlich angezeigt ist, aus welchen Feldern des Mikroinstruktionsregisters die einzelnen Komponenten des mikroprogrammierbaren Rechners gesteuert werden. (er Ubersichtlichkeit wegen ist das Unterbrechungswerk und das Ein-/Ausgabewerk nicht dargestellt.) ie Bausteine, mit denen die einzelnen Werke aufgebaut sind, werden im folgenden vereinfacht beschrieben. Fur eine genaue Beschreibung der Funktionsweise der Bausteine der Familie Am29 sei auf die atenblatter verwiesen... as Leitwerk as Leitwerk ist aus dem Sequencer{Baustein Am29 (Mikroleitwerk) und dem Mikroprogrammspeicher mit dem Mikroinstruktionsregister aufgebaut. Weiterhin enthalt das Leitwerk einen 6 Bit breiten Befehlszahler (B) mit einem Inkrementierer und ein 6 Bit breites Instruktionsregister mit dem in Abbildung. dargestellten Format. er Inhalt des Befehlszahlers kann um inkrementiert werden und auf den Adre{ und/oder atenbus ausgegeben werden. aruberhinaus konnen aten vom atenbus in den Befehlszahler ubernommen werden. Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

2 Abbildung.: Blockschaltbild des mikroprogrammierbaren Beispielrechners 62.. Aufbau des mikroprogrammierbaren TGI-Rechners CCEN BSEL ASEL KMUX MPS I..2 C C n Y I..8 MWE Y I..3 I C, I Steuerung I N, I OVR F3, OVR C n+,f= CCEN CC CT Am29 Am29 CE μ Hauptspeicher Am29 CE M SIO i i RAM i Q i B A Adresse aten MAP Ausgang OE HS IR Befehls- Branch- Am29 Status/ MSR Am29 Am29 Y- RB RA Am29 MWE L zähler Address Befehle Test μ SR Shift CIN MUX AR AR Befehle (BAR) Konstante Mikroinstruktionsregister Mapping- PROM A-MUX B-MUX Adresse Y-MUX A B K-MUX Inkrementer Befehlszähler OP-Kode Registeradressen Instruktionsregister Adreßbus atenbus 75 Interrupt 79 Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

3 . Bereich II: Mikroprogrammierung Beschreibung des Sequencer{Bausteins Am29 er Sequencer-Baustein Am29 hat die Aufgabe, in einem Taktzyklus die Adresse fur die nachste auszufuhrende Mikroinstruktion zu generieren. amit auch mit Mikroprogrammen die von Maschinenprogrammen her bekannten Kontrollustrukturen (sequentieller Programmu, bedingte und unbedingte Sprunge sowie Schleifen) programmiert werden konnen enthalt der Sequencer{Baustein Am29 alle fur eine komplexe Adrebildung notwendigen Komponenten: den Adreinkrementierer fur die lineare Adrefortschaltung, den Adrekeller fur Rucksprungadressen von Mikro-Unterprogrammen oder fur Schleifenanfangsadressen, einen Schleifenzahler, den Folgeadremultiplexer fur die Auswahl der verschiedenen Adrequellen und eine Bedingungslogik fur bedingte Aktionen. aruber hinaus ist der Mikrobefehlszahler auf dem Baustein integriert. ie nachfolgende Beschreibung der Befehle beschrankt sich auf die zu Verstandnis der Funktionsweise des Bausteins notwendigen Informationen. Abbildung.2 zeigt das Blockschaltbild des Bausteins und in Tabelle. sind die moglichen Mikrooperationen zur Steuerung des Bausteins aufgefuhrt. Als zentrales Element fur die Auswahl der Folgeadresse arbeitet ein Folgeadremultiplexer, der genau eine von funf moglichen Adrequellen auswahlen kann: den Mikrobefehlszahler, den Rucksprungadrekeller, das multifunktionale ahlerregister, den am {Eingang anliegenden Adrewert oder die Konstante. er Folgeadremultiplexer wird durch die im Mikroinstruktionswort (Feld 8 { 2) stehende Mikrooperation sowie bei bedingten Befehlen durch die Bedingungslogik auf dem Baustein gesteuert. er Mikrobefehlszahler dient zur linearen Adrefortschaltung. ie vom Adremultiplexer ausgewahlte Adresse wird zum einen uber den Y{Ausgang an den Mikroprogrammspeicher gegeben und zum anderen in einem Inkrementierer um erhoht, womit eine mogliche Folgeadresse im Mikrobefehlszahler fur den nachsten yklus bereitsteht. er Inhalt des Mikrobefehlszahlers wird dann ausgewahlt, wenn im Mikroinstruktionswort (Feld 8 { 2) die Mikrooperation CONT (fur Continue) steht. er funf Stufen tiefe Rucksprungadrekeller wird fur das wischenspeichern von Rucksprungadressen bei (geschachtelten) Mikro-Unterprogrammen und von Anfangsadressen bei Mikroprogrammschleifen verwendet. er Rucksprungadrekeller wird uber einen Kellerzeiger verwaltet, welcher immer auf das letzte in den Keller geschriebene Wort verweist. ie zulassigen Operationen auf dem Keller sind PUSH und POP. Bei PUSH wird die im Mikrobefehlszahler bereitstehende Adresse als neues Kellerelement oben auf den Keller geschrieben. Bei POP wird das oberste Kellerelement entfernt und sein Inhalt erscheint am F{Eingang des Folgeadremultiplexers. as multifunktionale ahlerregister dient sowohl zur wischenspeicherung von Adressen als auch als Schleifenzahler. ieses Register wird uber den 2 Bit breiten {Eingang des Bausteins geladen. er am {Eingang anliegende Bus ist ein Tri{State{Bus, so da prinzipiell mehrere Quellen auf ihn geschaltet werden konnen. ie Standardquellen sind das irektdatenfeld (Branch{Address{Feld, BAR) des Mikroinstruktionsregisters oder ein Abbildungsspeicher (Mapping{PROM). Eine weitere Adrequelle, mit welcher der {Eingang beschaltet werden kann, ist typischerweise ein " Vector{Mapping{PROM\, das aus einem Unterbrechungseingangsregister eine Startadresse fur ein Mikroprogramm produziert, das die Unterbrechungsbehandlung dann durchfuhrt. (ie Komponenten zur Unterbrechungsbehandlung sind der Einfachheit wegen nicht im Blockschaltbild unseres Beispielrechners aufgefuhrt). ie Aktivierung einer dieser Quellen ubernimmt die bausteininterne Befehlsdekodierung. Wird die Folgeadresse aus dem irektdatenfeld des Mikroinstruktionsregisters ubernommen, so handelt es sich um einen expliziten Sprung (gegebenenfalls in Abhangigkeit einer Bedingung), da das Sprungziel als Absolutadresse in der laufenden Mikroinstruktion angegeben wird. Wenn die Folgeadresse vom " Mapping{PROM\ geliefert wird, ist es die Einsprungadresse in ein neues Mikroprogramm, dessen Startadresse uber die Abbildung im Mapping{PROM aus dem Operationskodeteil des Instruktionsregisters gebildet wird (ekodierphase des Makroinstruktionszyklus). Soll beispielsweise eine Mikroprogrammspeicheradresse, die als Sprungziel im BAR-Feld des Mikroinstruktionsregisters steht, ausgewahlt werden, mu im Mikroinstruktionswort (Feld 8 { 2) die Operation CJP (fur Conditional Jump Pipeline) stehen. ie fur die bedingte Adrefortschaltung notwendigen Statussignale werden vom Bedingungsmultiplexer des Bausteins Am29 (siehe Abschnitt..2.2) ausgewahlt und liegen am CC{Eingang des Bausteins Am29 an. ie Bedingungslogik pruft das am CC{Eingang anliegende Signal nur, wenn der Mikroprogrammierer im Mikroinstruktionswort (Feld 22) CCEN aktiv (d. h. =) setzt. Ansonsten werden die bedingten Operationen unbedingt ausgefuhrt. Es werden im nachfolgenden Text anstelle der weniger lesbaren Bitmuster die mnemotechnischen Namen verwendet. Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

4 6.. Aufbau des mikroprogrammierbaren TGI-Rechners i 2 CLOCK EKEREMENT/ HOL/LOA ählerregister Nulldetektor R= Kellerzeiger 5 Worte x 2 Bit Keller OUT IN F R F μpc Folgeadreßmultiplexer Mikrobefehlszähler μpc CC > SELECT CCEN I i Instruktions- PLA PUSH/POP HOL/CLEAR CLEAR/COUNT Inkrementer 2 PL MAP VECT Yi CCEN I3 I2 I I Am29 Branch Address Feld (BAR) Abbildung.2: Funktionsschaltbild des Mikroleitwerks (Sequencer) Am29 Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

5 . Bereich II: Mikroprogrammierung 65 ie 6 moglichen Adrefortschaltbefehle des Bausteins, die durch die Instruktionsbit I bis I 3 kodiert werden, sind in der Tabelle. beschrieben. ie in der Spalte " Mnemo\ angegebenen Namen sind fur die Operationen sinnvollerweise vereinbart worden. / FAIL PASS Reg. ) 2) / OE I 3{I MNEMO Name Inh. Y Keller Y Keller Reg. En. J Jump ero X clear clear hold PL CJS Cond JSB PL X PC hold push hold PL 2 JMAP Jump Map X hold hold hold MAP 3 CJP Cond Jump PL X PC hold hold hold PL PUSH Push/Cond Ld Cntr X PC push PC push 3) PL 5 JSRP Cond JSB R/PL X R push push hold PL 6 CJV Cond Jump Vector X PC hold hold hold VEC 7 JRP Cond Jump R/PL X R hold hold hold PL 8 RFCT Repeat Loop 6= F hold F hold dec PL CNTR 6= = PC pop PC pop hold PL 9 RPCT Repeat PL 6= hold hold dec PL CNTR 6= = PC hold PC hold hold PL CRTN Cond Rtn X PC hold F pop hold PL CJPP CJP & Pop X PC hold pop hold PL 2 LCT Ld Cntr & Cont X PC hold PC hold load PL 3 LOOP Test End Loop X F hold PC pop hold PL CONT Continue X PC hold PC hold hold PL 5 TWB 3{Way{Branch 6= F hold PC pop dec PL = pop PC pop hold PL ): CCEN = L and CC = H X: unerheblich, \on't Care" 2): CCEN = H or CC = L 3): if CCEN = L and CC = H, hold else load. Tabelle.: Adrefortschaltbefehle des Mikroleitwerks AM29 rei der hier aufgefuhrten Fortschaltbefehle hangen vom Inhalt des ahlerregisters ab, so da fur diese Befehle entsprechend den zwei Alternativen " =\und " 6=\ jeweils die unterschiedlichen Aktionen beschrieben sind. Fur zehn Sequencer{Befehle bestimmt das am CC{Eingang anliegende Signal die auszufuhrenden Aktionen. Wenn die Bedingung erfullt ist (PASS{Bedingung), werden die in der oppelspalte " PASS\ angegebenen Aktionen ausgefuhrt. Ist die Bedingung nicht erfullt (FAIL{Bedingung), gelten die in der oppelspalte " FAIL\ angefuhrten Aktionen. In der Y{Spalte wird jeweils die Quelle der vom Folgeadremultiplexer auszuwahlenden und am Y{Ausgang anliegenden Adresse angegeben. In der Spalte " Keller\ sind die jeweiligen Operationen auf dem Keller angegeben (CLEAR fur zurucksetzen, PUSH, POP und HOL fur " keine Aktion\). ie beiden letzten Spalten erklaren die Aktionen auf dem ahlerregister und das vom internen Steuerblock (Instruktions{PLA) generierte Enable{Signal fur eine der moglichen Quellen fur den {Eingang (MAP fur das Mapping{PROM, PL fur das irektdatenfeld des Mikroinstruktionsregisters und VEC fur das Vector{Mapping{PROM). er Befehl J produziert die Mikroprogrammspeicheradresse. An dieser Adresse kann sinnvollerweise ein Mikroprogramm zum Initialisieren des Systems stehen. ie Befehle JMAP und CJV erlauben den Einsprung in Mikroprogramme, deren Startadressen von externen Adrequellen (Mapping{PROM, Vector{Mapping{PROM) uber den {Eingang geliefert und an den Mikroprogrammspeicher weitergegeben werden. ie sequentielle Adrefortschaltung im laufenden Mikroprogramm geschieht mit dem Befehl CONT. Sprungbefehle sind CJP (Sprungziel steht im irektdatenfeld des Mikroinstruktionsregister) und JRP (Sprungziele stehen im irektdatenfeld des Mikroinstruktionsregister oder im ahlerregister, das vorher allerdings mit der ieladresse geladen werden mu). Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

6 66.. Aufbau des mikroprogrammierbaren TGI-Rechners Mikro-Unterprogramme werden mit den Befehlen CJS (Anfangsadresse des Unterprogramms aus dem Mikroinstruktionsregister) und JSRP (Anfangsadresse alternativ aus dem Mikroinstruktionsregister oder aus dem ahlerregister) aufgerufen, wobei automatisch die Rucksprungadresse auf das oberste Kellerelement geschrieben wird. Bedingte Rucksprunge sind dann mit dem Befehl CRTN moglich, der die Rucksprungadresse vom Keller holt. Eine Reihe von Befehlen dient der Schleifenprogrammierung. er Befehl PUSH ladt in Abhangigkeit einer externen Bedingung das ahlerregister und legt die Schleifenanfangsadresse im Keller ab. er Befehl LCT ladt nur den ahler. ie Befehle RPCT, RFCT und TWB sind Schleifenendebefehle, die zunachst prufen, ob der Inhalt des ahlerregisters ist. Wenn der Inhalt des ahlerregisters ungleich ist, wird an die im irektdatenfeld des Mikroinstruktionsregisters angegebene bzw. an die auf dem Keller hinterlegte Schleifenanfangsadresse verzweigt und der Inhalt des ahlerregisters um erniedrigt. Bei dem Befehl TWB ist das Abfragen des ahlerregisters kombiniert mit dem Test einer externen Bedingung, so da eine reiwegeverzweigung vorliegt. er Befehl LOOP springt in Abhangigkeit einer externen Bedingung an die auf dem obersten Kellerelement liegende Schleifenanfangsadresse. as Herunterzahlen des ahlerregisters und die Verwaltung des Kellers erfolgt automatisch...2 as mikroprogrammierbare Rechenwerk ur Verarbeitung der aten ist ein 6 Bit breites Rechenwerk vorgesehen. Es ist auf der Basis von Rechenwerkbausteinen, den kaskadierbaren Bitslice{Komponenten Am29, aufgebaut. Vier dieser Module, erganzt durch den Wortrandlogikbaustein Am29, bilden das 6 Bit breite Rechenwerk. Seine aten erhalt das Rechenwerk vom Hauptspeicher, mit dem es uber den atenbus verbunden ist. Ergebnisse konnen auf den atenbus und auf den Adrebus, falls es sich um Adressen handelt, ausgegeben werden...2. Beschreibung des Rechenwerkbausteins Am29 Abbildung.3 zeigt die Grundstruktur des Rechenwerkbausteins Am29. a es sich um einen kaskadierbaren {Bit{Baustein handelt, seine atenpfade und internen Komponenten also Bit breit sind, konnen durch Aneinanderreihung solcher Module Rechenwerke mit einem um ein Vielfaches von vier Bit breiten atenwort aufgebaut werden. Als zentrale Komponenten enthalt der Baustein eine weitor{registerdatei (RAM) mit 6 Registern und eine arithmetisch/logische Einheit (ALU), die acht Mikrooperationen ausfuhren kann. ie Operanden liegen an den ALU{Eingangen R und S an und konnen funf verschiedenen Quellen entstammen. Weiterhin verfugt der Baustein Am29 uber ein multifunktionales Q{Register sowie zwei Schiebeeinheiten (RAM{ und Q{Schiebeeinheit). urch Anlegen von A{ und B{Registeradressen an die Registerdatei konnen jeweils zwei beliebige { auch identische { Register uber die beiden Ausgabewege A und B gelesen werden. as Ergebnis einer ALU{Operation wird in das Register geschrieben, welches im Register{B{Adrefeld des Mikroinstruktions{ bzw. des Instruktionsregisters speziziert ist. er Weg vom ALU{F{Ausgang zur Registerdatei fuhrt uber die RAM{Schiebeeinheit, wo die aten um ein Bit nach links bzw. nach rechts geschoben oder unverandert weitergegeben werden. as Lesen der Register, die Verknupfung der Operanden in der ALU und das uruckschreiben des Ergebnisses erfolgt innerhalb eines Taktzyklus. ie arithmetisch/logische Einheit kann, gesteuert uber die Instruktionsbit I 3 bis I 5, auf den am ALU{R{ und am ALU{S{Eingang anliegenden aten drei arithmetische und funf logische Operationen ausfuhren, wobei fur die arithmetischen Operationen zu beachten ist, da diese noch vom Ubertrag, d. h. vom Wert des am C n {Eingang anliegenden Signals, abhangen (siehe Tabelle.5). ie Operationen der ALU konnen der internen Registerdatei (A{Ausgang, B{Ausgang), dem Q{Register und einem unidirektionalen {Eingang entstammen. Weiterhin kann die Null als Quelloperand auftreten. as Q{Register kann zur Speicherung von wischenergebnissen, als Quotientenregister bei Multiplikations{ und ivisionsroutinen oder als Akkumulatorregister dienen. Uber den {Eingang konnen aten aus einer externen Quelle eingelesen werden. In unserem Beispielrechner sind dies aten, welche aus dem Hauptspeicher uber den atenbus geliefert werden oder Konstanten, die im Konstantenfeld (Bit 58-73) des Mikroinstruktionsregisters stehen. Uber das Bit 7 des Mikroinstruktionswortes wird eine der beiden Moglichkeiten ausgewahlt.in Tabelle.2 ist die enition der Instruktionsbit I bis I 2 zur Steuerung der Auswahl der Quelloperanden fur die acht moglichen Kombinationen zu entnehmen. ie Tabelle.3 zeigt die Wirkung der ALU auf die Quelloperanden (ALU Funktionssteuerung). Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

7 . Bereich II: Mikroprogrammierung 67 RAM-Schiebeeinheit RAM RAM 3 Register Adresse A Register Adresse B A-Adresse B-Adresse ateneingang RAM 6 adressierbare Register Q Q 3 Q-Schiebeeinheit aten- aten- Ausgang A Ausgang B F Q Register Q Q aten- Eingang "" A B Q ALU-Quelloperanden Auswahl R S CARRY IN C n R Arithmetisch/logische Einheit ALU S F G P C n+ F 3 (SIGN) OVERFLOW F= A F Auswahl Ausgabedaten Y I2 I I I5 I I3 I8 I7 I6... Am29 Befehle Abbildung.3: Funktionsschaltbild des Rechenwerkbausteins Am29 Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

8 68.. Aufbau des mikroprogrammierbaren TGI-Rechners Mnemo ALU{Quell{ Mikrokode operanden Oktal{ I 2 I I R S wert AQ A Q AB A B Q 2 Q B 3 B A A A 5 A Q 6 Q 7 Tabelle.2: ALU Quelloperandensteuerung Mnemo Mikrokode ALU Oktal{ I 5 I I 3 Funktion wert Symbol A RPlusS R+S SUBR S Minus R S;R SUBS 2 RMinus S R;S OR 3 RORS R_S AN R AN S R^S NOTRS 5 R AN S R^ S EXOR 6 RXOR S RS EXNOR 7 R XNOR S R S Tabelle.3: ALU Funktionssteuerung Mnemo RAM Q-Reg. Mikrokode Funktion Funktion Y Oktal{ Ausgang I 8 I 7 I 6 Schieben Laden Schieben Laden wert QREG X NONE NONE F!Q F NOP X NONE X NONE F RAMA 2 NONE F!B X NONE A RAMF 3 NONE F!B X NONE F RAMQ OWN F=2!B OWN Q=2!Q F RAM 5 OWN F=2!B X NONE F RAMQU 6 UP 2F!B UP 2Q!Q F RAMU 7 UP 2F!B X NONE F Tabelle.: ALU ielsteuerung (OWN = Rechtsschieben, UP = Linksschieben) Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

9 . Bereich II: Mikroprogrammierung 69 I2 Mnemo I53 = A+Q A+B Q B A +A +Q Cn = A+Q+ A+B+ Q+ B+ A+ +A+ +Q+ + Cn = Q;A; B;A; Q; B; A; A;; Q;; ;; Cn = Q;A B;A Q B A A; Q; ; Cn = A;Q; A;B; ;Q; ;B; ;A; ;A; ;Q; ; Cn = A;Q A;B ;Q ;B ;A ;A ;Q Cn A R+S SUBR S;R SUBS 2 R;S AQ AB Q B A A Q ALU ALU Quelloperanden Funktion A,Q A,B,Q,B,A,A,Q, OR 3 R_S A_Q A_B Q B A _A _Q AN R^S A^Q A^B ^A ^Q NOTRS 5 R ^S A^Q A^B Q B A ^A ^Q EXOR 6 RS AQ AB Q B A A Q EXNOR 7 R S A Q A B Q B A A Q ie Instruktionsbit I53 und I2 sind in Oktaldarstellung. Tabelle.5: Quelloperanden{ und ALU{Funktionsmatrix Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

10 7.. Aufbau des mikroprogrammierbaren TGI-Rechners as Ergebnis einer ALU{Operation kann direkt uber den Y{Ausgang ausgegeben oder verschiedenen internen Komponenten zugefuhrt werden. ie am ALU{F{Ausgang anliegenden Ergebnisse konnen, wie oben bereits beschrieben, in die Registerdatei oder in das Q{Register geschrieben werden. ie in das Q{Register zu schreibenden aten konnen zuvor im Q{Schiebewerk um ein Bit nach rechts oder nach links geschoben werden. ie am Y{Ausgang des Bausteins anliegenden aten stammen entweder vom ALU{F{Ausgang (Ergebnis einer ALU{Operation) oder vom A{Ausgang der Registerdatei (Inhalt einer Registerzelle). ie ielsteuerung, programmiert uber die Instruktionsbit I 6 bis I 8,istinTabelle. deniert. Mit der Codierung RAMF der ALU-ielsteuerung wird beispielsweise bestimmt, da das Ergebnis am ALU-F-Ausgang in das Register geschrieben wird, das im Register-B-Adrefeld speziziert wird und gleichzeitig uber den Y-Bus ausgegeben wird. Im Unterschied dazu wird bei der Codierung RAMA der Inhalt des im Register{A{Adrefeld spezizierten Registers uber den Y-Bus ausgegeben. er Baustein liefert eine Reihe von Statussignalen, die in einem der Statusregister des Bausteins Am29 abgelegt werden konnen (siehe Abschnitt..2.2) er Wortrandlogikbaustein Am29 er Wortrandlogikbaustein Am29 wird als Erganzung zu dem Rechenwerkbaustein Am29 verwendet, da er die im usammenhang mit der ALU notwendigen Funktionen wie die Steuerung des Ubertrags, der Schiebeverbindungen, des Ablegens der Statussignale und des Abfragens von Bedingungen auf einem Chip integriert. Abbildung. zeigt vereinfacht den Aufbau des Wortrandlogikbausteins Am29. er Baustein enthalt zwei Statusregister, das Maschinenstatusregister (MSR) und das Mikrostatusregister (SR), die unabhangig voneinander gesteuert und bitweise mit den entsprechenden Statussignalen wie Uberlauf (OVR), Ubertrag (C), Vorzeichen (N) und Null{Anzeige () aus dem Rechenwerk (Ausgange OV R, C n+, F 3, F = des hochstwertigen Rechenwerkbausteins) uber die vier Statuseingange I C I N I und I OV R geladen werden konnen. Einzelne Bit konnen gesetzt bzw. zuruckgesetzt und die Inhalte der beiden Register ausgetauscht werden, wobei Enablebit das Uberschreiben der Register verhindern oder ermoglichen. ie beiden Statusregister werden uber die Instruktionsbit I bis I 5 gesteuert. ie Operationen auf den Statusregistern lassen sich in die Gruppen Bit{ (nur Mikrostatusregister), Register{ und Lade{ Operationen einteilen. Tabelle.6 zeigt die vollstandige ecodierung dieser Instruktionsbit ausgelassen ist lediglich ihr Einu auf die Ubertragssteuerung (s. Tabelle.9). ie mit SR, MSR und CT beschrifteten eilen der Tabelle geben jeweils an, wie sich die Operation auf die Statusregister und die Testlogik (CT-Ausgang) auswirken. Man erkennt aus der Tabelle, da die Codierung der Operationen relativ komplex und insbesondere nicht orthogonal ist (Aus diesem Grund gibt es auch keine mnemotechnischen Bezeichner fur die Operationen). ur Vereinfachung sind jedoch die wichtigsten Operationen auf den Statusregistern in Tabelle.7 zusammengestellt. u beachten ist, da die dort angegebenen moglichen Operationscodes jeweils auch Nebeneekte verursachen, die aus Tabelle.6 entnommen werden konnen. So loscht.b. der Code I 5:: = nicht nur das -Bit im Mikrostatusregister, sondern ladt auch das Maschinenstatusregister mit invertiertem C-Bit vom I-Eingang und setzt den CT-Ausgang entsprechend dem Ergebnis der Bedingung C _ =.Ein unerwunschtes Verandern der Statusregister kann mit Hilfe der Enablebit CE und CE M (Bit 3 bzw. 29 des Mikroinstruktionsregisters) verhindert werden. Ein Statusregister wird nur dann verandert, wenn das entsprechende Enablebit auf LOW gesetzt ist. ie Testlogik auf dem Wortrandlogikbaustein Am29 gestattet die Abfrage der Statusregister SR und MSR. er ausgewahlte Bedingungskode wird am Ausgang CT ausgegeben. er CT{Ausgang ist mit dem Testeingang CC des Sequencerbausteins Am29 verbunden. Uber die Instruktionsbit I und I 5 kann bestimmt werden, in welchem Statusregister die Bedingungen abgefragt werden sollen. Mit I 5 = (Mnemo: MI) werden die Statusbit des Mikrostatusregisters abgefragt und mit I 5 = (Mnemo: MA) die des Maschinenstatusregisters. Mit den Instruktionsbit I bis I 3 wird eine von 6 Bedingungen ausgewahlt (siehe die CT-eilen in Tabelle.6). Acht dieser 6 Bitkombinationen liefern den Wert eines der Statusbit oder dessen Komplement. ie acht restlichen Bitkombinationen liefern als Ergebnis logische Verknupfungen von Statusbit an den Ausgang CT. iese Bitkombinationen gestatten beispielsweise den Vergleich zweier nicht vorzeichenbehafteter oder weierkomplement{ahlen nach den Kriterien gleich\, groer gleich\, kleiner\ oder kleiner gleich\. In " " " " Tabelle.8 sind als Beispiel verschiedene Kriterien aufgefuhrt, die nach der Subtraktion zweier ahlen A undbgepruft werden konnen, wobei zwischen nicht vorzeichenbehafteten und weierkomplement{ahlen unterschieden wird. Fur jede Relation (Spalte ) wird der Wert des bzw. der betreenden Statusbit Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

11 . Bereich II: Mikroprogrammierung 7 I IN I C IOVR MUX MUX CLOCK CE μ Maschinenstatusregister Mikroregister status- CE M μ C μ μ N μ OVR MC M M N M OVR MUX I -5 Instruktionsdekodierung Testlogik Y C Y Y N Y OVR I OVR I C I S M C M S M C n Instruktionsdekodierung Schiebesteuerung SIO μ C M C Übertragssteuerung C X C I I 6-9 CT I, I7... I2 I I9 I8 I7 I6 I5 I I3 I2 I I... CE μ M CE Am29 Am29 Abbildung.: Funktionsschaltbild des Wortrandlogikbausteins Am29 Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

12 I53 SR MX! X! X MX $ X! X IX! X IX! X I C N! C N I C N! C N I2 IV _ V! V IV _ V! V MSR YX! MX! MX MX $ X! MX I N! M N M X! MX IX! MX IX! MX MV $ MC (N V ) _ = (N V ) _ = N V = N V = = = V = V = CT SR!!! C! C! N! N! V! V I N V! M N V I N V! M N V IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX MSR! MC IC! MC IC C _ = C _ = C = C = C _ = C _ = IN MN = IN MN = CT SR IX! X IX! X IX! X IX! X IX! X IX! X IX! X IX! X IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX MSR (N V ) _ = (N V ) _ = N V = N V = = = V = V = CT SR I N V! N V I N V! N V IX! X IX! X IX! X IX! X IX! X IX! X! C IC! C IC I N V! M N V I N V! M N V IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX MSR! MC IC! MC IC C _ = C _ = C = C = C _ = C _ = N = N = CT SR IX! X IX! X IX! X IX! X IX! X IX! X IX! X IX! X IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX MSR (MN MV ) _ M = (MN MV ) _ M = MN MV = MN MV = M = M = MV = MV = CT SR I N V! N V I N V! N V IX! X IX! X IX! X IX! X IX! X IX! X! C IC! C IC I N V! M N V I N V! M N V IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX MSR! MC IC! MC IC MC _ M = MC _ M = MC = MC = MC _ M = MC _ M = MN = MN = CT SR IX! X IX! X IX! X IX! X IX! X IX! X IX! X IX! X IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX MSR (IN IV ) _ I = (IN IV ) _ I = IN IV = IN IV = I = I = IV = IV = CT SR I N V! N V I N V! N V IX! X IX! X IX! X IX! X IX! X IX! X! C IC! C IC I N V! M N V I N V! M N V IX! MX IX! MX IX! MX IX! MX IX! MX IX! MX MSR! MC IC! MC IC IC _ I = IC _ I = IC = IC = IC _ I = IC _ I = IN = IN = CT steht abkurzend fur OV R, X steht stellvertretend fur f C N OV Rg V Tabelle.6: (Fast) vollstandige ecodierung der Am29 Instruktionsbits I5:: 72.. Aufbau des mikroprogrammierbaren TGI-Rechners Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

13 . Bereich II: Mikroprogrammierung 73 Operation Beschreibung I 532 oktal hex I X! X Lade die am Statuseingang I, 5, 5 anliegenden Signale ins SR 2 { 27 { 7 32 { 7 A{27 52 { 67 2A{37 72 { 77 3A { 3F I X! M X Lade die am Statuseingang I 6, 7 6, 7 anliegenden Signale ins MSR 2 { 27 A{ 7 32 { 7 A{27 52 { 67 2A{37 72 { 77 3A { 3F! X Setze alle Bit des SR! X Losche alle Bit des SR 3 3! M X Setze alle Bit des MSR! M X Losche alle Bit des MSR 3 3 X $ M X Tausche die Inhalte von SR und MSR 2 2! Setze das -Bit im SR 9! Losche das -Bit im SR 8! C Setze das C-Bit im SR 3 B! C Losche das C-Bit im SR 2 A! N Setze das N-Bit im SR 5! N Losche das N-Bit im SR C! OV R Setze das OV R-Bit im SR 7 F! OV R Losche das OV R-Bit im SR 6 E X steht stellvertretend fur f C N OV Rg Tabelle.7: Codierungen fur wichtige Operationen der Statusregister Nicht vorzeichenbehaftete ahlen weierkomplementzahlen I 32 I 32 Relation Status Mnemo oktal hex Status Mnemo oktal hex A = B = ero 5 5 = ero 5 5 A 6= B = Notero = Notero A B C = UGTEQ 3 B N OV R = SGTEQ 2 2 A<B C = ULT 2 A N OV R = SLT 3 3 A>B C ^ = UGT C N OV R ^ = SGT A B C _ = ULTEQ 5 (N OV R) _ = SLTEQ I 5 = (Mnemo: MI) ;! Abfrage des Mikrostatusregisters I 5 = (Mnemo: MA) ;! Abfrage des Maschinenstatusregisters Tabelle.8: Bedingungskodes fur den Vergleich zweier ahlen A und B nach der Operation A ; B. Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

14 7.. Aufbau des mikroprogrammierbaren TGI-Rechners (Spalte 2 und 6) angegeben. In den Spalten,5 und 8,9 stehen die Bedingungscodes (jeweils oktal und hexadezimal), die zu programmieren sind, wenn die entsprechenden Bedingungen abzufragen sind. Wenn die Bedingung erfullt ist, dann erscheint am CT-Ausgang und damit auch am Testeingang CC des Sequencerbausteins Am29 eine Null. In den Spalten 3 und 7 sind die wichtigsten Mnemos fur die Bedingungscodes aufgefuhrt. Bezuglich des ustands des C-Statusbits nach der Subtraktion vorzeichenloser ahlen ist eine Besonderheit der ALU im Am29 zu berucksichtigen. ie ALU realisiert intern eine Subtraktion A ; B duch Addition von A mit dem Komplement von B. ies bedingt, da bei der Subtraktion vorzeichenloser ahlen das C-Statusbit entgegen der ublichen Erwartung dann gesetzt wird, wenn A groer oder gleich B ist (siehe Tabelle.8). Falls vom Rechenwerk eine Schiebeoperation durchgefuhrt werden mu, so ist neben der entsprechenden Operation der ALU-ielsteuerung (siehe Tabelle.) auch der Wortrandlogikbaustein Am29 zu programmieren. er Baustein erlaubt bei entsprechender Verbindung mit den Rechenwerkbausteinen 32 verschiedene Schiebe{ und Ringschiebeaktionen zu mikroprogrammieren. ie Schiebeein{ bzw. ausgange SIO,, und n sind mit den entsprechenden Eingangen der Rechenwerkbausteinen verbunden (SIO mit RAM des niedrigstwertigen Am29{Bausteins, mit RAM 3 des hochstwertigen Am29{Bausteins, mit des niedrigstwertigen Am29{Bausteins und n mit n des hochstwertigen Am29{Bausteins, siehe Abbildung.5). ie Codierungen der funf Instruktionsbit I 6 bis I bestimmen die Schiebeaktion, wobei I entscheidet, in welche Richtung geschoben wird. a die Schieberichtung fur beide Bausteine (Am29 und Am29) gleich seinmu, ist der Pin I des Am29 fest mit dem Pin I 7 des Bausteins Am29 verbunden (Bit 5 im Mikroinstruktionswort). ie 6 Rechts{Schiebeaktionen sind in Tabelle. und die 6 Links{Schiebeaktionen sind in Tabelle. aufgefuhrt. ie dritte Spalte der beiden Tabellen zeigt jeweils die Wirkung der Schiebeaktion auf die Schiebeeinheiten der ALU und auf das Statusbit M C des Maschinenstatusregisters. ieses Statusbit wird dabei unabhangig vom ustand des Freigabesignals CE M (Bit 29 im Mikroinstruktionsformat) gesetzt. In den weiteren vier Spalten dieser Tabellen ist jeweils aufgefuhrt, welches Signal an den jeweiligen Schiebeein{ und {ausgangen anliegt. ie zur Ausfuhrung der arithmetischen Operationen benotigten Ubertragssignale werden dem Rechenwerkbaustein Am29 vom Wortrandlogikbaustein Am29 uber den Ubertragsausgang C bereitgestellt. ieser Ausgang ist mit dem Ubertragseingang C n des niedrigstwertigen Rechenwerkbausteins Am29 verbunden (siehe Abbildung.5). ie Ubertragssteuerungslogik des Bausteins Am29 erlaubt das Belegen des Ubertragsausgangs C aus maximal sieben Quellen. abei bestimmen die Instruktionsbit I und I 2,welche Quelle den Wert fur den C {Ausgang liefert. Wenn I 2 mit belegt ist, dann erscheint amc {Ausgang der Wert von I.Falls I 2 mit und I mit belegt ist, dann liegt am C {Ausgang der Wert des C X {Eingangs der Ubertragssteuerung an, der in unserem Beispielrechner allerdings nicht beschaltet ist. Ist I 2 und I jeweils mit belegt, dann liegt der Wert des CARRY{Bits des Maschinen{ oder Mikrostatusregisters ( C M C ) oder dessen Komplement ( C M C ) an, was durch die Belegung der Instruktionsbit I 5 I 3 I 2 und I bestimmt wird. In Tabelle.9 ist der Wert des Ubertragsausgang C in Abhangigkeit der Instruktionsbit I 2 I und I 5 I 3 I 2 I dargestellt. ur Steuerung des Bausteins Am29 werden insgesamt biszu3 Instruktionsbit (I bis I 2 )sowie neun Enablebit benotigt. Von den 9 Enablebit wurden nur 2, namlich CE und CE M, beschrieben, da alle anderen Bits bei unserem Beispielrechner auf einen festen Pegel gelegt und somit dem Mikroprogrammierer nicht zuganglich sind. Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

15 . Bereich II: Mikroprogrammierung 75 Mnemo I 2 I I 5 I 3 I 2 I C CI X X X X CI X X X X CIX X X X X C X CIC X X C CIC X C CIC X C CIC C CIC X X M C CIC X M C CIC X M C CIC M C X: on't Care Tabelle.9: Ubertragssteuerung des Bausteins Am29 I 9876 Mnemo M C RAM Q MSB LSB MSB LSB RSL SIO n M C RSH 2 RSCONI M N M N SIO 3 RSH SIO RSC M C SIO 5 RSN M N M N SIO 6 RSL SIO 7 RSCO SIO 8 RSRCO SIO SIO 9 RSRCIO M C SIO A RSR SIO B RSIC I C I C SIO C RSRCI M C SIO RSRCO SIO E RSXOR I N + I OVR I + N I OVR SIO F RSR SIO Tabelle.: Rechts{Schiebeaktionen des Bausteins Am29 (I =) Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

16 76.. Aufbau des mikroprogrammierbaren TGI-Rechners I 9876 Mnemo M C RAM Q MSB LSB MSB LSB LSLCO SIO SIO n n M C LSHCO 2 LSL 3 LSH LSLCO n 5 LSHCO n 6 7 LSL LSH n n 8 LSCRO n 9 LSCRIO M C n A LSR n B LSLICI M C C LSCIO n M C LSRCO n E LSCI n M C F LSR n Tabelle.: Links{Schiebeaktionen des Bausteins Am29 (I =) Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

17 . Bereich II: Mikroprogrammierung Aufbau des Rechenwerks des Beispielrechners In Abbildung.5 ist das Rechenwerk des Beispielrechners mit den Bausteinen Am29, Am292 und Am29 dargestellt, wobei der Ubersichtlichkeit wegen eine Reihe von Verbindungen nur angedeutet oder nicht eingezeichnet sind. Insbesondere fehlen alle Enablesignale. ie vier Rechenwerksbausteine Am29 bilden ein 6 Bit breites Rechenwerk. ie Y{Ausgange der Rechenwerkbausteine sind uber einen Multiplexer mit dem Adre{ und dem atenbus verbunden, so da die uber die Y{Ausgange des Am29 ausgegebenen aten auf den Adre{ oder atenbus gelegt werden konnen. An den {Eingangen des Am29 liegen die uber den atenbus kommenden aten an. ie Ubertragssteuerung zwischen den vier kaskadenartig aufgebauten Rechenwerkbausteinen ubernimmt der Baustein Am292 (Carry{Look{Ahead{Generator), der mithilfe eines Ubertragsermittlungsschaltnetzes die fur die Generierung des vorab ermittelten Ubertrags (Carry{Look{Ahead) notwendigen Signale " carry propagate\ und " carry generate\ liefert. Vom Baustein Am29 fuhrt eine Leitung vom Ubertragsausgang C zum Ubertragseingang C n des niedrigstwertigen Rechenwerkbausteins Am29 und zum C n {Eingang des Bausteins Am292. er Statusausgang OV R des hochstwertigen Am29{Bausteins ist mit dem Statuseingang I OV R verbunden. Von den Statusausgangen F 3undC n+ des hochstwertigen Am29{Bausteins fuhren Leitungen direkt zu den entsprechenden Statuseingangen I N und I C. ie Statusausgange F = aller vier Rechenwerkbausteine sind durch ein verdrahtetes OER miteinander verknupft. ie Nullanzeige liegt am Statuseingang I des Am29 an. er Ausgang CT des Am29 ist direkt mit dem Testeingang CC des Sequencerbausteins Am29 verbunden. a dieser Testeingang invertiert ist ( " active LOW\), sind die zu uberprufenden Bedingungen so zu programmieren, da am CT{Ausgang eine Null erscheint, wenn die Bedingung erfullt ist. ies ist in den Tabellen.6 und.8 bereits berucksichtigt. ie Schiebeein{ bzw. {ausgange der Rechenwerkbausteine Am29 sind untereinander und mit denen des Wortrandlogikbausteins Am29 verbunden, so da insgesamt 32 Schiebeaktionen durchgefuhrt werden konnen. ie Schieberichtung wird vom Instruktionsbit I 7 des Am29 (Bit 5 des Mikroinstruktionsworts) bestimmt, da das Instruktionsbit I des Am29 fest mit diesem verknupft ist...3 er Hauptspeicher er Hauptspeicher des mikroprogrammierbaren Beispielrechners enthalt 6K Worte zu je 6 Bit und ist nur wortweise adressierbar. Ein ugri auf den Speicher (lesend oder schreibend) benotigt immer zwei Takte (d.h. zwei Mikroinstruktionen). Im ersten Takt wird die Adresse auf den Adressbus ausgegeben. ie Adresse kann dabei aus dem Befehlszahler oder uber den Y-MUX aus der ALU stammen. In diesem Takt ist uber das MWE-Bit im Mikroinstruktionswort (Bit ) zu programmieren, ob ein Lese- oder ein Schreibzyklus angestoen werden soll. Bei einem Lesezyklus liegen im zweiten Takt die aten auf dem atenbus an und konnen in das Instruktionsregister, den Befehlszahler oder uber den K-MUX in die ALU geladen werden. Bei einem Schreibzyklus mussen im zweiten Takt die zu schreibenden aten auf den atenbus gelegt werden, wobei in diesem Takt auch MWE wieder auf zuruckzusetzen ist. Ein Pipelining, d.h. die teilweise zeitliche Uberlappung von Speicherzugrien ist in unserem Beispielrechners nicht moglich... Beschreibung des Mikroinstruktionsformats Abbildung.6 zeigt das Mikroinstruktionsformat des mikroprogrammierbaren Rechners. Nachfolgend sind die einzelnen Felder des Mikroinstruktionsformates beschrieben. Ebenso sind die mnemotechnischen Namen fur die jeweils wichtigsten Codierungen (wenn sie nicht bereits in den Tabellen im Text genannt worden sind) angegeben. Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

18 Abbildung.5: Aufbau des Rechenwerks des Beispielrechners 78.. Aufbau des mikroprogrammierbaren TGI-Rechners vom atenbus 6 Q 3 RAM 3 Q Q 3 Q Q 3 Q Q 3 Q RAM RAM 3 RAM RAM 3 RAM RAM 3 RAM (MSS) F3 A A A OVR B B B C n+ I -8 I -8 I F= F= F= -8 F= G P Am29 Y Am29 Am29 Am29 (LSS) C n G C n G C n G C n P Y P Y P Y A B I -8 Am292 C n Carry-lookahead MSS: höchstwertige Bitscheibe LSS: niedrigstwertige Bitscheibe zum Adreß-/ atenbus I I C I OVR I N C C X SIO 3 SIO 3 Am29 I -2 CT Y Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

19 . Bereich II: Mikroprogrammierung IE I3 I2 I I KMUX K5 K K3 K2 K K K9 K8 K7 K6 K5 K K3 K2 K K I2 I I I5 I I3 I8 I7 I6 A3 A2 A A ASEL B3 B2 B B BSEL ABUS* BUS* I2 I I9 I8 I7 I6 CEMUE* CEM* I5 I I3 I2 I I CCEN* I3 I2 I I B_L* B_E* B_INC* B_EA* IR_L* MEW* Interrupt Konstante Src Func est RA Addr RB Addr Y- MUX CIN MUX Statusregister Test Schiebesteuerung AM29- Befehle irektdaten AM29 AM29 AM29 B IR HS Abbildung.6: Mikroinstruktionsformat Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

20 8.. Aufbau des mikroprogrammierbaren TGI-Rechners MI{Feld Erlauterung Vereinbarung mnemotechnischer Namen MI MI MI 2 MI 3 MI MI 5 MI 6..7 MI 8..2 MI 22 MWE (Memory{Write{Enable) In diesem Feld gibt der Mikroprogrammierer an, ob aten aus dem Hauptspeicher gelesen (MWE = ) oder aten in den Hauptspeicher geschrieben (MWE = ) werden sollen. Bei einem Hauptspeicherzugri ist der gewunschte Wert im ersten Taktzyklus zu programmieren. Im zweiten Taktzyklus ist immer der Wert (R) zu programmieren. Findet kein Hauptspeicherzugri statt, dann mu eine (R) programmiert werden. IR L (Instruktionsregister Laden) Mit IR L = wird das Instruktionsregister mit dem gerade auf dem atenbus liegenden atum (Befehl) geladen. IR L = verhindert ein Andern des Inhalts des Instruktionsregisters. B EA (Befehlszahler Enable Adrebus) Mit B EA = wird der Inhalt des Befehlszahlers auf den Adrebus gegeben. B EA = verhindert, da der Inhalt auf den Adrebus ausgegeben wird. B INC (Befehlszahler Inkrement) Mit B INC = wird der Inhalt des Befehlszahlers um erhoht. B INC = verhindert ein Inkrementieren des Befehlszahlers. B E (Befehlszahler Enable atenbus) Mit B E = wird der Inhalt des Befehlszahlers auf den atenbus gegeben. B E = verhindert, da der Inhalt auf den atenbus ausgegeben wird. B L Befehlszahler Laden) er Befehlszahler wird mit dem aktuellen atum auf dem atenbus geladen, wenn B L = ist. B L = verhindert, da der Befehlszahler mit einem auf dem atenbus liegenden atum geladen wird. BAR (irektdatenfeld) Uber das irektdatenfeld (BAR) kann der Mikroprogrammierer eine Absolutadresse fur den Mikroprogrammspeicher in der aktuellen Mikroinstruktion angeben, um so einen Sprung, eventuell in Abhangigkeit einer Bedingung, zu programmieren. Ebenso kann im irektdatenfeld ein Wert fur das ahlerregister des Am29 stehen. Ein im irektdatenfeld stehendes atum liegt am {Eingang des Am29 an. I ::3 (Fortschaltbefehle des Am29) In diesem Feld werden die Fortschaltbefehle fur den Sequencerbaustein Am29 kodiert. CCEN (Condition Code Enable Am29) Wenn CCEN = ist, dann wird der am CC{Eingang anliegende Wert des Am29 ignoriert und der Am29 arbeitet alsobamcc{eingang ein Signal mit Wert anliegt (PASS{ Bedingung). Falls eine Aktion in Abhangigkeit einer am CC{Eingang anliegenden Testbedingung durchgefuhrt werden soll, dann mu CCEN =sein. Tabelle.2: Beschreibung des Mikroinstruktionsformats : W : R : L : H : E : H : I : H : E : H : L : H siehe Tabelle. : C : PS Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

21 . Bereich II: Mikroprogrammierung 8 sie- MI{Feld Erlauterung Vereinbarung mnemotechnischer Namen MI I ::5 (Instruktionen des Am29 { Statusregister / Test) Aus diesem Feld werden die Statusregisteroperationen fur das Mikrostatusregister und das Maschinenstatusregister kodiert, die in den Tabellen.6 und.7 aufgelistet sind. ie Statusregister werden jedoch nur verandert, wenn das entsprechende Enablesignal CE (MI 3) fur das Mikrostatusregister bzw. CE M (MI 29) fur das Maschinenstatusregister den Wert hat. Uber dieses Feld wird auch der Bedingungsmultiplexer des Bausteins gesteuert. Im Feld MI (Instruktionsbit I ::3 ) wird der gewunschte Test programmiert und im Feld MI (Instruktionsbit I ::5 ) wird angegeben, in welchem Teilwerk des Bausteins die Bedingung gepruft werden soll. ie entsprechenden Instruktionskodes mit den menmotechnischen Namen sind der Tabelle.8 zu entnehmen, wobei den Namen fur die Bedingungskodes MI oder MA (fur Mikro- bzw. Maschinenstatusregister) voranzustellen ist. Bedingungscodes: he Tabelle.8 MI 29 MI 3 MI 3..3 MI MI 37 MI 38 CE M (Enablebit fur das MSR) er Inhalt des Maschinenstatusregisters des Am29 kann nur dann verandert werden, wenn das Enablebit CE M =ist. CE (Enablebit fur das SR) er Inhalt des Mikrostatusregisters des Am29 kann nur dann verandert werden, wenn das Enablebit CE =ist. I 6::9 (Instruktionsbit des Am29 { Schiebesteuerung) ie Schiebesteuerung des Am29 erlaubt die in Tabelle. und Tabelle. aufgefuhrten Schiebeaktionen. In Verbindung mit der ALU{ielsteuerung des Am29 im Feld MI 9..5 wird eine der 32 moglichen Schiebeoperationen programmiert, damit die gewunschte Schiebeaktion im Rechenwerk durchgefuhrt werden kann. I ::2 (Instruktionsbit des Am29 { Ubertragssteuerung) ie Ubertragssteuerung erlaubt das Belegen des Ubertragsausgangs C aus maximal sieben Quellen (siehe Abschnitt..2.2). BUS (atenbus Select) ie aten, die uber den Y{Ausgang des Am29 ausgegeben werden, kommen auf den atenbus. ABU S (Adrebus Select) ie aten, die uber den Y{Ausgang des Am29 ausgegeben werden, kommen auf den Adrebus. Tabelle.3: Beschreibung des Mikroinstruktionsformats : L : H : L : H siehe Tabelle. und Tabelle. siehe Tabelle.9 : B : H : AB : H Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

22 82.. Aufbau des mikroprogrammierbaren TGI-Rechners MI{Feld Erlauterung Vereinbarung mnemotechnischer Namen MI 39 MI..3 MI MI 5..8 BSEL (RB AR Select) Bei BSEL = wird die Adresse fur das Register im Register{ B{Adrefeld des Mikroinstruktionsregisters angegeben. Bei BSEL = wird die Adresse fur das Register im Register{ B{Adrefeld des Instruktionsregisters speziziert. RB AR (Register B Adresse) er Inhalt des in diesem Feld adressierten Registers der internen Registerdatei des Am29 wird uber den B{Ausgang ausgegeben. as ielregister fur zu schreibende aten wird ebenfalls in diesem Feld adressiert. ASEL (RA AR Select) Bei ASEL = wird die Adresse fur das Register im Register{ A{Adrefeld des Mikroinstruktionsregisters angegegben. Bei BSEL = wird die Adresse fur das Register im Register{A{ Adrefeld des Instruktionsregisters speziziert. RA AR (Register A Adresse) er Inhalt des in diesem Feld adressierten Registers der internen Registerdatei des Am29 wird uber den A{Ausgang ausgegeben. MI 9..5 I 6::8 (Instruktionsbit des Am29 { ALU ielsteuerung) ie Steuerung, wohin die Ergebnisse der ALU des Am29 geschrieben und welche Schiebeaktionen ausgefuhrt werden, erfolgt uber dieses Feld. ie acht moglichen Kombinationen sind in Tabelle. dargestellt. Bei Schiebeaktionen ist zusatzlich im Feld MI 3..3 die gewunschte Schiebeaktion anzugeben. MI I 3::5 (Instruktionsbit des Am29 { ALU Funktionen) ie ALU kann die in Tabelle.3 angegebenen drei arithmetischen und funf logischen Operationen ausfuhren, wobei eine der acht moglichen ALU{Funktionen in diesem Feld zu kodieren ist. MI I ::2 (Instruktionsbit des Am29 { ALU Quelloperanden) ie Operanden fur die ALU des Am29 konnen seiner internen Registerdatei, seinem Q{Register und dem unidirektionalen {Eingang entstammen. In diesem Feld werden die Operanden fur den ALU{R{ und den ALU{S{Eingang bestimmt. ie acht moglichen Kombinationen sind in Tabelle.2 angegeben. MI K ::5 Konstantenfeld MI 7 KMUX Auswahl der Quelle fur den -Eingang des Rechenwerks. ie aten konnen entweder vom Konstantenfeld des Mikroinstruktionsregisters kommen oder vom atenbus. MI I ::3 (Interruptsteuerung) ie Interruptsteuerung ist der Einfachheit wegen nicht beschrieben. MI 79 IE (Interrupt Enable) ulassen von Unterbrechungsanforderungen Tabelle.: Beschreibung des Mikroinstruktionsformats : IR :MR hex :r hex :r. F hex :r5 : IR :MR hex :r hex :r. F hex :r5 siehe Tabelle. siehe Tabelle.3 siehe Tabelle.2 : K : : IE : is Id: MI-Maschine.tex,v // 7:5:5 wismuell Exp

Einführung in die Technische Informatik (ETI)

Einführung in die Technische Informatik (ETI) Einführung in die Technische Informatik (ETI) Beschreibung der mikroprogrammierbaren Maschine Ausgabe Wintersemester 9/, Stand:. Dezember 29 Wolfgang Karl, Max Walter, Josef Weidendorfer, Roland Wismüller

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Zentralübung

Mehr

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Steuerwerk einer CPU Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Implementierung des Datenpfads Direkte Implementierung Mikroprogrammierung

Mehr

Klausur Einführung in die Rechnerarchitektur

Klausur Einführung in die Rechnerarchitektur Klausur Einführung in die Rechnerarchitektur Prof. Dr. Arndt Bode Wintersemester 2012/2013 13. Februar 2013 Name: Vorname: Matrikelnummer: Geburtsdatum: Hörsaal: Platz: Unterschrift: Ergebnis: Aufgabe

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 3 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 4 AM 21.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

Klausur. Technische Grundlagen der Informatik Prof. Dr. Arndt Bode

Klausur. Technische Grundlagen der Informatik Prof. Dr. Arndt Bode Klausur Technische Grundlagen der Informatik Prof. Dr. Arndt Bode Wintersemester 2000/2001 3. Februar 2001 Name: Vorname: Matrikelnummer: Geburtsdatum: Hörsaal: Platz: Unterschrift: Ergebnis: Aufgabe 1

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Tutorübung

Mehr

Mikrocomputertechnik. Einadressmaschine

Mikrocomputertechnik. Einadressmaschine technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik

Mehr

H Hypothetischer Prozessor

H Hypothetischer Prozessor 1 Einordnung H Hypothetischer Prozessor Ebene 6 Ebene 5 Ebene 4 Ebene 3 Ebene 2 Ebene 1 Ebene 0 Problemorientierte Sprache Assemblersprache Betriebssystem ISA (Instruction Set Architecture) Mikroarchitektur

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Microcomputertechnik

Microcomputertechnik Microcomputertechnik mit Mikrocontrollern der Familie 8051 Bearbeitet von Bernd-Dieter Schaaf 2. Auflage 2002. Buch. 230 S. Hardcover ISBN 978 3 446 22089 8 Format (B x L): 16 x 22,7 cm Gewicht: 407 g

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Allgemeine Struktur eines Digitalrechners

Allgemeine Struktur eines Digitalrechners 2. Allgemeine Struktur eines Digitalrechner In diesem Skript soll im wesentlichen die maschinennahe Programmierung von Digitalrechnern behandelt werden. Deshalb wird auf die hardwaremäßige Realisierung

Mehr

Mikrocomputertechnik 2.Mikroprozessor

Mikrocomputertechnik 2.Mikroprozessor 2.2 Die Elemente eines Mikroprozessors 2.2.1 Struktur eines 16/32 Bit µp Um den Datenfluß bei der Befehlsbearbeitung innerhalb eines µp zu betrachten, gehen wir von einem Modell eines 16/32 Bit µ aus.

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 22: Mima-X Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung Seite 1 von 9 Pinbelegung der Steckerleisten im Übungsgerät Seite 2 von 9 Inbetriebnahme: Schalter S1, S2, und S3 in Stellung 1 (oben) schalten. Spannung 5 V anlegen. ACHTUNG auf Polarität achten. Taste

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden. Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

10. Die Adressierungsarten des MSP 430

10. Die Adressierungsarten des MSP 430 10. Die Adressierungsarten 10.1 Übersicht über die Adressierungsarten 10.2 -Operanden 10.3 Indexregister mit Distanz 10.4 Symbolische (relativ zum ) 10.5 Absolute 10.6 Indirekte 10.7 Indirekte Adressierung

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

ZENTRALEINHEITEN GRUPPE

ZENTRALEINHEITEN GRUPPE 31. Oktober 2002 ZENTRALEINHEITEN GRUPPE 2 Rita Schleimer IT für Führungskräfte WS 2002/03 1 Rita Schleimer TEIL 1 - Inhalt Zentraleinheit - Überblick Architekturprinzipien Zentralspeicher IT für Führungskräfte

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

Prozessor HC680 fiktiv

Prozessor HC680 fiktiv Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,

Mehr

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf)

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf) Musterlösung Übung 2 Aufgabe 1: Große Zahlen Das Ergebnis ist nicht immer richtig. Die Maschine erzeugt bei Zahlen, die zu groß sind um sie darstellen zu können einen Über- bzw. einen Unterlauf. Beispiele

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

Kapitel 3 - Steuerungstypen Seite 89. Es wird die Erzeugung der Steuersignale für das Rechenwerk betrachtet.

Kapitel 3 - Steuerungstypen Seite 89. Es wird die Erzeugung der Steuersignale für das Rechenwerk betrachtet. Kapitel - Steuerungstypen Seite 89 Kapitel Steuerungstypen Es wird die Erzeugung der Steuersignale für das Rechenwerk betrachtet. zu steuerndes Werk Flags Steuerleitungen externe Eingänge x Steuerwerk

Mehr

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

Mehr

TU ILMENAU Fak. IA - FG Neuroinformatik & Kognitive Robotik. Vorkurs Informatik September Kurs: I 1. Dr. Klaus Debes.

TU ILMENAU Fak. IA - FG Neuroinformatik & Kognitive Robotik. Vorkurs Informatik September Kurs: I 1. Dr. Klaus Debes. Vorkurs Informatik September 2016 Kurs: I 1 Dr. Klaus Debes klaus.debes@tu-ilmenau.de Tel. 03677-69 27 70, 69 28 58 http://www.tu-ilmenau.de/neurob Teaching Wintersemester Vorkurs Informatik Übersicht

Mehr

Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert.

Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert. Blatt:4.1 4. RECHENFUNKTIONEN Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert. 4.1 ADDITION VON DUALZAHLEN Sollen Dualzahlen addiert werden, so gilt folgende Rechenregel: 0

Mehr

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher Version D3_16 vom 25.05.2016 Ziel dieses Versuches: Entwicklung einer Ablaufsteuerung mit einem 32 * 4 bit Speicherbaustein, um eine flexible

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB

Mehr

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

Mehr

Drücken Sie (später) bei Speichere Änderungen in der Bibliothek default? auf Nein.

Drücken Sie (später) bei Speichere Änderungen in der Bibliothek default? auf Nein. Kapitel 5 Ein Schieberegister besteht aus einer linearen Anordnung von Flipflops, die so miteinander verschaltet sind, dass jedes Flipflop den Zustand seines Vorgängers übernimmt und seinen eigenen Zustand

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 27 5. Vorlesung Inhalt Interpretation hexadezimal dargestellter Integer-Zahlen Little Endian / Big Endian Umrechnung in eine binäre Darstellung Ausführung von Additionen Optimierte

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

3. Rechnerarchitektur

3. Rechnerarchitektur ISS: EDV-Grundlagen 1. Einleitung und Geschichte der EDV 2. Daten und Codierung 3. Rechnerarchitektur 4. Programmierung und Softwareentwicklung 5. Betriebssyteme 6. Internet und Internet-Dienste 3. Rechnerarchitektur

Mehr

Zusammenfassung der Assemblerbefehle des 8051

Zusammenfassung der Assemblerbefehle des 8051 Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach

Mehr

1. Inhaltsverzeichnis

1. Inhaltsverzeichnis Mikrocomputer Simulator Inhaltsverzeichnis _ 2 _ 1. Inhaltsverzeichnis 1. INHALTSVERZEICHNIS...2 2. AUFBAU UND BEDIENUNG...3 2.1. EINFÜHRUNG...3 2.1.1. TECHNISCHE DATEN... 3 2.1.2. VERWENDUNGSZWECK...

Mehr

Rechnerstrukturen Winter 2015 4. WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

Rechnerstrukturen Winter 2015 4. WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1 4. WICHTIGE SCHALTNETZE (c) Peter Sturm, University of Trier 1 Wichtige Schaltnetze Häufig verwendete Grundfunktionen Umwandeln (Decoder) Verteilen (Multiplexer) und Zusammenfassen (Demultiplexer) Arithmetisch-

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen 4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen Ein Rechner besteht aus den folgenden Bestandteilen: Rechenwerk Rechenoperationen wie z.b. Addition, Multiplikation logische Verknüpfungen

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Logische und mathematische Grundlagen Digitale Daten Computerprogramme als Binärdaten von Neumann-Rechnerarchitektur Einführung in Maschinen-Code Speicherorganisation Betriebssysteme

Mehr

HC680 PROGRAMMER'S REFERENCE MANUAL

HC680 PROGRAMMER'S REFERENCE MANUAL HC680 PROGRAMMER'S REFERENCE MANUAL Programmieranleitung Mnemonic Assembler Maschinenbefehl Wirkung /Bedeutung Register (0 bis 3 allg. Reg.) Ope- Opcode/Binärcode - Adressierungsart - Nr Bez. xx Bin Art

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Musterlösung 1 Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den

Mehr

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse Kapitel 11 Rechnerarchitektur 11.1 Der von-neumann-rechner Wir haben uns bisher mehr auf die logischen Bausteine konzentriert. Wir geben jetzt ein Rechnermodell an, das der physikalischen Wirklichkeit

Mehr

Technische Informatik II Rechnerarchitektur

Technische Informatik II Rechnerarchitektur Technische Informatik II Rechnerarchitektur 3.Unterprogramme in MMIX Matthias Dräger E-Mail: www: mdraeger@mi.fu-berlin.de www.matthias-draeger.info/lehre/sose2010ti2/ tinyurl.com/sose2010ti2 Zuletzt bearbeitet:

Mehr

Das Rechnermodell von John von Neumann

Das Rechnermodell von John von Neumann Das Rechnermodell von John von Neumann Historisches Die ersten mechanischen Rechenmaschinen wurden im 17. Jahhundert entworfen. Zu den Pionieren dieser Entwichlung zählen Wilhelm Schickard, Blaise Pascal

Mehr

Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44

Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44 Aufgabe 33 a) Der Pseudobefehl move $rd,$rs wird als addu $rd,$0,$rs übersetzt. Dabei macht sich SPIM zunutze, dass das Register $0 immer Null ist. Somit wird das Register $rd ersetzt durch $rd=0+$rs=$rs,

Mehr

9.0 Komplexe Schaltwerke

9.0 Komplexe Schaltwerke 9.0 Komplexe Schaltwerke Die Ziele dieses Kapitels sind: Lernen komplexe Schaltwerke mittels kleinerer, kooperierender Schaltwerke zu realisieren Verstehen wie aufgabenspezifische Mikroprozessoren funktionieren

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

Cls. Der Aufbau der Schaltung geschieht mit dem HWPRAK-Altera-Board, das in diesem Versuch nun aus den folgenden Komponenten besteht:

Cls. Der Aufbau der Schaltung geschieht mit dem HWPRAK-Altera-Board, das in diesem Versuch nun aus den folgenden Komponenten besteht: 9 Versuch Nr. 7 9.1 Anmerkungen zum Versuch Nr. 7 In den letzten drei Versuchen haben Sie die wichtigsten Bestandteile eines Rechners kennen gelernt, in der Software MAX+PlusII eingegeben und in den Baustein

Mehr

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet.

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet. Übung Nr. 1b: MIKROPROZESSOR, Hewlett - Packard µ-lab en sind kleine Computer, die mit externen Geräten Daten austauschen können. Sie verfügen über Speicher, um Programme und Daten zu speichern und Eingangsund

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

Einführung in AVR Assembler

Einführung in AVR Assembler Einführung in AVR Assembler Dennis Fassbender Institut für Technik Autonomer Systeme (LRT8) Universität der Bundeswehr München 09042014 Was ist Assembler? Low-level-Programmiersprache Erlaubt direkten

Mehr

Neues vom STRIP Forth-Prozessor

Neues vom STRIP Forth-Prozessor Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft April 2013 in Garmisch-Partenkirchen Willi Stricker 1 STRIP Forth-Prozessor STRIP32 32 Bit-Version Eigenschaften: Die 32-Bit-Version ist nahezu

Mehr

Philipp Grasl PROZESSOREN

Philipp Grasl PROZESSOREN 1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION

Mehr

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Von-Neumann-Rechner (John von Neumann : 1903-1957) C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Quelle: http://www.cs.uakron.edu/~margush/465/01_intro.html Analytical Engine - Calculate

Mehr

Übung -- d001_7-segmentanzeige

Übung -- d001_7-segmentanzeige Übung -- d001_7-segmentanzeige Übersicht: Der Steuerungsablauf für die Anzeige der Ziffern 0 bis 9 mittels einer 7-Segmentanzeige soll mit einer speicherprogrammierbaren Steuerung realisiert werden. Lehrziele:

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz der Mikrocontroller der 51er -Familie Befehlssatz der Mikrocontroller der 51er -Familie Abkürzungen: Mikrocontrollerfamilie 8051 Befehlssatz A : Akkumulator Rn : Register R0..R7 Ri : R0 oder R1 dadr : direkte Byte-Adresse im int. Speicher

Mehr

Rechnergrundlagen SS 2007. 11. Vorlesung

Rechnergrundlagen SS 2007. 11. Vorlesung Rechnergrundlagen SS 2007 11. Vorlesung Inhalt Evaluation der Lehre (Auswertung) Synchroner/asynchroner Systembus Kontrollfluss/Datenfluss RISC vs. CISC Speicherhierarchie Cache Lesen Schreiben Überschreiben

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

Mehr

2004, Thomas Barmetler Automatisierungstechnik Programmierung einer SPS

2004, Thomas Barmetler Automatisierungstechnik Programmierung einer SPS Programmiersprachen Es gibt mehrere Möglichkeiten eine SPS zu programmieren. Meist stehen je nach Hersteller nicht alle der prinzipiellen vorhandenen Sprachen zur Verfügung. Textförmige Programmiersprachen:

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016.

Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016. Schaltsymbole in der Digitaltechnik Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016. In diesem Anhang erfolgt eine Zusammenfassung der wichtigsten Begriffe

Mehr

Daniel Betz Wintersemester 2011/12

Daniel Betz Wintersemester 2011/12 Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register

Mehr

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des

Mehr

Was ist die Performance Ratio?

Was ist die Performance Ratio? Was ist die Performance Ratio? Wie eben gezeigt wäre für k Pipeline Stufen und eine große Zahl an ausgeführten Instruktionen die Performance Ratio gleich k, wenn jede Pipeline Stufe dieselbe Zeit beanspruchen

Mehr

einfache PIC-Übungsprogramme

einfache PIC-Übungsprogramme einfache PIC-Übungsprogramme Schreibe in MPLAB für das PIC-Übungsboard 01 mit dem PIC16F88 folgendes Programm, assembliere und dokumentiere dieses, schreibe es anschließend mittels dem Programmiergerät

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Algorithmen zur Integer-Multiplikation

Algorithmen zur Integer-Multiplikation Algorithmen zur Integer-Multiplikation Multiplikation zweier n-bit Zahlen ist zurückführbar auf wiederholte bedingte Additionen und Schiebeoperationen (in einfachen Prozessoren wird daher oft auf Multiplizierwerke

Mehr

Fehlerkorrektur Bild 3.190 Demoprozessor

Fehlerkorrektur Bild 3.190 Demoprozessor 7 Prozessor 3 0 Flags C V N Z A IP 0 SP AB 8 MS W/R DB 4 00h..6Fh Daten Speicher 70h..70h PA 71h..71h PB 72h..73h PC 74h..76h PD 80h..FFh Programm Speicher Fehlerkorrektur Bild 3.190 Demoprozessor Die

Mehr

AVR-Mikrocontroller in BASCOM programmieren, Teil 2

AVR-Mikrocontroller in BASCOM programmieren, Teil 2 jean-claude.feltes@education.lu 1 AVR-Mikrocontroller in BASCOM programmieren, Teil 2 13. Interrupts 13.1 Externe Interrupts durch Taster Wenn Taster mittels Polling abgefragt werden, wie in Teil 1 beschrieben,

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

Mehr

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU

Mehr

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006 3AA Prof. Dr. Wolfgang P. Kowalk Universität Oldenburg WS 2005/2006 Version vom 24.10.2005 Übersicht Einführung in maschinennahe Programmierung Verständnis für grundlegende Vorgänge im Computer Jedes Programm

Mehr

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04. Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.

Mehr

8.3 PCA2.D12 Display-Modul mit 4 Ziffern

8.3 PCA2.D12 Display-Modul mit 4 Ziffern PCD1 - PCD2 Anzeige- und Bedienmodule 8.3 PCA2.D12 Display-Modul mit 4 Ziffern Allgemeines Das Modul PCA2.D12 ist ein Ferndisplay, welches über Ausgänge einer SAIA PCD angesteuert wird. Es besitzt eine

Mehr

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Themen heute Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Besprechung des 3. Übungsblattes Aufgabe 3 Speicherplätze für Mikrocode-Anweisungen

Mehr