Mikroprozessortechnik Kapitel 1 und 2

Mikroprozessortechnik an der ZBW ST.Gallen

Mikroprozessortechnik an der ZBW ST.Gallen


A. B.
Diese Karteikarten bieten einen umfassenden Überblick über die Grundlagen der Mikroprozessortechnik auf Universitätsniveau. Sie decken Themen wie die Struktur von Computersystemen, die Funktionsweise von Prozessen und Befehlen, sowie die Rolle des Betriebssystems ab. Die Karteikarten sind besonders nützlich für Studierende der Informatik, die sich mit der Architektur und dem Betrieb von Computersystemen vertraut machen möchten.
Flashcards
40
Students
3
Language
German
Category
Computer Science
Level
University
Created / Updated
05.01.2019 / 07.03.2019

Lernkarten

Was ist ein Blockschaltbild ?

Darstellung von Datenverarbeitungsanlagen (Single Chip, Computer, Grossrechner)

Hauptbestandteile einer EDV-Anlage

-Zentraleinheit ( CPU Central Processing Unit )

  Leit- oder Steuerwerk ( control unit)

  Rechenwerk ( ALU Arithmetic Logic unit)

  Adresswerk ( address unit)

-Speicher 

 Hauptspeicher, Massenspeicher, Cache

- Eingabegerät

 Tastatur, Digitaleingänge, Leser ( Barcode, Lochstreifen)

-Ausgabegerät 

 Bildschirm, Drucker, Plotter

On-line-Peripherie

 Rechnerabhängige Ein- und Ausgabegeräte 

- reine Eingabe : Tastatur, Leser, Geber

-reine Ausgabe : Bildschirm, Drucker, Plotter, Stanzer 

- Dialog : Terminal, Computer, Modem, Teletype 

-Speicher: Platten-, Bandspeicher 

Offline Peripherie 

Rechnerunabhängige Erfassungsgeräte 

Lochkarten, Sortierer, Stanzer

Aufgabe Rechenwerk

Im Rechenwerk werden alle mit Daten notwendigen Operationen durchgeführt .Ein Rechenwerk besteht im einfachsten Fall aus einem Verknüpfungsnetzwerk z.B einem Addierer und zwei Registern ( Akkumulator) in denen die zu verarbeitenden Daten gespeichert werden.

Aufgabe Leitwerk

Das Leitwerk steuert den Ablauf der Datenverarbeitung indem es nacheinander angebotene Befehle in einer Reihe interpretiert.

Daher in einer Kodierschaltung in die auszulösenden Steuerfunktion übersetzen.

Aufgabe Speicherwerk

Im Speicherwerk bestehend aus Adressierwerk und Hauptspeicher, werden alle Daten und Befehle, die für die Bearbeitung eines Problems in der EDV-Anlage erforderlich sind, in adressierten Speicherzellen abgelegt. Die einzelnen Befehle liegen in folgerichtiger Reihenfolge in aufeinanderfolgenden Adressen, so dass sie der Reihe nach vom Leitwerk abgerufen werden können.

Lösung eines EDV Problems

Befehlszyklus

 

1. Eingabe der Befehlsfolge in das Speicherwerk

2. Eingabe der Anfangswerte in das Speicherwerk

3. Start- Abarbeiten der Befehlsfolge 

3.1 Das Leitwerk erhält den ersten Befehl aus bekannten Speicheradresse und interpretiert ihn.

3.2 Das Leitwerk gibt der durchzuführenden Operation entsprechende Steuersignale an die beteiligten Einheiten.

3.3 Das Leitwerk ermittelt die Speicheradresse für die nächsten Befehle.

3.4 Das Leitwerk fordert den nächsten Befehl an

4. Ausgabe der Ergebmisse in die peripheren Ausgabegeräte

5. Stoppen der Einrichtung 

Was ist ein Programm

Eine Reihe von Befehlen die eine EDV-Anlage nacheinander abzuarbeiten hat

Geradeausprogramm

Ein Geradeausprogramm läuft in einer festgelegten (ununterbrochenen) Reihenfolge ab

Schleifenprogramm

In einem Schleifenprogramm sind während des Programmzyklus Verzweigungen möglich.Die Erfüllung einer Bedingung bestimmt den weiteren Programmablauf nach der Verzweigung.

Unterprogramm

Der Aufwand beim erstelln eines Programms kann - deutlich reduziert werden. Mit hilfe von Unterprogrammen sie lösen dan häufig auftredende Probleme. Zum Beispiel Ein/Ausgaberoutinen, Mathematik - und Formatierroutinen

Transfehrbefehl

Sie veranlassen Datentransport zum Beispiel:

-vom Eingabekanal in eine bestimmte Speicheradresse im Hauptspeicher

-von einer Speicheradresse in das Rechenwerk 

- vom Rechenwerk in eine Speicheradresse 

-von einer Speicheradresse in den Ausgabekanal

Logische und arithmetische Befehle 

Sie veranlassen eine Operation im Rechenwerk

-Addition 

-UND-Verknüpfung 

-Komplementbildung für die im Rechenwerk stehende Gösse

Sprungbefehle

Sie veranlassen ein Springen auf eine andere als die fortlaufende Adresse. Man unterscheited

-unbedingte Sprungbefehle : Sie lösen in jedem Fall ein Springen auf eine vorgegebene Befehlsadresse aus 

-bedingte Sprungbefehle : Sie lösen ein Springen auf die vorgegebene Befehlsadresse nur dann aus, wenn eine Bedingung erfüllt ist Andernfalls wird das Programm mit dem im Speicher auf den bedingten Sprungbefehl folgenden Befehl fortgesetzt.

Regiebefehle 

Die Befehle die Einstellungen am Rechenwerk vornehmen

-Darstellungsformat :Binär/BCD , Umrechnungshilfen 

-STOP-Befehl versetzt ein Rechenwerk, das keine Befehle zu erledigen hat, in einen Stromsparzustand

-Befehle für Modus oder Achitekturumschaltung : Supervisor/User oder bei Intel Real/Protected/Virtuell-Modus 

Was ist ein Computer oder Rechner ?

Computer oder Rechner sind Maschinen, die in der Lage sind auf Grund von vorgegebenen Daten und Anweisungen arithmetische und logische Operationen durchzuführen und numerische Ergebnisse und Entscheide zu liefern

Drei Arten von Rechner?

Analogrechner, Digitalrechner, Hybridrechner

Was macht ein Übersetzer (Assembler)

Der übersetzer brauchen wir nur wenn wir einProgramm für eine Machine schreiben also nicht beim Programmieren einer Website. Der übersetzer wandelt unseren Source Code in maschinenverständlichen Zahlencode um.

Geschichte Mikroprozessor

Früher wurde wen es ein Problem gab in der Digitaltechnik spezifisch dafür eine Schaltung entwickelt mit Transistoren. Später wurden dan Schaltkreise dafür verwendet mit mehreren Schaltgruppen.Noch ein bischen später speicherte man mit hilfe von IC Fertigungstechnik Grundfunktionen auf einem Chip. auf kosten der Geschwindigkeit.Diese Steuerung konnte erst ganz simple sachen wie wenn I1 und I2 High dann Ausgang 5 Low, Stückzähler waren bereits fortgeschritte. Programmiere forderten dann bessere uP mit mehr Funktionen in der Hardware weil er dann schneller wurde und teils Probleme kann man nur in der Hardware lösen.

Was ist ein Algorithmus ?

Eine Lösung für ein Problem das in einer Schritt für Schritt Prozedur erarbeitet wurde.

Was ist Programmieren?

Für ein Problem ein Algoryihmus zu entwerfen und den in der richtigen Sprache dem Computer mizuteilen

Was ist ein Programm?

Mehrere Machinenbefehle zu einer Sequenz zusammengefasst  um die Lösung einer Aufgabe zu beschreiben.

Was macht ein Übersetzer (Assembler)?

Er wandelt unser Programm in Maschinenverständliche Zahlencode um.

Wichtige Aufgaben eines Betriebssystems?

-Steuerung der verschiedenen Programme die im System sin

-Verwaltung von Betriebsmitteln(CPU,Memory,Peripherie,usw.)

-Zuteilung von Betriebsmitteln 

-Unterhalt von Datenbeständen (Speichern, Schützen)

Bereitstellung von Hilfsprogrammen (Compiler, Linker)

Wartungsprogramm ( Selbsttest, Funktionstest)

Aufbau eines modernen Computersystem ?

Hardware (Hardwareschnittstelle)

Firmware 

Betriebsystem (Betriebssystemschnittstelle)

Dienstprogramm (Anwenderschnittstelle)

Anwenderprogramm (Benutzerschnittstelle)

Single User-Betriebssystem

Es wir ein Benutzer unterstützt mindestens Ein-/Ausgabe jedoch nicht unbedingt Massenspeicher Multitasking

Multi User-Betriebsystem 

Es werden mehrere Benutzer unterstützt die CPU-Zuteilung kann aber unterschiedlich sein.  Normalerweise ist auch Multittasking möglich aber eventuell nicht allen Benutzern erlaubt.

Multitasking oder Multiprogramming-Betriebsystem

Beide Begriffe beschreiben dasselbe. Ein Task (auch Prozess) ist ein laufendes Programm. Das Multitaskingsystem kann nun mehrere Tadk  gleichzeitig verwalten.

 Realtime Betriebssystem 

So ein System ist in der Lage auf ein äusseres Ereigniss innerhalb einer bestimmten zu reagieren z.B einen Interrupt. Das gegenteil ist das Batch- oder Stapel-Betriebsystem das nicht dynamisch ist. Es kann erst auf ein Befehl reagieren nach abarbeiten eines Stapels.

Batch Betriebssystem (Stapelbetriebsystem) 

Alles läufts sequentiell ab. Typisches Beispiel sind Computern mit Lochkarten und Lochstreifen

Multiprozessor Betriebsystem

Es werden mehrere Prozesse verwaltet, ihre Zusammenarbeit synchronsiert  und die gemeinsamen Resourcen verwaltet und zugeteilt. Heuzutags haben fast alle Computer mehrere Prozesser Dualcore (2) Quadcore (4)

Job Scheduling oder Dispatching

ist die zuteilung der CPU an einen neuen Prozess (Task) mit Z.B höchster Priorietät oder der ersten Stelle in der Warteschlange  der lauffähigen Prozesse, da ja nur ein Prozess zu einem Zeitpunkt  die CPU zur verfügung gestellt bekommt.

Task Prozesse

Prozesszustände

Ein Prozess ist ein lauffähiges Programmteil, der sich mit anderen Prozessen um die CPU streitet. Dadurch kann ein Prozess folgende Zustände einehmen.

- nicht existen (interessiert BS normalerweise nicht)

-wartend, auf ein Ereigniss z.B. Interrupt, Daten von I/O- Kanal

- bereit rechenbereit - es fehlt nur die CPU (Zeit)

-rechnend, also im Prozessor laufend (nur ein Prozess)

Segment

Ein Segment ist ein durchgehender Abschnitt im Speicherbereich, der vom Betriebssystem als Ressource einem zugeteilt werden kann. Dieser Begriff fällt sehr oft im Zusammenhang mit der Memory Management Unit, die für diese Segmente Adressumrechnungen vornimmt und so einem Programm mehr logischen Speicherplatz vorschwindeln kann, als physikalisch vorhanden ist; man spricht dan auch von virtuellem Speicher.

Semaphor 

Ein Semaphor lässt sich mit einer Ampel vergleichen, die eine kritische Zone( wo sich nur einer zu einem Zeitpunkt  aufhalten darf) schützt.Ist die Ampel auf Grün so kann die Zone Betreten werden und die Ampel wird auf Rot gestellt (dieser Vorgang MUSS unteilbar sein und wird von der CPU oder vom BS sichergestellt), ist die Ampel rot muss man warten.

Events

In neueren Betriebssystem tauchen länger je mehr Events auf. Dabei handelt es sich im wesentlichen um umgebaute Semaphore die z.B eine bestimmte Anzahl in einer kritischen Zone zulassen können.

Pipeline

Eine Pipeline ist eine Art Daten zu verschicken zwischen Prozessoren durch einen Virtuellen I/O Kanal der sich wie ein richtiges Peripherie Gerät verhält. Das hat für den Anwender den Vorteil, dass es für das Programm egal ist ob die Daten von der Tastatur, der Disk oder von einem anderen datenverarbeitenden Prozess kommen.

Signal

Das Signal stellt ein Software-Interrupt dar. Damit ist es möglich einem Prozess asynchron einen Zustand mitzuteilen. Damit wird es möglich ein Programm sehr wirklichkeitsnah zu schreiben.Der Nachteil ist allerdings das man sich die selben Probleme einheimst wie bei der Interruptprogrammiereung.

Vorgehen bei der Etwicklung einer Software für ein Computersystem

2 Vorgehensweise.

1. Self Hosted Programm direkt auf der Applikattionsmachine entwickeln. Vorteil man kann das Programm sofort ausprobieren. Man hat auch diesselbe Programmierwerkzeugezur Verfügung. Das Programm hat dasselbe ausehen wie das Target Zielsystem.

2. Cross Entwicklung Programm wird auf einer anderen Maschine Entwickelt. Um das Programm testen zu können muss man den Programmkode zuerst ins Zielsystem oder Target  übertragen. Wir häufig in der Industrie benutzt. 

Study