Mirkoprozessortechnik

Artikelbild Technik

In den Grundlagen der Elektronik bzw. der Mikroprozessortechnik lernt man unter anderem den einfachen Aufbau eines Taschenrechners, die Speichermöglichkeiten, Informationen über den Mikrocomputer und weiteres, diese Mitschrift habe ich nun leicht überarbeitet und stelle sie euch zum nachlesen zur Verfügung.

Aufbau eines Taschenrechners

siehe Skizze
Aufbau einer Waage
siehe Skizze
Speichermöglichkeit

Speichermöglichkeit

Adressbus 65536 (216 ) (2 wegen der Zustände 0=aus und 1=an)
=> 65536 Möglichkeiten
=> 65536 x 1Byte (8 Bit) (sprich 1 Byte entspricht 8 Bit)
=> : 1024 entspricht 210
=> = 64 kiByte
Bsp.: 24
=> 16 mögliche Zustände

Bild1 Tabelle
Bild1 Tabelle

Begriffe:

  • ROM (Read Only Memory)
  • RAM (Random Access Memory)

Mikrocomputer

Baugruppen:
CPU-Mikroprozessor

  • Steuerwerk (regelt die Abläufe)
  • Rechenwerk (eigentliche Berechnung)
  • Register (interner Speicher mit eigener Verwaltung)

Speicheradresse

  • ROM (Lesespeicher)
  • RAM (Schreib- & Lesespeicher)

Eingabegruppe

  • Eingabe von Daten, wenn IN-R und Adresse dieser Baugruppe gesetzt ist.

Ausgabegruppe

  • Ausgabe von Daten auf den Datenbus, wenn OUT-W und die Adresse dieser Baugruppe gesetzt ist.

BUS-System

Beim Computer nutzen viele Baugruppen zum Datentransport das selbe Leitungsbündel.Nach ihrer Ausgabe unterscheidet man verschiedene Busse, die zusammengefasst als Systembus bezeichnet werden.

  1. Adressbusses
  2. Datenbus
  3. Steuerbus
  4. Spannungsversorgung Hinweis: Das Steuerwerk regelt die zeitliche Reihenfolge des Datenverkehrs auf dem Bus und ordnet die Daten auch der richtigen Baugruppe zu.

Adressbus

Steuerbus

Verbindung Steuerwerk des Prozessors zu den Steueranschlüssen der Baugruppen.

Steuersignale:

  • MEM R memory read (Speicher lesen)
  • MEM W memory write (Speicher schreiben)
  • IN R Input read (Eingabeport lesen)
  • OUT W Output write (Ausgabeport schreiben)

Wenn die CPU kein Steuersignal ausgibt, sind die acht Datenanschlüsse aller Baugruppen elektronisch vom Bus getrennt (hochohmig). In jedem Fall muss der Prozessor die gültige Adresse und gleichzeitig das betreffende Steuersignal senden, um eine bestimmte Funktion zu erfüllen. Der Steuerbus besitzt einen Treiber (Bustreiber) mit Tristate-Ausgang.

alle Steuerbefehle sind 0-aktiv z.B. ( INR )

Bild2 Widerstände
Bild2 Widerstände

Für den Fall, dass die Ausgänge hochohmig sind, sorgen pull up – Widerstände dafür, dass auf allen Steuerleitungen ein 1-Signal anliegt -> also inaktiv sind.
Zeitmultiplex Verfahren Daten-/Adressbus
CPU (Ausschnitt)

Bild3 CPU Ausschnitt
Bild3 CPU Ausschnitt

Das Zeitmultiplex-Verfahren hilft hier, Anschlüsse des SIP-Gehäuses der CPU zu sparen. Es werden an den Anschlüssen AD0-AD7 (8 Anschlüsse) zu einem Zeitpunkt die acht Datenleitungen des Datenbusses geschalten und zu einem anderen Zeitpunkt die ersten acht Adressleitungen der 16 Leitungen breiten Adressbusses. Ohne das Multiplex-Verfahren wären 16 Adressleitungsanschlüsse plus acht Datenleitungsanschlüsse notwendig.

∑24 Anschlüsse

Halbleiterspeicher

Statischer RAM                                Dynamischer RAM

(Flipp-Flopp)                     (Kondensatoren)

Allen Halbleitern ist gemeinsam, dass durch Anlegen einer bestimmten Adresse der gewünschte Speicherplatz zum Lesen oder Schreiben ausgewählt werden kann (wahlfreier Zugriff)
Kapazität des Speichers

Bild4 Formel Speicher Kapazität
Bild4 Formel Speicher Kapazität
  • Erweiterung des Speichers
    (wortorganisierter Speicher)
Bild5 Schaltung Mikroprozessor
Bild5 Schaltung Mikroprozessor

Der Mikroprozessor

– Innere Funktionen und Befehle –
Befehle setzen sich aus mindestens einem höchstens drei Worten (je 8 Bit) zusammen

  • Der Prozessor 8085 kennt über 90 verschiedene Befehle -> siehe Befehlsliste
  • Befehle lassen sich in folgende Gruppen unterteilen
    1. Transportbefehle
    2. Verarbeitungsbefehle
    3. Programmsteuerbefehle

