CPU-Architektur

Die Mikroprozessoreinheit ist ein Synonym für die Zentraleinheit, die CPU, die in herkömmlichen Computern verwendet wird. Der Mikroprozessor (MPU) fungiert als Gerät oder als Gruppe von Geräten, die die folgenden Aufgaben ausführen.

  • mit Peripheriegeräten kommunizieren
  • Timing-Signal bereitstellen
  • direkter Datenfluss
  • Führen Sie Computeraufgaben gemäß den Anweisungen im Speicher aus

8085 Mikroprozessor

Der 8085-Mikroprozessor ist ein 8-Bit-Allzweck-Mikroprozessor, der 64 KB Speicher adressieren kann. Dieser Prozessor hat vierzig Pins, benötigt eine +5 V-Einzelstromversorgung und einen 3-MHz-Einphasentakt.

Blockdiagramm

ALU

Die ALU führt die Rechenfunktion des Mikroprozessors aus. Es enthält den Akkumulator, das temporäre Register, die Arithmetik- und Logikschaltung & und fünf Flags. Das Ergebnis wird in Akkumulator & Flags gespeichert.

Blockdiagramm

Akkumulator

Es ist ein 8-Bit-Register, das Teil der ALU ist. Dieses Register wird zum Speichern von 8-Bit-Daten und zum Ausführen von arithmetischen und logischen Operationen verwendet. Das Betriebsergebnis wird im Akkumulator gespeichert.

Diagramm

Flaggen

Flags sind programmierbar. Sie können verwendet werden, um die Daten unter Verwendung von Anweisungen zu speichern und von den Registern zu übertragen. Die ALU enthält fünf Flip-Flops, die gemäß der Datenbedingung im Akkumulator und anderen Registern gesetzt und zurückgesetzt werden.

  • S (Sign) flag- Wenn nach der Ausführung einer arithmetischen Operation Bit D 7 des Ergebnisses 1 ist, wird das Vorzeichenflag gesetzt. Es wird verwendet, um Nummer zu signieren. Wenn in einem gegebenen Byte D 7 1 ist, bedeutet dies eine negative Zahl. Wenn es Null ist, bedeutet dies, dass es eine positive Zahl ist.

  • Z (Zero) flag - Das Null-Flag wird gesetzt, wenn das ALU-Operationsergebnis 0 ist.

  • AC (Auxiliary Carry) flag- Im arithmetischen Betrieb wird das AC-Flag gesetzt , wenn der Übertrag durch die Ziffer D3 erzeugt und an die Ziffer D 4 weitergeleitet wird. Dieses Flag wird nur intern für den BCD-Betrieb verwendet.

  • P (Parity) flag- Wenn das Ergebnis nach einer arithmetischen oder logischen Operation eine gerade Zahl von 1s hat, wird das Flag gesetzt. Wenn es eine ungerade Anzahl von 1s hat, wird das Flag zurückgesetzt.

  • C (Carry) flag - Wenn das Ergebnis der arithmetischen Operation ein Übertrag ist, wird das Übertragsflag gesetzt, andernfalls wird es zurückgesetzt.

Abschnitt registrieren

Es ist im Grunde ein Speichergerät und überträgt Daten aus Registern unter Verwendung von Anweisungen.

  • Stack Pointer (SP)- Der Stapelzeiger ist auch ein 16-Bit-Register, das als Speicherzeiger verwendet wird. Es zeigt auf einen Speicherplatz im Lese- / Schreibspeicher, der als Stapel bezeichnet wird. Zwischen der Ausführung des Programms werden manchmal Daten im Stapel gespeichert. Der Anfang des Stapels wird durch Laden einer 16-Bit-Adresse in den Stapelzeiger definiert.

  • Program Counter (PC)- Dieses 16-Bit-Register behandelt die vierte Operation, um die Ausführung des Befehls zu sequenzieren. Dieses Register ist auch ein Speicherzeiger. Der Speicherort hat eine 16-Bit-Adresse. Es wird zum Speichern der Ausführungsadresse verwendet. Die Funktion des Programmzählers besteht darin, auf die Speicheradresse zu zeigen, von der das nächste Byte abgerufen werden soll.

  • Storage registers- Diese Register speichern 8-Bit-Daten während einer Programmausführung. Diese Register werden als B, C, D, E, H, L identifiziert. Sie können als Registerpaar BC, DE und HL kombiniert werden, um etwa 16-Bit-Operationen auszuführen.

