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 PDF

Info

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
Application number
DE102006045903A
Other languages
English (en)
Other versions
DE102006045903B4 (de
Inventor
Daniel Bergmann
Christian Erben
Eric Labarre
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.)
Intel Deutschland GmbH
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102006045903.2A priority Critical patent/DE102006045903B4/de
Priority to CN2007101676276A priority patent/CN101154206B/zh
Priority to US11/864,413 priority patent/US7751269B2/en
Priority to CN201110453608.6A priority patent/CN102637153B/zh
Publication of DE102006045903A1 publication Critical patent/DE102006045903A1/de
Application granted granted Critical
Publication of DE102006045903B4 publication Critical patent/DE102006045903B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/107Serial-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

Es wird eine Kopplungsvorrichtung zum Koppeln eines Speichers, der einen seriellen Datenausgang hat, mit einem Prozessor, der einen parallelen Dateneingang hat, beschrieben. Die Kopplungsvorrichtung weist eine serielle Datenschnittstelle eingerichtet zum Empfangen von Daten, eine parallele Datenschnittstelle, eingerichtet zum Senden von Daten, und einen Cache-Speicher auf, 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.

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 Datenverarbeitungsanordnung 100 mit einem seriellen Flash-Speicher 101, in der Figur beschriftet mit „Serial Flash" 102 (serielles Flash), einer Kopplungsvorrichtung 103 und einem Prozessor 106, in der Figur gekennzeichnet durch die Beschriftung „Core" 107 (Prozessor, Prozessorkernel). Innerhalb der Kopplungsvorrichtung 103 ist ein Cache-Speicher 104 mit der Beschriftung „Cache" 105 dargestellt. Zwischen dem seriellen Flash-Speicher 101 und der Kopplungsvorrichtung 103 besteht eine als Doppelpfeil dargestellte serielle Datenverbindung 108. Durch eine gestrichelte Trennlinie 109 zwischen dem Speicher und der Kopplungsvorrichtung und ihre Beschriftung „Serial Interface" 110 (serielle Schnittstelle) wird symbolisiert, daß der serielle Flash-Speicher 101 und die Kopplungsvorrichtung 103 mittels serieller Datenschnittstellen gekoppelt sind. Die Kopplungsvorrichtung 103 und der Prozessor 106 sind durch einen als Doppelpfeil dargestellten parallelen Adress-Bus 111 verbunden. Außerdem sind sie durch einen als weiteren Doppelpfeil dargestellten parallelen Daten-Bus 112 verbunden. Durch die gestrichelte Trennlinie 113 zwischen der Kopplungsvorrichtung und dem Prozessor sowie die Beschriftung „Parallel Interface" 114 (parallele Schnittstelle) wird symbolisiert, daß die Kopplungsvorrichtung 103 und der Prozessor 106 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-Speichers 104 weist diese Seriell-Parallel-Brücke zusätzlich Cache-Fähigkeiten auf. Dadurch werden der mögliche Datendurchsatz durch die Kopplungsvorrichtung 103 und somit die mögliche Verarbeitungsgeschwindigkeit im Prozessor 106 erhöht, wenn beispielsweise eine von dem Prozessor ausgeführte Software Applikation Daten aus dem seriellen Flash-Speicher 101 benötigt oder der Prozessor zur Ausführung einer Applikation einen Instruktionscode benötigt, der von dem seriellen Flash-Speicher 101 zum Prozessor 106 ü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-Speichers 101 und des Cache-Speichers 104 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-Bus 111 an die Kopplungsvorrichtung 103 übertragen. Falls die angefragte Adresse 104 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-Bus 112 an den Prozessor übertragen. Falls die angefragte Adresse nicht im Cache-Speicher gespeichert ist (genannt „Cache-Miss"), wird über die serielle Datenverbindung 108 auf den Inhalt des seriellen Flash-Speichers 101 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 Datenverbindung 108 übertragen, und es wird beispielsweise eine Speicherzeile des Cache-Speichers 104 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 Prozessor 106 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-Speicher 101 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 Prozessor 106 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-Speicher 104 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-Speicher 101 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 Kopplungsvorrichtung 103 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 Kopplungsvorrichtung 201 ähnlich der Kopplungsvorrichtung 103 aus 1, jedoch mit mehr dargestellten Details. Beispielsweise hat sie einen Cache-Datenbereich 202 und eine Cache-Steuerlogik 203, die miteinander gekoppelt sind, was durch den Doppelpfeil 204 symbolisiert wird. Der Cache-Datenbereich 202 und die Cache-Steuerlogik 203 können als ein Cache-Speicher von ähnlicher Art wie der Cache-Speicher 104 in 1 aufgefaßt werden.
  • Die Kopplungsvorrichtung 201 hat weiterhin eine erste Schnittstellensteuerung 205, die mit einer parallelen Datenverbindung 206 zum Anschluß externer Einheiten, die ein paralleles Datenformat zur Datenübertragung verwenden, verbunden ist. Die erste Schnittstellensteuerung 205 ist gekoppelt mit der Cache-Steuerlogik 203 (Doppelpfeil 207). Die erste Schnittstellensteuerung 205 und die parallele Datenverbindung 206 können aufgefaßt werden als eine parallele Datenschnittstelle, wobei die Steuerung quasi die in die Schnittstelle eingebaute „Intelligenz" darstellt. Die erste Schnittstellensteuerung 205 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 Schnittstellensteuerung 208, die verbunden ist mit einer seriellen Datenverbindung 209 zum Anschluß externer Einheiten, die ein serielles Datenformat zur Datenübertragung verwenden. Die zweite Schnittstellensteuerung 208 ist ebenfalls mit der Cache-Steuerlogik 203 gekoppelt (Doppelpfeil 210). Die zweite Schnittstellensteuerung 208 und die serielle Datenverbindung 209 können aufgefaßt werden als eine serielle Datenschnittstelle, wobei die Steuerung quasi die in die Schnittstelle eingebaute „Intelligenz" darstellt. Die zweite Schnittstellensteuerung 208 ist beispielsweise eine Steuerung für den Schnittstellentyp „SPI".
  • Der Cache-Datenbereich 202 und die Cache-Steuerlogik 203 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-Datenbereich 202 mehrere Speicherzeilen hat, die jeweils vier Datenworte groß sind. Wird über die parallele Datenverbindung 206 eine Anforderung eines Datenworts einer bestimmten Adresse empfangen, stellt die Cache-Steuerlogik 203 fest, ob das dieser Adresse zugeordnetes Datenwort in dem Cache-Datenbereich 202 gespeichert ist. Ist es dort gespeichert, wird es über die parallele Datenverbindung 206 ausgegeben. Ist das angeforderte Datenwort nicht in dem Cache-Datenbereich 202 gespeichert, wird über die serielle Datenverbindung 209 ein komplettes Nachladen der betreffenden Speicherzeile des Cache-Datenbereichs 202 angefordert. Der Bus-Zyklus der parallelen Datenverbindung 206 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 Datenverbindung 206 ausgegeben.
  • Das in 2 gezeigte Ausführungsbeispiel weist außerdem einen Puffer-Datenbereich 211 und eine Puffer-Steuerlogik 212 auf, die miteinander gekoppelt sind, was durch den Doppelpfeil 213 symbolisiert wird. Der Puffer-Datenbereich 211 und die Puffer-Steuerlogik 212 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-Datenbereich 211 ist mit der ersten Schnittstellensteuerung 205 gekoppelt (Doppelpfeil 214), die Puffer-Steuerlogik 212 ist mit der Cache-Steuerlogik 203 gekoppelt (Doppelpfeil 215) sowie mit der zweiten Schnittstellensteuerung 208 (Doppelpfeil 216). Weiterhin sind eine oder mehrere Steuerleitungen 217 vorgesehen, um die Puffer-Steuerlogik 212 mit einer externen Einheit zu koppeln, die an die parallele Datenverbindung 206 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 Datenverbindung 209 eingelesen und über die parallele Datenverbindung 206 ausgegeben werden. Dazu werden die Startadresse und die Größe des betreffenden Datenblocks der Puffer-Steuerlogik 212 übergeben. Die Puffer-Steuerlogik 212 stößt über die zweite Schnittstellensteuerung 208 das Einlesen der Daten des Datenblocks an und speichert die seriell eingelesenen Daten in dem Puffer-Datenbereich 211, bis der komplette angefragte Datenblock eingelesen ist.
  • Das Einlesen eines Datenblocks über die serielle Datenverbindung 209 in den Puffer-Datenbereich 211 kann parallel zum Anfragen und Ausgeben über die parallele Datenverbindung 206 von in dem Cache-Datenbereich 202 gespeicherten Daten erfolgen. Falls Daten angefordert werden, die nicht in dem Cache-Speicher gespeichert sind, und ein komplettes Nachladen einer Speicherzeile des Cache-Datenbereichs 202 erfolgen muß, wird ein eventuell gerade laufendes Einlesen von Daten über die serielle Datenschnittstelle 209 in den Puffer-Datenbereich 211 vorübergehend unterbrochen, und das Nachladen der Speicherzeile in den Cache-Datenbereich 202 über die serielle Datenverbindung 209 hat Vorrang.
  • Die Puffer-Steuerlogik 112 zeigt nach dem Einlesen des kompletten angefragten Datenblocks in den Puffer-Datenbereich 211 der angeschlossenen externen Einheit, beispielsweise einem Prozessor, der den Datenblock angefordert hat, über die Steuerleitungen 217 an, daß der Datenblock komplett im Puffer-Speicher vorliegt. Dann wird über die parallele Datenverbindung 206 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 Datenverbindung 209 in den Puffer-Datenbereich 211 kann parallel zum Anfordern und Ausgeben anderer Daten über die parallele Datenverbindung 206 erfolgen, und das Nachladen von Daten über die serielle Datenverbindung 209 in den Cache-Speicher hat Vorrang vor dem Einlesen in den Puffer-Speicher. Sobald ein kompletter Datenblock im Puffer-Datenbereich 211 vorliegt, kann dieser relativ schnell über die parallele Datenverbindung 206 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)

  1. 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.
  2. Kopplungsvorrichtung nach Anspruch 1, wobei die parallele Datenschnittstelle weiterhin eingerichtet ist zum Empfangen von Daten.
  3. 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.
  4. Kopplungsvorrichtung nach Anspruch 3, wobei die parallele Datenschnittstelle einen parallelen Daten-Bus und einen parallelen Adress-Bus aufweist.
  5. Kopplungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die serielle Datenschnittstelle weiterhin eingerichtet ist zum Senden von Daten.
  6. 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.
  7. 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.
  8. 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.
  9. Kopplungsvorrichtung nach Anspruch 8, wobei die Datenmenge mindestens so groß ist, daß sie eine Speicherzeile des Cache-Speichers füllen kann.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. Prozessoranordnung nach Anspruch 13, wobei der Prozessor ein Prozessor eines Kommunikationsendgeräts ist.
  15. Prozessoranordnung nach Anspruch 14, wobei der Prozessor ein Prozessor eines Mobilfunktelefons ist.
  16. Prozessoranordnung nach einem der Ansprüche 13 bis 15, die in einem integrierten Schaltkreis enthalten ist.
  17. 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.
  18. Datenverarbeitungsanordnung nach Anspruch 17, wobei der Speicher ein serieller Flash-Speicher ist.
  19. Datenverarbeitungsanordnung nach einem der Ansprüche 17 oder 18, die in Form von Schaltkreisen auf einem gemeinsamen Substrat ausgeführt ist.
  20. 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.
  21. Verfahren nach Anspruch 20, aufweisend: – Die Daten werden von dem Prozessor angefordert.
  22. 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.
  23. Verfahren nach einem der Ansprüche 21 oder 22, aufweisend: – Die angeforderten Daten enthalten Instruktionscode, der von dem Prozessor unmittelbar ausgeführt werden soll.
  24. 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.
DE102006045903.2A 2006-09-28 2006-09-28 Prozessoranordnung mit einer Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten Expired - Fee Related DE102006045903B4 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653478B (zh) * 2015-12-29 2019-07-26 致象尔微电子科技(上海)有限公司 串行闪存控制器、串行闪存控制方法及串行闪存控制系统

Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 반도체 디스크 제어 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
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