DE19953931C2 - Data processing system with a CPU unit - Google Patents

Data processing system with a CPU unit

Info

Publication number
DE19953931C2
DE19953931C2 DE19953931A DE19953931A DE19953931C2 DE 19953931 C2 DE19953931 C2 DE 19953931C2 DE 19953931 A DE19953931 A DE 19953931A DE 19953931 A DE19953931 A DE 19953931A DE 19953931 C2 DE19953931 C2 DE 19953931C2
Authority
DE
Germany
Prior art keywords
memory
data processing
processing system
port memory
address
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
DE19953931A
Other languages
German (de)
Other versions
DE19953931A1 (en
Inventor
Norbert Straub
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.)
JANUSSSOFT EDV ENTWICKLUNG und
Original Assignee
JANUSSSOFT EDV ENTWICKLUNG und
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 JANUSSSOFT EDV ENTWICKLUNG und filed Critical JANUSSSOFT EDV ENTWICKLUNG und
Priority to DE19953931A priority Critical patent/DE19953931C2/en
Publication of DE19953931A1 publication Critical patent/DE19953931A1/en
Application granted granted Critical
Publication of DE19953931C2 publication Critical patent/DE19953931C2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

Die Erfindung bezieht sich auf eine Datenverarbeitungsanlage mit einer CPU-Einheit, die mindestens einen flüchtigen Speicher (RAM: Random-Access- Memory) und einen weiteren Speicher aufweist, die mit der CPU elektrisch verbunden sind.The invention relates to a Data processing system with a CPU unit that at least one volatile memory (RAM: Random Access Memory) and a further memory, which with the CPU are electrically connected.

Beim Hochfahren (booten) eines durch einen Prozessor gesteuerten Logiksystems startet der Prozessor sein Programm an einer bestimmten Adresse, der Urladeadresse, die sich in der Regel am Anfang oder am Ende des Adreßraums des jeweiligen Prozessors befindet. Dieses Konstruktionsprinzip macht es notwendig, daß von der Urladeadresse aus einem nicht flüchtigen Speicher der erste Programmschritt geladen werden kann. Man realisiert diese Nichtflüchtigkeit in der Regel durch Installation von Nurlesespeicher (ROM), wie z. B. ROM, OTP, EPROM, EEPROM an der betreffenden Startadresse. Hierbei können auch flüchtige Speicher, die durch eine Sicherheitsvorkehrung, wie z. B. eine Backupbatterie, nichtflüchtig gemacht wurden, verwendet werden. Auch direkt auf der CPU kann sich der Nurlesespeicher als OTP, EPROM, EEPROM, maskenprogrammiertes ROM oder Flash Memory befinden, um von dort den Urladevorgang ausführen zu können. Im letzteren Fall kann das ROM dann bei einigen neueren Bausteinen "fliegend", d. h. während des Betriebs, abgeschaltet werden, um den betreffenden Adreßraum wieder freizumachen. Dies macht jedoch einen erhöhten Aufwand in der Architektur des Prozessors notwendig. In vielen Fällen - insbesondere wenn die eigenständigen Systeme nur in Ergänzung eines anderen Computersystems verwendet werden - wäre es von Vorteil, wenn man auf den ressourcenverbrauchenden, nichtflüchtigen Speicher verzichten könnte. Weiterhin wäre es vorteilhaft, wenn die ersten Programmschritte nach dem Start einer Datenverarbeitungsanlage ohne Hardwaretausch jederzeit verändert bzw. aktualisiert werden könnten. Hierbei ist es bereits bekannt, daß man den Nurlesespeicher durch ein Flash Memory realisiert, da dieses mit geringem Aufwand neu beschrieben werden kann. Diese Vorgehensweise ist jedoch sehr aufwendig und fehlerträchtig, da z. B. bei einem Stromausfall während der Aktualisierung des Flash Memorys das System nicht mehr hochgefahren werden kann, da es mit dem Stromausfall seine Integrität verliert.When booting one up by a processor controlled logic system starts the processor Program at a specific address, the bootstrap address, which are usually at the beginning or end of the address space of the respective processor. This Construction principle makes it necessary that from the Boot address from a non-volatile memory the first Program step can be loaded. You realize this Non-volatility usually by installing Read only memory (ROM), such as. B. ROM, OTP, EPROM, EEPROM the start address concerned. You can also do this volatile memory through a security measure, such as B. a backup battery, made non-volatile were used. Can also directly on the CPU the read-only memory as OTP, EPROM, EEPROM, mask programmed ROM or flash memory to be from to be able to carry out the bootstrapping process there. In the latter  The ROM can then fall for some newer modules "flying", i.e. H. switched off during operation to clear the address space in question again. However, this makes the architecture more complex of the processor necessary. In many cases - especially if the independent systems only complement one other computer system - it would be from Advantage if you focus on the resource-consuming, could dispense with non-volatile memory. Would continue it is advantageous if the first program steps after the Start of a data processing system without hardware replacement could be changed or updated at any time. It is already known that the read-only memory realized by a flash memory, since this with little Effort can be described again. This approach is, however, very complex and prone to errors because z. B. at a power failure while updating the flash Memorys the system can no longer be started because it loses its integrity with the power failure.

Insbesondere bei Testumgebungen für Prozessoren wie In- Circuit-Emulatoren (ICE) verwendet man ebenso Zweitorspeicher, um ihn über die Urladeadresse (Boot~) immer wieder neu beschreiben zu können. Dies ist in Testumgebungen besonders wichtig, da das zu testende Programm an der Urladeadresse startet bzw. geladen werden muß. Einfache Testumgebungen laden in anderen Speicherbereichen, also nicht an der Urladeadresse. Dies erfordert aber aufwendige und fehlerträchtige Adreßumrechnungen für den Benutzer. Da diese Low-cost- Variante für professionelle Entwicklung unzureichend ist, wird auf umfangreiche, sehr teure Zweitorspeicher zurückgegriffen. Especially in test environments for processors such as in- Circuit emulators (ICE) are also used Two-port memory to store it via the boot address (boot ~) to be able to describe again and again. This is in Test environments are particularly important because the one to be tested The program starts or is loaded at the boot address got to. Simple test environments load in others Storage areas, i.e. not at the boot address. This but requires complex and error-prone Address conversions for the user. Because this low cost Variant for professional development is insufficient, is based on extensive, very expensive two-port storage resorted.  

