Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

save

No description
by

Cordelia Schuler

on 3 May 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of save

1.Lehrjahr Hard- & Softwaretechnik Grundlagen Teil I Kombinatorisch Sequentiell Analog Digital Analoge Grössen können innerhalb eines zulässigen Bereichs jeden beliebigen Wert annehmen -> unendlich viele Wertzuweisungen möglich Signalverlauf: kontinuierlich diskret t t Signalverlauf: Digitale Grössen bestehen aus abzählbaren Elementen. Oft werden zur Veranschaulichung Zahlen durch Ziffern dargestellt (Bsp. Digitaluhr) Logische Zustände Wahr (1) oder Falsch (0) Physikalische Zuweisung (fix): U=5V -> High
U=0V -> Low Positive Logik: High = 1 = H
Low = 0 = L Befasst sich mit stetigen Grössen Befasst sich mit zweiwertigen Grössen Logikelemente AND & A B Y A B Y 0 0 1 1 0 0 1 1 0 0 0 1 Y = AB OR >1 A B Y A B Y 0 0 1 1 0 0 1 1 0 1 1 1 Y = A + B NOT 1 A Y A Y 0 1 1 0 Y = A NAND & A B Y A B Y 0 0 1 1 0 0 1 1 1 1 1 0 Y = AB NOR >1 A B Y A B Y 0 0 1 1 0 0 1 1 1 0 0 0 Y = A + B EXOR =1 Y A B A B Y 0 0 1 1 0 0 1 1 0 1 1 0 Y = (AB) + (AB) EXNOR = Y A B A B Y 0 0 1 1 0 0 1 1 1 0 0 1 Y = (AB) + (AB) Es gibt 16 Möglichkeiten für die Verknüpfung von 2 Eingangsvariablen, davon sind 10 technisch verwertbar. Inhibition & A B Y A B Y 0 1 0 1 0 1 0 1 0 1 0 0 Y = AB & A B Y 0 1 0 1 0 1 0 1 0 0 1 0 Y = AB Implikation & & A A B B Y Y A B Y 0 1 0 1 0 1 0 1 1 0 1 1 Y = AB A B Y A B Y 0 1 0 1 0 1 0 1 1 1 0 1 Schaltalgebra Ein System wird kombinatorisch genannt, wenn zu jedem Zeitpunkt der Zustand der Ausgangsgrössen nur vom Zustand der Eingangsgrössen abhängig ist. Ermöglicht: 1. Erfassen der Funktion gegebener
Schaltungen (Analyse)
2. Entwurf einer Schaltung zu einem gegebenen
Problem (Synthese)
3. Vereinfachung von Schaltungen Rechenregeln: Kommutativgesetz: ab = ba a+b = b+a
Assoziativgesetz: a(bc) = (ab)c a+(b+c) = (a+b)+c
Distributivgesetz: a(b+c) = (ab) + (ac) a+(bc) = (a+b)(a+c)
Absorptionsgesetz: a(a+b) = a a+(ab) = a
Tautologie: aa = a a+a = a
Gesetz der Negation: aa = 0 a+a = 1
Doppelte Negation: a = a
De Morgans Gesetz: ab = a+b a+b = ab
Operationen mit 0 und 1: a1 = a a+0 = a
a0 = 0 a+1 = 1
0 = 1 1 = 0 AND-Verknüpfungen binden stärker als OR-Verknüpfungen! Disjunktive Normalform Erhält man durch Aufsuchen aller Zeilen der Wahrheitstabelle, in denen die Ausgangsvaribale X den Zustand 1 besitzt. Von jeder dieser Zeilen bildet man die Konjunktion aller Eingangsvariablen (Variablen mit dem Zustand 1 werden direkt, solche mit dem Zustand 0 invertiert übernommen). So erhält man gerade so viele Konjunktionen wie Zeilen mit X=1. Die gesuchte Funktion erhält man, indem man die Disjunktion aller Konjunktionen bildet. Zeilen Nr. a b c X 1 2 3 4 5 6 7 8 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 1 1 X=1 in Zeile 3: K3= abc
Zeile 5: K5 = abc
Zeile 7: K7 = abc K = Konjunktion Die gesuchte Funktion ergibt sich nun als die Disjunktion der Konjunktionen. X = K3 + K5 + K7
X = (abc) + (abc) + (abc) Dies ist die disjunktive Normalform der gesuchten logischen Funktion. Zur Vereinfachung werden die schaltalgebraischen Rechenregeln angewandt. X = c(ab + ab + ab) c ausklammern (Distributivgesetz)
X = c(ab + a (b + b)) a ausklammern (Distributivgesetz)
X = c(ab + a) (Negation, Verknüpfung mit 1)
X = c((a + a)(a + b)) (Distributivgesetz)
X = (a + b)c (Negation, Verknüpfung mit 1) Konjunktive Normalform Überwiegt die Zahl der Zeilen, in denen die Ausgangsvariable X=1 ist, ist es besser, die konjunktive Normalform aufzustellen. Dabei werden in der Wertetabelle jene Zeilen aufgesucht, in denen X=0 ist. Von jeder dieser Zeilen bildet man die Disjunktion alelr Eingangsvariablen (Variablen mit dem Zustand 1 werden invertiert, jene mit 0 direkt übernommen). Die gesuchte Funktion erhält man, indem man die Konjunktion aller Disjunktionen bildet. Zeilen Nr. a b c X 1 2 3 4 5 6 7 8 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 1 1 X=1 in Zeile 1: D1 = a + b + c
Zeile 2: D2 = a + b + c
Zeile 4: D4 = a + b + c
Zeile 6: D6 = a + b + c
Zeile 8: D8 = a + b + c Die Konjunktive Normalform der gesuchten logischen Funktion ergibt sich nun als Konjunktion der Disjunktion D1 bis D8: X = (a+b+c)(a+b+c)(a+b+c)(a+b+c)(a+b+c) Nach der Vereinfachung erhält man auch hier X = c(a + b) Torschaltungen in NAND-Technik Um mit einer möglichst kleinen Anz. versch. IC's auszukommen, reduziert man die 4 Grundtorarten auf eine einzige. In der 74..-Serie werden z.B. die Funktionen OR, NOR, AND praktisch immer durch NAND-Tore in Verbindung mit Invertern gebildet. Es ist sogar möglich NAND-Tore als Inverter zu benutzen und mit einem einzigen IC-Typ auszukommen. KV-Diagramm 2 Eingangsvariablen Felder: 2^n = 2^2 = 4
n = gerade -> Quadrat a b X 0 0 1 1 0 0 1 1 0 0 1 0 AND-Funktion 1 0 0 0 a a b b ... Vereinfachen der Funktionsgleichung mit dem KV-Diagramm Den eigentlichen Sinn erhält das KV-Diagramm erst, wenn eine grafische Vereinfachung vorgenommen wird. Man sucht dazu Gruppen von 2,4,8,16... Einer, die zusammen ein Rechteck oder Quadrat bilden. Bei der Aufstellung der disjunktiven Normalform kann man direkt die Konjunktion der ganzen Gruppe gewinnen, indem man lediglich die Konjunktion derjenigen Eingangsvariablen bildet, die in allen Feldern der Gurppe gleich sind. Möglichkeiten Gruppen zu bilden: 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 "Zweistöckiges" KV-Diagramm mit 5 Eingangsvariablen Dem unteren Stockwerk wird die Koordinate E zugeordnet, dem Oberen E. Die für die anderen KV-Diagramme gültigen Regeln gelten auch für KV-Diagramme mit 5 Variablen, mit folgenden Ergänzungen: - Ein Päckchen darf 2,4,8,16 oder 32 benachbarte
Vollkonjunktionen umfassen
- Benachbart sind auch Vollkonjunktionen, deren
Felder man sich übereinander vorstellen muss "Vierstöckiges" KV-Diagramm mit 6 Eingangsvariablen Die 4 Stockwerke kann man in einer Ebene ausbreiten. Bei der Päckchenbildung muss man dann stets daran denken, dass die vier Tafeln eigentlich übereinander liegen. Zahlensysteme Dezimalsystem Positionssystem: Jede Ziffer hat ihren Wert entsprechend ihrer Position 2573 10 2 5 7 3 Basis 10 10^3 10^2 10^1 10^3 Ziffernfolge Stellenwert Dualsystem 2-wertiges zahlensystem, besitzt nur die Ziffern 0 und 1 1101 2 1 1 0 1 Basis 2 2^3 2^2 2^1 2^0 Ziffernfolge Stellenwert Zahlensysteme, die nach dem Positionssystem aufgebaut sind, besitzen einen Ziffernvorrat, der dem Wert der Basis entspricht (z.B. Dualsystem = 2 Ziffern) Der Wert der höchsten Ziffer ist um 1 kleiner als die Basis Der Stellenwert des linken Nachbarn einer Ziffer ist um den Faktor der Basis grösser, derjenige des rechten Nachbarn um denselben Faktor kleiner Oktal- und Hexadezimalsystem Im Oktalsystem werden jeweils 3 Dualziffern zu einer Oktalziffer zusammengefasst Im Hexadezimalsystem werden 4 Dualziffern zu einer HEX-Ziffer zusammengefasst Basis Ziffernvorrat Oktalsystem HEX-System 8 16 0...7 0...9, A...F Rechnen mit Dualzahlen Darstellung negativer Zahlen: Zahlenbereich positive Zahlen positive und negative Zahlen 4-Bit-Arithmetik 8-Bit-Arithmetik 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 16 versch. Zustände können angezeigt werden 256 versch. Zustände können angezeigt werden 1111'1111 1000'0000 0111'1111 0000'0000 0111'1111 0000'0000 1111'1111 1000'0000 225 10 FF H 128 10 127 10 0 10 80 H 7F H 00 H 127 10 0 10 10 10 H H H H 7F 00 FF 80 -1 -128 Bei der Darstellung positiver und negativer Zahlen zeigt das MSB das Vorzeichen an Einerkomplement = invertieren jeder Zahl
Zweierkomplement = 1 zum Einerkomplement dazuaddieren Addition und Subtraktion Rechenregeln: Operation Ergebnis Übertrag Operation Ergebnis Übertrag 0+0 0+1 1+0 1+1 1+1+1 0-0 0-1 1-0 1-1 0-1-1 1-1-1 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 0 1 -1 -1 -1 0 0 Subtraktion durch Addition mit Zweierkomplement: Rechner führen eine Subtraktion meist als Additino mit einer negativen Zahl durch Beispiel: Ein 8-Bit-Rechner soll die Subtraktion 10111-110 durchführen. Vorgehen: 1. Ergänzung auf Bit-Breite des Rechners, hier 8 Stellen
2. 2er-Komplementbildung des Subtrahenden
3. Durchführung der Addition Multiplikation und Division Rechenregeln: Multiplikation 0*0 = 0
0*1 = 0
1*0 = 0
1*1 = 1 Division 0:1 = 0
1:1 = 1 Codes Ein Code ist ein System von Regeln und Übereinkünften, das die Zuordnung von Zeichen zweier verschiedener Alphabete erlaubt. Code gilt auch als Bezeichnung für die konkreten Zuordnungsvorschriften selbst. Die Zeichenumsetzung (Codierung) ist im allg. umkehrbat eindeutig. ASCII-Code: American Standard Code for Information Interchange. Heute meist verbreiteter Code um mit Mikroprozessoren Zeichen auf einem Bildschirm darzustellen. Wurde in Ameika für die Telegraphie definiert. Die ersten 32 Zeichen und das Zeichen DEL (127) sind Steuerzeichen für die Datenübertragung. Die ASCII-Tabelle hatte ursprünglich nur 128 Zeichen (0-127). IBM erweiterte sie um das Doppelte und fügte in der zweiten Hälfte Sonderzeichen und Grafiksymbole ein. BCD-Code: Binary Code Decimals. Eng verwandt mit dem dualen Zahlensystem. Im BCD-Code wird jede Dezimalziffer durch 4 binäre Stellen (4 Bit) dargestellt. Einiheiten von 4 binären Stellen nennt man Tetrade. Eine n-stellige Dezimalzahl wird im BCD-Code durch n-Tetraden dargestellt. Gray-Code: Bei der Entwicklung wurde darauf geachtet, dass beim Übergang von einer Tetrade auf die nächste immer nur eine Stelle von 0 auf 1 oder von 1 auf 0 ändert. Es verändert sich also immer nur 1 Bit der Tetrade. Solche Codes werden einschrittige Codes genannt. Der Gray-Code wird vor allem verwendet, wenn Kodierungen von Steuerscheiben abgetastet werden müssen. Dann dürfen nicht mehrere Bits auf einmal wechseln, weil nie alle exakt zum gleichen Zeitpunkt wechseln würden und es deshalb zu Fehlinterpretationen kommen würde. Morse-Code: Ein in der Telegrafie verwendeter Code aus Strich-Punkt-Kombinationen. Strich-Code: Es gibt viele versch. Barcodes. Für die Artikelbezeichung im europäischen Detailhandel wrude der EAN-Code (European Article Number Code) entwickelt. Er basiert auf einem Vorschlag von IBM. Es gibt 2 Varianten, den EAN-8 un den EAN-13 Code. Fehlererkennung: Ein generelles Problem bie der Codierung und Übertragung von Informationen. Die Fehlererkennungs-Mechanismen des EAN-Codes gelten auch für andere Codes. Der EAN-Code besitzt eine zweistufige Fehlererkennung. Stufe 1: Die einzelne Ziffer; Stufe 2: Die ganze Artikelnummer Multiplexer/Demultiplexer Mit einem Demultiplexer kann man eine Information an versch. Ausgänge weitergeben. Mit Steuerleitungen kann der gewünschte Ausgang gewählt werden Multiplexer = Umkehrung eines Demultiplexers Beide werden in analogen und digitalen Schaltungen angewendet. Mit 2 Steuerleitungen können 2^2 versch. Ein- bzw. Ausgänge angewählt werden Anwendungen: - Wandlung sequentieller in parallele Datenströme bzw. umgekehrt
- Erweiterung digitaler Ein- bzw. Ausgänge eines Mikroprozessors
(bei Ausg. oft mit Latch)
- Speicherauswahl (Mikroprozessorsysteme) Einleitung Bei den bisher betrachteten Digitalschaltungen waren Ausganszustände einzig und allein von anliegenden Eingangsgrössen abhängig -> Schaltnetz oder kombinatorische Schaltung Schaltungen bei denen der Ausganszustand nicht nur von den Eingangsgrössen abhängt, sondern auch von den Signalzuständen vor dem betrachteten Zeitpunkt -> Schaltwerke oder sequentielle Schaltungen Sequentielle Schaltungen brauchen Speicherelemente um die "Vorgeschichte" festzuhalten. Man verwendet Flipflops, auch bistabile Kippstufen oder bistabile Multivibratoren genannt. Flipflops Im Wesentlichen unterscheidet man folgende Flipflop-Arten: - RS-Flipflop
- D-Flipflop
- JK-Flipflop Allgemeines Symbol: E1 E2 A1 A2 - Speisespannungs-Anschlüsse werden nicht gezeichnet
- An den Ausgängen liegen entgegengesetze Zustände
- 1 an E1 schaltet das FF auf 1 an A1 (Vorgang = Setzen) RS-Flipflop Einfachstes FF S R S R Q Q Befehl wird mit 1 gegeben S R S R Q Q Befehl wird mit 0 gegeben Der Zustand der Ausgägne Q und Q-Quer wird durch den Zustand der Eigänge R und S und durch die Vorgeschichte bestimmt. Die Zeit spielt bei Speicherbausteinen eine wichtige Rolle! Q = Ausgang zum Zeitpunkt tn
Qn-1 = Ausgang vor tn
Qn+1 = Ausgang nach tn Realisierung eines RS-FF: Q Q R S >1 >1 Zeitdiagramm: t Verbotener Zustand! S=R=1 kann nicht sein Wahrheitstabelle: S R Q Q 0 0 1 1 0 1 0 1 Qn-1 0 1 0 Qn-1 1 0 0 Bemerkungen: Nachteil: Bei S=R=1 sind beide Ausgänge 0, Q muss aber immer invers zu Q-Quer sein. Das FF darf nicht gleichzeitig gesetzt und gelöscht werden. Getaktetes RS-FF & & S R Q Q E1 E2 T Symbol: S C R Q 1S C1 1R Zahlen nach der Eingangsbezeichnung = steuernder Eingang
Zahlen vor der Eingangsbezeichnung = gesteuerter Eingang S R S R & & Reset dominant: Q Q S' R' S' R' S R Q 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 -> Reset dominant vorheriger Zustand Set dominant: S' R' Q Q S' R' S R Q 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 1 -> Set dominant vorheriger Zustand D-Flipflop Um einen Inverter erweitertes RS-FF D=delay=Verzögerung. Das D-Ff verzögert das Eingangssignal bis das Taktsignal kommt D T Q Q 1D C1 JK-Flipflop Ein Universal-FF sollte den Speicher-, den Setz- und den Rücksetzfall des RS-FF haben. Im Fall S=R=+ sollte das FF bei jedem Takt kippen. Diese Anforderung erfüllt das JK-FF Taktflankengesteuertes JK-FF: J C K Q Q 1J >C1 1K Auf positive Flanke reagierend 1J >C1 1K J C K Q Q Auf negative Flanke reagiered Macht man nun bei einem JK-FF J=K=1, erhält man ein T-FF welches bei jedem Taktimpuls toggelt T-Flipflop >T Q Q T MS-Flipflop Werden mehrere taktflankengesteuerte FFs hintereinander geschaltet (Bsp. Schieberegister), so können einzelne Bits "durchrutschen", dieses unterwünschte "durchrutschen" kann mit einem sog. Master-Slave-FF verhindert werden Bestehen aus 2 hinereinander geschalteten FFs, wobei das 1. auf die positive, und das 2. auf die negative Taktflanke reagieren E1 E2 Q Q 1S >C1 1R clk 1S >C1 1K Mit der positiven Flanke wird der Eingangswert vom Master-FF zwischengespeichert. Mit der negativen Flanke wird er vom Slave-FF übernommen Der Nachteil des irregulären Zustandes kann durch ein MS-JK-FF beseitigt werden. Das MS-JK-FF ist das meistverwendete FF MS-RS-FF: S C R Q Q 1S >C1 1R Aufnahme des Signals mit positiver Taktflanke; Weitergabe mit negativer Taktflanke Steht dafür, dass es ein MS-FF ist MS-JK-FF: J C K Q Q 1J >C1 1K Aufnahme des Signals mit negativer Taktflanke; Weitergabe mit negativer Taktflanke Flipflops mit Direkteingängen Um unabhängig vom Takt und den Vorbereitungseingängen den Ausgang direkt zu beeinflussen, gibt es Flipflops mit Direkteingängen P J T K C Q Q Pre 1J >C1 1K Clr Preset Clear P = 0 und C = 1: Q = 1 und Q = o; unabhängig von J,K,T
P = 1 und C = 0: Q = 0 und Q = 1; unabhängig von J,K,T
P = C = 1: FF arbeitet als normales MS-JK-FF
P = C = 0: ist irregulär Schaltwerke Schaltwerke sind aus Flipflops aufgebaute Schaltungen. Sie dinen vorwiegend zur Impulszählung, Frequenzteilung und Speicherung binärer Signale. Schaltnetz Variablen-
speicher X0 X1 Xn CLK Y0 Y1 Yn Z(0...n) gespeicherter vorher Zustand Dieses System kennt die Eingangsvariablen X(n). Ebenso wirken die Ausgänge der FF Z(n) (Zustandsvariablen), wieder als Eingänge. Dazu kommen die Ausgangsvariablen Y(n) Unterscheidung zwischen asynchronen Systemen (ein FF-Ausgang schaltet ein nachfolgendes FF) und synchronen Systemen (FFs werden durch einen gemeinsamen Takt gleichzeitig geschaltet) Wenn viele asynchronen FFs ine einem grösseren System hintereinander geschaltet sind, addieren sich die einzelnen im Normalfall nicht störenden Verzögerungen.Das letzte FF schaltet dann wesentlich später als das 1. -> asynchroner Betrieb. Mit dem Clock kann das Schaltwerk zeitlich sauber gesteuert werden Zählschaltungen schaltet man mehrere FFs hintereinander, so entsteht ein Binärzähler Zählereinteilung: - nach Wirkungsweise: asynchrone und synchrone Zähler
- nach Zählrichtung: Vorwärts- und Rückwärtszähler
- nach Codierung: Binär-, Dezimal-, BCD-Zähler Zähler Synchron Asynchron Dualzähler BCD-Zähler Weitere Zähler Dualzähler BCD-Zähler Weitere Zähler Asynchrone Zähler Schaltzeichen 4-Bit-Dual-Vorwärtszähler auf pos. Flanke getriggert: >+ + + + + Q0 Q1 Q2 Q3 Schaltzeichen 8-Bit-Dual-Rückwärtszähler auf neg. Taktflanke reagierend mit MS-FF aufgebaut > - - - - - - - - E Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Synchrone Zähler Für hohe Zählfrequenzen verwendet Frequenzteiler Jeder Synchron- und Asynchron-Dualzähler kann auch als Frequenztieler mit festem Teilverhältnis arbeiten. Gilt nur für Teilverhältnisse der Zeierpotenzreihe (2:1, 4:1, 8:1...). Für andere Teilverhältnisse braucht es eine entsprechende Zusatzbeschaltung und evtl. Rüchsetzeingänge. Schieberegister Für den Aufbau werden getaktete D-, RS-, JK-, oder JK-MS-FFs verwendet. Schieberegister sind Zwischenspeicher. Schieberegister für serielle Ein- und Ausgabe: - Jeder Takt schiebt das am Eingang anliegende Bit um eine Stufe weiter
- Nach dem 4. Takt ist ein 4-Bit-Register voll
- Mit jedem weiteren Takt werden die Bits am Ausgang seriell ausgegeben Schieberegister für Parallelausgabe: Während der Parallelausgabe darf das Schieberegister keine Schiebetakte erhalten. Um den Schiebetakt bei Parallelausgaben zu unterdrücken werden "Verriegelungsschaltungen" verwendet, welche auf Parralelausgabe oder Seriebetrieb umschalten können. Spezielle Schieberegister: Es gibt auch Schieberegister mit Parallelausgabe und -eingabe (via Direkteingänge setzbar).
Ringregister (Umlaufregister): Ausgang und Eingang sind verbunden, die Information wird im Ring geschoben. Verwendet wenn Informationen fortlaufend wiederholt werden sollen. Synthetisierung 1. Wahrheitstabelle (Altzustände (Anz. FFs))
2. Zuordnen der Neuzustände (für jedes FF nach Clock)
3. Deifinieren der FF-Eingänge für gewünschtes Verhaltne
4. Vereinfachen der FF-Eingangskombinatorik (KV)
5. Zeichnen der Schaltung Aufbau und Arbeitsweise von Computern Grundlagen Teil II Signalverarbeitungsarten Eine festverdratete Logik verarbeitet die Signale meist gleichzeitig <- parallele Signalverarbeitung
Man könnte Signale auch hintereinander verarbeiten (Computer arbeiten so) <- serielle oder sequenzielle Signalverarbeitung & >1 =1 1 1 & >1 = Eingänge A B Y S2 S1 S0 Ausgang Steuerung Die Steuerung bestimmt mit welcher Funktion die Eingänge miteinander verknüpft werden Codetabelle der Steuerung: S2 S1 S0 Bez. 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 NOP NOT AND NAND OR NOR EXOR EXNOR No operation
- keine Anweisung
- keine Veränderung
- kommt in Akku (Antivalenz) (Äquivalenz) Vom 3-Adress-Rechner zum 1-Adress-Rechner 3-Adress-Rechner Benötigt 3 Adressen, das heisst 3 adressierbare Speicherplätze. Diese werden gebraucht für Operand A, Operand B und Resultat Y 2-Adress-Rechner Braucht nur noch die Operanden-Adresse B und die Resultat-Adresse Y. Operand A ist im FF gespeichert 1-Adress-Rechner Es muss nur noch die Adresse des Operanden B angegeben werden. Operand A ist im AKKU (FF) gespeichert. Das Resultat kommt ebenfalls in den AKKU 1-Adress-Rechner mit Ein- und Ausgabeeinheit Dem 1-Adress-Rechner werden eine Ein- und eine Ausgabeeinheit beigefügt damit versch. Ein- und Ausgänge angeschaltet werden können Logikprozessor für 1 Bit Durch Hinzufügen eines Programmspeichers, eines Taktgebers, eines Programmschrittzählers, eines Befehlsdecoders und eines Adress- und Steuerleistungs-Busses erhält man einen Logik-Prozessor Logikprozessor für n Bit = Mikroprozessor Hauptunterschied zw. 1-Bit Logikprozessoren und n-Bit Logikprozessoren = Aufbau der Logikeinheit 1-Bit Logikeinheiten können nur logische Operationen ausführen
-> "Logik-Einheit" = Logic Unit = LU

