DE102015223786A1 - Integrierte Schaltung mit serieller Schnittstelle - Google Patents

Integrierte Schaltung mit serieller Schnittstelle Download PDF

Info

Publication number
DE102015223786A1
DE102015223786A1 DE102015223786.9A DE102015223786A DE102015223786A1 DE 102015223786 A1 DE102015223786 A1 DE 102015223786A1 DE 102015223786 A DE102015223786 A DE 102015223786A DE 102015223786 A1 DE102015223786 A1 DE 102015223786A1
Authority
DE
Germany
Prior art keywords
data
integrated circuit
serial interface
address
bus
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
DE102015223786.9A
Other languages
English (en)
Inventor
Olivier Girard
Joao Paulo Trierveiler Martins
Daniele Giorgetti
Philip Todd
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.)
Dialog Semiconductor UK Ltd
Original Assignee
Dialog Semiconductor UK Ltd
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 Dialog Semiconductor UK Ltd filed Critical Dialog Semiconductor UK Ltd
Priority to DE102015223786.9A priority Critical patent/DE102015223786A1/de
Priority to US15/235,190 priority patent/US10248589B2/en
Publication of DE102015223786A1 publication Critical patent/DE102015223786A1/de
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/602Details relating to cache prefetching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Eine integrierte Schaltung, die mit einem externen seriellen Bus gekoppelt ist, wird vorgeschlagen. Weiter wird ein Verfahren zum vorherigen Abrufen von Daten in einer integrierten Schaltung vorgeschlagen, die mit einem externen seriellen Bus gekoppelt ist. Die integrierte Schaltung weist eine serielle Schnittstelle, einen Daten-Cachespeicher und eine Prefetch-Steuereinheit auf. Die serielle Schnittstelle ist konfiguriert zum Erfassen einer Datenadresse auf dem seriellen Bus und zum Lesen von Datenelementen aus einer oder mehreren Datenspeichereinheit(en). Die Datenspeichereinheiten können intern oder extern zu der integrierten Schaltung sein. Der Daten-Cachespeicher ist mit der seriellen Schnittstelle über einen internen Bus gekoppelt. Die Prefetch-Steuereinheit weist die serielle Schnittstelle an, ein Datenelement, das mit der Datenadresse assoziiert ist, vorher abzurufen durch Lesen des Datenelements aus einer Zieldatenspeichereinheit, die mit der Datenadresse assoziiert ist. Das Datenelement und die Datenadresse werden in den Daten-Cachespeicher geschrieben. Wenn eine Leseanforderung auf dem externen seriellen Bus erfasst wird, kann schnell aus dem Daten-Cachespeicher auf das Datenelement zugegriffen werden.

Description

  • Technischer Bereich
  • Dieses Dokument betrifft eine integrierte Schaltung mit einer seriellen Schnittstelle zum Kommunizieren mit einem externen seriellen Bus und Verfahren für einen Betrieb einer derartigen integrierten Schaltung. Insbesondere betrifft das Dokument eine integrierte Schaltung mit einer seriellen Schnittstelle, wobei die serielle Schnittstelle zum Ausführen eines Lesezugriffs und Weiterleiten von Datenelementen zu einem Hostsystem über den externen seriellen Bus verantwortlich ist.
  • Hintergrund
  • Eine serielle Schnittstelle wird oft in integrierten Schaltungen verwendet, um über einen seriellen Bus eine Kommunikation mit einem Hostsystem herzustellen. Typischerweise ist eine Kommunikation über den seriellen Bus durch ein serielles Nachrichtenprotokoll standardisiert, wie zum Beispiel das I2C(Inter-Integrated Circuit)-Protokoll. In der integrierten Schaltung wird das serielle Nachrichtenprotokoll oft in eine Form eines internen Lese- oder Schreibzugriffs auf einem internen Bus decodiert, verursacht durch eine empfangene Nachricht. Ein interner Lesezugriff muss abgeschlossen sein, bevor erwartet wird, dass das erste Datenbit auf der seriellen Schnittstelle entsprechend dem verwendeten seriellen Nachrichtenprotokoll erscheint. Abhängig davon, welches Register oder welche Vorrichtung durch den Lesezugriff betroffen ist, kann der Lesezugriff eine andere Anzahl von Taktzyklen zum Beenden benötigen. Zum Beispiel kann ein langsamer Speicher oder ein langsamer E/A-Anschluss eine Verletzung von zeitlichen Beschränkungen des seriellen Nachrichtenprotokolls verursachen. Weiter kann der Lesezugriff auch von der integrierten Schaltung an eine Vorrichtung weitergeleitet werden, die extern zu der integrierten Schaltung ist und mit dieser über eine Brücke verbunden ist. In diesem Fall ist eine Verletzung der zeitlichen Beschränkungen nahezu unvermeidlich und ein effizienter Mechanismus ist erforderlich, um eine Verschlechterung der Systemleistung zu vermeiden.
  • Wenn es nicht möglich ist, die zeitlichen Beschränkungen des seriellen Nachrichtenprotokolls zu erfüllen, muss die Datenübertragung auf dem externen seriellen Bus unter Verwendung einer Form eines Wartezustandsmechanismus erweitert werden. Alternativ kann der Taktzyklus des Hostsystems gestreckt werden oder ein „negative Bestätigung(NACK)”-Signal von der integrierten Schaltung an das Host-System zurückgegeben werden, das angibt, dass der Zugriffsversuch fehlgeschlagen ist. In jedem Fall wird das gesamte System verlangsamt und die Gesamtleistung verschlechtert.
  • Zusammenfassung
  • Die vorliegende Offenbarung sieht eine integrierte Schaltung vor, die mit einem externen seriellen Bus gekoppelt ist. Die integrierte Schaltung umfasst eine serielle Schnittstelle, einen Daten-Cachespeicher und eine „vorher Abrufen”- bzw. Prefetch-Steuereinheit. Die serielle Schnittstelle kann konfiguriert sein zum Lesen von Datenelementen aus einer oder mehreren Datenspeichereinheit(en). Die serielle Schnittstelle ist konfiguriert zum Erfassen einer Datenadresse auf dem seriellen Bus. Die Datenadresse kann von einem Host über den seriellen Bus in einer ersten Nachricht empfangen werden, die mit einer Leseanforderung assoziiert ist. Der Daten-Cachespeicher ist mit der seriellen Schnittstelle über einen internen Bus gekoppelt. Die Prefetch-Steuereinheit ist konfiguriert zum Anweisen der seriellen Schnittstelle, ein Datenelement, das mit der Datenadresse assoziiert ist, vorher abzurufen durch Lesen des Datenelements aus einer Zieldatenspeichereinheit, die mit der Datenadresse assoziiert ist, und Schreiben sowohl des Datenelements als auch der Datenadresse in den Daten-Cachespeicher, oder zumindest derartige Operationen anzuweisen.
  • Die serielle Schnittstelle kann zum Beispiel eine Schnittstelle sein, die mit dem I2C(Inter-Integrated Circuit)-Protokoll konform ist. Die vorgeschlagene integrierte Schaltung kann die Eigenschaften bestimmter serieller Nachrichtenprotokolle ausnutzen, wie zum Beispiel das I2C-Protokoll. Insbesondere kann gemäß dem I2C-Protokoll eine Datenadresse auf dem seriellen Bus mehrere Buszyklen vor dem Start einer entsprechenden Datenlesephase erscheinen. Während dieser Zeit kann das angeforderte Datenelement aus der Zieldatenspeichereinheit gelesen werden (prefetched – vorher abgerufen) und für eine spätere Verwendung in dem Daten-Cachespeicher gespeichert werden, wo es verfügbar gehalten wird und in einer kurzen Zugriffszeit zugänglich ist, ohne dass auf die Zieldatenspeichereinheit (mit einer längeren Zugriffszeit) zugegriffen werden muss.
  • Zu einem späteren Zeitpunkt kann die serielle Schnittstelle eine Leseanforderung erfassen, die mit der Datenadresse auf dem externen seriellen Bus assoziiert ist, zum Beispiel in einer nachfolgenden Nachricht empfangen. Durch Übertragen einer Leseanforderung an die integrierte Schaltung kann das Hostsystem anfordern, dass die integrierte Schaltung das Datenelement liest, das mit der bestimmten Datenadresse assoziiert ist (wie bereits zuvor in der ersten Nachricht auf dem externen seriellen Bus empfangen wurde), und das Datenelement an das Host-System weiterleitet. Die serielle Schnittstelle kann dann einen internen Lesezugriff auf dem internen Bus initiieren, der an die Datenspeichereinheit adressiert ist, die mit der Datenadresse assoziiert ist, um das entsprechende Datenelement zu lesen. Der Daten-Cachespeicher kann konfiguriert sein zum Erfassen dieses Lesezugriffs auf dem internen Bus, der mit der Datenadresse assoziiert ist, und, in Reaktion auf das Erfassen des Lesezugriffs, zum Senden des Datenelements an die serielle Schnittstelle. Dieses Verfahren wird als „Cache-Treffer bzw. -Hit” bezeichnet. Der Daten-Cachespeicher kann die Datenadresse, für die das Datenelement vorher abgerufen wurde, und die Datenadresse vergleichen, die mit dem Lesezugriff assoziiert ist, und wenn die Datenadressen identisch sind, das Datenelement an die serielle Schnittstelle übertragen. Die serielle Schnittstelle kann konfiguriert sein zum Weiterleiten des angeforderten Datenelements, das von dem Daten-Cachespeicher empfangen wird, an den externen seriellen Bus.
  • Da das Datenelement an dem (schnell antwortenden) Daten-Cachespeicher gespeichert ist, der über den internen Bus mit der seriellen Schnittstelle gekoppelt ist, ist das Datenelement sofort zur Ausgabe auf dem seriellen Bus verfügbar und ein zweiter Lesevorgang auf der Zieldatenspeichereinheit ist nicht erforderlich. Da der Lesezugriff des Datenelements bereits gestartet wurde, als die Datenadresse in der ersten Nachricht gesehen wurde, hat er eine längere Zeit zum Abschließen und somit reduziert die beschriebene Prefetch-Operation die Wahrscheinlichkeit von fehlgeschlagenen oder langsamen Lesezugriffen der seriellen Schnittstelle auf der integrierten Schaltung. Wie bereits in dem obigen Abschnitt diskutiert, können fehlgeschlagene Lesezugriffe der seriellen Schnittstelle zum Beispiel zu NACK-Signalen führen, und langsame Lesezugriffe der seriellen Schnittstelle können eine unerwünschte Streckung von Taktraten oder zusätzliche Wartezustände erfordern und können das gesamte System verlangsamen.
  • Datenspeichereinheiten können verschiedene Vorrichtungen aufweisen, wie zum Beispiel flüchtige oder nichtflüchtige Speicher, E/A-Anschlüsse, Analog-zu-Digital-Wandler (ADC), Temperatursensoren oder andere Vorrichtungen zum Speichern von Datenelementen, die von der seriellen Schnittstelle gelesen und über den seriellen Bus an das Hostsystem weitergeleitet werden können. In anderen Worten, Datenspeichereinheiten sind nicht notwendigerweise auf klassische Direktzugriffsspeicher (RAM – random access memories) oder Flash-Speicher beschränkt, sondern können Vorrichtungen aufweisen, die Datenelemente erzeugen und vorübergehend speichern, die für das Host-System von Interesse sind. Auf jeden Fall kann eine Datenspeichereinheit zum Beispiel mit einer Registeradresse adressiert werden und sieht in Reaktion das angeforderte Datenelement auf dem internen Bus vor.
  • Die serielle Schnittstelle kann unter Verwendung zum Beispiel eines Speicherplans die Zieldatenspeichereinheit bestimmen, die mit einer bestimmten Datenadresse assoziiert ist. Dabei kann sich die Zieldatenspeichereinheit auf der integrierten Schaltung befinden und kann über den internen Bus mit der seriellen Schnittstelle gekoppelt sein. Zum Beispiel kann die serielle Schnittstelle ein Bus-Master des internen Busses sein und die Zieldatenspeichereinheit kann ein Bus-Slave des internen Busses sein. Alternativ kann die Zieldatenspeichereinheit über eine Brücke mit dem Daten-Cachespeicher verbunden sein. Die Brücke kann wiederum als ein Bus-Master eines zweiten internen Busses fungieren und mehrere Datenspeichereinheiten, einschließlich der Zieldatenspeichereinheit, können mit dem zweiten internen Bus als Bus-Slaves verbunden sein. Weiter ist es auch möglich, dass die Zieldatenspeichereinheit extern zu der integrierten Schaltung ist und über eine Brücke mit dem Daten-Cachespeicher verbunden ist. Weiter kann ein externer Zieldatenspeicher über die Brücke an einer externen Kommunikationsschnittstelle angebracht sein, wie zum Beispiel eine Schnittstelle, die mit der SPMI(System Power Management Interface)-Spezifikation kompatibel ist. In diesem Fall kann die Prefetch-Anforderung tatsächlich einen Zugriff über die externe Kommunikationsschnittstelle auslösen, um den Daten-Cachespeicher zu füllen.
  • Als eine Folge können die Zugriffszeiten oder die Rückgabe- bzw. Turnaround-Zeiten von Lesezugriffen auf die einzelne Datenspeichervorrichtung in Abhängigkeit von dem Typ der Datenspeichervorrichtung sowie dem Kommunikationspfad, der die Zieldatenspeichervorrichtung mit der seriellen Schnittstelle koppelt, variieren.
  • Die Prefetch-Steuereinheit kann konfiguriert sein zum Vergleichen der Datenadresse mit einem Satz von vorgegebenen Datenadressen und zum Bestimmen, ob das entsprechende Datenelement vorher abzurufen ist, basierend auf dem Vergleichsergebnis. Insbesondere kann die Prefetch-Steuereinheit konfiguriert sein, die serielle Schnittstelle nicht anzuweisen, das Datenelement vorher abzurufen, falls die Datenadresse zu dem Satz von vorgegebenen Datenadressen gehört. Weiter kann die Prefetch-Steuereinheit konfiguriert sein, die serielle Schnittstelle nicht anzuweisen, das Datenelement vorher abzurufen, falls das Lesen von Daten aus der Zieldatenspeichereinheit durch die serielle Schnittstelle eine Turnaround-Zeit erfordert, die kürzer ist als eine vorgegebene Schwellen-Turnaround-Zeit. Die vorgegebene Schwellen-Turnaround-Zeit kann auf einer maximalen Antwortzeit basieren, die durch ein Nachrichtenprotokoll des externen seriellen Busses definiert ist. Das heißt, der Satz von vorgegebenen Datenadressen kann „schnellen” Datenspeichervorrichtungen entsprechen, deren Turnaround-Zeit kürzer ist als die vorgegebene Schwellen-Turnaround-Zeit.
  • Die vorgeschlagene integrierte Schaltung kann zwischen sogenannten „langsamen” und „schnellen” Datenspeichereinheiten unterscheiden. Die Prefetch-Operation kann nur für „langsame” Datenspeichereinheiten durchgeführt werden, d. h. wenn es notwendig ist, eine Prefetch-Operation auszuführen, um die zeitlichen Beschränkungen zu erfüllen, die durch das Nachrichtenprotokoll des seriellen Busses auferlegt sind. Ein Vorteil dieses Ansatzes ist, dass redundante Bus-Zyklen auf dem internen Bus vermieden werden. Als eine Folge wird der Energieverbrauch der integrierten Schaltung reduziert und die maximale Bandbreite des internen Busses wird erhöht. Weiter wird die Wahrscheinlichkeit von Signalintegritäts-bezogenen Fehlern reduziert.
  • Die Prefetch-Steuereinheit kann Teil der seriellen Schnittstelle sein oder kann sich an einer anderen Einheit innerhalb der integrierten Schaltung befinden. In dem letzteren Fall kann die Prefetch-Steuereinheit mit einer seriellen Schnittstelle über den internen Bus oder eine andere dedizierte Kommunikationsschnittstelle gekoppelt sein. In jedem Fall kann die serielle Schnittstelle die auf dem seriellen Bus erfasste Datenadresse an die Prefetch-Steuereinheit übertragen. Die Prefetch-Steuereinheit kann dann die erfasste Datenadresse mit Adressen oder Adressenbereichen vergleichen, die in der Prefetch-Steuereinheit gespeichert sind. Zu diesem Zweck kann der Satz von vorgegebenen Datenadressen unter Verwendung von entsprechenden Nachschlagetabellen (LUT – look-up tables) gespeichert werden. Wenn die Prefetch-Steuereinheit entscheidet, dass eine Prefetch-Operation für die Datenadresse ausgeführt werden soll, kann sie die serielle Schnittstelle anweisen, dies zu tun, durch Übertragen einer Prefetch-Treffer-Nachricht an die serielle Schnittstelle. Wenn die Prefetch-Steuereinheit entscheidet, dass eine Prefetch-Operation für die Datenadresse nicht ausgeführt werden soll, kann sie die serielle Schnittstelle anweisen, von einem Durchführen einer Prefetch-Operation abzusehen, durch Übertragen einer Prefetch-Invalidierungsnachricht an die serielle Schnittstelle. Alternativ kann eine andere Art von Signalisierungsmechanismus zwischen der Prefetch-Steuereinheit und der seriellen Schnittstelle verwendet werden.
  • Die Prefetch-Steuereinheit kann konfiguriert sein zum Anweisen, in Reaktion auf eine Leseanforderung auf dem externen seriellen Bus, der seriellen Schnittstelle, ein weiteres Datenelement vorher abzurufen, das mit einer inkrementierten/dekrementierten Datenadresse assoziiert ist, durch Lesen des weiteren Datenelements aus einer Zieldatenspeichereinheit, die mit der inkrementierten/dekrementierten Datenadresse assoziiert ist. Zu diesem Zweck kann die serielle Schnittstelle die Prefetch-Steuereinheit über die Leseanforderung von dem seriellen Bus informieren, zum Beispiel Übertragen der inkrementierten/dekrementierten Datenadresse an die Prefetch-Steuereinheit. Weiter kann die Prefetch-Steuereinheit konfiguriert sein zum Anweisen der seriellen Schnittstelle, sowohl das weitere Datenelement als auch die inkrementierte/dekrementierte Datenadresse in den Daten-Cachespeicher zu schreiben. Somit ermöglicht die Prefetch-Steuereinheit, das weitere Datenelement vorher abzurufen, falls ein Adresse-Autoinkrementierungs-Protokoll zum Lesen von Daten von der seriellen Schnittstelle in einem Burst-Lesen verwendet wird. Das vorherige Abrufen des weiteren Datenelements kann parallel zu der Ausgabe von vorhergehenden Datenelementen aus dem Daten-Cachespeicher oder einer Zieldatenspeichereinheit in Reaktion auf die erfasste Leseanforderung erfolgen.
  • Die Prefetch-Steuereinheit kann konfiguriert sein zum Anweisen, in Reaktion auf die Leseanforderung auf dem externen seriellen Bus, der seriellen Schnittstelle, das weitere Datenelement nicht vorher abzurufen, falls die inkrementierte/dekrementierte Datenadresse zu dem Satz von vorgegebenen Datenadressen gehört. Alternativ kann die Prefetch-Steuereinheit konfiguriert sein, in Reaktion auf die Leseanforderung auf dem externen seriellen Bus, die serielle Schnittstelle nicht anzuweisen, das weitere Datenelement vorher abzurufen, falls die inkrementierte/dekrementierte Datenadresse zu dem Satz von vorgegebenen Datenadressen gehört.
  • Die integrierte Schaltung kann eine integrierte Leistungsverwaltungsschaltung (PMIC – power management integrated circuit) sein, die konfiguriert ist zum Liefern von elektrischer Leistung zu verschiedenen Teilsystemen einer elektronischen Vorrichtung.
  • Gemäß einem weiteren Aspekt der vorliegenden Offenbarung wird ein Verfahren zum vorherigen Abrufen von Daten in einer integrierten Schaltung mit einer seriellen Schnittstelle und einem Daten-Cachespeicher vorgeschlagen. Das Verfahren weist einen Schritt eines Erfassens einer Datenadresse, die in einer ersten Nachrichtensequenz auf einem externen seriellen Bus eingebettet ist, durch die serielle Schnittstelle auf. Ein Datenelement, das mit der Datenadresse assoziiert ist, wird aus einer Datenspeichereinheit gelesen, die mit der Datenadresse assoziiert ist, und sowohl das Datenelement als auch die Datenadresse werden in den Daten-Cachespeicher geschrieben. Das Verfahren weist weiter einen Schritt eines Lesens des Datenelements aus dem Daten-Cachespeicher auf, falls eine Leseanforderung, die mit der Datenadresse assoziiert ist, in einer nachfolgenden Nachrichtensequenz auf dem externen seriellen Bus erfasst wird. Schließlich wird das Datenelement an den externen seriellen Bus weitergeleitet.
  • Die nachfolgende Nachrichtensequenz kann später als die erste Nachrichtensequenz auf dem externen seriellen Bus erscheinen. Außerdem überlappen sich beide Sequenzen nicht. Die erste Nachrichtensequenz muss keine Leseanforderung zum Lesen von Datenelementen aus der integrierten Schaltung aufweisen. In anderen Worten, die in der ersten Nachrichtensequenz enthaltene Datenadresse muss sich nicht auf eine Leseanforderung beziehen, sondern kann einem anderen Zweck dienen, wie zum Beispiel einer Schreibanforderung. Weiter muss die nachfolgende Nachrichtensequenz keine Datenadresse aufweisen. Stattdessen kann die nachfolgende Nachrichtensequenz mit der vorhergehenden ersten Nachrichtensequenz assoziiert sein, in der die Datenadresse enthalten war.
  • Weiter kann das Datenelement nur aus der Datenspeichereinheit gelesen werden, wenn das Lesen des Datenelements aus der Datenspeichereinheit eine Turnaround-Zeit beinhalten würde, die länger als eine vorgegebene Schwellen-Turnaround-Zeit ist. Alternativ kann das Datenelement nur aus der Datenspeichereinheit gelesen werden, wenn die Datenadresse zu einem Satz von vorgegebenen Datenadressen gehört. Anders ausgedrückt, der Satz von vorgegebenen Datenadressen kann „langsamen” Datenspeichervorrichtungen entsprechen, deren Turnaround-Zeit länger ist als die vorgegebene Schwellen-Turnaround-Zeit.
  • Die vorgeschlagene integrierte Schaltung kann weiter eine Zielgrenzüberschreitung während eines Burst-Zugriffs erfassen, den Daten-Cachespeicher automatisch leeren und das vorherige Abrufen bzw. Prefetch zu einer neuen Zieldatenspeichereinheit umleiten. In Variationen der vorliegenden Erfindung kann eine weitere Intelligenz zu der Prefetch-Nachschlagefunktion hinzugefügt werden, um eine Grenzüberschreitung in entfernten Bussen während eines Burst-Zugriffs zu erfassen. Eine automatisch inkrementierte Adresse kann die Grenze überschreiten, die eine Datenspeichereinheit von einer anderen in dem Speicherplan trennt. Die Prefetch-Nachschlagetabelle kann überprüft werden, um dies zu erfassen, der Cachespeicher kann geleert werden und ein vorheriges Abrufen kann zu der neuen Zieldatenspeichereinheit gestartet werden.
  • Weiter kann ein/mehrere Einzelwort-Daten-Cachespeicher oder ein/mehrere Block-Daten-Cachespeicher implementiert werden. Wenn die Datenadresse zuerst auf eine „höchstwertiges Bit(msb – most significant bit)”-Weise übertragen wird, dann kann das Lesen des Block-Daten-Cachespeichers beginnen, bevor die letzten niedrigstwertigen (ls – least significant) Bits der Datenadresse empfangen wurden.
  • Es sollte angemerkt werden, dass die Verfahren und Vorrichtungen einschließlich ihrer bevorzugten Ausführungsbeispiele, wie in dem vorliegenden Dokument beschrieben, allein oder in Kombination mit den anderen in diesem Dokument offenbarten Verfahren und Vorrichtungen verwendet werden können. Weiter sind die Merkmale, die in dem Kontext einer Vorrichtung dargelegt werden, auch auf ein entsprechendes Verfahren anwendbar. Weiter können alle Aspekte der Verfahren und Vorrichtungen, die in dem vorliegenden Dokument dargelegt sind, beliebig kombiniert werden. Insbesondere können die Merkmale der Ansprüche beliebig miteinander kombiniert werden.
  • In dem vorliegenden Dokument beziehen sich die Begriffe „koppeln”, „gekoppelt”, „verbinden” und „verbunden” auf Elemente, die in elektrischer Kommunikation miteinander sind, entweder direkt zum Beispiel über Drähte oder auf eine andere Weise verbunden.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird nachfolgend auf beispielhafte Weise unter Bezugnahme auf die beigefügten Zeichnungen erläutert, wobei
  • 1 schematisch eine integrierte Schaltung mit einer seriellen Schnittstelle darstellt;
  • 2 eine beispielhafte Nachrichtensequenz gemäß einem seriellen Nachrichtenprotokoll darstellt; und
  • 3 eine weitere beispielhafte Nachrichtensequenz gemäß einem seriellen Nachrichtenprotokoll darstellt.
  • Beschreibung
  • 1 zeigt schematisch eine beispielhafte integrierte Schaltung mit einer seriellen Schnittstelle 1. In 1 können alle dargestellten Schaltungskomponenten, mit Ausnahme des seriellen Busses 9, Teil der vorgeschlagenen integrierten Schaltung sein. Die beispielhafte Schaltung, die in 1 gezeigt wird, weist eine Prefetch-Steuereinheit 2 und zwei Daten-Cachespeicher 31, 32 auf. Die zwei Daten-Cachespeicher 31, 32 sind mit der seriellen Schnittstelle 1 über einen internen Bus 7 gekoppelt. Weiter ist eine erste Gruppe von Datenspeichereinheiten 41, 42, 43, 44 direkt mit dem internen Bus 7 gekoppelt. In dem gezeigten Beispiel wirkt die serielle Schnittstelle 1 als Bus-Master des internen Busses 7, während die Datenspeichereinheiten 41, 42, 43, 44 und die zwei Daten-Cachespeicher 31, 32 als Bus-Slaves wirken. Zusätzlich ist eine zweite Gruppe von Datenspeichereinheiten 51, 52, 53, 54 über eine Brücke 61 und einen weiteren internen Bus 8 mit dem Daten-Cachespeicher 31 gekoppelt. Wiederum kann die Brücke 61 eine Kommunikation auf dem weiteren internen Bus 8 als ein Bus-Master koordinieren und die zweite Gruppe von Datenspeichereinheiten 51, 52, 53, 54 kann als Bus-Slaves wirken. Weitere Datenspeicher, die in 1 nicht gezeigt werden, können extern zu der integrierten Schaltung sein. Zum Beispiel können externe Datenspeichereinheiten mit dem Daten-Cachespeicher 32 über die Brücke 62 gekoppelt sein.
  • Die 2 und 3 zeigen beispielhafte Nachrichtensequenzen gemäß einem seriellen Nachrichtenprotokoll, das auf dem seriellen Bus 9 implementiert ist. Die dargestellten beispielhaften Nachrichtensequenzen sind konform zu dem I2C(Inter-Integrated Circuit)-Protokoll. Gemäß dem I2C-Protokoll kann die integrierte Schaltung, die mit dem externen seriellen Bus 9 gekoppelt ist, eine Rolle als ein Master-Knoten oder ein Slave-Knoten annehmen. Ein Master-Knoten kann einen Takt erzeugen und eine Kommunikation mit Slave-Knoten initiieren. Ein Slave-Knoten kann den Takt empfangen und antworten, wenn durch einen Master-Knoten adressiert. In dem dargestellten Beispiel fungiert ein Host-System als Master-Knoten und kommuniziert mit der seriellen Schnittstelle 1 der integrierten Schaltung, die als Slave-Knoten wirkt. In anderen Worten, die serielle Schnittstelle 1 ist ausgebildet, (a) als Slave-Knoten in Bezug auf das serielle I2C Protokoll auf dem seriellen Bus 9 zu wirken und (b) als Bus-Master in Bezug auf den internen Bus 7.
  • In den 2 und 3 sind Nachrichten, die von dem als Master-Knoten wirkenden Host-System an die als Slave-Knoten wirkende serielle Schnittstelle 1 übertragen werden, durch fette Rechtecke dargestellt. Nachrichten, die von der als Slave-Knoten wirkenden seriellen Schnittstelle 1 an das als Master-Knoten wirkende Host-System übertragen werden, sind durch gestrichelte Rechtecke dargestellt.
  • 2 zeigt eine Nachrichtensequenz für eine Registerleseanforderung unter Verwendung des I2C-Protokolls. In einer ersten Sequenz zwischen dem Zeitpunkt 21 und dem Zeitpunkt 24 führt der Master-Knoten ein Schreiben einer Datenadresse (in 2 als Registeradresse bezeichnet) in den Slave-Knoten aus. Nach einem Initiieren der Kommunikation mit einer Startnachricht sendet der Master-Knoten eine Slave-Knoten-Adresse, gefolgt von einem Schreibanforderungsbefehl, der nachfolgend von dem Slave-Knoten bestätigt wird. Der Schreibanforderungsbefehl kann aus einem einzelnen R/W-Bit bestehen. Von dem Zeitpunkt 22 zu dem Zeitpunkt 23 überträgt der Master-Knoten die Datenadresse auf dem seriellen Bus 9. An dem Zeitpunkt 23 wird das letzte Bit der Datenadresse empfangen und die serielle Schnittstelle 1 erfasst die Datenadresse auf dem seriellen Bus 9. Ausgelöst durch diese Erfassung leitet die serielle Schnittstelle 1 die erfasste Datenadresse an die Prefetch-Steuereinheit 2 weiter.
  • Die Prefetch-Steuereinheit 2 vergleicht die empfangene Datenadresse mit einer Liste von Datenadressen oder einem Bereich von Datenadressen, um zu entscheiden, ob eine Prefetch-Operation erforderlich ist oder nicht. Datenadressen, die an der Prefetch-Steuereinheit 2 gespeichert sind, können zum Beispiel in der Form einer Nachschlagetabelle (LUT – look-up table) organisiert sein. In dem in 2 gezeigten Beispiel entscheidet die Prefetch-Steuereinheit 2, dass ein vorheriges Abrufen erforderlich ist, da die Datenadresse zum Beispiel mit einer der Datenspeichereinheiten 51, 52, 53, 54 der zweiten Gruppe oder einer externen Datenspeichereinheit assoziiert ist. Das Lesen von Daten aus der zweiten Gruppe von Datenspeichereinheiten 51, 52, 53, 54 oder einer externen Datenspeichereinheit kann eine Turnaround-Zeit beinhalten, die größer ist als eine maximale Antwortzeit, die durch das I2C-Protokoll vorgegeben ist, und ein regulärer Lesezugriff würde somit gegen die zeitlichen Beschränkungen des seriellen Protokolls verstoßen. Durch Übertragen einer Prefetch-Treffer-Nachricht informiert die Prefetch-Steuereinheit 2 die serielle Schnittstelle 1, dass eine Prefetch-Operation erforderlich ist. Alternativ kann eine andere Art der Signalisierung verwendet werden.
  • Bei Empfang der Prefetch-Treffer-Nachricht initiiert die serielle Schnittstelle 1 ein vorheriges Abrufen eines Datenelements, das mit der Datenadresse assoziiert ist, durch Lesen des Datenelements aus der jeweiligen Zieldatenspeichereinheit 51, 52, 53, 54, die mit der Datenadresse assoziiert ist, und Schreiben sowohl des Datenelements als auch der Datenadresse in den Daten-Cachespeicher 31. In 2 ist die Datenadresse mit x bezeichnet.
  • In der Zwischenzeit wurde eine zweite Nachrichtensequenz an dem Zeitpunkt 24 mit einer wiederholten Startnachricht begonnen, die von dem Master-Knoten übertragen wird. Im Folgenden sendet der Master-Knoten wieder die Slave-Knoten-Adresse, gefolgt von einem Leseanforderungsbefehl. Typischerweise besteht der Leseanforderungsbefehl aus einem einzelnen R/W-Bit. Nachdem der Leseanforderungsbefehl an dem Zeitpunkt 25 empfangen wird, tritt ein Cache-Treffer an dem Daten-Cachespeicher 31 auf. Spezifischer, der Daten-Cachespeicher erfasst, zum Beispiel durch Abfangen eines Bus-Lesezyklus auf dem internen Bus 7, dass der Lesezugriff auf den internen Bus 7 mit der Datenadresse assoziiert ist, die zuvor zwischen dem Zeitpunkt 22 und dem Zeitpunkt 23 empfangen wurde. Der Daten-Cachespeicher überträgt, in Reaktion auf das Erfassen des Lesezugriffs, das Datenelement an die serielle Schnittstelle 1. Anschließend bestätigt die serielle Schnittstelle 1 den Empfang der Leseanforderung und leitet das von dem Daten-Cachespeicher 31 empfangene Datenelement an den externen seriellen Bus 9 weiter. In 2 wird das Datenelement als Registerdaten bezeichnet.
  • In dem dargestellten Beispiel ist die maximale Antwortzeit zum Durchführen eines Lesezugriffs zum Beispiel das Zeitintervall zwischen den Zeitpunkten 25 und 26, d. h. das Zeitintervall zwischen dem Zeitpunkt 25, an dem die Leseanforderung vollständig empfangen ist, bis zu dem Zeitpunkt 26, wenn das erste Datenbit des Datenelements auf dem seriellen Bus 9 auszugeben ist. Diese Antwortzeit kann ausreichend sein, um eine Leseoperation aus dem Daten-Cachespeicher 31 oder 32 durchzuführen, falls das Datenelement aus einer Datenspeichereinheit vorher abgerufen wird. Auf diese Weise wird die maximal verfügbare Zeit zum Lesen des Datenelements aus der Datenspeichereinheit (d. h. Durchführen des Lesezugriffs) signifikant verlängert. Insgesamt erstreckt sich die maximal verfügbare Zeit von dem Zeitpunkt 23 bis zu dem Zeitpunkt 25 und sollte ausreichend sein, um das Datenelement in einem Daten-Cachespeicher 31, 32 vorher abzurufen. An dem Zeitpunkt 25, wenn die Leseanforderung vollständig auf dem externen seriellen Bus 9 erfasst ist, muss das Datenelement an die serielle Schnittstelle 1 weitergeleitet werden. Folglich wird es möglich, die zeitlichen Beschränkungen des seriellen Protokolls einzuhalten.
  • Zurück an dem Zeitpunkt 25 in 2, während das Datenelement auf dem seriellen Bus 9 verschoben wird, kann die serielle Schnittstelle 1 versuchen, eine weitere Prefetch-Operation zu initiieren durch Annehmen einer weiteren Datenadresse. In dem gezeigten Beispiel kann ein Adresse-Autoinkrementierungs-Protokoll verwendet werden, um ein Burst-Lesen zu realisieren. Daher sendet die serielle Schnittstelle 1, in Reaktion auf das Erfassen der Leseanforderung auf dem externen seriellen Bus 9 an dem Zeitpunkt 25, eine inkrementierte zweite Datenadresse an die Prefetch-Steuereinheit 2. Die Prefetch-Steuereinheit 2 bestimmt wiederum, dass eine Prefetch-Operation erforderlich ist, und weist die serielle Schnittstelle an, ein Lesen eines zweiten Datenelements aus einer externen Datenspeichereinheit zu initiieren, die mit der zweiten Datenadresse assoziiert ist, und sowohl das zweite Datenelement als auch die zweite Datenadresse in den Daten-Cachespeicher 32 zu schreiben.
  • An dem Zeitpunkt 27 bestätigt der Master-Knoten einen Empfang des Datenelements durch Senden einer Bestätigungsnachricht. Gemäß dem verwendeten Adresse-Autoinkrementierungs-Protokoll muss die Bestätigungsnachricht als eine zweite Leseanforderung auf dem externen seriellen Bus 9 interpretiert werden, die an das zweite Datenelement gerichtet ist, das an der zweiten inkrementierten Datenadresse gespeichert ist. Da das zweite Datenelement bereits in den Daten-Cachespeicher 32 vorher abgerufen ist, tritt ein Cache-Treffer auf und das Datenelement kann schnell von dem Daten-Cachespeicher 32 an den externen seriellen Bus 9 übertragen werden.
  • An dem Zeitpunkt 28 wird eine dritte Prefetch-Operation durch die Prefetch-Steuereinheit 2 initiiert. Dieses Mal wird jedoch ein drittes Datenelement, das in einem der Daten-Cachespeicher 31 und 32 gespeichert ist, nicht an die serielle Schnittstelle 1 weitergeleitet, da das Burst-Lesen durch den Master-Knoten mit einer NACK-Nachricht beendet wird.
  • Wenn während der zweiten Nachrichtensequenz das R/W-Bit eine Schreibanforderung anstelle der erwarteten Leseanforderung anzeigen würde, kann der Inhalt des entsprechenden Daten-Cachespeichers 31 oder 32 ungültig gemacht werden. Dies kann durch die Prefetch-Einheit unter Verwendung des internen Busses 7 durchgeführt werden, um in ein Cachespeicher-Ungültigkeit-Steuerregister des Daten-Cachespeichers 31 oder 32 zu schreiben. Ähnlich können, nach einem Empfangen der NACK-Nachricht während der zweiten Nachrichtensequenz, Cachespeicher-Inhalte ungültig gemacht werden, um eine Verwendung des dritten Datenelements zu vermeiden.
  • 3 zeigt eine weitere beispielhafte Nachrichtensequenz. An den Zeitpunkten 33, 34 und 36 muss die Prefetch-Steuereinheit 2 entscheiden, ob eine Prefetch-Operation durchgeführt werden soll. An dem Zeitpunkt 33 entscheidet die Prefetch-Steuereinheit 2, dass ein vorheriges Abrufen eines mit der Datenadresse (Registeradresse) assoziierten Datenelements erforderlich ist, da ein Lesen des Datenelements aus einer entfernten Datenspeichervorrichtung, das an dem Zeitpunkt 34 beginnt, an dem Zeitpunkt 35 nicht abgeschlossen wäre. Das vorher abgerufene Datenelement (Registerdaten) wird ab dem Zeitpunkt 35 über den internen Bus 7 an die serielle Schnittstelle 1 übertragen.
  • An dem Zeitpunkt 34 entscheidet die Prefetch-Steuereinheit 2, dass ein vorheriges Abrufen eines zweiten Datenelements, das mit einer inkrementierten Datenadresse assoziiert ist, nicht erforderlich ist. Die inkrementierte Datenadresse kann mit einer Datenspeichervorrichtung 41, 42, 43, 44 der ersten Gruppe assoziiert sein, die lokal mit dem internen Bus 7 verbunden ist, und somit ist kein vorheriges Abrufen erforderlich. Als ein Vorteil wird die Last auf dem internen Bus 7 reduziert, indem nur eine Prefetch-Operation durchgeführt wird, wenn dies erforderlich ist. An dem Zeitpunkt 36 wird das Datenelement, das mit der inkrementierten Datenadresse assoziiert ist, direkt aus der entsprechenden Datenspeichervorrichtung 41, 42, 43, 44 durch einen Bus-Lese-Zyklus auf dem internen Bus 7 gelesen.
  • Weiterhin an dem Zeitpunkt 36 entscheidet die Prefetch-Steuereinheit 2, dass ein vorheriges Abrufen eines dritten Datenelements erforderlich ist, das mit einer weiteren inkrementierten Datenadresse assoziiert ist. Dieses Mal ist jedoch das dritte Datenelement in einem Daten-Cachespeicher gespeichert, bleibt jedoch unbenutzt, da das Burst-Lesen durch den Master-Knoten mit einer NACK-Nachricht an dem Zeitpunkt 37 beendet wird.
  • Es sollte angemerkt werden, dass die oben beschriebenen Vorrichtungsmerkmale jeweiligen Verfahrensmerkmalen entsprechen, die jedoch aus Gründen der Prägnanz nicht explizit beschrieben werden. Die Offenbarung des vorliegenden Dokuments gilt jedoch auch für solche Verfahrensmerkmale. Insbesondere betrifft die vorliegende Offenbarung Verfahren für einen Betrieb der oben beschriebenen Schaltungen.
  • Es sollte weiter angemerkt werden, dass die Beschreibung und die Zeichnungen lediglich die Prinzipien der vorgeschlagenen Vorrichtung veranschaulichen. Fachleute werden in der Lage sein, verschiedene Anordnungen zu implementieren, die, obwohl hier nicht explizit beschrieben oder gezeigt, die Prinzipien der Erfindung verkörpern und in ihrem Sinn und Umfang aufgenommen sind. Weiter sind alle in dem vorliegenden Dokument beschriebenen Beispiele und Ausführungsbeispiele hauptsächlich ausdrücklich nur zu erklärenden Zwecken gedacht, um dem Leser bei einem Verständnis der Prinzipien des vorgeschlagenen Verfahrens zu unterstützen. Weiter sollen alle hier enthaltenen Aussagen, die Prinzipien, Aspekte und Ausführungsbeispiele der Erfindung vorsehen, sowie spezifische Beispiele davon, Äquivalente davon umfassen.

Claims (19)

  1. Eine integrierte Schaltung, die mit einem externen seriellen Bus gekoppelt ist, wobei die integrierte Schaltung aufweist eine serielle Schnittstelle, die konfiguriert ist zum Erfassen einer Datenadresse auf dem seriellen Bus; einen Daten-Cachespeicher, der mit der seriellen Schnittstelle über einen internen Bus gekoppelt ist; und eine Prefetch-Steuereinheit, die konfiguriert ist zum Anweisen der seriellen Schnittstelle, ein Datenelement, das mit der erfassten Datenadresse assoziiert ist, vorher abzurufen, durch Veranlassen, dass das Datenelement aus einer Zieldatenspeichereinheit gelesen wird, die mit der Datenadresse assoziiert ist, und das Datenelement und die Datenadresse in den Daten-Cachespeicher geschrieben werden.
  2. Die integrierte Schaltung gemäß Anspruch 1, wobei die Prefetch-Steuereinheit konfiguriert ist zum Vergleichen der Datenadresse mit einem Satz von vorgegebenen Datenadressen und zum Bestimmen, ob das entsprechende Datenelement vorher abzurufen ist, basierend auf dem Vergleichsergebnis.
  3. Die integrierte Schaltung gemäß Anspruch 1 oder 2, wobei die Prefetch-Steuereinheit konfiguriert ist, die serielle Schnittstelle nicht anzuweisen, das Datenelement vorher abzurufen, falls die Datenadresse zu einem Satz von vorgegebenen Datenadressen gehört.
  4. Die integrierte Schaltung gemäß einem der vorhergehenden Ansprüche, wobei die Prefetch-Steuereinheit konfiguriert ist, die serielle Schnittstelle nicht anzuweisen, das Datenelement vorher abzurufen, falls das Lesen von Daten aus der Zieldatenspeichereinheit durch die serielle Schnittstelle eine Turnaround-Zeit umfasst, die kürzer ist als eine vorgegebene Schwellen-Turnaround-Zeit.
  5. Die integrierte Schaltung gemäß Anspruch 4, wobei die vorgegebene Schwellen-Turnaround-Zeit auf einer maximalen Antwortzeit basiert, die durch ein Nachrichtenprotokoll des externen seriellen Busses definiert ist.
  6. Die integrierte Schaltung gemäß einem der vorhergehenden Ansprüche, wobei der Daten-Cachespeicher konfiguriert ist zum Erfassen, auf dem internen Bus, eines Lesezugriffs, der mit der Datenadresse assoziiert ist, und zum Übertragen, in Reaktion auf das Erfassen des Lesezugriffs, des Datenelements an die serielle Schnittstelle, und die serielle Schnittstelle konfiguriert ist zum Weiterleiten des Datenelements von dem Daten-Cachespeicher an den externen seriellen Bus.
  7. Die integrierte Schaltung gemäß einem der vorhergehenden Ansprüche, wobei die Prefetch-Steuereinheit konfiguriert ist zum Anweisen, in Reaktion auf eine Leseanforderung auf dem externen seriellen Bus, der seriellen Schnittstelle zum vorherigen Abrufen eines weiteren Datenelements, das mit einer inkrementierten oder dekrementierten Datenadresse assoziiert ist, durch Lesen des weiteren Datenelements aus einer Zieldatenspeichereinheit, die mit der inkrementierten oder dekrementierten Datenadresse assoziiert ist, und Schreiben sowohl des weiteren Datenelements als auch der inkrementierten oder dekrementierten Datenadresse in den Daten-Cachespeicher.
  8. Die integrierte Schaltung gemäß Anspruch 7, wobei die Prefetch-Steuereinheit konfiguriert ist zum Anweisen, in Reaktion auf eine Leseanforderung auf dem externen seriellen Bus, der seriellen Schnittstelle, das weitere Datenelement nicht vorher abzurufen, falls die inkrementierte oder dekrementierte Datenadresse zu einem Satz von vorgegebenen Datenadressen gehört.
  9. Die integrierte Schaltung gemäß einem der vorhergehenden Ansprüche, wobei die integrierte Schaltung die Zieldatenspeichereinheit aufweist.
  10. Die integrierte Schaltung gemäß einem der vorhergehenden Ansprüche, wobei die Zieldatenspeichereinheit mit der seriellen Schnittstelle über den internen Bus gekoppelt ist.
  11. Die integrierte Schaltung gemäß Anspruch 10, wobei die serielle Schnittstelle ein Bus-Master des internen Busses ist und die Zieldatenspeichereinheit ein Bus-Slave des internen Busses ist.
  12. Die integrierte Schaltung gemäß einem der vorhergehenden Ansprüche, wobei die Zieldatenspeichereinheit mit dem Daten-Cachespeicher über eine Brücke gekoppelt ist.
  13. Die integrierte Schaltung gemäß einem der vorhergehenden Ansprüche, wobei die Zieldatenspeichereinheit extern zu der integrierten Schaltung ist und mit dem Daten-Cachespeicher über eine Brücke gekoppelt ist.
  14. Die integrierte Schaltung gemäß einem der vorhergehenden Ansprüche, wobei die integrierte Schaltung eine integrierte Leistungsverwaltungsschaltung (PMIC – power management integrated circuit) ist, die konfiguriert ist zum Liefern von elektrischer Leistung zu verschiedenen Teilsystemen einer elektronischen Vorrichtung.
  15. Ein Verfahren zum vorherigen Abrufen von Daten in einer integrierten Schaltung mit einer seriellen Schnittstelle und einem Daten-Cachespeicher, wobei das Verfahren aufweist: Erfassen, durch die serielle Schnittstelle, einer Datenadresse, die in einer ersten Nachrichtensequenz auf einem externen seriellen Bus eingebettet ist; Lesen eines Datenelements, das mit der Datenadresse assoziiert ist, aus einer Datenspeichereinheit, die mit der Datenadresse assoziiert ist; Schreiben sowohl des Datenelements als auch der Datenadresse in den Daten-Cachespeicher; Erfassen einer Leseanforderung, die mit der Datenadresse assoziiert ist, auf dem externen seriellen Bus, wobei die Leseanforderung in einer nachfolgenden Nachrichtensequenz eingebettet ist; Übertragen, in Reaktion auf das Erfassen der Leseanforderung, des Datenelements von dem Daten-Cachespeicher an die serielle Schnittstelle; und Weiterleiten des Datenelements an den externen seriellen Bus.
  16. Das Verfahren gemäß Anspruch 15, wobei das Datenelement nur aus der Datenspeichereinheit gelesen wird, wenn die Datenadresse zu einem Satz von vorgegebenen Datenadressen gehört.
  17. Das Verfahren gemäß Anspruch 15 oder 16, wobei das Datenelement nur aus der Datenspeichereinheit gelesen wird, wenn das Lesen des Datenelements aus der Datenspeichereinheit eine Turnaround-Zeit umfasst, die länger ist als eine vorgegebene Schwellen-Turnaround-Zeit.
  18. Das Verfahren gemäß einem der Ansprüche 15 bis 17, wobei die erste Nachrichtensequenz keine Leseanforderung aufweist.
  19. Das Verfahren gemäß einem der Ansprüche 15 bis 17, wobei die nachfolgende Nachrichtensequenz keine Datenadresse aufweist.
DE102015223786.9A 2015-11-30 2015-11-30 Integrierte Schaltung mit serieller Schnittstelle Granted DE102015223786A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102015223786.9A DE102015223786A1 (de) 2015-11-30 2015-11-30 Integrierte Schaltung mit serieller Schnittstelle
US15/235,190 US10248589B2 (en) 2015-11-30 2016-08-12 Integrated circuit with a serial interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015223786.9A DE102015223786A1 (de) 2015-11-30 2015-11-30 Integrierte Schaltung mit serieller Schnittstelle

Publications (1)

Publication Number Publication Date
DE102015223786A1 true DE102015223786A1 (de) 2017-06-01

Family

ID=58693006

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015223786.9A Granted DE102015223786A1 (de) 2015-11-30 2015-11-30 Integrierte Schaltung mit serieller Schnittstelle

Country Status (2)

Country Link
US (1) US10248589B2 (de)
DE (1) DE102015223786A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987530A (en) * 1997-07-10 1999-11-16 National Instruments Coporation Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system
US20040054852A1 (en) * 2002-09-17 2004-03-18 Yueh-Yao Nain Cache/prefetch frame of serial data system and operation method of the same

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664142A (en) * 1990-10-01 1997-09-02 International Business Machines Corporation Chained DMA devices for crossing common buses
US5761464A (en) * 1995-05-22 1998-06-02 Emc Corporation Prefetching variable length data
JP2002010555A (ja) * 2000-06-21 2002-01-11 Denso Corp 車両用回転電機
US7130933B2 (en) * 2002-07-24 2006-10-31 Intel Corporation Method, system, and program for handling input/output commands
US7225318B2 (en) * 2003-10-08 2007-05-29 Intel Corporation Dynamic prefetch in continuous burst read operation
US9678916B2 (en) * 2014-01-16 2017-06-13 Apple Inc. Method and apparatus for simplifying communication between a host system and a display subsystem
US20150268678A1 (en) * 2014-03-19 2015-09-24 Qualcomm Incorporated System and method for current management in a portable device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987530A (en) * 1997-07-10 1999-11-16 National Instruments Coporation Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system
US20040054852A1 (en) * 2002-09-17 2004-03-18 Yueh-Yao Nain Cache/prefetch frame of serial data system and operation method of the same

Also Published As

Publication number Publication date
US10248589B2 (en) 2019-04-02
US20170153990A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
DE60204213T2 (de) Level 2 Cache mit lokaler Beibehaltung von Kohärenzblöcken
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE3204905C2 (de)
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE2241257B2 (de) Datenverarbeitende Anlage
DE102013110085A1 (de) Host zum Steuern einer nicht-flüchtigen Speicherkarte, System mit demselben sowie Verfahren zum Betreiben des Hosts und des Systems
DE112011103207T5 (de) Implementierung eines Quickpath Interconnect-Protokolls auf einer PCIe-Schnittstelle
DE112010002425B4 (de) Delegieren einer Anfrageoperation an eine ander Einrichtung
DE10056827A1 (de) Duale Verwendung von Cache-Verbindungen
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE10234990B4 (de) Hostcontroller, Verfahren zum Betreiben, zugehöriges Southbridgebauelement und Computersystem zur Steuerung der Ersetzung im voraus geholter Deskriptoren in einem Cache
DE112010001404T5 (de) Opportunistische Verbesserung einer MMIO-Anfrageabwicklung aufgrund eines Zielberichts von Raumerfordernissen
DE112010005609T5 (de) Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung
DE112012004926B4 (de) Gemeinsame Speichernutzung durch Prozessoren
DE102009031870A1 (de) Dynamisches Aktualisieren der Routing-Tabelle
DE112017006704T5 (de) Systemspeicher mit punkt-zu-punkt-verbindung, die komprimierten verkehr transportiert
DE19908618A1 (de) Gemeinsam genutzter Hochleistungscachespeicher
DE69724732T2 (de) Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE2530599C2 (de) Verfahren und Schaltungsanordnung zur Steuerung von Ein-/Ausgabe-Geräten
DE60130300T2 (de) Bus, der auf einer Flanke eines Taktsignals abtastet und auf der anderen Flanke treibt
DE102021108300B4 (de) Weiterleitung von steuerdaten zwischen halbleiterpaketen
DE69629331T2 (de) System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie
DE102015203202A1 (de) Speicher-Subsystem mit auf ein Wrapped-Lesen folgendem kontinuierlichen Lesen
DE102021108294B4 (de) System und verfahren für skalierbare hardware-kohärente speicherknoten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division