Mikroprozessortechnologie. Grundlagen der Mikroprozessortechnik

Im Diagramm sehen wir die Hauptelemente des einfachsten Mikroprozessorgeräts. Alle Namen werden in russischer und englischer Fassung angegeben. Wenn Sie sich weiterhin mit Mikroprozessortechnik befassen, müssen Sie außerdem darauf vorbereitet sein, dass Sie in der Praxis ausschließlich auf englische Bezeichnungen stoßen. Lassen Sie uns diese Notationen entschlüsseln:

Zentralprozessor- Zentraleinheit (Zentraleinheit - CPU)

RAM- Arbeitsspeicher (RAM)

Rom- Nur-Lese-Speicher (ROM)

HafenICH /Ö– Ein-/Ausgabe-Port

Was ein Prozessor ist, wissen Sie bereits ein wenig. RAM und ROM sind zwei Arten von Speicher. Sie konnten nicht getrennt werden. Der Prozessor trennt sie nicht und arbeitet mit beiden Speichertypen gleich. Es gibt jedoch einen ziemlich signifikanten Unterschied zwischen ihnen. RAM speichert Informationen nur, wenn die Versorgungsspannung vorhanden ist. Das klassische Beispiel einer RAM-Zelle ist das einfachste Register, das auf D-Flip-Flops aufgebaut ist. In ein solches Register können Informationen geschrieben und dort gespeichert werden. Aber nach dem Ausschalten werden beim nächsten Einschalten alle D-Flip-Flops des Registers auf eine zufällige Position gesetzt. Die Informationen gehen verloren. Auf parallelen Registern basierender RAM wird mittlerweile fast nicht mehr verwendet. Allerdings wurde bis heute kein ausreichend schnelles Speichergerät erfunden, das bei Stromausfall keine Informationen verliert.

Moderne RAMs basieren auf unterschiedlichen Prinzipien. Mittlerweile dominiert in der Mikroprozessortechnik das sogenannte dynamische RAM. Um Informationen zu speichern, verwenden sie Miniaturkondensatoren, die integral auf einem Siliziumkristall hergestellt sind. Jeder Kondensator speichert ein Bit an Informationen. Das Eingangssignal wird über einen Decoder an diesen Kondensator angelegt und, wenn es sich um eine logische Einheit handelt, wird der Kondensator aufgeladen. Liegt eine logische Null vor, dann wird entladen. Anschließend trennt der interne Schalter den Kondensator von allen Stromkreisen und die geladenen Kondensatoren speichern ihre Ladung für einige Zeit. Aber diese Kondensatoren sind sehr klein. Und ihre Kapazität ist auch gering. Daher halten sie ihre Ladung nur wenige Millisekunden lang. Damit unabhängig davon, welche Informationen verloren gehen, ein Speicherregenerationsschema verwendet wird. Alle Speicherzellen sind als eine Reihe von Zeichenfolgen organisiert. Eine spezielle Schaltung liest regelmäßig Zeile für Zeile Informationen aus dem Speicher. Nach dem Lesen der nächsten Zeile werden die gelesenen Informationen erneut in dieselben Speicherzellen geschrieben. Anschließend werden die Kondensatoren wieder aufgeladen. Damit DRAM normal funktioniert, muss die Schaltung des Mikroprozessorgeräts während der gesamten Laufzeit des Systems kontinuierlich für eine solche Regeneration sorgen. Auch der Arbeitsspeicher moderner Großrechner ist nach dem dynamischen Prinzip angeordnet. Allerdings ist die Regenerationsschaltung in die RAM-Chips selbst integriert.

ROMs werden mit einer anderen Technologie erstellt. Sie werden permanente Speichergeräte genannt, weil Informationen einmalig, entweder während ihrer Herstellung oder unmittelbar vor der Verwendung, mit speziellen Programmierern auf sie geschrieben werden. Das Prinzip der Informationsspeicherung basiert auf dem Brennen interner Jumper in speziellen Mikroschaltungen. Jeder Jumper dient zum Speichern eines Informationsbits. Wenn eine Brücke vorhanden ist, bedeutet dies, dass in dieser Zelle ein einzelnes Informationsbit gespeichert wird. Wenn es verbrannt ist, ist die Zelle Null. Der Prozessor kann nur Informationen aus dem ROM lesen. Das Schreiben von Informationen ins ROM ist nicht möglich. Wenn der Mikroprozessor jedoch weiterhin versucht zu schreiben, passiert nichts Schlimmes. Es wird nichts aufgezeichnet. Die Zelle behält ihren Zustand vor dem Schreibversuch. ROM-Chips haben einfach keinen Schreibeingang (WR).

E/A-Ports (oder einfach Ports) sind gewöhnliche Register. Sie dienen dazu, dass das Mikroprozessorsystem beliebige externe Geräte steuern kann. Daran sind zum einen Systembusse und zum anderen externe Geräte angeschlossen. An die Ausgänge der Ausgangsports können beispielsweise Digital-Analog-Wandler (DAC) angeschlossen werden, und zwar über spezielle elektronische Schlüssel, elektromagnetische Relais, Glühbirnen, LEDs, Motoren, Magnetspulen und beliebige Aktoren. An die Eingänge der Eingangsports können Sie Analog-Digital-Wandler (ADC), Taster und Sensoren anschließen. Mit Hilfe von Ports können Sie mithilfe von Tasten und Logikelementen sogar Schalter im Schaltkreis des Mikroprozessorgeräts selbst vornehmen. In diesem Fall wird das Mikroprozessorgerät flexibel und kann sich automatisch an die ausgeführte Aufgabe anpassen.

Im Diagramm, in Abb. 24 zeigt die drei Hauptbusse des Mikroprozessorsystems. Zusammen bilden sie den Systembus. Der Systembus besteht aus folgenden Komponenten:

SD- Datenbus (DATA-Bus)

USA– Adressbus (ADDR-Bus)

SHU- Steuerbus (CONTROL-Bus)

Datenbus.

Dieser Bus dient der Übertragung von Daten vom Mikroprozessor zu Peripheriegeräten und umgekehrt. Ich möchte Sie daran erinnern, dass die Peripheriegeräte für den Prozessor Speichergeräte (RAM und ROM) und Ein-/Ausgabeanschlüsse sind. In einfachen Mikroprozessorsteuerungen sind es normalerweise 8 Bit. In komplexeren Fällen - 16, 32, 64 ... Die Anzahl der Ziffern ist immer ein Vielfaches von acht. Ein Informationsbyte (also eine binäre Acht-Bit-Zahl) wird über acht Bits übertragen. Sechzehn Bits können zwei Bytes gleichzeitig übertragen. Auf einem 32-Bit-Bus können Informationen auf drei Arten übertragen werden: ein Byte (in den unteren acht Bits), zwei Bytes (in den unteren 16 Bits) und 4 Bytes gleichzeitig. Ein ähnliches Prinzip wird im 64-Bit-Bus verwendet. Wie wir sehen können, ist ein Byte also auch zu einer Art Standard, einer Datenmaßeinheit geworden.

Adressbus.

Entwickelt, um die Adresse an alle Peripheriegeräte (sowohl an Speichergeräte als auch an E/A-Ports) zu übertragen. Die Anzahl der Adressbusbits ist sehr unterschiedlich. Beispielsweise verfügt der Mikroprozessor der K580IK80-Serie über 16 Adressbits. Dies kann als Mindestbetrag angesehen werden. Der Intel 8086-Prozessor, auf dem der Vorfahre aller modernen Personalcomputer, der IBM PC-XT, aufgebaut ist, verfügt über 20 Adressbits. Moderne Prozessoren verfügen über bis zu 32 Bit oder mehr. Die Anzahl der Adressbusbits bestimmt, wie viele Speicherzellen ein Prozessor adressieren kann. Ein Prozessor mit einem 16-Bit-Datenbus kann auf 2 16 (also 65536) Speicherzellen zugreifen. Diese Zahl wird als Speichermenge bezeichnet. Mit anderen Worten können wir sagen, dass ein solcher Prozessor über einen adressierbaren Speicher von 65536 Bytes verfügt.

Beim Rechnen wird eine ungewöhnliche Dimension zur Messung der Speichermenge verwendet. Die Zahl 1024 (und das sind 2 10) Bytes an Informationen wird allgemein als Kilobyte bezeichnet. Warum 1024 und nicht 1000? Nun, erstens, weil die Anzahl der von jedem Mikroprozessor adressierten Speicherzellen immer ein Wert ist, der einer Zweierpotenz entspricht. Um beispielsweise 1024 Speicherzellen zu adressieren, benötigt man einen Adressbus, der genau 10 Bit hat. In diesem Fall ist der Bus nicht redundant. Wenn wir nur 1000 Speicherzellen haben wollten, dann würden wir, um auf jede davon zugreifen zu können, immer noch 10 Adressbits benötigen, da mit neun Bits nur auf 512 Zellen zugegriffen werden kann. Daher hat noch nie jemand ein Speichergerät hergestellt, dessen Volumen nicht einer Zweierpotenz entspricht. Es ist logisch, dass es bequemer ist, die Speicherkapazität in Mengen aus derselben Serie zu messen.

Daher entspricht ein Kilobyte 1024 Bytes. Ein Megabyte entspricht 1024 Kilobyte. Ein Gigabyte entspricht 1024 Megabyte. Nun, unsere Technik ist noch nicht weiter fortgeschritten. Bisher beträgt der tatsächlich genutzte Speicher moderner Computer nicht mehr als ein paar Gigabyte.

Für die Ansprache der I/O-Ports wird derselbe Datenbus verwendet. Aber im Gegensatz zum Datenaustauschmodus mit RAM werden beim Austausch mit ROM normalerweise nur acht (selten 16) niederwertige Bits desselben Adressbusses verwendet. Dies liegt daran, dass es in einem echten Mikroprozessorsystem viel weniger I/O-Ports als Speicherzellen gibt.

Steuerbus.

Dieser Bus hat nicht die gleiche klare Struktur wie der Datenbus oder der Adressbus. Der Steuerbus vereint herkömmlicherweise eine Reihe von Leitungen, die verschiedene Steuersignale vom Prozessor an alle Peripheriegeräte und umgekehrt übertragen. Was sind das für Zeilen. In jedem Steuerbus gibt es notwendigerweise Leitungen, die folgende Signale übertragen:

RD– Lesesignal

WR– Aufnahmesignal

MREQ– Signal, Initialisierung von Speichergeräten (RAM oder ROM)

IORQ– Initialisierungssignal des Eingangs-/Ausgangsports

Darüber hinaus umfassen die Steuerbussignale:

BEREIT- Bereitschaftssignal

ZURÜCKSETZEN- Reset-Signal

Und noch ein paar Sondersignale, über die wir später sprechen werden.

In diesem Buch betrachten wir ein einfaches Mikroprozessorsystem, das über einen 8-Bit-Datenbus und einen 16-Bit-Adressbus verfügt.

Betrachten wir genauer, wie das in Abb. dargestellte Mikroprozessorsystem funktioniert. 28. Im Hauptbetriebsmodus wird das gesamte Mikroprozessorsystem von der Zentraleinheit (CPU) gesteuert. Gleichzeitig kann es vier Grundoperationen ausführen: Lesen aus einer Speicherzelle, Schreiben in eine Speicherzelle, Lesen von einem Port und Schreiben in einen Port.

Um ein Byte aus einer Speicherzelle zu lesen, legt der Prozessor zunächst die Adresse der gewünschten Zelle auf dem Adressbus fest. Anschließend setzt es das MREQ-Signal auf aktiv (Log. 0). Dieses Signal geht an die Speichergeräte und dient als Erlaubnis für deren Arbeit. In diesem Fall bleibt das IORQ-Signal gleich dem Protokoll. 1. Daher sind die I/O-Ports des Mikroprozessorsystems nicht aktiv.

Im nächsten Moment schaltet der Prozessor das RD-Signal in den aktiven Zustand. Dieses Signal wird sowohl an Speichergeräte als auch an E/A-Ports gesendet. Die Ports reagieren jedoch nicht darauf, da sie durch ein hohes IORQ-Signal deaktiviert werden. Im Gegensatz dazu gibt das Speichergerät, nachdem es die Steuersignale RD und MREQ empfangen hat, ein Informationsbyte von der Speicherzelle, deren Adresse über den Adressbus in ihn gelangt, an den Datenbus aus.

Das Schreiben von Daten in den Speicher erfolgt in der folgenden Reihenfolge: Zunächst legt der Zentralprozessor die Adresse der gewünschten Speicherzelle auf den Adressbus. Dann setzt es das Byte auf dem Datenbus, das in diese Zelle geschrieben werden soll. Danach wird das MREQ-Signal aktiviert und ermöglicht den Zugriff auf das Speichermodul. Und erst dann setzt der Prozessor das WR-Signal in den aktiven (log. 0) Zustand. Durch dieses Signal wird ein Byte in die Speicherzelle geschrieben, deren Adresse am Adressbus anliegt.

Einige Speichertypen sind sehr langsam. Sie haben möglicherweise nicht die Zeit, Informationen so schnell herauszugeben oder aufzuschreiben, wie der Zentralprozessor dazu in der Lage ist. Um den Betrieb langsamer Speichergeräte mit schnellen Prozessoren zu koordinieren, gibt es ein READY-Signal (Bereitschaft). Unmittelbar nachdem der Prozessor das Lese- oder Schreibsignal in den aktiven Zustand versetzt, setzt das Speichergerät das READY-Signal in den passiven Zustand (log. 0). Dieser Signalpegel bedeutet, dass das externe Gerät nicht bereit ist, also den Befehl noch nicht ausgeführt hat. Das READY-Signal wird an den Prozessor gesendet und dieser wechselt in den Standby-Modus. Wenn das Speichergerät den Befehl ausführt, versetzt es das Signal in den aktiven Zustand (log. 1). Nachdem der Prozessor dieses Signal empfangen hat, nimmt er seine Arbeit wieder auf. Das READY-Signal gilt auch für langsame I/O-Ports.

Lese- und Schreibvorgänge mit I/O-Ports ähneln Lese-/Schreibvorgängen mit RAM. Der einzige Unterschied besteht darin, dass anstelle des MREQ-Signals das IORQ-Signal in den aktiven Zustand wechselt, sodass die Ports arbeiten können.

Wie aus dem Diagramm (Abb. 24) ersichtlich ist, können mehrere Speichermodule sowie mehrere Ports an einen Systembus angeschlossen werden. Alle Geräte sind parallel an alle Busse angeschlossen. Wie kommt es, dass der Prozessor Informationen in das Speichermodul schreibt, in dem sie benötigt werden, und gleichzeitig nicht in andere Module gelangt? Hierzu ist in jedem Speichermodul ein spezieller Decoder eingebaut. Es empfängt Signale von den höherwertigen Bits des Adressbusses. Darüber hinaus wird mit Hilfe interner Jumper für jedes Modul ein eigener Adressbereich ausgewählt, sodass die Module unterschiedliche, sich nicht überschneidende Bereiche belegen. Um dies zu verdeutlichen, gehen wir davon aus, dass wir über vier Speichermodule mit jeweils sechzehn Zellen verfügen. Um sechzehn Zellen zu adressieren, genügen vier Bits des Adressbusses. Um eines der Module auszuwählen, werden zwei weitere Ziffern benötigt. Daher werden die vier niedrigstwertigen Bits des Datenbusses (D 0..D 3) allen Speichermodulen parallel zugeführt und zur Auswahl einer der Zellen im Modul verwendet. Die nächsten beiden Bits (D 4, D 5) werden den Modulauswahldecodern zugeführt. Solche Module werden auch Speicherbänke genannt. Die Jumper in den ausgewählten Modulen müssen so eingestellt werden, dass das erste Modul (Speicherbank) aktiviert wird, wenn die Bits D4, D5 den Wert 00 2 annehmen. Im zweiten Modul müssen die Jumper auf die Position gesetzt werden, an der das Modul aktiviert wird, wenn D 5, D 5 auf 01 2 eingestellt sind. Das dritte Modul wird bei D 4, D 5 =10 2 und das vierte bei 11 2 aktiviert. Bei dieser Methode zur Aktivierung von Speichermodulen belegt die erste Speicherbank Adressen von 000000 2 bis 001111 2 im Adressraum. Die zweite Bank - Adressen von 010000 2 bis 011111 2. Der dritte Wert reicht von 100000 2 bis 101111 2 . Und der vierte - von 110000 2 bis 111111 2 . Somit kann der Prozessor auf jede Zelle jeder Speicherbank zugreifen. Gleichzeitig werden alle Module parallel an alle Busse des Mikroprozessorsystems angeschlossen.

Zum Abschluss dieses Kapitels muss noch auf ein weiteres Element eingegangen werden, das in jedem Mikroprozessorsystem unbedingt vorhanden ist. Dies ist ein Taktgenerator. Auf Abb. In 24 ist der Taktgenerator der Einfachheit halber nicht dargestellt. Jeder Vorgang im Mikroprozessorsystem ist in mehrere Zyklen unterteilt. Der Taktgenerator erzeugt rechteckige Impulse, die einem speziellen Eingang des Mikroprozessors und manchmal auch einigen anderen Mikroschaltungen des Mikroprozessorsystems zugeführt werden. Diese Impulse synchronisieren alle im Mikroprozessorsystem ablaufenden Prozesse und bestimmen letztendlich die Geschwindigkeit des Gesamtsystems. Bei den Mikrocontrollern AT 89C 2051 und ähnlichen ist der Taktgenerator Teil des Controller-Chips selbst.

Grundlegende Definitionen:

Elektronisches System- In diesem Fall handelt es sich um jede elektronische Einheit, Einheit, jedes Gerät oder jeden Komplex, der Informationen verarbeitet.

