Browse Prior Art Database

Schaltungsanordnung für Cache mit PreFetch-Mechanismus für eine CPU

IP.com Disclosure Number: IPCOM000018447D
Original Publication Date: 2002-Jun-01
Included in the Prior Art Database: 2003-Jul-23
Document File: 5 page(s) / 444K

Publishing Venue

Siemens

Related People

Alfons Wahr: AUTHOR

Abstract

Eine RISC-CPU (RISC = reduced instruction set CPU, CPU = central processing unit) zeichnet sich gegenüber einer CISC_CPU (compact instruction set CPU) dadurch aus, dass sie weniger und einfachere sehr schnell durchführbare Befehle hat und bei der Programmdurchführung dafür sehr oft etwas längere linear angeordnete Befehlssequenzen ausführt, also Programmstücke, bei denen jeweils eine größere Anzahl von Befehlen unmittelbar aufeinander folgen, bevor ein (ggf. bedingter) Sprung an eine nächste Befehlssequenz/den Anfang der gleichen (Programm -Loop) erfolgt. Zudem gibt es neben 1-Byte- Register-Operations-Befehle, auch viele 2- und 3- Byte-lange Befehle (Operation-Code, gefolgt von einer 1- oder 2-Byte-Konstanten oder einer 2-Byte- Adresse). Die CPU hat eine Datenbus-Schnittstelle mit einer gewissen Breite, hier 1 Byte = 8 Bit. Über diese Datenbus-Schnittstelle greift die CPU neben Periphe- rie-Schnittstellen/-Controllern vor allem auf den Daten- und Programm-Speicher zu. Letztere beiden können physikalisch/logisch getrennte aber auch ein einheitlicher größerer Speicher sein. Im Normalfall bestimmen neben den CPU-internen Limits vor allem die Zugriffshäufigkeit und die Speicherzugriffszeit auf diese Speicher (Read- und Write-Accesses) die Performance einer CPU.

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

Information / Kommunikation

Schaltungsanordnung für Cachemit PreFetch-Mechanismus für eineCPU

Idee: Alfons Wahr, München

Eine� RISC-CPU� (RISC� =� reduced� instruction� setCPU, CPU = central processing unit) zeichnet sichgegenüber einer CISC_CPU (compact instruction setCPU) dadurch aus, dass sie weniger und einfacheresehr schnell durchführbare Befehle hat und bei derProgrammdurchführung dafür sehr oft etwas längerelinear� angeordnete� Befehlssequenzen ausführt, alsoProgrammstücke,� bei� denen� jeweils eine größereAnzahl von Befehlen unmittelbar aufeinander folgen,bevor ein� (ggf.� bedingter)� Sprung� an� eine� nächsteBefehlssequenz/den Anfang der gleichen (Programm-Loop) erfolgt. Zudem gibt es neben 1-Byte-Register-Operations-Befehle,� auch� viele� 2-� und 3-Byte-lange� Befehle� (Operation-Code, gefolgt voneiner 1- oder 2-Byte-Konstanten oder einer 2-Byte-Adresse).

Die CPU hat eine Datenbus-Schnittstelle mit einergewissen Breite, hier 1 Byte� =� 8� Bit.� Über� dieseDatenbus-Schnittstelle greift die CPU neben Periphe-rie-Schnittstellen/-Controllern vor allem auf denDaten- und Programm-Speicher zu. Letztere beidenkönnen physikalisch/logisch getrennte aber auch eineinheitlicher größerer Speicher sein. Im Normalfallbestimmen neben den CPU-internen Limits vor allemdie� Zugriffshäufigkeit� und die Speicherzugriffszeitauf diese Speicher (Read- und Write-Accesses) diePerformance einer CPU.

Bei einfachen CPU-Systemen addieren sich die CPU-internen� Zeiten� t CPU� (Adresse� und� Schreibdaten� ander� Schnittstelle� anlegen,� Eingangsdaten� bis� zumZielregister� durchschalten)� und die Zugriffszeitenbeim� Speicher� t Mem� � für� das� Lesen� (=� Read)� undSchreiben (=Write) von Daten und das Holen vonBefehlscode (=Fetch).

tCycle = t CPU� + t Mem� .� � (1)t Mem� kann für Write und Read/Fetch unterschiedlichsein,� bei� inhomogenen� (= mehreren unterschiedli-chen physikalischen) Speichern (oder wenn dieZugriffspfade im ASIC verschieden lange Zeiten be-anspruchen)� und� bei� Einbeziehung� von Peripherie-Controllern kann diese Zeit zudem differieren. Mankann hier entweder das Maximum wählen oder manmuss� ein� Ready-Signal� einführen (siehe nachfol-gend!).

Eine� häufig� benutzte� Lösung ist die Verwendungeines Ready-Signals. Hier� wird� von� der� CPU� imersten Cycle� ein� Write-Access� zum� Speicher� hinabgesetzt, der im zweiten Cycle im Speicher (=Mem-ory) ausgeführt wird. Die� CPU� kann� während� deszweiten Zyklus bereits einen anderen Befehl ausfüh-ren.� Oder� im ersten Cycle� wird� ein� Read-/Fetch-

Siemens� Technik Report � � � � � Jahrgang 5� Nr.17� � � � � Juni 2002

Information / Kommunikation

Befehl gestartet und das Ready-Signal wird wegge-nommen. Erst am Ende des nachfolgenden zweitenCycle wird aber im best-case vom Speicher das ange-forderte� Datum� erwartet, wobei das Ready-Signalwieder� gesetzt� wird;� wenn� der Read-/Fetch-Befehldazu nicht in der Lage war, dann muss das Ready-Signal länger weggenommen werden, das die sy...