Die Druckschrift 1 (WO 98/12633 A1) zeigt eine PCMCIA-Card, die über einen Prozessor mit einem Zweitorspeicher verfügt. Die PCMCIA-Card ist hierbei derart angeordnet, daß sowohl der Prozessor der PCMCIA-Card als auch der Host-Prozessor Zugang zum Zweitorspeicher haben. Zur Initialisierung lädt der Host-Prozessor den Zweitorspeicher mit einem für den Prozessor der PCMCIA-Card bestimmten Boot-Programm. Danach ist der Prozessor der PCMCIA-Card frei vom Host-Prozessor, d. h. sein Reset-Status ist beendet und er fährt (bootet) mit dem vom Host-Prozessor erhaltenen Boot-Programm hoch. Damit der Reset-Status beendet werden kann, greift der Host-Prozessor auf einen vorbestimmten Bereich innerhalb des Adreßspeichers auf der PCMCIA-Card zu. Ein auf der PCMCIA-Card befindlicher Speicher (sog. Flash-Speicher) wird über das in den sehr umfangreichen Zweitorspeicher geladene Programm programmiert. Nach der Programmierung der PCMCIA-Card steht der Zweitorspeicher in Kommunikation mit dem Host-Prozessor. Der Zweitorspeicher muß hierzu aber sehr große Kapazität (ca. 8 KB) aufweisen, um ausreichend große Programme zum Erst- oder Umprogrammieren der PCMCIA- Card laden und ausführen zu können. Der Zweitorspeicher ist jedoch im Verhältnis zum normalen RAM-Speicher 500 bis 2000 mal teurer.Document 1 (WO 98/12633 A1) shows a PCMCIA card which has a processor with a two-port memory. The PCMCIA card is arranged in such a way that both the processor of the PCMCIA card and the host processor have access to the two-port memory. For initialization, the host processor loads the two-port memory with a boot program intended for the processor of the PCMCIA card. The processor of the PCMCIA card is then free of the host processor, ie its reset status has ended and it boots up with the boot program received from the host processor. So that the reset status can be ended, the host processor accesses a predetermined area within the address memory on the PCMCIA card. A memory on the PCMCIA card (so-called flash memory) is programmed using the program loaded into the very extensive two-port memory. After programming the PCMCIA card, the two-port memory is in communication with the host processor. However, the two-port memory must have a very large capacity (approx. 8 KB) in order to be able to load and execute sufficiently large programs for the initial or reprogramming of the PCMCIA card. However, the two-port memory is 500 to 2000 times more expensive than normal RAM memory.

Die Druckschrift 2 (US 4,393,443 A) betrifft die Leistungssteigerung einer auf RAM basierenden Speichererweiterung. Der Speicher und ein Kontrollregister bilden hierbei eine übliche Speicher-mapping-Einheit. Im erweiterten Speicher werden parallel verschiedene maps (Seiten) abgelegt. Die Daten werden dann von einer gespeicherten Seite in eine andere verschoben, je nachdem welche Daten das Kontrollregister bereitstellt. Durch das Vorladen der Einheit mit allen maps (Seiten), die ein Programm benötigt, reduziert sich die Verzögerung auf Grund des Seitenwechsels auf die vom Kontrollregister benötigte Zeit. Mit dieser Art Umadressierung von Speicherbereichen kann der begrenzte Adreßraum eines Prozessors erweitert werden. Hierbei bezieht man sich notwendigerweise auf einen festen Teilbereich des Prozessor-Adreßraums, in dem die Ein- und Ausblendung von Speicher stattfindet. Denn während die Umadressierung von zwei Speicherbereichen stattfindet, muß die Programmkontrolle zwingend in einem anderen Speicherbereich liegen.The document 2 (US 4,393,443 A) relates to the performance increase of a RAM-based memory expansion. The memory and a control register form a common memory mapping unit. Various maps (pages) are stored in parallel in the extended memory. The data is then moved from one saved page to another, depending on which data the control register provides. By preloading the unit with all maps (pages) that a program requires, the delay due to the page change is reduced to the time required by the control register. With this type of readdressing of memory areas, the limited address space of a processor can be expanded. Here, one necessarily refers to a fixed sub-area of the processor address space in which the memory is shown and hidden. Because while the readdressing of two memory areas takes place, the program control must be located in another memory area.

Der Erfindung liegt die Aufgabe zugrunde, die Datenverarbeitungsanlage sowie ein Verfahren so anzugeben, mit denen der Urladevorgang jederzeit risikolos verändert oder aktualisiert werden kann.The invention is based, which Data processing system and a method so to specify with which the boot process changes at any time without risk or can be updated.