Eine Aufgabe ist eine Reihe von Funktionen, die ein elektronisches System ausführen muss.

Leistung ist ein Maß dafür, wie schnell ein elektronisches System seine Funktionen ausführt.

Flexibilität ist die Fähigkeit eines Systems, sich an unterschiedliche Aufgaben anzupassen.

Redundanz ist ein Indikator dafür, inwieweit die Fähigkeiten des Systems mit der von diesem System zu lösenden Aufgabe übereinstimmen.

Schnittstelle – eine Vereinbarung über den Informationsaustausch, Regeln für den Informationsaustausch, die die elektrische, logische und konstruktive Kompatibilität der am Austausch teilnehmenden Geräte impliziert. Ein anderer Name ist Konjugation.

Ein Mikroprozessorsystem kann als Sonderfall eines elektronischen Systems betrachtet werden, das Eingangssignale verarbeiten und Ausgangssignale ausgeben soll (Abb. 1.1). Als Ein- und Ausgangssignale können dabei analoge Signale, einzelne digitale Signale, digitale Codes, Folgen digitaler Codes verwendet werden. Innerhalb des Systems können Signale (oder Informationen) gespeichert und akkumuliert werden, das Wesentliche daran ändert sich jedoch nicht. Wenn das System digital ist (und Mikroprozessorsysteme als digital klassifiziert werden), werden die analogen Eingangssignale mithilfe des ADC in Sequenzen von Beispielcodes umgewandelt, und die analogen Ausgangssignale werden aus der Sequenz von Beispielcodes mithilfe des DAC gebildet. Die Verarbeitung und Speicherung der Informationen erfolgt in digitaler Form.

Ein charakteristisches Merkmal eines traditionellen digitalen Systems besteht darin, dass die Algorithmen zur Verarbeitung und Speicherung von Informationen darin eng mit den Schaltkreisen des Systems verbunden sind. Das heißt, eine Änderung dieser Algorithmen ist nur durch Änderung der Systemstruktur, Austausch der im System enthaltenen elektronischen Komponenten und/oder der Verbindungen zwischen ihnen möglich. Wenn wir beispielsweise eine zusätzliche Summationsoperation benötigen, müssen wir der Systemstruktur einen zusätzlichen Addierer hinzufügen. Oder wenn wir eine zusätzliche Funktion zum Speichern des Codes für einen Zyklus benötigen, müssen wir der Struktur ein weiteres Register hinzufügen. Im laufenden Betrieb ist dies natürlich praktisch unmöglich; ein neuer Produktionszyklus aus Design, Herstellung und Debugging des gesamten Systems ist erforderlich. Aus diesem Grund wird das traditionelle digitale System oft als „hartes Logiksystem“ bezeichnet.

Reis. 1.1. Elektronisches System.

Jedes auf „harter Logik“ basierende System ist zwangsläufig ein spezialisiertes System, das ausschließlich für eine Aufgabe oder (seltener) für mehrere nahe beieinander liegende, zuvor bekannte Aufgaben konfiguriert ist. Das hat seine unbestreitbaren Vorteile.

Erstens verfügt ein spezialisiertes System (im Gegensatz zu einem universellen) niemals über Hardware-Redundanz, das heißt, jedes seiner Elemente arbeitet notwendigerweise mit voller Kapazität (natürlich, wenn dieses System richtig ausgelegt ist).

Zweitens handelt es sich um ein spezialisiertes System, das die höchstmögliche Geschwindigkeit bieten kann, da die Ausführungsgeschwindigkeit von Infodarin nur durch die Geschwindigkeit einzelner logischer Elemente und das gewählte Schema der Informationsflusspfade bestimmt wird. Logische Elemente haben nämlich im Moment immer die maximale Geschwindigkeit.

Ein großer Nachteil eines digitalen Systems, das auf „harter Logik“ basiert, besteht jedoch gleichzeitig darin, dass es für jede neue Aufgabe neu entworfen und hergestellt werden muss. Dies ist ein langer, teurer Prozess, der hochqualifizierte Künstler erfordert. Und wenn sich das zu lösende Problem plötzlich ändert, müssen alle Geräte komplett ausgetauscht werden. In unserer sich schnell verändernden Welt ist das ziemlich verschwenderisch.

Der Weg zur Überwindung dieses Mangels liegt auf der Hand: Es muss ein System aufgebaut werden, das sich problemlos an jede Aufgabe anpassen und von einem Betriebsalgorithmus auf einen anderen umstellen lässt, ohne die Hardware zu ändern. Und dann könnten wir diesen oder jenen Algorithmus festlegen, indem wir einige zusätzliche Steuerinformationen, das Programm des Systems, in das System eingeben (Abb. 1.2). Dann wird das System universell oder programmierbar, nicht starr, sondern flexibel. Genau das leistet das Mikroprozessorsystem.

Reis. 1.2. Programmierbares (auch universelles) elektronisches System.

Aber jede Universalität führt notwendigerweise zu Redundanz. Schließlich erfordert die Lösung des schwierigsten Problems viel mehr Geld als die Lösung des einfachsten Problems. Daher sollte die Komplexität des universellen Systems so sein, dass die Lösung des schwierigsten Problems gewährleistet ist, und bei der Lösung eines einfachen Problems wird das System nicht mit voller Kapazität arbeiten und nicht alle seine Ressourcen nutzen. Und je einfacher das zu lösende Problem ist, desto größer ist die Redundanz und desto weniger gerechtfertigt wird die Universalität. Redundanz führt zu einer Erhöhung der Kosten des Systems, einer Verringerung seiner Zuverlässigkeit, einem Anstieg des Stromverbrauchs usw.

Darüber hinaus führt Vielseitigkeit in der Regel zu einem deutlichen Leistungsabfall. Es ist einfach unmöglich, ein universelles System so zu optimieren, dass jede neue Aufgabe so schnell wie möglich gelöst wird. Als allgemeine Regel gilt: Je größer die Vielseitigkeit und Flexibilität, desto geringer die Geschwindigkeit. Darüber hinaus gibt es für universelle Systeme keine solchen Aufgaben (auch nicht die einfachsten), die sie mit der höchstmöglichen Geschwindigkeit lösen würden. Alles muss bezahlt werden.

Somit lässt sich folgende Schlussfolgerung ziehen. Systeme, die auf „harter Logik“ basieren, sind dort gut, wo sich das zu lösende Problem lange Zeit nicht ändert, wo höchste Geschwindigkeit erforderlich ist, wo Infoextrem einfach sind. Und universelle, programmierbare Systeme sind dort gut, wo sich die zu lösenden Aufgaben oft ändern, wo hohe Geschwindigkeit keine große Rolle spielt, wo Infokomplex sind. Das heißt, jedes System ist an seinem Platz gut.

Allerdings hat die Geschwindigkeit universeller (Mikroprozessor-)Systeme in den letzten Jahrzehnten stark zugenommen (um mehrere Größenordnungen). Darüber hinaus hat das große Produktionsvolumen von Mikroschaltungen für diese Systeme zu einem starken Rückgang ihrer Kosten geführt. Infolgedessen hat sich der Anwendungsbereich von Systemen mit „harter Logik“ stark eingeengt. Darüber hinaus entwickeln sich programmierbare Systeme zur Lösung eines Problems oder mehrerer verwandter Probleme rasant weiter. Sie kombinieren erfolgreich die Vorteile von „Hard Logic“-Systemen und programmierbaren Systemen und bieten eine Kombination aus ausreichend hoher Leistung und der notwendigen Flexibilität. Die Unterdrückung der „harten Logik“ geht also weiter.

1.1. Was ist ein Mikroprozessor?

Der Kern jedes Mikroprozessorsystems ist ein Mikroprozessor oder einfach ein Prozessor (vom englischen Prozessor). Es ist am korrektesten, dieses Wort als „Prozessor“ ins Russische zu übersetzen, da der Mikroprozessor der Knoten ist, der Block, der die gesamte Informationsverarbeitung innerhalb des Mikroprozessorsystems durchführt. Die übrigen Knoten führen nur Hilfsfunktionen aus: Speichern von Informationen (einschließlich Steuerinformationen, also Programmen), Kommunikation mit externen Geräten, Kommunikation mit dem Benutzer usw. Der Prozessor ersetzt praktisch die gesamte „harte Logik“, die in einem herkömmlichen digitalen System erforderlich wäre. Es führt arithmetische Funktionen (Addition, Multiplikation usw.), logische Funktionen (Verschiebung, Vergleich, Codemaskierung usw.), die vorübergehende Speicherung von Codes (in internen Registern), die Übertragung von Codes zwischen Mikroprozessorsystemknoten und vieles mehr aus. Die Anzahl solcher vom Prozessor ausgeführter Elementaroperationen kann mehrere Hundert erreichen. Der Prozessor kann mit dem Gehirn des Systems verglichen werden.

Dabei ist jedoch zu berücksichtigen, dass der Prozessor alle seine Vorgänge sequentiell, also nacheinander, ausführt. Natürlich gibt es Prozessoren mit paralleler Ausführung einiger Operationen, es gibt auch Mikroprozessorsysteme, bei denen mehrere Prozessoren parallel an derselben Aufgabe arbeiten, aber das sind seltene Ausnahmen. Einerseits ist die sequentielle Ausführung von Operationen ein unbestrittener Vorteil, da sie es ermöglicht, mit nur einem Prozessor beliebige komplexe Infoauszuführen. Andererseits führt die sequentielle Ausführung von Operationen jedoch dazu, dass die Ausführungszeit des Algorithmus von seiner Komplexität abhängt. Einfache Algorithmen laufen schneller als komplexe. Das heißt, ein Mikroprozessorsystem kann alles, arbeitet aber nicht zu schnell, da alle Informationsflüsse durch einen einzigen Knoten geleitet werden müssen – einen Mikroprozessor (Abb. 1.3). In einem traditionellen digitalen System ist es einfach, die parallele Verarbeitung aller Informationsflüsse zu organisieren, allerdings auf Kosten einer Komplizierung der Schaltung.

Reis. 1.3. Informationsflüsse in einem Mikroprozessorsystem.

Der Mikroprozessor ist also in der Lage, viele Operationen auszuführen. Doch woher weiß er, welche Operation er gerade durchführen muss? Dies wird durch die Steuerinformationen, das Programm, bestimmt. Das Programm besteht aus einer Reihe von Befehlen (Anweisungen), also digitalen Codes, durch deren Entschlüsselung der Prozessor weiß, was er tun muss. Das Programm wird von Anfang bis Ende von einer Person, einem Programmierer, zusammengestellt, und der Prozessor fungiert als gehorsamer Ausführer dieses Programms, er zeigt keine Initiative (es sei denn, es ist natürlich in gutem Zustand). Daher ist der Vergleich des Prozessors mit dem Gehirn nicht ganz korrekt. Er ist lediglich ein Ausführender des Algorithmus, den eine Person im Voraus für ihn zusammengestellt hat. Eine Abweichung von diesem Algorithmus kann nur durch eine Fehlfunktion des Prozessors oder anderer Komponenten des Mikroprozessorsystems verursacht werden.

Alle vom Prozessor ausgeführten Anweisungen bilden einen Prozessorbefehlssatz. Die Struktur und der Umfang des Befehlssatzes des Prozessors bestimmen seine Geschwindigkeit, Flexibilität und Benutzerfreundlichkeit. Insgesamt kann der Prozessor mehrere zehn bis mehrere hundert Befehle haben. Das Unterrichtssystem kann für einen engen Aufgabenbereich (für Spezialprozessoren) oder für ein möglichst breites Aufgabenspektrum (für Universalprozessoren) ausgelegt sein. Befehlscodes können eine unterschiedliche Anzahl von Ziffern haben (ein bis mehrere Bytes belegen). Jeder Befehl hat seine eigene Ausführungszeit, sodass die Ausführungszeit des gesamten Programms nicht nur von der Anzahl der Befehle im Programm abhängt, sondern auch davon, welche Befehle verwendet werden.

Um Anweisungen auszuführen, umfasst die Prozessorstruktur interne Register, eine arithmetische Logikeinheit (ALU, ALU – Arithmetic Logic Unit), Multiplexer, Puffer, Register und andere Knoten. Der Betrieb aller Knoten wird durch ein gemeinsames externes Taktsignal des Prozessors synchronisiert. Das heißt, der Prozessor ist ein ziemlich komplexes digitales Gerät (Abb. 1.4).

Reis. 1.4. Ein Beispiel für den Aufbau des einfachsten Prozessors.

Für den Entwickler von Mikroprozessorsystemen sind Informationen über die Feinheiten der internen Struktur des Prozessors jedoch nicht sehr wichtig. Der Entwickler muss den Prozessor als „Black Box“ betrachten, der als Reaktion auf Eingabe- und Steuercodes die eine oder andere Operation ausführt und Ausgabesignale erzeugt. Der Entwickler muss das Befehlssystem, die Betriebsmodi des Prozessors sowie die Regeln für die Interaktion des Prozessors mit der Außenwelt oder, wie sie auch genannt werden, Informationsaustauschprotokolle kennen. Über die interne Struktur des Prozessors müssen Sie nur wissen, was zur Auswahl einer bestimmten Anweisung oder eines bestimmten Betriebsmodus erforderlich ist.

1.2. Busverbindungsstruktur

Um maximale Vielseitigkeit und Vereinfachung der Informationsaustauschprotokolle in Mikroprozessorsystemen zu erreichen, wird die sogenannte Busstruktur der Kommunikation zwischen einzelnen im System enthaltenen Geräten verwendet. Der Kern der Busstruktur von Verbindungen ist wie folgt.

Bei der klassischen Kommunikationsstruktur (Abb. 1.5) werden alle Signale und Codes zwischen Geräten über separate Kommunikationsleitungen übertragen. Jedes Gerät, das in das System eindringt, überträgt seine Signale und Codes unabhängig von anderen Geräten. Gleichzeitig werden im System viele Kommunikationsleitungen und unterschiedliche Informationsaustauschprotokolle bereitgestellt.

Bei einer Busstruktur der Kommunikation (Abb. 1.6) werden alle Signale zwischen Geräten über dieselben Kommunikationsleitungen, jedoch zu unterschiedlichen Zeiten, übertragen (dies wird als Multiplexübertragung bezeichnet). Darüber hinaus kann die Übertragung über alle Kommunikationsleitungen in beide Richtungen erfolgen (sog. bidirektionale Übertragung). Dadurch wird die Anzahl der Kommunikationsleitungen deutlich reduziert und die Austauschregeln (Protokolle) vereinfacht. Eine Gruppe von Kommunikationsleitungen, über die Signale oder Codes übertragen werden, wird als Bus bezeichnet.

Es ist klar, dass es mit der Busstruktur von Verbindungen einfach ist, alle Informationsflüsse in die richtige Richtung zu übertragen, sie können beispielsweise durch einen Prozessor geleitet werden, was für ein Mikroprozessorsystem sehr wichtig ist. Bei einer Busstruktur von Verbindungen werden jedoch alle Informationen zeitlich sequentiell über Kommunikationsleitungen übertragen, was wiederum die Geschwindigkeit des Systems im Vergleich zur klassischen Verbindungsstruktur verringert.

Reis. 1.6. Busstruktur der Verbindungen.

Der große Vorteil der Busstruktur der Kommunikation besteht darin, dass alle an den Bus angeschlossenen Geräte Informationen nach den gleichen Regeln (Protokollen zum Informationsaustausch auf dem Bus) empfangen und senden müssen. Dementsprechend müssen alle Knoten, die in diesen Geräten für den Austausch mit dem Bus verantwortlich sind, einheitlich und einheitlich sein.

Ein wesentlicher Nachteil der Busstruktur hängt mit der Tatsache zusammen, dass alle Geräte parallel an jede Kommunikationsleitung angeschlossen sind. Daher kann jede Fehlfunktion eines Geräts das gesamte System lahmlegen, wenn dadurch die Kommunikationsleitung beeinträchtigt wird. Aus dem gleichen Grund ist das Debuggen eines Systems mit einer busbasierten Kommunikationsstruktur recht schwierig und erfordert in der Regel spezielle Ausrüstung.

Ein typischer Aufbau eines Mikroprozessorsystems ist in Abb. dargestellt. 1.10. Es umfasst drei Haupttypen von Geräten:

ZENTRALPROZESSOR;

Speicher, einschließlich Direktzugriffsspeicher (RAM, RAM – Random Access Memory) und Nur-Lese-Speicher (ROM, ROM – Read Only Memory), der zum Speichern von Daten und Programmen verwendet wird;

Eingabe-/Ausgabegeräte (I/O – Input/Output Devices), die dazu dienen, das Mikroprozessorsystem mit externen Geräten zu verbinden, Eingangssignale zu empfangen (Eingabe, Lesen, Lesen) und Ausgangssignale auszugeben (Ausgabe, Schreiben, Schreiben).

Reis. 1.10. Die Struktur des Mikroprozessorsystems.

Alle Geräte des Mikroprozessorsystems sind durch einen gemeinsamen Systembus (auch Systembus oder Kanal genannt) verbunden. Das System-Backbone umfasst vier Haupt-Low-Level-Busse:

Adressbus (Adressbus);

Datenbus (Datenbus);

Steuerbus (Steuerbus);

Energiebus (Power Bus).

Über den Adressbus wird die Adresse (Nummer) des Geräts ermittelt, mit dem der Prozessor gerade kommuniziert. Jedem Gerät (außer dem Prozessor) und jeder Speicherzelle im Mikroprozessorsystem wird eine eigene Adresse zugewiesen. Wenn der Prozessor den Code einer Adresse auf den Adressbus setzt, versteht das Gerät, dem diese Adresse zugewiesen ist, dass es Informationen austauschen muss. Der Adressbus kann unidirektional oder bidirektional sein.