Zeit- und Kontrollabschnitt

Dieses Gerät ist dafür verantwortlich, den Mikroprozessorbetrieb gemäß dem Taktimpuls zu synchronisieren und die Steuersignale zu erzeugen, die für eine reibungslose Kommunikation zwischen Mikroprozessor und Peripheriegeräten erforderlich sind. Die RD-Balken- und WR-Balkensignale sind synchrone Impulse, die anzeigen, ob Daten auf dem Datenbus verfügbar sind oder nicht. Die Steuereinheit ist dafür verantwortlich, den Datenfluss zwischen Mikroprozessor, Speicher und Peripheriegeräten zu steuern.

PIN-Diagramm

Das gesamte Signal kann in sechs Gruppen eingeteilt werden

SN Gruppe Beschreibung
1 Address bus

Der 8085-Mikroprozessor verfügt über eine 8-Signalleitung A 15 - A 8, die unidirektional sind und als Adressbus hoher Ordnung verwendet werden.

2 Data bus

Die Signalleitungen AD7 - AD0 sind für zwei Zwecke bidirektional. Sie werden sowohl als Adressbus niedriger Ordnung als auch als Datenbus verwendet.

3 Control signal and Status signal

Steuersignal

RD bar- Es handelt sich um ein Lesesteuersignal (aktiv niedrig). Wenn es aktiv ist, liest der Speicher die Daten.

WR bar- Es ist ein Schreibsteuersignal (aktiv niedrig). Es ist aktiv, wenn es in den ausgewählten Speicher geschrieben wird.

Statussignal

ALU (Address Latch Enable)- Wenn ALU hoch ist. 8085 Mikroprozessor verwenden Adressbus. Wenn ALU niedrig ist. 8085 Mikroprozessor verwendet Datenbus.

IO/M bar- Dies ist ein Statussignal, mit dem zwischen E / A- und Speicheroperationen unterschieden wird. Wenn es hoch ist, zeigt es eine E / A-Operation an, und wenn es niedrig ist, zeigt es eine Speicheroperation an.

S1 and S0 - Diese Statussignale, ähnlich wie E / A und Speicherleiste, können verschiedene Vorgänge identifizieren, werden jedoch in kleinen Systemen selten verwendet.

4 Power supply and frequency signal

Vcc - + 5V Stromversorgung.

Vss - Bodenreferenz.

X, X- An diesen beiden Stiften ist ein Kristall angeschlossen. Die Frequenz wird intern durch zwei Betriebssysteme bei 3 MHz geteilt, der Kristall sollte eine Frequenz von 6 MHz haben.

CLK out - Dieses Signal kann als Systemuhr für andere Geräte verwendet werden.

5 Externally initiated signal

INTR (i/p) - Anfrage unterbrechen.

INTA bar (o/p) - Es wird als Bestätigungsinterrupt verwendet.

TRAP (i/p) - Dies ist ein nicht maskierbarer Interrupt und hat höchste Priorität.

HOLD (i/p) - Es wird verwendet, um das ausführende Programm zu halten.

HLDA (o/p) - Bestätigen Sie gedrückt.

READY (i/p) - Dieses Signal wird verwendet, um den Lese- oder Schreibzyklus des Mikroprozessors zu verzögern, bis ein langsam reagierendes Peripheriegerät bereit ist, Daten zu akzeptieren oder zu senden.

RESET IN bar - Wenn das Signal an diesem Pin niedrig wird, wird der Programmzähler auf Null gesetzt, der Bus wird dreifach angegeben und die MPU wird zurückgesetzt.

