DE10159259C1 - Rechenanlage mit einem Coprozessor - Google Patents

Rechenanlage mit einem Coprozessor

Info

Publication number
DE10159259C1
DE10159259C1 DE2001159259 DE10159259A DE10159259C1 DE 10159259 C1 DE10159259 C1 DE 10159259C1 DE 2001159259 DE2001159259 DE 2001159259 DE 10159259 A DE10159259 A DE 10159259A DE 10159259 C1 DE10159259 C1 DE 10159259C1
Authority
DE
Germany
Prior art keywords
data
processor
target
controller
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE2001159259
Other languages
English (en)
Inventor
Dietmar Scheiblhofer
Holger Bock
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2001159259 priority Critical patent/DE10159259C1/de
Application granted granted Critical
Publication of DE10159259C1 publication Critical patent/DE10159259C1/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

Die Erfindung schlägt eine Rechenanlage vor mit einem ersten Prozessor (10), einer Datenquelle (12), einem Datenziel (14) und einem Controller (16), der mit der Datenquelle (12) und dem Datenziel (14) gekoppelt ist und auf Anforderung durch den ersten Prozessor (10) Daten zwischen der Datenquelle (12) und dem Datenziel (14) überträgt. Erfindungsgemäß ist vorgesehen, daß der Controller (16) die durch das Datenziel (14) bearbeiteten Daten selbständig zu einem weiteren Datenziel (12, 18) überträgt.

Description