Der Datenbus ist der Hauptbus, der zur Übertragung von Informationscodes zwischen allen Geräten des Mikroprozessorsystems verwendet wird. Normalerweise ist an der Informationsübertragung ein Prozessor beteiligt, der einen Datencode an ein Gerät oder eine Speicherzelle sendet oder einen Datencode von einem Gerät oder einer Speicherzelle empfängt. Es ist aber auch möglich, Informationen zwischen Geräten ohne Beteiligung des Prozessors zu übertragen. Der Datenbus ist immer bidirektional.

Der Steuerbus besteht im Gegensatz zum Adressbus und Datenbus aus separaten Steuersignalen. Jedes dieser Signale beim Informationsaustausch hat seine eigene Funktion. Einige Signale dienen dazu, gesendete oder empfangene Daten zu steuern (d. h. sie bestimmen die Zeitpunkte, zu denen der Informationscode auf den Datenbus gesetzt wird). Andere Steuersignale können verwendet werden, um den Empfang von Daten zu bestätigen, alle Geräte zurückzusetzen, alle Geräte zu takten usw. Steuerbusleitungen können unidirektional oder bidirektional sein.

Schließlich ist der Energiebus nicht dafür ausgelegt, Informationssignale zu senden, sondern das System mit Strom zu versorgen. Es besteht aus Stromleitungen und einem gemeinsamen Draht. Ein Mikroprozessorsystem kann über eine einzelne Stromversorgung (normalerweise +5 V) oder mehrere Netzteile (normalerweise auch -5 V, +12 V und -12 V) verfügen. Jede Versorgungsspannung verfügt über eine eigene Kommunikationsleitung. Alle Geräte sind parallel an diese Leitungen angeschlossen.

Ist die Eingabe eines Eingabecodes (bzw. eines Eingabesignals) in das Mikroprozessorsystem erforderlich, so greift der Prozessor über den Adressbus auf das gewünschte Ein-/Ausgabegerät zu und empfängt Eingabeinformationen über den Datenbus. Ist die Ausgabe eines Ausgabecodes (bzw. eines Ausgabesignals) von einem Mikroprozessorsystem erforderlich, so greift der Prozessor über den Adressbus auf das gewünschte Ein-/Ausgabegerät zu und übermittelt über den Datenbus Ausgabeinformationen an dieses.

Wenn die Informationen eine komplexe mehrstufige Verarbeitung durchlaufen müssen, kann der Prozessor Zwischenergebnisse im System-RAM speichern. Um auf eine beliebige Speicherzelle zuzugreifen, gibt der Prozessor seine Adresse auf den Adressbus und überträgt über den Datenbus einen Informationscode an diese oder empfängt von ihr über den Datenbus einen Informationscode. Im Speicher (betrieblich und permanent) befinden sich auch Steuercodes (Befehle des vom Prozessor ausgeführten Programms), die der Prozessor auch auf dem Datenbus liest und auf dem Adressbus adressiert. Der Nur-Lese-Speicher wird hauptsächlich zum Speichern des Startprogramms des Mikroprozessorsystems verwendet, das bei jedem Einschalten der Stromversorgung ausgeführt wird. Die Informationen werden vom Hersteller ein für alle Mal darin eingetragen.

Somit werden in einem Mikroprozessorsystem alle Informationscodes und Befehlscodes der Reihe nach über die Busse übertragen. Dies bestimmt die relativ niedrige Geschwindigkeit des Mikroprozessorsystems. Sie wird in der Regel nicht einmal durch die Geschwindigkeit des Prozessors (was ebenfalls sehr wichtig ist) und nicht durch den Wechselkurs auf dem Systembus (Backbone) begrenzt, sondern gerade durch die serielle Natur der Informationsübertragung über den Systembus (Backbone).

Es ist wichtig zu berücksichtigen, dass E/A-Geräte meistens Geräte mit „harter Logik“ sind. Ihnen können einige der vom Mikroprozessorsystem ausgeführten Funktionen zugeordnet werden. Daher hat der Entwickler jederzeit die Möglichkeit, Systemfunktionen optimal zwischen Hardware- und Software-Implementierungen neu zu verteilen. Die Hardware-Implementierung beschleunigt die Ausführung der Funktion, es mangelt ihr jedoch an Flexibilität. Die Softwareimplementierung ist deutlich langsamer, bietet aber viel Flexibilität. Die Hardwareimplementierung von Funktionen erhöht die Kosten des Systems und seinen Stromverbrauch, die Softwareimplementierung jedoch nicht. Am häufigsten wird eine Kombination aus Hardware- und Softwarefunktionen verwendet.

Manchmal enthalten Ein-/Ausgabegeräte einen Prozessor, das heißt, sie stellen ein kleines spezialisiertes Mikroprozessorsystem dar. Dadurch können Sie einige der Softwarefunktionen auf die Ein-/Ausgabegeräte verlagern und so den Zentralprozessor des Systems entlasten.

1.3. Betriebsarten des Mikroprozessorsystems

Wie bereits erwähnt, bietet das Mikroprozessorsystem eine große Flexibilität, es kann an jede Aufgabe angepasst werden. Diese Flexibilität ist in erster Linie darauf zurückzuführen, dass die vom System ausgeführten Funktionen durch das Programm (Software, Software) bestimmt werden, das der Prozessor ausführt. Hardware (Hardware, Hardware) bleibt für jede Aufgabe unverändert. Indem Sie ein Programm in den Systemspeicher schreiben, können Sie das Mikroprozessorsystem dazu veranlassen, jede von dieser Hardware unterstützte Aufgabe auszuführen. Darüber hinaus erleichtert die Busorganisation von Mikroprozessorsystemverbindungen den Austausch von Hardwaremodulen, beispielsweise den Austausch des Speichers durch einen neuen mit größerer Größe oder höherer Geschwindigkeit, das Hinzufügen oder Aufrüsten von Ein-/Ausgabegeräten und schließlich den Austausch des Prozessors ein mächtigeres. Dies ermöglicht es auch, die Flexibilität des Systems zu erhöhen und seine Lebensdauer bei sich ändernden Anforderungen zu verlängern.

Aber nicht nur dadurch wird die Flexibilität des Mikroprozessorsystems bestimmt. Auch die Wahl der Betriebsart des Systems, also der Art des Informationsaustausches über die Systemautobahn (Bus), hilft bei der Einstimmung auf die Aufgabenstellung.

Fast jedes entwickelte Mikroprozessorsystem (einschließlich eines Computers) unterstützt drei Hauptaustauschmodi über die Autobahn:

Austausch von Programminformationen;

Austausch mithilfe von Interrupts (Interrupts);

Austausch über direkten Speicherzugriff (DMA, DMA – Direct Memory Access).

Der Software-Informationsaustausch ist der wichtigste in jedem Mikroprozessorsystem. Es ist immer vorhanden, ohne es sind andere Austauschmöglichkeiten nicht möglich. In diesem Modus ist der Prozessor der alleinige Eigentümer (oder Master) des Systembusses. Alle Vorgänge (Zyklen) des Informationsaustauschs werden in diesem Fall nur vom Prozessor initiiert, alle werden streng in der vom ausführbaren Programm vorgegebenen Reihenfolge ausgeführt.

Der Prozessor liest (wählt) Befehlscodes aus dem Speicher und führt sie aus, indem er Daten aus dem Speicher oder von einem E/A-Gerät liest, verarbeitet, Daten in den Speicher schreibt oder an ein E/A-Gerät überträgt. Der Weg des Prozessors durch das Programm kann linear oder zyklisch sein und Übergänge (Sprünge) enthalten, aber er ist immer kontinuierlich und unterliegt vollständig der Kontrolle des Prozessors. Der Prozessor reagiert nicht auf externe Ereignisse, die nichts mit dem Programm zu tun haben (Abb. 1.11). Alle Signale auf der Autobahn werden in diesem Fall vom Prozessor gesteuert.

Reis. 1.11. Software-Informationsaustausch.

Der Interrupt-Austausch wird verwendet, wenn das Mikroprozessorsystem auf ein externes Ereignis oder auf das Eintreffen eines externen Signals reagieren muss. Bei einem Computer kann ein externes Ereignis beispielsweise das Drücken einer Taste auf der Tastatur oder der Empfang eines Datenpakets über das lokale Netzwerk sein. Der Computer muss darauf reagieren, indem er entweder ein Zeichen auf dem Bildschirm anzeigt oder ein über das Netzwerk empfangenes Paket liest und verarbeitet.

Generell können Sie eine Reaktion auf ein externes Ereignis auf drei verschiedene Arten organisieren:

mit Hilfe einer ständigen Softwarekontrolle des Eintretens eines Ereignisses (das sogenannte Flag-Polling-Verfahren oder Polling);

mit Hilfe eines Interrupts, also der erzwungenen Überführung des Prozessors von der Ausführung des aktuellen Programms zur Ausführung eines dringend benötigten Programms;

mit direktem Speicherzugriff, also ohne Beteiligung des Prozessors, wenn dieser vom System-Backbone getrennt ist.

Diese drei Methoden können durch das folgende einfache Beispiel veranschaulicht werden. Nehmen wir an, Sie bereiten Ihr eigenes Frühstück zu, indem Sie Milch auf dem Herd zum Kochen bringen. Natürlich ist es notwendig, auf das Kochen der Milch zu reagieren, und zwar dringend. Wie organisiert man es? Die erste Möglichkeit besteht darin, die Milch ständig zu überwachen, aber dann können Sie nichts anderes tun. Richtiger wäre es, regelmäßig einen Blick auf die Milch zu werfen und gleichzeitig etwas anderes zu tun. Dies ist ein Flag-Polling-Programmmodus. Die zweite Möglichkeit besteht darin, einen Sensor an der Pfanne mit Milch anzubringen, der piept, wenn die Milch kocht, und in aller Ruhe andere Dinge zu tun. Wenn Sie das Signal hören, stellen Sie die Milch ab. Es stimmt, dass Sie möglicherweise zuerst zu Ende bringen müssen, was Sie begonnen haben, sodass Ihre Reaktion langsamer sein wird als im ersten Fall. Die dritte Möglichkeit besteht schließlich darin, den Sensor am Topf mit der Herdsteuerung zu verbinden, sodass beim Kochen der Milch der Brenner ohne Ihr Zutun ausgeschaltet wird (allerdings ist die Analogie zum RAP hier nicht sehr genau, da in diesem Fall zum Zeitpunkt der Aktion werden Sie nicht von der Arbeit abgehalten).

Der erste Fall mit der Abfrage des Flags wird im Mikroprozessorsystem durch ständiges Lesen von Informationen durch den Prozessor aus dem dem externen Gerät zugeordneten Ein-/Ausgabegerät implementiert, auf dessen Verhalten dringend reagiert werden muss.

Im zweiten Fall, im Interrupt-Modus, beendet der Prozessor, nachdem er eine Interrupt-Anfrage von einem externen Gerät (oft IRQ – Interrupt ReQuest genannt) erhalten hat, die Ausführung des aktuellen Befehls und geht zum Interrupt-Handler über. Nach Abschluss der Ausführung des Interrupt-Dienstprogramms kehrt es zum unterbrochenen Programm an der Stelle zurück, an der es unterbrochen wurde (Abb. 1.12).

Wichtig dabei ist, dass die gesamte Arbeit, wie im Programmiermodus, vom Prozessor selbst erledigt wird, ein externes Ereignis lenkt ihn lediglich vorübergehend ab. Die Reaktion auf ein externes Interrupt-Ereignis ist im Allgemeinen langsamer als im Programmiermodus. Wie beim Softwareaustausch werden hier alle Signale auf dem Bus vom Prozessor bereitgestellt, d. h. er kontrolliert den Bus vollständig. Um Interrupts zu bedienen, wird manchmal ein spezielles Interrupt-Controller-Modul in das System eingeführt, das jedoch nicht am Informationsaustausch teilnimmt. Sein Zweck besteht darin, dem Prozessor die Bearbeitung externer Interrupt-Anfragen zu erleichtern. Dieser Controller wird normalerweise programmgesteuert vom Prozessor über den Systembus gesteuert.

Reis. 1.12. Dienst unterbrechen.

Eine Unterbrechung führt natürlich nicht zu einer Beschleunigung des Systems. Seine Verwendung ermöglicht es lediglich, die ständige Abfrage des externen Ereignisflags zu verweigern und den Prozessor vorübergehend, bis das externe Ereignis eintritt, mit anderen Aufgaben zu belegen.

Der direkte Speicherzugriff (DMA, DMA) ist ein Modus, der sich von den beiden bisher betrachteten Modi grundsätzlich dadurch unterscheidet, dass der Austausch über den Systembus ohne Beteiligung des Prozessors erfolgt. Ein externes Gerät, das einen Dienst benötigt, signalisiert dem Prozessor, dass der DMA-Modus benötigt wird. Als Reaktion darauf beendet der Prozessor die Ausführung des aktuellen Befehls und trennt sich von allen Bussen, wodurch er dem anfordernden Gerät signalisiert, dass der DMA-Modus-Austausch beginnen kann.

Der DMA-Vorgang beschränkt sich auf die Übertragung von Informationen von einem E/A-Gerät zum Speicher oder vom Speicher zu einem E/A-Gerät. Wenn die Informationsübertragung abgeschlossen ist, kehrt der Prozessor wieder zum unterbrochenen Programm zurück und setzt es an der Stelle fort, an der es unterbrochen wurde (Abb. 1.13). Dies ähnelt dem Interrupt-Service-Modus, allerdings nimmt der Prozessor in diesem Fall nicht am Austausch teil. Wie bei Interrupts ist die Reaktion auf ein externes Ereignis im DMA deutlich langsamer als im Programmmodus.

Es ist klar, dass es in diesem Fall erforderlich ist, ein zusätzliches Gerät in das System einzuführen (den PDP-Controller), der ohne jegliche Beteiligung des Prozessors einen vollständigen Austausch über die Systemautobahn durchführt. Darüber hinaus muss der Auftragsverarbeiter diesem RAP-Controller zunächst mitteilen, woher er die Informationen beziehen und/oder wo sie abgelegt werden sollen. Der RAP-Controller kann als spezialisierter Prozessor betrachtet werden, der sich dadurch unterscheidet, dass er selbst nicht am Austausch teilnimmt, keine Informationen empfängt und diese nicht ausgibt (Abb. 1.14).

Reis. 1.13. PDP-Dienst.

Reis. 1.14. Informationsflüsse im PDP-Modus.

Grundsätzlich kann der DMA-Controller Teil eines I/O-Geräts sein, das den DMA-Modus benötigt, oder sogar Teil mehrerer I/O-Geräte. Theoretisch kann der direkte Speicherzugriffsaustausch eine höhere Informationsübertragungsrate als der Softwareaustausch bieten, da der Prozessor Daten langsamer überträgt als ein dedizierter DMA-Controller. Allerdings wird dieser Vorteil in der Praxis nicht immer realisiert. Der Wechselkurs im DMA-Modus wird normalerweise durch die Fähigkeiten des Backbones begrenzt. Darüber hinaus kann die Notwendigkeit, die DMA-Controller-Modi programmgesteuert einzustellen, den Gewinn aus der höheren Datenübertragungsrate im DMA-Modus zunichte machen. Daher wird das PDP-Regime selten angewendet.

Verfügt das System bereits über einen eigenständigen DMA-Controller, kann dies die Ausstattung von Ein-/Ausgabegeräten, die im DMA-Modus arbeiten, in manchen Fällen deutlich vereinfachen. Dies ist vielleicht der einzige unbestreitbare Vorteil des RAP-Regimes.

1.4. Architektur von Mikroprozessorsystemen

Bisher haben wir nur einen Architekturtyp von Mikroprozessorsystemen betrachtet – eine Architektur mit einem gemeinsamen, einzigen Bus für Daten und Befehle (Einzelbus oder Princeton, von Neumann-Architektur). Dementsprechend verfügt das System in diesem Fall über einen gemeinsamen Speicher, sowohl für Daten als auch für Befehle (Abb. 1.15).

Reis. 1.15. Architektur mit einem gemeinsamen Daten- und Befehlsbus.

Es gibt aber auch eine alternative Art der Mikroprozessorsystemarchitektur – eine Architektur mit separaten Daten- und Befehlsbussen (Zwei-Bus- oder Harvard-Architektur). Diese Architektur geht davon aus, dass das System über einen separaten Speicher für Daten und einen separaten Speicher für Befehle verfügt (Abb. 1.16). Der Austausch des Prozessors mit jedem der beiden Speichertypen erfolgt über einen eigenen Bus.

Die Common-Bus-Architektur ist weitaus verbreiteter und wird beispielsweise in Personalcomputern und komplexen Mikrocomputern verwendet. Die Split-Bus-Architektur wird hauptsächlich in Single-Chip-Mikrocontrollern verwendet.

Berücksichtigen Sie einige der Vor- und Nachteile beider Architekturlösungen.

Die Architektur mit einem gemeinsamen Bus (Princeton, Von Neumann) ist einfacher, sie erfordert nicht, dass der Prozessor gleichzeitig zwei Busse bedient und den Austausch auf zwei Bussen gleichzeitig steuert. Das Vorhandensein eines einzigen Speichers für Daten und Befehle ermöglicht eine flexible Verteilung des Volumens zwischen Daten und Befehlscodes. In einigen Fällen benötigen Sie beispielsweise ein großes und komplexes Programm und müssen nicht zu viele Daten im Speicher speichern. In anderen Fällen hingegen muss das Programm einfach sein, es sind jedoch große Mengen gespeicherter Daten erforderlich. Eine Neuzuweisung des Speichers bereitet keine Probleme, Hauptsache Programm und Daten passen im Systemspeicher zusammen. In Systemen mit einer solchen Architektur ist der Speicher in der Regel recht groß (bis zu Dutzende und Hunderte von Megabyte). Dadurch können Sie die komplexesten Probleme lösen.