RESET OUT- Dieses Signal zeigt an, dass die MPU zurückgesetzt wird. Das Signal kann zum Zurücksetzen anderer Geräte verwendet werden.

RST 7.5, RST 6.5, RST 5.5 (Request interrupt)- Es wird verwendet, um die Programmsteuerung an einen bestimmten Speicherort zu übertragen. Sie haben eine höhere Priorität als der INTR-Interrupt.

6 Serial I/O ports

Der 8085-Mikroprozessor verfügt über zwei Signale zum Implementieren der seriellen Eingangsdaten für die serielle Übertragung und der seriellen Ausgangsdaten.

Anweisungsformat

Jeder Befehl wird durch eine Folge von Bits innerhalb des Computers dargestellt. Der Befehl ist in eine Gruppe von Bits unterteilt, die als Feld bezeichnet werden. Die Art und Weise, wie Anweisungen ausgedrückt werden, wird als Anweisungsformat bezeichnet. Es wird normalerweise in Form eines rechteckigen Kastens dargestellt. Das Anweisungsformat kann von den folgenden Typen sein.

Variable Anweisungsformate

Dies sind die Befehlsformate, in denen die Befehlslänge auf der Grundlage von Opcode- und Adressspezifizierern variiert. Beispielsweise variieren VAX-Befehle zwischen 1 und 53 Bytes, während X86-Befehle zwischen 1 und 17 Bytes variieren.

Format

Vorteil

Diese Formate haben eine gute Codedichte.

Nachteil

Diese Befehlsformate sind sehr schwer zu dekodieren und zu routen.

Feste Anweisungsformate

In dieser Art von Anweisungsformat sind alle Anweisungen gleich groß. Zum Beispiel MIPS, Power PC, Alpha, ARM.

Format

Vorteil

Sie sind einfach zu dekodieren und zu leiten.

Nachteil

Sie haben keine gute Codedichte.

Hybride Befehlsformate

Bei dieser Art von Befehlsformaten haben wir mehrere Formatlängen, die durch den Opcode angegeben werden. Zum Beispiel IBM 360/70, MIPS 16, Thumb.

Format

Vorteil

Diese Kompromisse zwischen Codedichte und Anweisungen dieser Art sind sehr einfach zu dekodieren.

Adressierungsmodi

Der Adressierungsmodus bietet verschiedene Möglichkeiten für den Zugriff auf eine Adresse für bestimmte Daten an einen Prozessor. Betriebsdaten werden im Speicherort gespeichert, wobei jeder Befehl bestimmte Daten erfordert, mit denen er arbeiten muss. Es gibt verschiedene Techniken, um die Adresse von Daten anzugeben. Diese Techniken werden als Adressierungsmodi bezeichnet.

  • Direct addressing mode- Im direkten Adressierungsmodus wird die Adresse des Operanden in der Anweisung angegeben, und Daten sind an dem Speicherort verfügbar, der in der Anweisung angegeben ist. Wir werden diese Daten an den gewünschten Ort verschieben.

  • Indirect addressing mode- Im indirekten Adressierungsmodus gibt der Befehl ein Register an, das die Adresse des Operanden enthält. Auf den internen RAM und den externen RAM kann über den indirekten Adressierungsmodus zugegriffen werden.

  • Immediate addressing mode- Im Sofortadressierungsmodus werden im Operanden direkte Daten angegeben, die die Daten im Akkumulator verschieben. Es ist sehr schnell.

  • Relative addressing mode- Im relativen Adressmodus wird die effektive Adresse durch den Indexmodus unter Verwendung des Programmzählers anstelle des Allzweckprozessorregisters bestimmt. Dieser Modus wird als relativer Adressmodus bezeichnet.

  • Index addressing mode- Im Indexadressenmodus wird die effektive Adresse des Operanden durch Hinzufügen eines Inhaltswerts zum Inhalt des Registers generiert. Dieser Modus wird als Indexadressmodus bezeichnet.