WO1995021413A1 - Data processing installation with a controller-addressable working memory - Google Patents

Data processing installation with a controller-addressable working memory Download PDF

Info

Publication number
WO1995021413A1
WO1995021413A1 PCT/DE1995/000126 DE9500126W WO9521413A1 WO 1995021413 A1 WO1995021413 A1 WO 1995021413A1 DE 9500126 W DE9500126 W DE 9500126W WO 9521413 A1 WO9521413 A1 WO 9521413A1
Authority
WO
WIPO (PCT)
Prior art keywords
working memory
function
working
area
program memory
Prior art date
Application number
PCT/DE1995/000126
Other languages
German (de)
French (fr)
Inventor
Peter Rieger
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO1995021413A1 publication Critical patent/WO1995021413A1/en

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/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Definitions

  • the invention relates to a data processing system with a working memory that can be addressed by a controller, in which the working memory, which is divided into several working memory areas according to the addressing ability of the processor, can be switched by signals in its working areas, the program memory part of each working memory area being a self-contained system forms.
  • the structure of the known data processing system with subdivided main memory is chosen because the controller itself is not sufficient with regard to the size of the addressable main memory used there.
  • the main memory of the known data processing system is therefore divided into several main memory areas, each with several program memory parts (EPROMs) and one data memory part (RAM) each.
  • EPROMs program memory parts
  • RAM data memory part
  • the invention is based on the problem of proposing a simple switchover option in a data processing system with a working memory subdivided into a plurality of working memory areas, which allows the use of standardized software systems.
  • the program memory part of each working memory area stores at least one global function, each of which contains at least one further working memory function from a program memory part. can be called up;
  • the program memory part of each working memory area at least one function is specified, from which an identical function can be jumped as a simulation function in the same program memory part, and in the program memory part of each working memory area there is a switchover routine which, on the one hand, works with the simulation function of the same program memory part and others is linked to the switchover routine of the program memory part of the further working memory area in which the global function assigned to this simulation function is stored; a common switch module is assigned to all program memory parts.
  • Program memory part of a working memory area is carried out on a program memory part of a further working memory area by program steps which run via simulation functions and switchover routines.
  • the simulation function and also the switchover routine remain "invisible" both for the calling function and for the global function called up.
  • the program memory part of each working memory area can represent a self-contained system that compiles separately, ge - is linked and located. It is thus possible, for example in the case of a device of selective protection technology, to incorporate program packages associated with protective functions into the various working memory areas without modification, so that existing programs for various different protective functions can be combined with one another in the data processing system according to the invention. On the other hand, it is readily possible to transfer programs assigned to the program memory parts of individual working memory areas to another device.
  • the variables can be addressable in different ways in the data processing system according to the invention. It is considered advantageous if (global) variables of interest for the program memory parts of the working memory areas are located in a common data storage part for all working memory areas at the same physical address. It is particularly expedient here that all global variables are combined in one module, which is identical for all working memory areas and is assigned a common address with regard to the variables.
  • the data storage area of the working memory has, in addition to the common data storage section for working storage area-specific variables and the module specific to all global variables, further data storage sections which can be addressed by drivers.
  • One of the other data storage parts can be addressed directly; however, all others should be accessible via the driver.
  • FIG. 1 shows the principle of operation of program memory parts switching of the working memory.
  • a controller for example a Siemens 80C166 processor, is used in the data processing system, which can serve a memory with a volume of 256 kbytes.
  • the program code and the data must therefore be accommodated in this 256 kbyte.
  • the working memory A used (cf. FIG. 1) has a considerably higher storage capacity than 256 kbytes, the total working memory A is divided into four working memory areas AI to A4.
  • Each working memory area AI or A2, A3 and A4 contains a program memory part (EPROM) P1 or P2, P3 and P4 and a data memory part D1 or D2, D3 or D4 (RAM / EEPROM); a common data storage part D5 is also provided.
  • the division of the entire working memory is freely selectable except for the areas designated B and C in FIG. 1.
  • the areas B and C are determined by the controller.
  • Each of the four program memory parts P1 to P4 comprises 128 kbytes.
  • Each program memory part P1 to P4 contains a self-contained system that is compiled, linked and located separately.
  • the operating system can be stored in the program memory part P1, the program code for an overcurrent protection function in the program memory part P2 and the function of a switch failure protection as program code in the program memory part P3; the program memory part P4 can e.g. for differential protection included.
  • FIG AI and A3 For a further explanation of the changeover from a program memory part of a working memory area to a program memory part of a further working memory area, reference is made in the following to FIG AI and A3 are shown. It is assumed here that after a series of function calls, the data processing system in the program memory part PI of the working memory area AI comes to a predetermined function Fl, which is not further defined in this program memory part. There is therefore a jump S1 to a simulation function F2 which is identical to a function F3 to be called.
  • the simulation radio tion F2 calls the switching routine U1 with a transfer parameter which contains a fixedly processed function and address area number of the destination, which is the global function F3;
  • the simulation function F2 is defined by this global function F3.
  • the Umsehaltroutine Ul saves this information, pushes the number of the currently set working memory area, in the present case of the working memory AI, on the system stack, blocks all interrupts and switches the number of wait states to the maximum value. Switching now takes place, which means that the working memory area A3 is immediately accessed. The prerequisite for this is that, at the time of locating the individual working memory areas, absolute address equality of the switching routine U1 with the switching routines of the other working memory areas A2 to A4, and thus also the switching routine U2 of the working area memory A3, was ensured. After the old state of the wait states and the interrupt has been restored, the number of the global function F3 to be executed is evaluated in the working memory area A3 or in its program memory part P3. About these
  • Number is operated a table that jumps to the global function F3.
  • the switchover routine U2 gets the information from which working memory area (here working memory area AI) was switched from the system stack; all interrupts are also blocked and the number of wait states is switched to the maximum value. After this switchover, the switchover routine U1 in the working memory area AI restores the original states of interrupt release and number of wait states.
  • the switchover routine U1 returns to the simulation function F2, in which, at this point, only the predefining function F1 is returned.
  • a common area switchover module which has to be linked in when linking. This module is identical for all working memory areas AI to A4 and is compiled with a working memory-specific compiler switch during compilation or system generation, that is to say that the respective changeover module is formed from a standardized switching module for specific working memory areas.
  • the data storage area of the main memory A has four data storage parts D1, D2, D3, D4 and a common data storage part D5.
  • these memory parts there is a switchover in the data processing system according to the invention, but this switchover is independent of the program memory part switchover and must be carried out separately.
  • global variables are combined in a separate module in the common data storage part D5 and are placed on a defined address when locating. This module is identical for all working memory areas AI to A4.
  • Global variables that are to be known only within a data storage part D1 to D4 (for example static variables) must be accommodated in a separate area for each data storage part Dl to D4.
  • each data storage part D1 to D4 comprises 64 kbytes.
  • EEPROM low byte
  • NV-RAM high byte
  • the data storage parts D2 to D4 are formed by normal RAMs.
  • the common data storage part D5 is always available regardless of the data storage parts D1 to D4 set. In the exemplary embodiment shown, this area comprises 58.5 kbytes.
  • the data in the data storage part D1 is accessed via special drivers. The same applies correspondingly to the data of the data storage parts D2 and D3, which are reserved in a selective protection device for example for fault write buffers. These areas can be addressed using another special driver.
  • the data of the data storage parts D4 and D5 can be accessed directly.
  • the switchover of the individual data storage parts is carried out by a driver routine in which a transfer parameter specifies which part is switched over to.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a data processing installation with a working memory addressable by a controller which can be switched to its various memory areas by signals. To make the switchover as simple as possible, each working memory area (e.g. A3) has in its program storage field (e.g. P3) at least one global function (F3) which can be called from at least one other working memory area (e.g. A1). In each working memory area (e.g. A1) there is at least one predetermined function (F1) from which a transfer can be made to an identical function as a simulation function (F2). A changeover routine (e.g. U1) is linked on the one hand to the simulation function (F2) of the same working memory (e.g. A1) and on the other to a changeover routine (e.g. U2) of the other working memory (e.g. A3) in which the global function (F1) allocated to said simulation function (F3) is stored. A shared changeover module is allocated to all the working memory areas (A1 to A4).

