Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Sprungtracer für den Programmablauf in einem Prozessor

IP.com Disclosure Number: IPCOM000017136D
Original Publication Date: 2000-Jan-01
Included in the Prior Art Database: 2003-Jul-22
Document File: 2 page(s) / 15K

Publishing Venue

Siemens

Related People

Hans-Jürgen Seitz: AUTHOR

Abstract

In ASICs (Application Specific Integrated Circuit) werden häufig Tracer-RAMs verwendet, um den Programmablauf anhand der Aufzeichnung der Code-Fetches zu protokollieren. Dabei soll die Tiefe der Aufzeichnung möglichst hoch sein. Dazu wurde bisher das Tracer- RAM so groß dimensioniert, dass der gesamte Programmablauf aufgezeichnet werden konnte. Dies verteuerte jedoch sowohl das Design der ASICs, als auch die produzierten ASICs selbst, erheblich. Um Speicherplatz zu sparen und somit die Bausteinkosten zu reduzieren, werden statt des vollständigen Programmablaufs nur noch die Sprünge im Programm aufgezeichnet. Dabei bleibt alle relevante Information über den Programmablauf erhalten, da der Prozessor ein Programm, sofern kein Sprung erfolgt, streng sequentiell abarbeitet und somit extra gespei- cherte Information über den sequentiellen Programmablauf redundant ist.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 55% of the total text.

- 2 -

Bauelemente

Sprungtracer für den Programmablauf in einem Prozessor

Idee: Hans-Jürgen Seitz, Neubiberg

In ASICs (Application Specific Integrated Circuit) werden häufig Tracer-RAMs verwendet,um den Programmablauf anhand der Aufzeichnung der Code-Fetches zu protokollieren.Dabei soll die Tiefe der Aufzeichnung möglichst hoch sein. Dazu wurde bisher das Tracer-RAM� so� groß� dimensioniert,� dass� der� gesamte� Programmablauf� aufgezeichnet� werdenkonnte. Dies verteuerte jedoch sowohl das Design der ASICs, als auch die produziertenASICs selbst, erheblich.

Um Speicherplatz zu sparen und somit die Bausteinkosten zu reduzieren, werden statt desvollständigen Programmablaufs nur noch die Sprünge im Programm aufgezeichnet. Dabeibleibt alle relevante Information über den Programmablauf erhalten, da der Prozessor einProgramm, sofern kein Sprung erfolgt, streng sequentiell abarbeitet und somit extra gespei-cherte Information über den sequentiellen Programmablauf redundant ist.

Bei jedem Sprung wird die Absprung- und Zieladresse aufgezeichnet, bei Schleifen, alsosich wiederholenden Sprüngen, nur der erste Sprung - danach wird bei jedemSchleifendurchlauf ein ebenfalls abgespeicherter Schleifenzähler inkrementiert.

Ein Aufbau der Schaltung könnte so aussehen:

addresscontrol

BranchDetector

branch

branch

loop

RAM address

addresscontrol

LoopDetector

WriteControl

RAM data

TracerRAM

RAM control

addresscontrolstop trace

Die Einzelkomponenten spielen folgendermaßen zusammen: der�...