n-Bit Logikeinheiten können logische und arithmetische Operationen ausführen (alle Logkoperationen plus addieren, subtrahieren, rechts & links schieben, inkrementieren, dekrementieren, vergleichen)
-> "Arithmetik- und Logik-Einheit" = Arithmetic-Logic-Unit = ALU Mikroprozessoren unterscheiden sich durch versch. Datenformate (Datenbreite), d.h. durch die Anz. Bits, die gleichzeitig verarbeitet werden können Ein komplettes Rechenwerk besteht aus ALU und AKKU. Zusammen mit dem Statusregister entsteht die "Prozessor-Einheit" = Processing Unit = PU Mikrocomputer uC Besteht aus einem Mikroprozessor (CPU), einem Programm- und Datenspeicher, einer Ein-/Ausgabeeinheit und einem Taktgeber RAM = Random Acess Memory = Schreib-Lese-Speicher = Datenspeicher ROM = Read Only Memory = Nur Lesespeicher = Befehlsspeicher (Festwertspeicher) - Ein Mikroprozessor besteht aus einem einzigen IC und ist nur in einem
Mikroprozessor-System bzw. einem uC arbeitsfähig
- Er kann nur eine Instruktio auf einmal bearbeiten
- Mikroprozessorsysteme die auf einem einzigen IC integriert sind
heissen Mikrocontroller Erste Bekanntschaft mit einem Mikrocomputer-System Programmentwurf Programmschritte:
- 1.Zahl in AKKU laden
- 2.Zahl in Register B laden
- Addiere Register B zu AKKU
- Resultat in Adresse (z.B. 1830H) speichern
- Programmende Maschinencode Code den die Maschine versteht (Dualcode).
Für möglichst geringen Programmieraufwand, wird beim "Mikroprozessor MPF-1" der HEX-Code als Maschinencode für die Programmierung verwendet. Codewandler im uC-System sorgen dafür, dass der Prozessor und die Speichereinheit den Dualcode erhalten.
An jeder Speicheradresse im Bsp. hat 1 Byte platz = 2-stellige Hexzahl Assemblersprache Prozessorspezifische Programmiersprache. Besteht aus Befehlen in Kurzform (Mnemonics) die jeweils mehrere Hexzahlen zusammenfassen Laden des Programms 1. Reset-Taste drücken [RS]
2. Adress-Taste drücken [ADDR]
3. Startadresse eingeben
4. Datendtaste drücken [DATA]
5. Ersten Programmbefehl eingeben
6. Durch drücken der [+]-Taste erhöhen der Adresse um 1
7. Eingabe des restlichen Programms auf dieselbe Art Tastenbelegung [RS] : Neustart
[ADDR] : Speicheradresse
[REG] : Register Name
[DATA] : Dateneingabe
[PC] : Programm Zähler
[+] : Speicheradr. oder Register um 1 erhöhen
[-] : Speicheradr. oder Register um 1 verringern
[STEP] : stufenweise Programmdurchführung
[SBR] : Eingabe eines Unterbrechungspunktes im Progr.
[CBR] : Löschen eines Unterbrechungspunktes im Progr.
[MONI] : sofortiger Progr.abbruch
[GO] : Progr.start
[INS] : Einfügen von 1 Byte in den Speicher
[DEL] : Herausnehmen von 1 Byte aus dem Speicher
[MOVE] : Datenblock verschieben
[RELA] : Kalkulation von relativen Adr.
[TAPE WR] : Speicherung von Daten auf Band vom Speicher
[TAPE RD] : Überspielen von Daten vom Band in den Speicher
[INTR] : Unterbrechen; verbunden mit INT-Anschluss der CPU
[USER KEY] : frei programmierbare Taste, verbunden mit Port 00, Bit 6
[0...F] : Hexzahlen oder Register Namen Flag-Register (F-Register) 8-Bit-Register, das nach gewissen arithmetischen oder logischen Operationen bestimmte Eigenschaften der Ergebnisser erhält AKKU Flag-Register Programmstatuswort-PSW S Z X H X P N C Sign-Flag
Zero-Flag
Half-Carry-Flag
Parity-Flag
Subtract-Flag
Carry-Flag X: nicht als Flag verwendet, H und N: nur im Rechenwerk für BCD-Arithmetik benutzt Sign-, Zero-, Parity- und Cary-Flag können von Programmen bei bedingten Sprüngenabgefragt werden, sind deshalb von grosser Bedeutung für die Programmierung Sign-Flag Zeigt die höchstwertige Bitstelle des AKKU, das MSB an. Bei der Bearbeitung von pos. und neg. Zahlen, wird mit diesem Flag das Vorzeichen angezeigt Resultat pos.: 0
Resultat neg.: 1 Zero-Flag Zeigt an, wenn ein Resultat im AKKU 00H ist Akku = 00H
Akku <> 00H Half-Carry-Flag Gesetzt, wenn im AKKU ein Hilfsübertrag entstanden ist Akku > 0FH : 0
Akku < 0FH : 1 Parity-Flag 4 versch. Bedeutungen, je anch Befehlsgruppe - Overflow-Flag: Bei arithmetischen Befehlen wird es beim Überlauf von der zweithöchsten in die höchstwertige Stelle gesetzt. Beim Rechnen mit pos. und neg. Zahlen enthält die höchstwertige Stelle das Vorzeichen

- Parity-Flag: Bei den meisten Befehlen wird jedoch die Anz. der "1" gezählt

Akku = 01110100 1 EVEN Parity (gerade Anz.)
Akku = 11101010 0 ODD Parity (ungerade Anz.)

- Nullanzeige bei Blockbefehlen: Bei Befehlen für "Block transportieren" und "Block durchsuchen" zeigt das Block-Flag den Zustand des BC-Registers an, das bei diesen Operationen als Zählregister verwendet wird

BC = 0000H 0
BC <> 0000H 1

- Anzeige des Interrupt-Enable-FFs: Einzige Möglichkeit den gerade aktuellen Zustand der Interruptverarbeitung zu lesen Subtract-Flag Zeigt an, dass die vorhergehende Operation eine Subtraktion war
Subtraktion = 1 Carry-Flag Zeigt an, das bei der Vorangegangenen Operation ein Übertrag über die höchstwertige Stelle (MSB) der Ergebnisregisters hinaus entstanden ist
Übertrag bei Akku > FFH 1
Full transcript