[go: up one dir, main page]

DE102004045727B3 - Microcontroller or microprocessor with interface circuit has demultiplexer, registers in parallel and multiplexer for processing signals including page control bits - Google Patents

Microcontroller or microprocessor with interface circuit has demultiplexer, registers in parallel and multiplexer for processing signals including page control bits Download PDF

Info

Publication number
DE102004045727B3
DE102004045727B3 DE200410045727 DE102004045727A DE102004045727B3 DE 102004045727 B3 DE102004045727 B3 DE 102004045727B3 DE 200410045727 DE200410045727 DE 200410045727 DE 102004045727 A DE102004045727 A DE 102004045727A DE 102004045727 B3 DE102004045727 B3 DE 102004045727B3
Authority
DE
Germany
Prior art keywords
page
address
registers
bits
interface device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE200410045727
Other languages
German (de)
Inventor
Jens Dr. Barrenscheen
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE200410045727 priority Critical patent/DE102004045727B3/en
Application granted granted Critical
Publication of DE102004045727B3 publication Critical patent/DE102004045727B3/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)

Abstract

The interface circuit (20) receives several signals from a bus line (21) connected to an interface in the microprocessor. The signals include page control bits (33), address data from system bus (32), address signals (addr[x:0]) and data signals (data). The system bus data signals are fed to a multiplexer (30) connected to a page register (23) with an output (25) to an external module (14). A feedback circuit consists of a demultiplexer (28), registers in parallel (25a-25c) and a multiplexer (29) for processing signals including page control bits.

Description

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:

Figure 00140001
Tabelle 1
Figure 00140001
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:

Figure 00140002
Figure 00140002

Figure 00150001
Tabelle 2
Figure 00150001
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

Claims (7)

System umfassend einen Mikrocontroller bzw. Mikroprozessor (10) und eine über einen externen Bus damit verbundene externe Schnittstellen-Einrichtung (20), – wobei die externe Schnittstellen-Einrichtung (20) über ein zusätzliches Bus-System (24) mit einem externen Modul (14). verbunden ist, – wobei die Schnittstellen-Einrichtung eine erste und mindestens eine weitere, zweite Speicher-Einrichtung (23, 25a) zum Speichern jeweils einer Page-Adresse (addr [y:x + 1]) aufweist, – wobei über den externen Bus eine Page-Adresse in die erste Speicher-Einrichtung geladen wird, – wobei bei einem Interrupt des Mikrocontrollers bzw. Mikroprozessors ein Steuersignal und eine neue Page-Adresse über den externen Bus an die Schnittstellen-Einrichtung gesendet wird und das Steuersignal bewirkt, dass die in der ersten Speicher-Einrichtung gespeicherte Page-Adresse in die zweite Speicher-Einrichtung geschrieben wird und daraufhin die neue Page-Adresse in die erste Speicher-Einrichtung geladen wird, – wobei jeweils dann, wenn eine Adresse (addr [x:0]) über den externen Bus an die Schnittstellen-Einrichtung gesendet wird, die Schnittstellen-Einrichtung eine erweiterte Adresse, bestehend aus der jeweils in der ersten Speicher-Einrichtung gespeicherten Page-Adresse und der Adresse, über das zusätzliche Bus-System an das externe Modul überträgt.System comprising a microcontroller or microprocessor ( 10 ) and an external interface device connected thereto via an external bus ( 20 ), The external interface device ( 20 ) via an additional bus system ( 24 ) with an external module ( 14 ). the interface device has a first and at least one further, second memory device ( 23 . 25a ) for storing each page address (addr [y: x + 1]), Wherein a page address is loaded into the first memory device via the external bus, wherein in the case of an interrupt of the microcontroller or microprocessor a control signal and a new page address are sent to the interface device via the external bus and The control signal causes the page address stored in the first memory device to be written to the second memory device and then the new page address to be loaded into the first memory device, wherein in each case if an address (addr) x: 0]) is sent via the external bus to the interface device, the interface device an extended address, consisting of each stored in the first memory device page address and the address, via the additional bus system the external module transmits. System nach Anspruch 1, wobei die Schnittstellen-Einrichtung mehr als zwei weitere Speicher-Einrichtungen (25a, 25b, 25c) aufweist.The system of claim 1, wherein the interface device comprises more than two further memory devices ( 25a . 25b . 25c ) having. System nach Anspruch 2, wobei die Schnittstellen-Einrichtung mehr als drei weitere Speicher-Einrichtungen (25a, 25b, 25c) aufweist.The system of claim 2, wherein the interface device comprises more than three further memory devices ( 25a . 25b . 25c ) having. System nach einem der Ansprüche 2 oder 3, wobei die Schnittstellen-Einrichtung einen Demultiplexer aufweist.A system according to any one of claims 2 or 3, wherein the interface means a demultiplexer. System nach einem der Ansprüche 2 bis 4, wobei die Schnittstellen-Einrichtung einen Multiplexer aufweist.A system according to any one of claims 2 to 4, wherein the interface means having a multiplexer. System nach einem der vorhergehenden Ansprüche, bei welchem die Schnittstellen-Einrichtung (20) extern von einem Mikrocontroller- bzw. Mikroprozessor-Chip (15) angeordnet ist.System according to one of the preceding claims, in which the interface device ( 20 ) externally from a microcontroller or microprocessor chip ( 15 ) is arranged. Verfahren zum Betreiben eines Systems nach einem der Ansprüche 1 bis 6, wobei das Verfahren die Schritte aufweist: – Laden einer Page-Adresse in die erste Speicher-Einrichtung über den externen Bus, – Senden eines Steuersignals und einer neuen Page-Adresse über den externen Bus an die Schnittstellen-Einrichtung bei einem Interrupt des Mikrocontrollers bzw. Mikroprozessors, wobei das Steuersignal bewirkt, dass die in der ersten Speicher-Einrichtung gespeicherte Page-Adresse in die zweite Speicher-Einrichtung geschrieben wird und daraufhin die neue Page-Adresse in die erste Speicher-Einrichtung geladen wird, – wobei jeweils dann, wenn eine Adresse (addr [x:0]) über den externen Bus an die Schnittstellen-Einrichtung gesendet wird, die Schnittstellen-Einrichtung eine erweiterte Adresse, bestehend aus der jeweils in der ersten Speicher-Einrichtung gespeicherten Page-Adresse und der Adresse, über das zusätzliche Bus-System an das externe Modul überträgt.Method for operating a system after a the claims 1 to 6, the method comprising the steps of: - Load a page address in the first memory device via the external bus, - Send a control signal and a new page address via the external bus to the interface device in the event of an interrupt the microcontroller or microprocessor, wherein the control signal causes the stored in the first memory device Page address is written to the second memory device and then the new page address in the first memory device is loaded - in which in each case, if an address (addr [x: 0]) via the external bus to the Interface device is sent, the interface device an extended address consisting of the respectively in the first memory device stored page address and the address, via the additional bus system to the external Module transmits.
DE200410045727 2004-09-21 2004-09-21 Microcontroller or microprocessor with interface circuit has demultiplexer, registers in parallel and multiplexer for processing signals including page control bits Expired - Fee Related DE102004045727B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410045727 DE102004045727B3 (en) 2004-09-21 2004-09-21 Microcontroller or microprocessor with interface circuit has demultiplexer, registers in parallel and multiplexer for processing signals including page control bits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410045727 DE102004045727B3 (en) 2004-09-21 2004-09-21 Microcontroller or microprocessor with interface circuit has demultiplexer, registers in parallel and multiplexer for processing signals including page control bits

