DE60122968T2 - Rekonfigurierbare Speicherabbildung für ein System auf einem Chip - Google Patents

Rekonfigurierbare Speicherabbildung für ein System auf einem Chip Download PDF

Info

Publication number
DE60122968T2
DE60122968T2 DE2001622968 DE60122968T DE60122968T2 DE 60122968 T2 DE60122968 T2 DE 60122968T2 DE 2001622968 DE2001622968 DE 2001622968 DE 60122968 T DE60122968 T DE 60122968T DE 60122968 T2 DE60122968 T2 DE 60122968T2
Authority
DE
Germany
Prior art keywords
bus
memory
address
cpu
registers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE2001622968
Other languages
English (en)
Other versions
DE60122968D1 (de
Inventor
Roger Bicester May
Andrew Chesham Draper
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.)
Altera Corp
Original Assignee
Altera Corp
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 Altera Corp filed Critical Altera Corp
Publication of DE60122968D1 publication Critical patent/DE60122968D1/de
Application granted granted Critical
Publication of DE60122968T2 publication Critical patent/DE60122968T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

  • Diese Erfindung betrifft einen rekonfigurierbaren Speicherplan für ein System auf einem Chip.
  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft digitale Systeme. Insbesondere betrifft die vorliegende Erfindung einen Speicherplan für ein System auf einem Chip (SoC).
  • Die Grundkomponenten, welche ein herkömmliches digitales Mikrocomputersystem umfassen, enthalten einen Taktgeber, einen Mikroprozessor, einen Programmspeicher (d.h. einen Festwertspeicher (ROM)), einen Datenspeicher (d.h. einen Direktzugriffsspeicher (RAM)) und eine Peripherieschnittstelle. Die Peripherieschnittstelle dient dazu, Eingabe/Ausgabe (E/A)-Einrichtungen (d.h. periphere Einrichtungen), wie z.B. einen Drucker, eine Tastatur und Anzeigeeinheiten) mit dem Systembus zu koppeln. Der Mikroprozessor kommuniziert mit anderen Elementen des Systems über parallele Signalleitungen, welche zusammengenommen einen internen Systembus umfassen. Der Systembus wird üblicherweise hinsichtlich seiner Funktionalität bezeichnet, d.h. Adressbus, Datenbus und Steuerbus. Der Mikroprozessor adressiert einen Speicher (d.h. einen Programmspeicher und einen Datenspeicher) über einen Adressbus. Er adressiert auch periphere Einrichtungen (auf die über eine Peripherieschnittstelle zugegriffen wird) über einen Adressbus, da der Speicher und die peripheren Einrichtungen tatsächlich parallel konfiguriert sind. Systeme, welche in der oben beschriebenen Weise aufgebaut sind, sollen eine speicherkonforme E/A haben, da der Mikroprozessor basierend auf dem beschriebenen Adressierungsschema auf einen Speicher und periphere Einrichtungen zugreift.
  • Der gesamte Adressensatz, den ein Mikroprozessor erzeugen kann, wird üblicherweise als der "Adressraum" des Systems bezeichnet. Wenn ein herkömmliches Mikroprozessor-basierendes System konstruiert wird, wird der Adressraum vordefiniert oder „festgelegt". Anders ausgedrückt, werden alle Adressen sowohl für den Speicher als auch für die peripheren Einrichtungen dauerhaft in dem Adressraum des Systems festgelegt. Wenn diese Adresskenndaten einmal festgelegt worden sind, richtet sich eine Adressierung nach einem festgelegten Adressplan (manchmal auch als ein "Speicherplan" bezeichnet, selbst wenn periphere Einrichtungen ohne Speicher in dem Plan enthalten sind).
  • Implementation of PCI-based systems using programmable logic – IEE Proc.-Circuits Devices Syst., Band 147, 3. Juni 2000, Seite 171–174 beschreibt ein Verfahren zum Abbilden bzw. Umsetzen einer Speicheradressbasis in ein Basisadressregister.
  • ÜBERSICHT DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung wird ein rekonfigurierbarer Speicherplan und sein zugehöriges Rekonfigurationsverfahren für ein System offenbart, welches einen integrierten Prozessor, einen erneut programmierbaren Speicher und ein programmierbares Logik-Array (z.B. ein PLD) umfasst.
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung ist ein wie im Anspruch 1 beschriebenes digitales System vorgesehen.
  • Die folgende detaillierte Beschreibung und die beigefügten Zeichnungen bieten ein besseres Verständnis der Natur und der Vorteile der vorliegenden Erfindung.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein beispielhaftes Blockdiagramm eines digitalen Systems 10, welches ein Umfeld veranschaulicht, dem Ausführungsformen der vorliegenden Erfindung zugeordnet sein können.
  • 2 zeigt ein weiteres beispielhaftes Blockdiagramm eines digitalen Systems, welches ein alternatives System 20 veranschaulicht, dem Ausführungsformen der vorliegenden Erfindung zugeordnet sein können.
  • 3 zeigt ein beispielhaftes Blockdiagramm eines digitalen Systems, welches ein alternatives System 30 veranschaulicht, dem Ausführungsformen der vorliegenden Erfindung zugeordnet sein können.
  • 4 zeigt eine beispielhafte physikalische Abbildung von Resourcen für einen 4 Gigabyte-Adressraum gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 5 zeigt ein beispielhaftes rekonfigurierbares Register, welches eine Basisadresse, die Größe und die Art eines erlaubten Zugriffs spezifiziert, gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 6 zeigt ein Beispiel, wie rekonfigurierbare Register mit einem physikalischen Speicher im Zusammenhang stehen, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • BESCHREIBUNG DER SPEZIELLEN AUSFÜHRUNGSFORMEN
  • Die vorliegende Erfindung ist insbesondere auf einen vollständig rekonfigurierbaren Speicherplan zur Verwendung beispielsweise in einem System auf einem Chip (SoC) gerichtet. Herkömmliche Systeme haben einen festen Speicherplan, was bedeutet, dass der Adressraum für Peripheriegeräte und einen Speicher zum Entwurfszeitpunkt festgelegt wird. Die vorliegende Erfindung bietet einem Benutzer die Fähigkeit, die Adressierungsanordnung, z.B. eine Start (oder "Basis")-Adresse und die Größe (oder "Bereich"), die jeder Speicher und jede periphere Einrichtung bzw. Bauelement in dem Speicherplan belegt, zuzuweisen und zu modifizieren. Bevor der Speicherplan-Aspekt der vorliegenden Erfindung beschrieben wird, wird das Umfeld dargelegt, dem der Speicherplan zugehören kann.
  • 1 zeigt ein beispielhaftes Blockdiagramm eines digitalen Systems 10, welches eine Umgebung veranschaulicht, dem Ausführungsformen der vorliegenden Erfindung zugeordnet sein können. Das System kann auf einer einzelnen Platine, auf mehreren Platinen oder sogar in mehreren Gehäusen vorgesehen sein. 1 veranschaulicht ein System 10, in welchem ein programmierbares logisches Bauelement 106 verwendet werden kann. Programmierbare logische Bauelemente werden gegenwärtig beispielsweise durch Altera's MAX®, FLEX® und APEXTM PLD-Serien vertreten.
  • In der speziellen Ausführungsform der 1 ist ein Halbleiterbauelement 100 mit einem Speicher 102 und einer E/A 104 gekoppelt und umfasst ein programmierbares logisches Bauelement (PLD) 106 und eine eingebettete Logikschaltung 107, welche neben anderen Bauteilen eine CPU (oder Prozessor) 109 umfassen kann. Das System 10 kann ein digitales Computersystem, ein digitales Signalverarbeitungssystem, ein spezialisiertes digitales Schaltnetz oder anderes Verarbeitungssystem sein. Darüber hinaus können solche Systeme für eine große Vielzahl von Anwendungen bestimmt sein, wie z.B. – lediglich beispielhaft – Telekommunikationssysteme, KFZ-Systeme, Steuer/Regelsysteme, Konsumelektronik, Personal Computer und andere.
  • 2 zeigt ein weiteres beispielhaftes Blockdiagramm eines digitalen Systems 20, welches ein alternatives System 20 veranschaulicht, dem Ausführungsformen der vorliegenden Erfindung zugeordnet sein können. Die Busarchitektur umfasst Bus-Master 200, 201, 202 und 204, die jeweils mit einem oder mehreren der Peripheriegeräte in dem System, z.B. einem Speicher 206, und anderen Peripheriegeräten 208 bis 216, wie z.B. E/A-Bauelementen usw., über Brücken 218 bis 224 kommunizieren kann. Die Hauptfunktion von jedem Bus-Master besteht darin, den Bus zu verwalten, dem er angehört und zu steuern, welche Bauelemente bzw. Geräte auf den Bus zugreifen können. Die Brücken 218 bis 224 dienen dazu, eine Kommunikation zwischen einem Bus-Master in einer ersten Taktdomäne mit einem Peripheriegerät in einer zweiten Taktdomäne zu erlauben, um auf diese Weise zu ermöglichen, dass die Komponenten auf jeder Brücke mit ihren individuellen optimalen Geschwindigkeiten arbeiten. Eine Brücke erreicht dies, indem sie möglichst einen Zuerst-Herein-Zuerst-Hinaus (FIFO)-Puffer umfasst, welcher Daten mit der Taktrate einer ersten Brücke annimmt und sie zu einem zweiten Bus mit der Taktrate des zweiten Busses ausgibt. Solange jeder Bus-Master auf ein verschiedenes Peripheriegerät auf einem verschiedenen Bus zugreift, führt die Verwendung von Busbrücken 218 bis 224 zu einer verbesserten Systemleistung, da mehrere Bus-Master mit verschiedenen Peripheriegeräten auf verschiedenen Bussen gleichzeitig kommunizieren können, ohne das Problem einer Buszugriffskonkurrenz. Mit anderen Worten sorgt diese Ausführungsform der vorliegenden Erfindung für die Aufteilung von Verarbeitungselementen in ihre eigenen Taktdomänen 226 bis 232 und sieht Brücken 218 bis 224 vor, welche eine Kommunikation mit anderen Bauelementen auf Bussen über Taktdomänen 226 bis 232 erlaubt. Nichtsdestotrotz ist die Busarchitektur des Systems 20 flexibel genug, um viele Bus-Master aufzunehmen, z.B. Bus-Master 200 und 202, welche denselben Bus teilen. Das einzige Erfordernis ist, dass die Bus-Master mit derselben Frequenz arbeiten. Jede Taktdomäne kann von unabhängigen Taktquellen stammen oder von einer Aufteilung von einer oder mehrerer Taktquellen stammen. Während die Ausführungsform in 2 eine bestimmte Anzahl an Bus-Mastern und peripheren Einrichtungen zeigt, sollte erkannt werden, dass diese Anzahl lediglich beispielhaft ist und dass ein Aufbau möglich ist, welcher eine beliebige Anzahl an Bus-Master, Bussen, Brücken und Peripheriegeräten hat und daher im Schutzbereich der vorliegenden Erfindung liegt.
  • 3 zeigt ein weiteres beispielhaftes Blockdiagramm eines digitalen Systems 20, welches eine alternative Umgebung veranschaulicht, welcher Ausfüh rungsformen der vorliegenden Erfindung zugeordnet sein können. Der Zugriff auf Peripheriegeräte wird durch eine Anzahl Bus-Master gesteuert, welche durch eine Busstruktur verbunden sind, welche zwei oder mehrere Busse umfasst, von denen jeder beispielsweise ein Advanced High-Performance Bus (AHB) ist, der ein Bus ist, der sich nach dem offenen Advanced Microcontroller Bus Architecture (AMBA)-Standard richtet. In dieser beispielhaften Umgebung sind drei Bus-Master vorhanden, einschließlich eines Prozessors 300, des PLD-Masters 302 und einer Konfigurationslogik 304. Diese Bus-Master 300 bis 304 können Lese- und Schreiboperationen durch eine Bereitstellung von Adress- und Steuerinformation veranlassen. Der Prozessor 300 ist mit einem ersten Bus 306 (z.B. einem 32-bit AHB-Bus) verbunden. Der erste Bus 306 verbindet auch mit einem oder mehreren peripheren Bauelementen, wie z.B. einer synchronen dynamischen Direktzugriffsspeicher (SDRAM)-Steuerung 308, einem prozessorintegrierten (On-Chip) statischen Direktzugriffsspeicher (SRAM) (Einzel- 310 und Doppel- 312 Port), einem Prozessor nur Peripheriegeräte (z.B. eine Unterbrechungssteuerung 314 und einen Überwachungszeitgeber 316). Eine Testschnittstellensteuerung (TIC) 318 kann auch mit dem ersten Bus 406 für einen Funktionstest verbunden sein. Die übrigen Bus-Master, welche in diesem Beispiel der PLD-Master 302 und die Konfigurationslogik 304 sind, teilen einen zweiten Bus 307. Der zweite Bus 307 kann beispielsweise ein Standard 32-bit AHB-Bus, welcher eine akzeptable niedrige Speicherzugriffsgeschwindigkeit gewährleisten kann, von dem PLD-Master 302 und der Konfigurationslogik 304 sein, welche für den Prozessor 300 erforderlich sein können, welcher wie oben beschrieben mit dem ersten Bus 306 verbunden ist. In ähnlicher Weise können Peripheriegeräte, auf die mit einem vergleichsweise größeren Latenztoleranzgrad zugegriffen werden kann, mit dem zweiten Bus 307 verbunden sein. Einige der Module, welche mit dem zweiten Bus 307 verbunden sind, können beispielsweise einen universellen asynchronen Sender/Empänger (UART) 320, eine Buserweiterung 322, einen Zeitgeber 324, einen Taktgeber 326, eine Rücksetz/Modus (Reset/Mode)-Steuerung 328, eine SDRAM-Speichersteuerung 308 und prozessorintegrierte (On-Chip) statische Einzel- und Doppel-Direktzugriffsspeicher (SRAMs) 310 und 312 umfassen. Der zweite Bus 307 ist auch mit einer PLD-Slave-Brücke 332 und einer PLD-Master-Brücke 334 verbunden, von denen jede mit einem PLD in dem System (in 3 nicht gezeigt) über einen dritten Bus (336) bzw. einen vierten Bus (338) gekoppelt ist. Der dritte Bus 336 und der vierte Bus 338 können beispielsweise Standard 32-bit AHB-Busse sein.
  • Es ist verständlich, dass es viele andere Systemumgebungen gibt, in welche der Speicherplan-Aspekt der vorliegenden Erfindung eingebunden werden kann. Folglich sind die oben beschriebenen Mehrfachbusumgebungen nur beispielhaft und andere Systemumgebungen sind möglich. Beispielsweise könnte eine Systemumgebung möglich sein, welche nur einen einzigen Systembus hat, welcher mit dem Speicherplan-Aspekt der vorliegenden Erfindung verknüpft ist.
  • Nun, da beispielhafte Umgebungsausführungsformen der vorliegenden Erfindung beschrieben worden sind, wird ein beispielhafter Speicherplan gemäß einer Ausführungsform der vorliegenden Erfindung beschrieben.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann eine physikalische Umsetzung von Resourcen das Zuweisen eines einzigen Adressraums für Komponenten, wie z.B. den FLASH-Speicher, das SDRAM und das Einzel- und/oder Doppel-Port-SRAM (wie in 3 gezeigt) und/oder ein PLD, umfassen. Als ein spezielles Beispiel betrachte die in 4 gezeigten Systemkomponenten. Wie gezeigt, kann ein FLASH-Speicher prozessorextern (Off-Chip) vorhanden sein, ein oder mehrere Chips umfassen und mit einem Buserweiterungsmodul 422 gekoppelt sein. Das SDRAM kann auch prozessorextern vorhanden sein und mit einer Speichersteuerung gekoppelt sein, beispielsweise einer in 3 gezeigten Speichersteuerung 330. Prozessorintegrierte Einzel- und Doppel-Port-SRAMs können auch zwischen einem ersten Bus 306 und einem zweiten Bus 307 gekoppelt sein. Obwohl nicht gezeigt, können andere Bauelemente bzw. Einrichtungen abgebildet werden. Beispielsweise können Speicherplanregister umgesetzt werden, wobei die Speicherplanregister dazu konfiguriert sind, Adressinformation für Systemresourcen zu speichern. Einige dieser Komponenten, welche beispielhafte Größen und Quantitäten haben, sind in dem in 5 gezeigten beispielhaften 4-Gigabyte-Speicherraum zusammengefasst. Es sollte betont werden, dass die Größe des Speicherplans, die Art der Komponenten und die Größe (in Byte) von jeder Komponente nur beispielhaft gezeigt ist.
  • Ein Speicherplan für die obigen beispielhaften Komponenten kann durch eine Anzahl von rekonfigurierbaren Speicherplanregistern angegeben werden. Im Allgemeinen gibt jedes Register eine Basisadresse, Größe und Art des Zugangs an, wie beispielsweise für das 32-bit-Register in 6 gezeigt. Diese beispielhafte 32-bit-Adresse erlaubt einen Adressraum von 4 Gigabyte. In dem beispielhaften System 30 in 3 kann der zweite Bus 307 auf die Register zugreifen, sodass auf sie entweder durch den Prozessor 300 oder die Konfigurationslogik 304 zugegriffen werden kann. Ein Benutzer kann die Basisadresse, den Adressbereich, den Vorabbefehl (Pre-fetch)-Status und die Freigabe/Sperrung des Adressbereichs von jeder Speicherkomponente oder jedem Peripheriegerät einstellen oder modifizieren.
  • Die Bezeichnung "EN" über dem nullten Bit des Registers in 6 bedeutet, dass die Decodierung des Speicherbereichs, welcher dem speziellen Register zugeordnet ist, ermöglicht wird, wenn das Bit gesetzt ist. Das erste Bit in dem Register ("NP" bezeichnet, d.h. kein Vorauslesen) steuert, wie sich eine Brücke (z.B. die Brücken 318 bis 324 in 3) verhalten kann, wenn auf den Bereich zugegriffen wird, welcher dem Register zugeordnet ist. Wenn das Bit nicht gesetzt ist, dann wird ein Zugriff auf den Bereich im Voraus gelesen (z.B. bis zu der nächsten 1 kB Grenze) und Schreibvorgänge können der Geschwindigkeit wegen verzögert oder aggregiert werden. Wenn das Bit gesetzt ist, dann wird jeder Zugriff auf den Bereich verzögert, bis ein vorangehender Zugriff abgeschlossen ist. Das GRÖSSE-Feld eines Registers bezeichnet den für ein zugeordnetes Bauelement reservierten Adressbereich und folgt in diesem Beispiel der folgenden Formel: GRÖSSE = log2(Bereichsgröße) – 1. So wäre beispiels weise GRÖSSE gleich 19 für einen 1 MB-Bereich. Eine Basisadresse für einen Adressbereich eines Bauelements in dem Register wird in den Bits 14 bis 31 in dem Register spezifizieren.
  • Nun auf 6 Bezug nehmend ist dort ein Beispiel gezeigt, wie Speicherplanregister mit einem physikalischen Speicher zusammenhängen, gemäß einer Ausführungsform der vorliegenden Erfindung. Zwei Speicherplanregister 601, 602 sind gezeigt, um diesen Aspekt der Erfindung zu erläutern und es sollte verstanden werden, dass jede Zahl an Registern möglich ist. Die Speicherplanregister 601 und 602 spezifizieren jeweils eine Basisadresse, einen Adressbereich (d.h. Größe), Freigabe (EN) und Befehlsvorverarbeitungsstatus für Resourcen 1 und 2. Die Basisadresse und die Größe, welche für die Resourcen 1 und 2 reserviert sind, werden in einem physikalischen Speicher 605 abgebildet, wie durch Pfeile 606 und 607 bzw. 608 und 609 angedeutet. Speicherplanregister 601 und 602 können gemäß einem Datum geladen werden, welches von einer Vorgabe (Default)-Konfigurationsquelle 610, einem FLASH-Speicher 612 oder einer Konfigurationslogikquelle 324 bereitgestellt wird. Die physikalische Speicherstelle der Speicherplanregister 601 und 602 ist vorzugsweise, aber nicht definitiv, in einer Rücksetz/Modus-Steuerung 328 angeordnet, wie in dem beispielhaften System 30 in 3 gezeigt.
  • In einer weiteren Ausführungsform der Erfindung wird nach einer Rücksetzoperation des Systems eine Basisadresse auf irgendeine Zahl, beispielsweise 0x7FFFF000, gesetzt. Diese Basisadresse ist rekonfigurierbar, solange der Speicherbereich nicht den für ein anderes Bauelement reservierten Bereich überlappt. In diesem Beispiel muss ein minimaler Bereich von 16 KB reserviert werden.
  • In einer weiteren Ausführungsform der Erfindung wird das System hochgefahren, ein Vorgabe-Speicherplan spezifiziert einen Registerbereich für Register, welche dazu verwendet werden, den Speicherplan zu konfigurieren. In einer alternativen Ausführungsform kann das System von einem FLASH-Speicher ge bootet werden. Wenn ein FLASH verwendet wird, wird die Startadresse des FLASH-Bereichs umgesetzt, beispielsweise zu einem Rücksetzvektor des Systemprozessors (d.h. den Vektor, bei welchem der Prozessor einen Code auszuführen beginnt). Wenn zusätzlich der Prozessor von einem FLASH gebootet wird, kann der Code von dem Prozessor in den Registerbereich geschrieben werden, um selektiv Resourcen freizugeben, wie z.B. ein prozessorintegriertes SRAM, eine PLD-Slave-Schnittstelle usw. (siehe 4), und die gewünschten Adressbereiche in dem Speicherplan zu spezifizieren. Nachdem der Speicherplan spezifiziert ist, kann der Prozessor den Registerbereich von dem Speicherplan entfernen, indem ein Sperrbit in dem entsprechenden Register gesetzt wird.
  • In noch einer weiteren Ausführungsform kann eine externe Konfigurationseinrichtung mit dem System gekoppelt werden und die entsprechenden Registermuster bereitstellen, wenn der Prozessor nicht von einem FLASH gebootet wird. In dieser Situation werden die Muster in das System über einen Konfigurationsanschluss der Konfigurationslogik 404 (siehe 4) heruntergeladen. Die Konfigurationslogik 404 schreibt dann den Registerbereich auf den zweiten Bus 407. Wenn der Speicherplan einmal in die Register heruntergeladen und installiert ist, kann der Prozessor ausgehend von diesem Rücksetzvektor booten.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung stellt die Flexibilität, welche durch den rekonfigurierbaren Speicherplan geboten wird, eine Option bereit, um alle Speicherbereiche mit Ausnahme der dem PLD-Slave zugeordneten zu sperren, sodass alle Speicherzugriffe von dem Prozessor 400 an das PLD (siehe 4) gerichtet werden. Dieser Aspekt der Erfindung ist beispielsweise beim Prototyping verwendbar, wo ein Benutzer wünscht, den ganzen Adressraum (z.B. den gesamten in 5 zusammengefassten 4 GB Adressraum) auf das PLD umzusetzen. Dies erlaubt es dem Benutzer, das System mit dem in der eingebetteten Logik instanziierten Prozessor und aller anderen Hardware in dem PLD aufzubauen.
  • Schließlich offenbart die vorliegende Erfindung ein rekonfigurierbares Speicherplanverfahren und eine Vorrichtung, welche in einem System auf einem Chip enthalten sein kann. Die vorangehende Beschreibung von bevorzugten beispielhaften Ausführungsformen wurde zum Zwecke der Beschreibung vorgelegt.

Claims (4)

  1. Digitales System auf einem Halbleiterchip zur Spezifizierung eines Speicherplans, wobei das digitale System umfasst: eine zentrale Prozessoreinheit (CPU) (109); ein programmierbares logisches Bauelement (PLD) (106), welches mit der CPU (109) in Verbindung steht; eine Konfigurationslogik (304); eine Mehrzahl von Registern, welche durch die Konfigurationslogik (304) konfigurierbar sind und mit der CPU (109) in Verbindung stehen, wobei: die Mehrzahl von konfigurierbaren Registern konfiguriert sind, um Basisadressen, an welchen bezüglich des digitalen Systems innere und äußere Systemressourcen durch die CPU (109) oder durch die Konfigurationslogik (304) adressiert werden können, und Adressbereiche, in welchen die Basisadressen durch die CPU (109) oder durch die Konfigurationslogik (304) adressiert werden können, anzunehmen und zu speichern, dadurch gekennzeichnet, dass: das digitale System allen konfigurierbaren Registern und allen Adressbereichen ermöglicht, deaktiviert zu werden, außer einem Register, welches eine Basisadresse und einen Adressbereich für das PLD (106) spezifiziert, so dass alle Speicherzugriffe durch die CPU (109) an das PLD (106) gerichtet werden müssen.
  2. Das System nach Anspruch 1, wobei die Adressinformation ferner die Art des Zugriffs umfasst, welcher für den Adressbereich erlaubt ist.
  3. Das System nach Anspruch 1, wobei die CPU (109) mit einem ersten Systembus in einer ersten Taktdomäne gekoppelt ist und die Register mit einem zweiten Systembus in einer zweiten Taktdomäne gekoppelt sind.
  4. Das System nach Anspruch 1, wobei die Konfigurationslogik (304) mit einem zweiten Systembus gekoppelt ist und die Register mit dem zweiten Systembus gekoppelt sind.
DE2001622968 2000-06-12 2001-06-11 Rekonfigurierbare Speicherabbildung für ein System auf einem Chip Expired - Fee Related DE60122968T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21109400P 2000-06-12 2000-06-12
US211094P 2000-06-12
US66820200A 2000-09-22 2000-09-22
US668202 2000-09-22

Publications (2)

Publication Number Publication Date
DE60122968D1 DE60122968D1 (de) 2006-10-26
DE60122968T2 true DE60122968T2 (de) 2007-05-24

Family

ID=26905822

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001622968 Expired - Fee Related DE60122968T2 (de) 2000-06-12 2001-06-11 Rekonfigurierbare Speicherabbildung für ein System auf einem Chip

Country Status (3)

Country Link
EP (1) EP1164490B1 (de)
JP (1) JP2002099464A (de)
DE (1) DE60122968T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711673B1 (en) * 2000-01-03 2004-03-23 Advanced Micro Devices, Inc. Using a model specific register as a base I/O address register for embedded I/O registers in a processor
JP4451733B2 (ja) * 2004-06-30 2010-04-14 富士通マイクロエレクトロニクス株式会社 半導体装置
JP2008158964A (ja) * 2006-12-26 2008-07-10 Nec Access Technica Ltd メモリ用アドレスマッピング方法、それを適用したメモリデバイス
EP2188894B1 (de) 2007-09-13 2017-10-18 Friedrich-Alexander-Universität Erlangen-Nürnberg Logikchip, logiksystem und verfahren zum entwerfen eines logikchips
JP5158187B2 (ja) 2008-02-28 2013-03-06 富士通株式会社 ストレージ装置、ストレージ制御装置およびストレージ制御方法
ES2353792B1 (es) * 2009-01-20 2012-01-30 Universidad De Castilla-La Mancha Método y sistema para la comunicación indirecta de los componentes de un sistema electrónico.
US11048626B1 (en) * 2020-02-21 2021-06-29 Intel Corporation Technology to ensure sufficient memory type range registers to fully cache complex memory configurations

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446869A (en) * 1993-12-30 1995-08-29 International Business Machines Corporation Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card

Also Published As

Publication number Publication date
EP1164490A2 (de) 2001-12-19
JP2002099464A (ja) 2002-04-05
DE60122968D1 (de) 2006-10-26
EP1164490B1 (de) 2006-09-13
EP1164490A3 (de) 2004-03-17

Similar Documents

Publication Publication Date Title
DE102004009497B3 (de) Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
DE112005002298B4 (de) Leistungssteigerung einer Adreßübersetzung unter Verwendung von Übersetzungstabellen, die große Adreßräume umfassen
DE102019122363A1 (de) Programmierbare doppelreihige arbeitsspeichermodul-beschleunigerkarte (dimm-beschleunigerkarte)
DE60016220T2 (de) Speichererweiterungsmodul mit einer vielzahl von speicherbanken und einer banksteuerungschaltung
DE69737757T2 (de) System und Verfahren zur Speicher-Emulation
DE10212642B4 (de) Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung
DE19982871B4 (de) Speichersystem mit jeweils einen Speichermodul-Controller enthaltenden Speichermodulen
DE60118622T2 (de) Benutzer-konfigurierbares on-chip speichersystem
DE19847642C2 (de) PCI-PCI-Brücke
DE112004002259B4 (de) Zugriff auf private Daten zum Status einer datenverarbeitenden Maschine von einem öffentlich zugänglichen Speicher
DE69815258T2 (de) Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung
DE112007000862T5 (de) Multiplexieren einer Parallelbus-Schnittstelle und einer Flash Memory-Schnittstelle
DE102019110023A1 (de) System mit programmierbarer Multi-Kontext-Beschleuniger-Schaltung
EP2807558B1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem-kern zur exklusiven bereitstellung an virutelle maschinen
DE102004033445A1 (de) Host-integrierte Schaltungseinheit und Ressourcenzugriffsverfahren
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE102007050864A1 (de) Verfahren und Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen
DE102006043311A1 (de) Speichersystem
DE102006035870A1 (de) Halbleiterspeicher mit gemeinsam genutzter Schnittstelle
DE10056827A1 (de) Duale Verwendung von Cache-Verbindungen
DE102006035869A1 (de) Dualtor-Halbleiterspeicher
DE3739993C2 (de)
DE60122968T2 (de) Rekonfigurierbare Speicherabbildung für ein System auf einem Chip
DE112019002336T5 (de) Speicherpoolzuordnung für ein mehrkern-system
DE4429764C2 (de) Zeitgebereinrichtung für einen Mikrocomputer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee