Mikrocomputertechnik (LB 5)
Technik:
- Von-Neumann-Rechnerarchitektur Ein Rechner besteht aus Rechenwerk, Steuerwerk, Speicherwerk und Ein-/Ausgabewerk. Er arbeitet binär, verarbeitet Befehle seriell und kann frei programmiert werden., Harvard-Architektur Getrennte Speicher für Daten und Programme.
- Begriffe: MikroprozessorRechenwerk und Steuerwerk gemeinsam auf einem Chip , MikrocomputerMikroprozessor, Speicher und Ein-/Ausgabeschnittstellen auf einer Platine (Board), Mikrocontroller Mikrocomputer auf einem Chip
- Aufbau des Mikroprozessors 8085A
- Befehlsabarbeitung am Beispiel des Mikroprozessors 8085A
(fetch Befehl holen (im Befehlsregister speichern) und den Befehlszähler inkrementieren (+1), decode Befehl dekodieren und eventuell weitere Operanden aus dem Speicher holen, den Befehlszähler aktualisieren, execute Befehl ausführen; siehe Lehrbuch ¹, S. 112 und 117f) - Befehlsabarbeitung: seriellDer nächste Befehl wird erst ausgefürt,
wenn der vorhergehende Befehl beendet wurde., parallel
Mehrere Befehle werden zeitgleich unabhängig voneinander ausgeführt. Hierfür ist ein
Multiprozessorsystem notwendig.
(BefehlspipelineWährend der Phase execute wird zeitgleich der nächste Befehl dekodiert und der übernachste Befehl geholt. Bedingung dabei ist, dass alle Vorgänge die gleiche Ausführungszeit haben., Begriff Nebenläufigkeit Mehrere Befehle werden zeitgleich unabhängig voneinander ausgeführt. Im Gegensatz zum Begriff Parallelität ist hier auch das scheinbare parallele Ausführen mittels Pipeline auf einem Monoprozessorsystem möglich. ) - Begriffe: InterruptUnterbrechung; ein extern anliegendes Signal
(Hardware-Interrupt) oder ein Befehl (Software-Interrupt) verlangen das Unterbrechen des im Prozessor
laufenden Programms., Interrupt-Serviceroutine
Das Programm, welches zum Interrupt gehört und anstelle des laufenden Programms ausgeführt werden soll.
, maskierbarerEs kann mit einem Befehl eingestellt werden,
ob der Prozessor den Interrupt empfangen kann. Eine Unterbrechung des laufenden Programms durch diesen Interrupt
ist dann nicht möglich. 8085A: EI, DI, SIM und nicht maskierbarer
Dieses Interrupt-Signal kann nicht verhindert werden. Es wird immer vom Prozessor verarbeitet. Interrupt
(siehe Lehrbuch ¹, S. 112 und 188-200) - Möglichkeiten zur Identifizierung von Interruptquellen
(PollingDer Prozessor fragt alle potentiellen Interruptquellen nach dem Vorhandensein eines Unterbrechungswunsches zyklisch ab. Streng genommen handelt es sich dabei nicht um einen Interrupt, da das Signal nicht von der Quelle ausgelöst wird. Die Abfrageschleife wird in verschiedenster Art und Weise eingesetzt., jede Interruptquelle besitzt eine eigene Leitung zum Prozessor, VektorinterruptDie möglichen Interruptquellen besitzen eine eindeutige Nummer. Die CPU ermittelt aus der Vektortabelle die zugehörige Adresse des ersten auszuführenden Befehls. ) - Klassifizierung von Mikroprozessoren
(CISC Complex Instruction Set Computing
Es wird versucht, einen möglichst vollständigen Satz an Befehlen zur Verfügung zu stellen, so dass für fast jede Aufgabe ein spezieller Befehl zur Verfügung steht. /RISCRISC verfolgt das Ziel, den Befehlssatz möglichst minimal zu halten. Es gibt wenige, einfache Befehle, die sehr schnell ausgeführt werden können., Befehlsarchitektur- Stackarchitektur (keine Adressen)
- Akkumulatorarchitektur (eine Adresse im Befehl)
- Registerarchitektur (mehr als eine Adresse im Befehl) , Einsatzgebiet- Standardprozessoren (allgemeinener Einsatz)
- Hochleistungsprozessoren
- Mikrocontroller (Embedded-Control, z. B. im Auto,
- Signalprozessoren (digitale Verarbeitung analoger Signale z. B. Spracherkennung)) - Engpässe- Daten und Befehle in einem Speicher
- serielle Arbeitsweise
- CPU steuert alle Vorgänge der von-Neumann-Architektur und Veränderungen beim PC
(DMADirect Memory Access
Busteilnehmer können direkt auf den Hauptspeicher zugreifen., Cache Kleiner schneller Pufferspeicher (meist SRAM), damit die CPU nicht alle Daten aus dem Hauptspeicher holen muss. Meist sind mehrere vorhanden, die sich sowohl innerhalb der CPU als auch auf der Platine befinden können. , BusmasterDie Kontrolle des Datentransfers zwischen den Komponenten außerhalb der CPU wird durch den Busmaster übernommen. Damit wird die CPU entlastet., Kerne, Befehlspipeline und Nebenläufigkeit) - Begriffe: BussystemÜbertragungsweg, der von mehreren Teilnehmern genutzt werden kann., BustreiberSchaltkreis, der auf dem Bussystem eine Signalverstärkung sowie auch ein generelles Sperren des Übertragungsweges durchführen kann., Tri-StateEin Busteilnehmer hat an seinem Ausgang drei mögliche Zustände: logisch "0", logisch "1" und hochohmig. Letzteres bedeutet, dass er am Bus inaktiv ist und damit nicht die anderen Teilnehmer beeinflusst.
- Bussystem beim Mikrocomputer: AdressbusAdressen werden von der CPU
an die Empfänger geschickt = unidirektionaler Bus.
Die Busbreite ist meist 8bit, 16bit, 32bit usw. , SteuerbusÜber dieses System werden Steuerbefehle (wie beispielsweise Lesen/Schreiben) an den Empfänger übertragen. Es arbeitet unidirektional., DatenbusDer Datenbus ist wie der Adressbus ein paralleles System mit einer Breite von 8bit, 16bit, 32bit usw. Es kann in zwei Richtungen benutzt werden (bidirektional). - Beispiele für Bussysteme: PCI, PCIe, USB, CAN, Profibus
- Halbleiterspeicher: Arten und ihre Merkmale
(ROM, PROM, EPROM, EEPROM, RAM, Flash-RAM, SRAM, DRAM; siehe Lehrbuch ¹, Seite 74ff) - Halbleiterspeicher: Aufbau der Speichermatrix und Steuersignale, Speicherorganisation
Jede Adresse liefert 1 Bit = bitorganisiert.
Jede Adresse liefert mehr als 1 Bit (mindestens 4 Bit) = byteorganisiert.
(siehe Lehrbuch ¹, S. 74ff) - Zusammenschaltung von Speicherschaltkreisen zur Erreichung der Adressbus- oder Datenbusbreite
(siehe Lehrbuch ¹, Seite 88ff) - Begriff Interface
- asynchrone und synchrone Datenübertragung am Beispiel der seriellen Schnittstelle einschließlich Programmierung des UART 8255
Assemblerprogrammierung (Einführung):
- Begriffe: AssemblerEntwicklungsumgebung, welche die Mnemonics in die Maschinensprache übersetzt und ein lauffähiges Programm erzeugt., ObjektcodeDer Objektcode ist der in die Maschinensprache übersetzte Quellcode, welcher meist als Textdatei vorliegt. Er wird von einem Linker zu einer lauffähigen Programmdatei umgewandelt. , MaschinencodeBefehlssatz eines Prozessors in binärer Form , MnemonicLeichter zu merkende Abkürzung für einen Prozessorbefehl im binären Maschinencode
- Befehlssatz des Prozessors 8085A
- Simulationssoftware für die CPU 8085 anwenden
Der Teil Assemblerprogrammierung wird in der Kursstufe 13 im Lernbereich 1F fortgesetzt.