Publications (1)

Publication Number Publication Date
DE102004045727B3 true DE102004045727B3 (en) 2006-04-13

Family

ID=36089112

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410045727 Expired - Fee Related DE102004045727B3 (en) 2004-09-21 2004-09-21 Microcontroller or microprocessor with interface circuit has demultiplexer, registers in parallel and multiplexer for processing signals including page control bits

Country Status (1)

Country Link
DE (1) DE102004045727B3 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2762244A1 (en) * 2013-01-31 2014-08-06 Henn GmbH & Co. KG Cup shaped body and method for manufacturing the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US20020087500A1 (en) * 1998-08-18 2002-07-04 Brian T. Berkowitz In-memory database system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US20020087500A1 (en) * 1998-08-18 2002-07-04 Brian T. Berkowitz In-memory database system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2762244A1 (en) * 2013-01-31 2014-08-06 Henn GmbH & Co. KG Cup shaped body and method for manufacturing the same

Similar Documents

Publication Publication Date Title
DE102010005104B3 (en) Electronic device and method for a larger address range on an IIC or an IIC compatible bus
DE102007054852B4 (en) Signal converter to fulfill a function
DE69226606T2 (en) Memory circuit with two operating modes
DE69131840T2 (en) Process for duplicating shared memory
DE2746064A1 (en) DATA STORAGE WITH REFRESHMENT
DE19614238C1 (en) Communication system with a master station and at least one slave station
DE19614237C1 (en) Communication system with a master station and at least one slave station
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
DE102009001898A1 (en) Circuit arrangements and methods for controlling a data exchange in a circuit arrangement
DE102004045727B3 (en) Microcontroller or microprocessor with interface circuit has demultiplexer, registers in parallel and multiplexer for processing signals including page control bits
DE1285218B (en) Data processing system
DE10110567B4 (en) Data processing system with adjustable clocks for divided synchronous interfaces
EP0111161B1 (en) Device for initiating microinstructions for at least two independently working function units in an integrated microprogrammed electronic module, and method for its operation
EP1548603B1 (en) Method and apparatus for controlling memory access
EP1095338B1 (en) Can module
DE102014001144A1 (en) A serial bus data processing system requiring initialization prior to its use
DE2902477A1 (en) DATA PROCESSING ARRANGEMENT
DE69700381T2 (en) Device for protecting an electrically programmable memory after page-by-page writing
EP2728477A1 (en) Method and logic circuit for copying data, storage device and data processing apparatus
DE19909081C2 (en) Arrangement for the transmission of data records divided into several words
DE102009024019A1 (en) Error detection code storage module
DE3521992A1 (en) COMPUTER WITH A MICROADDRESS PROGRAMMER FOR ADDRESSING A TAX MEMORY
DE2048119C3 (en) Arrangement and method for controlling data transmission between external devices and a data processing system
DE102023134309A1 (en) Field device, system and process
EP1429254B1 (en) Interrupt handling in a CAN node

Legal Events

Date Code Title Description
8100 Publication of patent without earlier publication of application
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee