System
umfassend einen Mikrocontroller bzw. Mikroprozessor und eine Schnittstellen-Einrichtung,
sowie Verfahren zum Betreiben eines derartigen Systemssystem
comprising a microcontroller or microprocessor and an interface device,
and methods of operating such a system
Die
Erfindung betrifft ein System umfassend einen Mikrocontroller bzw.
Mikroprozessor und eine Schnittstellen-Einrichtung, sowie ein Verfahren zum
Betreiben eines derartigen Systems.The
The invention relates to a system comprising a microcontroller or
Microprocessor and an interface device, and a method for
Operate such a system.
Herkömmliche
digitale Rechenschaltkreise (z.B. entsprechende, auf einem Mikrochip
angeordnete Mikrocontroller- bzw. Mikroprozessor-Systeme) weisen
eine oder mehrere (zentrale) Steuer- bzw. Recheneinheiten auf (Central
Processing Units (CPUs), bzw. CPU „Cores").conventional
digital arithmetic circuits (e.g., on a microchip
arranged microcontroller or microprocessor systems) have
one or more (central) control or computing units on (Central
Processing Units (CPUs), or CPU "cores").
Die
CPU oder die CPUs sind – über einen
System-Bus (und ggf. ein oder mehrere weitere Bus-Systeme) – mit einer
oder mehreren (externen oder internen) Speicher-Einrichtungen verbunden,
z.B. einer Programm- und einer Datenspeichereinrichtung („Programmspeicher", und „Datenspeicher").The
CPU or CPUs are - over one
System bus (and possibly one or more other bus systems) - with one
or multiple (external or internal) storage devices connected,
e.g. a program and a data storage device ("program memory", and "data memory").
Der „Programmspeicher" enthält insbesondere
die Folge der von dem bzw. den CPU Cores abzuarbeitenden Befehle,
also das Programm (und ggf. zusätzlich
entsprechende – von
dem bzw. den CPU Cores zu verwendende – Daten-Konstanten).The "program memory" contains in particular
the sequence of commands to be processed by the CPU core or cores,
So the program (and possibly in addition
corresponding - from
to be used by the CPU cores - data constants).
Der
Programmspeicher kann z.B. von einem EPROM (Erasable PROM bzw. Löschbaren
Festwertspeicher) oder EEPROM (Electrically Erasable PROM bzw. Elektrisch
Löschbarer
Festwertspeicher) gebildet werden, insbesondere einem Flash-EEPROM-Bauelement.Of the
Program memory may e.g. from an EPROM (erasable PROM)
Read-only memory) or EEPROM (Electrically Erasable PROM or Electric
erasable
Read-only memory), in particular a flash EEPROM component.
Dadurch
kann erreicht werden, dass das Programm auch bei unterbrochener
Stromzufuhr auf der entsprechenden Speicher-Einrichtungen gespeichert bleibt.Thereby
can be achieved that the program even if interrupted
Power is stored on the appropriate storage facilities.
Für häufig zu ändernde
Programme können – alternativ – z.B. auch
RAMs (RAM = Random Access Memory bzw. Schreib-Lese-Speicher), insbesondere
DRAMs als Programmspeicher verwendet werden, die von einem externen
Massenspeicher geladen werden können.For frequently changing
Programs can - alternatively - e.g. also
RAMs (RAM = Random Access Memory), in particular
DRAMs are used as program memory by an external programmer
Mass storage can be loaded.
Im
o.g. „Datenspeicher" können z.B.
die – insbesondere
von dem bzw. den CPU Cores beim Abarbeiten des Programms ggf. abzuändernden – Variablen
gespeichert sein.in the
above-mentioned "Datastores" can e.g.
the - in particular
from the CPU cores when executing the program, if necessary, variables to be modified
be saved.
Der
Datenspeicher kann z.B. von einem oder mehreren RAM-Bauelementen, insbesondere
z.B. einem entsprechenden DRAM-Bauelement
(DRAM = Dynamic Random Access Memory), oder SRAM-Bauelement (SRAM = Static Random Access
Memory) gebildet werden.Of the
Data storage may e.g. of one or more RAM devices, in particular
e.g. a corresponding DRAM device
Dynamic Random Access Memory (DRAM), or SRAM (Static Random Access) device
Memory) are formed.
Die
CPU bzw. CPUs können – über den
o.g. System-Bus, und eine daran angeschlossene Schnittstellen-Einrichtung – an ein
(oder mehrere) externe(s) Modul(e) angeschlossen sein, insbesondere
entsprechende periphere, extern vom o.g. Mikrochip angeordnete Module,
die z.B. über
entsprechende weitere Bus-Systeme mit der Schnittstellen-Einrichtung
kommunizieren.The
CPU or CPUs can - over the
above-mentioned System bus, and an interface device connected to it - on
(or more) external module (s) to be connected, in particular
corresponding peripheral, externally from o.g. Microchip arranged modules,
the e.g. above
corresponding further bus systems with the interface device
communicate.
Um
relativ kurze Zugriffszeiten zu erreichen, kann der von der CPU
verwendete Adressraum relativ klein sein, insbesondere kleiner,
als der von den (externen) Modulen benötigte bzw. verwendete Adressraum.Around
To achieve relatively short access times, that of the CPU
used address space be relatively small, especially smaller,
as the address space needed or used by the (external) modules.
Um
für die
o.g. Module – virtuell – den jeweils
benötigten – relativ
großen – Adressraum
zur Verfügung zu
stellen, kann ein Adressraum-Erweiterungs-Verfahren verwendet werden,
insbesondere ein sog. Paging-Verfahren.Around
for the
above-mentioned Modules - virtually - each
needed - relative
big - address space
available too
an address space extension method can be used,
in particular a so-called paging method.
Dabei
wird – wie
in 1 veranschaulicht
ist – zu
einer von einer CPU 1 verwendeten, und z.B. zusammen mit entsprechenden
Daten über
einen entsprechenden Bus 3 übertragenen Adresse addr [x:0]
eine z.B. in einem entsprechenden Page-Register 2 abgespeicherte
Page-Adresse addr [y:x + 1] hinzugefügt (und die erweiterte Gesamt-Adresse
addr [y:0] – zusammen
mit den Daten – an
das entsprechende Modul 4 übertragen).It is - as in 1 is illustrated - to one of a CPU 1 used and, for example, together with corresponding data via a corresponding bus 3 transmitted address addr [x: 0] one eg in a corresponding page register 2 stored page address addr [y: x + 1] added (and the extended total address addr [y: 0] - together with the data - to the corresponding module 4 transfer).
Soll
auf ein Register zugegriffen werden, das außerhalb der momentanen Page
liegt, muß das
Page-Register 2 neu programmiert werden.If you want to access a register that is outside the current page, the Page register 2 be reprogrammed.
Dies
ist insbesondere z.B. dann von Nachteil, wenn ein Interrupt durchgeführt werden
soll.This
is in particular e.g. then disadvantageous when an interrupt is performed
should.
Das
Konzept des Interrupts kann z.B. verwendet werden, um Probleme,
die nicht im normalen Programmablauf vorgesehen sind, zu verarbeiten.The
Concept of the interrupt may e.g. used to problems
which are not provided in the normal program sequence to process.
Bei
einem Interrupt wird der Programmfluß unterbrochen, und in eine
bestimmte Serviceroutine (Interrupt Service Routine (ISR)) gesprungen.
Nachdem die Befehle der Routine abgearbeitet wurden, kann dann i.d.R.
im unterbrochenen Programm fortgesetzt werden.at
an interrupt, the program flow is interrupted, and in a
certain service routine (interrupt service routine (ISR)) jumped.
After the instructions of the routine have been processed, i.d.R.
in the interrupted program.
Wird
das o.g. Paging-Konzept verwendet, müssen von der Interrupt Service
Routine die folgenden Schritte durchgeführt werden.
- – Auslesen
des im Page-Register abgespeicherten Werts;
- – Zwischen-Speichern
des ausgelesenen Page-Register-Werts, insbesondere in einer der
o.g. Speicher-Einrichtungen;
- – Programmieren
eines neuen Page-Register-Werts in das Page-Register;
- – Ausführen des
eigentlichen Interrupts;
- – Auslesen
des zwischen-gespeicherten (alten) Page-Register-Werts;
- – Rück-Programmieren
des alten Page-Register-Werts in das Page-Register.
If the above-mentioned paging concept is used, the following steps must be performed by the interrupt service routine. - - reading the value stored in the page register;
- - intermediate storage of the read page register value, in particular in one of the above-mentioned memory devices;
- - programming a new page register value into the page register;
- - execute the actual interrupt;
- - reading out the intermediate stored (old) page register value;
- - Re-program the old page register value into the page register.
Dies
ist aufwendig, und kann eine relativ lange Zeitdauer in Anspruch
nehmen.This
is expensive, and can take a relatively long time to complete
to take.
Die
Druckschrift US 2002/0087500 A1 zeigt ein Daten-Verwaltungs-System, welches einen – geteilten – Speicher
aufweist, der in mehrere Pages mit jeweils vorbestimmter, fester
Länge unterteilt
ist. Ein Teil des – geteilten – Speichers
ist für
mehrere sog. „Page
Latches" reserviert.The
Document US 2002/0087500 A1 shows a data management system which has a shared memory
having, in several pages with each predetermined, fixed
Divided length
is. Part of the shared memory
is for
several so-called "Page
Latches "reserved.
Jeder
Page Latch ist jeweils einer bestimmten Page zugeordnet. Mit Hilfe
eines Page Latches wird – während des
Zugriffs auf die zugeordnete Page – die Konsistenz der auf der
jeweiligen Page gespeicherten Daten sichergestellt.Everyone
Page Latch is assigned to a specific page. With help
a page latches will - during the
Access to the associated page - the consistency of the on the
the respective page stored data.
In
der Druckschrift US 4,669,043 sind
softwaregesteuerte Page-Tables gezeigt, in denen vermerkt wird,
ob eine Page in einem Speicher präsent ist, und die Page zuletzt
verwendet / beschrieben wurde, und ein „Message Passing" – Verfahren zum geteilten Verwenden
von Code und Daten.In the publication US 4,669,043 Software-controlled page tables are shown, in which it is noted whether a page is present in a memory and the page was last used / described, and a "message passing" method for the shared use of code and data.
Die
Erfindung hat zur Aufgabe, ein neuartiges System umfassend einen
Mikrocontroller bzw. Mikroprozessor und eine Schnittstellen-Einrichtung,
sowie ein neuartiges Verfahren zum Betreiben eines derartigen Systems
zur Verfügung
zu stellen, insbesondere ein System und Verfahren, bei denen nach
einem Interrupt des Mikrocontrollers bzw. Mikroprozessors schneller
zu der vor dem Interrupt geltenden Page-Adresse zurückgewechselt
werden kann.The
Invention has for its object, a novel system comprising a
Microcontroller or microprocessor and an interface device,
and a novel method of operating such a system
to disposal
in particular a system and method in which
an interrupt of the microcontroller or microprocessor faster
back to the page address before the interrupt
can be.
Sie
erreicht dieses und weitere Ziele durch die Gegenstände der
Ansprüche
1 und 7.she
achieves this and other goals through the objects of
claims
1 and 7.
Vorteilhafte
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.advantageous
Further developments of the invention are specified in the subclaims.
Im
folgenden wird die Erfindung anhand von Ausführungsbeispielen und der beigefügten Zeichnung näher erläutert. In
der Zeichnung zeigt:in the
Following, the invention will be explained in more detail with reference to embodiments and the accompanying drawings. In
the drawing shows:
1 eine
schematische Darstellung einer CPU, eines daran angeschlossenen
Moduls, und eines Page-Registers zur Veranschaulichung eines Paging-Verfahrens
gemäß dem Stand
der Technik; 1 a schematic representation of a CPU, a module connected thereto, and a page register for illustrating a paging method according to the prior art;
2 eine
schematische Darstellung eines Mikrocontroller- bzw. Mikroprozessor-Systems
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung; und 2 a schematic representation of a microcontroller or microprocessor system according to an embodiment of the present invention; and
3 eine
schematische Detail-Darstellung des in 2 gezeigten
Moduls und der in 2 gezeigten Schnittstellen-Einrichtung des Mikrocontroller-
bzw. Mikroprozessor-Systems, zur Veranschaulichung eines Paging-Verfahrens
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. 3 a schematic detail representation of in 2 shown module and the in 2 shown interface device of the microcontroller or microprocessor system, illustrating a paging method according to an embodiment of the present invention.
In 2 ist
eine schematische Darstellung eines Mikrocontroller- bzw. Mikroprozessor-Systems 10 gemäß einem
Ausführungsbeispiel
der Erfindung gezeigt.In 2 is a schematic representation of a microcontroller or microprocessor system 10 shown according to an embodiment of the invention.
Bei
dem Mikrocontroller- bzw. Mikroprozessor-System 10 kann
es sich z.B. um ein 8 Bit Mikrocontroller- bzw. Mikroprozessor-System 10 handeln
(oder um ein beliebiges anderes Mikrocontroller- bzw. Mikroprozessor-System,
z.B. ein entsprechendes 16 Bit oder 32 Bit Mikrocontroller- bzw.
Mikroprozessor-System, etc.).In the microcontroller or microprocessor system 10 For example, it can be an 8-bit microcontroller or microprocessor system 10 act (or any other microcontroller or microprocessor system, such as a corresponding 16-bit or 32-bit microcontroller or microprocessor system, etc.).
Das
Mikrocontroller- bzw. Mikroprozessor-System 10 weist eine
oder mehrere, auf einem entsprechenden Mikrochip 15 angeordnete
(zentrale) Steuer- bzw. Recheneinheiten 11 auf (Central
Processing Units (CPUs), bzw. CPU „Cores").The microcontroller or microprocessor system 10 has one or more, on a corresponding microchip 15 arranged (central) control or computing units 11 on (Central Processing Units (CPUs), or CPU "cores").
Die
CPU 11 oder die CPUs sind – über einen System-Bus 16 (und
ggf. ein oder mehrere weitere Bus-Systeme) – mit einer oder mehreren internen
(auf demselben Mikrochip 15, wie die CPU 11 vorgesehenen)
Speicher-Einrichtungen 17 verbunden, sowie – z.B. über den
System-Bus 16, und eine oder mehrere entsprechende Speicher-Steuereinrichtungen
(„memory
controller") 12 – mit einer
oder mehreren externen (auf einem anderen Mikrochip, als die CPU 11 vorgesehenen)
Speicher-Einrichtungen 18.The CPU 11 or the CPUs are - via a system bus 16 (and possibly one or more other bus systems) - with one or more internal (on the same microchip 15 like the CPU 11 provided) storage facilities 17 connected, as well as - eg via the system bus 16 , and one or more corresponding memory controllers ("memory controller") 12 - with one or more external (on a different microchip, than the CPU 11 provided) storage facilities 18 ,
Die
Speicher-Einrichtungen 17, 18 können z.B.
als Programmspeichereinrichtung, und/oder Datenspeichereinrichtung
(„Programmspeicher", und „Datenspeicher") fungieren.The storage facilities 17 . 18 For example, they may act as program storage means, and / or data storage means ("program storage", and "data storage").
Der „Programmspeicher" enthält insbesondere
die Folge der von der bzw. den CPUs 11 abzuarbeitenden
Befehle, also das Programm (und ggf. zusätzlich entsprechende – von der
bzw. den CPUs 11 zu verwendende – Daten-Konstanten).The "program memory" contains in particular the sequence of the CPU or CPUs 11 to be processed commands, so the program (and possibly additionally appropriate - of the or the CPUs 11 to be used - data constants).
Der – z.B. von
der Speicher-Einrichtung 17 gebildete – Programmspeicher kann z.B.
von einem EPROM (Erasable PROM bzw. Löschbaren Festwertspeicher)
oder EEPROM (Electrically Erasable PROM bzw. Elektrisch Löschbarer
Festwertspeicher) gebildet werden, insbesondere einem Flash-EEPROM-Bauelement.The - eg of the memory device 17 formed - program memory can be formed for example by an EPROM (Erasable PROM or erasable read-only memory) or EEPROM (Electrically Erasable PROM or electrically erasable read-only memory), in particular a flash EEPROM device.
Dadurch
kann erreicht werden, dass das Programm auch bei unterbrochener
Stromzufuhr auf der entsprechenden Speicher-Einrichtungen gespeichert bleibt.Thereby
can be achieved that the program even if interrupted
Power is stored on the appropriate storage facilities.
Für häufig zu ändernde
Programme können – alternativ – z.B. auch
RAMs (RAM = Random Access Memory bzw. Schreib-Lese-Speicher), insbesondere
DRAMs als Programmspeicher verwendet werden, die von einem externen
Massenspeicher geladen werden können.For frequently changing
Programs can - alternatively - e.g. also
RAMs (RAM = Random Access Memory), in particular
DRAMs are used as program memory by an external programmer
Mass storage can be loaded.
Im
o.g. – z.B.
von der Speicher-Einrichtung 18 gebildeten – „Datenspeicher" können z.B.
die – insbesondere
von der bzw. den CPUs 11 beim Abarbeiten des Programms
ggf. abzuändernden – Variablen
gespeichert sein.In the above - eg from the storage facility 18 formed - "data memory" can, for example, the - in particular of the or the CPUs 11 Variables to be modified when the program is executed.
Der
Datenspeicher kann z.B. von einem oder mehreren RAM-Bauelementen, insbesondere
z.B. einem entsprechenden DRAM-Bauelement
(DRAM = Dynamic Random Access Memory), oder SRAM-Bauelement (SRAM = Static Random Access
Memory) gebildet werden.Of the
Data storage may e.g. of one or more RAM devices, in particular
e.g. a corresponding DRAM device
Dynamic Random Access Memory (DRAM), or SRAM (Static Random Access) device
Memory) are formed.
Die
CPU bzw. CPUs 11 können – z.B. über den
o.g. System-Bus 16 (und ggf. ein oder mehrere weitere Bus-Systeme),
und eine an den System-Bus 16 (bzw. das oder die weiteren
Bus-Systeme) angeschlossene, interne, auf dem Mikrochip 15 vorgesehene
Schnittstellen-Einrichtung 19 – an ein (oder mehrere) externe(s) Modul(e) 14 angeschlossen
sein, und zwar – wie
im folgenden noch genauer erläutert
wird – jeweils über eine entsprechende – externe
(separat vom Mikrochip 15 z.B. auf einem anderen Mikrochip,
als die CPU 11 vorgesehene) – Schnittstellen-Einrichtung 20.The CPU or CPUs 11 can - eg via the above-mentioned system bus 16 (and possibly one or more other bus systems), and one to the system bus 16 (or the other bus systems) connected, internal, on the microchip 15 provided interface device 19 - to one (or more) external module (s) 14 be connected, and - as will be explained in more detail below - each via a corresponding - external (separately from the microchip 15 eg on a different microchip, than the CPU 11 provided) - Interface device 20 ,
Die
Schnittstellen-Einrichtung 20 kann über ein entsprechendes (externes)
Bus-System 21 an die Schnittstellen-Einrichtung 19 – und damit
den System-Bus 16 – angeschlossen
sein (sodaß zwischen
der CPU 11, und der Schnittstellen-Einrichtung 20 über entsprechende
Adress-, Steuer-, und Daten-Sub-Busse des Bus-Systems 21 bzw.
des System-Busses 16 entsprechende Adress-, Steuer- und
Nutzdaten ausgetauscht werden können
(z.B. – wie
im folgenden noch genauer erläutert,
und in 3 dargestellt – entsprechende Adress-Daten
addr [x:0], entsprechende Nutz-Daten data, und entsprechende Steuer-Daten
(z.B. Page-Steuer-Bits („page
control bits"),
Page-Register-Programmier-Daten („data for addr [y:x + 1]"), etc.))).The interface device 20 can via a corresponding (external) bus system 21 to the interface device 19 - and with it the system bus 16 - be connected (so between the CPU 11 , and the interface device 20 via corresponding address, control, and data sub-buses of the bus system 21 or the system bus 16 corresponding address, control and user data can be exchanged (eg - as explained in more detail below, and in 3 corresponding address data addr [x: 0], corresponding payload data, and corresponding control data (eg page control bits, page register programming data ("data for addr [y: x + 1] "), etc.))).
Die
Schnittstellen-Einrichtung 20 kann – wie in 2 gestrichelt
dargestellt ist – z.B.
auf ein- und derselben Platine angeordnet sein, wie das Modul 14 (oder
alternativ auf einer separaten Platine), und/oder auf ein- und demselben
Mikrochip, wie das Modul 14 (oder alternativ auf einem
separaten Mikrochip), etc., etc.The interface device 20 can - as in 2 dashed lines - eg on and the same board as the module 14 (or alternatively on a separate board), and / or on the same microchip as the module 14 (or alternatively on a separate microchip), etc., etc.
Die
Schnittstellen-Einrichtungen 20 und/oder die Module 14 können alle
jeweils entsprechend ähnlich oder
identisch aufgebaut bzw. eingerichtet sein, sodaß das Mikroprozessor-System 10 – bei Bedarf – um beliebige
weitere Module 14 mit entsprechenden, jeweils zugeordneten
weiteren Schnittstellen-Einrichtungen 20 erweitert
werden kann (in 2 gestrichelt dargestellt).The interface facilities 20 and / or the modules 14 can each be similar or identical respectively set up or set up so that the microprocessor system 10 - if required - to any other modules 14 with corresponding, respectively associated further interface devices 20 can be extended (in 2 shown in dashed lines).
Der
von der CPU 11 (bzw. den CPUs) verwendete Adressraum kann
relativ klein sein, insbesondere kleiner, als der von dem bzw. den
(externen) Modul(en) 14 jeweils benötigte bzw. verwendete Adressraum (z.B.,
um relativ kurze Zugriffszeiten zu erreichen, und/oder bedingt durch
den von der CPU 11 verwendeten Befehlssatz (z.B. aufgrund
einer Verwendung kurzer, wenig Speicherplatz benötigender, Befehle („kurze Adressierung"))).The one from the CPU 11 (or the CPUs) can be relatively small, in particular smaller than that of the (external) module (s) 14 each required or used address space (eg, to achieve relatively short access times, and / or due to the CPU 11 used instruction set (eg, due to the use of short, little space-consuming, commands ("short addressing"))).
Um
für das
bzw. die Module 14 – virtuell – den jeweils
benötigten – relativ
großen – Adressraum
zur Verfügung
zu stellen, kann ein spezielles, im folgenden noch genauer erläutertes
Adressraum-Erweiterungs- bzw. Paging-Verfahren verwendet werden.In order for the module (s) 14 - To provide virtual - the respectively required - relatively large - address space, a special, in the following explained in more detail address space expansion or paging method can be used.
Dabei
wird – wie
in 3 veranschaulicht ist (und entsprechend ähnlich wie
bei herkömmlichen
Verfahren) – zu
einer von der bzw. den CPUs 11 verwendeten, und z.B. zusammen
mit entsprechenden Nutz-Daten data von der bzw. den CPUs 11 über den
System-Bus 16, und das daran angeschlossene Bus-System 21 an
die Schnittstellen-Einrichtung 20 übertragenen Adress-Daten addr
[x:0] in der Schnittstellen-Einrichtung 20 (auf die im
folgenden noch genauer erläuterte,
spezielle Weise) eine in einem in der Schnittstellen-Einrichtung 20 vorgesehenen
Page-Register 23 abgespeicherte Page-Adresse addr [y:x
+ 1] hinzugefügt.It is - as in 3 is illustrated (and similarly similar to conventional methods) to one of the CPU (s) 11 and, for example, together with corresponding payload data from the CPU (s) 11 over the system bus 16 , and the connected bus system 21 to the interface device 20 transmitted address data addr [x: 0] in the interface device 20 (in the special manner explained below) one in one in the interface device 20 provided page register 23 saved page address addr [y: x + 1] added.
Die
Page-Adresse addr [y:x + 1] kann z.B. zwischen 1 und 64 Bits, insbesondere
z.B. zwischen 1 und 32 Bits, z.B. zwischen 1 und 8 Bits, beispielsweise
2 Bits umfassen.The
Page address addr [y: x + 1] may be e.g. between 1 and 64 bits, in particular
e.g. between 1 and 32 bits, e.g. between 1 and 8 bits, for example
2 bits.
Die – erweiterte – Gesamt-Adresse
addr [y:0] (genauer: die Adress-Daten addr [x:0], zusammen mit den
Adress-Erweiterungs-Adress-
(Page-Adress-) Daten addr [y:x + 1] ) werden – wie ebenfalls in 3 veranschaulicht
ist – zusammen
mit den o.g. Nutz-Daten data – an
das Modul 14 – insbesondere
den Modul-Kernel 14a – übertragen
(z.B. über
ein zusätzliches
Bus-System 24).The - extended - total address addr [y: 0] (more precisely: the address data addr [x: 0], together with the address extension address (page address) data addr [y: x + 1 ]) - as well as in 3 is illustrated - together with the above-mentioned payload data - to the module 14 - especially the module kernel 14a - transmitted (eg via an additional bus system 24 ).
Zur
Steuerung der Durchführung
des beim vorliegenden Ausführungsbeispiels
verwendeten – speziellen – Adressraum-Erweiterungs- bzw.
Paging-Verfahrens kann z.B. die in 3 gezeigte – jeweils
in den entsprechenden Schnittstellen-Einrichtungen 20 vorgesehene – Page-Steuer-Einrichtung 22 verwendet
werden.For controlling the execution of the special address space extension or paging method used in the present exemplary embodiment, it is possible, for example, to use the in 3 shown - in each case in the corresponding interface devices 20 provided - Page-Steuer-Einrichtung 22 be used.
Diese
weist – außer dem
o.g. Page-Register 23 – mehrere
weitere Register 25a, 25b, 25c bzw. ST0, ST1,
..., STn auf, z.B. eine Anzahl n an weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn (wobei n z.B. zwischen 1 und 16, insbesondere
z.B. > 2 bzw. > 3 sein kann, beispielsweise
= 4, etc.).This points - except the above-mentioned page register 23 - several more registers 25a . 25b . 25c or ST0, ST1,..., STn, eg a number n of further registers 25a . 25b . 25c or ST0, ST1,..., STn (where n can be, for example, between 1 and 16, in particular, for example,> 2 or> 3, for example = 4, etc.).
Die
Anzahl n an weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn muß nicht
zwingend nach Abschluß der
Herstellung der Schnittstellen-Einrichtung 20 fest vorgegeben
sein, sondern kann alternativ – z.B.
mittels entsprechender Fuses, etc. – skalierbar gewählt bzw.
eingestellt werden (sodaß nach
der Herstellung der Schnittstellen-Einrichtung 20, und
vor Inbetriebnahme des Mikroprozessor-Systems 10 – abhängig von
den jeweiligen Erfordernissen – die
Anzahl an weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn (bis zu einer vorbestimmten maximalen Anzahl)
frei gewählt
werden kann).The number n of other registers 25a . 25b . 25c or ST0, ST1, ..., STn need not necessarily after completion of the production of the interface device 20 be fixed, but can alternatively - eg by means of corresponding fuses, etc. - scalable selected or set (so after the preparation of the interface device 20 , and before commissioning the microprocessor system 10 - depending on the respective requirements - the number of further registers 25a . 25b . 25c or ST0, ST1, ..., STn (up to a predetermined maximum number) can be freely selected).
Die
Anzahl an weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn kann z.B. gleich groß gewählt sein, wie die Anzahl an
Interrupts, die das Modul 14 bedienen muß, oder – alternativ – auch z.B.
kleiner (s.u.).The number of other registers 25a . 25b . 25c or ST0, ST1, ..., STn, for example, can be chosen to be the same size as the number of interrupts that the module 14 must serve, or - alternatively - also eg smaller (see below).
Im
Page-Register 23, und den weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn kann z.B. jeweils (genau) die gleiche Anzahl
an Bits gespeichert werden (bzw. speicherbar sein), z.B. – entsprechend
identisch den dort (wie im folgenden noch genauer erläutert wird)
jeweils zu speichernden Page-Adressen addr [y:x + 1] – zwischen
1 und 64 Bits, insbesondere z.B. zwischen 1 und 32 Bits, z.B. zwischen
1 und 8 Bits, beispielsweise jeweils 2 Bits (PAGE-Bits [1:0]), oder
jeweils 4 Bits, oder jeweils 8 Bits, etc., etc.In the page register 23 , and the other registers 25a . 25b . 25c or ST0, ST1,..., STn can be stored (or be storable) in each case (exactly) the same number of bits, for example - correspondingly identical to the page to be stored there (as will be explained in more detail below) Addresses addr [y: x + 1] - between 1 and 64 bits, in particular eg between 1 and 32 bits, eg between 1 and 8 bits, for example in each case 2 bits (PAGE bits [1: 0]), or in each case 4 Bits, or 8 bits each, etc., etc.
Bei
dem Page-Register 23, und den weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn kann es sich somit z.B. – entsprechend der Page-Größe – z.B. jeweils
um 2-Bit-Register (oder z.B. jeweils um 4-Bit-Register, 8-Bit-Register,
etc., etc.) handeln.At the page register 23 , and the other registers 25a . 25b . 25c or ST0, ST1,..., STn may thus be, for example, corresponding to the page size, for example by 2-bit registers (or in each case by 4-bit registers, 8-bit registers, etc. , etc.) act.
Wie
aus 3 hervorgeht, ist das Page-Register 23 – über entsprechende
Leitungen 25 – an
entsprechende Adress-Daten-Leitungen 26 des
Bus-Systems 24 angeschlossen (sodaß die o.g. Adress-Erweiterungs-Adress-
(Page-Adress-) Daten addr [y:x + 1] an das Modul 14 übertragen
werden können),
und – über an die
Leitungen 25 angeschlossene Leitungen 27 – an einen
Demultiplexer 28.How out 3 is the page register 23 - via appropriate lines 25 - To corresponding address data lines 26 of the bus system 24 connected (so that the above-mentioned address extension address (page address) data addr [y: x + 1] to the module 14 can be transferred), and - over to the lines 25 connected cables 27 - to a demultiplexer 28 ,
Der
Demultiplexer 28 weist eine Anzahl n an Ausgängen auf
(die vorteilhaft der o.g. Anzahl n an weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn entspricht).The demultiplexer 28 has a number n of outputs (advantageously the above number n of other registers 25a . 25b . 25c or ST0, ST1, ..., STn).
Der
erste Ausgang des Demultiplexers 28 ist über entsprechende
Leitungen mit dem Eingang des ersten der weiteren Register 25a bzw.
ST0 verbunden, der zweite Ausgang des Demultiplexers 28 über entsprechende
Leitungen mit dem Eingang des zweiten der weiteren Register 25b bzw.
ST1, etc., und der n-te Ausgang des Demultiplexers 28 über entsprechende
Leitungen mit dem Eingang des n-ten der weiteren Register 25c bzw.
STn.The first output of the demultiplexer 28 is via corresponding lines to the input of the first of the other registers 25a or ST0, the second output of the demultiplexer 28 via corresponding lines to the input of the second of the other registers 25b or ST1, etc., and the nth output of the demultiplexer 28 via corresponding lines to the input of the nth of the other registers 25c or STn.
Abhängig von
den an entsprechenden Steuer-Leitungen 33 – bzw. daran
angeschlossenen Leitungen 34 – anliegenden Page-Steuer-Bits („page control
bits") kann entweder
das erste, oder das zweite, etc., oder das n-te der weiteren Register 25a, 25b, 25c bzw.
ST0, ST1, ..., STn – über den
Demultiplexer 28 – mit
den o.g. Leitungen 25, 27 (und damit dem Page-Register 23)
verbunden werden, sodaß – wie im
folgenden noch genauer erläutert
wird – die
im Page-Register 23 abgespeicherte Page-Adresse addr [y:x + 1] – wahlweise – entweder
im ersten der weiteren Register 25a bzw. ST0, oder im zweiten
der weiteren Register 25b bzw. ST1, etc., oder im n-ten
der weiteren Register 25c bzw. STn abgespeichert werden
kann.Depending on the corresponding control lines 33 - or connected cables 34 Pending page control bits may be either the first, or the second, etc., or the nth of the further registers 25a . 25b . 25c or ST0, ST1, ..., STn - via the demultiplexer 28 - with the above mentioned lines 25 . 27 (and thus the page register 23 ), so that - as explained in more detail below - the in the page register 23 stored page address addr [y: x + 1] - optionally - either in the first of the other registers 25a or ST0, or in the second of the other registers 25b or ST1, etc., or in the nth of the other registers 25c or STn can be stored.
Wie
aus 3 weiter hervorgeht, ist ein Ausgang des ersten
der weiteren Register 25a bzw. ST0 über entsprechende Leitungen
mit einem ersten Eingang eines Multiplexers 29 verbunden,
ein Ausgang des zweiten der weiteren Register 25b bzw.
ST1 über
entsprechende Leitungen mit einem zweiten Eingang des Multiplexers 29,
etc., und ein Ausgang des n-ten der weiteren Register 25c bzw.
STn über
entsprechende Leitungen mit einem n-ten Eingang des Multiplexers 29.How out 3 is further apparent, is an output of the first of the other registers 25a or ST0 via corresponding lines to a first input of a multiplexer 29 connected, an output of the second of the further registers 25b or ST1 via corresponding lines to a second input of the multiplexer 29 , etc., and an output of the nth of the other registers 25c or STn via corresponding lines with an n-th input of the multiplexer 29 ,
Der
Ausgang des Multiplexers 29 ist über entsprechende Leitungen 31 mit
einem ersten Eingang eines weiteren Multiplexers 30 verbunden,
an dessen zweiten Eingang – über entsprechende
Leitungen 32 – die
o.g. Page-Register-Programmier-Daten
(„data
for addr [y:x + 1]")
angelegt werden können.The output of the multiplexer 29 is via appropriate lines 31 with a first input of another multiplexer 30 connected to the second input - via corresponding lines 32 - the above-mentioned page register programming data ("data for addr [y: x + 1]") can be created.
Die
Leitungen 32 können
z.B. Teil des o.g. Daten-Sub-Busses des Bus-Systems 21 sein
(dem Page-Register 23 ist somit eine eigene Adresse zugewiesen,
es kann also mittels entsprechender über den o.g. Adress-Sub-Bus
des Bus-Systems 21 übertragener
Signal adressiert werden – das
Page-Register 23 ist somit über den normalen Datenpfad
schreib- und lesbar).The wires 32 can eg be part of the above-mentioned data sub-bus of the bus system 21 his (the page register 23 is thus assigned its own address, so it can by means of the above-mentioned address sub-bus of the bus system 21 transmitted signal - the page register 23 is thus readable and writable via the normal data path).
Abhängig von
den an den entsprechenden Steuer-Leitungen 33 – bzw. daran
angeschlossenen Leitungen 35, 36 – anliegenden
Page-Steuer-Bits („page
control bits") kann
entweder das erste, oder das zweite, etc., oder das n-te der weiteren
Register 25a, 25b, 25c bzw. ST0, ST1,
..., STn – über den
Multiplexer 29 – mit den
o.g. Leitungen 31, und weiter – über den weiteren Multiplexer 30 – mit dem
Page-Register 23 verbunden werden, sodaß – wie im folgenden noch genauer
erläutert
wird – wahlweise
entweder die im ersten der weiteren Register 25a bzw. ST0,
oder die im zweiten der weiteren Register 25b bzw. ST1,
etc., oder die im n-ten der weiteren Register 25c bzw.
STn abgespeicherte Page-Adresse addr [y:x + 1] im Page-Register 23 abgespeichert
werden kann.Depending on the corresponding control lines 33 - or connected cables 35 . 36 Pending page control bits may be either the first, or the second, etc., or the nth of the further registers 25a . 25b . 25c or ST0, ST1, ..., STn - via the multiplexer 29 - with the above mentioned lines 31 , and on - over the other multiplexer 30 - with the page register 23 be connected, so that - as will be explained in more detail below - either either in the first of the other registers 25a or ST0, or in the second of the other registers 25b or ST1, etc., or in the nth of the other registers 25c or STn stored page address addr [y: x + 1] in the page register 23 can be stored.
Alternativ
können – abhängig von
den an den entsprechenden Steuer-Leitungen 33, insbesondere
den daran angeschlossenen Leitungen 36 anliegenden Page-Steuer-Bits
(„page
control Bits") – die o.g.
Leitungen 32 – über den
weiteren Multiplexer 30 – mit dem Page-Register 23 verbunden
werden, sodaß – wie im
folgenden noch genauer erläutert
wird – wahlweise
auch die an den Leitungen 32 anliegenden Page-Register-Programmier-Daten
(„data
for addr [y:x + 1]")
im Page-Register 23 abgespeichert
werden können.Alternatively - depending on the corresponding control lines 33 , in particular the cables connected thereto 36 adjacent page control bits ("page control bits") - the above-mentioned lines 32 - via the further multiplexer 30 - with the page register 23 be connected, so that - as will be explained in more detail below - optionally also on the lines 32 Page register register data ("data for addr [y: x + 1]") in the page register 23 can be stored.
Als – an den
Leitungen 33 (und damit auch an den mit diesen verbundenen
Leitungen 34, 35, 36) anliegende – Page-Steuer-Bits („page control
bits") können z.B.
entsprechende Register- bzw. Speicher-Nummern-Bits (Storage Number
Bits (STNR-Bits)) verwendet werden, und – parallel hierzu – z.B. entsprechende Operations-Steuer-Bits
(Operation Bits (OP-Bits)).As - on the wires 33 (and thus also on the connected to these lines 34 . 35 . 36 ) - page control bits ("page control bits"), for example, corresponding register or memory number bits (storage number bits (STNR bits)) can be used, and - in parallel - eg corresponding operation control -Bits (Operation Bits (OP bits)).
Die
Anzahl x an STNR-Bits kann abhängig
von der jeweiligen Anzahl n an weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn gewählt
sein, insbesondere so, dass durch die STNR-Bits das jeweils ausgewählte weitere
Register 25a, 25b, 25c bzw. ST0, ST1,
..., STn eindeutig gekennzeichnet werden kann (sodaß gilt 2x ≥ n).The number x of STNR bits may depend on the respective number n of other registers 25a . 25b . 25c or ST0, ST1, ..., STn be selected, in particular such that by the STNR bits each selected further register 25a . 25b . 25c or ST0, ST1, ..., STn can be uniquely identified (see above that is 2 x ≥ n).
Beispielsweise
können
zwischen 1 und 8 STNR-Bits vorgesehen sein, z.B. zwischen 1 und
4 STNR-Bits, insbesondere mehr als 1 oder 2 STNR-Bits, beispielsweise
z.B. 2 STNR-Bits [5:4], etc.For example
can
between 1 and 8 STNR bits, e.g. between 1 and
4 STNR bits, in particular more than 1 or 2 STNR bits, for example
e.g. 2 STNR bits [5: 4], etc.
Die
o.g. – z.B.
4 – weiteren
Register 25a, 25b, 25c (d.h. entsprechende
Register ST0, ST1, ST2, ST3) können
dann z.B. wie in der folgenden Tabelle 1 dargestellt ausgewählt werden:The above - eg 4 - further registers 25a . 25b . 25c (ie corresponding registers ST0, ST1, ST2, ST3) can then be selected, for example, as shown in the following Table 1:
Tabelle
1 Table 1
Mit
den STNR-Bits kann angezeigt werden, welches der weiteren Register 25a, 25b, 25c bzw.
ST0, ST1, ..., STn bei der jeweils durchgeführten – durch die Operations-Steuer-Bits
(Operation Bits (OP-Bits)) definierten – Operation verwendet werden
soll.The STNR bits can be used to indicate which of the other registers 25a . 25b . 25c or ST0, ST1, ..., STn should be used in the respectively performed - defined by the operation control bits (operation bits (OP bits)) - operation.
Die
Anzahl an OP-Bits kann abhängig
von der jeweiligen Anzahl an verschiedenen, durchzuführenden Operationen
gewählt
sein.The
Number of OP bits may be dependent
from the respective number of different operations to be performed
chosen
be.
Beispielsweise
können
zwischen 1 und 4 OP-Bits vorgesehen sein, insbesondere mehr als
1 OP-Bit, beispielsweise z.B. 2 OP-Bits [7:6].For example
can
be provided between 1 and 4 OP bits, in particular more than
1 OP bit, e.g. 2 OP bits [7: 6].
Mit
den OP-Bits kann angezeigt werden, welche von mehreren verschiedenen
Operationen jeweils durchgeführt
werden soll.With
The OP bits can be displayed, which of several different ones
Operations performed in each case
shall be.
Die
jeweils durchzuführende
Operation kann dann durch die OP-Bits
z.B. wie in der folgenden Tabelle 2 dargestellt, und wie im folgenden
noch genauer erläutert
ausgewählt
werden:The
each to be performed
Operation can then be through the op bits
e.g. as shown in the following Table 2, and as follows
explained in more detail
selected
become:
Tabelle
2 Table 2
Im
in der ersten Zeile der Tabelle 2 veranschaulichten „manuellen" bzw. „normalen" bzw. „Standard-" Page-Modus (OP-Bit [7] = 0, und
unabhängig
vom Zustand des OP-Bits [6]) wird der weitere Multiplexer 30 durch
die OP-Bits so gesteuert, dass die Leitungen 32 mit dem
Page-Register 23 verbunden sind, und die Leitungen 31 vom
Page-Register 23 getrennt (und der Demultiplexer 28 und
ggf. der Multiplexer 29 so, dass die Leitungen 27 und
ggf. die Leitungen 31 von den weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn getrennt sind).In the "manual" or "normal" or "standard" page mode illustrated in the first row of Table 2 (OP bit [7] = 0, and irrespective of the state of the OP bit [6]), the additional multiplexers 30 controlled by the op bits so that the wires 32 with the page register 23 connected, and the wires 31 from the page register 23 separated (and the demultiplexer 28 and possibly the multiplexer 29 so that the wires 27 and possibly the lines 31 from the other registers 25a . 25b . 25c or ST0, ST1, ..., STn are separated).
Dadurch
wird erreicht, dass – unabhängig von
den in den weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn abgespeicherten Werten – (und entsprechend ähnlich wie
bei herkömmlichen
Paging-Verfahren) die an den Leitungen 32 anliegenden Page-Register-Programmier-Daten
(„data
for addr [y:x + 1]")
als neuer Page-Register-Wert im Page-Register 23 abgespeichert
werden können
(ohne dass der alte Page-Register-Wert
in einem der weiteren Register 25a, 25b, 25c bzw.
ST0, ST1, ..., STn abgespeichert wird).This ensures that - regardless of the other registers 25a . 25b . 25c or ST0, ST1, ..., STn stored values - (and similarly similar to conventional paging methods) on the lines 32 applied Page register programming data ("data for addr [y: x + 1]") as a new page register value in the page register 23 can be stored (without the old page register value in one of the other registers 25a . 25b . 25c or ST0, ST1, ..., STn is stored).
Bei
dem in der zweiten Zeile der Tabelle 2 veranschaulichten „Page-Programmier-
und -Sicherungs-Modus" (OP-Bit
[7] = 1, und OP-Bit [6] = 0) wird der weitere Multiplexer 30 – ebenfalls
(entsprechend wie beim „manuellen" bzw. „normalen" bzw. „Standard-" Page-Modus) – durch
die OP-Bits so gesteuert, dass die Leitungen 32 mit dem
Page-Register 23 verbunden sind, und die Leitungen 31 vom
Page-Register 23 getrennt (und ggf. der Multiplexer 29 so,
dass ggf. die Leitungen 31 von den weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn getrennt sind).In the "page programming and backup mode" illustrated in the second row of Table 2 (OP bit [7] = 1, and OP bit [6] = 0) becomes the other multiplexer 30 - also (as with "manual" or "normal" or "standard" page mode) - controlled by the OP bits so that the lines 32 with the page register 23 connected, and the wires 31 from the page register 23 separated (and possibly the multiplexer 29 so that, if necessary, the lines 31 from the other registers 25a . 25b . 25c or ST0, ST1, ..., STn are separated).
Allerdings
wird – anders
als beim o.g. „manuellen" bzw. „normalen" bzw. „Standard-" Page-Modus – der Demultiplexer 28 im
Page-Programmier- und -Sicherungs-Modus durch die OP-Bits so gesteuert,
dass die Leitungen 27 (und damit auch die mit diesen verbundenen
Leitungen 25) mit dem – durch
die STNR-Bits ausgewählten – weiteren
Register 25a, 25b, 25c bzw. ST0, ST1,
..., STn verbunden sind (z.B. dann, wenn die STNR-Bits _ „00" sind, mit dem weiteren
Register ST0, und dann, wenn die STNR-Bits = „01" sind, mit dem weiteren Register ST1,
etc.).However, unlike the "manual" or "normal" or "standard" page mode, the demultiplexer will be used 28 in the page programming and backup mode, through the op bits so controlled that the lines 27 (and thus also the connected to these lines 25 ) with the other registers selected by the STNR bits 25a . 25b . 25c or ST0, ST1, ..., STn (eg, if the STNR bits _ are "00") with the further register ST0, and if the STNR bits = "01", with the further register ST1, etc.).
Dadurch
wird erreicht, dass der im Page-Register 23 abgespeicherte
alte Page-Register-Wert in dem durch die STNR-Bits ausgewählten weiteren Register 25a, 25b, 25c bzw.
ST0, ST1, ..., STn abgespeichert werden kann, und gleichzeitig bzw.
parallel (bzw. kurze Zeit später,
z.B. lediglich zwei oder eine bzw. eine halbe Takt-Periode später) die
an den Leitungen 32 anliegenden Page-Register-Programmier-Daten
(„data
for addr [y:x + 1]")
als neuer Page-Register-Wert im Page-Register 23 abgespeichert
werden können.This ensures that the in the page register 23 stored old page register value in the other register selected by the STNR bits 25a . 25b . 25c or ST0, ST1, ..., STn can be stored, and at the same time or in parallel (or a short time later, for example, only two or one or a half clock period later) on the lines 32 applied Page register programming data ("data for addr [y: x + 1]") as a new page register value in the page register 23 can be stored.
Bei
dem in der dritten Zeile der Tabelle 2 veranschaulichten „Page-Rückprogrammier-Modus" (OP-Bit [7] = 1,
und OP-Bit [6] = 1) wird der weitere Multiplexer 30 – anders
als beim „manuellen" bzw. „normalen" bzw. „Standard-" Page-Modus, und
anders als beim „Page-Programmier-
und -Sicherungs-Modus" – durch
die OP-Bits so gesteuert, dass die Leitungen 31 mit dem
Page-Register 23 verbunden sind, und die Leitungen 32 vom
Page-Register 23 getrennt (und ggf. der Demultiplexer 28 so,
dass die Leitungen 27 von den weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn getrennt sind).In the "page reprogramming mode" illustrated in the third row of Table 2 (OP bit [7] = 1, and OP bit [6] = 1) becomes the other multiplexer 30 Unlike the "manual" or "normal" or "standard" page mode, and unlike the "page programming and backup mode" - controlled by the op bits so that the lines 31 with the page register 23 connected, and the wires 32 from the page register 23 separated (and possibly the demultiplexer 28 so that the wires 27 from the other registers 25a . 25b . 25c or ST0, ST1, ..., STn are separated).
Des
weiteren wird der Multiplexer 29 im Page-Rückprogrammier-Modus durch die OP-Bits
so gesteuert, dass die Leitungen 31 (und damit – über den
Multiplexer 30 – auch
das Page-Register 23) mit dem – durch die STNR-Bits ausgewählten – weiteren
Register 25a, 25b, 25c bzw. ST0, ST1,
..., STn verbunden sind (z.B. dann, wenn die STNR-Bits = „00" sind, mit dem weiteren
Register ST0, und dann, wenn die STNR-Bits = „01" sind, mit dem weiteren Register ST1,
etc.).Furthermore, the multiplexer 29 in the page reprogramming mode, through the op bits so controlled that the lines 31 (and thus - via the multiplexer 30 - also the page register 23 ) with the other registers selected by the STNR bits 25a . 25b . 25c or ST0, ST1, ..., STn are connected (eg, if the STNR bits = "00") to the further register ST0, and if the STNR bits = "01", to the further register ST1, etc.).
Dadurch
wird erreicht, dass der in dem durch die STNR-Bits ausgewählten weiteren
Register 25a, 25b, 25c bzw. ST0, ST1,
..., STn abgespeicherte (alte) Page-Register-Wert zurück in das
Page-Register 23 geschrieben, d.h. (erneut) dort abgespeichert
werden kann.It is thereby achieved that the further register selected in the STNR bits 25a . 25b . 25c or ST0, ST1, ..., STn stored (old) page register value back into the page register 23 written, ie (again) can be stored there.
Soll – insbesondere
bei einem Interrupt – ein
Zugriff auf einen außerhalb
der momentanen – durch
den im Page-Register 23 gespeicherten Page-Register-Wert
definierte – Page
liegenden Speicherbereich erfolgen (d.h. auf einen auf einer neuen,
durch einen neuen Page-Register-Wert definierbaren Page liegenden Speicherbereich),
kann zunächst
im oben beschriebenen „Page-Programmier-
und -Sicherungs-Modus" (OP-Bit [7] = 1, und
OP-Bit [6] = 0) der im Page-Register 23 abgespeicherte
Page-Register-Wert in dem durch die STNR-Bits ausgewählten weiteren
Register 25a, 25b, 25c bzw. ST0, ST1,
..., STn abgespeichert werden, und gleichzeitig bzw. parallel (bzw.
kurze Zeit später)
die von der CPU 11 an den Leitungen 32 angelegten
Page-Register-Programmier-Daten („data for addr [y:x + 1]") als neuer Page-Register-Wert
im Page-Register 23.Should - in particular in the case of an interrupt - access to one outside the current one - by the one in the page register 23 stored page range (ie, a memory area lying on a new page defined by a new page register value) can first be stored in the "Page Programming and Backup Mode" described above. (OP bit [7] = 1, and OP bit [6] = 0) in the Page register 23 stored page register value in the further register selected by the STNR bits 25a . 25b . 25c or ST0, ST1, ..., STn are stored, and at the same time or in parallel (or a short time later) from the CPU 11 on the lines 32 applied page register programming data ("data for addr [y: x + 1]") as the new page register value in the page register 23 ,
Daraufhin
kann der eigentliche Interrupt ausgeführt werden, und dann im oben
beschriebenen „Page-Rückprogrammier-Modus" (OP-Bit [7] = 1,
und OP-Bit [6] = 1) der in dem durch die STNR-Bits ausgewählten weiteren
Register 25a, 25b, 25c bzw. ST0, ST1,
..., STn abgespeicherte (alte) Page-Register-Wert zurück in das
Page-Register 23 geschrieben werden.Thereafter, the actual interrupt may be executed, and then in the above-described "page reprogramming mode" (OP bit [7] = 1, and OP bit [6] = 1) the one selected in the STNR bits register 25a . 25b . 25c or ST0, ST1, ..., STn stored (old) page register value back into the page register 23 to be written.
Als
nächstes
kann im eigentlichen – durch
den Interrupt unterbrochenen – Programm
fortgesetzt werden.When
next
can in the actual - through
the interrupt interrupted program
to be continued.
Dies
kann beim Paging-Verfahren gemäß dem vorliegenden
Ausführungsbeispiel
wesentlich schneller erfolgen, als bei herkömmlichen Paging-Verfahren.This
can in the paging method according to the present
embodiment
much faster than conventional paging methods.
Grund
hierfür
ist u.a., dass bei der o.g. Vorgehensweise im Vergleich zum Stand
der Technik beim Interrupt entsprechende – von der CPU veranlasste,
herkömmliche – Leseoperationen
zum Auslesen des zuletzt verwendeten Page-Register-Werts (der dann über dem
System-Bus 16, bzw. dem Bus-System 21 entsprechende
Bus-Systeme übertragen
wird) umgangen werden.The reason for this is, inter alia, that in the above-mentioned procedure in comparison with the prior art in the case of the interrupt corresponding - caused by the CPU, conventional - read operations for reading the last used page register value (which then over the system bus 16 , or the bus system 21 bypassed corresponding bus systems) are bypassed.
Stattdessen
wird – wie
oben erläutert – ein automatisches,
lokales Zwischen-Speichern des zuletzt verwendeten Page-Register-Werts durchgeführt.Instead
will - like
explained above - an automatic,
local intermediate storage of the last used page register value.
Die
o.g. – im
Stand der Technik vorgesehenen – von
der CPU veranlassten Leseoperationen führen dazu, dass die CPU relativ
lange aufgehalten wird, da diese erst das – über den Bussen 16, 21 entsprechende Bus-Systeme übertragene – Ergebnis
der Leseoperation abwarten muß.The above - provided in the prior art - caused by the CPU read operations cause the CPU is held relatively long, as these only the - over the buses 16 . 21 corresponding bus systems transmitted - wait for the result of the reading operation.
Bei
der oben beschriebenen Vorgehensweise sind zur Durchführung des
Interrupts stattdessen lediglich von der CPU 11 veranlasste,
herkömmliche
(die CPU nicht bzw. nur wenig aufhaltende) Schreiboperationen notwendig
(und keine – zu
einem entsprechenden Daten-Verkehr auf den Bus-Systemen 16, 21 entsprechenden
Bus-Systemen führende – Leseoperationen).In the procedure described above, to execute the interrupt, instead, only the CPU is used 11 caused conventional (non-CPU or low-maintenance) write operations to be necessary (and no - to corresponding data traffic on the bus systems 16 . 21 corresponding bus systems leading - read operations).
Alternativ
kann beim vorliegenden Ausführungsbeispiel – zusätzlich wahlweise – jeweils
auch ein entsprechend ähnlich
wie herkömmliche
Paging-Verfahren ablaufendes Verfahren verwendet werden (in dessen Verlauf
z.B. der zuletzt verwendete Page-Register-Wert nicht in einem der
o.g. weiteren Register 25a, 25b, 25c abgespeichert
wird, sondern – mittels
entsprechender Leseoperationen – von
der CPU 11 angefordert, über die Busse 21, 16 übertragen,
und in einer entsprechenden Speicher-Einrichtung (z.B. einer der
o.g. Speicher-Einrichtungen 18, 17) abgespeichert
(und später
dort wieder ausgelesen) wird).Alternatively, in the present exemplary embodiment-optionally additionally-a method correspondingly similar to that used in conventional paging methods may also be used (in the course of which, for example, the last-used page register value is not in one of the above-mentioned further registers 25a . 25b . 25c is stored, but - by means of appropriate read operations - from the CPU 11 requested, over the buses 21 . 16 transferred, and in a corresponding memory device (eg one of the above storage facilities 18 . 17 ) (and later read out there again) will be).
Beispielsweise
kann ein solches, entsprechend ähnlich
wie herkömmliche
Paging-Verfahren ablaufendes Verfahren für relativ lange und/oder relativ
wenig wichtige Interrupts verwendet werden, und das oben beschriebene – spezielle – (keine
CPU-Leseoperationen verwendende) Verfahren z.B. für relativ
kurze und/oder relativ wichtige Interrupts.For example
can be one, similar to that
like traditional ones
Paging method running for relatively long and / or relative
little important interrupts are used, and the one described above - special - (no
CPU reading operations using) e.g. for relative
short and / or relatively important interrupts.
Die
Anzahl an weiteren Registern 25a, 25b, 25c bzw.
ST0, ST1, ..., STn kann dann kleiner sein, als die Anzahl der Interrupts,
die das Modul 14 bedienen muß.The number of other registers 25a . 25b . 25c or ST0, ST1, ..., STn may then be less than the number of interrupts that the module 14 must serve.
Wie
aus den Ausführungen
oben hervorgeht, kann durch das Paging-Verfahren gemäß dem vorliegenden
Ausführungsbeispiel
ein modularer Aufbau (insbesondere ein modular durch weitere Module 14 erweiterbarer
Aufbau) des Mikroprozessor-Systems 10 erreicht werden:
die Steuerung des Paging-Verfahrens obliegt allein der CPU 11 bzw.
den CPUs 11, und den jeweiligen Schnittstellen-Einrichtungen 20 (bzw.
den dort jeweils vorgesehenen Page-Steuer-Einrichtungen 22);
die jeweiligen Module 14 können in ihrem jeweiligen Original-Adressraum
(weiter-)arbeiten.As can be seen from the above, a modular structure (in particular a modular system by further modules) can be achieved by the paging method according to the present exemplary embodiment 14 expandable structure) of the microprocessor system 10 be achieved: the control of the paging procedure is the sole responsibility of the CPU 11 or the CPUs 11 , and the respective interface devices 20 (or the respective provided page control facilities 22 ); the respective modules 14 can (continue) work in their respective original address space.
-
11
-
CPUCPU
-
22
-
Page-RegisterPage register
-
33
-
Busbus
-
44
-
Modulmodule
-
1010
-
Mikroprozessor-SystemMicroprocessor system
-
1111
-
CPUCPU
-
1212
-
Speicher-SteuereinrichtungMemory control means
-
1414
-
Modulmodule
-
14a14a
-
Modul-KernelModule Kernel
-
1515
-
Mikrochipmicrochip
-
1616
-
System-BusSystem bus
-
1717
-
Speicher-EinrichtungMemory means
-
1818
-
Speicher-EinrichtungMemory means
-
1919
-
Schnittstellen-EinrichtungInterface means
-
2020
-
Schnittstellen-EinrichtungInterface means
-
2121
-
Bus-SystemBus system
-
2222
-
Page-Steuer-EinrichtungPage control device
-
2323
-
Page-RegisterPage register
-
2424
-
Bus-SystemBus system
-
2525
-
Leitungencables
-
25a25a
-
Registerregister
-
25b25b
-
Registerregister
-
25c25c
-
Registerregister
-
2626
-
Leitungencables
-
2727
-
Leitungencables
-
2828
-
Demultiplexerdemultiplexer
-
2929
-
Multiplexermultiplexer
-
3030
-
Multiplexermultiplexer
-
3131
-
Leitungencables
-
3232
-
Leitungencables
-
3333
-
Leitungencables
-
3434
-
Leitungencables
-
3535
-
Leitungencables
-
3636
-
Leitungencables