DE4009382A1 - Memory address expansion system for microcomputer installation - sums data register output with address bits to increase capacity - Google Patents

Memory address expansion system for microcomputer installation - sums data register output with address bits to increase capacity

Info

Publication number
DE4009382A1
DE4009382A1 DE19904009382 DE4009382A DE4009382A1 DE 4009382 A1 DE4009382 A1 DE 4009382A1 DE 19904009382 DE19904009382 DE 19904009382 DE 4009382 A DE4009382 A DE 4009382A DE 4009382 A1 DE4009382 A1 DE 4009382A1
Authority
DE
Germany
Prior art keywords
address
processor
addresses
outputs
register
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.)
Ceased
Application number
DE19904009382
Other languages
German (de)
Inventor
Edgar Dipl Ing Polly
Johannes Dipl Ing Reuter
Heinz Dipl Ing Schaffner
Raimund Dipl Ing Spaeth
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.)
Schneider Automation GmbH
Original Assignee
Licentia Patent Verwaltungs GmbH
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 Licentia Patent Verwaltungs GmbH filed Critical Licentia Patent Verwaltungs GmbH
Priority to DE19904009382 priority Critical patent/DE4009382A1/en
Publication of DE4009382A1 publication Critical patent/DE4009382A1/en
Ceased 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • 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

Landscapes

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

Abstract

An address space expansion facility is provided for use with a system based around a microprocessor (1), e.g. Intel 8086 family, that has a specific number of address outputs (2). The processor also has a data bus (3) coupled to a register (4). An adder unit (5) combines the 12 bit outputs of the register with the lower order bits of the address bus. In the specific case the adder generates a 24 bit address word to increase memory addressing capacity from the original 20 bit value. The value are multiplexed to the read/write memory. ADVANTAGE - Uses data bits to expand address capacity.

Description

Die Erfindung bezieht sich auf eine Anordnung zur Beeinflussung der mindestens einem Prozessor mit einer vorgegebenen Stellenzahl ausgegebenen Adressen.The invention relates to an arrangement for influencing the output at least one processor with a predetermined number of digits Addresses.

In Datenverarbeitungsgeräten werden digitale Prozessoren, insbesondere Mikroprozessoren, eingesetzt, die aus einer integrierten Schaltung mit einer festgelegten Anzahl von Adressenausgängen bestehen. Durch die festgelegte Anzahl von Adressenausgängen ist die Anzahl der mit dem Prozessor adressierbaren Zellen eines Speichers festgelegt. Die Zahl der Adressenausgänge ist bei einem in einer integrierten Schaltung realisierten Prozessor aus Abmessungsgründen begrenzt. Bei manchen Mikroprozessoren stehen acht Adressenausgänge für die Erzeugung eines acht Stellen umfassenden Adreßworts zur Verfügung. Um das Adressiervolumen eines Mikroprozessors zu steigern, ist es bekannt, einerseits acht Adressenausgänge, die nur von Adressen belegt werden, und andererseits acht wahlweise von Adressen oder Daten belegbare Ausgänge vorzusehen (INTEL 8085 A). Die acht wahlweise von Adressen oder Daten belegbaren Ausgänge werden im Multiplexbereich gesteuert. Den Adressenausgängen sind in der integrierten Schaltung Pufferregister vorgeschaltet.Digital processors, in particular, are used in data processing devices Microprocessors, used from an integrated circuit with a specified number of address outputs exist. By the set Number of address outputs is the number of with the processor addressable cells of a memory. The number of Address outputs is implemented in an integrated circuit Processor limited due to dimensional reasons. With some microprocessors there are eight address outputs for generating an eight digits comprehensive address word. To the address volume of a It is known to increase the microprocessor, on the one hand eight Address outputs that are only occupied by addresses and eight on the other optional assignable outputs or addresses can be provided (INTEL 8085 A). The eight outputs that can be assigned either addresses or data are controlled in the multiplex area. The address outputs are in the integrated circuit upstream buffer register.

Die Entwicklungsrichtung beispielsweise von Halbleiterspeichern verläuft zu größeren Kapazitäten hin, d. h. die Speicher haben immer größere Adreßräume. Durch größere Speicherkapazitäten kann die Leistung von Datenverarbeitungsgeräten gesteigert werden.The development direction of semiconductor memories, for example, continues larger capacities, d. H. the stores have bigger and bigger ones Address spaces. With larger storage capacities, the performance of Data processing equipment can be increased.

Der Erfindung liegt die Aufgabe zugrunde, eine Anordnung zu entwickeln, mit der ein größerer Adreßraum als der einer vorgegebenen Zahl von Adreßausgängen eines Prozessors entsprechende Adreßraum für den Prozessor zugänglich ist. The invention has for its object to develop an arrangement with which is a larger address space than that of a predetermined number of Address outputs of a processor corresponding address space for the processor is accessible.  

Die Aufgabe wird erfindungsgemäß dadurch gelöst, daß ein über Datenausgängen des Prozessors mit Adressen zugeordneten Daten ladbares Register Adressen ausgibt, die mit unmittelbar von Adressenausgängen des Prozessors erzeugten Adressen vereinigbar und über einen Multiplexer, der wahlweise auf von den Adressenausgängen alleine angegebenen Adressen umschaltbar ist, an Speicher anlegbar sind. Die Zuordnung der in das Register eingegebenen Daten zu Adressen geschieht über das Programm des Prozessors. Der vom Prozessor adressierbare Adreßraum wird durch die vorstehend beschriebenen Maßnahmen erweitert. Damit kann die Leistung einer einen Prozessor und Speicher enthaltenen Datenverarbeitungsanlage mit geringem Aufwand erhöht werden.The object is achieved in that an over Data outputs of the processor with addressable data loadable Register outputs addresses that are directly related to the address outputs of the Processor generated addresses can be combined and via a multiplexer that optionally at addresses specified by the address outputs alone is switchable, can be applied to memory. The assignment of the in that Entered data for addresses is done via the program of the Processor. The address space that can be addressed by the processor is defined by the Measures described above expanded. So that the performance of a a processor and memory containing data processing system can be increased with little effort.

Vorzugsweise werden vom Register ausgegebene Adressen als höherwertige Adreßstellen mit mindestens einem Teil der von den Adressenausgängen des Prozessors als niedrigwertigere Adreßstellen ausgegebenen Adresse zu einer Adresse zusammengesetzt. Adressen und Daten werden von Prozessoren üblicherweise auf Busse ausgegeben. Das Register ist daher über den Datenbus mit den Datenausgängen des Prozessors verbunden. Ebenso ist ein Teil der Eingänge der Verknüpfungsanordnung mit dem Adreßbus verbunden, der an die Adressenausgänge des Prozessors angeschlossen ist. Der Adreßbus steht auch direkt mit zweiten Eingängen des Multiplexers in Verbindung.Addresses output by the register are preferably considered to be of higher value Addresses with at least part of the address outputs of the Processor issued as lower-value address locations to an address Address composed. Addresses and data are from processors usually spent on buses. The register is therefore over the data bus connected to the data outputs of the processor. Also part of the Inputs of the link arrangement connected to the address bus, which to the Address outputs of the processor is connected. The address bus is also there directly connected to second inputs of the multiplexer.

Die Bildung einer Adresse, die mehr Stellen als Adressenausgänge des Prozessors aufweist, aus den Ausgangsadressen des Registers und einem Teil der Adressen des Prozessors wirkt sich als Abbildung von Adressenfenstern auf eine Adreßraum aus, der größer als der vom Prozessor direkt erreichbare Adreßraum ist. Durch das Register wird eine Fensterbasisadresse vorgegeben, während die Adressenkapazität des Adressenfensters durch den Teil der vom Adreßbus entnommenen Adressenstellen bestimmt ist.The formation of an address that has more digits than the address exits of the Processor has, from the output addresses of the register and a part the addresses of the processor act as an image of address windows to an address space that is larger than that of the processor directly accessible address space is. Through the register becomes a window base address given, while the address capacity of the address window by the Part of the address locations extracted from the address bus is determined.

Das Register wird insbesondere durch einen Schreibbefehl des Prozessors geladen, während der Muliplexer durch ein Steuersignal oder durch eine Stelle im Adreßwort auf die gewünschte Betriebsweise eingestellt wird. The register is particularly a write command from the processor loaded while the muliplexer by a control signal or by a Position in the address word is set to the desired mode of operation.  