Reis. 1.16. Architektur mit separaten Daten- und Befehlsbussen.

Die Architektur mit separaten Daten- und Befehlsbussen ist komplizierter, sie zwingt den Prozessor, gleichzeitig mit zwei Codeströmen zu arbeiten, um den Austausch auf zwei Bussen gleichzeitig zu bedienen. Programme können nur im Befehlsspeicher abgelegt werden, Daten können nur im Datenspeicher abgelegt werden. Eine solch enge Spezialisierung schränkt den Aufgabenbereich des Systems ein, da es keine Möglichkeit einer flexiblen Speicherumverteilung bietet. Der Daten- und Befehlsspeicher ist dabei nicht allzu groß, so dass der Einsatz von Systemen mit dieser Architektur meist auf nicht allzu komplexe Aufgaben beschränkt ist.

Was ist der Vorteil einer Dual-Bus-Architektur (Harvard)? Vor allem die Geschwindigkeit.

Tatsache ist, dass der Prozessor mit einem einzigen Befehls- und Datenbus gezwungen ist, auch auf diesem einen Bus Daten zu empfangen (vom Speicher oder einem E/A-Gerät) und Daten zu übertragen (an den Speicher oder an ein E/A-Gerät). als Lesebefehle aus dem Speicher. Natürlich können diese Codeübertragungen entlang der Leitung nicht gleichzeitig erfolgen, sondern müssen nacheinander erfolgen. Moderne Prozessoren sind in der Lage, die Ausführung von Befehlen und die Austauschzyklen auf dem Systembus zeitlich zu kombinieren. Durch den Einsatz von Pipeline-Technologien und schnellem Cache-Speicher können sie die Interaktion mit dem relativ langsamen Systemspeicher beschleunigen. Durch die Erhöhung der Taktfrequenz und die Verbesserung der Prozessorstruktur lässt sich die Ausführungszeit von Befehlen verkürzen. Eine weitere Steigerung der Systemleistung ist jedoch nur durch die Kombination von Datenübertragung und Befehlslesung, also durch den Übergang zu einer Zwei-Bus-Architektur, möglich.

Bei einer Zwei-Bus-Architektur kann der Austausch auf beiden Bussen unabhängig und zeitlich parallel erfolgen. Dementsprechend können Busstrukturen (Anzahl der Bits des Adresscodes und Datencodes, Reihenfolge und Geschwindigkeit des Informationsaustauschs usw.) optimal für die Aufgabe gewählt werden, die jeder Bus löst. Daher beschleunigt der Übergang zu einer Zwei-Bus-Architektur ceteris paribus den Betrieb eines Mikroprozessorsystems, erfordert jedoch zusätzliche Hardwarekosten und verkompliziert die Prozessorstruktur. Der Datenspeicher verfügt in diesem Fall über eine eigene Adressverteilung und der Befehlsspeicher über eine eigene.

Die Vorteile einer Zwei-Bus-Architektur lassen sich am einfachsten auf einem einzigen Chip realisieren. In diesem Fall können auch die Auswirkungen der Mängel dieser Architektur deutlich reduziert werden. Daher liegt seine Hauptanwendung in Mikrocontrollern, die keine allzu komplexen Probleme lösen müssen, aber maximale Leistung bei einer bestimmten Taktfrequenz benötigen.

1.5. Arten von Mikroprozessorsystemen

Das Einsatzspektrum der Mikroprozessortechnik ist mittlerweile sehr breit, die Anforderungen an Mikroprozessorsysteme sehr unterschiedlich. Daher wurden verschiedene Arten von Mikroprozessorsystemen entwickelt, die sich in Leistung, Vielseitigkeit, Geschwindigkeit und strukturellen Unterschieden unterscheiden. Die Haupttypen sind:

Mikrocontroller – die einfachste Art von Mikroprozessorsystemen, bei denen alle oder die meisten Systemknoten in Form einer einzelnen Mikroschaltung ausgeführt sind;

Controller – steuern Mikroprozessorsysteme, die in Form separater Module hergestellt werden;

Mikrocomputer – leistungsstärkere Mikroprozessorsysteme mit fortschrittlichen Möglichkeiten zur Anbindung externer Geräte.

Computer (einschließlich Privatcomputer) sind die leistungsstärksten und vielseitigsten Mikroprozessorsysteme.

Manchmal ist es schwierig, eine klare Grenze zwischen diesen Typen zu ziehen. Die Geschwindigkeit aller Arten von Mikroprozessoren nimmt ständig zu und es ist nicht ungewöhnlich, dass ein neuer Mikrocontroller schneller ist als beispielsweise ein veralteter Personalcomputer. Dennoch gibt es einige grundlegende Unterschiede.

Mikrocontroller sind universelle Geräte, die fast immer nicht einzeln, sondern als Teil komplexerer Geräte, einschließlich Controller, verwendet werden. Der Systembus des Mikrocontrollers ist im Inneren des Chips für den Benutzer verborgen. Die Möglichkeiten, externe Geräte an den Mikrocontroller anzuschließen, sind begrenzt. Auf Mikrocontrollern basierende Geräte sind in der Regel darauf ausgelegt, ein Problem zu lösen.

Controller werden in der Regel geschaffen, um eine bestimmte Aufgabe oder eine Gruppe damit verbundener Aufgaben zu lösen. Sie verfügen in der Regel nicht über die Möglichkeit, zusätzliche Knoten und Geräte anzuschließen, beispielsweise großen Speicher oder E/A-Einrichtungen. Ihr Systembus ist für den Benutzer meist nicht zugänglich. Die Controller-Struktur ist einfach und auf maximale Leistung optimiert. In den meisten Fällen werden ausführbare Programme im permanenten Speicher gespeichert und ändern sich nicht. Strukturell werden die Controller in einer Single-Board-Version hergestellt.

Mikrocomputer unterscheiden sich von Controllern durch eine offenere Struktur; sie ermöglichen den Anschluss mehrerer zusätzlicher Geräte an den Systembus. Mikrocomputer werden in einem Rahmen hergestellt, einem Gehäuse mit Systemstammanschlüssen, die dem Benutzer zur Verfügung stehen. Mikrocomputer verfügen möglicherweise über Mittel zum Speichern von Informationen auf magnetischen Medien (z. B. Magnetplatten) und über recht fortschrittliche Mittel zur Kommunikation mit dem Benutzer (Videomonitor, Tastatur). Mikrocomputer sind für vielfältige Aufgaben ausgelegt, müssen aber im Gegensatz zu Steuerungen für jede neue Aufgabe neu angepasst werden. Vom Mikrocomputer ausgeführte Programme können leicht geändert werden.

Schließlich sind Computer und die gebräuchlichsten davon – Personalcomputer – die vielseitigsten Mikroprozessorsysteme. Sie bieten zwangsläufig die Möglichkeit einer Modernisierung sowie zahlreiche Möglichkeiten zum Anschluss neuer Geräte. Ihr Systembus steht dem Anwender selbstverständlich zur Verfügung. Darüber hinaus können externe Geräte über mehrere integrierte Kommunikationsanschlüsse an den Computer angeschlossen werden (die Anzahl der Anschlüsse erreicht manchmal 10). Ein Computer verfügt immer über hochentwickelte Kommunikationsmittel mit dem Benutzer, Mittel zur Langzeitspeicherung großvolumiger Informationen, Kommunikationsmittel mit anderen Computern über Informationsnetze. Die Einsatzgebiete von Computern können sehr unterschiedlich sein: Mathematische Berechnungen, Aufrechterhaltung des Zugriffs auf Datenbanken, Steuerung des Betriebs komplexer elektronischer Systeme, Computerspiele, Erstellung von Dokumenten usw.

Grundsätzlich kann jede Aufgabe mit jedem der aufgeführten Typen von Mikroprozessorsystemen ausgeführt werden. Bei der Auswahl eines Typs ist es jedoch erforderlich, Redundanz so weit wie möglich zu vermeiden und für die für die jeweilige Aufgabe erforderliche Flexibilität des Systems zu sorgen.

Derzeit wird bei der Entwicklung neuer Mikroprozessorsysteme am häufigsten (in etwa 80 % der Fälle) der Weg des Einsatzes von Mikrocontrollern gewählt. Gleichzeitig werden Mikrocontroller entweder unabhängig, mit minimaler Zusatzausrüstung oder als Teil komplexerer Steuerungen mit erweiterten Ein-/Ausgabemöglichkeiten eingesetzt.

Klassische Mikroprozessorsysteme, die auf Mikroprozessorchips und Mikroprozessorbausätzen basieren, sind heute recht selten, was vor allem auf die Komplexität der Entwicklung und des Debuggens dieser Systeme zurückzuführen ist. Diese Art von Mikroprozessorsystemen wird vor allem dann gewählt, wenn Mikrocontroller nicht die erforderlichen Eigenschaften bieten können.

Schließlich nehmen heute Mikroprozessorsysteme auf Basis eines Personalcomputers einen herausragenden Platz ein. In diesem Fall muss der Entwickler den Personal Computer lediglich mit zusätzlichen Schnittstellengeräten ausstatten und schon ist der Kern des Mikroprozessorsystems fertig. Der Personal Computer verfügt über fortschrittliche Programmiertools, die die Aufgabe des Entwicklers erheblich vereinfachen. Darüber hinaus kann es die komplexesten Infobereitstellen. Die Hauptnachteile eines Personal Computers sind die große Gehäusegröße und die Hardware-Redundanz für einfache Aufgaben. Der Nachteil besteht darin, dass die meisten Personalcomputer unter schwierigen Bedingungen (Staub, hohe Luftfeuchtigkeit, Vibration, hohe Temperaturen usw.) nicht funktionieren. Es werden jedoch auch spezielle Personalcomputer hergestellt, die an verschiedene Betriebsbedingungen angepasst sind.

1.1 Mikroprozessordefinition

In den frühen 70er Jahren führten technologische Fortschritte in der Mikroelektronik zur Schaffung einer neuen elementaren Basis der Elektronik – mikroelektronische großintegrierte Schaltkreise (LSI) (Modul 1, Kapitel 1.6.3). Je nach Integrationsgrad (Anzahl der aktiven Elemente: Dioden und Transistoren) werden integrierte Schaltkreise (ICs) üblicherweise in ICs mit niedrigem Integrationsgrad unterteilt – bis zu 100 aktive Elemente, ein durchschnittlicher Integrationsgrad (SIS) – bis zu 1000 aktive Elemente, LSI – über 1000 aktive Elemente, VLSI – über 10.000 Artikel. Die Veröffentlichung eines neuen LSI auf dem aktuellen Stand der Designautomatisierung ist aufgrund der hohen Anfangskosten für die Entwicklung seiner logischen Struktur und Topologie, die Herstellung von Fotomasken und die technologische Vorproduktion ein sehr komplexer und teurer Prozess. Das ist 0,5-1 Jahr Arbeit eines großen Teams. Daher ist die Herstellung von LSIs wirtschaftlich gerechtfertigt, wenn ihre Produktion schätzungsweise Zehntausende oder Hunderttausende Stück pro Jahr beträgt. Es ist nahezu unmöglich, für jede spezifische Anwendung spezielle LSI zu produzieren. Als Ergebnis der Suche nach Massenanwendungsgebieten von Mikroschaltungen mit hohem Integrationsgrad schlugen ihre Entwickler die Idee vor, ein universelles LSI oder einen bestimmten Satz von LSIs zu schaffen, deren Spezialisierung für jede spezifische Anwendung nicht erreicht wird durch Schaltungen, sondern durch Software. So entstanden universelle Standardelemente – Mikroprozessor-LSI mit einer Struktur ähnlich der eines Computers.

Ein Mikroprozessor (MP) ist ein Verarbeitungs- und Steuergerät, das in der Lage ist, Informationen zu verarbeiten, Entscheidungen zu treffen, Informationen unter Programmsteuerung einzugeben und auszugeben und in Form eines oder mehrerer LSIs ausgeführt ist.


1.2 Herstellungstechnologie von MP LSI

Es gibt zwei Arten von LSI-Herstellungstechnologien: Bipolar – basierend auf der Verwendung von Bipolartransistoren und MOS (Metall-Oxid-Halbleiter) – Technologie basierend auf der Verwendung von Feldeffekttransistoren.

Mit Bipolartechnologie hergestellte LSIs unterscheiden sich in ihren schematischen Implementierungsmethoden. Grundsätzlich kommen Transistor-Transistor-Logik mit Schottky-Dioden (TTLSh) und emittergekoppelte Logik (ECL) zum Einsatz. Die TTLSH-Logik verwendet bipolare NPN-Transistoren, ergänzt durch Schottky-Dioden (DSh). DS ist ein Gleichrichterkontakt an der Al-nSi-Metall-Halbleiter-Schnittstelle. In Metall und Silizium sind die Mehrheitsträger desselben Typs Elektronen, und es gibt keine Minoritätsträger. LHs öffnen bei U=0,1-0,3 V und haben eine steile Strom-Spannungs-Kennlinie. Sie sind parallel zum Kollektorübergang des NPN-Transistors geschaltet und bilden einen Schottky-Transistor, der in einem einzigen technologischen Prozess hergestellt wird. Die Verwendung von LH erhöht die Geschwindigkeit des Transistors erheblich, da die Sättigung des Kollektorübergangs eliminiert wird und keine Ladungsabsorption darin stattfindet.

Erste Generation

4004 - 1971

Die Geschichte des MP begann im Jahr 1971, als INTEL (der Name kommt von den Worten „Integrated Electronics“) den ersten MP i4004 herausbrachte, der mit p-MOS-Technologie mit einer Auflösung von 10 Mikrometern hergestellt wurde. Es hatte eine Datenbreite von 4 Bit, die Fähigkeit, 640 Byte Speicher zu adressieren, eine Taktfrequenz von f=108 kHz und eine Leistung von 60 Kop/Sek. Ein solcher Prozessor könnte bereits als Rechenkern eines Taschenrechners fungieren. Es enthielt 2300 Transistoren.

8008 - 1972

1972 erschien der erste verbesserte Acht-Bit-MP i8008, der ebenfalls mit p-MOS-Technologie hergestellt wurde. Es war in einem 16-Pin-Gehäuse untergebracht. 48 Befehle ausgeführt, 16 Kb Speicher adressiert, f=800 KHz. Es hatte 7 interne 8-Bit-Register und einen 7-stufigen internen Stapel.

Zweite Generation

8080 - 1974

1974 erschien der i8080 MP, hergestellt in n-MOS-Technologie mit einer Auflösung von 6 Mikrometern, der die Unterbringung von 6000 Transistoren in einem Kristall ermöglichte. Der Prozessor benötigte drei Netzteile (+5, +12, -5 V) und eine komplexe Push-Pull-Synchronisation mit einer Frequenz von 2 MHz. Sein vollständiges Analogon zur russischen Produktion KR580VM80 wird oben ausführlich besprochen. Gleichzeitig brachte Motorola den M6800 MP auf den Markt, der sich vom i8080 dadurch unterschied, dass er über eine Versorgungsspannung, ein leistungsstärkeres Interrupt-System, zwei Batterien, aber keine RON verfügte. Daten zur Verarbeitung wurden aus dem externen Speicher abgerufen und dann dorthin zurückgegeben. Die Speicherbefehle sind kürzer und einfacher als beim BM80, allerdings dauert die Übertragung länger. Im internen Aufbau des M6800 konnten bisher keine Vorteile festgestellt werden. Es gibt noch zwei konkurrierende Familien von Intel und Motorola. Der größte Teil des Weltmarktes und des russischen Marktes wird jedoch von Intel-Produkten eingenommen.

Der nächste war der i8085-Prozessor (f=5 MHz, 6500 Transistoren, 370 kop/s, 3-Mikron-Technologie). Es behielt die beliebte i8080-Registerarchitektur und Softwarekompatibilität bei, fügte jedoch eine serielle Schnittstelle, einen Taktgenerator und einen Systemcontroller hinzu. Die Versorgungsspannung beträgt eins: + 5V.

Z80 – 1977

Einige der Intel-Entwickler, die mit einer Reihe von Managemententscheidungen nicht einverstanden waren, wechselten zu Zilog und schufen 1977 den Z80 MP (das russische Analogon des K1810VM80). Dieses MP wurde im britischen Computer „Spectrum“ von Sincler verwendet, der als bester Vertreter des 8-Bit-MP der 2. Generation galt.

dritte Generation

8086 - 1978

Diese Generation von Intel MPs legte den Grundstein für moderne Personalcomputer. 1978 wurde der 16-Bit-Prozessor i8086 veröffentlicht. Seine Daten: f=5 MHz, Leistung 330kop/s, 3µm Technologie, 29k Transistoren. Es begann mit der Verwendung von Speichersegmentierung und einem neuen Befehlscodierungsschema.

8088 - 1979

Die zu komplizierte und teure Produktionstechnologie dieses Prozessors zwang Intel jedoch seit 1979 dazu, eine etwas vereinfachte Version namens i8088 herauszubringen, deren Datenbus nur 8 Bit umfasste. Es war dieser Prozessor, den IBM für seinen ersten Personalcomputer, das IBM PC/XT-Modell, wählte.

80186 - 1980

1980 wurde MP i80186 erstellt. Im Vergleich zum i8086 verfügt er zusätzlich über zwei unabhängige Hochgeschwindigkeits-DMA-Kanäle, einen programmierbaren Interrupt-Controller und es werden Signale zur Auswahl von 7 Peripheriegeräten generiert. Es gibt 16 interne programmierbare Timer, zwei davon haben einen Ausgang nach außen, der Rest kann Zeitverzögerungen erzeugen. Befehlswarteschlange – 6 Bytes (in i8088 – 4 Bytes). Es gibt 10 zusätzliche Befehle, die die Ausführung von Programmen im Vergleich zum i8086 beschleunigen. Allerdings wurde dieser Prozessor in Computern nicht weit verbreitet.

vierte Generation

80286 - 1982

1982 erschien der Prozessor i80286, der von IBM im PC/AT-Computer eingesetzt wurde (AT – Advanced Technology – vielversprechende Technologie). Es verfügte bereits über 134.000 Transistoren (1,5-Mikron-Technologie) und adressierte bis zu 16 MB physischen Speicher. Es könnte in zwei Modi funktionieren: real und geschützt. Im Real-Modus arbeitet der i80286 wie ein i8086 mit erhöhter Leistung (f bis 20 MHz). Der Speicher wird als eine Anzahl von Segmenten betrachtet, von denen jedes 2 16 Bytes enthält. Segmente beginnen bei Adressen, die ein Vielfaches von 16 sind (die unteren 4 Adressbits sind immer 0). Segmente können in Programmen beliebig gesetzt werden. Segmentadressen werden in Segmentregistern gespeichert. Im geschützten Modus wird die High-Segment-Adresse nicht durch Addition von vier führenden Nullen berechnet, sondern aus Tabellen extrahiert, die mithilfe von Segmentregistern indiziert werden. Dadurch können Sie mit großen Informationsmengen arbeiten, deren Volumen den physischen Speicher übersteigt. Wenn der physische Speicher voll ausgelastet ist, befinden sich die nicht passenden Daten auf der Festplatte. Darüber hinaus kann der geschützte Modus Multitasking unterstützen. Zu diesem Zweck wurde das Betriebssystem OS/2 geschaffen.

In diesem Modus kann der Prozessor verschiedene Programme in den zugewiesenen Zeitschlitzen ausführen, die jedem der Programme zugewiesen sind. Für den Benutzer scheint es, als ob die Programme gleichzeitig laufen.

Fünfte Generation

80386 - 1985

Sein erster Vertreter war ein 32-Bit-MP i80386DX mit 275.000 Transistoren, 1,5-Mikrometer-Technologie und 4 GB adressierbarem physischen Speicher. Es gibt neue Register, neue 32-Bit-Operationen.

Damit der MP Programme ausführen kann, die für frühere Generationen geschrieben wurden, verfügt er über drei Betriebsmodi.

Nach einem Reset bzw. Anlegen der Versorgungsspannung geht der MP in den Real-Modus und arbeitet wie ein sehr schneller i8086, allerdings auf Wunsch des Programmierers mit 32 Bit. Alle Aktionen: Adressierung, Speicherzugriff, Interrupt-Behandlung werden wie in i8086 ausgeführt. Der zweite Modus – geschützt – wird durch Laden eines bestimmten Statusworts in das Steuerregister aktiviert. In diesem Fall arbeitet der MP als i80286 im geschützten Modus. Multitasking, Speicherschutz mithilfe eines vierstufigen Berechtigungsmechanismus und dessen Paging implementiert. Der MP arbeitet als mehrere virtuelle Prozessoren mit gemeinsam genutztem Speicher, die sich jeweils im i8086-, i80286- oder i80386-Modus befinden können.

Im dritten, virtuellen Modus kommen die Vorteile dieses Prozessors voll zur Geltung. Dabei werden alle 32 Bit der Adresse vollständig genutzt und es ist möglich, mit virtuellem Speicher zu arbeiten. Erst mit dem Aufkommen des i80386 begann die rasante Einführung von Windows, da die Leistung der Prozessoren früherer Generationen für Windows nicht ausreichte.

80386SX – 1988

1988 erschien der i80386SX-Prozessor, der die Lücke zwischen dem bereits veralteten i80286-Prozessor und dem sehr teuren i80386DX-Prozessor füllte. Ein Austausch des veralteten i80286-Prozessors auf dem Motherboard durch den i80386DX ist aufgrund der größeren Datenbusbreite des letzteren nicht möglich. Der i80386SX-Prozessor ermöglicht einen solchen Austausch. Interne Prozesse im i80386SX sind die gleichen wie im i80386DX, die Kommunikation mit der „externen Umgebung“ erfolgt jedoch nur über einen 16-Bit-Bus. Dadurch erfolgt die Kommunikation in 2 Schritten à 16 Bit, was die Arbeit um ca. 10 % verlangsamt. Eine weitere Einschränkung des i80386SX-Prozessors ist der 24-Bit-Adressbus, der die Größe des RAM auf 16 MB begrenzt. Nach dem getesteten MP i80386SX hat Intel den i80386SL-Prozessor mit einer Taktfrequenz von 33 MHz entwickelt und auf den Markt gebracht, der auf CMOS-Strukturen basiert und einen minimalen Stromverbrauch bietet. Dank dessen begann die Entwicklung batteriebetriebener Personalcomputer wie Notebooks.

sechste Generation

80486 - 1989

Es erschien 1989 als MP i80486DX. Im Gegensatz zu den MP früherer Generationen stellt dieser MP keine grundsätzliche Neuerung dar. Dabei wurden der i80386-Prozessor, der i80387-Coprozessor und der Primärcache mit einer Kapazität von 8 KB in einen Chip kopiert.

Notiz.

Trotz der vom i80386 MP geerbten 32-Bit-Architektur führt der i80486 durch die Kombination von Prozessor, Coprozessor und Cache auf einem Chip und andere Verbesserungen bei gleicher Taktfrequenz Berechnungen drei- bis viermal schneller durch als sein Vorgänger.

Intel hat diesen Prozessor ständig verbessert, und es wurden der i80486DX2 MP herausgebracht, bei dem die externe Taktfrequenz durch den Quarz des Mikroschaltkreises verdoppelt wird, und der i80486DX4, bei dem die Frequenz mit 3 multipliziert wird. In diesen Prozessoren alle Anweisungen, die keine Datenübertragung an einen externen Bus erfordern, werden 2-3 Mal schneller ausgeführt. Lediglich der Zeitaufwand für den Zugriff auf den Arbeitsspeicher und langsamere Peripherie verringert die Arbeitsgeschwindigkeit. Außerdem wird beim i80486DX4 der Cache-Speicher auf bis zu 16 KB erhöht.

Generationen von Pentiums

Pentium P5 – 1993

1993 erschien der i80586, der den Namen Pentium (P5) erhielt. Es handelte sich um einen 32-Bit-Prozessor mit einer externen Taktfrequenz von 66 MHz, gebaut in Submikron-Technologie mit einer CMOS-Struktur (0,8 Mikrometer) und 3,1 Millionen Transistoren. Der Pentium verfügt über zwei 32-Bit-Adressräume (logisch und physisch), einen 64-Bit-Datenbus und zwei parallel arbeitende Befehlsverarbeitungspipelines. Es werden zwei Befehlssätze gleichzeitig ausgeführt. Der 16-KB-Cache ist in 8-KB-Befehlscache und 8-KB-Datencache unterteilt. Enthält eine neue Gleitkommaeinheit, die Operationen vier- bis achtmal schneller ausführt als der i80486.

P54, Pentium Pro – 1994

1994 erschienen die Pentium-Prozessoren der zweiten Generation (P54). Bei nahezu der gleichen Anzahl an Transistoren wurden sie in der 0,6-Mikron-Technologie hergestellt, was eine Reduzierung des Stromverbrauchs ermöglichte. Versorgungsspannung auf 3,3 V reduziert. Interne Frequenzvervielfachung angewendet. In diesem Fall arbeiten die Schnittstellenschaltungen des externen Systembusses mit Frequenzen von 50,60,66 MHz, während der Prozessorkern mit einer höheren Frequenz (75,90,100,120,133, 150, 166 und 200 MHz) arbeitet. Durch die Frequenztrennung können die Errungenschaften der MP-Fertigungstechnologie realisiert werden, die den Möglichkeiten zur Steigerung der Speicherleistung deutlich voraus sind. Der Multiplikationsfaktor (1,5;2;2,5;3) wird durch eine Kombination von Signalpegeln an zwei Steuereingängen eingestellt. Prozessoren mit unterschiedlichen f-Werten, angegeben in der Kennzeichnung auf dem Gehäuse, werden nach den gleichen Vorlagen gefertigt. Frequenzmarkierungen werden nach strengen Screening-Tests angebracht. Abhängig von der Frequenz, bei der der MP die Ausgangskontrolle vollständig durchlaufen hat.

Parallel zum Pentium entwickelte sich auch der Pentium Pro-Prozessor. Der Hauptunterschied im Prinzip der Berechnungsorganisation ist die dynamische Ausführung. In diesem Fall werden Anweisungen innerhalb des Prozessors möglicherweise nicht in der Reihenfolge ausgeführt, die das Programm annimmt. Dies verbessert die Leistung, ohne f zu erhöhen. Darüber hinaus wurde eine duale, unabhängige Busarchitektur eingeführt, um den Gesamtdurchsatz zu erhöhen. Ein Bus ist der Systembus, er dient der Kommunikation mit dem Kern des Hauptspeichers und den Schnittstellengeräten. Der andere ist ausschließlich für den Austausch mit dem im MP-Gehäuse integrierten Sekundärcache von 256 KB (512 KB) vorgesehen. Um die Erwärmung des Kristalls zu reduzieren, ist es möglich, den Stromverbrauch sofort um etwa das Zehnfache zu senken, indem die Taktung der meisten Prozessorknoten gestoppt wird. In diesen Zustand wechselt der MP durch ein Signal des internen Temperatursensors sowie durch die Ausführung des HALT-Befehls.

Pentium MMX – 1997

1997 wurde der Pentium MMX-Prozessor (P55C) veröffentlicht. Die MMX-Technologie stellt die bedeutendste Verbesserung der Intel-Prozessorarchitektur seit der Einführung des i80386 dar. Der Pentium MMX-Kristall hat eine um 50 % größere Fläche als der klassische Pentium. Die Pufferschaltungen der Ausgangsschaltungen der Mikroschaltung arbeiten mit einer Spannung von 3,3 V, die interne Schaltung beträgt 2,8 V für Desktop- und 2,45 V für tragbare Computermodelle.

Die MMX-Technologie konzentriert sich auf die Lösung von Multimediaproblemen, die intensive Berechnungen über ganze Zahlen erfordern. Ähnliche Aufgaben werden durch Spiel-, Kommunikations-, Bildungs- und andere Programme gelöst, die Grafiken, Ton, dreidimensionale Bilder, Animationen usw. verwenden.

Die Essenz der MMX-Technologie ist das Erscheinen von 8 neuen virtuellen 64-Bit-Registern und 57 neuen Anweisungen zur Lösung von Multimedia-Problemen im Prozessor. Die acht neuen Register sind virtuell, da es sich bei diesen Registern um physikalische Coprozessorregister handelt. Somit bleibt die Kompatibilität zu früheren Programmgenerationen erhalten.

Pentium II – 1997

Im Mai 1997 kam der in 0,3-Mikron-Technologie hergestellte Pentium II auf den Markt. Es handelt sich um eine leicht abgespeckte Version des Pentium-Pro-Kerns mit höherer interner Taktrate, bei der MMX-Unterstützung eingeführt wurde. Dieser Prozessor verwendet eine neue Technologie – ein Chip mit einem Prozessorkern und einem Satz statischer Speicherchips sowie zusätzliche Schaltkreise, die den sekundären Cache implementieren, werden auf einer kleinen Leiterplatte – einer Kassette – platziert. Alle Kristalle sind mit einem gemeinsamen Deckel abgedeckt und werden durch einen speziellen Ventilator gekühlt.

Die interne Taktfrequenz beträgt 233.266.300 MHz, die externe bleibt bei 66,6 MHz.

Der Prozessor verfügt über zusätzliche Energiesparmodi:
1. Ruhezustand („Schlafmodus“), wenn seine internen Knoten außer der Frequenzvervielfacherschaltung nicht getaktet werden.
2. Tiefschlaf („Tiefschlaf“). Tritt auf, wenn eine externe Uhr entfernt wird. In diesem Modus führt der Prozessor keine Funktionen aus und der verbrauchte Strom wird nur durch Leckströme bestimmt.

Pentium III – 1999

1999 erschien der 600-MHz-Pentium-III-Prozessor mit 9,5 Millionen Transistoren. Laut Intel ermöglicht dieser Prozessor den Empfang von Audio- und Videoinformationen aus dem Internet sowie dreidimensionale Grafiken in höchster Qualität. Nach Prognosen der produzierenden Unternehmen wird die Weiterentwicklung der MP-Produktionstechnologie in Richtung einer Erhöhung der Transistordichte auf einem Chip, einer Erhöhung der Anzahl der Metallisierungsschichten und einer Erhöhung der Taktfrequenz sowie einer Verringerung der Versorgungsspannung gehen spezifische (pro Transistor) verbrauchte elektrische und freigesetzte thermische Energie. Derzeit wird der Pentium IV-Prozessor produziert, dessen Taktfrequenz 3000 MHz erreicht hat.

Die technologische Grenze der linearen Abmessungen von Transistoren auf einem Chip liegt aufgrund physikalischer Einschränkungen bei etwa 0,05 Mikrometern. Auf dem Weg zur weiteren Minimierung stehen neben körperlichen Einschränkungen auch wirtschaftliche. Mit jeder nächsten Chipgeneration verdoppeln sich die Technologiekosten. 1986 wurde der i80386 in einer 200-Millionen-Dollar-Fabrik hergestellt. Das Intel-Werk hat derzeit einen Wert von 2,4 Milliarden US-Dollar. Daher wird eine Anlage zur Herstellung von Chips mit 0,25-Mikron-Technologie 10 Milliarden US-Dollar kosten. Die Produktionszeit für MP nimmt zu. So wird der Pentium-Prozessor in 6 Monaten und der neuere Pentium Pro in 9 Monaten produziert. MP-Generationen wechseln alle 2-3 Jahre. Mit jeder Generation verringern sich die linearen Abmessungen der Elemente um etwa das 1,5-fache. Im Jahr 2000 betrug die Breite der Leiter 0,2 µm und im Jahr 2006 erreichte sie 0,1 µm, die Taktfrequenz hat bereits 2000 MHz überschritten.

Die obigen kurzen Daten zur Entwicklung von MP am Beispiel von Intel-Produkten zeigen, wie schnell sich die Produktion von MP entwickelt und verbessert. Kein anderer Technologiezweig entwickelt sich so schnell. Gordon Moore, der Gründer von Intel, drückte dies sehr bildlich aus: „Wenn sich die Automobilindustrie mit der Geschwindigkeit der Halbleiterindustrie entwickeln würde, dann würde ein Rolls-Royce heute 3 Dollar kosten, könnte eine halbe Million Meilen mit einer Gallone Benzin fahren und.“ Es wäre billiger, es wegzuwerfen, als für das Parken zu bezahlen.

In diesem Test werden ausschließlich Intel-Prozessoren berücksichtigt. Es ist zu beachten, dass auch die Technologie anderer Unternehmen, die Prozessoren herstellen, wie AMD, Cyrix, Motorola und andere, einen ähnlichen Entwicklungsweg durchläuft. Aber der führende „Trendsetter“ in diesem Kampf um Qualität bleibt Intel.


9 Mikroprozessoren und Mikrocomputer in Informations- und Messgeräten

9.1 Die Hauptfunktionen des MP in der Messausrüstung

Die am häufigsten verwendeten integrierten MP und MK. Sie verbessern die Eigenschaften von Geräten erheblich (Genauigkeit, Zuverlässigkeit, Effizienz usw.). Die Verwendung des eingebauten MP ermöglicht die Umwandlung eines Einzelfunktionsgeräts in ein Multifunktionsgerät durch die Kombination mehrerer Funktionseinheiten mit Schaltgeräten in einer Einheit. MP macht ein solches Gerät programmierbar.

Der MP verbessert die Genauigkeit des Messgeräts, indem er die Nulleinstellung vor Beginn der Messungen automatisch ausgleicht, automatisch eine Kalibrierung durchführt (Selbstkalibrierung, Selbstkontrolle) und eine automatische statistische Verarbeitung der Messergebnisse durchführt.

MT erweitert die Messmöglichkeiten von Instrumenten durch den Einsatz indirekter und aggregierter Messungen. Bei indirekten Messungen wird nicht der gewünschte Parameter gemessen, sondern andere Parameter, mit denen der gewünschte durch eine funktionale Abhängigkeit zusammenhängt. Beispielsweise lässt sich die Leistung durch Messung von Spannung und Widerstand ermitteln und nach der Formel P=U 2 /R berechnen. Bei der Methode der kumulativen Messung werden mehrere gleichnamige physikalische Größen gleichzeitig gemessen, wobei durch Lösung eines Gleichungssystems die gewünschten Werte der Größen ermittelt werden. In diesem Fall ist der MT so programmiert, dass er die notwendigen analytischen Abhängigkeiten implementiert.


9.2 Beispiele für den Einsatz von MP in Messgeräten

9.2.1 Digitaler Frequenzzähler mit Mikroprozessor

Zur Messung hoher Frequenzen wird eine direkte Methode verwendet, bei der ein bestimmtes Zeitintervall ausgewählt und die Anzahl der Perioden des untersuchten Signals gezählt wird. Mit zunehmender Periodenzahl N steigt die Messgenauigkeit. Bei niedrigen Frequenzen würde dies zu viel Zeit in Anspruch nehmen. Daher wird bei niedrigen Frequenzen eine indirekte Methode verwendet. Die Breite des temporären Tors wird als Vielfaches der Periode des untersuchten Signals qT x gewählt, das Tor wird mit Impulsen des Generators einer bekannten Frequenz F sch gefüllt und die Anzahl der Impulse n wird gezählt. Beide Methoden sind in Abbildung 9-1 dargestellt


Abb.9-1 Zeitdiagramme des Frequenzmessvorgangs.

Hier:
a - gemessenes Signal;
b – in eine Impulsfolge umgewandeltes Signal;
c – Zeitintervall für indirekte Messung;
d - Füllimpulse während der indirekten Messung;
e - Zeitintervall für die direkte Messung;
e - Impulsstoß während der direkten Messung.

Abbildung 9-2 zeigt ein Blockdiagramm eines Geräts zur Messung der Frequenz eines Signals durch direkte und indirekte Methoden unter der Kontrolle des MP, in dem die den Zeitdiagrammen entsprechenden Punkte markiert sind.


Abb.9-2

direkte Methode

Wenn A 0 =1, wird eine direkte Messmethode implementiert. Multiplexer wählen Eingänge x 1 aus. Der MP erstellt ein temporäres Tor mit einer Dauer von T. Wenn der Zähler in diesem Intervall N Impulse gezählt hat, dann ist T=nT x, oder T=n/F x, also F x =n/T.

indirekte Methode

Wenn A 0 = 0, werden x 0 Eingänge der Multiplexer ausgewählt und ein indirektes Messverfahren implementiert. Der temporäre Gate-Shaper enthält einen Frequenzteiler mit einem Umrechnungsfaktor q=2 k, wobei k so gewählt wird, dass man die Anzahl der Impulse (Diagramm d) erhält, die die erforderliche Messgenauigkeit F x liefert. In das Intervall qT x passen n Impulse qT x =nT mid oder q/F x =n/F mid, also F x =qF mid /n.


9.2.2 Weitbereichszähler

Es nutzt ein Heterodyn-Verfahren zur Absenkung der Frequenz des gemessenen Signals. Mischt man das Messsignal F meas mit dem Lokaloszillatorsignal (Hilfsgenerator) F 1 , so entstehen Signale mit den Frequenzen F meas +nF 1 und F meas -nF 1 . Um die Frequenz zu senken, wird die Variante F meas -nF 1 =F pr verwendet, wobei F pr die vom nächsten Block zugewiesene Zwischenfrequenz ist.


Abb.9-3

PSCH – programmierbarer Frequenzsynthesizer (lokaler Oszillator).
UPCH – Zwischenfrequenzverstärker.
TsCH – digitaler Frequenzmesser Typ Abb.9-2

Im Betrieb ändert der MP F synth auf den Wert F „synth, bei dem

F meas -F "synth \u003d F ave. Dann F meas \u003d F pr + nF "synth.


9.2.3 Messgenerator mit MP-Steuerung

Am häufigsten werden Funktionsgeneratoren verwendet, die Signale verschiedener Formen (dreieckig, rechteckig, sinusförmig und andere) mit normalisierten messtechnischen Eigenschaften erzeugen. Der Frequenzbereich solcher Generatoren beträgt 10 -6 Hz - 50 * 10 6 Hz. Abbildung 9-4 zeigt ein Blockschaltbild eines solchen Generators.


Abb.9-4

Dabei ist BS ein programmierbarer Zählerblock, GTI ein programmierbarer Taktgenerator.

Nachdem der Bediener die Funktion f(t) eingegeben hat, um ein Signal derselben Form zu erzeugen, berechnet der MP die Abtastwerte f(t i) im Intervall einer Periode mit einer bestimmten Abtastrate. Die Messwerte werden in den RAM geschrieben. Das GTI-Ausgangssignal geht an die BS, wo die RAM-Adresse gebildet wird.


9.2.4 Digitale Filter

Ein digitaler Filter ist ein Gerät, das ein diskretes Signal x n in ein anderes diskretes Signal y n umwandelt, und die Signale x n und y n selbst sind binäre digitale Codes.

Der Analogfilter ist eine frequenzselektive Schaltung, die eine lineare Transformation von einem kontinuierlichen Eingangssignal U 1 (t) in ein kontinuierliches Ausgangssignal U 2 (t) durchführt. Im Gegensatz dazu wandelt der digitale Filter die digitale Eingangsfolge x(nT) in die digitale Ausgangsfolge y(nT) um. Betrachten Sie die Umwandlung eines analogen Filters in ein digitales am Beispiel der einfachsten Filter.

Der einfachste analoge Hochpassfilter ist eine RC-Schaltung (Abbildung 9-5).


Abb.9-5

Definieren wir das Verhältnis zwischen Eingangs- und Ausgangsspannung.

U 2 (t) \u003d i (t) * R \u003d RC * d (U 1 -U 2) / dt (1)

Stellen wir U 1 (t) und U 2 (t) durch die entsprechenden digitalen Folgen U 1 =x(nT) und U 2 =y(nT) dar, dann:

Wenn wir (2) in (1) einsetzen, erhalten wir:

Bezeichnen

.

Der resultierende Ausdruck bestimmt den Algorithmus zur Berechnung des Ausgangssignals des Filters Y n im n-ten Quantisierungsschritt, abhängig von seinem Wert im vorherigen n-1-ten Schritt, den Werten des Eingangssignals X n , X n -1 und der Abtastschritt τ. Definieren wir das Einschwingverhalten des Hochpassfilters.

Wenn wir den Abtastschritt τ=1 wählen, dann erhalten wir

X(nT)=1 für n>=0,X(nT)=0 für n<0.

Mit einem kleineren Schritt τ=0,125 gilt

Bei Verwendung eines analogen Filters ergibt die Lösung seiner Differentialgleichung

Abbildung 90-6 zeigt die mit den Formeln (3), (4) und (5) berechneten Werte des Ausgangssignals und die entsprechenden Diagramme.


Abb.9-6

Es ist ersichtlich, dass sich das Einschwingverhalten des digitalen Filters dem des analogen Filters annähert, wenn das Abtastintervall τ abnimmt.

Der einfachste analoge Tiefpassfilter ist in Abbildung 9-7 dargestellt.


Abbildung 9-7

Es wird durch die Gleichung beschrieben:

Kommen wir zu den Inkrementen:

und schlussendlich:

Es kann gezeigt werden, dass sich in diesem Fall mit abnehmendem τ das Einschwingverhalten des digitalen Filters auf unbestimmte Zeit dem Einschwingverhalten des analogen Filters annähert.

Bei digitalen Filtern kommt es auf Operationen der Multiplikation mit einigen Koeffizienten und der Addition an. Die oben genannten Filter sind Filter erster Ordnung. Die besten Ergebnisse werden mit Filtern höherer Ordnung erzielt, bei denen die um mehrere Schritte verzögerten Werte von x und y zur Berechnung des Ausgangswerts Y n verwendet werden.

Die Berechnung eines solchen Ausdrucks ist auf dem MP sehr einfach zu programmieren und durchzuführen. Verzögerte Signale werden auf den Stapel gelegt.


10 Prüfung von Mikroprozessorsystemen

10.1 Prüfung mit statischen Signalen

In Mikroprozessorsystemen sind die Datenströme aperiodisch, die Signaldauer ändert sich, was große Schwierigkeiten beim Testen und Diagnostizieren – der Ermittlung der Fehlerursache – mit sich bringt. Eine Möglichkeit, diese Schwierigkeiten zu überwinden, besteht darin, das System statisch zu testen. Beim MP K580VM80 geschieht dies wie folgt. MP wird nicht in die Platine eingelötet, sondern in das Panel eingebaut. Beim Testen wird der MP entfernt und ein Adapterblock zur Simulation und Anzeige von Signalen eingesetzt. Kippschalter sind mit den Adressbus-Pins verbunden, Kippschalter sind über Tri-State-Schaltkreise mit dem Datenbus verbunden und LEDs sind über Open-Collector-Logikelemente verbunden. Durch Einstellen der notwendigen Adressen und Ausgangssignale des MP mit Kippschaltern können Sie das System testen.


10.2 Autodiagnose von Mikroprozessorsystemen

Die Autodiagnose ist eine integrierte Diagnose, die auf der Verwendung interner Diagnoseprogramme basiert. Diese Programme können selbstausführend sein oder vom Benutzer des Systems aufgerufen werden. Sie werden beim Entwurf eines Mikroprozessorsystems festgelegt.


10.3 Logikanalysatoren

Das Testen mit statischen Signalen ist ein langsamer und nicht immer anwendbarer Prozess. Universeller ist der Einsatz spezieller Geräte – Logikanalysatoren.


10.3.1 Logische Zustandsanalysatoren (synchroner Modus)

Sie sind in 8-, 12-, 16- und 32-Bit-Versionen erhältlich. Die Ausgabeinformationen werden in Form von Tabellen mit Einsen und Nullen, Oktal- oder Hexadezimalcodes bereitgestellt. Der Analysator wird an den zu testenden Bus angeschlossen und eine Tabelle oder Anzeige zeigt eine Tabelle mit n Buszuständen, beginnend mit dem angegebenen Zustand, oder n vorherigen Zuständen. Ähnliche Analysatoren werden gemäß dem Blockschaltbild von Abb. 10-1 aufgebaut.


Abb.10-1

K0-K15 – Eingangssignalkomparatoren;
R - Potentiometer zum Einstellen des Vergleichsniveaus;
KC – Wortkomparator;
Kl – Worteingabetastatur;
FUS – Steuersignalgenerator;
Rg0-Rg15 – Schieberegister (Modul 2 Kapitel 7.2) zur Aufzeichnung von 16 Werten des i-ten Eingangs;
f:n – Frequenzteiler; BPR – Konvertierungsblock.

Zu Beginn der Arbeit des Logikanalysators wird ein Wort auf der Tastatur eingegeben, von dem aus die Analyse durchgeführt wird. Stimmen der Code an den Ausgängen K0-K15 und der gewählte Code überein, erzeugt der COP einen Impuls, unter dessen Einfluss der FUS die Steuersignale US1 und US2 generiert. Mit dem Eintreffen jedes Taktimpulses TI erscheint am Ausgang des Zähler-Teilers ein Zählimpuls US1 * TI. Nach dem Eintreffen von n Taktimpulsen schließt der Konjunktor &2 und das Schreiben in die Register stoppt. Der Konvertierungsblock aus n Ausgangswerten der Register Rg0-Rg15 bildet auf dem Bildschirm eine Tabelle mit n Zeilen.


10.3.2 Logik-Timing-Analysatoren (asynchroner Modus)

Solche Analysatoren scannen die Eingangssignale mit einer Frequenz, die viel höher ist als die Frequenz der Signale. Dies ermöglicht nicht nur die Bestimmung des Vorhandenseins oder Fehlens eines Signals in jeder Taktperiode, sondern auch die Untersuchung der Änderungsdynamik, die Erkennung von Frontverzerrungen, kurzfristigen Spitzen, Einbrüchen usw. Asynchronmodus-Analysatoren werden mit einer viel höheren internen Frequenz getaktet. Es werden Geräte mit f=20, 50, 100, 200 MHz hergestellt. Sie verwenden zusätzliche Triggerschaltungen zur Behebung von Fehlimpulsen bis zu 5 ns, was die Erkennung solcher Impulse erheblich erleichtert.


10.4 In-Circuit-Emulatoren

Emulation ist ein Prozess, bei dem ein System verwendet wird, um die Eigenschaften eines anderen Systems zu reproduzieren. In-Circuit-Emulatoren werden verwendet, um die Emulation verschiedener Komponenten des entwickelten Mikroprozessorgeräts zu organisieren. Sie sind für die Organisation komplexer Debugging-Entwicklungen gedacht. Die Industrie stellt Emulatoren als eigenständige Geräte her. Sie emulieren das Verhalten des Mikroprozessors, der Speichergeräte und der Peripheriegeräte.

Der In-Circuit-Emulator kann in den Modi der Abfrage des Status verschiedener MPS-Knoten und der schrittweisen Ausführung des Benutzerprogramms arbeiten. Mit seiner Hilfe werden der MPS-Kern und Trunks überprüft sowie ROM- und RAM-Tests durchgeführt. Die beste Testoption ist eine Kombination aus In-Circuit-Emulation und Signaturanalysemethoden.


10.5 Signaturanalyse

Eine Signatur ist eine Zahl, die aus 4 Zeichen eines Hexadezimalcodes besteht und einen bestimmten Knoten des gesteuerten Geräts bedingt, aber eindeutig charakterisiert. Die Signatur wird im Werk – dem Hersteller des Gerätes – ermittelt und an einzelnen Stellen des Stromkreises (Abb. 10-2) oder in der Anleitung des Gerätes angegeben.

Abb.10-2 Auf dem Gerätediagramm angegebene Signaturen

Die Signatur wird aus dem vom MP generierten Testsignal (Testsequenz) gebildet. Dem Eingang eines beliebigen Knotens wird eine Testsequenz bestehend aus mindestens 16 Nullen und Einsen zugeführt. Vom Ausgang des Knotens (kontrollierter Punkt) wird die bereits konvertierte Sequenz entnommen und dem Eingang des Signaturanalysators zugeführt. Der Signaturanalysator enthält einen BFS-Signaturgenerierungsblock (Abb. 10-3), der aus 16 Triggern besteht, die über Addierer Modulo 2 miteinander verbunden sind. Wenn der Analysator läuft, wird die Operation der Division von Polynomen durchgeführt. Die Eingabesequenz bildet einen Dividenden, die FFS-Schaltung ist ein Divisor und das in Triggern nach dem Ende der Testsequenz aufgezeichnete Ergebnis ist der Rest der Division. Sind die Prüfabläufe beim Hersteller und beim prüfenden Verbraucher gleich, sowie das gleiche BFS, dann stimmt bei der Überprüfung eines funktionsfähigen Geräts die resultierende Signatur mit der in der Dokumentation angegebenen Signatur überein.


Abb.10-3

Die Wahrscheinlichkeit, die gleichen Signaturen für zwei Binärsequenzen zu erhalten, die sich um ein Bit voneinander unterscheiden, ist gleich Null und die sich um mehrere fehlerhafte Bits unterscheiden, beträgt 0,00001526. Mit anderen Worten, die Fehlererkennungssicherheit >=99,998 %. Die Überprüfung einzelner Knoten des Geräts reduziert sich auf die Bestimmung der Signatur am Ausgang des Knotens. Wenn sie mit der Werkseinstellung übereinstimmt, funktioniert das Gerät.


11 Gewährleistung der Störfestigkeit von Mikroprozessorsystemen

11.1 Primärleitungsunterdrückung

Bei der Entwicklung von Mikroprozessorsystemen muss besonderes Augenmerk auf den Schutz vor Störungen gelegt werden, die zu Fehlfunktionen führen. Ein erheblicher Teil der Störungen stammt aus dem Stromnetz. Ein im Labor gut etabliertes MPS kann in einer Produktionsumgebung aufgrund von Störungen völlig funktionsunfähig sein. Störungen treten bei plötzlichen Änderungen der Netzlast auf, beispielsweise beim Einschalten eines leistungsstarken Elektromotors, Ofens oder Schweißgeräts. Daher sollte nach Möglichkeit eine Isolierung von solchen Störquellen über das Netzwerk erfolgen. Abbildung 11-1 zeigt verschiedene Möglichkeiten zum Anschluss von Geräten, die einen Mikroprozessor enthalten. Die beste Option ist die Stromversorgung des MPS und der Verbraucher, die starke Stromimpulse erzeugen (Motoren).


Abb.11-1

Zur Unterdrückung kurzzeitiger Störungen ist ein Netzfilter eingebaut Abb. 11-2.


Abb.11-2

In einigen Fällen ist es erforderlich, eine elektrostatische Abschirmung einzuführen (z. B. eine normale Wasserleitung, die an ein geerdetes Gehäuse einer Stromplatine angeschlossen ist), um darin Netzwerkkabel zu verlegen.


11.2 Netzentstörung im Netzteil

Trotz korrektem Anschluss, der elektrostatischen Abschirmung und dem Vorhandensein eines Überspannungsschutzes dringen Störungen teilweise noch in den Netzeingang des Gerätes ein. Aufgrund der kapazitiven Kopplung zwischen Netz- und Sekundärwicklung gelangt das Impulsrauschen durch den Leistungstransformator in den Gleichrichter und darüber hinaus.

Unterdrückungsmethoden:
1. Die Primär- und Sekundärwicklung eines Leistungstransformators befinden sich auf unterschiedlichen Spulen. Dies reduziert die kapazitive Kopplung zwischen den Wicklungen erheblich, verringert jedoch die Effizienz des Transformators.
2. Die Wicklungen befinden sich auf einer Spule, sind jedoch durch einen Kupferfolienschirm mit einer Dicke von mindestens 0,2 mm getrennt, der mit der Karosseriemasse verbunden ist. Der Schirm darf niemals kurzgeschlossen werden!
3. Die Primärwicklung ist vollständig von einem Schirm umgeben (nicht kurzgeschlossen), der geerdet ist.
4. Die Primär- und Sekundärwicklungen sind in getrennten Schirmen eingeschlossen und zwischen ihnen ist ein Trennschirm angebracht. Alle Schirme sind geerdet. Parallel zur Primärwicklung ist eine Kette aus in Reihe geschalteten C \u003d 0,1 μF und R \u003d 100 Ohm angeschlossen, um die Energie zum Zeitpunkt der Abschaltung zu löschen.

11.3 Erdungsregeln

In strukturell fertigen Einheiten gibt es immer zwei Arten von „Masse“-Bussen – Körper und Stromkreis.

Gemäß den Sicherheitsvorschriften muss der Körperbus zwingend mit dem im Raum verlegten Erdungsbus verbunden werden. Der Stromkreisbus („Masse“ des Gerätestromkreises) sollte nicht mit dem Körperbus verbunden werden, es muss jedoch eine separate, vom Körper isolierte Klemme dafür vorhanden sein. Wenn das System mehrere Geräte umfasst, die über Informationsleitungen verbunden sind, ist es keineswegs gleichgültig, wie deren Gehäuse- und Stromkreis-„Masse“-Busse mit dem „Masse“-Bus des Raums verbunden sind.

Bei falschem Anschluss gelangen die durch die Ausgleichsströme auf der Erdungsschiene erzeugten Überspannungen tatsächlich an die Eingänge der Geräte, was zu Fehlfunktionen führen kann.

Die geringste gegenseitige Beeinflussung wird erreicht, wenn die Erdungsbusse der Schaltung an einem Punkt und die Gehäusebusse an einem anderen Punkt kombiniert werden (Abb. 11-3). Der Abstand zwischen den Punkten wird experimentell ausgewählt. In einigen Fällen ist Punkt A möglicherweise nicht mit der Erdungsschiene des Raums verbunden.


Abb.11-3


11.4 Störunterdrückung der sekundären Versorgungsstromkreise

Beim Schalten integrierter Schaltkreise und in Push-Pull-Ausgangsschaltkreisen treten große Stromstöße auf. Aufgrund der endlichen Induktivität der Stromschienen auf den Platinen verursachen diese Spannungsimpulse. Wenn die Reifen dünn sind und keine Entkopplungskapazitäten vorhanden sind, treten am „fernen“ Ende des Busses Impulse mit einer Amplitude von bis zu 2 V auf! Die Höhe solcher Impulse entspricht einer logischen Einheit, die zu Ausfällen führt. Um diesen Effekt zu beseitigen, befolgen Sie diese Empfehlungen:
1. Die Strom- und Erdungsschienen auf den Platinen müssen eine Mindestinduktivität aufweisen. Dazu erhalten sie eine Gitterstruktur, die die gesamte freie Oberfläche der Platte bedeckt.
2. Externe Strom- und Erdungsbusse werden über mehrere gleichmäßig auf dem Stecker verteilte Kontakte mit der Platine verbunden.
3. Störungen werden in der Nähe der Orte ihres Auftretens unterdrückt. Dazu wird in der Nähe jedes TTL-Stromkreises ein Kondensator C = 0,02 μF installiert, um hochfrequente Störungen zu eliminieren, und zusätzlich ein Elektrolytkondensator C = 100 μF in einer Gruppe von 10-15 Stromkreisen.

DIGITALE UND MIKROPROZESSORGERÄTE

Minsk

Grundlagen der Mikroprozessortechnik

DIGITALE UND MIKROPROZESSORGERÄTE

Wolodymyr Mikolayovich

Adabaschew

Bekir Welischajowitsch

Kandidat der pädagogischen Wissenschaften

Außerordentlicher Professor RVNZ „KIPU“

Kopf Abteilung „Berufspädagogik und Ingenieurgrafik“

RVNZ „KIPU“

Paderin

Ingenieur - Designer

Kandidat der technischen Wissenschaften

Außerordentlicher Professor RVNZ „KIPU“

Leiter Technik und Computergrafik. Teil 1.

(Grundlagen der Zeichengeometrie). Überschriftenführer RVNZ „Krim-Ingenieurwesen

Pädagogische Universität. Simferopol, DIAPI, 2012. - 175 S.: Abb.

Korrektor: Ashirova F.M.

Computergrafik: Zіtlyaєєv R.E.

Computerzifferblatt: Paderin O.V.

Vidavnitstvo „DIAYPI“ 2012 Simferopol.

Auflage 300 ca.

Vorlesungsnotizen

In 5 Teilen


MINISTERIUM FÜR KOMMUNIKATION UND INFORMATION

DIE REPUBLIK WEISSRUSSLAND

Bildungseinrichtung

„HÖCHSTE STAATLICHE KOMMUNIKATIONSSAMMLUNG“

Fakultät für Informatik und Technische Informatik

Vorlesungsnotizen

für Studierende der Fachrichtungen

Fakultät für Informatik und Technische Informatik

Compiler

V. I. Bogorodov, Lehrer der höchsten Kategorie

Fakultät für Informatik und Technische Informatik

Rezensent

E. V. Novikov, Leiter. Fakultät für Informatik und Technische Informatik,

cand. Technik. Naturwissenschaften, außerordentlicher Professor

C75 Digital- und Mikroprozessorgeräte: Vorlesungsskript für Studierende der Fachrichtungen 2-45 01 03 – Telekommunikationsnetze, 2-45 01 02 – Funkkommunikation, Rundfunk- und Fernsehsysteme. Um 5 Uhr. Teil 4: Grundlagen der Mikroprozessortechnik / Komp. V. I. Bogorodov. - Minsk: VGKS, 2008. - 61 S. ISBN 978-985-6866-42-8. Berücksichtigt werden die allgemeinen Prinzipien des Aufbaus von Mikroprozessoren und Mikroprozessorsystemen, die wichtigsten technischen Daten und der Aufbau eines Single-Chip-Mikroprozessors K1821VM85A. Das Interrupt-System, die serielle Dateneingabe/-ausgabe, das Befehlssystem und die Programmierung des Mikroprozessors K1821VM85A werden beschrieben. Es werden der Zweck, die Schaltungsimplementierung, die Funktionsprinzipien einfacher Schnittstellenschaltungen und deren Programmierung sowie Beispiele moderner Schnittstellen-Mikroschaltungen der inländischen Produktion von CMOS-Schaltungen angegeben. Konzipiert für Studenten und Lehrer. UDC 81,332 BBK 32,97

ISBN 978-985-6866-42-8 (Teil 4)



978-985-6866-43-5 © VGKS, 2008

Bildungsausgabe

Vorlesungsnotizen

für Studierende der Fachrichtungen

2-45 01 03 – Telekommunikationsnetze

2-45 01 02 – Systeme für Funkkommunikation, Rundfunk und Fernsehen

In 5 Teilen

Compiler

Bogorodow Wladimir Iljitsch

Herausgeber E. B. Levenkova

Computerlayout von I. A. Krutaya

Plan 2007/2008 Stadt, Pos. 23

Unterzeichnet zur Veröffentlichung am 01.09.2008. Format 60*84/16.

Offsetpapier. Headset „Times“.

Die Presse ist digital.

Konv. Ofen l. 3.34. Uch.-ed. l. 2,85.

Auflage 95 Exemplare. Bestellen Sie 91.

Verlags- und Druckausführung

Bildungseinrichtung

„Higher State College of Communications“

LI Nr. 02330/0131902 vom 01.03.2007.

220114, Minsk, F.Skorina, 8/2


EINFÜHRUNG

Der vierte Teil des Vorlesungsskripts befasst sich mit den wichtigsten Definitionen und der Klassifizierung von Mikroprozessoren, Blockdiagrammen von Mikroprozessoren mit „harter“ und programmierbarer Steuerlogik, einem typischen Blockdiagramm eines Mikroprozessorsystems mit gemultiplextem Adress- und Datenbus basierend auf dem Mikroprozessor K1821VM85A . Beschrieben werden der Aufbau des Mikroprozessors K1821VM85A, der Zweck der Knoten und ihre Interaktion beim Lesen und Ausführen von Befehlen, das Interrupt-System, die serielle Dateneingabe/-ausgabe, das Befehlssystem und Programmiertechniken. Berücksichtigt werden Zweck, Schaltungsimplementierung, Funktionsprinzipien einfacher Schnittstellenschaltungen und deren Programmierung. Es werden Beispiele moderner Schnittstellen-Mikroschaltungen aus inländischer Produktion von CMOS-Schaltkreisen gegeben.

ALLGEMEINE INFORMATIONEN ZU MIKROPROZESSOREN

Allgemeine Informationen zu Mikroprozessoren, grundlegende Definitionen und Klassifizierung

Mikroprozessor (MP) bezeichnet ein softwaregesteuertes Gerät, das den Prozess der Verarbeitung digitaler Informationen und deren Steuerung ausführt und in Form eines oder mehrerer integrierter Schaltkreise implementiert ist.

Mikroprozessor-LSI- ein integrierter Schaltkreis mit einem hohen Integrationsgrad, der die Funktion eines Mikroprozessors oder eines Teils davon übernimmt.

Mikroprozessorbausatz (MPK)- eine Reihe von Mikroprozessoren und anderen integrierten Schaltkreisen, die hinsichtlich Architektur, Design und elektrischen Parametern kompatibel sind und die Möglichkeit ihrer gemeinsamen Verwendung als Teil eines Mikroprozessor-Rechen- oder Steuergeräts bieten.

Kristall BIS- ein Teil eines Halbleiterwafers, in dessen Volumen und auf dessen Oberfläche die Grundelemente des Mikroprozessors, Zwischenelementverbindungen und Kontaktpads gebildet sind.

analoger Chip- eine Mikroschaltung zur Umwandlung und Verarbeitung von Signalen, die sich nach dem Gesetz einer kontinuierlichen Funktion ändern.

digitale Mikroschaltung- eine Mikroschaltung zur Umwandlung und Verarbeitung von Signalen, die sich nach dem Gesetz einer diskreten Funktion ändern.

MP ist das zentrale Verarbeitungselement von Mikroprozessorsystemen (MPS) oder Mikrocomputern.

MPS- eine Gruppe von BIS IPC, vereint in einer einzigen Struktur und mit einem gemeinsamen Arbeitsprogramm.

Im MPS wird der Prozess der Ausführung eines bestimmten Programms organisiert und verschiedene Aufgaben werden durch die Ausführung von Befehlen gelöst, die für einen bestimmten MP charakteristisch sind, d. h. in seinem Befehlssystem enthalten sind.

Befehlssystem– ein vollständiger Satz aller von MP ausgeführten Befehle.

Zu den MPS zählen Rechen-, Instrumentierungs- und Steuerungssysteme, deren Verarbeitungselement das MP ist.

Der erste MP erschien 1971. Dies ist ein 4-Bit-MP i4004, der erstmals in Taschenrechnern verwendet wurde. 1972 erschien der 8-Bit-MP i8008 und 1974 sein verbessertes Analogon i8080. Anwendung fand es in den ersten eingebetteten Computern zur Steuerung von Produktionsprozessen.

Die Entwicklung des MP verlief in verschiedene Richtungen, die wichtigste davon ist die Erhöhung der Bitkapazität. In diesem Bereich wurden in kurzer Zeit bedeutende Ergebnisse erzielt. Deshalb brachte Motorola 1980 den 32-Bit-MP MC68000 auf den Markt, dann Intel und andere. Der erste 64-Bit-MP i80860 wurde 1989 von Intel usw. entwickelt. Die überwiegende Mehrheit der hergestellten MPs sind Single-Chip-Modelle.

Die gesamte Vielfalt der MP-LSI lässt sich nach folgenden Merkmalen klassifizieren (Abbildung 1):

Je nach Fertigungstechnologie und Schaltungselementbasis;

Entsprechend der Bittiefe der verarbeiteten Daten;

Nach Art der Architektur;

Nach Art der vorübergehenden Organisation der Arbeit des BIZ;

Je nach Funktionszweck;

Nach der Art der verarbeiteten Informationen;

Nach Anwendungsgebiet;

Nach der Anzahl gleichzeitig laufender Programme.

Durch Fertigungstechnologie und der dazugehörigen Schaltungselementbasis gibt es MP-LSI, die auf Schaltungen dieses Typs basieren MOS, bipolares und kombiniertes bipolares Feld ( Bi-CMOS). Die ersten Generationen von MP-LSIs wurden auf Basis von implementiert P- (P-MOS) Und N-Kanal ( N-MOS)-Transistoren basieren die aktuellen Generationen auf fortschrittlichen CMOS-Schaltkreisen und -Technologien. Mikroprozessorbasierter LSI basierend auf einem kombinierten Bipolarfeld ( Bi-CMOS)-Technologien verfügen über die beste Kombination von Eigenschaften und bieten hohe Geschwindigkeit und Belastbarkeit bei relativ geringem Eigenwiderstand CMOS-LSI, Energieverbrauch. Der am weitesten verbreitete MP BIS-Typ CMOS Und Bi-CMOS.

Entsprechend der Bittiefe der verarbeiteten Daten Unterscheiden Sie zwischen 2-, 4-, 8-, 16-, 32-, 64-Bit-MP-LSI und mehr. Dies bedeutet normalerweise die maximale Bitlänge des verarbeiteten Informationsworts (Operanden). Beispielsweise kann ein 16-Bit-MP 8-Bit-Wörter verarbeiten.

Nach Art der Architektur unterscheiden zwischen erweiterbaren (oder sektionalen) und nicht erweiterbaren (oder geschlossenen) Mikroprozessoren. Erweiterbar ermöglichen es Ihnen, die Kapazität der verarbeiteten Daten (Operanden) zu erhöhen, indem Sie die erforderliche Anzahl von MP-LSI parallel kombinieren. Um ein 32-Bit-Wort zu verarbeiten, können Sie also zwei 16-Bit- oder vier 8-Bit-Abschnitts-MPs verwenden. Natürlich werden in die Struktur solcher LSI-MPs spezielle Eingaben eingeführt, die die Position des Sektions-MP im Mikroprozessorsystem bestimmen – Junior, Medium oder Senior. Der Begriff Architekturtyp umfasst auch die Art der Busorganisation: mit getrennten, mit kombinierten, mit bidirektionalen Bussen.


Abbildung 1 – Klassifizierung von MP LSI

Neben der Möglichkeit der Erweiterung der Bittiefe ermöglichen Schaltungslösungen des MP LSI die Organisation von Pipeline-Architekturen, wenn die Verarbeitung des Informationsflusses parallel erfolgt.

Abhängig vom verwendeten Befehlssystem Es gibt zwei Arten von Architekturen: MP CISC-die Architektur ( CISC-Computer mit komplexem Befehlssatz) Ausführen eines vollständigen Befehlssatzes und MP mit RISC-die Architektur ( RISC-reduzierter Befehlssatzcomputer), die nicht alle Standardbefehle, sondern nur die am häufigsten verwendeten Befehlstypen in Computer- und Steuerungssystemen ausführen. Dadurch ist es möglich, die für die Implementierung solcher LSIs erforderlichen Hardwarekosten erheblich zu senken und vor allem die Leistung von MP-LSIs zu steigern.

Nach Art der temporären Arbeitsorganisation MP-LSI und ihre Sätze sind in synchrone und asynchrone unterteilt. Wenn im synchronen MP-LSI die Befehlsausführungszeit (Taktfrequenz des LSI-Betriebs) konstant und unabhängig von der Art der Befehle und Operandenwerte bleibt, wird im asynchronen MP-LSI der Beginn der Ausführung jedes nächsten Befehls durch das Signal des tatsächlichen Befehls bestimmt Abschluss der Ausführung des vorherigen. Synchrone MP-LSIs zeichnen sich durch eine relativ einfache Organisation der internen Steuerung aus, bieten jedoch im Vergleich zu asynchronen LSIs eine geringere Leistung.

Nach Funktion Es gibt folgende Arten von MP-LSI: LSI für Prozessorelemente (PE), LSI für Mikroprogrammsteuerung (MPU), Schnittstellen-LSI. Die Prozessorelemente sind eigentlich die Betriebseinheit jedes Mikroprozessorsystems, das einen vollständigen Satz von Operationen ausführt. LSI MPU, die Teil der meisten Mikroprozessor-Kits sind, sind so konzipiert, dass sie eine Folge von Adressen externer Speicherbefehle (Mikrobefehle) basierend auf den Codes der verarbeiteten Befehle, den Werten der vom Prozessorelement erzeugten Signale und Signalen von externen Geräten bilden , Interrupt-Anfragen usw. Schnittstellen-MP-LSIs dienen dazu, die Kommunikation von LSI PE und MPU mit externen Geräten und untereinander als Teil jedes Mikroprozessorsystems zu organisieren. Hier unterscheiden sie wiederum zwischen Typen wie Trunk Transceiver (MTP), Trunk Switches (MK), programmierbaren Systemcontrollern (PSC), programmierbaren Eingabe-Ausgabe-Kanälen (PCVV), Mehrzweckpufferregistern und Direct Memory Access Controllern ( KPDP) usw.

Nach Art der verarbeiteten Informationen MP LSI kann in digitale, analoge und kombinierte (digital-analoge und analog-digitale) unterteilt werden. Beim digitalen MP LSI erfolgt der Empfang, die Verarbeitung und die Ausgabe des Ergebnisses in digitaler Form. Bei analogen MP-LSIs gelangen Informationen in analoger Form in die Eingänge, werden dann mithilfe integrierter Tools in digitale umgewandelt und in dieser Form vom MP verarbeitet. Die Verarbeitungsergebnisse werden erneut in analoge Form umgewandelt und dem LSI-Ausgang zugeführt.

Nach Anwendungsgebiet Es gibt zwei große Klassen von MP-LSI – spezialisierte und universelle. Spezialisierte MP-LSI sind darauf ausgelegt, nur bestimmte Klassen von Mikroprozessorsystemen und -geräten zu implementieren – digitale Signalverarbeitung (DSP), Systeme zur Lösung von Problemen in den Bereichen Radar, Hydrodynamik, Film und Fotografie, medizinische Elektronik, Automobilelektronik usw. Es können universelle MP-LSI verwendet werden in verschiedenen Computersystemtechnik und Automatisierung. Der Hauptvorteil spezialisierter MP-LSIs ist ihre hohe Leistung bei bestimmten Aufgaben.

Nach der Anzahl gleichzeitig laufender Programme MP-LSI werden in Einzel- und Mehrprogramm-LSI unterteilt. Im Einzelprogramm-MP-LSI wird jeweils ein Programm ausgeführt, der Übergang zur Ausführung des nächsten Programms (Befehlsfolge) erfolgt erst nach Abschluss des vorherigen. Im Multiprogramm-MP-LSI können mehrere Programme gleichzeitig ausgeführt werden.

Es gibt drei Gruppen von MP-LSI-Parametern: funktionale, elektrische und dynamische.

Der Hauptfunktionsparameter von MP LSI ist die Funktionsleistung ZU, gemessen an der Anzahl der pro Zeiteinheit durchgeführten Operationen (z. B. MIPS Millionen Anweisungen pro Sekunde). Je nach Art der Operationen werden mehrere Werte der Funktionsleistung unterschieden, zum Beispiel: im Format von Register-Register-Operationen KRR, im Register-to-Memory-Format KRM usw.

Von den anderen Funktionsparametern werden die Bitbreite des Adressworts, die Bitlänge des Datenworts, die Bitlänge des Befehlsworts und die Anzahl der vom LSI MP implementierten Befehle (Mikrobefehle) verwendet.

Die elektrischen Parameter von MP LSI haben die Dimensionen Spannung, Strom und Leistung und bestimmen die wichtigsten technischen Eigenschaften von Mikroprozessorsystemen (siehe Parameter von integriertem LE).

Die dynamischen Parameter des MP-LSI werden durch das Zeitdiagramm (TD) bestimmt, das die entfaltete Reihenfolge der Bereitstellung von Steueraktionen, Informationen, Synchronisierungs- und Hilfssignalen an das MP-LSI sowie die Reihenfolge der Leseverarbeitungsergebnisse aus dem LSI bestimmt . Auf dem VD ist die Art dieser Signale angegeben, die zulässigen zeitlichen Beziehungen zwischen ihnen, die zulässigen Dauern usw. sind angegeben.

Allgemeines Blockdiagramm eines Mikroprozessors

Wie jedes komplexe digitale Gerät kann MP durch eine Verbindung zweier Geräte dargestellt werden – Betriebs- und Steuerungsgeräte. Darauf aufbauend hat das allgemeine Blockdiagramm des MP die in Abbildung 2 dargestellte Form.

Abbildung 2 – Allgemeines Blockdiagramm des Mikroprozessors


In der Organisationseinheit werden Operationen direkt ausgeführt. Die OU enthält Knoten der folgenden Typen: Register, Addierer, Datenkanäle, Multiplexer, die Übertragungskanäle umschalten, Decoder, Encoder usw.

Die CU koordiniert den Betrieb der OS-Knoten und erzeugt Steuersignale Y 1 , Y 2 , ..., Y n in einer bestimmten Zeitsequenz. Die CU stellt in bestimmten Knoten der CU die zur Ausführung der Operation erforderlichen Aktionen bereit.

Jede in den OS-Knoten ausgeführte Operation ist in eine Folge aufgerufener Elementaraktionen unterteilt Mikrooperationen . Zu den Mikrooperationen gehören:

Ein Register auf einen bestimmten Zustand setzen;

Übertragen des Inhalts eines Registers in ein anderes;

Summierung der Inhalte zweier Register;

Invertieren des Inhalts eines Registers usw.

Diese Mikrooperationen werden nicht in allen Betriebssystemknoten ausgeführt. Jede Mikrooperation wird unter der Wirkung eines Steuersignals am Ausgang der CU ausgeführt, sodass die CU über eine Anzahl von Steuerkreisen verfügt, die der Gesamtzahl der in der OU ausgeführten Mikrooperationen entspricht.

In derselben Taktperiode können mehrere Mikrooperationen in verschiedenen OS-Knoten ausgeführt werden. Dabei werden die Steuersignale in mehrere Stromkreise eingespeist.

Als Aufruf wird eine Reihe von Steuersignalen bezeichnet, die die Ausführung einer oder mehrerer Mikrooperationen in derselben Taktperiode sicherstellen Mikroanweisung(MK) Daher sind Steuersignale Mikroanweisungen. Die MK-Sequenz, die die Ausführung einer Operation ermöglicht, wird aufgerufen Firmware.

Manchmal hängt die Reihenfolge der Aktionen beim Ausführen von Vorgängen vom Zustand der Betriebssystemknoten ab oder mit anderen Worten von einigen Merkmalen, die mit den Ergebnissen von Mikrooperationen verbunden sind. Solche Zeichen X 1 , X 2 , …, X p werden vom CO ausgegeben und treten in das CO ein. Einige Attribute X p + 1 , …, X s können von außen kommen und die Reihenfolge der MT-Operation bestimmen. Bei der Bildung von Steuersignalen muss sich die CU an Vorzeichen in den entsprechenden Taktperioden orientieren. Die Organisationseinheit empfängt Daten und gibt Daten aus.

Zwei Ansätze zum Aufbau einer Mikroprozessor-Steuereinheit

Beim Entwurf des CU MP werden zwei Prinzipien verwendet:

Das Prinzip der Schaltung oder „harten“ Logik;

Das Prinzip der programmierbaren Logik.

Beim Aufbau des CU MP nach dem Prinzip der Schaltungslogik besteht die Möglichkeit, einen Chipsatz mit kleinem und mittlerem Integrationsgrad auszuwählen. Anschließend wird die Schaltung zum Verbinden der Pins der Mikroschaltungen bestimmt, die die Erzeugung der erforderlichen MK-Sequenz gewährleistet.

Der Vorteil des Prinzips der Schaltungslogik besteht in der Möglichkeit, mit einer gegebenen Technologie der Elementbasis maximale Leistung zu erzielen.

Nachteile des Schaltungslogikprinzips:

Jede Änderung der MK-Reihenfolge erfordert die Demontage des alten Steuergerätes und den Einbau eines neuen, d.h. das Prinzip der Schaltungslogik bietet keine Flexibilität in der Anwendung;

Es ist wirtschaftlich nicht rentabel, die neuesten Errungenschaften der Mikroelektronik – LSI und VLSI – zu nutzen, da die Entwicklung spezialisierter LSI teuer ist.

Bei Verwendung des Prinzips der programmierbaren Logik verwendet die CU einen Speicher, der Mikroprogramme speichert, d. h. MK-Sequenzen.

Die CU liest aus dem Speicher des MK und speist sie in die Steuerkreise ein und sorgt für deren Umsetzung in der OU. In diesem Fall kann der MP in Form eines universellen Geräts, beispielsweise eines LSI, hergestellt werden. Die Änderung der Funktionsweise dieses Geräts erfolgt durch das Ablegen einer neuen Firmware im Speicher, d. h. Diese Methode bietet Flexibilität in der Anwendung. Bei Verwendung des Prinzips der programmierbaren Logik nimmt jedoch die Leistung des MP ab, da zusätzliche Zeit benötigt wird, um die Adressen des MK zu bilden und aus dem Speicher zu lesen.

Strukturdiagramm von MP mit Schaltungssteuerlogik

Das Strukturdiagramm des MP mit Schaltungssteuerlogik ist in Abbildung 3 dargestellt.

Abbildung 3 – Strukturdiagramm des MP mit Schaltungssteuerlogik


Die CU enthält k Betriebssteuergeräte (logische Schaltkreise). Um einen von ihnen auszuwählen, dekodiert der Decoder das Operationsfeld des Befehls, der aus dem Hauptspeicher (OP) kommt. Abhängig vom im Befehl angegebenen Operationscode wird die CU von der Operation ausgewählt, die die erforderliche Folge von Steuersignalen an die Operationsverstärkereingänge ausgibt.

Das Prinzip der Mikroprogrammsteuerung. Strukturdiagramm von MP basierend auf programmierbarer Steuerlogik

In jeder Taktperiode wird eine bestimmte Codekombination von Steuersignalen von der CU an die OU ausgegeben. Beträgt die Anzahl der Steuersignale n, dann ist die Codekombination n-bitig und jedes Bit gibt an, ob im entsprechenden Steuerkreis ein Steuersignal vorhanden ist, zum Beispiel 0010 ... 1. Solche Codekombinationen können im sogenannten Steuerspeicher (MC) oder Mikroprozessorspeicher (MPM) gespeichert werden, dann hat der MP die in Abbildung 4 dargestellte Struktur.

Abbildung 4 – Strukturdiagramm von MP mit programmierbarer Steuerlogik

Firmware für verschiedene Vorgänge ist im UE gespeichert. Um jeden MK auszuführen, müssen Sie seine Adresse angeben und vom UE lesen.

Der gesamte vom UE gelesene MC kann in zwei MCs aufgeteilt werden. MC OU bestimmt die Funktion der OU-Knoten in einer bestimmten Taktperiode. MK BMU enthält ein Adressfeld und ein Feld bedingter Übergänge und legt die Methode zum Generieren der Adresse des nächsten MK fest.

Handelt es sich bei dem Mikroprogramm um eine lineare Folge von Mikroprogrammen, kann die Adresse jedes nächsten Mikroprogramms mit einem Zähler eingestellt werden, nachdem die Anfangsadresse des Mikroprogramms in diesen geladen wurde. Allerdings ist lineare Firmware selten. Häufiger sind es Sequenzen mit Verzweigungen und Zyklen. In diesem Fall muss die Adresse des nächsten MK auf besondere Weise ermittelt werden. Zu diesem Zweck dient das BMU. Die Ausgangsdaten zur Bestimmung der Adresse des nächsten MK sind in der Regel die Adresse des aktuellen MK, spezielle Felder des aktuellen MK (MK BMU) sowie eine Reihe von Zeichen (Bedingungen), die vom Betriebssystem und von externen Geräten kommen.

Betrachten Sie das Blockdiagramm des CU MP mit programmierbarer Steuerlogik (Abbildung 5).

Abbildung 5 – Strukturdiagramm des CU MP mit programmierbarer Steuerlogik

In ROM-Zellen haben Mikroprogramme desselben Mikroprogramms mit um eins unterschiedlichen Nummern auch um eins unterschiedliche Adressen. Daher ist es beim sequentiellen Abtasten von MC praktisch, den Summierzähler CT zu verwenden (Abbildung 5). Der Ausgangszustand des Zählers wird durch ein externes Signal F (Opcode des aktuellen Befehls) beim Zugriff auf das nächste Mikroprogramm gesetzt und entspricht der Adresse des ersten MK dieses Mikroprogramms.

Wenn der MC nicht die Mikrooperationen „bedingter Sprung“ und „unbedingter Sprung“ enthält, dann erhöht das Steuersignal von der MC-Adressbestimmungsschaltung den Code an den Zählerausgängen um eins – der MC wird aus der benachbarten ROM-Zelle abgetastet.

Wenn der nächste MC die Mikrooperation „Unbedingter Sprung“ enthält, wird gleichzeitig die Adresse des nächsten MC aus dem MC-Adressbestimmungsschema in den Zähler neu geschrieben (die Adresse ist der Inhalt des Adressfelds des aktuellen MC).

Wenn der nächste MC eine „bedingte Verzweigung“-Mikrooperation enthält, wird die Adresse des nächsten MC abhängig vom Wert der Merkmale X 1 , X 2 , ..., X m bestimmt, die vom OS MP kommen, und ist auch parallel zum Zähler umgeschrieben. In diesem Fall wird die niedrigstwertige Ziffer des Adressfelds des aktuellen MC durch den Wert des Attributs ersetzt, d. h. die Adresse des nächsten MC wird modifiziert (geändert). In diesem Fall wird der nächste MC aus einer von zwei benachbarten Steuerspeicherzellen gelesen, deren Adressen sich nur in den Werten der niedrigstwertigen Ziffern unterscheiden, zum Beispiel:


Der Code von den Ausgängen des Zählers wird vom DC-Decoder in ein Signal umgewandelt, unter dessen Einfluss der benötigte MK aus dem ROM gelesen wird. Dieses MK wird im RG MK-Register gespeichert und in Form von Steuersignalen Y 1 , Y 2 , ..., Y n dem Ausgang des CU MP zugeführt.

Das Zeitdiagramm des MP mit programmierbarer Logik ist in Abbildung 6 dargestellt.

Abbildung 6 – Zeitdiagramm des MP-Betriebs


Zum Zeitpunkt t 1 (Abbildung 6) gibt die BMU die Adresse des nächsten MK in den Steuerspeicher aus. Nach einiger Zeit (von einigen zehn bis zu Hunderten von Nanosekunden) ist der Vorgang des Lesens des MC im Steuerspeicher abgeschlossen und zum Zeitpunkt t 2 erscheint der erforderliche MC an den Speicherausgängen. Ab dem Zeitpunkt t 2 im CO beginnt die Ausführung der im MC vorgesehenen Mikrooperation und wird zum Zeitpunkt t 3 abgeschlossen sein.

Bis zum Abschluss der Mikrooperation kann die BMU die Adresse des nächsten MC nicht bilden, da diese von den Vorzeichen, also von den Ergebnissen der Mikrooperation, abhängt. Daher generiert die BMU die Adresse des nächsten MC vom Zeitpunkt t 3 bis t 4 .

Bei dieser Konstruktion des MP arbeiten seine Blöcke nicht gleichzeitig, sondern zeitlich nacheinander, und die Dauer der Taktperiode T darf nicht kürzer sein als die Summe der Zeiten, die zum Ausführen von Aktionen in Blöcken erforderlich sind. Um die Geschwindigkeit des MP zu erhöhen, wird eine Pipeline-Methode zum Lesen und Ausführen des MK verwendet.

Typisches Blockdiagramm eines MPS mit gemultiplextem Adress- und Datenbus

Fast immer ist die Struktur des MPS Kofferraum-modular . In einer solchen Struktur gibt es eine Gruppe von Autobahnen (Bussen), an die verschiedene Module (Blöcke) angeschlossen sind und im Time-Sharing-Modus abwechselnd Informationen miteinander austauschen.

Begriff "Reifen" bezieht sich auf eine Reihe von Schaltkreisen (Leitungen), über die die gleiche Art von Informationen übertragen wird. Die Anzahl der Stromkreise bestimmt die Breite des Busses.

typisch Drei-Stab-Struktur MPS mit Bussen der Adressen ShA, Daten ShD und Steuerung ShU. Neben russischen Begriffen werden auch englische Begriffe verwendet. AB (Adressbus), DB (Datenbus) und CB (Steuerbus).

Abbildung 7 zeigt den Aufbau eines Mikroprozessorsystems mit einem MP mit gemultiplextem Adress-/Datenbus (z. B. mit einem MP K1821VM85A). Linien Ein 15–8 adressierbar sind, über sie wird das High-Byte der 16-Bit-Adresse an das System übertragen. Dieser Bus enthält einen Shaper für einen dauerhaft geöffneten Berechtigungseingang DE Pufferregister IR82, das den Betrieb des Busses an der durch externe Schaltkreise gebildeten Last gewährleistet. Den MP-Ausgängen fehlt in der Regel eine eigene Belastbarkeit. Linien 7–0 n. Chr werden gemultiplext. Sie übertragen zunächst das Low-Byte der Adresse, was durch das Vorhandensein eines Signals angezeigt wird ALE (Adress-Latch-Aktivierung), Laden dieses Bytes in das Register IR82.


Abbildung 7 – Die Struktur des Mikroprozessorsystems

Nach dem Laden des Registers wird das Signal ALE wird entfernt und der Inhalt des Registers bleibt bis zu einem neuen Ladevorgang im nächsten Zyklus des Prozessors unverändert. Dadurch entsteht ein 16-Bit-Adressbus, der die Adresse enthält Ein 15–0. Diese Adresse wird von Permanent- und RAM-Blöcken verwendet Rom Und RAM. Für die Adressierung von Dateneingabe- und -ausgabeports ist eine 8-Bit-Adresse erforderlich, was der Fähigkeit entspricht, mit nicht mehr als 256 Ports jedes Typs zu arbeiten. Die Portadresse kann aus jeder Hälfte des Adressbusses entfernt werden (im beispielhaften Zustand beider Halbbusse werden die Adressen bei der Adressierung der Ports dupliziert).

Nach der Übertragung des Low-Bytes der Adresse wird der Bus 7–0 n. Chr zur Datenübertragung angegeben. Diese Übertragungen erfolgen bidirektional, die Richtung wird durch den Datenpuffer vorgegeben BD abhängig vom Signal T (Senden). Wenn das Lesesignal () aktiv ist, werden die Daten von rechts nach links übertragen, wenn es passiv ist, in die entgegengesetzte Richtung. Die Informationsausgänge aller MPS-Module sind an den Datenbus angeschlossen.

Die Anschlüsse X 1 und X 2 dienen zum Anschluss eines Quarzresonators oder anderer Schaltkreise, die die Frequenz des im MP befindlichen Taktgenerators einstellen. Das System wird mit einer Frequenz getaktet, die der Hälfte der Resonanzfrequenz eines Quarzes oder einer anderen Schaltung entspricht, da der Generator mit einem Trigger arbeitet, von dem die Taktsignale der MPS-Module entnommen werden, und der Trigger die Frequenz durch 2 teilt Der Eingang ist ein asynchroner Reset-Eingang, der den MP zurücksetzt. Signal L-aktiv. Der Reset kann durch Schließen der Taste K durchgeführt werden und erfolgt automatisch beim Einschalten der Spannungsversorgung U CC. In diesem Fall steigt die Eingangsspannung dank der RC-Schaltung allmählich an und bleibt nach dem Einschalten noch einige Zeit lang niedrig (unter dem Schwellenwert), was einer Signalabgabe gleichkommt.