Von: Antoni Gazali Clarkson Laryea

Slides:



Advertisements
Ähnliche Präsentationen
Computersysteme in Überblick
Advertisements

Vom HW-Automaten zum Prozessor
ALP II: Objektorientierte Programmierung Sommersemester 2006
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
KA – Rechnerarchitektur I ____________________________________________________________________________________________ ____________________________________________________________________________________________.
2.3 Register-Transfer-Strukturen
Der Crusoe-Prozessor von Transmeta
Claas J. Cornelius - Ogg-on-a-chip - MDCT MDCT Funktionsweise und Limitierende Faktoren.
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Agenda Die Hardwearkomponenten und ihre Funktionen - Mikroprozessor
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
BUS-Systeme (PCI) Allgemeines über BUS-Systeme Allgemeines zum PCI-Bus
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Atmel AVR JTAG Einführung
Kapitel 3 5 Rechnerorganisation
Neumannrechner.
Basisinformationstechnologie 1 Tanja Lange WS 2003/04 am
Teil 5: Embedded Systems
Technische Informatik I (SS 2006) Teil 1: Logik 1b: Schaltnetze.
Aufbau und Funktionsweise von Prozessoren
Studiengang Informatik FHDW
2.5. Mikrocontroller-Komponenten
Haupt- und Arbeitsspeicher
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 5 Interrupts Peter B. Ladkin
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
4. Mikrocontroller-Komponenten
AMDs Next Generation Die Hammer Familie Eine Kurzpräsentation von Frank Grümmert bei Herrn Prof. Dr.-Ing. Risse für das RST-Labor.
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
EPIC, IA-64 und Itanium Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen
Inhalt Der Cell Prozessor Aufbau des Cells Platine Block Diagramm
< Best practices >
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Beschleunigung Virtueller Privater Netze durch Netzwerkprozessoren
Der Prozessor - zentraler Bestandteil eines jeden Computers
Was steht hier eigentlich in den Räumen rum?
Raster-Scanner des Therapie Projektes. Echtzeit-Kontrollsystem Therapie " Aufgabe: " Steuerung des Schwerionenstrahls " schneller Bestrahlungsabbruch.
Duo- und Quad Prozessor-Architektur
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
INTEL Pentium 4 Prozessor
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Embedded Systems Prof. Dr. H. Kristl
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Di., 8.30 – Uhr Ort: Hörsaal 5.01, Institut für Experimentalphysik, Universitätsplatz.
Computerorientierte Physik VORLESUNG Zeit: jeweils Mo Uhr Ort: Hörsaal 5.01, Institut für Experimentalphysik, Universitätsplatz 5, A-8010.
Computerorientierte Physik VORLESUNG
CPU-Register EINLEITUNG UND INHALT eines Pentium Prozessors
Die verschiedenen Schnittstellen eines Computers und ihre Verwendung
Anwendung von Microcontollern
Interne Speicher © Christian Barby FIN
Programmieren in Assembler
Systemsoftware und Betriebssysteme
Datenverarbeitung im PC
Eine Übersicht von Margarete Streitwieser
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Mikrocomputertechnik Jürgen Walter
Aufbau, Funktion und Grundzusammenhänge
Referat von Marcel Poppen & Oliver Lennartz
Von Marcel Poppen & Oliver Lennartz
Komponenten des Computers
Fragen.  Hardwarekomponenten sind die Bestandteile eines Computers, die Sie sehen und anfassen können.
Vom HW-Automaten zum Prozessor
Shared Memory Programmierung: Grundlagen
 Präsentation transkript:

Von: Antoni Gazali Clarkson Laryea TRICORE Von: Antoni Gazali Clarkson Laryea

Einsatzbereich µC&DSP Lese-/Schreibkopf Kontrolle Karosserie und Maschine Kontrolle Bildverarbeitung Sprache Kodierung und Komprimierung Modem und Spracherkennung

Typische Implementierung benutzt 2 CPU system, eine µC und DSP Jeder hat seine eigene Speicher, BS und werkzeug höhere Kosten und Komplexität

TRICORE µC und DSP Entwicklung/debug kann mit ein gleiche Entwicklung Werkzeug. Kleiner

Was ist TRICORE? Ein Prozessor, der die DSP , µC und RISC Prozessor-Eigenschaften unter einem Core bringt RISC Prozessor Eigenschaften: 32 Bit load/store Harvard Architektur 16 Adresse & 16 Daten Register Super-Skala Ausführung komprimierte/SIMD Instruktion HLL und RTOS Unterstützung µC Eigenschaften: 16-Bit und 32-Bit Instruktion Format BMU (Bit Manipulation Unit) Schneller Kontext-Wechsel Schnelle Interrupt Behandlung Integrierte Peripherie Unterstützung

DSP Eigenschaften: spezifische DSP Adressierung Mode (circular, bit reverse) Zero overhead loops single-cycle dual MAC Abrundung

Tricore Eigenschaften Unified Instruction Set unterstützt beide Kontrolle und DSP Aufgabe in einem Core durch eine größe Verfügbarkeit von Datentypen und Adresse-Mode Schnelle und hardware-gestützte Aufgabe Wechsel zu wechseln von Kontrolle- zu DSP Aufgabe nur innerhalb 2 cycles (weniger als 100ns)- ermöglicht durch breite Bus zu Speicher Größe On-chip Speicher bis 2 Mbyte DRAM and 512 Kbyte Flash Tricore: Virtuelle Multi-Prozessor Real-time Behandlung von komplexe Operationen Punkt 2: z.B. bei GSM Handy: RTOS schalt zwischen Benutzer Bedienung Oberfläche, Protocol Stack, Sprach Kodierung, Kanal Kodierung mit sehr genau Verarbeitung um Bei Hard Disk: RTOS: Puffer Verwaltung, Lese/Schreib kopf Kontrolle, Framing, Host interface

Unified Instruction Set

Tricore-1 Core & Module Benutzt:0.35µ,3.3V Prozessor Core On-Chip Memory Program Memory SRAM(1Kbyte) Cache (1 Kbyte) DRAM (128 Kbyte) Data Memory SRAM (2 Kbyte) Cache (2 Kbyte) DRAM (64 Kbyte) Serial Port, Timers, Interrupt Controller, Debug FPI Bus, External Memory PCP: Programmable I/O Controller

Tricore Architektur

Flexible Peripheral Interconnect Bus (FPI) Benutzt für on-chip Verbindungen (Transfer daten Memory und I/O) Verbindet Tricore mit CPUs, externe und interne Peripherie, Coprozessoren, Ports, Memory, Externe Bus Controller (EBC), u.s.w. Demultiplexed Bus mit bis zu 32 Bit-Adresse und 64 Bit-Daten Datendurchsatz bis 800 MBytes/s bei 100 MHz Es können beliebig viele Peripherien angeschlossen werden Multi-master Fähigkeiten Clock synchronisiert 8-16-32- und 64-Bit Daten Übertragung Geschwindigkeit Anpassungsfähigkeit (wichtig für langsame Peripherien)

DMA/PCP I/O Kontrol-prozessor, der die typischen Aufgaben vom DMA und Interrupt Routine von CPU übernimmt überträgt und überwacht einfache Daten und verarbeitet diese Kann bis zu 64 Peripherien parallel zu CPU bedienen kann die Ergebnisse von CPU Operationen überprüfen

Tricore-1 core CPU RISC load/store Maschine Harvard Architektur getrennte Adresse- und Datenbus für Programm- und Datenspeicher Little-endian byte ordering 2 Major Pipelines: integer Operation load/store Operation 1 Minor Pipeline: Optimierung der DSP Schleifen-Operation

Superscalar/Pipeline Architektur