Die Erfindung betrifft eine Rechenanlage mit einem ersten Prozessor, einer Datenquelle, einem Datenziel und einem Con­ troller, der mit der Datenquelle und dem Datenziel gekoppelt ist und auf Anforderung durch den ersten Prozessor Daten zwi­ schen der Datenquelle und dem Datenziel überträgt.
Rechenanlagen, bei denen das Datenziel als zweiter Prozessor, insbesondere als Coprozessor ausgebildet ist, werden als Mul­ tiprozessorsystem bezeichnet und werden vielfältig verwendet. Einsatz finden derartige Rechenanlagen vor allem dann, wenn ein und dieselbe Rechenoperation, beispielsweise das Ver- oder Entschlüsseln von Daten, durchgeführt werden muß. Copro­ zessoren sind speziell auf derartige Rechenoperationen hin optimiert. Dabei werden Daten von einer Datenquelle, die bei­ spielsweise ein Speicher oder eine Schnittstelle sein kann, zu dem Coprozessor gesendet, dort bearbeitet und anschließend dem Datenziel zugeführt.
Bei bekannten Rechenanlagen wird für den Datentransfer zum und vom Coprozessor jeweils ein eigener, unidirektionaler Re­ chenprozeß, auch als DMA (direct memory access)- Prozeß be­ zeichnet, initiiert. Der Anstoß dieser unidirektionalen DMA- Prozesse wird dabei von dem ersten Prozessor bewerkstelligt, so daß für den beschriebenen Vorgang insgesamt zwei Aktionen des ersten Prozessors notwendig sind.
Eine solche Rechenanlage ist in der Druckschrift US 4 987 595 beschrieben. Der Datentransfer von einer Datenquelle zum Da­ tenziel wird von einem Prozessor zentral über den unidirek­ tionalen DMA (direct memory access) -Prozeß ausgeführt.
Eine aus dem Stand der Technik bekannte Rechenanlage, anhand der dieser Vorgang beschrieben wird, ist in den Fig. 3 und 4 dargestellt. Die Rechenanlage umfaßt einen ersten Prozessor 10, beispielsweise einen Mikrocontroller, eine Datenquelle 12, ein Datenziel 14 sowie einen Controller 16. Die Daten­ quelle 12 kann als Schnittstelle oder Speicher ausgebildet sein. Das Datenziel 14 kann als zweiter Prozessor, z. B. ein weiterer Mikrocontroller oder ein Coprozessor, ausgebildet sein. Der Controller 16 ist mit der Datenquelle 12 und dem Datenziel 14 gekoppelt und reagiert auf Signale des ersten Prozessors 10.
Sollen in der Datenquelle 12 enthaltene Daten z. B. ver­ schlüsselt werden, so sendet der erste Prozessor 10 ein Si­ gnal an den Controller 16, die in der Datenquelle 12 enthal­ tenen Daten an den zweiten Prozessor 14 zu senden. Dieser Vorgang ist in der Fig. 3 dargestellt. Nachdem die Daten durch den zweiten Prozessor 14 bearbeitet wurden, sendet der Prozessor 10 wiederum ein Signal an den Controller 16, diese an die Datenquelle 12 zurückzusenden. Dieser Vorgang ist in der Fig. 4 dargestellt. Insgesamt sind für den beschriebenen Vorgang somit zwei Rechenoperationen des ersten Prozessors 10 notwendig.
Ein derartiges Vorgehen ist sinnvoll, so lange große Datenpa­ kete zwischen der Datenquelle und dem Datenziel zu transfe­ rieren sind. Bei vielen Anwendungen sind jedoch viele kleine Datenpakete von der Datenquelle zu dem Datenziel zu schicken bzw. von dem Datenziel wieder abzuholen. Da für jedes Daten­ paket - unabhängig von dessen Größe - zwei Aktionen des er­ sten Prozessors 10 notwendig sind, weist der erste Prozessor eine hohe Auslastung auf, so daß er nicht für andere Tätig­ keiten zur Verfügung stehen kann.
Der erste Prozessor würde auch dann nicht entlastet werden, wenn die Rechenanlage über zwei Controller zwischen der Da­ tenquelle und dem Datenziel verfügen würde, wobei der eine Daten von der Datenquelle zu dem Datenziel transportiert, während der andere die bearbeiteten Daten von dem Datenziel abholt und zu der Datenquelle zurück oder einem anderen Da­ tenziel überträgt, da die Controller nichtsdestotrotz durch den Prozessor gesteuert werden müssen.
Die Aufgabe der vorliegenden Erfindung ist es daher, eine Re­ chenanlage anzugeben, die eine Entlastung des ersten Prozes­ sors - auch bei einer großen Anzahl an zu übertragenden Da­ tenpaketen - ermöglicht.
Diese Aufgabe wird mit den Merkmalen des Anspruches 1 gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Ansprüchen.
Erfindungsgemäß ist vorgesehen, daß der Controller die ihm durch das Datenziel bearbeitenden Daten selbständig zu einem weiteren Datenziel überträgt. Der Begriff "selbständig" im­ pliziert hierbei, daß nach der Bearbeitung der Daten durch das Datenziel keine weitere Interaktion durch den ersten Pro­ zessor notwendig ist. Vielmehr soll der Controller selbstän­ dig erkennen, wenn die Bearbeitung durch das Datenziel er­ folgt ist und im Anschluß daran die Datenübertragung zu einem weiteren Datenziel zu veranlassen.
Es wird also ein bidirektionaler Controller vorgeschlagen, der die Daten beispielsweise zu einem Coprozessor sendet, wartet bis der Coprozessor die Daten bearbeitet hat und die modifizierten Daten danach automatisch abholt und vorzugswei­ se an ein zuvor von dem ersten Prozessor definiertes ziel überträgt. Insgesamt ist somit nur eine einzige Interaktion des ersten Prozessors notwendig. Diese besteht darin, dem Controller ein Signal zu übermitteln, durch welches dieser veranlaßt wird, die Daten zunächst von der Datenquelle zu dem Datenziel zu übermitteln, die Bearbeitung abzuwarten, und an­ schließend die bearbeiteten Daten selbständig zu einem weite­ ren Datenziel zu übertragen.
Eine bevorzugte Ausgestaltung der Erfindung sieht vor, daß die zu bearbeitenden Daten aus einer Mehrzahl von Datenpake­ ten bestehen. Dabei überträgt der Controller jedes Datenpaket selbständig von der Datenquelle zu dem Datenziel und an­ schließend nach erfolgter Bearbeitung durch das Datenziel zu dem weiteren Datenziel. Unabhängig von der Anzahl der Daten­ pakete ist lediglich eine Aufforderung des ersten Prozessors an den Controller notwendig, die aus einer Mehrzahl an Daten­ paketen bestehenden Daten selbständig zu organisieren. Wenn also mehrerer solcher Datenpakete zu verarbeiten sind, führt der Controller erfindungsgemäß diesen bidirektionalen Prozeß selbständig mehrfach aus.
Bevorzugt ist das Datenziel ein zweiter Prozessor, der in ei­ ner vorteilhaften Ausgestaltung als Coprozessor ausgebildet ist und beispielsweise eine kryptographische Bearbeitung der Daten oder Datenpakete vornimmt. Eine kryptographische Bear­ beitung kann dabei sowohl eine Verschlüsselung als auch eine Entschlüsselung umfassen. Der Copozessor kann selbstverständ­ lich auch für andere Tätigkeiten vorgesehen sein. Ebenso ist denkbar, daß die Rechenanlage eine Mehrzahl an Coprozessoren aufweist, die jeweils mit dem Controller gekoppelt sind. Ab­ hängig von der durchzuführenden Aufgabe kann dann der geeig­ nete Coprozessor von dem Controller ausgewählt werden.
Die Datenquelle oder das weitere Datenziel kann als Schnitt­ stelle oder Speicher ausgebildet sein. Weiterhin ist vorgese­ hen, daß das weitere Datenziel die Datenquelle selbst dar­ stellt. Besonders vorteilhaft ist es, wenn das weitere Daten­ ziel durch den ersten Prozessor bestimmbar ist. Neben dem An­ stoßen eines Datentransfers wird dem Controller in diesem Fall durch den ersten Prozessor mitgeteilt, an welches weite­ re Datenziel die von dem Datenziel bearbeitenden Daten über­ tragen werden sollen.
Die Erfindung ermöglicht folglich eine effiziente Logistik, die insbesondere die Bearbeitung einer Vielzahl von kleinen Datenpaketen in einem Mikroprozessor-System ermöglicht, ohne dabei die CPU zu belasten. Während des gesamten Bearbeitungs­ vorganges, in dem durch einen Coprozessor Daten bearbeitet werden, bleibt die CPU entlastet und kann sich während dieser Zeit anderen Aufgaben widmen.
Nachfolgend wird die Erfindung an Hand von Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein erstes Ausführungsbeispiel der erfindungsgemä­ ßen Rechenanlage,
Fig. 2 ein zweites Ausführungsbeispiel der erfindungemäßen Rechenanlage,
Fig. 3 eine aus dem Stand der Technik bekannte Rechenanla­ ge in einem ersten Zustand, und
Fig. 4 eine weitere aus dem Stand der Technik bekannte Re­ chenanlage in einem zweiten Zustand.
In Fig. 1 ist ein erstes Ausführungsbeispiel der erfindungs­ gemäßen Rechenanlage dargestellt. Wie aus dem Stand der Tech­ nik bekannt, weist die erfindungsgemäße Rechenanlage einen ersten Prozessor 10 auf, der mit einem Controller 16 verbun­ den ist und an diesen Steuersignale übertragen kann. Obwohl der die Signalübertragung andeutende Pfeil von dem ersten Prozessor 10 zu dem Controller 16 weist, darf dies nicht in dem Sinn als beschränkend aufgefaßt werden, daß der Control­ ler lediglich von dem ersten Prozessor Signale empfangen könnte. Selbstverständlich ist es auch denkbar, daß ein bidi­ rektionaler Datenaustausch zwischen dem ersten Prozessor und dem Controller 16 möglich ist. Mit dem Controller 16 ist eine Datenquelle 12, die beispielsweise als Schnittstelle oder als Speicher ausgebildet ist, gekoppelt. Weiterhin ist ein Daten­ ziel 14, insbesondere ein Copozessor, vorgesehen, der eben­ falls mit dem Controller 16 gekoppelt ist. Darüber hinaus um­ faßt die Rechenanlage ein weiteres Datenziel 18, das eine an­ dere Schnittstelle oder ein anderer Speicher sein kann. Das weitere Datenziel 18 könnte ebenfalls als dritter Prozessor ausgebildet sein.
Der Start für eine Bearbeitung von in der Datenquelle 12 ge­ speicherten Daten durch das Datenziel 14 erfolgt durch den ersten Prozessor 10. Dieser übermittelt an den Controller 16 ein Signal, die in der Datenquelle 12 gespeicherten Daten an das Datenziel 14 zu übertragen und vorzugsweise weiterhin die Information, wohin die bearbeiteten Daten übertragen werden sollen. Sofern die in der Datenquelle gespeicherten Daten in einem einzigen Datenpaket zu dem Datenziel 14 übertragen wer­ den können, kann gegenüber den aus dem Stand der Technik be­ kannten Anordnung lediglich eine Interaktion des ersten Pro­ zessors eingespart werden. Während im Stand der Technik zwei Interaktionen notwendig sind, um die Daten einerseits von der Datenquelle zu dem Datenziel zu übertragen und andererseits nach erfolgter Bearbeitung die bearbeiteten Daten zu einem weiteren Datenziel zusenden, genügt bei der vorliegenden Er­ findung lediglich eine Interaktion des ersten Prozessors. Diese Interaktion besteht darin, den Controller eine Informa­ tion zu übersenden, daß die Datenquelle zur Bearbeitung ste­ hende Daten bereit hält. Alle übrigen Arbeitsschritte werden dann durch den Controller 16 gesteuert. Aus dieser Beschrei­ bung wird offensichtlich, daß die Erfindung insbesondere bei der Bearbeitung von Daten große Vorteile aufweist, die in ei­ ne Vielzahl von Datenpaketen an das Datenziel übertragen und dort bearbeitet werden müssen. Die Erfindung ermöglicht es, unabhängig von der Anzahl der Datenpakete, die Anzahl der In­ teraktionen des ersten Prozessors grundsätzlich bei einer Ak­ tion zu halten.
Während in dem ersten Ausführungsbeispiel der Fig. 1 die Da­ tenquelle 12 und das weitere Datenziel 18 durch unterschied­ liche Hardwarekomponenten repräsentiert sind, sind in dem zweiten Ausführungsbeispiel gemäß Fig. 2 die Datenquelle und das weitere Datenziel, zu dem die bearbeitenden Daten über­ sandt werden, identisch.
In beiden Ausführungsbeispielen ergeben sich überall dort große Vorteile, wo kleine Datenpakete in einer Rechenanlage verteilt werden müssen. Speziell in Systemen mit Coprozesso­ ren bringt die beschriebene "Bidirektionalität" des Control­ lers eine enorme Entlastung des ersten Prozessors mit sich.
Die Erfindung könnte beispielsweise bei folgender Anwendung zum Einsatz kommen. Es soll eine Datei mittels Hardwareunter­ stützung verschlüsselt werden. Ein PC (Datenquelle) sendet eine zu verschlüsselnde Datei an einen an einer Schnittstelle angekoppelten Dongle. Die an der Schnittstelle des Dongles ankommenden Daten werden in viele kleine Datenpakete (z. B. 64 Bit) gesplittet, die von einem vorinitialisierten DMA- Controller des Dongles an seinen DES-Coprozessor (Datenziel) weitergeleitet werden. Nachdem die Verschlüsselung abge­ schlossen ist, sendet der DMA-Controller die verschlüsselten Daten wieder zurück zu der Schnittstelle oder zu einem vorbe­ stimmten Speicher. Hierauf beginnt der Prozeß von neuem mit dem Holen der Daten von der Schnittstelle bis die gesamte Da­ tei verschlüsselt ist. Während des gesamten Bearbeitungsvor­ ganges bleibt der Prozessor des Dongles entlastet und kann sich währenddessen anderen Aufgaben widmen.
Bezugszeichenliste
10
Prozessor
12
Datenquelle
14
Datenziel
16
Controller
18
Datenziel

Claims (7)

1. Rechenanlage mit einem ersten Prozessor (10), einer Daten­ quelle (12), einem Datenziel (14) und einem Controller (16), der mit der Datenquelle (12) und dem Datenziel (14) gekoppelt ist und auf Anforderung durch den ersten Prozessor (10) Daten zwischen der Datenquelle (12) und dem Datenziel (14) über­ trägt, bei der der Controller (16) die durch das Datenziel (14) bearbeiteten Daten selbständig zu einem weiteren Daten­ ziel (12, 18) überträgt.
2. Rechenanlage nach Anspruch 1, bei der die Daten aus einer Mehrzahl von Datenpaketen bestehen, wobei der Controller (16) jedes Datenpaket selbständig von der Datenquelle (12) zu dem Datenziel (14) und nach erfolgter Bearbeitung durch das Da­ tenziel (14) zu dem weiteren Datenziel (12, 18) überträgt.
3. Rechenanlage nach Anspruch 1 oder 2, bei der das Datenziel (14) ein zweiter Prozessor ist.
4. Rechenanlage nach Anspruch 3, bei der der zweite Prozessor als Co-Prozessor ausgebildet ist, der eine kryptographische Bearbeitung der Daten oder Datenpakete vornimmt.
5. Rechenanlage nach einem der vorhergehenden Ansprüche, bei der die Datenquelle (12) oder das weitere Datenziel (18) eine Schnittstelle oder ein Speicher ist.
6. Rechenanlage nach einem der vorhergehenden Ansprüche, bei der das weitere Datenziel (18) die Datenquelle (12) dar­ stellt.
7. Rechenanlage nach einem der vorhergehenden Ansprüche, bei der das weitere Datenziel (12, 18) durch den ersten Prozessor (10) bestimmbar ist.
DE2001159259 2001-12-03 2001-12-03 Rechenanlage mit einem Coprozessor Expired - Fee Related DE10159259C1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001159259 DE10159259C1 (de) 2001-12-03 2001-12-03 Rechenanlage mit einem Coprozessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001159259 DE10159259C1 (de) 2001-12-03 2001-12-03 Rechenanlage mit einem Coprozessor

Publications (1)

Publication Number Publication Date
DE10159259C1 true DE10159259C1 (de) 2003-06-12

Family

ID=7707832

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001159259 Expired - Fee Related DE10159259C1 (de) 2001-12-03 2001-12-03 Rechenanlage mit einem Coprozessor

Country Status (1)

Country Link
DE (1) DE10159259C1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987595A (en) * 1989-09-11 1991-01-22 Motorola, Inc. Secure cryptographic processor arrangement

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987595A (en) * 1989-09-11 1991-01-22 Motorola, Inc. Secure cryptographic processor arrangement

Similar Documents

Publication Publication Date Title
DE69834739T2 (de) Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren
DE2856483C2 (de)
EP0519109B1 (de) Zugriffskontrolle in Rechnernetzen
DE60017775T2 (de) Architektur und system von einem generischen und seriellen port
DE3727017C2 (de)
EP1599794A2 (de) Prozessor mit verschiedenartigen steuerwerken für gemeinsam genutzte ressourcen
DE2335991C3 (de) Schaltung zur Lenkung eines zur Unterbrechung einer von mehreren Befehls-Recheneinheiten auffordernden Signals
DE10159259C1 (de) Rechenanlage mit einem Coprozessor
DE10228778B4 (de) Hardware-Verfahren zum Implementieren von atomischen Semaphoroperationen unter Verwendung von Codemakros
DE2350871A1 (de) Recheneinheit zur verarbeitung von speziellen befehlen
EP0977160B1 (de) Verfahren und Datenverarbeitungsanordnung zum gesicherten Ausführen von Befehlen
EP0433472B1 (de) Verfahren zum gepufferten Datenaustausch zwischen Programmen einer Datenverarbeitungsanlage
DE3542436A1 (de) Datenflussprozessorsystem
EP3583516A1 (de) Ein mit einer verpackungsanlage assoziierter graph
DE102010005431A1 (de) Datenbewegungsprozessor
DE10136151C2 (de) Multiprozessor-System mit zumindest zwei Mikroprozessoren mit optimaler Ausnutzung der zur Verfügung stehenden Ressourcen
EP1460510B1 (de) Verfahren zur sicheren Kommunikation zwischen einer Datenverarbeitungsanlage und einer Sicherheitseinrichtung
EP1191453A2 (de) Vorrichtung zur Auswahl und Weiterleitung von empfangenen Unterbrechungsanfragen gemäss konfigurierbaren Konditionen
DE102005032310A1 (de) Tragbarer Datenträger
DE4497671B4 (de) Verfahren und System zur Übertragung von Daten zwischen Prozessoren
EP1478125B1 (de) System zum Monitoren mindestens einer Telekommunikationsverbindung
DE2831066A1 (de) Mikroprogrammistisches rechnersystem
EP2780804B1 (de) Verfahren zur steuerung der programmausführung
DE10153620A1 (de) Sicheres Wechseln von Wertscheinen oder Münzen in elektronische Werteinheiten am Geldeinzahlautomat
DE2555329A1 (de) Steuereinrichtung aus mehreren bausteinen fuer eine vermittlungsanlage, insbesondere fernsprechvermittlungsanlage

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
8304 Grant after examination procedure
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee