DE10159259C1 - Rechenanlage mit einem Coprozessor - Google Patents
Rechenanlage mit einem CoprozessorInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling 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.
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4987595A (en) * | 1989-09-11 | 1991-01-22 | Motorola, Inc. | Secure cryptographic processor arrangement |
-
2001
- 2001-12-03 DE DE2001159259 patent/DE10159259C1/de not_active Expired - Fee Related
Patent Citations (1)
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 |