Manche Daten sollen oder dürfen nicht ohne weiteres im Rahmen eines Programms so zugänglich sein wie andere Daten. Wenn diese Daten in einem Speicher zusammen mit den anderen unkritischen Daten gespeichert sind, ist es zweckmäßig, die Zugriffsanforderungen zu den Speichern mit diesen Daten zu überwachen bzw. zu melden und den Zugriff von weiteren Bedingungen abhängig zu machen. Diese kritischen Daten können z. B. personenbezogen sein. Es kann sich auch um Daten handeln, die ein Betriebsgeheimnis sind. Bei der immer häufigeren Vernetzung von Datenverarbeitungsanlagen ist es vielfach notwendig, den Abruf dieser Daten durch andere Teilnehmer des Netzes zu verbinden. Häufig dürfen auch in einem Teil eines RAM enthaltene Daten nicht ohne weiteres überschrieben bzw. gelöscht werden, während andere Daten gelesen und/oder verändert werden dürfen. Die eingangs beschriebene Anordnung soll daher auch dahingehend weiterentwickelt werden, daß der Prozessorzugriff zu vorgebbaren Adreßbereichen erkannt werden kann. Die Lösung dieser Aufgabe erfolgt erfindungsgemäß dadurch, daß mindestens zwei Register für die Aufnahme je einer oberen und einer unteren Adresse als Grenze für mindestens einen zu überwachenden Adreßbereich vorgesehen sind, daß die vom Prozessor ausgegebene Adresse mit den Adressen der Register verglichen wird und daß bei Übereinstimmung mit einer innerhalb des Adreßbereichs liegenden Adresse vor der Ausführung eines der Adresse zugeordneten Schreib- oder Lesebefehls ein Interruptsignal für den Prozessor erzeugt wird. Es ist also nicht möglich, ohne Interrupt Daten aus dem vorgegebenen Adreßbereich auszulesen oder in diesen einzuschreiben. In Abhängigkeit vom Interrupt können weitere Maßnahmen ausgelöst werden. Zunächst wird durch den Interrupt ein Speicher gesetzt, der zurückgesetzt werden muß, wenn der Prozessor spätere Interrupte erkennen soll. Der Interrupt kann dazu verwendet werden, den adressierten Speicherbereich gegen Lesen oder Schreiben zu sperren.Some data should not or should not be used as part of a Program as accessible as other data. If this data in one Memory is stored along with the other uncritical data it is appropriate to provide the access requests to the stores with this data to monitor or report and access other conditions addictive. This critical data can e.g. B. personal be. It can also be data that is a trade secret. It is with the increasingly common networking of data processing systems often necessary, the retrieval of this data by other participants in the Network. Often, part of a RAM may also be included Data is not easily overwritten or deleted while others Data can be read and / or changed. The one described at the beginning Arrangement should therefore also be developed in such a way that the Processor access to predeterminable address areas can be recognized. The This object is achieved in that at least two Register for recording an upper and a lower address as Limit is provided for at least one address area to be monitored, that the address output by the processor with the addresses of the registers is compared and that if it matches one within the Address range address before executing any of the address assigned write or read command an interrupt signal for the Processor is generated. So it is not possible to interrupt data without interrupt read the specified address area or write to it. Depending on the interrupt, further measures can be triggered. First, a memory is set by the interrupt, which is reset must be, if the processor should recognize later interrupts. The Interrupt can be used to counter the addressed memory area Lock reading or writing.

Die Erfindung wird im folgenden anhand von in einer Zeichnung dargestellten Ausführungsbeispielen näher beschrieben, aus denen sich weitere Einzelheiten, Merkmale und Vorteile ergeben. The invention is illustrated below with reference to a drawing Exemplary embodiments described, from which there are further Details, features and advantages emerge.  

Es zeigtIt shows

Fig. 1 ein Schaltbild einer Anordung zur Adreßraumerweiterung für einen Prozessor mit einer vorgegebenen Zahl von Adreßausgängen; Figure 1 is a circuit diagram of an arrangement for address space expansion for a processor with a predetermined number of address outputs.

Fig. 2 schematisch die Bildung einer Adresse aus Teilen einer Prozessor­ adresse und aus einer in einer gespeicherten Adresse; Figure 2 shows schematically the formation of an address from parts of a processor address and from a stored address;

Fig. 3 ein Schema eines Adreßraums; Fig. 3 is a schematic of an address space;

Fig. 4 ein Schaltbild einer Anordnung zur Feststellung des Zugriffs eines Prozessors zu vorab festgelegten Zellen oder Bereichen von Zellen eines Speichers; Fig. 4 is a circuit diagram of an arrangement for detecting the access of a processor to pre-determined cells or ranges of cells of a memory;

Fig. 5 eine schematische Darstellung von Registern für die Einstellung eines zu überwachenden Speicherbereichs und für die weitere Verarbeitung bei Speicherzugriffen. Fig. 5 is a schematic representation of registers for setting a memory area to be monitored and for further processing in memory accesses.

Eine Datenverarbeitungseinrichtung enthält einen Prozessor 1, z. B. einen Mikroprozessor der 8086-Familie der Fa. INTEL, der durch eine integrierte Schaltung realisiert ist, die eine bestimmte Anzahl von Adressenausgängen hat, an die in Adreßbus 2 angeschlossen ist. Die Zahl der Adressenausgänge hängt von gewissen Bedingungen, z. B. der Größe der integrierten Schaltung, d. h. des Halbleiterchips, der Anzahl der für eine vorgegebene Größe möglichen Anschlüsse, der übrigen benötigten Anschlüsse und evtl. vorhandener Standardisierung ab. Es steht jedenfalls nur eine begrenzte Anzahl von Adressenausgängen zur Verfügung. Die für die Adressierung externer Speicher, d. h. von Speichern außerhalb des Prozessors 1, verfügbare Zahl von Adressenanschlüssen muß nicht unbedingt mit der am Halbleiterchip vorgesehenen Zahl von Adressenausgängen übereinstimmen. Es können auch weniger Adressenausgänge verfügbar sein, wenn einzelne Adressenausgänge für anderwertige Aufgaben ausgenutzt werden. Wenn von unmittelbar von Adressenausgängen des Prozessors 1 erzeugten Adressen die Rede ist, so sind damit die für die Adressierung verfügbaren Adressenausgängen gemeint. Es kann sich daher auch, wie oben erwähnt, wenigstens teilweise um im Multiplexbetrieb mit Adressen oder Daten belegte Ausgänge handeln. Der Adreßbus 2 hat z. B. eine Breite von zwanzig Stellen, die von verfügbaren Adressenausgängen vorgegeben werden. Diese Stellen sind in dem in Fig. 3 dargestellten Schema mit A0 bis A19 bezeichnet. A data processing device contains a processor 1 , e.g. B. a microprocessor of the 8086 family from INTEL, which is implemented by an integrated circuit which has a certain number of address outputs to which is connected in address bus 2 . The number of address outputs depends on certain conditions, e.g. B. the size of the integrated circuit, ie the semiconductor chip, the number of connections possible for a given size, the other connections required and any existing standardization. In any case, only a limited number of address outputs are available. The number of address connections available for addressing external memories, ie of memories outside of processor 1 , does not necessarily have to match the number of address outputs provided on the semiconductor chip. Fewer address outputs can also be available if individual address outputs are used for other tasks. If addresses are generated directly from address outputs of processor 1 , this means the address outputs available for addressing. As mentioned above, it can therefore also be, at least in part, outputs which are assigned addresses or data in multiplex mode. The address bus 2 has z. B. a width of twenty digits, which are specified by available address outputs. These locations are designated A 0 to A 19 in the diagram shown in FIG. 3.

Mit dem Prozessor 1 ist ein Datenbus 3 verbunden, an den ein Register 4 angeschlossen ist. Das Register 4 kann weniger Speicherstellen, als der Datenbus 3 Stellen hat, aufweisen. Dementsprechend sind weniger Datenbusleitungen mit den Registereingängen verbunden. In diesem Fall sind insbesondere die Datenbusleitungen mit den niedrigeren Stellenwerten an die Registereingänge gelegt. Es kann sich dabei um die in Fig. 3 mit D0 bis D11 bezeichneten Stellen des auf den Datenbusleitungen übertragenen parallelen Wörter handeln. Den zwölf Stellen entsprechen zwölf Speicher des Registers 4, das über zwölf Ausgänge mit nicht dargestellten Eingängen eines Addierers 5 verbunden ist. Weitere, nicht näher bezeichnete Eingänge des Adressierers 5 sind mit Leitungen des Adreßbusses 2 verbunden. Es handelt sich insbesondere um die niedrigwertigeren Stellen auf dem Adreßbus übertragenen Worts, die mit dem Addierer 5 verbunden sind.A data bus 3 is connected to the processor 1 , to which a register 4 is connected. Register 4 can have fewer storage locations than the data bus has 3 locations. Accordingly, fewer data bus lines are connected to the register inputs. In this case, the data bus lines with the lower values are in particular connected to the register inputs. These can be the locations of the parallel words transmitted on the data bus lines, designated D 0 to D 11 in FIG. 3. The twelve digits correspond to twelve memories of register 4 , which is connected via twelve outputs to inputs of an adder 5 , not shown. Further inputs of the addressing device 5, which are not described in greater detail, are connected to lines of the address bus 2 . In particular, these are the least significant digits of the word transmitted on the address bus, which are connected to the adder 5 .

Beispielsweise sind die Adreßbusleitungen, denen die Stellenwerte A12 bis A19 zugeordnet sind, mit den zweiten Eingängen des Addierers 5 verbunden. Der Addierer 5 erzeugt an seinen Ausgängen daher ein Adreßwort mit vierundzwanzig Sellen, die in Fig. 3 mit A0 bis A24 bezeichnet sind. Die vierzungzwanzig Ausgänge des Addierers 5 sind an Eingänge eines Multiplexers 6 gelegt, dessen zweite Eingänge mit dem Adreßbus 2 direkt verbunden sind. Den vierundzwanzig Ausgängen des Multiplexers 6 sind Adreßeingänge eines Speichers 7 nachgeschaltet, bei dem es sich um ein RANDOM ACCESS MEMORY (RAM) handelt, das eine Adreßkapazität von 16 MByte hat.For example, the address bus lines to which the position values A 12 to A 19 are assigned are connected to the second inputs of the adder 5 . The adder 5 therefore generates at its outputs an address word with twenty-four cells, which are labeled A 0 to A 24 in FIG. 3. The twenty-four outputs of the adder 5 are connected to inputs of a multiplexer 6 , the second inputs of which are directly connected to the address bus 2 . The twenty-four outputs of the multiplexer 6 are followed by address inputs of a memory 7 , which is a RANDOM ACCESS MEMORY (RAM), which has an address capacity of 16 Mbytes.

Das Register 4 wird durch ein Signal auf einer Leitung 8, die vom Prozessor 1 ausgeht, geladen. Der Multiplexer 7 wird durch ein Steuersignal auf einer Leitung 9, die vom Prozessor 1 ausgeht, auf die Weiterleitung der Ausgangssignale des Addierers 5 oder des Adreßbusses 2 eingestellt.The register 4 is loaded by a signal on a line 8 coming from the processor 1 . The multiplexer 7 is set by a control signal on a line 9 which goes out from the processor 1 to the forwarding of the output signals of the adder 5 or of the address bus 2 .

Mit den zwanzig Stellen des Adreßworts, die vom Prozessor 1 zur Verfügung gestellt werden, kann ein in Fig. 2 mit 10 bezeichneter Adreßraum des Speichers 7 adressiert werden. Der Adreßraum 10 umfaßt 1 MByte. Die zwölf niedrigwertigeren Stellen A0 bis A11 erlauben die Adressierung eines "Fensters" von 64 kByte, das mittels der durch das Register 4 vorgebbaren Stellen auf einen Adreßraum von 16 MByte "abgebildet" werden kann. Die in das Register 4 eingegebenen Adressen sind Daten, die mittels des Programms des Prozessors 1 als Adressen definiert und verarbeitet werden. With the twenty digits of the address word which are made available by the processor 1 , an address space of the memory 7 which is designated by 10 in FIG. 2 can be addressed. The address space 10 comprises 1 Mbyte. The twelve least significant digits A 0 to A 11 allow the addressing of a "window" of 64 kbytes, which can be "mapped" to an address space of 16 Mbytes by means of the digits specified by register 4 . The addresses entered in register 4 are data which are defined and processed as addresses by means of the program of processor 1 .

Das Register 4 wird mittels eines Schreibbefehls geladen. Dem Register 4 ist eine Ein-/Ausgabeadresse zugeordnet. In Fig. 2 ist ein Adreßraum von 64 K als Fenster 12 bezeichnet, das mit den durch das Register 4 vorgebbaren Adressen in den erweiterten Adreßraum 11 abbildbar ist. Wenn keine Adreßerweiterung vorgesehen ist, erfolgt die Adressierung des Speichers 7 in üblicher Weise über den Adreßbus 2, dessen Adressen über den entsprechend eingestellten Multiplexer 6 an den Speicher 7 gelegt werden.Register 4 is loaded by means of a write command. An input / output address is assigned to register 4 . In FIG. 2, an address space of 64 K is designated as window 12 , which can be mapped into the expanded address space 11 with the addresses that can be specified by register 4 . If no address expansion is provided, the addressing of the memory 7 takes place in the usual way via the address bus 2 , the addresses of which are applied to the memory 7 via the correspondingly set multiplexer 6 .

Die in Fig. 4 zeigt eine Anordnung, mit der ein Speicherbereich ausgewählt werden kann, wodurch ein Interrupt-Signal für den Prozessor erzeugt wird, das weitere Maßnahmen auslösen kann, um den Zugriff in Form von Lesen oder Schreiben zu sperren.In Fig. 4 shows an arrangement with which a memory area may be selected, whereby an interrupt signal is generated for the processor, the further action may trigger to lock access in the form of reading or writing.

Für die Einstellung des ausgewählten Speicherbereichs wird, eine Anfgangs- und eine Endadresse festgelegt. Die niedrigere Anfangsadresse wird in ein Adreßregister 13 eingegeben, das z. B. für 24 bit ausgelegt ist. Für die höhere Endadresse des Bereichs ist ein weiteres Adreßregister 14 vorgesehen, das ebenfalls z. B. für 24 bit ausgelegt ist. Die einzelnen Stellen des Registers 13, 14 sind in Bezug auf die Wertigkeit der darin gespeicherten Adreßbits mit A0 bis A23 bezeichnet. Die vom Prozessor 1 über den Adreßbus 1 und den Multiplexer 6 oder über die weiteren in Fig. 1 dargestellten Adreßerweiterungsbauteile und den Multiplexer 6 erzeugten Adressen mit den Stellenwerten A0 bis A23 werden zwei Komparatoren 15, 16 zugeführt.A start and an end address are specified for the setting of the selected memory area. The lower start address is entered in an address register 13 which, for. B. is designed for 24 bit. For the higher end address of the area, a further address register 14 is provided, which, for. B. is designed for 24 bit. The individual positions of the register 13 , 14 are designated A 0 to A 23 with regard to the value of the address bits stored therein. The addresses generated by the processor 1 via the address bus 1 and the multiplexer 6 or via the further address expansion components shown in FIG. 1 and the multiplexer 6 with the position values A 0 to A 23 are fed to two comparators 15 , 16 .

Die Register 13, 14 werden vom Prozessor 1 z. B. durch einen Ausgabebefehl geladen. Ausgangsseitig sind die Register mit vierundzwanzig Adreßleitungen, die den Stellen A0 bis A23 entsprechen, jeweils mit Eingängen des Komparators 15 oder 16 verbunden, in denen die Adressen an den Eingängen miteinander verglichen werden. Der Komparator 15 erzeugt bei Gleichheit der Adressensignale an einem ersten Ausgang 17 und bei einer größeren Adresse auf den vom Multiplexer 6 kommenden Leitungen an einem Ausgang 18 ein Signal. Die Ausgänge 17, 18 sind an ein ODER-Glied 19 gelegt. Der Komparator 16 erzeugt bei Gleichheit der eingangsseitig anstehenden Adressen auf einen Ausgang 20 und bei einer kleineren über den Multiplexer 6 vorgegebenen Adresse auf einen Ausgang 21 ein Signal. Die Ausgänge sind an ein ODER-Glied 22 gelegt. The registers 13, 14 are for the processor. 1 B. loaded by an output command. On the output side, the registers with twenty-four address lines, which correspond to positions A 0 to A 23 , are each connected to inputs of comparator 15 or 16 , in which the addresses at the inputs are compared with one another. When the address signals are identical, the comparator 15 generates a signal at an output 18 at a first output 17 and at a larger address on the lines coming from the multiplexer 6 . The outputs 17 , 18 are connected to an OR gate 19 . The comparator 16 generates a signal if the addresses on the input side are the same at an output 20 and at a smaller address specified via the multiplexer 6 on an output 21 . The outputs are connected to an OR gate 22 .

Ein vom Prozessor 1 ladbares Kommandoregister 23 enthält vier nicht näher bezeichnete Stufen, in denen jeweils Befehle für Lesen und Schreiben des Speichers sowie Lesen und Schreiben von Eingabe-, Ausgabeelementen eingespeichert werden können. Lese- und Schreibsignale für den Speicher sowie Lese- und Schreibsignale für Eingabe-, Ausgabeelemente werden vom Prozessor 1 auf gesonderten Steuersignalen ausgegeben und je an ein UND- Glied 24, 25, 26, 27 gelegt. Die zweiten Eingänge der UND-Glieder 24-27 sind jeweils mit dem Ausgang einer Stufe des Registers 23 verbunden. Den Ausgängen der UND-Glieder 24-27 ist ein ODER-Glied 28 nachgeschaltet. Die Ausgänge aller ODER-Glieder 19, 22, 28 sind mit einem UND-Glied 29 verbunden.A command register 23 which can be loaded by the processor 1 contains four stages, which are not described in any more detail, in each of which instructions for reading and writing the memory and reading and writing input and output elements can be stored. Read and write signals for the memory and read and write signals for input and output elements are output by processor 1 on separate control signals and are each applied to an AND gate 24 , 25 , 26 , 27 . The second inputs of the AND gates 24 - 27 are respectively connected to the output of a stage of the register 23rd The outputs of the AND gates 24 - 27, an OR gate 28 is connected downstream. The outputs of all OR gates 19 , 22 , 28 are connected to an AND gate 29 .

Die Register 13, 14 und 23 werden durch den Prozessor 1 geladen. Hierzu sind die Register 13, 14, 23 z. B. eingangsseitig mit dem Datenbus 3 verbunden, der aus Gründen der Übersichtlichkeit in Fig. 4 nicht dargestellt ist. Die Inhalte der Register 13, 14 legen einen Bereich von Adressen fest. Es kann sich dabei um Adressen eines Speichers oder um Adressen handeln, die Eingabe-, Ausgabeelementen zugeordnet sind. Eingabe-, Ausgabeelemente können Module mit eigener Intelligenz sein. Wenn eine vom Prozessor 1 über den Multiplexer 6 ausgegebene Adresse gleich einer Anfangs- oder Endadresse ist oder innerhalb des durch die Inhalte der Register 13, 14 eingegrenzten Adressenbereichs liegt, gibt der Komparator 15 oder der Komparator 16 logische "1"-Signale an die ODER-Glieder 19 oder 20 ab, deren Ausgangssignale die ODER-Glieder 19 oder 22 beaufschlagen. Den Stufen des Registers 23 sind verschiedene Bedingungen zugeordnet, die mittels des Prozessors 1 eingestellt werden können.The registers 13 , 14 and 23 are loaded by the processor 1 . For this purpose, the registers 13 , 14 , 23 z. B. connected on the input side to the data bus 3 , which is not shown in FIG. 4 for reasons of clarity. The contents of registers 13 , 14 define a range of addresses. These can be addresses of a memory or addresses which are assigned to input and output elements. Input and output elements can be modules with their own intelligence. If an address output by the processor 1 via the multiplexer 6 is equal to a start or end address or lies within the address range delimited by the contents of the registers 13 , 14 , the comparator 15 or the comparator 16 outputs logic "1" signals to the OR Gates 19 or 20 whose output signals act on the OR gates 19 or 22 . Various conditions are assigned to the stages of the register 23 , which can be set by means of the processor 1 .

Die vier Bedingungen, die im Register 23 gespeichert werden können, beziehen sich je auf das Lesen des Speichers, das Schreiben in den Speichern, das Lesen einer Eingabeeinheit und das Schreiben in eine Ausgabeeinheit. Sind die entsprechenden Befehlsbits im Kommandoregister 23 vorhanden, dann entsteht bei einem entsprechenden, vom Prozessor auf einer der vier Steuerleitungen zu den UND-Gliedern 24-27 erzeugten Steuersignal ein Ausgangssignal am jeweiligen UND-Glied. Dieses Ausgangssignal gelangt zum ODER-Glied 28. Wenn alle ODER-Glieder 19, 22, 28 entsprechende Ausgangssignale führen, gibt das UND-Glied 29 ein Ausgangssignal ab, das als Interrupt-Signal dem Prozessor 1 zugeführt wird. The four conditions that can be stored in register 23 each relate to reading the memory, writing to the memories, reading an input unit and writing to an output unit. If the relevant command bits in the command register 23 is present, then results in a corresponding, by the processor at one of the four control lines to the AND gates 24 - 27 control signal generated an output signal to the respective AND gate. This output signal reaches the OR gate 28 . If all OR gates 19 , 22 , 28 carry corresponding output signals, the AND gate 29 emits an output signal which is fed to the processor 1 as an interrupt signal.

Es entsteht daher ein Interrupt-Signal, wenn zu einem mit den Adreßregistern 13, 14 eingestellten Speicherbereich ein Schreib- oder Lesezugriff eingeleitet wird. Das Interruptsignal kann auf verschiedene Weise ausgewertet werden.An interrupt signal therefore arises when a write or read access is initiated to a memory area set with the address registers 13 , 14 . The interrupt signal can be evaluated in various ways.

Insbesondere ist es möglich, den Lese- oder Schreibzugriff an dem Speicherbereich zu sperren, d. h. die Ausführung des Lese- oder Schreibbefehls zu verhindern. Dies geschieht durch ein entsprechendes Programm im Prozessor 1.In particular, it is possible to block read or write access to the memory area, ie to prevent the execution of the read or write command. This is done by a corresponding program in processor 1 .

Die Fig. 5 zeigt vier Register 30, 31, 32, 33 mit jeweils 16 Stellen. Die Register 30, 31 sind für die Aufnahme der vierundzwanzigstelligen unteren und die Register 32, 33 für die Aufnahme der vierundzwanzigstelligen oberen Adresse vorgesehen. Die noch freien Stellen der Register 31, 32 sind für die Information über die Lese- bzw. Schreibsperre des Speichers und der Eingabe-, Ausgabeeinheiten (I, 0) bestimmt. FIG. 5 shows four registers 30, 31, 32, 33, each with 16 locations. Registers 30 , 31 are provided for the entry of the twenty-four lower address and registers 32 , 33 for the entry of the twenty-four upper address. The free positions of the registers 31 , 32 are intended for the information about the read or write lock of the memory and the input and output units (I, 0).

Claims (6)

1. Anordnung zur Beeinflussung der von mindestens einem Prozessor mit einer vorgegebenen Stellenzahl ausgegebenen Adressen, dadurch gekennzeichnet, daß ein über Datenausgänge des Prozessors (1) mit Daten ladbares Register (4), in dem die Daten Adressen zugeordnet sind, die Adressen ausgibt, die mit unmittelbar von Adressenausgängen des Prozessors (1) erzeugten Adressen vereinigbar und über einen Multiplexer (6), der wahlweise auf von den Adressenausgängen alleine ausgegebenen Adressen umschaltbar ist, an Speicher (7) anlegbar sind.1. Arrangement for influencing the addresses output by at least one processor with a predetermined number of digits, characterized in that a register ( 4 ) which can be loaded with data via data outputs of the processor ( 1 ) and in which the data addresses are assigned, outputs the addresses which can be combined with addresses generated directly by address outputs of the processor ( 1 ) and can be applied to memory ( 7 ) via a multiplexer ( 6 ), which can optionally be switched to addresses output only by the address outputs. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die vom Register (4) ausgegbenen Adressen als höherwertige Adreßstellen mit mindestens einem Teil der von den Adressenausgängen des Prozessors (1) als niedrigwertigere Adreßstellen ausgegebenen Adresse zu einer Adresse für den bzw. die Speicher zusammengesetzt werden.2. Arrangement according to claim 1, characterized in that the addresses given by the register ( 4 ) are composed as higher-value address locations with at least part of the address outputs of the processor ( 1 ) as lower-value address locations to form an address for the memory or memories will. 3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Register (4) durch einen Schreibbefehl in Verbindung mit einer Eingabe-, Ausgabeadresse des Prozessors (1) ladbar ist. 3. Arrangement according to claim 1 or 2, characterized in that the register ( 4 ) can be loaded by a write command in connection with an input, output address of the processor ( 1 ). 4. Anordnung insbesondere nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß mindestens zwei Register (13, 14) für die Aufnahme je einer oberen und unteren Adresse als Grenze für mindestens einen zu überwachenden Adreßbereich vorgesehen sind, daß die vom Prozessor (1) ausgegebenen Adressen mit den Adressen der Register (13, 14) verglichen werden und daß bei Übereinstimmung mit einer innerhalb des Adreßbereichs liegenden Adresse vor der Ausführung eines der Adresse zugordneten Schreib- oder Lesebefehls ein Interruptsignal für den Prozessor erzeugt wird.4. Arrangement in particular according to one of the preceding claims, characterized in that at least two registers ( 13 , 14 ) are provided for the inclusion of an upper and lower address as a limit for at least one address range to be monitored, that the processor ( 1 ) outputs Addresses are compared with the addresses of the registers ( 13 , 14 ) and that, if they match an address within the address range, an interrupt signal is generated for the processor before the execution of a write or read command assigned to the address. 5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß bei Feststellung der Übereinstimmung der Adressen ein Interruptsignal für den Prozessor (1) erzeugt wird.5. Arrangement according to claim 4, characterized in that an interrupt signal for the processor ( 1 ) is generated when the agreement of the addresses is determined. 6. Anordnung nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß nach dem Interruptsignal das Auslesen der der Adresse zugeordneten Speicherstelle oder das Einschreiben in die Speicherzelle gesperrt werden.6. Arrangement according to claim 4 or 5, characterized, that after the interrupt signal reading the address assigned Storage location or writing to the storage cell blocked will.
DE19904009382 1990-03-23 1990-03-23 Memory address expansion system for microcomputer installation - sums data register output with address bits to increase capacity Ceased DE4009382A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19904009382 DE4009382A1 (en) 1990-03-23 1990-03-23 Memory address expansion system for microcomputer installation - sums data register output with address bits to increase capacity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19904009382 DE4009382A1 (en) 1990-03-23 1990-03-23 Memory address expansion system for microcomputer installation - sums data register output with address bits to increase capacity

Publications (1)

Publication Number Publication Date
DE4009382A1 true DE4009382A1 (en) 1991-09-26

Family

ID=6402916

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19904009382 Ceased DE4009382A1 (en) 1990-03-23 1990-03-23 Memory address expansion system for microcomputer installation - sums data register output with address bits to increase capacity

Country Status (1)

Country Link
DE (1) DE4009382A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10122309A1 (en) * 2001-05-08 2002-11-21 Systemonic Ag Adressgeneriereinheit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1952158A1 (en) * 1968-12-31 1970-07-09 Texas Instruments Inc Storage protection procedure and facility for carrying out this procedure
DE2556661A1 (en) * 1974-12-18 1976-07-08 Panafacom Ltd CONTROL CIRCUIT WITH ADDRESS EXTENSION
EP0157342A2 (en) * 1984-03-29 1985-10-09 Ascii Corporation Memory address expansion system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1952158A1 (en) * 1968-12-31 1970-07-09 Texas Instruments Inc Storage protection procedure and facility for carrying out this procedure
DE2556661A1 (en) * 1974-12-18 1976-07-08 Panafacom Ltd CONTROL CIRCUIT WITH ADDRESS EXTENSION
EP0157342A2 (en) * 1984-03-29 1985-10-09 Ascii Corporation Memory address expansion system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Computer Design, Oktober 1982, S. 120a-120g *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10122309A1 (en) * 2001-05-08 2002-11-21 Systemonic Ag Adressgeneriereinheit
US7577818B2 (en) 2001-05-08 2009-08-18 Nxp B.V. Microprocessor program addressing arrangement having multiple independent complete address generators

Similar Documents

Publication Publication Date Title
DE3011552C2 (en)
DE69509134T2 (en) DOUBLE BANK STORAGE AND SYSTEMS THAT USE THIS
DE68923863T2 (en) I / O cache storage.
DE68907518T2 (en) Content-addressed storage arrangement.
DE2908691C2 (en)
DE2235841A1 (en) ARRANGEMENT FOR MEMORY CONTROL WITH LOGICAL AND REAL ADDRESSING
DE2725718A1 (en) PROCESSING SYSTEM WITH MULTIPLE VIRTUAL ADDRESS SPACES
CH619309A5 (en)
DE2844357A1 (en) MEMORY EXPANSION
CH615521A5 (en)
DE2054830C3 (en) Information processing system with means for accessing memory data fields of variable length
DE2441754A1 (en) PROCESSOR DATA TRANSFER CONTROL ARRANGEMENT AND METHOD FOR CONTROLLING THE DATA TRANSFER OF A PROCESSOR
DE3888438T2 (en) Cache control device for a data processing device with virtual memory.
DE69119149T2 (en) Structure for direct memory-to-memory transfer
DE69029815T2 (en) CENTRALIZED REFERENCE AND CHANGE TABLE FOR A VIRTUAL STORAGE ARRANGEMENT
DE2912073C2 (en)
DE2718551B2 (en)
DE3911721C2 (en)
DE4117672A1 (en) CPU and cache memory control method - avoiding limitation of CPU operation due to cache memory operation
DE4234695C2 (en) Computer storage system and method for maintaining cache coherence between a data cache and a segment descriptor cache
DE68926158T2 (en) Single chip microcomputer with EPROM
DE2906789B2 (en)
DE3586524T2 (en) THROUGH BOTH, PHYSICAL AND VIRTUAL ADDRESSES, ADDRESSABLE CACHE STORAGE.
DE3333894C2 (en)
DE3410497A1 (en) COMPUTER ARRANGEMENT

Legal Events

Date Code Title Description
8120 Willingness to grant licenses paragraph 23
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: AEG SCHNEIDER AUTOMATION GMBH, 63500 SELIGENSTADT,

8127 New person/name/address of the applicant

Owner name: SCHNEIDER AUTOMATION GMBH, 63500 SELIGENSTADT, DE

8131 Rejection