Erfindungsgemäß wird diese Aufgabe gelöst durch die Datenverarbeitungsanlage mit einer CPU-Einheit gemäß dem unabhängigen Patentanspruch 1 sowie durch das Verfahren zum Urladen einer Datenverarbeitungsanlage gemäß dem unabhängigen Patentanspruch 9. Hierdurch wird erreicht, daß der wahlweise sehr klein ausgebildete, ca. 64 Bytes große Zweitorspeicher mit der kleinen Urladeinformation (Ladeprogramm oder auch Stubloader) versorgt wird, d. h. mit Hilfe der Urladeinformation wird der normale Systemspeicher mit dem Programm für die Testumgebung geladen. Da der Zweitorspeicher an der Urladeadresse steht, weist der Systemspeicher eine andere Adresse auf. Ein Wechsel der Kontrolle vom Urladeprogramm an das Systemprogramm, um z. B. ein Programm vom zweiten Prozessor in die Testumgebung an die Urladeadresse zu laden, ist aber zu diesem Zeitpunkt noch nicht möglich, da der sehr kleine Zweitorspeicher entweder nur zum Kommunizieren mit dem System oder zum Speichern verwendet werden kann. Hierzu müßte der Zweitorspeicher sehr groß (nach WO 98/12633 A1 8 KB, d. h. das 128- bis 512-fache) ausgestattet sein oder aber der Zweitorspeicher wird erfindungsgemäß umadressiert. Anfangs ist der Zweitorspeicher der Urladeadresse zugeordnet, so daß mittels der Urladeinformation der Urladevorgang des Prozessors unter der Kontrolle des Systems stattfindet. Hierbei wird mit Hilfe der Urladeinformation ein Programm, z. B. ein Testprogramm, in den Systemspeicher geladen, welches noch nicht ausführbar ist, weil es eine falsche Adresse aufweist. Danach wird der Prozessor über einen Reset-Prozeß neu geladen (booten), wobei gleichzeitig mit dem Reset die vorher entsprechend zugeordneten Speicherbereiche entsprechend umadressiert werden. Die Systemintegrität bleibt erhalten, d. h. der flüchtige Systemspeicher - jetzt an der Urladeadresse stehend - bekommt die Kontrolle und führt sein jetzt richtig adressiertes Programm aus, und der Zweitorspeicher steht an einer Stelle, an der er nicht stört und der Kommunikation dient. Somit ist es möglich, den Urladevorgang bzw. die Erst- oder Umprogrammierung über die Urladeadresse mit sehr kleinem und billigem Zweitorspeicher (Dual-Port-RAM) zu realisieren. Hierbei ist es gemäß der zweiten Variante auch möglich, einen weiteren Zweitorspeicher in einem nicht an die Urladeadresse anschließenden, also einem von dem durch den Zweitorspeicher eingenommenen Adreßraum um die Urladeadresse losgelösten Adreßbereich zur Kommunikation mit dem Kontrollsystem bzw. Gastgebersystem zur Verfügung zu stellen.According to the invention, this object is achieved by Data processing system with a CPU unit according to the independent claim 1 and by the method for Initial loading of a data processing system according to the independent claim 9. This ensures that the optionally very small, approximately 64 bytes in size Two-port memory with the small boot information (Loader or stubloader) is supplied, d. H. with the help of the boot information the normal System memory with the program for the test environment loaded. Since the two-port memory is at the boot address, the system memory has a different address. On Change of control from the bootstrap program to the System program to e.g. B. a program from the second processor to load into the test environment at the boot address, however not yet possible at this point because the very small Two-port memory either only for communicating with the  System or can be used for storage. For this the two-port memory would have to be very large (according to WO 98/12633 A1 8 KB, i. H. 128 to 512 times) or but the two-port memory is redirected according to the invention. Initially, the two-port memory is the boot address assigned so that by means of the boot information Bootstrapping the processor under the control of the Systems takes place. Here, with the help of Boot information a program, e.g. B. a test program in the system memory loaded, which is not yet executable is because it has an incorrect address. Then the Processor reloaded (boot) using a reset process, with the reset corresponding to the previously corresponding assigned memory areas are redirected accordingly become. System integrity is maintained, i. H. the volatile system memory - now at the boot address standing - takes control and is leading now correctly addressed program, and the two-port memory is in a place where it does not interfere and which Communication serves. It is therefore possible to Boot process or the initial or reprogramming via the Bootstrap address with very small and cheap two-port memory (Dual-port RAM). Here it is according to the second variant also possible, another Two-port memory in one not to the boot address subsequent, that is one of those by the Address space taken up by the two-port memory Boot address separate address area for communication with the control system or host system to deliver.

Zudem ist es vorteilhaft, daß der Zweitorspeicher während des Urladens der Urladeadresse der CPU zugeordnet ist und nach einem Neustart der Systemspeicher die Urladeadresse aufweist, wobei das mit dem Zweitorspeicher verbundene Kontrollsystem vor dem Urladen (booten) die Urladeinformation auf den Zweitorspeicher überträgt. Der Zweitorspeicher ist hierbei als RAM (Random-Access-Memory) ausgebildet. Die Urladeinformation wird zunächst unter der Kontrolle eines weiteren Prozessors des Kontrollsystems in einen von beiden Systemen adressierbaren Zweitorspeicher geschrieben, der während des Urladens der Urladeadresse zugeordnet ist. Der Zweitorspeicher erhält zum einen über das Kontrollsystem die Urladeinformation und stellt diese zum Hochfahren zur Verfügung, und zum anderen ermöglicht er eine Kommunikation mit dem Kontrollsystem, so daß das eigentliche Systemprogramm vom Kontrollsystem übertragen werden kann.It is also advantageous that the two-port memory during of the bootstrap is assigned to the bootstrapping address of the CPU and  after a restart of the system memory the boot address has, which is connected to the two-port memory Control system before booting Transfer boot information to the two-port memory. The Two-port memory is RAM (Random Access Memory) educated. The boot information is initially under the Control of another processor of the control system in a two-port memory that can be addressed by both systems written that during the bootstrapping of the bootstrap address assigned. The two-port memory receives on the one hand the control system provides the bootstrapping information available for booting up, and secondly it enables communication with the control system so that actual system program transferred from the control system can be.

Hierbei ist es vorteilhaft, daß das Kontrollsystem ein Systemprogramm für die Datenverarbeitungsanlage aufweist und dieses nach dem Urladen über den Zweitorspeicher der CPU zur Verfügung stellt.It is advantageous that the control system Has system program for the data processing system and this after the initial loading via the two-port memory CPU provides.

Von besonderer Bedeutung ist für die vorliegende Erfindung, daß der Systemspeicher der Datenverarbeitungsanlage nach dem Urladen den Adreßraum des Zweitorspeichers einnimmt.Of particular importance for the present invention is that the system memory of the data processing system after the boot space occupies the address space of the two-port memory.

Im Zusammenhang mit der erfindungsgemäßen Ausbildung ist es von Vorteil, daß der Systemspeicher der Datenverarbeitungsanlage als nichtflüchtiger Speicher oder als RAM (Random-Access-Memory) ausgebildet ist und einen Urladevorgang ausführt.It is in connection with the training according to the invention advantageous that the system memory of the Data processing system as non-volatile memory or is designed as RAM (Random Access Memory) and one Bootloading executes.

Besonders vorteilhaft erweist sich das erfundene Verfahren in einem Entwicklungswerkzeug (ICE: In-Circuit-Emulator) für Mikrokontroller und Mikroprozessoren. Diese Entwicklungswerkzeuge für Mikrokontroller oder Mikroprozessoren basieren auf dem Prinzip, daß ein Programm für einen speziellen Prozessor entwickelt wird, indem es in den beschreibbaren Speicher eines Entwicklungssystems geladen und dort z. B. im Einzelschrittbetrieb ausgeführt und damit getestet wird. Da der Prozessor des Entwicklungssystems jedoch an der Urladeadresse mit dem boot-ROM belegt ist, kann das zu testende Programm nicht an seiner eigentlichen Zieladresse, die natürlich auch wieder an der Urladeadresse beginnen muß, geladen werden. Statt dessen muß das Programm an einer anderen Stelle gespeichert werden, d. h. es bedarf einer Adressenverschiebung.The invented method proves to be particularly advantageous in a development tool (ICE: In-Circuit-Emulator)  for microcontrollers and microprocessors. This Development tools for microcontrollers or Microprocessors are based on the principle that a program is developed for a special processor by being in the writable memory of a development system loaded and there z. B. executed in single step mode and is tested with it. Since the processor of the Development system at the boot address with the boot-ROM is occupied, the program to be tested cannot start his actual destination, which of course again must start at the boot address. Instead of the program must be saved elsewhere become, d. H. an address shift is required.

Diese Adressenverschiebung schränkt die nach diesem Prinzip aufgebauten Entwicklungswerkzeuge sehr ein, da der Benutzer Adressenumrechnungen ausführen und verwalten muß. Es ist daher von großem Vorteil, daß der erfindungsgemäße Urladevorgang den Adreßraum an der Urladeadresse "weich", d. h. beschreibbar macht.This address shift limits the on this principle built development tools a lot because the user Perform and manage address conversions. It is therefore of great advantage that the invention Boot process the address space at the boot address "soft", d. H. makes writable.

Insbesondere die Gattung der genannten Entwicklungswerkzeuge bekommt mit der beschriebenen Erweiterung eine sehr viel größere Funktionalität unter geringem Kostenaufwand.In particular the genus of the named Development tools get with the described Extension under a much greater functionality low cost.

Besonders vorteilhaft erweist sich dabei zusätzlich, daß die Kommunikation des als Startwerkzeug agierenden Entwicklungswerkzeugs über den Zweitorspeicher mit dem Kontrollsystem oder dem Gastgebersystem kommunizieren kann, so daß hier eine weitere Entlastung bei den Systemressourcen zu verzeichnen ist. Die Kommunikation mit dem Kontrollsystem ist üblicherweise von der Prozessortaktung abhängig, doch da diese dem Gastgebersystem a priori nicht bekannt ist, muß sie der Benutzer von Hand einstellen - eine häufige Quelle für Bedienungsfehler. Der Zweitorspeicher macht die Kommunikation unabhängig von der Taktrate der Datenverarbeitungsanlage.It also proves particularly advantageous that the communication of the person who acts as a starting tool Development tool on the two-port memory with the Control system or the host system can communicate, so that a further relief for the System resources. Communication with the control system is usually from the  Processor clock dependent, but since this Host system is not known a priori, it must be the Manual user setting - a common source for Operator error. The two-port memory does that Communication regardless of the clock rate of the Data processing system.

Weitere Vorteile und Einzelheiten der Erfindung sind in den Patentansprüchen und in der Beschreibung erläutert und in den Figuren dargestellt. Es zeigt:Further advantages and details of the invention are in the Claims and explained in the description and in shown the figures. It shows:

Fig. 1 eine Prinzipskizze über den Aufbau der Datenverarbeitungsanlage und die Zuordnung der Speicher beim Urladen, Fig. 1 is a schematic diagram of the structure of the data processing system and the allocation of the memory at boot,

Fig. 2 eine Prinzipskizze über den Aufbau der Datenverarbeitungsanlage und die Zuordnung der Speicher nach dem Urladen, Fig. 2 is a schematic diagram of the structure of the data processing system and the allocation of the memory according to the bootstrapping,

Fig. 3 die Schaltungsanordnung eines ICE mit einem DPR und einer Kontroll- CPU. Fig. 3 shows the circuit arrangement of an ICE with a DPR and a control CPU.

Eine Datenverarbeitungsanlage 1 weist gemäß Fig. 3 eine CPU 2 (CPU = Prozessor) auf, der über einen Adreßraum 9 ein flüchtiger Speicher (RAM) und ein flüchtiger Zweitorspeicher 6 zugeordnet sind. Über den Zweitorspeicher 6 steht die Datenverarbeitungsanlage 1 unter der Kontrolle eines Kontrollsystems 7. A data processing system 1 has, according to Fig. 3, a CPU 2 (CPU processor), which are assigned to a volatile memory (RAM) and a nonvolatile dual port memory 6 through an address space. 9 The data processing system 1 is under the control of a control system 7 via the two-port memory 6 .

