DE68925519T2 - Feldrechner für Bildverfahren und Geräte - Google Patents

Feldrechner für Bildverfahren und Geräte

Info

Publication number
DE68925519T2
DE68925519T2 DE68925519T DE68925519T DE68925519T2 DE 68925519 T2 DE68925519 T2 DE 68925519T2 DE 68925519 T DE68925519 T DE 68925519T DE 68925519 T DE68925519 T DE 68925519T DE 68925519 T2 DE68925519 T2 DE 68925519T2
Authority
DE
Germany
Prior art keywords
data
data values
register file
register
arithmetic
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
DE68925519T
Other languages
English (en)
Other versions
DE68925519D1 (de
Inventor
Carl J Brunnett
Beverly M Gocal
Paul J Hyland
Michael M Kerber
James M Pexa
John Sidoti
Chris J Vrettos
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.)
Philips Nuclear Medicine Inc
Original Assignee
Picker International Inc
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 Picker International Inc filed Critical Picker International Inc
Application granted granted Critical
Publication of DE68925519D1 publication Critical patent/DE68925519D1/de
Publication of DE68925519T2 publication Critical patent/DE68925519T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Complex Calculations (AREA)

Description

  • Die Erfindung betrifft digitale Verarbeitung. Die Erfindung findet insbesondere Anwendung bei Computertomographie (CT)-Bildverfahren und -geräten, d.h. Scannern und wird speziell mit Bezug hierauf erläutert. Ein CT-Scanner gemäß dem Oberbegriff des Anspruchs 6 ist beispielsweise aus der US-A-4,504,909 bekannt. Jedoch ist zu beachten, daß die Erfindung auch auf andere Arten von Bild- und Datenverarbeitungen anwendbar ist.
  • Auf dem Gebiet der Computertomographie-Bildverfahren und Bildgeräte ist die exakte Bildrekonstruktion von äußerster Wichtigkeit. Einer der Hauptnachteile bei der exakten Bildrekonstruktion war der Zeitaufwand, der erforderlich war, um die Bildrekonstruktionen für jede Abtastung einer Vielfach-Abtastprozedur zu vervollständigen. Je länger die Zeitdauer war, die zur Vervollständigung des Bildes und zur Initiierung der nächsten Abtastung der Prozedur nötig war, um so wahrscheinlicher waren die Prozedur verschlechternde Ereignisse, wie beispielsweise eine Patientenbewegung.
  • Das Verbessern der Geschwindigkeit für die Datenakquisition oder, wenn die Daten einmal akquiriert bzw. erfaßt waren, die Steigerung der Geschwindigkeit, mit der die Daten gehandhabt werden, vergrößern die Rekonstruktionsgeschwindigkeit des abgetasteten Bildes. Ein zentrales Merkmal der Rekonstruktion eines Bildes ist ein Faltungsprozeß, der Daten für eine Rückprojektion zu einem Bild bereitstellt. Die Geschwindigkeit des Faltungsprozesses stellt eine Grenze für die Geschwindigkeit des Gesamtsystems dar. Eine schnellere Faltung liefert eine schnellere Bildrekonstruktion, wodurch wiederum exaktere Abtastungen und weniger Abtastungen möglich werden, die wieder durchgeführt werden müssen.
  • in der Vergangenheit verwendeten Feldrechnerauslegungen, die bei der CT-Abtastung verwendet wurden, normalerweise eine Struktur mit wahlfreiem Zugriff mit einem einzelnen Anschluß oder Port, wodurch lediglich der Zugriff auf eine einzelne Speicherstelle in einem Taktzyklus möglich war. Dies führte zur signifikanten Engpässen bei der Übertragung von Daten zur arithmetischen Einheit. Darüber hinaus enthielten früher verwendete Feldrechner signifikante Beträge nicht ausgenutzter Taktzyklen bei der Datenübertragung. Daher arbeitete aus den obengenannten zwei Gründen die arithmetische Einheit weit unter ihrem möglichen theoretischen Maximum. Dies wiederum verlangsamte den gesamten Bildrekonstruktionsprozeß in signifikanter Weise.
  • "Microprocessing & Microprogramming", Band 18, Nr. 1-5, 1986, Nord-Holland, Amsterdam, Seiten 525-538, beschreibt einen Feldrechner, aufweisend: eine interne Datenspeichereinrichtung, die digitale Werte bei adressierten Speicherstellen akzeptiert und speichert und über Ausgaberegister von adressierten Speicherstellen Datenwerte ausgibt; eine Adressenerzeugungseinrichtung zum Erzeugen von Adressen für die interne Datenspeichereinrichtung, wobei die Datenadressen die Speicherstellen anzeigen, bei denen die Datenwerte gespeichert werden und aus denen die Datenwerte aus gegeben werden; und eine arithmetische Einrichtung, die die Datenwerte, die von mit der arithmetischen Einrichtung verknüpften Zwischenspeicherregistern (SPRS von scratchpad registers) ausgegeben werden, mathematischen Operationen unterzieht, wobei die arithmetische Einrichtung betriebswirksam mit dem Zwischenspeicher verbunden ist, um modifizierte Datenwerte zu diesem zurückzufüren. Die Zwischenspeicherregister empfangen Daten von den Ausgaberegistern des internen Datenspeichers über eine Eingangs- Routing-Einrichtung, einen Operandenmultiplexer der arithmetischen Einrichtung und eine ALU (von arithmetic and logic unit). Zusätzlich zu den Ausbreitungsverzögerungen ist ein Nachteil der bekannten Eingangs-Routing-Einrichtung der, daß, wenn diese einmal für eine selektierte Datenmanipulationsoperation ausgelegt ist, die Daten längs fester Zeilen übertragen werden, bis die Eingangs-Routing- Konfiguration wieder geändert wird.
  • Es ist ein Gegenstand der vorliegenden Erfindung, einen Feldprozessor anzugeben, der für den Einsatz in einem Computertomographie-Scanner geeignet ist, wobei der Rechner die oben erläuterten Nachteile konventioneller Feldrechner überwindet. Die Erfindung sieht auch ein Bildrekonstruktionsverfahren und Abbildungsgerät vor.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist ein Feldrechner vorgesehen, aufweisend: eine interne Datenspeichereinrichtung, die digitale Datenwerte bei adressierten Speicherstellen akzeptiert und speichert und Datenwerte von den adressierten Speicherstellen über ein Ausgaberegister ausgibt; eine Adressenerzeugungseinrichtung zum Erzeugen von Adressen für die interne Datenspeichereinrichtung, wobei die Datenadressen die Speicherstellen anzeigen, bei denen oder in denen die Datenwerte gespeichert werden und von denen die Datenwerte ausgegeben werden; eine Registerdatei (Register-File), die direkt Datenwerte akzeptiert, die von den Speicherstellen der internen Speichereinrichtung ausgegeben werden, welche durch die Adressenerzeugungseinrichtung adressiert sind; und eine arithmetische Einrichtung, die die von der Registerdatei ausgegebenen Datenwerte mathematischer Operationen unterzieht, wobei die arithmetischen Einrichtungen betriebswirksam mit der Registerdatei verbunden sind, um zu dieser modifizierte Datenwerte zurückzuführen.
  • Die Erfindung sieht auch ein Computertomographie- Bildgerät vor, aufweisend: eine Quelle durchdringender Strahlung, die eine Untersuchungsregion bestrahlt; eine Detektoranordnung, die Strahlung empfängt, die die Untersuchungsregion durchquert hat, und Ausgangssignale, die hierfür (d.h. diese Strahlung) eine Anzeige liefern, erzeugt; eine Datenakquisitions- und Verarbeitungseinrichtung, die die Detektorausgangssignale empfängt und digitale n-Bit digitale Datenwerte hieraus erzeugt; einen Feldrechner zur Verarbeitung der digitalen Datenwerte und eine Einrichtung zur Rekonstruktion von Datenwerten, die von der Registerdatei empfangen werden, zu einer Bildrepresentation; dadurch gekennzeichnet, daß der Feldrechner einen Rechner gemäß der Erfindung umfaßt.
  • Ein erster Vorteil eines Rechners gemäß der Erfindung ist der, daß dieser der arithmetischen Einheit genügend Daten gleichzeitig auf demselben Taktzyklus zuführt, um die volle Geschwindigkeit der arithmetischen Einheit zu stützen.
  • Ein weiterer Vorteil der vorliegenden Erfindung ist der, daß auf demselben Taktzyklus, auf dem Daten in das System eingegeben werden, Daten abgeschlossener Operationen vom System ausgegeben werden.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren zur Rekonstruktion einer Bilddarstellung oder Bildrepresentation aus Strahlungsintensitätssignalen eines CT-Geräts vorgesehen, wobei das Verfahren umfaßt: die Organisierung der Röntgenstrahlintensitätsdaten zu Zeilen von digitalen Datenwerten; den Empfang und das Speichern einer Zeile von Datenwerten in einer internen Datenspeichereinrichtung; die Übertragung von Abschnitten jeder Datenzeile über ein Ausgaberegister der internen Datenspeichereinrichtung direkt in eine Registerdatei- Speichereinrichtung; das Unterziehen der Datenwerte von der Registerdatei-Speichereinrichtung mit einer arithmetischen Einrichtung arithmetischen Operationen; das Takten eines ersten Abschnitts der Datenwerte der Datenzeile in der Registerdatei-Speichereinrichtung zurück zur internen Datenspeichereinrichtung und das Unterziehen der Datenwerte eines weiteren oder anderen Abschnitts der Datenzeile den arithmetischen Operationen; das Rückführen (kreislaufartige Rückführen) verarbeiteter Datenwerte zur Registerdatei- Speichereinrichtung und die Rückprojektion von Datenwerten von der internen Datenspeichereinrichtung in eine Bilddarstellung.
  • Ein Computertomographie-Bildverfahren und -gerät unter Verwendung des Feldrechners und Bildrekonstruktionsverfahrens nach der Erfindung werden nun beispielhalber unter Bezugnahme auf die beiliegenden Zeichnungen erläutert, in denen;
  • FIG. 1 eine schematische Darstellung des CT-Bildgeräts ist;
  • FIG. 2 ein vereinfachtes schematisches Blockschaltbild des Feldrechners einer Faltungseinrichtung des Geräts der FIG. 1 ist;
  • FIG. 3 eine erweiterte Ansicht einer einzelnen Registerdatei-Anordnung oder -Bank des Feldrechners der FIG. 1 ist;
  • FIG. 4 ein Blockschaltbild ist, das detailliert den Eingang in die Registerbank der FIG. 3 vermittelt; und
  • FIG. 5 eine schematische erweiterte Darstellung des Feldrechners der FIG. 2 ist.
  • Gemäß FIG. 1 umfaßt eine CT- Scanner- Abtasteinheit A eine Röntgenstrahlröhre 10, die selektiv einen fächerförmigen Strahl durch einen Bildkreis 12 projiziert. Die Strahlung trifft auf eine Strahlungsdetektoreinrichtung wie ein Feld aus Detektoren 14, die elektronische Datensignale erzeugen, die Strahlenabsorptions- oder Transmissionseigenschaften eines Objekts im Bildkreis anzeigen. Eine Rotationseinrichtung 16 ruft selektiv eine relative Drehbewegung des Strahlenbündels um den abgetasteten Kreis hervor. Eine Datenakquisitionseinrichtung B erfaßt die Daten, die von den Detektoren erzeugt werden, um mehrere Datensätze oder -ansichten zu erzeugen. Im bevorzugten Ausführungsbeispiel umfaßt jeder Datensatz ein Datenelement für jeden Detektor, der gegenwärtig be strahlt und abgetastet wird. Die Datenakquisitionseinrichtung tastet den bestrahlten Detektorteilsatz mehrere Male ab, bevor der nächste Teilsatz oder Bruchteil von Detektoren bestrahlt wird. Die erfaßten Datenteilsätze werden zu Detektordatensätzen neu geordnet und dann an eine Vorverarbeitungseinrichtung C geliefert, in der jeder Datenteilsatz normiert wird und Spektrum- und andere Korrekturen oder Einstellungen vorgenommen werden. Eine Bildrekonstruktionseinrichtung rekonstruiert eine Bilddarstellung der Strahlungsabsorptionseigenschaften des Gegenstandes im Abtastkreis aus den Fächerbündel-Datenteilsätzen. Die Bildrekonstruktionseinrichtung umfaßt eine Faltungseinrichtung D, die die Datensätze mit einer Faltungs- oder Filterfunktion faltet. Ein Rückprojektor E projiziert die gefalteten Datensätze zurück auf ein Bild oder einen Display-Speicher F zur Darstellung auf einem Videomonitor oder einer Display-Einrichtung. Die rekonstruierte elektronische Bildreprasentation wird in einem Archiv G auf Band oder Platte für zu kunftige Verwendung gesichert. Ebenfalls entsprechend FIG. 1 umfaßt die Faltungseinrichtung D eine Feldrechnereinrichtung 180 Die Feldrechnereinrichtung 18 bearbeitet Daten, die von der Vorverarbeitungseinrichtung B empfangen werden, um die Daten zu gefalteten Ansichten für die Rückprojektion zur Einrichtung E zu verarbeiten.
  • Gemäß FIG. 2, die ein vereinfachtes Blockschaltbild des Feldrechners 18 darstellt, erzeugt ein Adressengenerator 20 zyklisch selektierte Adressen für eine Datenspeichereinrichtung 22. Die Datenspeichereinrichtung 22 empfängt Datenzeilen und überträgt diese unter der Steuerung des Adressengenerators zu einer Registerdatei (Register-File) 24. Die Registerdatei 24 wiederum überträgt selektierte Daten zu Fließpunktaddiereinheiten 26, 28 und einer Fließpunktmultipliziereinheit 30. Die Einheiten 26, 28, 30 führen sämtlich arithmetische Operationen aus, die die geringst- und höchstwertigen Bits der übertragenen Daten einbeziehen. Die Registerdatei 24 führt auch schleifenartig einen selektierten Teil der Datenzeile zurück zur Datenspeichereinrichtung 220 Jede Datenzeile, die im Datenspeicher 22 empfangen wird, wird wiederholt mit einer Faltungsfunktion bearbeitet, die jedes Datenelement gemäß benachbarter und anderer Datenelemente innerhalb der Zeile modifiziert. Nachdem die Datenzeile oder Datenreihe gefaltet ist, überträgt der Adressengenerator 20 sie zum Ausgang 32 und die nächste Datenzeile wird im Datenspeicher 22 empfangen.
  • Gemäß FIG. 3 werden Daten in der Registerdatei 24 von mehreren Eingabebausteinen oder Eingabeports empfangen, und zwar vorzugsweise über fünf Eingabebausteine 40E bis 40I. Im bevorzugten Ausführungsbeispiel akzeptieren zwei Eingabebausteine 40H und 40I Daten vom Datenspeicher 22. Die anderen drei Eingabebausteine 40E bis 40G empfangen Daten von den Fließpunktaddierern 26 und 28 und dem Fließpunktmultiplizierer 30.
  • Die Daten werben in einer Pipeline-Struktur derart bewegt, daß zumindest vier Datenoperationen gleichzeitig durchführbar sind. Spezifisch werden bei der vorderen Flanke eines ersten Taktimpulses Daten, die in mehreren Latchschaltungen empfangen werden, speziell in Latchschaltungen 44A bis 44E, in ausgewählte Adreßstellen eines 32 x 8-Bitregisters 50 hineingetaktet. Im selben ersten Taktimpuls werden Daten von anderen ausgewählten Stellen des 32 x 8-Bitregisters 50 zu mehreren Multiplexern, speziell zu 32:1 Multiplexern 52A bis 52D ausgetaktet. Die multiplexierten Daten von den Multiplexern 52A bis 52D werden mit der vorderen oder vorauseilenden Flanke desselben Taktimpulses in mehrere zweiter Latchschaltungen, speziell Latchschaltungen 56A bis 56D hineingetaktet. Die Daten an den Q-Ausgängen der Latchschaltungen 56A bis 56D werden an der vorderen Flanke desselben Taktimpulses zu Ausgängen 58A bis 58D übertragen.
  • Der Adressengenerator 20 erzeugt die Adressen in einem Nuster,in dem die Daten niemals im selben Taktzyklus in dieselbe Speicherzelle des 32 x 8 Bitregisters 50 ein- und ausgelesen werden.
  • Wenn zusätzliche Daten vom Datenspeicher 22 empfangen werden, wird eine Zyklusüberspringschaltung (Zyklus-Skipping-Schaltung) 42 aktiviert. Spezifisch werden, wenn Daten extern vom Datenspeicher zu lesen sind, Daten in einem Datenhalteregister gesichert, das am H-Eingang der Registerdatei 50 vorhanden ist. Dieses Register sichert die Daten, die am Port vorliegen, während einer Zyklusüberspringsequenz; die Daten, die aus einem Lesevorgang aus dem Datenspeicher 22 während einer Zyklusüberspringoperation resultieren. Die Zyklusüberspringoperation hält die Bewegung der Daten bei deren Fortfahren mit ihrer normalen Pipeline-Struktur an, und zwar unmittelbar folgend auf den Zyklusüberspringvorgang und beim ersten Taktzyklus, bei dem Daten in den H-Eingang der Registerdatei 50 getaktet werden, wodurch sie (die Daten) konserviert werden.
  • Eine Austausch-Schaltung oder Swapping-Schaltung 54 tauscht die 16 geringerwertigen Datenbits und die sechzehn höchstwertigen Datenbits im bevorzugten Ausführungsbeispiel aus. Dies erleichtert das Bündeln und Entbündeln von 16 Bit ganzen Zahlen, wodurch die Verarbeitungsgeschwindigkeiten durch Vermeiden der Notwendigkeit einer derartigen Manipulation in den Addier- und Multipliziereinheiten gesteigert werden.
  • Gemäß FIG. 4 umfaßt das Register 50 mehrere kleinerer Teilregistereinrichtungen 62. In der bevorzugten 32 x 8 Bitausführung kann das Register in 32 1 x 8 Bit-Teilregistereinrichtungen 62 aufgeteilt werden. Selbstverständlich wird die Tiefe jeder Registereinrichtung 62 entsprechend dem zu empfangenden Datenumfang bzw. der zu empfangenden Datengröße selektiert. Falls n Bitdaten zu empfangen sind, dann würde es sich bei jeder Teilregistereinrichtung 62 um eine 1 x n Bits Einrichtung handeln.
  • Das 32 x 8 Bitregister 50 umfaßt auch eine Schalteinrichtung zur selektiven Verbindung jeder Teilregistereinrichtung 62 mit einem der Eingänge 40E bis 40I. Im bevorzugten Ausführungsbeispiel ist eine 8 oder n Bit-Multiplexereinrichtung 60 mit jedem Teilregister verbunden. Im dargestellten Ausführungsbeispiel mit fünf Eingängen ist jede Multiplexereinrichtung 60 ein 5:1-Multiplexer. Jedoch würde für m Eingänge ein m:1 Multiplexer ausgewählt werden.
  • Jede Multiplexereinrichtung 60 ist mit sämtlichen der Eingänge verbunden. Für fünf Eingänge, die acht Bitdaten empfangen, empfängt jede Multiplexereinrichtung 60 40 Eingänge und weist acht Ausgänge auf, einen für jede der Speicherzellen ihres entsprechenden Teilregisters. Jede der Multiplexereinrichtungen 60 wird so adressiert, daß sie die kanalmäßige Leitung von Daten vom entsprechenden der Eingänge zu seinem entsprechenden Teilregister 62 veranlaßt.
  • Für eine noch größere Geschwindigkeit werden die Daten in vier Bit Paketen verarbeitet. Diesbezüglich umfaßt jede Multiplexereinrichtung 60 zwei vier Bit Multiplexer 60A und 60B. Analog wird jedes der 1 x n Teilregister in n/4 Vier- bit Teilregister aufgeteilt, d.h. zwei Vierbit Teilregister im dargestellten 8 Bit Ausführungsbeispiel. Analog könnten 16 Bitdaten unter den 8 Bit Multiplexern und zwei 8 Bit Teilregister oder unter vier 4 Bit Multiplexern und vier 4 Bit Teilregistern aufgeteilt werden. Anlalog werden die vier 32:1 acht Bit Multtiplexer 52A bis 52B so gesteuert, daß sie Daten nur aus selektierten der Teilregister 62 auslesen. Wiederum werden die Multiplexereinrichtung 60 und Multiplexereinrichtung 52 koordiniert so gesteuert, daß die Multiplexer 60 niemals versuchen, in dasselbe Teilregister zu schreiben, aus denen die Multiplexer 52 versuchen, auszulesen.
  • Gemäß FIG. 5, auf die nun Bezug genommen wird, besteht der interne Adressengenerator 20 zum Erzeugen von Adressenstellen des Datenspeichers 22 aus zwei Integer-ALUs, einem Kombinationsbit-Umkehr-Barrelverschieber (bit reverserbarrel shifter) und sechzehn 16-Bit Registern (nicht dargestellt). Da der Adressengenerator 20 mit einem 100 Nanosekunden-Takt läuft, werden die Operationen des Adressengenerators 20 bei geradzahligen Zyklen initiiert. Jede Integer-ALU kann logische und binäre arithmetische Operationen ausführen. Die beiden ALUs im Adressengenerator ermöglichen die Durchführung zweier ALU-Operationen wahrend eines geradzahligen Zyklus (eines Zyklus mit geradzahliger Nummer). Der Bitumkehr-Barrelverschieber ermöglicht Bitumkehr- und/oder Barrelverschiebungsoperationen bezüglich der Adressengenerator-Register während desselben Zyklus wie die ALU-Operationen.
  • Die Verschiebungsopera;tion dreht die spezifizierten Daten um eine gegebene Anzahl von Stellen nach links. Die höherwertigen Bits, die herausgeschoben werden, werden zu den niederwertigen Bits bewegt. Eine Bitumkehr- und Barrelverschiebungsoperation kann gleichzeitig an der Registerdatei ausgeführt werden. Die Daten im Register werden zuerst verschoben und dann bitmäßig umgekehrt. Infolge des Vorhandenseins der beiden ALUs werden zwei Ausgangsadressen innerhalb eines Zyklus erzeugt. Da der Adressengenerator 20 auf einem 100 Nanosekunden-Takt arbeitet, werden diese Adressen nur bei geradzahligen Zyklen erzeugt.
  • Eine Registerdatei 24 mit mehreren Ports besteht aus zwei Anordnungen oder Bänken 72U und 72V aus zweiunddreißig 32-Bitregistern U1 bis U32 und V1 bis V32. Die Eingaben in die Registerdatei 24 kommen von funf Quellen. Zwei Eingabeports oder Eingabebausteine kommen von RAM-Ausgaberegistern 74G und 74D, die 32-Bitwörter von Datenspeichern 76A bis B während eines einzelnen Zyklus empfangen. Der höherwertige Bereich der 32-Bitwörter von den RAM-Ausgaberegistern 74C wird mit einem 1-Port jeder Bank 72U, 72V verbunden, und ein RAM-Ausgaberegister 74D für einen nie derwertigeren Teil wird mit dem H-Port jeder Bank 72U, 72V verbunden. Die H- und I-Portadressen werden von jeder Bank geteilt, es gibt jedoch separate Schreib-Enable-Steuerbits für jeden Pfad. So können die Daten im RAM-Ausgaberegister 74C und 74D sowohl zu zwei Registern derselben Bank (z.B. V1 und V6; wobei z.B. V1 Bank 72V in der ersten von 32 Registerpositionen bedeutet; es ist anzumerken) daß diese lediglich Beispiele darstellen und daß sie in keiner Weise als beschränkend auszulegen sind) als auch zu einem anderen Register in jeder der Banken 72U und 72V (beispielsweise U2 und V7) gehen. Die Daten vom RAM-Ausgaberegister 74C oder 74D gehen auch zum selben Register in jeder Bank (beispielsweise U8 und V8).
  • Die anderen drei Eingabeports oder Eingabebausteine E bis G jeder Registerdatei kommen vom Ausgang der Fiießpunktaddierer 26, 28 und vom Ausgang des Fließpunktmultiplizierers 30. Die beiden Registerbänke 72U und 72V teilen diese drei Eingabeport-Adressen. So können daher die Daten von den arithmetischen und Nultiplizier-Fließpunkteinheiten zu beiden Registern derselben Bank (beispielsweise V1 und V6) oder zum selben Register in jeder Bank (U2 & V2) gehen, jedoch nicht zu verschiedenen Registern in jeder Bank.
  • Drei der vier Ausgabeports A bis D jeder Bank der Registerdatei 24 werden separat adressiert. Beide Ausgabeports (Port B und A) der 72U-Bank sind mit den X und Y-Eingängen des Fließpunktaddierers 26 verbunden. Zwei Ausgabeports (Port A und B) der 72V-Bank sind mit dem X- und Y- Eingang des Fließpunktaddierers 28 verbunden. Der dritte Ausgabeport (Port C) der 72U-Bank ist mit dem X-Eingang des Fließpunktmultiplizierers 30 verbunden, und der dritte Ausgabeport (Port C) der 72V-Bank ist mit dem Y-Eingang des Fließpunktmultiplizierers 30 verbunden.
  • Das vorliegende Ausführungsbeispiel beinhaltet die zusätzliche Kapazität der Ausführung eines Register-Auf-Register-Transfers von Daten von einer der 32 Registerstellen zu einer anderen Registerstelle innerhalb der 32 Registerstellen.Speziell überträgt der D-Ausgabeport intern Daten von seinem Port zum I-Eingabeport, wodurch ermöglicht wird, daß der Inhalt einer selektierten Registerstelle der Regiserdatei 50 zu einer zweiten selektierten Registerstelle transferiert wird, und zwar ohne das Erfordernis der externen Rückzirkulierung der Daten über den Datenspeicher 22, die Fließpunktaddierer 26, 28 oder den Fließpunktmultiplizierer 30.
  • Der Ausgabeport (Port D) der Registerdatei 24, der mit dem Eingang des Datenspeichers 26 verbunden ist, enthält eine nicht dargestellte 16-Bit-Austausch- oder Swapping- Einrichtung. Die niederwertigen 16 Bits dieser an diesem Port präsentierten Daten können mit höherwertigen 16 Bits ausgetauscht werden. Die 1 6-Bit-Austauschfähigkeit wird für Integer-Bündel- und Entbündelungsvorgänge (packing and unpacking operations) verwendet werden, sowie zur Selektion der gewünschten 16 Bits, die zum Adressengenerator 20 zu übertragen sind.
  • Der interne Datenspeicher 22 ist ein 64k-um-64 Bitspeicher. Die Adressierung erfolgt auf 64 Bitgrenzen, und es werden 64 Bits alle 50 ns mit einem 100 ns Taktzyklus gelesen oder geschrieben. Zwei zusammenhängende 32 Bit- Datenwörter werden während eines Taktzyklus vom Datenspeicher gelesen oder in den Datenspeicher geschrieben. Eine Datenspeicherlesung überträgt über die RAM-Ausgaberegister 74A bis 74D Daten vom Datenspeicher 22 in die Register von der Registerdatei 24. Die beiden 32-Bitwörter, die vom Datenspeicher 22 aus gelesen werden, werden in den beiden Registern derselben Registerdateibank gespeichert oder in derselben Registeradresse beider Registerdateibänke. Eines oder beide Datenspeicherwörter wird bzw. werden zur Registerdatei 24 übertragen. Innerhalb eines einzelnen Statements wird nur eine Datenspeicherlesung initiiert, jedoch werden zwei zusammenhängende oder aufeinanderfolgende 32-Bit-Datenwörter abgerufen. Es können in einem einzelnen Statement bzw. einer einzelnen Anweisung sowohl die Hoch- als auch Niedrigtransferoperation von den RAM-Ausgaberegistern ausgeführt werden. Wie zuvor dargelegt, gehen die Daten in den RAM- Ausgaberegistern sowohl zu unterschiedlichen Registern in derselben Registerband (beispielsweise V2 und V6) als auch zu unterschiedlichen Registern in unterschiedlichen Bänken (beispielsweise U2 und U7) oder zum selben Register in unterschiedlichen Bänken (beispielsweise U8 und V8).
  • Es können von der Registerdatei 24 in den Datenspeicher 22 über den Port D und das RAM-Eingaberegister 82 Daten in den Datenspeicher 22 eingeschrieben werden. Sind die Daten einmal im RAM-Eingaberegister, werden sie beim nächsten Zyklus bei der spezifizierten Adresse in den Datenspeicher übertragen. Falls zwei Datenwörter in einem Zyklus in den Datenspeicher einzuschreiben sind, kommt das höherwertige Wort vom 72U-Bank-Register, das niederwertige Wort kommt vom 72V-Bank-Register und die Adressen jedes Registers sind dieselben (beispielsweise U3 und V3). Falls nur ein Datenwort in den Datenspeicher zu schreiben ist, kommen die Daten, die in die hohen 32-Bits vom RAM an der spezifizierten Adresse zu schreiben sind, von der 72U-Bank, und Daten, die in die niedrigen 32-Bits vom RAM an der spezifizierten Adresse zu schreiben sind, kommen von der 72V-Bank.
  • Eine Fließpunkteinheit 84 umfaßt die beiden arithmetischen logischen Fließpunkteinrichtungen 26, 28 und die Fließpunktmultipliziereinrichtung 30. Jede arithmetische logische Fließpunkteinrichtung 26, 28 führt auch 32 Bit Integeroperationen aus. Die X- und Y-Eingänge vom Fließpunktaddierer 26 werden separat zum Ausgang der 72V-Bank der Registerdatei ausgegeben "geported" , und die X- und Y-Eingänge vom Addierer 26 zum Ausgang der 72V-Bank. Der X-Eingang des Multiplizierers 30 wird zum Ausgang der 72U- Bank der Registerdatei 24 gegeben ("geported"), und der Y-Eingang des Multiplizierers 30 wird zum Ausgang der V-Bank der Registerdatei gegeben ("geported"). Der Ausgang jeder Fließpunkteinrichtung wird zum Eingang beider Bänke der Registerdatei gegeben ("geported"), wodurch es möglich wird, daß die Daten zur Registerdatei kreislaufartig zurückgeführt werden. Jede Fließpunkteinrichtung enthält Halteregister (nicht dargestellt). Es gibt zwei 32-Bit-Halteregister für Fließpunktwerte pro Einrichtung.
  • Daten, die entweder auf dem X-Eingang- oder Y-Eingang Zeilen jeder Einrichtung präsentiert werden, können in eines der Halteregister geschrieben werden oder können direkt auf einen der beiden Registereingänge der arithmetischen Einheit geleitet werden. Die in die arithmetische Einheit 84 geleiteten Daten überschreiben Daten, die sich bereits in den Halteregistern der Einrichtung befinden. Ist einmal die Fließpunkt- oder Integer-Operation initiiert, besteht eine Latenzzeit von vier Zyklen, bevor das Ergebnis im Ausgaberegister zur Verfügung steht.
  • Die Ergebnisse von den Fließpunktoperationen oder den Integer-Addieroperationen werden in die Registerdateibänke 72U, 72V geladen. Die Ausgabe jeder Fließpunkteinrichtung kann zu einer (oder beiden) registerdateibänken übertragen werden. Die Fließpunktaddiereinrichtungen haben ein addiertes oder hinzugefügtes Merkmal dahingehend, daß sobald die resultierenden Daten zur Verfügung stehen, diese zusätzlich dazu, daß sie in die Registerdatei geladen werden, zurück zum Eingang der arithmetischen Einheit gespeist werden können. Die interne Feedback- oder Rückkopplungsfähigkeit ermöglicht eine Akkumulation auf dem Chip und verkürzt daher die Latenzzeit sukzessiver Fließpunktaddieroperationen.
  • Die Sequenzfolge der Ereignisse, die in dem Feldrechner 18 auftreten, wird durch einen Schaltkartensteuerabschnitt 90 gesteuert. Der Schaltkartensteuerabschnitt wird mit einem Mikrocode-System programmiert, um die oben diskutierten Operationen zu realisieren.
  • Sind einmal auf den akkumulierten Daten ausreichende Operationen vorab ausgeführt, werden diese Daten wieder in den Datenspeicher 22 (FIG. 2) eingegeben und werden dann auf den Rückprojektionsabschnitt der Bildrekonstruktion übergeleitet.
  • Die Erfindung wurde unter Bezugnahme auf das bevorzugte Ausführungsbeispiel erläutert. Offensichtlich werden Anderen beim Lesen und Verstehen der vorausgehenden detaillierten Beschreibung Modifikationen und Änderungen dazu einfallen. Die Erfindung ist so zu verstehen, daß sie sämtliche derartiger Anderungen und Modifikationen infoern umfaßt, als sie innerhalb des Schutzumfangs der beiliegenden Ansprüche liegen.

Claims (14)

1. Feldrechner, aufweisend: eine interne Datenspeichereinrichtung (22), die digitale Datenwerte bei adressierten Speicherstellen akzeptiert und speichert und Datenwerte über ein Ausgaberegister (74A bis 74D) von den adressierten Speicherstellen ausgibt; eine Adressenerzeugungseinrichtung (20), die Adressen für die interne Datenspeichereinrichtung (22) erzeugt, wobei die Datenadressen die Speicherstellen anzeigen, in denen die Datenwerte gespeichert werden und aus denen die Datenwerte ausgegeben werden; eine Registerdatei (24), die direkt Datenwerte akzeptiert, die von den Speicherstellen der internen Speichereinrichtung, die durch die Adressenerzeugungseinrichtung (20) adressiert sind, ausgegeben werden; und eine arithmetische Einrichtung (26, 28, 30), die die von der Registerdatei (24) ausgegebenen Datenwerte mathematischen Operationen unterzieht, wobei die arithmetische Einrichtung (26, 28, 30) betriebswirksam mit der Registerdatei (24) zur Rückleitung modifizierter Datenwerte zu dieser verbunden ist.
2. Rechner nach Anspruch 1, in welchem die arithmetische Einrichtung (26, 28, 30) eine Gleitpunktaddier-(26, 28) und Multiplizier-(30) Einheit umfaßt.
3. Rechner nach Anspruch 1 oder Anspruch 2, ferner aufweisend eine Takteinrichtung zur taktmäßigen Steuerung der digitalen Datenwerte zwischen der internen Datenspeichereinrichtung (22), der Registerdatei (24) und der arithmetischen Einrichtung (26, 28, 30) auf einen gemeinsamen Taktimpuls.
4. Rechner nach einem der vorhergehenden Ansprüche, in welchem die Registerdatei (24) zumindest zwei Register (72U, 72V) umfaßt, wobei jedes Register (72U, 72V) mehrere Ausgabebausteine, die mit den Eingabebausteinen der arithmetischen Einrichtung (26, 28, 30) und der internen Datenspeichereinrichtung (22) verschaltet ist, und mehrere Eingabebausteine aufweist, die mit den Ausgängen der arithmetischen Einrichtung (26, 28, 30) und der internen Datenspeichereinrichtung (22) verbunden sind.
5. Rechner nach Anspruch 4, in welchem die interne Datenspeichereinrichtung (22) eine Wortspeichereinrichtung (76A, 76B) aufweist, die Wörter digitaler Datenwerte von der Datenakquisitionseinrichtung (B) empfängt, und zumindest zwei Ausgaberegistereinrichtungen (74C, 74D) aufweist, wobei eine Registereinrichtung (74C) die höchstwertigen Bits jedes Worts und die andere Registereinrichtung (74D) die niedrigstwertigen Bits jedes Worts empfangen, wobei die Registereinrichtungen (74G, 74D) je mit verschiedenen Eingängen der Registerdatei (24) verbunden sind.
6. Computertomographie-Scanner, aufweisend: eine Quelle durchdringender Strahlung (10), die eine Untersuchungsregion (12) bestrahlt; eine Detektoranordnung (14), die Strahlung empfängt, die die Untersuchungsregion (12) durchquert hat, und die Ausgangssignale, die eine Anzeige hierfür liefern, erzeugt; eine Datenakquisitions- und Verarbeitungseinrichtung (B, C), die die Detektorausgangssignale empfängt und n-Bit digitale Datenwerte hieraus erzeugt; einen Feldrechner (18) zum Verarbeiten der digitalen Datenwerte; und Einrichtungen (D, E, F) zur Rekonstruktion von Datenwerten, die von der Registerdatei empfangen werden, zu einer Bilddarstellung; dadurch gekennzeichnet, daß der Feldrechner einen Rechner nach einem der Ansprüche 1 bis 5 umfaßt.
7. Verfahren zur Rekonstruktion einer Bilddarstellung aus Strahlungsintensitätssignalen einer CT-Vorrichtung, welches Verfahren umfaßt: Organisieren der Röntgenstrahl-Intensitätsdaten zu Zeilen digitaler Datenwerte; Empfangen und Speichern einer Datenwertzeile in einer internen Datenspeichereinrichtung (22); Übertragen von Abschnitten jeder Datenzeile über ein Ausgaberegister (74A-74D) der internen Datenspeichereinrichtung (22) direkt in eine Registerdatei- Speichereinrichtung (24); Unterziehen der Datenwerte von der Registerdatei-Speichereinrichtung (24) durch eine arithmetische Einrichtung (26, 28, 30) arithmetischen Operationen; Takten eines ersten Abschnitts der Datenwerte einer Datenzeile in der Registerdatei-Speichereinrichtung (24) zurück zur internen Datenspeichereinrichtung (22) und Verarbeiten der Datenwerte eines weiteren Abschnitts der Datenzeile mit den arithmetischen Operationen; Rückführung arithmetisch verarbeiteter Datenwerte zur Registerdatei-Speichereinrichtung (24); und Rückprojektion von Datenwerten von der internen Datenspeichereinrichtung in eine Bilddarstellung.
8. Verfahren nach Anspruch 7, in welchem die Datenwerte zwischen der Registerdatei-Speichereinrichtung (24) und der arithmetischen Einrichtung (26, 28, 39) mehrere Male, bevor die mathematisch verarbeiteten Datenwerte zur internen Datenspeichereinrichtung (22) übertragen und rückprojiziert werden, kreislaufartig rückgeführt werden.
9. Verfahren nach Anspruch 7 oder Anspruch 8, ferner umfassend die Erzeugung von Adressen von Stellen für Datenwerte, die zur Registerdatei-Speichereinrichtung (24) übertragen werden, und für Datenwerte, die von der Registerdatei-Speichereinrichtung (24) zur arithmetischen Einrichtung (26, 28, 30) übertragen werden.
10. Verfahren nach einem der Ansprüche 7 bis 9, in welchem Datenwerte auf einem gemeinsamen Taktimpuls von der internen Speichereinrichtung (22) zur Registerdatei-Speichereinrichtung (24), von der Registerdatei-Speichereinrichtung (24) zur arithmetischen Einrichtung (26, 28, 30) und zur internen Speichereinrichtung (22) und von der arithmetischen Einrichtung (26, 28, 30) zur Registerdatei-Speichereinrichtung (24) getaktet werden.
11. Verfahren nach einem der Ansprüche 7 bis 10, in welchem der Schritt der Übertragung von Daten von der internen Datenspeichereinrichtung (22) zur Registerdatei-Speichereinrichtung (24) die Übertragung der höchstwertigen Bits jedes Worts zu einer Ausgaberegistereinrichtung (74C) und die Ubertragung von niedrigstwertigen Bits zu einer anderen Ausgaberegistereinrichtung (74D) und das selektive Übertragen der niedrigst- und höchstwertigen Bits zur Registerdatei-Speichereinrichtung (24) umfaßt.
12. Verfahren nach Anspruch 11, in welchem die Registerdatei-Speichereinrichtung (24) zumindest zwei Register (72U, 72V) aufweist und ferner umfassend die Übertragung der höchstwertigen Bits und der niedrigstwertigen Bits, eines zum jeweils anderen.
13. Verfahren nach Anspruch 12, in welchem der arithmetische Verarbeitungsschritt die Ausführung separater arithmetischer Operationen bezüglich der niedrigst- und höchstwertigen Bits umfaßt.
14. Verfahren nach Anspruch 13, ferner umfassend die Erzeugung von Adressen von Stellen für Datenwerte, die zur Registerdaten-Speichereinrichtung (24) übertragen werden, und für Datenwerte, die von der Registerdatei-Speichereinrichtung (24) zu der arithmetischen Einrichtung (26, 28, 30) übertragen werden.
DE68925519T 1988-11-25 1989-11-22 Feldrechner für Bildverfahren und Geräte Expired - Fee Related DE68925519T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/276,142 US4975843A (en) 1988-11-25 1988-11-25 Parallel array processor with interconnected functions for image processing

Publications (2)

Publication Number Publication Date
DE68925519D1 DE68925519D1 (de) 1996-03-07
DE68925519T2 true DE68925519T2 (de) 1996-05-30

Family

ID=23055361

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68925519T Expired - Fee Related DE68925519T2 (de) 1988-11-25 1989-11-22 Feldrechner für Bildverfahren und Geräte

Country Status (4)

Country Link
US (1) US4975843A (de)
EP (1) EP0370792B1 (de)
JP (1) JP2984842B2 (de)
DE (1) DE68925519T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218710A (en) * 1989-06-19 1993-06-08 Pioneer Electronic Corporation Audio signal processing system having independent and distinct data buses for concurrently transferring audio signal data to provide acoustic control
US5331552A (en) * 1992-07-14 1994-07-19 General Electric Company Method and apparatus for projecting diagnostic images from non-isotropic volumed diagnostic data
US5420786A (en) * 1993-04-05 1995-05-30 Ims America, Ltd. Method of estimating product distribution
EP0875031B1 (de) * 1996-01-15 2001-06-20 Infineon Technologies AG Prozessor zur bildverarbeitung
JP3523405B2 (ja) 1996-01-26 2004-04-26 株式会社日立製作所 荷電ビーム処理によるパターン形成方法及び荷電ビーム処理装置
JP2001134539A (ja) * 1999-11-01 2001-05-18 Sony Computer Entertainment Inc 面計算機及び面計算機における演算処理方法
JP4557414B2 (ja) * 2000-12-06 2010-10-06 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー X線ct装置
US20050065263A1 (en) * 2003-09-22 2005-03-24 Chung James Y.J. Polycarbonate composition
US20070239970A1 (en) * 2006-04-06 2007-10-11 I-Tao Liao Apparatus For Cooperative Sharing Of Operand Access Port Of A Banked Register File
US10318308B2 (en) * 2012-10-31 2019-06-11 Mobileye Vision Technologies Ltd. Arithmetic logic unit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
US4298936A (en) * 1979-11-15 1981-11-03 Analogic Corporation Array Processor
US4504909A (en) * 1982-09-30 1985-03-12 General Electric Company Method of using an array processor for real time processing
US4494141A (en) * 1982-09-30 1985-01-15 General Electric Company Dual purpose array processor for a CT scanner
US4745544A (en) * 1985-12-12 1988-05-17 Texas Instruments Incorporated Master/slave sequencing processor with forced I/O
FR2606186B1 (fr) * 1986-10-31 1991-11-29 Thomson Csf Processeur de calcul comportant une pluralite d'etages relies en serie, calculateur et procede de calcul mettant en oeuvre ledit procede

Also Published As

Publication number Publication date
JPH02244386A (ja) 1990-09-28
EP0370792A3 (de) 1992-03-04
EP0370792B1 (de) 1996-01-24
JP2984842B2 (ja) 1999-11-29
EP0370792A2 (de) 1990-05-30
DE68925519D1 (de) 1996-03-07
US4975843A (en) 1990-12-04

Similar Documents

Publication Publication Date Title
EP0004258B1 (de) Computer-Tomograph zur Durchstrahlung eines Körpers
DE3873059T2 (de) Modulares datenfeld mit der faehigkeit, von den daten abhaengende prozesse auszufuehren.
DE3779718T2 (de) Datendarstellung in aequivalenter zeit.
DE3784050T2 (de) Ein paralleler datenprozessor.
DE3886038T2 (de) Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält.
DE68916167T2 (de) Adressenspeichersperrung mit priorität für einen gemeinsamen speicher.
DE2357003C2 (de) Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage
DE68926043T2 (de) Mehrprozessor-Computersystem
DE68925519T2 (de) Feldrechner für Bildverfahren und Geräte
DE2654065C2 (de)
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher
DE1302494B (de)
DE1549476A1 (de) Anordnung zur Ausfuehrung von Divisionen
DE3685728T2 (de) Geraet zur bilddatenverarbeitung.
DE69818853T2 (de) Verfahren und Vorrichtung zur Bilddrehung
DE69331027T2 (de) Drehungsschaltung für numerische Bilder
DE2919776A1 (de) Geraet und verfahren zum aufbau von darstellungen von teilen des koerpers
DE69225825T2 (de) Röntgenstrahl-Computertomograph
DE69320814T2 (de) Vorrichtung zum kombinieren von detektorausgängen eines strahlungsabtastsystems
DE19929585A1 (de) Schnelle und wirksame Multiprozessor-Implementierung für eine schnelle Kegelstrahl-Bildrekonstruktion
DE69125815T2 (de) Anordnung und Verfahren zu einer variablen Datenzuweisung
DE69626953T2 (de) Bildverarbeitungssystem und Bildverarbeitungsverfahren
US5003475A (en) Medical imaging system including means to increase data transfer speeds by simultaneously transferring data from latches to registers and from registers to latches
DE2842518A1 (de) Tomografische vorrichtung und verwendung dieser vorrichtung
DE3687277T2 (de) Systemspeicher fuer reduktionsprozessor zur durchfuehrung von programmen, die als binaere graphen gespeichert sind und die anwendungssprachen-kodes ohne variable verwenden.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: PATENTANWAELTE REICHEL UND REICHEL, 60322 FRANKFURT

8327 Change in the person/name/address of the patent owner

Owner name: PHILIPS MEDICAL SYSTEMS (CLEVELAND), INC., CLEVELA

8339 Ceased/non-payment of the annual fee