Browse Prior Art Database

Verfahren zur Simulation von Prozessorkernen (Virtual CPU)

IP.com Disclosure Number: IPCOM000017766D
Original Publication Date: 2001-Jul-01
Included in the Prior Art Database: 2003-Jul-23
Document File: 3 page(s) / 18K

Publishing Venue

Siemens

Related People

Dr. Albrecht Mayer: AUTHOR

Abstract

Komplexe Systeme bestehen heutzutage aus mehreren Prozessorkernen, Bussen, Speichern und Peripheriemodulen. Diese können sogar alle auf dem gleichen Chip sein (System on a Chip, SoC). Systemsimulationen dienen dazu, möglichst kosteneffizient die Architektur zu verifizieren und zu optimieren. Die Systemsimulation sollte schnell und einfach erstellbar sein und mit hoher Simulationsgeschwindigkeit ablaufen.

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

- 191 -

Information / Kommunikation

Verfahren zur Simulation von Prozessorkernen (Virtual CPU)

Idee: Dr. Albrecht Mayer, Deisenhofen

Komplexe Systeme bestehen heutzutage aus mehreren Prozessorkernen, Bussen, Speichern undPeripheriemodulen. Diese können sogar alle auf dem gleichen Chip sein (System on a Chip,SoC). Systemsimulationen dienen dazu, möglichst kosteneffizient die Architektur zu verifizierenund zu optimieren. Die Systemsimulation sollte schnell und einfach erstellbar sein und mit hoherSimulationsgeschwindigkeit ablaufen.

Bisher wurden sogenannte Instruction Set Simulatoren (ISS) verwendet, die für eine bestimmteCPU (z. B. C166S, TriCore) Binärprogramme funktional richtig abarbeiten können. Diesebekommen für die Systemsimulation ein mehr oder weniger zeitlich genaues Interface zurHardware. Falls ein exaktes Zeitverhalten gewünscht wird (cycle accurate), dann ist die Erstellungund Verifikation dieser Modelle sehr aufwendig. Weitere Nachteile dieses Ansatzes sind:

-     Die Erstellung, Verifikation und Wartung der Prozessormodelle ist aufwendig und teuer.

-     Die Integration eines solchen Prozessormodells in eine Systemsimulation ist aufwendig.

-     Für verschiedene Szenarien mit unterschiedlichen CPUs tritt dieser Aufwand mehrfach auf. -

-     Das Zeitverhalten der CPU kann nicht direkt gesteuert werden, um kritische Fälle zuerzwingen.

-     Systemtests, die auf dem Prozessor ablaufen, benötigen für die Fehlererkennung selbstsimulierte Zeit und beeinflussen dadurch das Systemverhalten.

-     Die Simulationsgeschwindigkeit eines genauen Prozessormodells ist niedrig.

-     Die Entwicklungsumgebung (Compiler, Linker, Debugger) des spezifischen Prozessors mussverwendet werden.

Im folgenden wird eine neue Modellierungsmethode von Prozessorkernen in Systemsimulationenbeschrieben.

Die Virtual CPU (VC) Idee löst das Problem der Prozessormodellierung für C++ basierteSystemsimulationen. Die Grundidee ist, dass in diesem Fall ja die ganze Simulation ein„C-Programm" ist und damit ein Block das Verhalten einer CPU nachbilden kann. DieGrundeigenschaften eines Programms, das auf einer CPU ausgeführt wird sind:

1.     Berechnungen, Anweisungen, etc. werden durchgeführt.

Siemens Technik Report

Jahrgang 4  Nr. 12  Juli 2001

- 192 -

2.     Unterprogramme werden aufgerufen.

3     Während der Programmverarbeitung vergeht Zeit.

3.     Auf Hardwarekomponenten wird über spezielle Datenadressen zugegriffen.

4.     Interrupts werden mit Interrupt Service Routines (ISR) automatisch bedient.

5.     Ein Reset setzt die CPU in ihren Anfangszustand zurück.

Der Virtual CPU Ansatz erlaubt es, diese Eigenschaften direkt, d.h. ohne den Umweg über einISS basiertes Prozessormodell, mit einem Objekt in der Systemsimulation zu erreichen. Dazuwird eine C++ Basisklasse mit den folgenden Eigenschaften zur Verfügung gestellt:

-     Es gibt eine Methode um simulierte Zeit vergehen zu lassen wait(n cycles).

- ®..