Neues vom STRIP Forth-Prozessor

Ähnliche Dokumente
Neues vom STRIP Forth-Prozessor

Neues vom STRIP Forth-Prozessor

Rechnergrundlagen SS Vorlesung


Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Die Mikroprogrammebene eines Rechners

Vorwort 8. Kap. 1: Grundlagen 10

Anbindung eines Forth- Targets an einen Forth-Host. Rechner z.b. PC steuert ein Target System z.b. Evaluation Board

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Von-Neumann-Architektur

3 Rechnen und Schaltnetze

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Teil 1: Prozessorstrukturen

Grundlagen der Technischen Informatik. 4. Übung

Datenpfad einer einfachen MIPS CPU

Neue Prozessor-Architekturen für Desktop-PC

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Befehlssatz der Mikrocontroller der 51er -Familie

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU

Grundlagen der Technischen Informatik. 4. Übung

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Technische Informatik (RO)

Befehlssatz der Mikrocontroller der 51er -Familie

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Informatik I Modul 5: Rechnerarithmetik (2)

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen

Embedded OS-9 auf RISC-Prozessoren von Motorola

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Teil 1: Prozessorstrukturen

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur. Einführung

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

Kapitel 18. Externe Komponenten

Aufbau und Funktionsweise eines Computers

Rechner Architektur. Martin Gülck

Mikroprozessor als universeller digitaler Baustein

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128

3. Datentypen, Ausdrücke und Operatoren

Vorlesung Rechnerarchitektur. Einführung

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

Programm-Ablauf. int main() // Beispiel- Struktur eines Programmes. prepare_everything(); read_input(); calculate_result(); write_output();

Kapitel 5. Datentypen und Operatoren

RO-Tutorien 3 / 6 / 12

5 Zahlenformate und deren Grenzen

1. Vorzeichen und Betrag (engl. Sign-/Magnitude) 2. Stellenkomplement 3. Basiskomplement

Teil VIII Von Neumann Rechner 1

Computer Arithmetik. Computer Arithmetik Allgemein

Die einfachsten Anweisungen

Mikroprozessortechnik Grundlagen 1

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Fest- und Gleitkommasysteme

SPS S90U. 1. Grundlagen SPS Funktion

MikroController der 8051-Familie

Grundlagen der Technischen Informatik. 4. Übung

Einstieg in die Informatik mit Java

Computerarithmetik ( )

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

L3. Datenmanipulation

Aufbau eines Taschenrechners

2.2 Rechnerorganisation: Aufbau und Funktionsweise

3. Datentypen, Ausdrücke und Operatoren

Binäre Division. Binäre Division (Forts.)

6.2 Kodierung von Zahlen

Teil 1: Prozessorstrukturen

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen

Mikrocomputertechnik. Einadressmaschine

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Betriebssysteme Vorstellung

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

INFORMATIK Oberstufe. Funktionsweise eines Rechners

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Kapitel 5: Daten und Operationen

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise

Grundlagen der technischen Informatik

Fachbereich Medienproduktion

Hauptspeicherinhalt. Ton. Vektorgrafik Bitmapgrafik Digit. Video. 1. Darstellung von Daten im Rechner. Abb. 1.1: Einteilung der Daten

2 Darstellung von Zahlen und Zeichen

Einführung in die Informatik

Wertebereiche, Overflow und Underflow

Rückblick. Addition in der b-adischen Darstellung wie gewohnt. Informatik 1 / Kapitel 2: Grundlagen

Einführung in die Programmiertechnik

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

, 2015S Übungstermin: Mi.,

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at

JAVA-Datentypen und deren Wertebereich

Microcomputertechnik

Transkript:

Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft April 2013 in Garmisch-Partenkirchen Willi Stricker 1

STRIP Forth-Prozessor STRIP32 32 Bit-Version Eigenschaften: Die 32-Bit-Version ist nahezu identisch mit der 16-Bit-Version. Unterschiede: Alle Datenpfade haben 32 Bit Breite anstelle der 16 Bit. Das gilt sowohl für die Stack-Elemente von Daten- und Returnstack als auch für den externen Daten- sowie für den externen Adressbus. Besonderheiten: Sprungbfehle Memory-Schnittstelle 2

Sprung-Befehle: BRANCH,?BRANCH Im 32-Bit-System sind bei allen Befehls-Adressen die beiden untersten Bits immer null. Sie können deswegen zusätzliche Informationen enthalten: Bit0 = Return-Bit, Bit1 = Branch-Bit Damit braucht der Branch nur einem Buszugriff = 1 Clock-Zyklus 32 Bit-Befehlsadresse allgemein Bit31 Bits 2... 30 Bit1 1 Bit0 0 Befehl außer Branch Befehlscode 0 R Branch Befehl Branch-Adresse 1 B R = 0 => ohne return R = 1 => mit return B = 0 => unbedingter Sprung (BRANCH) B = 1 => bedingter Sprung (?BRANCH) 3