Befehle:

  • z.B.: NOP Hexa: 00 –> no operation
  • 84 Hexa bedeutet binär 1000 0100 Schreibweise ADD H –> addiert
  • Transportbefehle
    • Daten aus externen Speicher in ein Register (Speicherzeile innerhalb der CPU) des Prozessors lesen
    • Daten aus der Eingabebaugruppe in den Akku (wichtiger Register) laden
    • Daten aus dem Akku (z.B. Ergebnisse einer Bearbeitung) in eine Ausgabegruppe leiten
    • siehe Blockschaltbild
    • Verarbeitungsbefehle
      • Veranlassen die ALU (Arithmetic Logic Unit) Rechenoperationen der logischen Verknüpfungen auszuführen
      • z.B. Rechenoperationen:
        • Addieren
        • Subtrahieren
        • Inkrementieren(+1)
        • Dekrementieren(-1)
        • Komplement bilden
        • Dezimalkorrektur vornehmen
        • (–> keine Multiplikation)
      • Logische Verknüpfungen:          UND, ODER, Exclusiv ODER
        Vergleichsoperationen
      • UND => beide Leitungen 1 dann Ausgang 1
      • ODER => eine von beiden Leitungen mindestens 1 dann Ausgang 1
      • Exklusiv ODER => eine Leitung 0 eine 1 dann Ausgang 1 sind beide gleich sprich 0 oder 1 dann Ausgang 0
      • Die ALU kann stets nur mit maximal zwei Operanden (Akku, Zwischenregister)
      • Das Ergebnis gelangt immer in den Akku
    • Programmsteuerbefehle
      • Nach dem Einschalten des Rechners nimmt dieser seine Arbeit mit dem aussenden der Adresse 000016 auf.
      • Dann wird das Ablaufsteuersignal (Speicher lesen) gesendet.
      • Im Ergebnis liegt auf dem Datenbus der Inhalt der Speicherzelle 000016
      • Befehlsregister empfängt die Daten und das Datenwort wird dem Befehlsdecoder zum Entschlüsseln zugeleitet.
      • Weiterer Ablauf ist nun von den gelesenen Befehl abhängig
        • Das Zustandsregister (Flag-Register)
          5 Flags existieren

          • Carry Flag:                        meldet Rechenübertrag
          • Parity Flag:                       Anzahl der „1“ Signale im
            Akku gerade
          • Hilfscarry Flag:              Übertrag vom Bit3 nach Bit4
            fand im Akku statt
          • Zero Flag:                         Es liefert 1-Signal, wenn
            nach dem Befehl der
            Akkuinhalt 000000002 ist.
          • Vorzeichen Flag:           Bit7 ist „1“
            (Hochwertigstes Bit)

Stapelspeicher (Stack) oder Stapelzeiger

  • verwaltet den Speicherbereich im RAM (außerhalb der CPU)
    • Anwendung hauptsächlich bei Unterprogrammen
  • Im Stack liegen Stapelweise die Rückkehradressen ins Hauptprogramm
    • Reihenfolge
    • last in – first out
    • Der Stapelzeiger ist ein 16 Bit – Register, das die aktuelle RAM-Adresse des Stapelspeichers enthält.

Assembler Programmierung

Bsp. (Taschenrechner).:
ADDITION einer eigegebenen Zahl mit 17810 => B216
Entwicklung Programm:

Bild6 Assambler Programmierung Bsp. Tabelle
Bild6 Assambler Programmierung Bsp. Tabelle

Bei einem Jump Befehl JMP wird auf eine Speicheradresse verwiesen. besteht aus insgesamt drei Befehlen, da Speicheradresse aus zwei mal 00 besteht benötigt sie 2x 8 Bit da 2 Hexa-Zahlen als Adresse für die Speicheradressierung benötigt werden brauch man 16 Bit in binärer Form. Da nur 8 Bit zu Verfügung stehen, wird diese über zwei 8 Bit Befehle adressiert.=>

  1. Jump-Befehl
  2. Adressierung 00 (erster Adressteil der Speicherzelle)
  3. Adressierung 00 (zweiter Adressteil der Speicherzelle)

Viel Spaß beim Lernen

Die Ausbildungsmitschrift gibts zum Download hier: Artikel Mikroprozessortechnik (468)


Über Michael Bergler 679 Artikel
Mein Name ist Michael Bergler ich stamme aus Sachsen und habe seit 10 Jahren die Leidenschaft mich mit HTML, PHP, Bildbearbeitung und Perl zu beschäftigen. Seit 2011 lebe ich in Chemnitz und arbeite als Selbständiger in dem Bereich Informationstechnologie (IT), Büroservice und Telefonmarketing. In meinem Blog, online seit Dezember 2010, geht es um die Ausbildung zum IT-Systemkaufmann, Games und alles rund um den PC. Von daher lag es nah eine Umschulung 2006 – 2009 in dem Beruf IT-Systemkaufmann zu absolvieren, welche ich dann auch im Januar 2009 erfolgreich abgeschlossen habe. Ich bin in Leipzig geboren und in der Umgebung von Dresden aufgewachsen.

Ersten Kommentar schreiben

Kommentar verfassen