Register Architektur hat 32 General Purpose Registers je 32-bit breite wird in 16 Daten Register (DGPRs),(D0-D15) und 16 Adressen Register (AGPRs),(A0-1515) hat zwei 32-bit Register für Programm Status Informationen PCXI –Programm Context Information Register PSW –Programm Status Word eins 32-bit Register für die Programmzähler 4 GPRs haben spezielle Funktionen D15 wird als implizit Daten Register benutzt A15 wird als implizit Adressen Register benutzt A10 wird als Stack Pointer benutzt A11 wird als Rücksprung Adresse benutzt Registers A0,A1,A8 und A10 sind als System Global Register definiert (dessen Inhalte dürfen gespeichert oder gelöscht werden während eine call, Interrupt usw.. Es gibt keine Floating-Point Registers. Daten Register wird für Floating-Point Operationen verwendet.

Register

Speicher Mode Tricore Architektur kann bis zu 4Gbytes große von Programmen und I/O memory verwalten Adresse breite ist 32-bits Adressraum ist in 16 Segmente geteilt (0 – 15) und je Segment 256Mbytes Die höchste 4-bits selektiert die Segmente. Die erste 16Kbytes vom jede Segmente benutzt für entweder Absolut Bit Adressierung mit set-bit oder clair-bit Instruktionen.

Memory

Adresse Mode Tricore unterstützt 7 Adressierung Mode

Datentypen und Format Tricore unterstützen Operationen von Boolean Bit String Signed/Unsigned Integer Charakter Signed Fraction single-precision floating-point numbers meisten Instruktionen arbeitet mit einem spezifische Datentypen den Rest manipuliert verschiedene Datentypen

Instruktion Set Tricore unterstützt 16-bit und 32-bit Instruktion format 16-bit Instruktionen werden mit Null auf 32-bit ergänzt (Saturation)

Instruktion Set Load /Store Instruktion Arithmetische Instruktionen Benutzt die 7 Adressierungs Mode um Daten zwischen Register und Speicher zu bewegen Arithmetische Instruktionen Arbeiten mit Daten und Adressen im Register. Status Informationen über die Ergebnisse der Arithmetische Operationen wird in die 5 Status Flags eingetragen. Arithmetische Instruktion wird in drei Kategorien unterteilt Integer Instruktion DSP Arithmetische Instruktionen Packed Arithmetische Instruktionen

Vergleich& Verzweige Instruktionen Vergleich Instruktionen wird benutzt um den Inhalte von zwei Register zu vergleichen Die boolean Ergebnis (1 = wahr 0 = falsch) wird in den niedrigste Bit vom der ziel Daten Register ,die höchste 31 wird mit null gefüllt Verzweige Instruktionen Verändert die Ablauf des Programm Kontrollen durch modifizieren den Inhalt des Programmzählers Gibt zwei Arten vom Verzweige Instruktionen Bedingt Verzweigung Unbedingt Verzweigung Die Verzweigung ist abhängig vom der Ergebnis der boolean Operationen

Bit Operation Bit Operationen 8 Instruktionen für kombinatorisch Logik Funktionen mit zwei Inputs 12 Instruktionen mit drei Inputs 1-bit Ergebnis von zwei Input Funktionen wird in den niedrigste bit vom der ziel Daten Register ,die höchste 31 wird mit null gefüllt

Adresse Arithmetik & Adresse Vergleichung Ersetzt die Adresse Kalkulationen die den Load/Store in der Adressierung Mode gemacht wird Wie bei der Vergleich von Instruktionen die die Daten Register benutzen wird der Ergebnis der Vergleich von Adresse Registern in den niedrigste bit vom der ziel Daten Register ,die höchste 31 wird mit null gefüllt.

Packed Arithmetik DSP & Packed Arithmetik DSP Arithmetik Instruktionen verwendet 16-bit “signed fractional” Daten und ein 32-bit “signed fractional” Daten 16-bit DSP Daten wird in die höchste halbe der Daten Register geladen und den Rest wird mit Nullen gefüllt. Packed Arithmetik Instruktionen teilt eine 32-bit Wort in mehrere identische Objekten und wird gleich geholt, gespeichert und parallel bearbeitet. Tricore unterstützt zwei Packed Format 16- und 32-bit

Packed Arithmetik Die erste teilt die 32-bit in zwei 16-bit werte. Diese Instruktionen haben die Endung “ H” und “ HU” Die zweite teilt die 32-bit in vier 8-bit werte. Diese Instruktionen haben die Endung “ B” und “ BU”

MADDR.Q Packed Multiply-Add with Rounding (16x16)+32 =>16 syntax: maddr.q Dc,Dd,Da,Db,n(RRR) z.B.:maddr.q d3,d4,d1,d2,0 Multipliziert die höchste significant Halbwort von der Daten Register Da mit dem höchste signifikant Halbwort vom Daten Register Db Das Produkt wird addiert und nach links geschoben wenn n=1 und in der höchste von Register Dd geschrieben Inhalt von Register Dd wird gerundet und sein höchste signifikant Halbwort wird im höchste signifikant Halbwort Dc geschrieben und die niedrigste signifikant bits werden auf 0 gesetzt. Die Operanden werden als Werte mit Vorzeichen behandelt

MADDR.Q

MADDR.H Packed Multiply-Add with Rounding and Saturation syntax: MADDR.H Dc,Ed,Da,Db,n(RRR) z.B.:maddr.h d3,e4,d1,d2,0 Multipliziert die höchste significant Halbwort von der Daten Register Da mit dem höchste signifikant Halbwort vom Daten Register Db Das Produkt wird addiert und nach links geschoben wenn n=1 und in der höchste 32 bit von Register Ed geschrieben Inhalt von Register Ed wird gerundet und sein höchste signifikant Halbwort wird im höchste signifikant Halbwort Dc geschrieben Multipliziert die niedrigste significant Halbwort von der Daten Register Da mit dem niedrigste signifikant Halbwort vom Daten Register Db Das Produkt wird addiert und nach links geschoben wenn n=1 und in der niedrigste 32 bit von Register Ed geschrieben Inhalt von Register Ed wird gerundet und sein höchste signifikant Halbwort wird im niedrigste signifikant Halbwort Dc geschrieben Die Operanden werden als Werte mit oder ohne Vorzeichen behandelt

MADDR.H

MADDM.H Packed Multiply-Add with Multiword Result syntax: (16x16)+(16x16)+64=>64 syntax: maddm.h Ec,Ed,Da,Db(RRR) z.B.:maddm.h e0,e4,d2,d7 Multipliziert die höchste significant Halbwort von der Daten Register Da mit dem höchste signifikant Halbwort vom Daten Register Db Multipliziert die niedrigste significant Halbwort von der Daten Register Da mit dem niedrigste signifikant Halbwort vom Daten Register Db Die Produkte von beiden Multiplikation werden mit Vorzeichen behaftet auf 64 bit, dann nach links 16 Bit geschoben. Addiert sie mit Inhalt von Ed dann speichert das Ergebnis in Ec in form 64 bit. Die Operanden werden als Werte mit Vorzeichen behandelt

MADDM.H

DSP-Beispiele

Zusammenfassung „Unified Instruction Set“ ermöglicht die Entwicklung eines tools für kombinierte µC und DSP Aufgaben „fast task switch“ und Interrupt Behandlung unterstützen RTOS, HLL-Programmierung und debug Höhere Leistung, zuverlässige Operation und weniger Energieverbrauch wird durch größere Speicherkapazität des on-Chips erzielt Tricore ermöglicht direkte Kontrolle von Peripherie on-chip ohne zusätzliche control logic für Peripherie. Code wird um ca. 30% bis 40% verringert durch gemischte 16-Bit und32-Bit Instruktion Tricore Architektur verbindet Microcontroller- und DSP-Eigenschaften ohne, daß sich diese gegenseitig behindern ermöglicht eine sauberes, schnelles und effizientes Multi-tasking ermöglicht preisgünstige Programmdurchführung mit Hilfe von Superskalar SAB-TC10 5. Tricore