Der Urladevorgang der Datenverarbeitungsanlage 1 wird so ausgeführt, daß der im Zugriff des Kontrollsystems 7 befindliche Zweitorspeicher 6 zunächst vom Kontrollsystem 7 mit einem Urladeprogramm geladen wird. Wird danach die Datenverarbeitungsanlage 1 unter der Kontrolle des Kontrollsystems 7 gestartet, so wird das Urladeprogramm ausgeführt. Dieses Urladeprogramm ist dann in der Lage, über den Zweitorspeicher 6 vom Kontrollsystem 7 weitere Daten wie den eigentlichen Programmcode bzw. das Systemprogramm zu erhalten. Diese Daten werden vom Urladeprogramm im Systemspeicher, der als RAM 4 ausgebildet ist, abgelegt. Nachdem auf diese Art und Weise der eigentliche Programmcode der Datenverarbeitungsanlage 1 vollständig übermittelt wurde, ist der Urladevorgang beendet, und der eigentliche Programmablauf der Datenverarbeitungsanlage 1 erfolgt. Dabei sind mehrere Varianten möglich, wodurch das eigentliche Programm in der Datenverarbeitungsanlage 1 nach dem beschriebenen Urladevorgang die Kontrolle bekommt.The bootstrapping process of the data processing system 1 is carried out in such a way that the two-port memory 6 which is accessed by the control system 7 is first loaded by the control system 7 with a bootstrap program. If the data processing system 1 is then started under the control of the control system 7 , the bootstrap program is executed. This bootstrap program is then able to receive further data such as the actual program code or the system program from the control system 7 via the two-port memory 6 . This data is stored by the bootstrap program in the system memory, which is designed as RAM 4 . After the actual program code of the data processing system 1 has been completely transmitted in this way, the initial loading process is ended and the actual program sequence of the data processing system 1 takes place. Several variants are possible, as a result of which the actual program in the data processing system 1 receives control after the initial loading process described.

Bei der ersten Variante gemäß Fig. 1 bleibt der Zweitorspeicher 6 im Adreßraum 9 an seiner Urladeadresse 8 stehen und gibt die Kontrolle direkt an das Systemprogramm bzw. den Systemspeicher 4 ab. Der Zweitorspeicher 6 belegt danach weiterhin die Urladeadresse 8. Nach einem Stromausfall wird der Urladevorgang neu ausgeführt.In the first variant according to FIG. 1, the two-port memory 6 remains in the address space 9 at its boot address 8 and transfers control directly to the system program or the system memory 4 . The two-port memory 6 then continues to occupy the boot address 8 . After a power failure, the boot process is carried out again.

Entsprechend der Fig. 2 wird bei einer zweiten Variante der Zweitorspeicher 6 aus dem Adreßraum 9 der Datenverarbeitungsanlage 1 ausgeblendet, so daß die Urladeadresse 8 der Datenverarbeitungsanlage 1 vom Systemspeicher belegt werden kann. Hierbei sind mehrere Vorgehensweisen möglich. According to FIG. 2, the two-port memory 6 is hidden from the address space 9 of the data processing system 1 in a second variant, so that the boot address 8 of the data processing system 1 can be occupied by the system memory. There are several ways of doing this.

Erste Vorgehensweise: Der Speicher 4 mit dem Systemprogramm wird in seiner Adressenlage unter der Kontrolle der Datenverarbeitungsanlage 1 oder des Kontrollsystems 7 verschoben und nimmt dadurch den Adreßraum 9 des Zweitorspeichers 6 ein. Mit dieser Adressenverschiebung kann ein Neustart des Systems 1 erfolgen. Ist der Systemspeicher 4 batteriegepuffert, kann auch bei Stromausfall das System 1 wieder mit dem Systemprogramm hochgefahren werden.First procedure: The memory 4 with the system program is moved in its address position under the control of the data processing system 1 or the control system 7 and thereby takes up the address space 9 of the two-port memory 6 . System 1 can be restarted with this address shift. If the system memory 4 is battery-buffered, the system 1 can be restarted with the system program even in the event of a power failure.

Zweite Vorgehensweise: Es ist auch möglich, daß der Speicher 4 mit dem Systemprogramm in seiner Adressenlage nicht verschoben wird. Er belegt aber mit einem bisher nicht vom Prozessor erreichbaren Teil den Adreßraum, den bis vor der Ausblendung der Zweitorspeicher 6 belegte. Dadurch kann die Kontrolle direkt an das Systemprogramm übergeben werden, welches danach den bisher nicht erreichbaren Teil des Systemspeichers 4 füllt und damit die Voraussetzungen für einen Neustart schafft.Second procedure: It is also possible that the memory 4 is not shifted in its address position with the system program. However, it occupies the address space with a part that was not previously accessible by the processor, which the two-port memory 6 occupied until the blanking. Control can thus be transferred directly to the system program, which then fills the previously unreachable part of the system memory 4 and thus creates the conditions for a restart.

Dritte Vorgehensweise: Der Speicher 4 mit dem Systemprogramm wird im Kern in seiner Adressenlage nicht verschoben, lediglich ein Teil wird umadressiert, und zwar so, daß er bisher an einer anderen Stelle stand, den Code für den Neustart bereits erhalten hat und mit der Ausblendung des Zweitorspeichers 6 jetzt an der Urladeadresse 8 steht.Third procedure: The memory 4 with the system program is not shifted in its core in its address position, only a part is redirected, in such a way that it was previously in another place, has already received the code for the restart and with the blanking of the 2-port memory 6 is now at the boot address 8 .

Bei den zuvor beschriebenen Vorgehensweisen kann der Zweitorspeicher 6 weiterhin für den Startprozessor 7 erreichbar an einer Stelle des Adreßraums 9 stehen bleiben. Diese Stelle kann die gleiche wie beim Urladen sein, wird aber jetzt durch ein Umschalten zwischen mehreren Speicherseiten (paging) erreichbar gemacht.In the above-described procedures, the two-port memory 6 can still remain accessible to the start processor 7 at a location in the address space 9 . This location can be the same as when booting, but is now made accessible by switching between several storage pages (paging).

Es ist in diesem Zusammenhang auch möglich, den Zweitorspeicher 6 an einer anderen Stelle im Adreßraum 9 direkt adressierbar zu machen.It is also possible in this context to make the two-port 6 at another location in the address space 9 directly addressable.

Eine weitere Vorgehensweise sieht es vor, den Adressentausch zwischen dem Systemspeicher 4 und dem Zweitorspeicher 6 mit gleichzeitigem Reset, alles unter der Steuerung des Kontrollsystems 7, auszuführen. Letzteres prüft bei einem eigenen Reset zunächst den Status der Datenverarbeitungsanlage über den Zweitorspeicher, indem es die Datenverarbeitungsanlage vom Systemspeicher aus einen Reset ausführen läßt und das Ergebnis bzw. die Statusmeldung abwartet. Je nach Statusmeldung, d. h. ob die Datenverarbeitungsanlage ihre Integrität erreicht hat oder nicht, wird der Urladevorgang ausgeführt. Der Urladevorgang kann aber auch erzwungen werden, um z. B. ein neues Systemprogramm in den Systemspeicher 4 der Datenverarbeitungsanlage 1 zu laden.Another procedure provides for the address exchange between the system memory 4 and the two-port memory 6 with a simultaneous reset, all under the control of the control system 7 . The latter first checks the status of the data processing system via the two-port memory in the case of a dedicated reset by having the data processing system carry out a reset from the system memory and waiting for the result or the status message. Depending on the status message, ie whether the data processing system has reached its integrity or not, the bootstrapping process is carried out. The bootstrapping process can also be forced to z. B. to load a new system program into the system memory 4 of the data processing system 1 .

Eine Schaltungsanordnung eines mit der beschriebenen Erfindung ausgestatteten ICE (In-Circuit-Emulator) ist in Fig. 3 dargestellt. Der ICE weist einen Zweitorspeicher 6, einen Nurlesespeicher oder RAM (Random-Access-Memory) 4, eine Kontroll-CPU 7 sowie eine CPU-S 2, die die CPU einer zu testenden Schaltung emuliert, auf. Der Systemspeicher der CPU-S 2 ist als Nurlesespeicher oder RAM 4 ausgeführt. Die beiden Speicher 4, 6 werden über eine Verbindungslogik 3 durch die CPU-S 2 angesteuert. Der Zweitorspeicher 6 gewährleistet die Kommunikation mit der Kontroll-CPU 7, die den Urladevorgang der CPU-S 2 kontrolliert. Zudem sind zwei Steuerleitungen 12, 12' vorgesehen. Die Steuerleitung 12 ermöglicht eine Kontrolle der Adressenlage des Nurlesespeichers oder RAM 4 und des Zweitorspeichers 6 durch die Kontroll-CPU 7. Die Steuerleitung 12' dient der Kontrolle des Urladevorgangs der CPU-S 2 über deren Reset-Eingang 13 durch die Kontroll- CPU. Weiterhin ist eine Prüffassung 5 vorgesehen, die der Verbindung zu der zu testenden Schaltung dient. A circuit arrangement of an ICE (in-circuit emulator) equipped with the described invention is shown in FIG. 3. The ICE has a two-port memory 6 , a read-only memory or RAM (Random Access Memory) 4 , a control CPU 7 and a CPU-S 2 , which emulates the CPU of a circuit to be tested. The system memory of the CPU-S 2 is designed as read-only memory or RAM 4 . The two memories 4 , 6 are controlled via a connection logic 3 by the CPU-S 2 . The two-port memory 6 ensures communication with the control CPU 7 , which controls the boot process of the CPU-S 2 . In addition, two control lines 12 , 12 'are provided. The control line 12 enables the address position of the read-only memory or RAM 4 and the two-port memory 6 to be checked by the control CPU 7 . The control line 12 'serves to control the initial loading process of the CPU-S 2 via its reset input 13 by the control CPU. Furthermore, a test version 5 is provided, which is used to connect to the circuit to be tested.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11

Datenverarbeitungsanlage
Data processing system

22

CPU-Einheit, CPU-S
CPU unit, CPU-S

33

Verbindungslogik
connection logic

44

Speicher (RAM), Systemspeicher
Memory (RAM), system memory

55

Prüffassung
test socket

66

Zweitorspeicher
dual port memory

77

Kontrollsystem, Startprozessor, Kontroll-CPU
Control system, start processor, control CPU

88th

Urladeadresse
Urladeadresse

99

Adreßraum
address space

1010

Anschluß
Connection

1111

Anschluß
Connection

1212

Steuerleitung
control line

1212

' Steuerleitung
'' Control line

1313

Reset-Eingang
Reset input

Claims (9)

1. Datenverarbeitungsanlage (1) mit einer CPU-Einheit (2), die mindestens einen flüchtigen Speicher (RAM: Random-Ac­ cess-Memory) (4) und einen weiteren Speicher (6) aufweist, die mit der CPU elektrisch verbunden sind, wobei der Spei­ cher (6) der Datenverarbeitungsanlage (1) mindestens zwei Anschlüsse (10, 11) aufweist oder als Zweitorspeicher (6) (DPR: Dual Port RAM) ausgebildet und einem den Urladevor­ gang steuernden Kontrollsystem (7) zugeordnet ist, dadurch gekennzeichnet, daß der Zweitorspeicher (6) zur Übertragung einer Urladeinformation nur während des Urladens einer Urladeadresse (8) zugeordnet und nach einem Neustart (Reset) der Datenverarbeitungsanlage (1) durch das Kontrollsystem in einem Adreßraum (9) verschoben oder aus dem Adreßraum (9) ausgeblendet ist oder mindestens ein weiterer Zweitorspeicher einem nicht an die Urladeadresse anschließenden Adreßbereich zur Kommunikation zugeordnet ist.1. Data processing system ( 1 ) with a CPU unit ( 2 ) which has at least one volatile memory (RAM: random access memory) ( 4 ) and a further memory ( 6 ) which are electrically connected to the CPU, wherein the memory ( 6 ) of the data processing system ( 1 ) has at least two connections ( 10 , 11 ) or is designed as a two-port memory ( 6 ) (DPR: Dual Port RAM) and is assigned to a control system ( 7 ) controlling the initial charging process, characterized that the two-port memory ( 6 ) for transmitting a bootstrap information is assigned to a bootstrapping address ( 8 ) only during bootstrapping and, after a restart (reset) of the data processing system ( 1 ), is moved by the control system in an address space ( 9 ) or out of the address space ( 9 ) is hidden or at least one further two-port memory is assigned to an address area for communication that does not adjoin the boot address. 2. Datenverarbeitungsanlage (1) nach Anspruch 1, dadurch gekennzeichnet, daß der Zweitorspeicher (6) während des Urladens der Urladeadresse (8) der CPU (2) zugeordnet ist und nach einem Neustart der Systemspeicher (4) die Ur­ ladeadresse aufweist. 2. Data processing system ( 1 ) according to claim 1, characterized in that the two-port memory ( 6 ) is assigned to the CPU ( 2 ) during the bootstrapping of the bootstrapping address ( 8 ) and after a restart of the system memory ( 4 ) has the bootstrapping address. 3. Datenverarbeitungsanlage (1) nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das mit dem Zweitorspeicher (6) verbundene Kontrollsystem (7) vor dem Urladen (booten) die Urladeinformation auf den Zweitorspeicher (6) überträgt.3. Data processing system (1) according to claim 1 or 2, characterized in that the control system (7) connected to the dual port memory (6) which transmits Urladeinformation (booting) prior to bootstrapping in the dual port memory (6). 4. Datenverarbeitungsanlage (1) nach einem der vorhergehen­ den Ansprüche, dadurch gekennzeichnet, daß das Kontrollsystem (7) ein Sy­ stemprogramm für die Datenverarbeitungsanlage (1) aufweist und dieses nach dem Urladen über den Zweitorspeicher (6) der CPU (2) zur Verfügung stellt.4. Data processing system ( 1 ) according to one of the preceding claims, characterized in that the control system ( 7 ) has a system system for the data processing system ( 1 ) and this is available after the initial loading via the two-port memory ( 6 ) of the CPU ( 2 ) provides. 5. Datenverarbeitungsanlage (1) nach einem der vorhergehen­ den Ansprüche, dadurch gekennzeichnet, daß der Systemspeicher (4) der Da­ tenverarbeitungsanlage (1) nach dem Urladen den Adreß­ raum (9) des Zweitorspeichers (6) einnimmt.5. Data processing system (1) according to one of the preceding claims, characterized in that the system memory (4) Since the tenverarbeitungsanlage (1) after initialization the address space (9) takes the Zweitorspeichers (6). 6. Datenverarbeitungsanlage (1) nach einem der vorhergehen­ den Ansprüche, dadurch gekennzeichnet, daß der Systemspeicher (4) der Da­ tenverarbeitungsanlage (1) als nichtflüchtiger Speicher oder als flüchtiger RAM (Random-Access-Memory) ausgebildet ist und einen Urladevorgang ausführt. 6. Data processing system ( 1 ) according to one of the preceding claims, characterized in that the system memory ( 4 ) of the data processing system ( 1 ) is designed as a non-volatile memory or as a volatile RAM (random access memory) and carries out a bootstrapping process. 7. Datenverarbeitungsanlage (1) nach einem der vorhergehen­ den Ansprüche, dadurch gekennzeichnet, daß die Datenverarbeitungsan­ lage (1) als Entwicklungswerkzeug (ICE: In-Circuit-Emula­ tor) ausgebildet ist.7. Data processing system ( 1 ) according to one of the preceding claims, characterized in that the data processing system ( 1 ) is designed as a development tool (ICE: in-circuit emulator). 8. Datenverarbeitungsanlage (1) nach einem der vorhergehen­ den Ansprüche, dadurch gekennzeichnet, daß das als Startwerkzeug agierende Entwicklungswerkzeug über den Zweitorspeicher mit dem Kon­ trollsystem oder dem Gastgebersystem kommunizieren kann.8. Data processing system ( 1 ) according to one of the preceding claims, characterized in that the development tool acting as a starting tool can communicate with the control system or the host system via the two-port memory. 9. Verfahren zum Urladen einer Datenverarbeitungsanlage, gekennzeichnet durch folgende Verfahrensschritte:
  • 1. 9.1 das mit dem Zweitorspeicher (6) verbundene Kontroll­ system (7) überträgt vor dem Urladen (booten) die Urlade­ information auf den Zweitorspeicher (6),
  • 2. 9.2 das Kontrollsystem (7) weist ein Systemprogramm für die Datenverarbeitungsanlage (1) auf und stellt dieses nach dem Urladen über den Zweitorspeicher (6) der CPU (2) zur Ver­ fügung,
  • 3. 9.3 der Zweitorspeicher (6) ist während des Urladens unter der Kontrolle des Kontrollsystems (7) der Urladeadresse (8) zugeordnet, und das Urladeprogramm erhält das Systempro­ gramm über den Zweitorspeicher (6) und legt es im System­ speicher (4) ab,
  • 4. 9.4 der Zweitorspeicher (6) wird nach dem Urladen der Da­ tenverarbeitungsanlage (1) in dem Adreßraum (9) verschoben oder der Zweitorspeicher (6) wird nach dem Urladen der Da­ tenverarbeitungsanlage (1) aus dem Adreßraum (9) ausgeblen­ det, und das System wird neu gestartet,
  • 5. 9.5 der Systemspeicher (4) der Datenverarbeitungsanlage (1) nimmt nach dem Urladen den Adreßraum (9) des Zweitorspei­ chers (6) ein,
  • 6. 9.6 der Adressentausch zwischen dem Systemspeicher (4) und dem Zweitorspeicher (6) wird gleichzeitig mit dem Reset, alles unter der Steuerung des Kontrollsystems 7, ausge­ führt,
  • 7. 9.7 der Systemspeicher (4) mit dem Systemprogramm der Da­ tenverarbeitungsanlage (1), führt seinen Urladevorgang aus und startet damit das Systemprogramm.
9. Method for initial loading of a data processing system, characterized by the following method steps:
  • 1. 9.1 the control system ( 7 ) connected to the two-port memory ( 6 ) transmits the boot information to the two-port memory ( 6 ) before booting (booting),
  • 2. 9.2 the control system ( 7 ) has a system program for the data processing system ( 1 ) and makes it available after the initial loading via the two-port memory ( 6 ) of the CPU ( 2 ),
  • 3. 9.3 the two-port memory ( 6 ) is assigned to the bootstrap address ( 8 ) during the bootloading under the control of the control system ( 7 ), and the bootstrap program receives the system program via the two-port memory ( 6 ) and stores it in the system memory ( 4 ) .
  • 4. 9.4 the two-port memory ( 6 ) is moved after the initial loading of the data processing system ( 1 ) in the address space ( 9 ) or the two-port memory ( 6 ) is removed after the initial loading of the data processing system ( 1 ) from the address space ( 9 ), and the system will restart
  • 5. 9.5 the system memory ( 4 ) of the data processing system ( 1 ) takes up the address space ( 9 ) of the two-port memory ( 6 ) after the initial loading,
  • 6. 9.6 the address exchange between the system memory ( 4 ) and the two-port memory ( 6 ) is carried out simultaneously with the reset, all under the control of the control system 7 ,
  • 7. 9.7 the system memory ( 4 ) with the system program of the data processing system ( 1 ) executes its bootstrapping process and thus starts the system program.
DE19953931A 1999-11-10 1999-11-10 Data processing system with a CPU unit Expired - Fee Related DE19953931C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19953931A DE19953931C2 (en) 1999-11-10 1999-11-10 Data processing system with a CPU unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19953931A DE19953931C2 (en) 1999-11-10 1999-11-10 Data processing system with a CPU unit

Publications (2)

Publication Number Publication Date
DE19953931A1 DE19953931A1 (en) 2001-05-31
DE19953931C2 true DE19953931C2 (en) 2003-04-10

Family

ID=7928464

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19953931A Expired - Fee Related DE19953931C2 (en) 1999-11-10 1999-11-10 Data processing system with a CPU unit

Country Status (1)

Country Link
DE (1) DE19953931C2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393443A (en) * 1980-05-20 1983-07-12 Tektronix, Inc. Memory mapping system
WO1998012633A1 (en) * 1996-09-20 1998-03-26 The Foxboro Company Method and system for pcmcia card boot from dual-ported memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393443A (en) * 1980-05-20 1983-07-12 Tektronix, Inc. Memory mapping system
WO1998012633A1 (en) * 1996-09-20 1998-03-26 The Foxboro Company Method and system for pcmcia card boot from dual-ported memory

Also Published As

Publication number Publication date
DE19953931A1 (en) 2001-05-31

Similar Documents

Publication Publication Date Title
EP0013737B1 (en) Multilevel storage hierarchy for a data processing system
DE69730430T2 (en) METHOD AND DEVICE FOR PROVIDING IMPROVED DIAGNOSTIC FUNCTIONS IN A COMPUTER SYSTEM
DE102005040226B4 (en) Non-volatile memory device and test method
DE4244266C2 (en) Method and circuit device for dynamically configuring device drivers for computer system equipment
DE69034227T2 (en) EEprom system with block deletion
DE102005034611A1 (en) Storage system and associated operations and block management methods
DE4312250B4 (en) A computer system capable of operating in both first and second byte order modes, and a method of booting such a computer system
DE10308545A1 (en) Method and device for updating a distributed program
DE602004012614T2 (en) SOFTWARE METHOD OF EMULATION OF EEPROM MEMORY
EP0500973B1 (en) EEPROM and method for altering a bootstrap routine in the EEPROM
EP0254247A2 (en) Calculator status saving system
EP1744236A1 (en) Configuration of components when changing from a low-power to a normal-power consumption mode
DE2101949A1 (en) Method for protecting data groups in a multiprocessing data processing system
DE68922521T2 (en) Secondary processor initialization system.
DE102018202446A1 (en) Method for modularizing a software architecture
DE19964003A1 (en) Circuit arrangement and method for generating and reading out replacement data
DE19931184A1 (en) Altering controller memory contents involves writing new data that is worthy of security into different memory area before transferring to original memory area contg. replaced data
DE19953931C2 (en) Data processing system with a CPU unit
DE102004013493B4 (en) Access method for a NAND flash memory device and a corresponding NAND flash memory device
EP0790554A1 (en) Method and circuit to control a firmware loading process
DE112019004272T5 (en) INSTALLING APPLICATION PROGRAM CODE ON A VEHICLE CONTROL SYSTEM
EP1085387B1 (en) Memory controller for performing switching to access storage cells
WO2004023299A2 (en) Method for initialising programmable systems
DE102005018790A1 (en) Integrated circuit and method for operating and parallel testing integrated circuits
EP0725338B1 (en) Method and circuit for downloading a boot program in a computer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 9/44

8304 Grant after examination procedure
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee