DE102006045903A1 - Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Prozessoranordnung, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten - Google Patents
Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Prozessoranordnung, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten Download PDFInfo
- Publication number
- DE102006045903A1 DE102006045903A1 DE102006045903A DE102006045903A DE102006045903A1 DE 102006045903 A1 DE102006045903 A1 DE 102006045903A1 DE 102006045903 A DE102006045903 A DE 102006045903A DE 102006045903 A DE102006045903 A DE 102006045903A DE 102006045903 A1 DE102006045903 A1 DE 102006045903A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- serial
- memory
- interface
- processor
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/107—Serial-parallel conversion of data or prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
- Die Erfindung betrifft eine Kopplungsvorrichtung zum Koppeln eines Speichers, der einen seriellen Datenausgang hat, mit einem Prozessor, der einen parallelen Dateneingang hat, eine Prozessoranordnung, eine Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten.
- Bei einer Vielzahl von Anordnungen, die einen Prozessor aufweisen, ist es erforderlich, daß Daten zwischen einem außerhalb des Prozessors angeordneten Speicher und dem Prozessor übertragen werden müssen. Dabei kann der Prozessor eine parallele Datenschnittstelle haben und der Speicher eine serielle Datenschnittstelle. Es ist wünschenswert, daß solche Anordnungen leistungsfähig und kostengünstig sind.
- Gemäß einem Ausführungsbeispiel der Erfindung wird eine Kopplungsvorrichtung zum Koppeln eines Speichers, der einen seriellen Datenausgang hat, mit einem Prozessor, der einen parallelen Dateneingang hat, bereitgestellt. Die Kopplungsvorrichtung weist auf: eine serielle Datenschnittstelle eingerichtet zum Empfangen von Daten, eine parallele Datenschnittstelle eingerichtet zum Senden von Daten, und einen Cache-Speicher, der mit der seriellen Datenschnittstelle und der parallelen Datenschnittstelle verbunden ist und der eingerichtet ist, Daten zu speichern, welche die serielle Datenschnittstelle empfangen hat, und gespeicherte Daten an die parallele Datenschnittstelle auszugeben.
-
1 zeigt eine Datenverarbeitungsanordnung mit einer Kopplungsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung. -
2 zeigt eine Kopplungsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung. - Ausführungsbeispiele, die nachfolgend in Zusammenhang mit der Kopplungsvorrichtung beschrieben sind, gelten sinngemäß auch für die Verfahren zum Übertragen von Daten und umgekehrt.
- Gemäß mehreren Ausführungsbeispielen der Erfindung ist die parallele Datenschnittstelle zum Empfangen von Daten eingerichtet.
- Gemäß einem Ausführungsbeispiel der Erfindung ist die parallele Datenschnittstelle zum Empfangen von Instruktionsdaten eingerichtet, die spezifizieren, daß bzw. welche Daten von der parallelen Datenschnittstelle gesendet werden sollen.
- Gemäß einem Ausführungsbeispiel der Erfindung weist die parallele Datenschnittstelle einen parallelen Daten-Bus und einen parallelen Adress-Bus auf.
- Gemäß mehreren Ausführungsbeispielen der Erfindung ist die serielle Datenschnittstelle zum Senden von Daten eingerichtet.
- Gemäß einem Ausführungsbeispiel der Erfindung kann die serielle Datenschnittstelle zum Senden von Instruktionsdaten eingerichtet, die spezifizieren, daß bzw. welche Daten aus einem Speicher ausgelesen werden sollen und von der seriellen Datenschnittstelle empfangen werden sollen.
- Gemäß einem Ausführungsbeispiel der Erfindung ist der Cache-Speicher eingerichtet, um zu prüfen, ob mittels von der parallelen Datenschnittstelle empfangener Instruktionsdaten angeforderte Daten im Cache-Speicher gespeichert sind, und für den Fall, daß die angeforderten Daten im Cache-Speicher gespeichert sind, sie unmittelbar an die parallele Datenschnittstelle auszugeben, und für den Fall, daß die angeforderten Daten nicht im Cache-Speicher gespeichert sind, die serielle Datenschnittstelle zu veranlassen, Instruktionsdaten zu senden, die spezifizieren, daß die angeforderten Daten aus einem Speicher ausgelesen werden sollen und von der seriellen Datenschnittstelle empfangen werden sollen.
- Gemäß einem Ausführungsbeispiel der Erfindung ist der Cache-Speicher eingerichtet, für den Fall, daß die angeforderten Daten nicht im Cache-Speicher gespeichert sind, die serielle Datenschnittstelle zu veranlassen, Instruktionsdaten zu senden, die spezifizieren, daß eine Datenmenge, welche größer als die angeforderten Daten ist und welche die angeforderten Daten enthält, aus einem Speicher ausgelesen werden soll und von der seriellen Datenschnittstelle empfangen werden soll.
- Gemäß einem Ausführungsbeispiel der Erfindung ist die Datenmenge, welche größer als die angeforderten Daten ist und welche die angeforderten Daten enthält, mindestens so groß sein, daß sie eine Speicherzeile des Cache-Speichers füllen kann.
- Gemäß einem Ausführungsbeispiel der Erfindung weist der Cache-Speicher einen Cache-Datenbereich und eine Cache-Steuerlogik auf. In dem Cache-Datenbereich können Daten gespeichert werden. Die Daten können Nutzdaten enthalten und Adressen enthalten, welche die Nutzdaten kennzeichnen. Die Cache-Steuerlogik ist eingerichtet, in Reaktion auf eine erhaltene Adresse zu prüfen, ob diese Adresse bzw. das zugehörige Nutzdatum im Cache-Datenbereich gespeichert ist, und in diesem Fall das Nutzdatum aus dem Cache-Datenbereich auszulesen und weiterzugeben, oder andernfalls das Nutzdatum zum Einlesen in den Cache anzufordern. Der Cache-Speicher kann dazu dienen, Daten kurzfristig zu speichern und einen schnellen Zugriff auf diese Daten zu ermöglichen.
- Gemäß einem Ausführungsbeispiel der Erfindung enthalten die angeforderten Daten Instruktionscode, der von einem Prozessor, der eine parallele Datenschnittstelle hat, mittels dieser empfangen werden soll und von dem Prozessor unmittelbar ausgeführt werden soll.
- Gemäß mehreren Ausführungsbeispielen der Erfindung weist die Kopplungsvorrichtung einen Pufferspeicher auf, der mit der seriellen Datenschnittstelle und mit der parallelen Datenschnittstelle verbunden ist, wobei der Pufferspeicher eingerichtet ist, Daten zu speichern, welche die serielle Datenschnittstelle empfangen hat, und in ihm gespeicherte Daten an die parallele Datenschnittstelle auszugeben.
- Gemäß mehreren Ausführungsbeispielen der Erfindung weist der Pufferspeicher einen Puffer-Datenbereich und eine Puffer-Steuerlogik auf. Gemäß Ausführungsbeispielen der Erfindung ist die Kopplungsvorrichtung eingerichtet, Daten, welche die serielle Datenschnittstelle empfangen hat, unter Umgehung des Cache-Datenbereichs oder unter Umgehung des Cache-Speichers in dem Pufferspeicher zu speichern und sie kann in Zusammenhang damit oder unabhängig davon eingerichtet sein, die in dem Pufferspeicher gespeicherten Daten unter Umgehung des Cache-Datenbereichs oder unter Umgehung des Cache-Speichers an die parallele Datenschnittstelle auszugeben.
- Gemäß einem Ausführungsbeispiel der Erfindung sind eine oder mehrere Steuerleitungen vorhanden sein, die den Pufferspeicher mit einer externen Einrichtung koppeln können. Die externe Einrichtung kann dabei zur Übertragung von Daten in parallelem Format an die parallele Datenschnittstelle angeschlossen sein.
- Gemäß einem Ausführungsbeispiel der Erfindung ist der Pufferspeicher eingerichtet, Daten zu speichern, welche die parallele Datenschnittstelle empfangen hat, und in ihm gespeicherte Daten an die serielle Datenschnittstelle auszugeben.
- Gemäß einem Ausführungsbeispiel der Erfindung ist der Cache-Speicher eingerichtet, Daten entgegenzunehmen, welche die parallele Datenschnittstelle empfangen hat, und die entgegengenommenen Daten an die serielle Datenschnittstelle auszugeben.
- Gemäß einem Ausführungsbeispiel der Erfindung weist der Cache-Speicher einen Speicherbereich zur Zwischenspeicherung der entgegengenommenen Daten auf.
- Gemäß einem Ausführungsbeispiel der Erfindung ist die Cache-Steuerlogik eingerichtet, Daten entgegenzunehmen, welche die parallele Datenschnittstelle empfangen hat, und die entgegengenommenen Daten direkt an die serielle Datenschnittstelle auszugeben.
- Gemäß mehreren Ausführungsbeispielen der Erfindung weist eine Prozessoranordnung eine Kopplungsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung und einen Prozessor, der eine parallele Datenschnittstelle hat, die mit der parallelen Datenschnittstelle der Kopplungsvorrichtung gekoppelt ist, auf.
- Gemäß einem Ausführungsbeispiel der Erfindung ist der Prozessor ein Prozessor eines Kommunikationsendgeräts.
- Gemäß einem Ausführungsbeispiel der Erfindung ist der Prozessor ein Prozessor eines Mobilfunktelefons.
- Gemäß einem Ausführungsbeispiel der Erfindung ist die Prozessoranordnung in einem integrierten Schaltkreis enthalten.
- Gemäß mehreren Ausführungsbeispielen der Erfindung weist eine Datenverarbeitungsanordnung eine Prozessoranordnung gemäß einem Ausführungsbeispiel der Erfindung und einen Speicher, der eine serielle Datenschnittstelle hat, die mit der seriellen Datenschnittstelle der Kopplungsvorrichtung gekoppelt ist, auf.
- Gemäß einem Ausführungsbeispiel der Erfindung ist der Speicher ein serieller Flash-Speicher sein.
- Gemäß einem Ausführungsbeispiel der Erfindung ist die Datenverarbeitungsanordnung in Form von Schaltkreisen auf einem gemeinsamen Substrat ausgeführt.
- Gemäß einem Ausführungsbeispiel der Erfindung wird ein Verfahren bereitgestellt zum Übertragen von Daten von einem Speicher, der einen seriellen Datenausgang hat, zu einem Prozessor, der einen parallelen Dateneingang hat, aufweisend: Die Daten werden in seriellem Format von dem Speicher zu einem Cache-Speicher übertragen, die übertragenen Daten werden in dem Cache-Speicher gespeichert, die gespeicherten Daten werden aus dem Cache-Speicher ausgelesen, und die ausgelesenen Daten werden in parallelem Format zu dem Prozessor übertragen.
- Gemäß einem Ausführungsbeispiel der Erfindung werden die zu übertragenden Daten von dem Prozessor angefordert.
- Gemäß einem Ausführungsbeispiel der Erfindung weist das Verfahren zum Übertragen von Daten von einem Speicher, der einen seriellen Datenausgang hat, zu einem Prozessor, der einen parallelen Dateneingang hat, auf: Es wird geprüft, ob die von dem Prozessor angeforderten Daten in dem Cache- Speicher gespeichert sind. Falls die angeforderten Daten in dem Cache-Speicher gespeichert sind, werden sie aus dem Cache-Speicher ausgelesen und unmittelbar zu dem Prozessor übertragen. Falls die angeforderten Daten nicht in dem Cache-Speicher gespeichert sind, werden sie von dem Speicher angefordert.
- Gemäß einem Ausführungsbeispiel der Erfindung enthalten die angeforderten Daten Instruktionscode, der von dem Prozessor unmittelbar ausgeführt werden soll.
- Gemäß einem Ausführungsbeispiel der Erfindung wird ein Verfahren bereitgestellt zum Übertragen von Daten von einem Prozessor, der einen parallelen Datenausgang hat, zu einem Speicher, der einen seriellen Dateneingang hat, aufweisend: Die Daten werden in parallelem Format von dem Prozessor zu einem Cache-Speicher übertragen, die übertragenen Daten werden von dem Cache-Speicher entgegengenommen, die entgegengenommenen Daten werden von dem Cache-Speicher ausgegeben, die ausgegebenen Daten werden in seriellem Format zu dem Speicher übertragen.
- Bezugnehmend auf
1 wird eine Datenverarbeitungsanordnung mit einer Kopplungsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung nachfolgend näher beschrieben. Die in dem Blockschaltbild eingezeichneten Blöcke symbolisieren jeweils Funktions- bzw. Schaltungsblöcke, die eingezeichneten Doppelpfeile symbolisieren jeweils Verbindungen oder Kopplungen zwischen den verschiedenen Blöcken. -
1 zeigt eine Datenverarbeitungsanordnung100 mit einem seriellen Flash-Speicher101 , in der Figur beschriftet mit „Serial Flash"102 (serielles Flash), einer Kopplungsvorrichtung103 und einem Prozessor106 , in der Figur gekennzeichnet durch die Beschriftung „Core"107 (Prozessor, Prozessorkernel). Innerhalb der Kopplungsvorrichtung103 ist ein Cache-Speicher104 mit der Beschriftung „Cache"105 dargestellt. Zwischen dem seriellen Flash-Speicher101 und der Kopplungsvorrichtung103 besteht eine als Doppelpfeil dargestellte serielle Datenverbindung108 . Durch eine gestrichelte Trennlinie109 zwischen dem Speicher und der Kopplungsvorrichtung und ihre Beschriftung „Serial Interface"110 (serielle Schnittstelle) wird symbolisiert, daß der serielle Flash-Speicher101 und die Kopplungsvorrichtung103 mittels serieller Datenschnittstellen gekoppelt sind. Die Kopplungsvorrichtung103 und der Prozessor106 sind durch einen als Doppelpfeil dargestellten parallelen Adress-Bus111 verbunden. Außerdem sind sie durch einen als weiteren Doppelpfeil dargestellten parallelen Daten-Bus112 verbunden. Durch die gestrichelte Trennlinie113 zwischen der Kopplungsvorrichtung und dem Prozessor sowie die Beschriftung „Parallel Interface"114 (parallele Schnittstelle) wird symbolisiert, daß die Kopplungsvorrichtung103 und der Prozessor106 mittels paralleler Datenschnittstellen gekoppelt sind. - Die Kopplungsvorrichtung
103 kann als Umsetzungseinrichtung oder Brücke verstanden werden, welche das bei der seriellen Datenschnittstelle des Speichers benutzte serielle Datenformat in das bei der parallelen Datenschnittstelle des Prozessors benutzte parallele Datenformat umsetzt und umgekehrt. Aufgrund des vorhandenen Cache-Speichers104 weist diese Seriell-Parallel-Brücke zusätzlich Cache-Fähigkeiten auf. Dadurch werden der mögliche Datendurchsatz durch die Kopplungsvorrichtung103 und somit die mögliche Verarbeitungsgeschwindigkeit im Prozessor106 erhöht, wenn beispielsweise eine von dem Prozessor ausgeführte Software Applikation Daten aus dem seriellen Flash-Speicher101 benötigt oder der Prozessor zur Ausführung einer Applikation einen Instruktionscode benötigt, der von dem seriellen Flash-Speicher101 zum Prozessor106 übertragen werden muß, bevor er von dem Prozessor ausgeführt werden kann. Mit der beschriebenen Anordnung wird eine sogenannte „Code execution in place” ermöglicht, d.h. sinngemäß übersetzt eine direkte, unmittelbare Ausführung von aus dem Speicher in den Prozessor geladenen Instruktionscodes. Unmittelbare Ausführung von Instruktionscode bedeutet, daß der Code nicht weiter kopiert werden muß, beispielsweise in einen weiteren Speicher mit schneller paralleler Zugriffsmöglichkeit, bevor er von dem Prozessor ausgeführt werden kann. - Die Kopplungsvorrichtung
103 wickelt das Protokoll für die Ansteuerung und die Kommunikation des seriellen Flash-Speichers101 und des Cache-Speichers104 ab. Der Arbeitsablauf, beispielsweise zum Laden von auszuführendem Instruktionscode in den Prozessor, ist folgender: Über die parallele Schnittstelle fragt der Prozessor ein Datenwort des Instruktionscodes mit spezifischer Adresse zur Ausführung an. Die angefragte spezifische Adresse wird über den parallelen Adress-Bus111 an die Kopplungsvorrichtung103 übertragen. Falls die angefragte Adresse104 im Cache-Speicher gespeichert ist (genannt „Cache-Hit"), wird der dazugehörige, in diesem Fall ebenfalls im Cache-Speicher gespeicherte Dateninhalt über den parallelen Daten-Bus112 an den Prozessor übertragen. Falls die angefragte Adresse nicht im Cache-Speicher gespeichert ist (genannt „Cache-Miss"), wird über die serielle Datenverbindung108 auf den Inhalt des seriellen Flash-Speichers101 zugegriffen. Mehrere Datenworte, welche das angefragte Datenwort enthalten – allgemein ausgedrückt: eine größere Menge an Daten, welche den angefragten Instruktionscode oder die angefragten Daten als Anteil enthalten –, werden über die serielle Datenverbindung108 übertragen, und es wird beispielsweise eine Speicherzeile des Cache-Speichers104 komplett neu gefüllt. Das angefragte Datenwort wird in diesem Fall zuerst in seriellem Format vom Speicher zur Kopplungsvorrichtung übertragen, und dann im parallelen Datenformat von der Kopplungsvorrichtung zum Prozessor übertragen. - Die Kopplungsvorrichtung
103 und der Prozessor106 können gemeinsam in einem einzigen integrierten Schaltkreis untergebracht sein. Sie können durch parallele Daten-Bus-Strukturen verbunden sein. Dies stellt eine leistungsfähige, effiziente und kostengünstige Anordnung dar. Der serielle Flash-Speicher101 kann als externer Speicher an den integrierten Schaltkreis angeschlossen werden, wobei der Speicher und der integrierte Schaltkreis beispielsweise auf einer gemeinsamen Leiterplatte untergebracht sein können. Die Verwendung eines seriellen Flash-Speichers in einer solchen Anordnung anstelle eines parallelen Flash-Speichers ermöglicht es, die Komplexität und die Kosten der Anordnung zu reduzieren. Durch einen seriellen externen Speicher anstelle eines parallelen externen Speichers werden unter anderem die Anzahl der benötigten Verbindungsanschlüsse des integrierten Schaltkreises und die Komplexität der Verbindungsleitungen auf der Leiterplatte reduziert. Führt der Prozessor106 eine Software-Applikation aus, deren Instruktionscode in dem externen Speicher gespeichert ist, und fordert ein bestimmtes benötigtes Datenwort des Codes an, so kann dieses häufig aus dem Cache-Speicher104 entnommen und dem Prozessor sehr schnell übergeben werden. Es wird eine direkte, unmittelbare Ausführung des Instruktionscodes ermöglicht. Es ist nicht erforderlich, den Instruktionscode einer Applikation vor deren Ausführung aus dem seriellen externen Speicher auszulesen und in einem zusätzlichen Speicher für den schnellen Zugriff während der Ausführung der Applikation zwischenzuspeichern. Der Prozessor benötigt für diesen Zweck keine serielle Schnittstelle, da kein direkter Zugriff des Prozessors auf den seriellen Flash-Speicher101 erforderlich ist. Das Speicher-Interface des Prozessors muss nicht um die Unterstützung eines seriellen Interface ergänzt werden. Das üblicherweise vorhandene parallele Interface reicht aus. Durch die Kopplungsvorrichtung103 wird die Leistungsfähigkeit einer Anordnung mit einem Prozessor und einem externen seriellen Speicher erhöht, beispielsweise in Bezug auf das Echtzeitverhalten von Software-Applikationen. - Die in
1 gezeigte Datenverarbeitungsanordnung eignet sich zur Verwendung in einem Kommunikationsendgerät, beispielsweise einem Mobilfunktelefon. - Bezugnehmend auf
2 wird eine Kopplungsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung nachfolgend näher beschrieben. Die in dem Blockschaltbild eingezeichneten Blöcke symbolisieren jeweils Funktions- bzw. Schaltungsblöcke, die eingezeichneten Doppelpfeile symbolisieren jeweils Verbindungen oder Kopplungen zwischen den verschiedenen Blöcken. -
2 zeigt eine Kopplungsvorrichtung201 ähnlich der Kopplungsvorrichtung103 aus1 , jedoch mit mehr dargestellten Details. Beispielsweise hat sie einen Cache-Datenbereich202 und eine Cache-Steuerlogik203 , die miteinander gekoppelt sind, was durch den Doppelpfeil204 symbolisiert wird. Der Cache-Datenbereich202 und die Cache-Steuerlogik203 können als ein Cache-Speicher von ähnlicher Art wie der Cache-Speicher104 in1 aufgefaßt werden. - Die Kopplungsvorrichtung
201 hat weiterhin eine erste Schnittstellensteuerung205 , die mit einer parallelen Datenverbindung206 zum Anschluß externer Einheiten, die ein paralleles Datenformat zur Datenübertragung verwenden, verbunden ist. Die erste Schnittstellensteuerung205 ist gekoppelt mit der Cache-Steuerlogik203 (Doppelpfeil207 ). Die erste Schnittstellensteuerung205 und die parallele Datenverbindung206 können aufgefaßt werden als eine parallele Datenschnittstelle, wobei die Steuerung quasi die in die Schnittstelle eingebaute „Intelligenz" darstellt. Die erste Schnittstellensteuerung205 kann beispielsweise einen parallelen Daten-Bus ansteuern, kann Daten multiplexen, codieren und decodieren sowie Betriebszustände bei dem Daten-Bus umschalten. - Die Kopplungsvorrichtung
201 hat weiterhin eine zweite Schnittstellensteuerung208 , die verbunden ist mit einer seriellen Datenverbindung209 zum Anschluß externer Einheiten, die ein serielles Datenformat zur Datenübertragung verwenden. Die zweite Schnittstellensteuerung208 ist ebenfalls mit der Cache-Steuerlogik203 gekoppelt (Doppelpfeil210 ). Die zweite Schnittstellensteuerung208 und die serielle Datenverbindung209 können aufgefaßt werden als eine serielle Datenschnittstelle, wobei die Steuerung quasi die in die Schnittstelle eingebaute „Intelligenz" darstellt. Die zweite Schnittstellensteuerung208 ist beispielsweise eine Steuerung für den Schnittstellentyp „SPI". - Der Cache-Datenbereich
202 und die Cache-Steuerlogik203 können auf verschiedene Weise organisiert sein, was beispielsweise durch die Größe einer Speicherzeile, die Anzahl der Wege und die Gesamtgröße charakterisiert werden kann. In dem Ausführungsbeispiel wird angenommen, daß der Cache-Datenbereich202 mehrere Speicherzeilen hat, die jeweils vier Datenworte groß sind. Wird über die parallele Datenverbindung206 eine Anforderung eines Datenworts einer bestimmten Adresse empfangen, stellt die Cache-Steuerlogik203 fest, ob das dieser Adresse zugeordnetes Datenwort in dem Cache-Datenbereich202 gespeichert ist. Ist es dort gespeichert, wird es über die parallele Datenverbindung206 ausgegeben. Ist das angeforderte Datenwort nicht in dem Cache-Datenbereich202 gespeichert, wird über die serielle Datenverbindung209 ein komplettes Nachladen der betreffenden Speicherzeile des Cache-Datenbereichs202 angefordert. Der Bus-Zyklus der parallelen Datenverbindung206 wird in diesem Fall so lange verzögert, bis das Nachladen der Speicherzeile mit vier Datenworten beendet ist. Dann wird das angeforderte Datenwort, das in den vier nachgeladenen Datenworten enthalten ist, über die parallele Datenverbindung206 ausgegeben. - Das in
2 gezeigte Ausführungsbeispiel weist außerdem einen Puffer-Datenbereich211 und eine Puffer-Steuerlogik212 auf, die miteinander gekoppelt sind, was durch den Doppelpfeil213 symbolisiert wird. Der Puffer-Datenbereich211 und die Puffer-Steuerlogik212 können als Puffer-Speicher aufgefaßt werden, der unabhängig von dem Cache-Speicher organisiert ist, aber mit diesem und den anderen Komponenten gekoppelt ist, so daß eine abgestimmte Steuerung der verschiedenen Komponenten ermöglicht wird. Der Puffer-Datenbereich211 ist mit der ersten Schnittstellensteuerung205 gekoppelt (Doppelpfeil214 ), die Puffer-Steuerlogik212 ist mit der Cache-Steuerlogik203 gekoppelt (Doppelpfeil215 ) sowie mit der zweiten Schnittstellensteuerung208 (Doppelpfeil216 ). Weiterhin sind eine oder mehrere Steuerleitungen217 vorgesehen, um die Puffer-Steuerlogik212 mit einer externen Einheit zu koppeln, die an die parallele Datenverbindung206 angeschlossen ist. - Mittels des Puffer-Speichers können größere Datenblöcke bzw. -allgemeiner ausgedrückt- solche Datenblöcke, welche mit einer gewissen Wahrscheinlichkeit nicht im Cache-Datenbereich
102 gespeichert sind, unter Umgehung des Cache-Speichers über die serielle Datenverbindung209 eingelesen und über die parallele Datenverbindung206 ausgegeben werden. Dazu werden die Startadresse und die Größe des betreffenden Datenblocks der Puffer-Steuerlogik212 übergeben. Die Puffer-Steuerlogik212 stößt über die zweite Schnittstellensteuerung208 das Einlesen der Daten des Datenblocks an und speichert die seriell eingelesenen Daten in dem Puffer-Datenbereich211 , bis der komplette angefragte Datenblock eingelesen ist. - Das Einlesen eines Datenblocks über die serielle Datenverbindung
209 in den Puffer-Datenbereich211 kann parallel zum Anfragen und Ausgeben über die parallele Datenverbindung206 von in dem Cache-Datenbereich202 gespeicherten Daten erfolgen. Falls Daten angefordert werden, die nicht in dem Cache-Speicher gespeichert sind, und ein komplettes Nachladen einer Speicherzeile des Cache-Datenbereichs202 erfolgen muß, wird ein eventuell gerade laufendes Einlesen von Daten über die serielle Datenschnittstelle209 in den Puffer-Datenbereich211 vorübergehend unterbrochen, und das Nachladen der Speicherzeile in den Cache-Datenbereich202 über die serielle Datenverbindung209 hat Vorrang. - Die Puffer-Steuerlogik
112 zeigt nach dem Einlesen des kompletten angefragten Datenblocks in den Puffer-Datenbereich211 der angeschlossenen externen Einheit, beispielsweise einem Prozessor, der den Datenblock angefordert hat, über die Steuerleitungen217 an, daß der Datenblock komplett im Puffer-Speicher vorliegt. Dann wird über die parallele Datenverbindung206 der Datenblock an die externe Einheit übertragen. Das kann beispielsweise über einen DMA-Datentransfer (Direct Memory Access, direkter Speicherzugriff) erfolgen, oder falls die externe Einheit ein Prozessor des Typs „C166" ist, mittels eines sogenannten PEC-Transfers. - Bei dem beschriebenen Zusammenspiel der Komponenten erzeugt das Umgehen des Cache-Speichers durch den Puffer-Speicher keine Verzögerung, wenn Daten, die im Cache-Speicher erwartet werden und die möglicherweise zeitkritisch sind, zum Ausgeben über die parallele Datenverbindung
206 angefordert werden. Das relativ langsame Einlesen von Daten über die serielle Datenverbindung209 in den Puffer-Datenbereich211 kann parallel zum Anfordern und Ausgeben anderer Daten über die parallele Datenverbindung206 erfolgen, und das Nachladen von Daten über die serielle Datenverbindung209 in den Cache-Speicher hat Vorrang vor dem Einlesen in den Puffer-Speicher. Sobald ein kompletter Datenblock im Puffer-Datenbereich211 vorliegt, kann dieser relativ schnell über die parallele Datenverbindung206 ausgegeben werden. Auf diese Weise kann beispielsweise eine komplette SMS (Short Message Service, Kurznachrichten-Kommunikationsdienst) aus einem seriellen Flash-Speicher eines Mobilfunktelefons in einen Prozessor des Mobilfunktelefons geladen werden, ohne die sonstigen Datenanforderungen des Prozessors zu stören.
Claims (24)
- Kopplungsvorrichtung zum Koppeln eines Speichers, der einen seriellen Datenausgang hat, mit einem Prozessor, der einen parallelen Dateneingang hat, aufweisend: – eine serielle Datenschnittstelle eingerichtet zum Empfangen von Daten, – eine parallele Datenschnittstelle eingerichtet zum Senden von Daten, – einen Cache-Speicher, der mit der seriellen Datenschnittstelle und der parallelen Datenschnittstelle verbunden ist und der eingerichtet ist, Daten zu speichern, welche die serielle Datenschnittstelle empfangen hat, und gespeicherte Daten an die parallele Datenschnittstelle auszugeben.
- Kopplungsvorrichtung nach Anspruch 1, wobei die parallele Datenschnittstelle weiterhin eingerichtet ist zum Empfangen von Daten.
- Kopplungsvorrichtung nach Anspruch 2, wobei die parallele Datenschnittstelle eingerichtet ist, Instruktionsdaten zu empfangen, die spezifizieren, daß bzw. welche Daten von der parallelen Datenschnittstelle gesendet werden sollen.
- Kopplungsvorrichtung nach Anspruch 3, wobei die parallele Datenschnittstelle einen parallelen Daten-Bus und einen parallelen Adress-Bus aufweist.
- Kopplungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die serielle Datenschnittstelle weiterhin eingerichtet ist zum Senden von Daten.
- Kopplungsvorrichtung nach Anspruch 5, wobei die serielle Datenschnittstelle eingerichtet ist, Instruktionsdaten zu senden, die spezifizieren, daß bzw. welche Daten aus einem Speicher ausgelesen werden sollen und von der seriellen Datenschnittstelle empfangen werden sollen.
- Kopplungsvorrichtung mit den Merkmalen der Ansprüche 3 und 6, wobei der Cache-Speicher eingerichtet ist, zu prüfen, ob mittels von der parallelen Datenschnittstelle empfangener Instruktionsdaten angeforderte Daten im Cache-Speicher gespeichert sind, und für den Fall, daß die angeforderten Daten im Cache-Speicher gespeichert sind, sie unmittelbar an die parallele Datenschnittstelle auszugeben, und für den Fall, daß die angeforderten Daten nicht im Cache-Speicher gespeichert sind, die serielle Datenschnittstelle zu veranlassen, Instruktionsdaten zu senden, die spezifizieren, daß die angeforderten Daten aus einem Speicher ausgelesen werden sollen und von der seriellen Datenschnittstelle empfangen werden sollen.
- Kopplungsvorrichtung nach Anspruch 7, wobei der Cache-Speicher eingerichtet ist, für den Fall, daß die angeforderten Daten nicht im Cache-Speicher gespeichert sind, die serielle Datenschnittstelle zu veranlassen, Instruktionsdaten zu senden, die spezifizieren, daß eine Datenmenge, welche größer als die angeforderten Daten ist und welche die angeforderten Daten enthält, aus einem Speicher ausgelesen werden soll und von der seriellen Datenschnittstelle empfangen werden soll.
- Kopplungsvorrichtung nach Anspruch 8, wobei die Datenmenge mindestens so groß ist, daß sie eine Speicherzeile des Cache-Speichers füllen kann.
- Kopplungsvorrichtung nach einem der Ansprüche 7 bis 9, wobei die angeforderten Daten Instruktionscode enthalten, der von einem Prozessor, der eine parallele Datenschnittstelle hat, mittels dieser empfangen werden soll und von dem Prozessor unmittelbar ausgeführt werden soll.
- Kopplungsvorrichtung nach einem der Ansprüche 1 bis 10, die einen Pufferspeicher aufweist, der mit der seriellen Datenschnittstelle und mit der parallelen Datenschnittstelle verbunden ist, wobei der Pufferspeicher eingerichtet ist, Daten zu speichern, welche die serielle Datenschnittstelle empfangen hat, und in ihm gespeicherte Daten an die parallele Datenschnittstelle auszugeben.
- Kopplungsvorrichtung mit den Merkmalen der Ansprüche 2 und 5, wobei der Cache-Speicher eingerichtet ist, Daten entgegenzunehmen, welche die parallele Datenschnittstelle empfangen hat, und entgegengenommenen Daten an die serielle Datenschnittstelle auszugeben.
- Prozessoranordnung mit einer Kopplungsvorrichtung nach einem der Ansprüche 1 bis 12 und mit einem Prozessor, der eine parallele Datenschnittstelle hat, die mit der parallelen Datenschnittstelle der Kopplungsvorrichtung gekoppelt ist.
- Prozessoranordnung nach Anspruch 13, wobei der Prozessor ein Prozessor eines Kommunikationsendgeräts ist.
- Prozessoranordnung nach Anspruch 14, wobei der Prozessor ein Prozessor eines Mobilfunktelefons ist.
- Prozessoranordnung nach einem der Ansprüche 13 bis 15, die in einem integrierten Schaltkreis enthalten ist.
- Datenverarbeitungsanordnung mit einer Prozessoranordnung nach einem der Ansprüche 13 bis 16 und mit einem Speicher, der eine serielle Datenschnittstelle hat, die mit der seriellen Datenschnittstelle der Kopplungsvorrichtung gekoppelt ist.
- Datenverarbeitungsanordnung nach Anspruch 17, wobei der Speicher ein serieller Flash-Speicher ist.
- Datenverarbeitungsanordnung nach einem der Ansprüche 17 oder 18, die in Form von Schaltkreisen auf einem gemeinsamen Substrat ausgeführt ist.
- Verfahren zum Übertragen von Daten von einem Speicher, der einen seriellen Datenausgang hat, zu einem Prozessor, der einen parallelen Dateneingang hat, aufweisend: – Die Daten werden in seriellem Format von dem Speicher zu einem Cache-Speicher übertragen, – die übertragenen Daten werden in dem Cache-Speicher gespeichert, – die gespeicherten Daten werden aus dem Cache-Speicher ausgelesen, – die ausgelesenen Daten werden in parallelem Format zu dem Prozessor übertragen.
- Verfahren nach Anspruch 20, aufweisend: – Die Daten werden von dem Prozessor angefordert.
- Verfahren nach Anspruch 21, aufweisend: – Es wird geprüft, ob die von dem Prozessor angeforderten Daten in dem Cache-Speicher gespeichert sind, – falls die angeforderten Daten in dem Cache-Speicher gespeichert sind, werden sie aus dem Cache-Speicher ausgelesen und unmittelbar zu dem Prozessor übertragen, – falls die angeforderten Daten nicht in dem Cache-Speicher gespeichert sind, werden sie von dem Speicher angefordert.
- Verfahren nach einem der Ansprüche 21 oder 22, aufweisend: – Die angeforderten Daten enthalten Instruktionscode, der von dem Prozessor unmittelbar ausgeführt werden soll.
- Verfahren zum Übertragen von Daten von einem Prozessor, der einen parallelen Datenausgang hat, zu einem Speicher, der einen seriellen Dateneingang hat, aufweisend: – Die Daten werden in parallelem Format von dem Prozessor zu einem Cache-Speicher übertragen, – die übertragenen Daten werden von dem Cache-Speicher entgegengenommen, – die entgegengenommenen Daten werden von dem Cache-Speicher ausgegeben, – die ausgegebenen Daten werden in seriellem Format zu dem Speicher übertragen.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102006045903.2A DE102006045903B4 (de) | 2006-09-28 | 2006-09-28 | Prozessoranordnung mit einer Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten |
CN2007101676276A CN101154206B (zh) | 2006-09-28 | 2007-09-28 | 耦合设备、处理器装置、数据处理装置、传输数据的方法 |
US11/864,413 US7751269B2 (en) | 2006-09-28 | 2007-09-28 | Coupling device for transmitting data |
CN201110453608.6A CN102637153B (zh) | 2006-09-28 | 2007-09-28 | 耦合设备、处理器装置、数据处理装置、传输数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102006045903.2A DE102006045903B4 (de) | 2006-09-28 | 2006-09-28 | Prozessoranordnung mit einer Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102006045903A1 true DE102006045903A1 (de) | 2008-05-15 |
DE102006045903B4 DE102006045903B4 (de) | 2016-06-02 |
Family
ID=39255871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102006045903.2A Expired - Fee Related DE102006045903B4 (de) | 2006-09-28 | 2006-09-28 | Prozessoranordnung mit einer Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN101154206B (de) |
DE (1) | DE102006045903B4 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653478B (zh) * | 2015-12-29 | 2019-07-26 | 致象尔微电子科技(上海)有限公司 | 串行闪存控制器、串行闪存控制方法及串行闪存控制系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020049888A1 (en) * | 2000-08-17 | 2002-04-25 | Axel Hertwig | Processor memory system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257359A (en) * | 1989-02-08 | 1993-10-26 | Hitachi Microsystems, Inc. | Instruction cache buffer with program-flow control |
US5404484A (en) * | 1992-09-16 | 1995-04-04 | Hewlett-Packard Company | Cache system for reducing memory latency times |
EP1320035A1 (de) * | 2001-12-11 | 2003-06-18 | Thomson Licensing S.A. | Verwaltung des Cachespeichers einer Speichervorrichtung |
US7010638B2 (en) * | 2003-08-29 | 2006-03-07 | Texas Intruments Incorporated | High speed bridge controller adaptable to non-standard device configuration |
KR101149816B1 (ko) * | 2004-05-28 | 2012-05-25 | 삼성전자주식회사 | 캐쉬 메모리의 캐쉬 히트 로직 |
KR100621631B1 (ko) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | 반도체 디스크 제어 장치 |
-
2006
- 2006-09-28 DE DE102006045903.2A patent/DE102006045903B4/de not_active Expired - Fee Related
-
2007
- 2007-09-28 CN CN2007101676276A patent/CN101154206B/zh not_active Expired - Fee Related
- 2007-09-28 CN CN201110453608.6A patent/CN102637153B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020049888A1 (en) * | 2000-08-17 | 2002-04-25 | Axel Hertwig | Processor memory system |
Also Published As
Publication number | Publication date |
---|---|
CN101154206A (zh) | 2008-04-02 |
CN101154206B (zh) | 2012-03-14 |
CN102637153B (zh) | 2017-04-12 |
CN102637153A (zh) | 2012-08-15 |
DE102006045903B4 (de) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60212626T2 (de) | Endknotenunterteilung mittels lokaler identifikatoren | |
DE102005014727B4 (de) | Hardwarekoordination von Power Management-Aktivitäten | |
DE3114961C2 (de) | ||
DE19636381C1 (de) | Bus mit anforderungsabhängiger Anpassung der in beiden Richtungen zur Verfügung stehenden Bandbreite | |
EP0743595B1 (de) | Kommunikationssystem mit Mitteln zum Austausch von Software | |
EP1456722B1 (de) | Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer | |
DE102008055892A1 (de) | Abspeichern von Abschnitten eines Datenübertragungsdeskriptors in einem gecachten und einem nicht gecachten Adressbereich | |
DE112006002565T5 (de) | Befehlsunterstützte Cache-Verwaltung für den effizienten Einsatz von Cache und Speicher | |
DE2226382B2 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE112010001404T5 (de) | Opportunistische Verbesserung einer MMIO-Anfrageabwicklung aufgrund eines Zielberichts von Raumerfordernissen | |
DE112012004551T5 (de) | Mehrkernverknüpfung in einem Netzprozessor | |
DE112010005609T5 (de) | Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung | |
DE112012006227T5 (de) | Remotezugriff auf den direkten Speicher mit reduzierter Latenzzeit | |
DE60117109T2 (de) | Drahtloses Kommunikationsgerät, drahtloses Kommunikationssystem zu seiner Verwendung und Kommunikationsverfahren hierfür | |
DE19882975B4 (de) | Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus | |
DE60316969T2 (de) | One-shot-rdma mit einem 2-bit-zustand | |
DE102004046822A1 (de) | Verfahren zum Übertragen von Daten zwischen einem Speicher und mehreren peripheren Einheiten mit Hilfe einer Direct Memory Access-Steuerung sowie entsprechende Direct Memory Access-Steuervorrichtung | |
DE60009817T2 (de) | Gemeinsamen Speicher verteilende Multiprozessorvorrichtung | |
DE69727172T2 (de) | Verwendung eines Prozessorbus für die E/A-Verkehrsübertragung | |
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
DE102006045903B4 (de) | Prozessoranordnung mit einer Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten | |
DE102016206109A1 (de) | Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit | |
DE102008001739B4 (de) | Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens | |
EP2225647A2 (de) | Portabler datenträger mit web-server | |
DE10310340B4 (de) | Datenzugriffsverfahren und System mit verteiltem, gemeinsam genutzten Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R081 | Change of applicant/patentee |
Owner name: INTEL MOBILE COMMUNICATIONS GMBH, DE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE Effective date: 20130207 Owner name: INTEL DEUTSCHLAND GMBH, DE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE Effective date: 20130207 |
|
R082 | Change of representative |
Representative=s name: VIERING, JENTSCHURA & PARTNER PATENT- UND RECH, DE Effective date: 20130207 Representative=s name: VIERING, JENTSCHURA & PARTNER, DE Effective date: 20130207 Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE Effective date: 20130207 |
|
R081 | Change of applicant/patentee |
Owner name: INTEL DEUTSCHLAND GMBH, DE Free format text: FORMER OWNER: INTEL MOBILE COMMUNICATIONS GMBH, 85579 NEUBIBERG, DE |
|
R082 | Change of representative |
Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE |
|
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |