Mikroprozessortechnik 5,6,7

Mikroprozesssortechnik kapitel 5 zbw

Mikroprozesssortechnik kapitel 5 zbw


Fichier Détails

Cartes-fiches 30
Langue Deutsch
Catégorie Informatique
Niveau Université
Crée / Actualisé 16.02.2019 / 07.03.2019
Lien de web
https://card2brain.ch/box/20190216_mikroprozessortechnik_5
Intégrer
<iframe src="https://card2brain.ch/box/20190216_mikroprozessortechnik_5/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

wie gross ist der Adressbus und wie gross ist der Datenbus des 68k und für welche struktur ist er ausgelegt?

Adressbuss 23 bit erlaubt eine Adressierung von 16MBytes

Datenbuss 16 bit

interne struktur 32bit langwordoperationen werden in kürzester zeit durchgeführt

Was ist der unterschied zwischen dem Hardware und dem Software stack?

Hardwarestack auf A7 und A7`verwalten nur 32 bit  (bytes werden auf word aufgerundet)

Softwarestack A0-A6 verarbeiten auch byte operationen

Nach welchem Prinzip arbeitet der Stack?

Ein Stack arbeitet nach dem LastIn-firstOut-Prinzip (LIFO) entspricht einem Dokumentenstapel auf dem Schreibtisch bei dem das zuletzt auf den Stapel gelegte Dokument als erstes wieder entfernt wird.

Wann spricht man von einer Queue?

Queue arbeitem nach dem FirstIn-FirstOut-Prinzip (FIFO) eine Queue braucht zwei zeiger im gegensatzt zum Stack einen für Neueinträge und einen für Entfernung (Austräge ) 

Was heisst EA?

Effektive Adresse die  EA stellt den Modus dar wie auf den Operand zugegriffen wird.Dirket indirekt etc.

Abkürzungen

EA,DN,AN,XN,SR,PC,SP,d8 d16,(),Da,Sp,St,Ve,#

EA=Effektiveadresse,----DN=Datenregister,------AN=Adressregister,--------XN=Dn oder An,--------SR=Statusregister

PC=Programmcounter,-----------SP= Stackpointer,---------d8=8bit Adressdistanz,-------d16= 16bit Adressdistanz

()=Inhaltvon,--------Da=Daten,----Sp=Speicher,----------St=Steuerung,--------Ve=Veränderbar 

#= unmittelbare Zahle

Die vier Gruppen der 12 Adressierungsarten

Da =EA verweist auf einen Datenoperanden  (data EA mode)

Sp= EA verweist auf eine Speicherzelle (nicht Register!)    (memory EA mode)

St= EA verweist auf Speicher ohne genannte grösse (z:B JSR)  (control EA mode)

VE EA verweist auf einen beschreibbaren Operanden (alterable EA mode)

Wleche Adressierungsarten erzeugen eine EA?

Nur die ersten 12 der 14 tabellisierten Adressierungsarten erzeugen eine EA. Bei den letzten beiden Adressierungsarten (unmittelbar schnell) und (implizit Register) sinnd Daten oder Registernamen im Befehlswort enthalten.

Wie ist ein Befehl aufgebauen?

Ein Befehl beginnt immer mit dem 16bit Operationscode kurz OPcode und hat wenn nötig noch weiter 16 bit worte folgen (unmittelbare Operanden oder AE-Erweiterungen für Quelle oder EA-Erweiterung für Quelle und /oder Ziel)

Wie ist ein Ocode aufgebaut?

Grundsätzliche ist der Opcode folgendermassen aufgebaut 

Befehlstyp1(Bit 15-12), Befehlstyp2 IEA2 (Bit 11-6), EA1 (Bit5-0)

Was ist die Assemblerspraache?

Sie stellt die binären Zeichenketten der Maschinensprachhe in merkbaren Buchstabenketten (Mnemonics) dar und ist ein eins zu eins Abbild des Opcodes. ( Der übersetzter heisst auch assembler)

Register direkt

-Datenregisterdirekt

-Adressregisterdirekt

-Statusregisterdirekt

-Konditionkodregisterdirekt

Register indirekt

-ohne Adressdistanz   (a0)

-mit Postinkrement (a0)+

-mit Predekrement -(a0)

-mit Adressdistanz (Displacement)  100(a0)

-mit Index und Adressdistanz (Dispacement)  $50(a0,x0)

Was ist eine Adressdistanz

Die Adressdistanz verkörpert einen 16bit vorzeichenrichtung konstanten Abstand (Offset) zum Inhalt des Adressregister d.h. Registerinhalt plus Distanz zeigen auf die Daten.

Stack handhabung

Der Datenzugriff erfolgt durch den Programmablauf in der richtigen Reihenfolge mittels Push/Pull oder Push/Pop. Push legt eine Information auf den Stack und Pull oder Pop nimmt die obersten Informationen vom Stack.

Virtuelle Adressierung

Vor allem auf Grossrechner verwendete Art der Speicherverwaltung. bei der mit hilfe des Betriebsystem jede beliebige Adresse vorgetäuscht werden kann.die physikalisch nicht unbedingt existieren muss.

Symbolische Adressierung

Damit der Programmiere sich die Adressen nicht merken muss kann er ihnnen symbolische Namen geben die der übersetzter dann der Adresse zuweist

Unterschied zwischen assembler und hochsprachen

Normalerweise ist das erstellen eines Programms aufwendiger aber es gibt auch bereiche in denen es besser geht mit assembler Kaltstart Intialierisierung, Innterrupt, schnelle Schleifen, Arithmetik -und Grafikroutinen und wenn man ein möglichst kleines Programm schreiben will.

Schritte für eine Programmentwicklung

-Problemstellung

-Problemlösung

-übersetzten des Programms 

Verbesserung und überprüfung

Dokumentation

Unterschied zwischen Hochsprachen und dem Assembler?

Assembler ist meistens nicht so komfortabel wie andere Hochsprachen, aber teils sachen lassen sich dafür besser in Assembler realiesieren

-Kaltstart-Initialiesierung

-Interrupt

-schnelle Schleifen

-Arithmetik

-Grafikroutinen

-möglichst kompakte Programme

Schritte für eine Programmentwicklung

-Problemstellung

-Problemlösu

-übersetzten des Programms 

-Verbesserung und überprüfungng7

Dokumentieren

Was macht der assembler ?

Er setzt Mnemonicss in Opcodes um zusätzlich rechnet er auch noch Sprungweiten bei verzweigungen und Sprüngen aus.

Er erlaubt auch noch die verwendung von Bezeichnern (Labels) für (Unter) Programmanfänge und Sprungziele oder für Variabeln.Ferner können auch noch konstanten einen konstante Ausdrücke einen Namen bekommen.

Was macht der Dissasembler?

Er macht den Vorgang vom Assembler rückgängig wandelt eine MegaByte-Hexdumb wieder in ein lesbares Assembler Programm.

Was macht ein Linker ?

Der Linker erlaubt es in einem grösseren Projekt das Programm sinvoll zu unterteilen.Dabei kann man zum Beispiel in einem Programmprojekt die einzelnen Subroutinen dem Wesen nach in unterschiedliche Quelldateien halten (Grafik,Mathe,I/O,Formatier-Haupt-Routinen,usw.) und einzeln vom Assembler übersetzen lassen.

Was macht der Locater?

 

Der Locater  korrigiert alle Stellen die der Linker auf Null bezogen hat sowohl den Codde als auch die Speicher mit der Startadresse des freien Speicherplatzes für Programme und für Daten.

Was macht ein Debugger ?

Der Debugger ist ein Hilfsprogramm, das einem erlaubt, ein Programm auf Befehlsebene unter die Lupe zu nehmen.Man kann einzelne Befehle abarbeiten und überprüfen, Register und Speicher verändern, Haltepunkte setzen und das Programm bis dort laufen lassen oder auch Befehle ändern.

Verschieden Hochsprachen

FORTRAN erste hochsprache überhaupt wird benutzt um mathematische Probleme zu lösen

PASCAL vorbildliche Schulungssprache

C Spaltet lager die einen nehnen ihn den Universallassembler die anderen lieben sie 

2. möglichkeiten zur Entwicklung eines Programms 

1. normales Maschinenprogramm nach der übersetzung durch ein Compiler 

2. direkt interpretiertes Hochsprachenprogramm mit Hilfe eines Zusatzprogramm dem Interpreter, das ein Hochsprachen-Prozessor simuliert.

Compilervariante

der Quelltext wir mithilfe eines beliebigen Editors erzeugt nacher wird dieser Quelltext vom Compieler übersetzt. Der Compieler generiert entweder Maschinenkode oder generiert einen Assembler-Quelltext der nun dem Assembler zugeführt werden kann.

Wie findet man fehler in einem Programm?

1 Variante einbauung eines printf Befehls so kann festellen an welcher stelle das Programm einwandfrei funktioniert und wo nicht

2. Variante Frequenzen ähnliche effekte erzeugen mt ein paar digitalen Ausgängen.

3.Variante Hochsprachendebugger man kann das Programm an jeder beliebigen stelle anhalten die variabeln können beim namen genannt und so viel einfacher verändert oder überprüft werden.