Memory-I/O-Interface Daten-Interface: STRIP-Kernel: 32 Bit Datenbus, In der Praxis ist der externe Daten-Zugriff auf 8- Bit-(Byte) oder 16-Bit-(Word) Daten erforderlich. Dazu wird ein Memory-Interface vorgesehen mit 2 Steuerleitungen: Word-Line (W), Byte-Line (B) Byte-Zugriff: B = 1, W = 0, Word-Zugriff: B = 0, W = 1, 32-Bit-Zugriff: B = 0, W = 0. 4

Memory-I/O-Interface Adressbus 32 Bit Adressbus (2..31) Kernel Alle internen Daten 32 Bit Datenbus 32 Bit Memory Interface Datenbus 4*(0..7) Externe Speicher und I/O's Read Read(0..3) Write Byte Word Write(0..3) 5

Memory-I/O-Interface Adress-Zugriff: 8-Bit-Operand: auf alle Adressen 16-Bit-Operand: nur auf gerade Adressen (Bit 0 = 0) 32 Bit-Operand: nur auf durch 4 teilbare Adressen (Bit 0 und Bit 1 = 0) 8-Bit-Operand = Byte (auch Character) 16-Bit-Operand = Word (hier so bezeichnet) 6

Memory-I/O-Interface Spezielle Befehle für Byte- und Word-Operanden C@ ( adr - 0.0.0.b0) C! ( bx.bx.bx.b0 adr -- ) CSWAP ( b3.b2.b1.b0 - b3.b2.b0.b1 ) W@ ( adr - 0.0.b1.b0 ) W! ( bx.bx.b1.b0 adr -- ) WSWAP ( b3.b2.b1.b0 - b1.b0.b3.b2 ) Anmerkungen: 0 = 0-byte, bx = beliebiges Byte. Hinweis: Die Befehle W@, W!, WSWAP und CSWAP sind keine Standard-Forth Befehle 7

Anwendung Befehlssatz (Word Set) 1. Minimal-Befehlssatz Enthält alle zwingend notwendigen Forth-Befehle 2. Kernel-Befehlssatz (etwa 2 kbyte) (soweit nicht im Minimal-Befehlen enthalten) Stack-Befehle Vergleichs-Befehle Arithmetische Befehle Logische Befehle Schiebe-Befehle 3. Erweiterter Befehlssatz (etwa 1,6 kbyte) Gleitkomma-Befehle 8

Erweiterter Befehlssatz: Gleitkomma-Befehle Gleitkommazahlen Sign 1 bit Exponent 8 bits Mantissa 23 bits Die Gleitkommazahl besteht (nach Standard) aus 3 Komponenten Vorzeichen (sign) (tranponierter) Exponent Mantisse (mantissa) Dazu wird ein Hilfsformat definiert FX ( m e s ) und 2 Umwandlungsbefehle programmiert: F>FX ( f - m e s ) FX>F ( m e s - f ) 9

Erweiterter Befehlssatz: Gleitkomma-Befehle Umwandlung Ganzzahlen<=>Gleitkommazahlen: S>F ( d -- f ) F>S ( f - d ) Ganzz. > Gleitkz. Gleitkz. > Ganzz. Grundrechnungsarten: FNEGATE ( f - -f ) Negation FABS ( f - f ) Absolutwert F+ ( f1 f2 - f1+f2 ) Addition F- ( f1 f2 - f1-f2 ) Subtraktion F* ( f1 f2 - f1*f2 ) Multiplikation F/ ( f1 f2 - f1/f2 ) Division 10

Erweiterter Befehlssatz: Gleitkomma-Befehle Vergleichs-Befehle: F= ( f1 f2 - fg ) gleich F< ( f1 f2 - fg ) kleiner F> ( f1 f2 - fg ) größer F<>( f1 f2 - fg ) ungleich F<=( f1 f2 - fg ) kleiner/gleich F>=( f1 f2 - fg ) größer/gleich 11

Erweiterter Befehlssatz: Gleitkomma-Befehle Weitere mögliche Funktionen: E-Funktion FEXP ( f - e**f ) Trigonometrische Funktionen, z.b. Sinus FSIN ( f - sin(f) ) 12

Versuchsaufbau Computer PC (laptop) Mit Forth-System Host 16-Bit TX RX Evaluation kit STRIP32 Target 32-Bit Enthält: Eigenes Forth-System Für Target: Header aller Befehle Interpreter Compiler Disk-Sysrtem interface RS 232 Enthält: Minimal-Befehlssatz alle vom Host programmierten Befehle Hinweis: Der Host kann alle im Target programmierten Befehle aufrufen 13

Versuchsaufbau Interpreter (im Host) Floating Point String Format sdd.ddxsdd d = Ziffer s = Vorzeichen (nur negativ) X = Exponent (abweichend vom Standard) 14

Anwendung, Software e-funktion aus Reihenentwicklung e x =1+ x1 1fact + x2 2fact +... 15

Anwendung, Software Sinus-Funktion aus Reihen-Entwicklung sin( x)=x x3 3fact + x5 5fact...+... 16

Anwendung, Software Abklingende Sinusfunktion y x =e x t sin t 17

Anwendung, Software Noch Fragen? 18