Description

Datenverarbeitungsanlage mit einem von einem Controller adressierbaren Arbeitsspeicher. Data processing system with a working memory addressable by a controller.
Die Erfindung bezieht sich auf eine Datenverarbeitungsanlage mit einem von einem Controller adressierbaren Arbeitsspei¬ cher, bei dem der entsprechend dem Adressiervermögen des Prozessors in mehrere Arbeitsspeicherbereiche unterteilte Arbeitsspeicher durch Signale in seinen Arbeitsbereichen umschaltbar ist, wobei der Programmspeicherteil jedes Ar¬ beitsspeicherbereichs ein für sich abgeschlossenes System bildet.The invention relates to a data processing system with a working memory that can be addressed by a controller, in which the working memory, which is divided into several working memory areas according to the addressing ability of the processor, can be switched by signals in its working areas, the program memory part of each working memory area being a self-contained system forms.
Bei bekannten Datenverarbeitungsanlagen dieser Art ist der Aufbau der bekannten Datenverarbeitungsanlage mit unterteil¬ tem Arbeitsspeicher gewählt, weil im Hinblick auf die Größe des dort verwendeten adressierbaren Arbeitsspeichers der Controller an sich nicht ausreicht. Der Arbeitsspeicher der bekannten Datenverarbeitungsanlage ist daher in mehrere Arbeitsspeicherbereiche mit jeweils mehreren Programmspei¬ cherteilen (EPROMs) sowie jeweils einem Datenspeicherteil (RAM) aufgeteilt. Zum Umschalten von dem Programmspeicherteil eines Arbeitsspeicherbereichs in den Programmspeicherteil eines anderen Arbeitsspeicherbereichs werden Adreßleitungen mit Portpins verbunden.In known data processing systems of this type, the structure of the known data processing system with subdivided main memory is chosen because the controller itself is not sufficient with regard to the size of the addressable main memory used there. The main memory of the known data processing system is therefore divided into several main memory areas, each with several program memory parts (EPROMs) and one data memory part (RAM) each. To switch from the program memory part of a working memory area to the program memory part of another working memory area, address lines are connected to port pins.
Der Erfindung liegt die Aufgabe zugrunde, bei einer Datenver¬ arbeitungsanlage mit einem in mehrere Arbeitspeicherbereiche unterteilten Arbeitsspeicher eine einfache Umschaltmöglich- keit vorzuschlagen, welche die Benutzung von standardisierten Software-Systemen erlaubt.The invention is based on the problem of proposing a simple switchover option in a data processing system with a working memory subdivided into a plurality of working memory areas, which allows the use of standardized software systems.
Zur Lösung dieser Aufgabe enthält bei einer Datenverarbei¬ tungsanlage der eingangs angegebenen Art erfindungsgemäß der Programmspeicherteil jedes Arbeitsspeicherbereichs zumindest eine Global-Funktion gespeichert, die aus einem Programmspei¬ cherteil jeweils mindestens eines weiteren Arbeitsspeicherbe- reichs aufrufbar ist; im Programmspeicherteil jedes Arbeits¬ speicherbereichs ist mindestens eine Funktion vorgegeben, von der auf eine identische Funktion als Simulationsfunktion in jeweils demselben Programmspeicherteil springbar ist, und im Programmspeicherteil eines jeden Arbeitsspeicherbereichs ist eine Umschaltroutine vorhanden, die einerseits mit der Simu¬ lationsfunktion desselben Programmspeicherteils und anderer¬ seits mit der Umschaltroutine des Programmspeicherteils des weiteren Arbeitsspeicherbereichs verknüpft ist, in dem die dieser Simulationsfunktion zugeordnete Global-Funktion abge¬ legt ist; allen Programmspeicherteilen ist ein gemeinsames Umschaltmodul zugeordnet.To achieve this object, in a data processing system of the type specified at the outset, according to the invention the program memory part of each working memory area stores at least one global function, each of which contains at least one further working memory function from a program memory part. can be called up; In the program memory part of each working memory area, at least one function is specified, from which an identical function can be jumped as a simulation function in the same program memory part, and in the program memory part of each working memory area there is a switchover routine which, on the one hand, works with the simulation function of the same program memory part and others is linked to the switchover routine of the program memory part of the further working memory area in which the global function assigned to this simulation function is stored; a common switch module is assigned to all program memory parts.
Ein wesentlicher Vorteil der erfindungsgemäßen Datenverarbei- tungsanlage besteht darin, daß eine Umschaltung von demA major advantage of the data processing system according to the invention is that a switchover from the
Programmspeicherteil eines Arbeitsspeicherbereichs auf einen Programmspeicherteil eines weiteren Arbeitsspeicherbereichs durch Progra mschritte vorgenommen wird, die über Simula¬ tionsfunktionen und Umschaltroutinen ablaufen. Die Si ula- tionsfunktion und auch die Umschaltroutine bleibt dabei sowohl für die aufrufende Funktion als auch für die aufgeru¬ fene Globalfunktion "unsichtbar".Dabei kann der Programmspei¬ cherteil jedes Arbeitsspeicherbereichs ein für sich abge¬ schlossenes System darstellen, das separat compiliert, ge- linkt und located ist. Es lassen sich somit beispielsweise bei einem Gerät der Selektivschutztechnik Schutzfunktionen zugeordnete Programmpakete ohne Änderung auf die verschiede¬ nen Arbeitsspeicherbereiche einbinden, so daß bereits vorhan¬ dene Programme für verschiedene unterschiedliche Schutzfunk- tionen in der erfindungsgemäßen Datenverarbeitungsanlage ohne weiteres miteinander kombiniert werden können. Andererseits besteht ohne weiteres die Möglichkeit, den Programmspeicher¬ teilen einzelner Arbeitsspeicherbereiche zugeordnete Pro¬ gramme auf ein anderes Gerät zu übertragen.Program memory part of a working memory area is carried out on a program memory part of a further working memory area by program steps which run via simulation functions and switchover routines. The simulation function and also the switchover routine remain "invisible" both for the calling function and for the global function called up. The program memory part of each working memory area can represent a self-contained system that compiles separately, ge - is linked and located. It is thus possible, for example in the case of a device of selective protection technology, to incorporate program packages associated with protective functions into the various working memory areas without modification, so that existing programs for various different protective functions can be combined with one another in the data processing system according to the invention. On the other hand, it is readily possible to transfer programs assigned to the program memory parts of individual working memory areas to another device.
Es ist zwar beispielsweise aus dem Buch von . Diehl "Mikroprozessoren und Mikrocomputer" 3. Auflage, 1980, Seiten 157 bis 159 bekannt, den gesamten Bereich eines Arbeitsspei¬ chers in Seiten (pages) zu unterteilen, jedoch erfolgt hier die Unterteilung, um mit indirekter Adressierung arbeiten zu können.For example, it is from the book by. Diehl "Microprocessors and Microcomputers" 3rd edition, 1980, pages 157 to 159 is known to subdivide the entire area of a working memory into pages, however the subdivision is carried out here in order to be able to work with indirect addressing.
Die Variablen können bei der erfindungsgemäßen Datenverarbei¬ tungsanlage in unterschiedlicher Weise adressierbar sein. Als vorteilhaft wird es angesehen, wenn für die Programmspeicher¬ teile der Arbeitsspeicherbereiche interessante (globale) Variablen in einem gemeinsamen Datenspeicherteil für alle Arbeitsspeicherbereiche an derselben physikalischen Adresse liegen. Dabei ist es besonders zweckmäßig, daß alle globalen Variablen in einem Modul zusammengefaßt sind, der für alle Arbeitsspeicherbereiche identisch ist und hinsichtlich der Variablen auf eine gemeinsame Adresse gelegt ist.The variables can be addressable in different ways in the data processing system according to the invention. It is considered advantageous if (global) variables of interest for the program memory parts of the working memory areas are located in a common data storage part for all working memory areas at the same physical address. It is particularly expedient here that all global variables are combined in one module, which is identical for all working memory areas and is assigned a common address with regard to the variables.
Ferner wird es als vorteilhaft angesehen, wenn der Datenspei¬ cherbereich des Arbeitsspeichers außer dem gemeinsamen Daten¬ speicherteil für arbeitsspeicherbereichsspezifische Variablen und dem allen globalen Variablen eigenen Modul weitere Daten¬ speicherteile aufweist, die über Treiber ansprechbar sind. Von den weiteren Datenspeicherteilen kann einer direkt an¬ sprechbar sein; alle übrigen hingegen sollten über die Trei¬ ber ansprechbar sein.Furthermore, it is considered to be advantageous if the data storage area of the working memory has, in addition to the common data storage section for working storage area-specific variables and the module specific to all global variables, further data storage sections which can be addressed by drivers. One of the other data storage parts can be addressed directly; however, all others should be accessible via the driver.
Zur Erläuterung der Erfindung ist inTo explain the invention is in
Figur 1 eine Darstellung der Aufteilung des Arbeitsspei¬ chers der erfindungsgemäßen Datenverarbeitungsan- läge und in1 shows a representation of the division of the main memory of the data processing system according to the invention and in
Figur 2 das Funktionsprinzip der Programmspeicherteile- Umschaltung des Arbeitsspeichers dargestellt.Figure 2 shows the principle of operation of program memory parts switching of the working memory.
Bei dem behandelten Ausführungsbeispiel ist davon ausgegan- gen, daß in der Datenverarbeitungsanlage ein Controller, zum Beispiel ein Prozessor Siemens 80C166 verwendet ist, der einen Speicher mit einem Volumen von 256 kByte bedienen kann. In diesen 256 kByte sind somit der Programmcode und die Daten unterzubringen. Da der verwendete Arbeitsspeicher A (vgl. Fig. 1) eine erheblich höhere Speicherkapazität als 256 kByte besitzt, ist eine Aufteilung des gesamten Arbeitsspeichers A in vier Arbeitsspeicherbereiche AI bis A4 vorgenommen. Jeder Arbeitsspeicherbereich AI bzw. A2, A3 und A4 enthält einen Programmspeicherteil (EPROM) Pl bzw. P2, P3 und P4 sowie einen Datenspeicherteil Dl bzw. D2, D3 bzw. D4 (RAM/EEPROM) ; außerdem ist ein gemeinsamer Datenspeicherteil D5 vorgesehen. Die Aufteilung des gesamten Arbeitsspeichers ist bis auf die in der Figur 1 mit B und C bezeichneten Bereiche frei wähl¬ bar. Die Bereiche B und C sind controllerbedingt festgelegt.In the case of the exemplary embodiment dealt with, it is assumed that a controller, for example a Siemens 80C166 processor, is used in the data processing system, which can serve a memory with a volume of 256 kbytes. The program code and the data must therefore be accommodated in this 256 kbyte. Since the working memory A used (cf. FIG. 1) has a considerably higher storage capacity than 256 kbytes, the total working memory A is divided into four working memory areas AI to A4. Each working memory area AI or A2, A3 and A4 contains a program memory part (EPROM) P1 or P2, P3 and P4 and a data memory part D1 or D2, D3 or D4 (RAM / EEPROM); a common data storage part D5 is also provided. The division of the entire working memory is freely selectable except for the areas designated B and C in FIG. 1. The areas B and C are determined by the controller.
Jeder der vier Programmspeicherteile Pl bis P4 umfaßt 128 kByte. Jeder Programmspeicherteil Pl bis P4 enthält ein in sich abgeschlossenes System, das separat compiliert, gelinkt und located ist. Bei einem Gerät der Selektivschutztechnik kann beispielsweise im Programmspeicherteil Pl das Betriebs¬ system, im Programmspeicherteil P2 der Programmcode für eine Überstromzeitschutz-Funktion und im Programmspeicherteil P3 die Funktion eines Schalter-Versager-Schutzes als Programm¬ code abgelegt sein; der Programmspeicherteil P4 kann den Programmcode z.B. für einen Differentialschutz enthalten.Each of the four program memory parts P1 to P4 comprises 128 kbytes. Each program memory part P1 to P4 contains a self-contained system that is compiled, linked and located separately. In the case of a device of selective protection technology, for example, the operating system can be stored in the program memory part P1, the program code for an overcurrent protection function in the program memory part P2 and the function of a switch failure protection as program code in the program memory part P3; the program memory part P4 can e.g. for differential protection included.
Zur weiteren Erläuterung der Umschaltung von einem Programm¬ speicherteil eines Arbeitsspeicherbereichs auf einen Pro¬ grammspeicherteil eines weiteren Arbeitsspeicherbereiches wird im folgenden Bezug auf die Figur 2 genommen, in der aus dem Arbeitsspeicher A gemäß Fig. 1 nur die Programmspeicher- teile Pl und P3 der Arbeitsspeicherbereiche AI und A3 darge¬ stellt sind. Es ist hier angenommen, daß die Datenverarbei¬ tungsanlage im Programmspeicherteil Pl des Arbeitsspeicherbe¬ reichs AI nach Ablauf einer Reihe von Funktionsaufrufen zu einer vorgegebenen Funktion Fl kommt, die in diesem Programm- speicherteil nicht weiter definiert ist. Es erfolgt deshalb ein Sprung Sl zu einer Simulationsfunktion F2, die mit einer aufzurufenden Funktion F3 identisch ist. Die Simulationsfunk- tion F2 ruft die Umschaltroutine Ul mit einem Übergabepara¬ meter auf, der eine fest verarbeitete Funktions- und Adreßbe- reich-Nummer des Ziels beinhaltet, bei dem es sich um die Global-Funktion F3 handelt; von dieser Global-Funktion F3 ist die Simulationsfunktion F2 definiert. Die Umsehaltroutine Ul sichert diese Information, schiebt die Nummer des aktuell eingestellten Arbeitsspeicherbereichs, im vorliegenden Fall des Arbeitsspeichers AI, auf den Systemstack, sperrt alle Interrupts und schaltet die Anzahl der Waitstates auf den Maximalwert. Es erfolgt jetzt das Umschalten, womit sofort auf den Arbeitsspeicherbereich A3 zurückgegriffen wird. Voraussetzung dafür ist, daß zum Zeitpunkt des Locatens der einzelnen Arbeitsspeicherbereiche absolute Adreßgleichheit der Umschalt-Routine Ul mit den Umschalt-Routinen der anderen Arbeitspeicherbereiche A2 bis A4, so auch der Umschalt-Rou¬ tine U2 des Arbeitsbereichsspeichers A3 sichergestellt wurde. Nachdem der alte Zustand der Waitstates und des Interrupts wieder hergestellt wurde, wird in dem Arbeitsspeicherbereich A3 bzw. in dessen Programmspeicherteil P3 die Nummer der auszuführenden Global-Funktion F3 ausgewertet. Über dieseFor a further explanation of the changeover from a program memory part of a working memory area to a program memory part of a further working memory area, reference is made in the following to FIG AI and A3 are shown. It is assumed here that after a series of function calls, the data processing system in the program memory part PI of the working memory area AI comes to a predetermined function Fl, which is not further defined in this program memory part. There is therefore a jump S1 to a simulation function F2 which is identical to a function F3 to be called. The simulation radio tion F2 calls the switching routine U1 with a transfer parameter which contains a fixedly processed function and address area number of the destination, which is the global function F3; The simulation function F2 is defined by this global function F3. The Umsehaltroutine Ul saves this information, pushes the number of the currently set working memory area, in the present case of the working memory AI, on the system stack, blocks all interrupts and switches the number of wait states to the maximum value. Switching now takes place, which means that the working memory area A3 is immediately accessed. The prerequisite for this is that, at the time of locating the individual working memory areas, absolute address equality of the switching routine U1 with the switching routines of the other working memory areas A2 to A4, and thus also the switching routine U2 of the working area memory A3, was ensured. After the old state of the wait states and the interrupt has been restored, the number of the global function F3 to be executed is evaluated in the working memory area A3 or in its program memory part P3. About these
Nummer wird eine Tabelle bedient, die zu der Global-Funktion F3 springt.Number is operated a table that jumps to the global function F3.
Nachdem die Global-Funktion F3 in dem Arbeitsspeicherbereich A3 abgearbeitet worden ist, wird auf einen normalen Return- Befehl hin zur weiteren Umschalt-Routine U2 zurückgesprungen. Die Umschalt-Routine U2 holt sich die Information, aus welchem Arbeitsspeicherbereich(hier Arbeitsspeicherbereich AI) umgeschaltet wurde vom Systemstack; es werden außerdem alle Interrupts gesperrt und die Anzahl der Waitstates auf den Maximalwert geschaltet. Nach diesem Umschalten werden von der Umschalt-Routine Ul im Arbeitsspeicherbereich AI die Originalzustände von Interrupt-Freigabe und Anzahl der Waitstates wieder hergestellt. Die Umschalt-Routine Ul wech- seit zurück in die Simulationsfunktion F2, in der an dieser Stelle nur noch in die vorgebende Funktion Fl zurückgesprun¬ gen wird. Für alle Arbeitsspeicherbereiche AI bis A4 besteht ein ge¬ meinsames Bereichs-Umschalte-Modul, das beim Linken hinzuge¬ bunden werden muß. Dieses Modul ist für alle Arbeitsspeicher¬ bereiche AI bis A4 identisch und wird bei der Compilierung bzw. Systemgenerierung mit einem arbeitsspeicherspezifischen Compiler-Switch übersetzt, das heißt, es wird das jeweilige Umschalte-Modul arbeitsspeicherbereichsspezifisch aus einem standardisierten Umschaltmodul gebildet.After the global function F3 has been processed in the main memory area A3, a normal return command is used to jump back to the further changeover routine U2. The switchover routine U2 gets the information from which working memory area (here working memory area AI) was switched from the system stack; all interrupts are also blocked and the number of wait states is switched to the maximum value. After this switchover, the switchover routine U1 in the working memory area AI restores the original states of interrupt release and number of wait states. The switchover routine U1, on the other hand, returns to the simulation function F2, in which, at this point, only the predefining function F1 is returned. For all working memory areas AI to A4 there is a common area switchover module which has to be linked in when linking. This module is identical for all working memory areas AI to A4 and is compiled with a working memory-specific compiler switch during compilation or system generation, that is to say that the respective changeover module is formed from a standardized switching module for specific working memory areas.
Wie oben bereits erwähnt wurde, weist der Datenspeicherbe¬ reich des Arbeitsspeichers A vier Datenspeicherteile Dl, D2, D3, D4 und einen gemeinsamen Datenspeicherteil D5 auf. Auch hinsichtlich dieser Speicherteile erfolgt bei der erfindungs- gemäßen Datenverarbeitungsanlage eine Umschaltung, jedoch ist diese Umschaltung von der Programmspeicherteile-Umschaltung unabhängig und muß gesondert erfolgen. Bei der erfindungsge¬ mäßen Datenverarbeitungsanlage sind globale Variablen in einem eigenen Modul im gemeinsamen Datenspeicherteil D5 zusammengefaßt und beim Locaten auf eine definierte Adresse gelegt. Dieses Modul ist für alle Arbeitsspeicherbereiche AI bis A4 identisch.As already mentioned above, the data storage area of the main memory A has four data storage parts D1, D2, D3, D4 and a common data storage part D5. With regard to these memory parts, there is a switchover in the data processing system according to the invention, but this switchover is independent of the program memory part switchover and must be carried out separately. In the data processing system according to the invention, global variables are combined in a separate module in the common data storage part D5 and are placed on a defined address when locating. This module is identical for all working memory areas AI to A4.
Globale Variable, die nur innerhalb eines Datenspeicherteils Dl bis D4 bekannt sein sollen(zum Beispiel statische Varia¬ ble), müssen in einem für jeden Datenspeicherteil Dl bis D4 getrennten Bereich untergebracht werden.Global variables that are to be known only within a data storage part D1 to D4 (for example static variables) must be accommodated in a separate area for each data storage part Dl to D4.
Im dargestellten Falle umfaßt jeder Datenspeicherteil Dl bis D4 64 kByte. In dem Datenspeicherteil Dl befinden sich EEPROM (Low-Byte) und NV-RAM (High-Byte) . Die Datenspeicherteile D2 bis D4 sind von normalen RAMs gebildet. Der gemeinsame Daten¬ speicherteil D5 ist unabhängig von den eingestellten Daten¬ speicherteilen Dl bis D4 immer verfügbar. Dieser Bereich umfaßt im dargestellten Ausführungsbeispiel 58,5 kByte. Der Zugriff auf Daten des Datenspeicherteils Dl erfolgt über spezielle Treiber. Entsprechendes gilt für die Daten der Datenspeicherteile D2 und D3, die bei einem Gerät des Selek¬ tivschutzes beispielsweise für Störschreibpuffer reserviert sind. Das Ansprechen dieser Bereiche ist über einen weiteren speziellen Treiber möglich. Auf die Daten der Datenspeicher¬ teile D4 und D5 kann unmittelbar zurückgegriffen werden.In the illustrated case, each data storage part D1 to D4 comprises 64 kbytes. EEPROM (low byte) and NV-RAM (high byte) are located in the data storage part D1. The data storage parts D2 to D4 are formed by normal RAMs. The common data storage part D5 is always available regardless of the data storage parts D1 to D4 set. In the exemplary embodiment shown, this area comprises 58.5 kbytes. The data in the data storage part D1 is accessed via special drivers. The same applies correspondingly to the data of the data storage parts D2 and D3, which are reserved in a selective protection device for example for fault write buffers. These areas can be addressed using another special driver. The data of the data storage parts D4 and D5 can be accessed directly.
Die Umschaltung der einzelnen Datenspeicherteile erfolgt durch eine Treiberroutine, in der ein Übergabeparameter festlegt, auf welchen Teil umgeschaltet wird. The switchover of the individual data storage parts is carried out by a driver routine in which a transfer parameter specifies which part is switched over to.

Claims

Patentansprüche claims
1. Datenverarbeitungsanlage mit einem von einem Controller adressierbaren Arbeitsspeicher, bei dem - der entsprechend dem Adressiervermögen des Prozessors in mehrere Arbeitsspeicherbereiche unterteilte Arbeitsspei¬ cher durch Signale in seinen Arbeitsspeicherbereichen um¬ schaltbar ist, wobei jeder Arbeitsspeicherbereich ein für sich abgeschlossenes System bildet, d a d u r c h g e k e n n z e i c h n e t , daß1. Data processing system with a working memory addressable by a controller, in which the working memory, which is divided into several working memory areas according to the addressing ability of the processor, can be switched over by signals in its working memory areas, each working memory area forming a system that is self-contained, so that
- der Programmspeicherteil (z.B. P3) jedes Arbeitsspeicher¬ bereiches (z.B. A3) zumindest eine Global-Funktion (F3) gespeichert enthält, die aus einem Programmspeicherteil (z.B. Pl) jeweils mindestens eines weiteren Arbeitsspei- cherbereiches (z.B. AI) aufrufbar ist, im Programmspeicherteil (z.B. Pl) jedes Arbeitsspeicher¬ bereiches (z.B. AI) mindestens eine Funktion (Fl) vorge¬ geben ist, von der auf eine identische Funktion als Simu¬ lationsfunktion (F2) in jeweils demselben Programmspei- cherteil (z.B. Pl) springbar ist,- The program memory part (for example P3) of each working memory area (for example A3) contains at least one global function (F3) which can be called from a program memory part (for example PI) in each case at least one further working memory area (for example AI) in the program memory part (for example Pl) of each working memory area (for example AI) at least one function (Fl) is specified, from which an identical function as a simulation function (F2) can be jumped to in the same program memory part (for example Pl)
- im Programmspeicherteil (z.B. Pl) eines jeden Arbeits¬ speicherbereiches (z.B. AI) eine Umschaltroutine (z.B. Ul) vorhanden ist, die einerseits mit der Simulations¬ funktion (F2) desselben Programmspeicherteils (z.B. Pl) und andererseits mit der Umschaltroutine (z.B. U2) des- In the program memory part (for example PI) of each working memory area (for example AI) there is a switchover routine (for example Ul) which on the one hand uses the simulation function (F2) of the same program memory part (for example Pl) and on the other hand uses the switchover routine (for example U2) of
Programmspeicherteils (z.B. P3) des anderen Arbeitsspei¬ cherbereichs (z.B. A3) verknüpft ist, in dem die dieser Simulationsfunktion (F2) zugeordnete Global-Funktion (F3) abgelegt ist und - allen Programmspeicherteilen (Pl bis P4) ein gemeinsames Umschaltmodul zugeordnet ist.Program memory part (e.g. P3) of the other working memory area (e.g. A3) is linked, in which the global function (F3) assigned to this simulation function (F2) is stored and - a common switchover module is assigned to all program memory parts (Pl to P4).
2.Datenverarbeitungsanlage nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , daß - für die Programmspeicherteile (Pl bis P4) der Arbeits¬ speicherbereiche (AI bis A4) interessante (globale) Va¬ riablen in einem gemeinsamen Datenspeicherteil (D5) für alle Arbeitsspeicherbereiche (AI bis A4) an derselben physikalischen Adresse liegen.2. Data processing system according to claim 1, characterized in that - for the program memory parts (Pl to P4) of the working memory areas (AI to A4) interesting (global) variables in a common data memory part (D5) for all working memory areas (AI to A4) are located at the same physical address.
3. Datenverarbeitungsanlage nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t , daß3. Data processing system according to claim 2, d a d u r c h g e k e n n z e i c h n e t that
- alle globalen Variablen in einem eigenen Modul zusammen¬ gefaßt sind, der- All global variables are combined in a separate module, the
-für alle Arbeitsspeicherbereiche (AI bis A4) identisch ist und hinsichtlich der Variablen auf eine definierte Adresse gelegt ist.- is identical for all working memory areas (AI to A4) and is assigned to a defined address with regard to the variables.
4. Datenverarbeitungsanlage nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , daß - der Datenspeicherbereich des Arbeitsspeichers (A) außer dem gemeinsamen Datenspeicherteil (D5) für arbeitsspei- cherbereichsspezifische Variablen und dem allen globalen Variablen eigenen Modul weitere Datenspeicherteile (Dl bis D4) aufweist, die bis auf einen Datenspeicherteil (D4) über Treiber ansprechbar sind. 4. Data processing system according to one of the preceding claims, characterized in that - the data storage area of the working memory (A) in addition to the common data storage part (D5) for working storage area-specific variables and the module all global variables has further data storage parts (Dl to D4), which up to can be addressed to a data storage part (D4) via drivers.
PCT/DE1995/000126 1994-02-03 1995-01-24 Data processing installation with a controller-addressable working memory WO1995021413A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DEP4403791.0 1994-02-03
DE4403791A DE4403791A1 (en) 1994-02-03 1994-02-03 Data processing system

Publications (1)

Publication Number Publication Date
WO1995021413A1 true WO1995021413A1 (en) 1995-08-10

Family

ID=6509688

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1995/000126 WO1995021413A1 (en) 1994-02-03 1995-01-24 Data processing installation with a controller-addressable working memory

Country Status (2)

Country Link
DE (1) DE4403791A1 (en)
WO (1) WO1995021413A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0330226A2 (en) * 1988-02-24 1989-08-30 Sanyo Electric Co., Ltd. Apparatus of and method for executing subprogram in bank switching data processing system
EP0518479A2 (en) * 1991-06-10 1992-12-16 Advanced Micro Devices, Inc. Processing system including memory selection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0330226A2 (en) * 1988-02-24 1989-08-30 Sanyo Electric Co., Ltd. Apparatus of and method for executing subprogram in bank switching data processing system
EP0518479A2 (en) * 1991-06-10 1992-12-16 Advanced Micro Devices, Inc. Processing system including memory selection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BACOT P: "LA TECHNIQUE DE PAGINATION MEMOIRE APPLIQUEE AU 8051", ELECTRONIQUE, no. 20, 1 September 1992 (1992-09-01), pages 53 - 55, XP000311629 *

Also Published As

Publication number Publication date
DE4403791A1 (en) 1995-08-10

Similar Documents

Publication Publication Date Title
DE2251876C3 (en) Electronic data processing system
DE4222043C1 (en)
DE69133400T2 (en) ADDRESSABLE RELAY MODULE FOR OVERLOAD SWITCHES
DE4215063A1 (en) Page changing system for non-volatile flash memory - contains programmable page register for page selection and address signal reception and modification devices
DE102007038877B4 (en) Control device with fast I / O function and control method for controlling its data
DE3732808A1 (en) METHOD AND DEVICE FOR GENERATING AND EDITING INTERRUPT POINTS IN A MONITOR PROGRAM
DE2536622A1 (en) MICROPROGRAM CONTROL WITH FLEXIBLE SELECTION OF CONTROL WORDS
DE2054830B2 (en) INFORMATION PROCESSING SYSTEM WITH MEANS OF ACCESS TO MEMORY DATA FIELDS OF VARIABLE LENGTH
DE4429969A1 (en) Process for exchanging program packages in a multi-computer system and computer therefor
DE69908772T2 (en) DEVICE WITH CONTEXT SWITCHING ABILITY
EP0130269A2 (en) Stored program control
DE3048414A1 (en) "CIRCUIT ARRANGEMENT FOR A DATA PROCESSING SYSTEM"
DE2403669C3 (en) Special computer
EP1889128A2 (en) Method and device for switching in a memory for a control device
DE4238099A1 (en)
WO1995021413A1 (en) Data processing installation with a controller-addressable working memory
DE3319130A1 (en) MONITOR DISPLAY SYSTEM OF A PROGRAMMABLE DATA TRANSFER CONTROL
DE3009121C2 (en) Microprogram controller
DE2932394A1 (en) INTELLIGENT, PROGRAMMABLE PROCESS CONTROL ARRANGEMENT
DE3634853C2 (en)
EP0880092B1 (en) Program controlled device whose operating system is capable of being upgraded and the new version switched over to, without having to restart the device
DE2719199A1 (en) DATA PROCESSING SYSTEM
DE60128596T2 (en) INTERRUPT CONTROL FOR A MICROPROCESSOR
DE10027845B4 (en) Submodule for controlling a data queue
DE3539129C2 (en)

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase