-
TECHNISCHES
GEBIET
-
Die
Erfindung bezieht sich auf Mikrocontroller im Allgemeinen, und insbesondere
auf einen Mikrocontroller, der einen reduzierten Befehlssatz ausführt.
-
ALLGEMEINER
STAND DER TECHNIK
-
Die
vorliegende Submikron-CMOS-Technologie berücksichtigt die Integration
komplexer Mikrocontroller-Architekturen auf einem Chip und lässt dabei
genug Siliziumbereich zum Implementieren komplexer Speicher und
peripherer Logik übrig.
Designarchitekturen und -methoden, die am häufigsten bei im oberen Bereich liegenden
32- und 64-Bit-RISC-Maschinen
verwendet werden, können
effizient in preiswerten 8-Bit-Mikrocontrollersystemen verwendet
und übernommen
werden. Mit derartigen leistungsfähigen, jedoch kostengünstiger Mikrocontrollern
nimmt der Gesamtintegrationsgrad von Systemen weiterhin zu.
-
Effizientere
Programme können
in der Hardware-Architektur ausgeführt werden, und mehr Hardware-Funktionen
können
integriert werden.
-
Die
RISC-Architektur hat während
der letzten Jahre an Popularität
zugenommen. Das gilt vor allem für den
durch Apple Computer, IBM und Motorola gemeinsam entwickelten Power
PC®.
Obwohl es keine Festlegung über
näher bestimmende
Merkmale der RISC-Prozessoren gibt, gibt es allgemeine Eigenschaften
unter den verschiedenen Arten von RISC-Architekturen: (1) die meisten
Befehle laufen in einem Zyklus ab; (2) separate und einfache Lade-/Speicherbefehle
laufen oft in zwei Zyklen ab; (3) Befehlsdecodierung ist üblicherweise
eher festverdrahtet als mikrocodiert, was schnellere Ausführungszeiten
zur Folge hat; (4) die meisten Befehle weisen ein festgelegtes Format
auf und vereinfachen daher die Befehlsdecodierung; (5) kleinere
Befehlssätze
und weniger Adressierungsarten; (6) Datenwege unterliegen einem
starken Pipelining (Daten werden im Pipeline-Verfahren verarbeitet),
was einen hohen Grad an gleichzeitiger Verarbeitung vorsieht; und
(7) große
Hochgeschwindigkeits-Registersätze bzw.
Registersätze
mit schnellen Zugriffszeiten (auch als Registerdateien bekannt),
um übermäßige Datenübertragungen
in und aus dem langsameren System-RAM zu vermeiden.
-
Mehrere
Halbleiterhersteller stellen Mikrocontroller her. Beispielsweise
bietet Texas Instruments die 8-Bit-Mikrocontroller-Serie TMS370Cx1x an.
Obwohl diese Mikrocontroller keine RISC-Architektur verwenden, sehen
sie ein RAM (128 oder 256 Byte) vor, das entweder als RAM oder als
Universalregistersatz verwendet werden kann. Motorola bietet die
8-Bit-Mikrocontroller-Familie MC6805 an, die ein den Geräten von
Texas Instruments ähnliches,
zweifach verwendbares RAM verwenden. Microchip Technology bietet
die Mikrocontroller-Familie PIC16C5X an. Diese Mikrocontroller verwenden
die Harvard-Dualbus-Architektur, bei der Daten- und Programmbefehle separate Speicher
und Busse aufweisen. Die PIC16C5X verwendet eine Registerdatei, die
gemeinsam mit dem System-RAM genutzt wird. Die PIC16C5X verwendet
ein einstufiges Befehls-Pipelining; während ein Befehl ausgeführt wird,
wird der nächste
Befehl vorab aus dem Programmspeicher abgerufen. Da das RAM gleichzeitig
als Register dient, gibt es keinen wirklichen Satz interner Register.
Da sämtlicher Speicher
als ein statisches RAM vorliegt, gibt es dort, wo Registeroperationen
enthalten sind, eine Leistungsreduktion.
-
Wie
oben erwähnt,
sind schnelle Entwicklungszyklen ein wichtiger Gesichtspunkt beim
Entwerfen von Mikrocontrollern. Die Wichtigkeit von Software bei
rechnergestützten
Systemen steht außer
Frage. Daher bezieht sich der Nutzen eines Mikrocontrollerentwurfs
direkt auf die Spezifikationsschnittstelle zwischen Programmierern
und Hardwaredesignern, nämlich
auf den Befehlssatz des Mikrocontrollers. Der Befehlssatz sollte
insofern vollständig
sein, dass jede berechenbare Funktion in angemessenen Umfang an
Programmraum implementierbar sein sollte. Der Befehlssatz sollte
insofern effizient sein, dass häufig
verwendete Funktionen mit relativ wenigen Befehlen ausführbar sein
sollten.
-
US 5,666,210 (veröffentlicht
am 9. September 1997 nach dem Prioritätsdatum der vorliegenden Erfindung)
offenbart zumindest teilweise eine Datenverarbeitungsvorrichtung
mit einem aus
JP 04 333 153 (veröffentlicht
am 20. November 1992) bekannten, erweiterbarem Adressraum. Die Verarbeitungsvorrichtung
umfasst drei Universal-ALUs, die alle für die Daten- und Adressverarbeitung
verwendet werden. Zwei ALUs haben Zugriff auf Wortlängenregister,
eines für
die Wortverarbeitung höherer
Ordnung und eine für
diejenige niedriger Ordnung. Die dritte ALU hat Zugriff auf ein
erweitertes Wortlängenregister.
Die Adressierung des erweiterten Adressraums erfolgt durch Festlegen
eines vorbestimmten Bits in einem Register während der Adressbearbeitung
oder unter Verwendung eines spezifischen Bearbeitungscodes.
-
Es
ist daher erstrebenswert, ein Mikrocontrollerdesign vorzusehen,
das einen vollständigen
und effizienten Befehlssatz für
den Anwendungssoftware-Entwickler vorsieht.
-
Die
Erfindung ist in Anspruch 1 definiert. Die jeweiligen Ausführungsbeispiele
sind in den abhängigen Ansprüchen dargelegt.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung stellt einen Mikrocontroller mit einer 8-Bit-RISC-Architektur
dar. Ein 8-Bit-Datenbus sieht einen Datenweg zwischen einem RAM-Speicher,
einer Registerdatei, einer Universal-8-Bit-Arithmetik-Logik-Einheit (ALU) und
einem Statusregister vor. Der Mikrocontroller implementiert die Harvard-Architektur
und sieht dabei einen vom RAM-Speicher separaten Programmspeicher
und einen vom Datenbus separaten Programmdatenbus vor.
-
Die
Registerdatei umfasst eine Vielzahl von 8-Bit-Registern. Bestimmte Register in der
Registerdatei können
kombiniert werden, um logische 16-Bit-Register vorzusehen. Ein logisches
16-Bit-Register sieht eine effiziente Adressberechnung vor und wird
als ein indirekter Adresszeiger in den Daten- und Programmspeicher verwendet.
Ob für
Daten- oder Programmspeicher, ein 16-Bit-Adressraum steigert durch
Erweitern des Programmadressraums sowie des Datenadressraums die
Flexibilität
und den Nutzen des Mikrocontrollers erheblich. Bei einem bevorzugten
Ausführungsbeispiel
der Erfindung sieht die Registerdatei drei 8-Bit-Registerpaare vor,
auf die als drei unabhängige
logische 16-Bit-Register zugegriffen werden kann (d.h. Lese/Schreibzugriff).
-
Um
weiterhin die Vorteile der 16-Bit-Adressierung zur Geltung zu bringen,
wird eine spezielle, zweite, der Registerdatei zugeordnete Arithmetik-Logik-Einheit
verwendet. Die zweite ALU enthält
einen 16-Bit-Addierer und sieht 16-Bit-Arithmetik-Operationen für das logische
16-Bit-Register
vor. Die zweite ALU kann das 16-Bit-Ergebnis in das logische 16-Bit-Register
zurückspeichern.
Das 16-Bit-Ergebnis
kann außerdem
als Adresse dienen. Daher sieht das Vorhandensein der zweiten ALU
effiziente 16-Bit-Adressberechnungen
ohne Belastung der Universal-8-Bit-ALU vor, was die Betriebsgeschwindigkeit
der Vorrichtung verringern würde.
-
Eine
weitere Erweiterung des logischen, in der Registerdatei vorgesehenen
16-Bit-Registers ist die Verwendung eines 8-Bit-RAM-Paging- bzw.
Seitenadressierungs-Registers. Die 8 Bit des RAM-Paging-Registers sind mit
den 16 Bit des logischen 16-Bit- Registers
verkettet, um eine logische 24-Bit-Adresse vorzusehen. Diese Eigenschaft
bietet einen noch nie da gewesenen Adressbereich für einen
Mikrocontroller, dessen grundlegende Architektur im Wesentlichen
ein 8-Bit-Design ist. Insbesondere gliedert das Paging-Register
den Speicher in 256 Seiten mit 64 KByte (64·1024) des RAMs, wobei jede
64 K-Seite mit Verweisen durch das Paging-Register versehen ist.
In einem bevorzugten Ausführungsbeispiel
der Erfindung gibt es drei Paging-Register, wobei durch die Registerdatei
jeweils eines für
jedes der drei logischen 16-Bit-Register vorgesehen ist.
-
Ein
Bitspeicher berücksichtigt
den Transfer eines 1-Bit-Datenelements
zu und von einer beliebigen Bitposition zwischen den Registern der
Registerdatei. Bei einem bevorzugten Ausführungsbeispiel befindet sich der
Bitspeicher im Statusregister. Diese Bittransfereigenschaft berücksichtigt
die direkte Bearbeitung von Registerbitpositionen, ohne zahlreiche
und ansonsten zeitaufwendige Registerverschiebeoperationen durchführen zu
müssen.
Wie es bei vielen Mikrocontroller-Anwendungen typisch ist, weisen
die einzelnen Bits mit einem 1-Byte-Datenelement einen von anderen Bits
unabhängigen
Stellenwert auf. Der Befehlssatz eines herkömmlichen Mikrocontrollers umfasst
typischerweise Verschiebebefehle zum Vorsehen von Links- und Rechtsverschiebung
eines Registers. Daher wird Zugriff auf ein Bit bei einer vorgegebenen
Bitposition eines Registers durch Verschieben des Bits entweder
nach links oder nach rechts erreicht. Dies ist eine destruktive Operation,
die voraussetzt, dass die Registerinhalte gespeichert werden, wenn
die Originaldaten erhalten werden sollen. Außerdem ist die Operation zeitaufwendig
und erfordert die Ausführung
einer Reihe von Programmbefehlen. Die Bittransferoperationen der
vorliegenden Erfindung bieten ein zeiteffizienteres und weniger
raumaufwendiges Mittel für
den Zugriff auf beliebige Bitpositionen.
-
Ein „Vergleich-mit-Übertrag"-Befehl (compare-with-carry,
CPC) sieht eine 16-Bit-Erweiterung des die Registerdatei aufweisenden
8-Bit-Registers vor. Diese Eigenschaft des Befehlssatzes sieht ein
effizientes Verfahren zum Ausführen
von Vergleichen von 16-Bit-Mengen in einer 8-Bit-Umgebung vor und
erhöht
damit weiterhin den Nutzen des 8-Bit-Mikrocontrollers der vorliegenden Erfindung.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
einen schematischen Aufbau des Mikrocontrollers der vorliegenden
Erfindung.
-
2A–2C veranschaulichen
eine Innendarstellung der im Mikrocontroller von 1 verwendeten
Registerdatei.
-
3A und 3B stellen
die Organisation der Register der in den 2A bis 2C gezeigten
Registerdatei dar.
-
4A und 4B zeigen
den Datenspeichermechanismus der vorliegenden Erfindung.
-
5 stellt
die Ausbildung einer logischen 24-Bit-Adresse unter Verwendung von Paging- Registern gemäß der vorliegenden
Erfindung dar.
-
6 veranschaulicht
ein Diagramm des Mikrocontrollers aus 1, wobei
die in 5 gezeigten Paging-Register berücksichtigt
sind.
-
BESTE ART
UND WEISE DER DURCHFÜHRUNG
DER ERFINDUNG
-
Bezug
nehmend auf 1 ist der Mikrokontroller 10 der
vorliegenden Erfindung um eine 8-Bit-Datenbus-Struktur herum ausgebildet.
Der Datenbus 12 sieht einen Datenweg für die verschiedenen, den Mikrokontroller
aufweisenden Komponenten vor. Ein integriertes SRAM dient als allgemeiner
Datenspeicher. Eine vom SRAM separate 8-Bit-REGISTERDATEI sieht einen Satz von 8-Bit-Hochgeschwindigkeits-Speichern
für den Mikrocontroller
vor.
-
Eine
Universal-Arithmetik- und Logikeinheit ALU-1 ist mit der REGISTERDATEI
gekoppelt, um arithmetische Berechnungen für die in den Registern gespeicherten
Daten vorzusehen. Der Ausgang der ALU-1 ist sowohl mit dem 8-Bit-Datenbus 12 als
auch mit einem STATUSREGISTER gekoppelt. Mehrere Statusbits, die
das STATUSREGISTER aufweist, werden gemäß den Ergebnissen der ALU-1
gesetzt. Typische, im STATUSREGISTER enthaltene Bits umfassen, sind
jedoch nicht beschränkt
auf: ein Übertragflag;
ein Nullflag; ein Negativflag; einen Zweierkomplement-Überlaufindikator;
ein Vorzeichenbit, das gleich dem exklusiven ODER zwischen dem Negativflag
und dem Zweierkomplement-Überlaufflag
ist; und ein Interruptfreigabebit. Das STATUSREGISTER ist an den
Datenbus 12 gekoppelt, um Lese/Schreib-Zugriff auf die Statusbits
zu ermöglichen. Zusätzliche,
an den Datenbus 12 gekoppelte Komponenten umfassen: einen
für Unterprogramm-Aufrufe/Rücksprünge und
für Interruptbearbeitung
verwendeten STAPELZEIGER; einen Zeitgeber; eine Interruptsschaltung;
eine Zeitgeber- und Steuerschaltung; ein EEPROM; und einen UART.
Die durch PORTTREIBER angesteuerten EIN-/AUSGABE-DATENREGISTER sehen
einen Eingabe-/Ausgabeweg 18 für den Mikrocontroller vor.
-
Ein
Bus 16 für
direkte Adressierung sieht während
der Programmausführung
direkten Zugriff auf die SRAM-Speicherzellen
und auf die REGISTERDATEI vor. Ein Bus 14 für indirekte
Adressierung sieht indirekte Adressierung vor. Der Bus 14 für indirekte
Adressierung umfasst ein Mittel zum Empfangen einer Adresse aus der
REGISTERDATEI, nämlich
die Busschnittstelle 14',
die die REGISTERDATEI mit dem Bus 14 für indirekte Adressierung koppelt,
um eine Adresse entweder zum SRAM oder zum PROGRAMMZÄHLER zu übertragen.
-
Die
Befehlsausführungs-Komponenten
des Mikrocontrollers 10 umfassen einen PROGRAMMZÄHLER, der
an einen PROGRAMMSPEICHER gekoppelt ist. Ein durch den PROGRAMMZÄHLER spezifizierter Programmbefehl
wird vom PROGRAMMSPEICHER abgerufen und in ein BEFEHLSREGISTER eingegeben. Vom
BEFEHLSSREGISTER wird der Programmbefehl durch einen mehrere Steuersignale
erzeugenden BEFEHLSDECODIERER decodiert. Die Steuersignale werden
durch STEUERLEITUNGEN zu anderen Komponenten des Mikrocontrollers 10 übertragen,
um den decodierten Programmbefehlen entsprechende Operationen durchzuführen. Die
die Befehlsausführungs-Komponenten
koppelnden Busse werden kollektiv als Programmbus bezeichnet. Die
Anordnung eines vom Datenspeicher separaten Programmspeichers und
die Verwendung eines vom Datenbus 12 separaten Programmbusses
bezeichnet man allgemein als Harvard-Architektur.
-
Wie
oben erwähnt,
besteht die REGISTERDATEI aus einer Vielzahl von 8-Bit-Registern.
Bei einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung gibt es 32 8-Bit-Register. Jedoch wird
darauf hingewiesen, dass der Mikrocontroller ebenso gut mit mehr
oder weniger Registern in der REGISTERDATEI arbeitet. Die Universal-Arithmetik- und -Logik-Einheit
ALU-1 ist ein 8-Bit-Operator und sieht 8-Bit-Arithmetik-Operationen
zwischen den aus der REGISTERDATEI ausgewählten Registern vor. Die Ausgangsinformation
der ALU-1 kann über
den Datenbus 12 in ein Register der REGISTERDATEI zurückgeführt werden.
Wie nachstehend detaillierter behandelt, können einige der 8-Bit-Register paarweise
kombiniert werden, um logische 16-Bit-Register vorzusehen. Beim bevorzugten
Ausführungsbeispiel
sehen drei 8-Bit-Register-Paare drei logische 16-Bit-Register X,
Y, Z vor, wie in 1 dargestellt.
-
Sich 2A zuwendend
umfasst die REGISTERDATEI der vorliegenden Erfindung eine Registerschaltung 100,
die 32 8-Bit-Register R0–R31
vorsieht. Wie nachstehend beschrieben, ist die Registerschaltung 100 in
der Lage, die letzten sechs Register R26–R31 als drei Paare logischer
16-Bit-Register
R27/R26 (X), R29/R28 (Y), R31/R30 (Z) vorzusehen. Eine gewöhnliche,
aus zwei 16er-Leitungsdatenbussen 102, 104 bestehende
Busschnittstelle sieht jeweils einen Dateneingabebus und einen Datenausgabebus
für die
Register vor.
-
Die
durch die REGISTERDATEI vorgesehenen 16-Bit-Register werden als
für indirekte
Adressierung vorgesehene Registerzeiger für SRAM und Programmraum-Adressierung
verwendet. Als solche werden bestimmte 16-Bit-Arithmetik-Operationen, wie
z.B. Postinkrement und Prädekrement,
für Adressenberechnung benötigt. Obwohl
es mögliche
ist, die ALU-1 zu verwenden, um 16-Bit-Arithmetik für 16-Bit-Register vorzusehen,
wären derartige
Operationen aufgrund des 8-Bit-Designs der ALU-1 ziemlich ineffizient.
-
Die
in 2A gezeigte REGISTERDATEI umfasst deshalb eine
zweite, der REGISTERDATEI zugeordnete Arithmetik- und Logik-Einheit
ALU-2, um 16-Bit-Berechnungen, die die logischen 16-Bit-Register
betreffen, zu unterstützen.
Die Arithmetik- und Logik-Einheit ALU-2 ist ein angepasstes 16-Bit-Design zum Vorsehen
spezifischer Operationen, die typischerweise von Zeigern für indirekte
Adressierung benötigt
werden. Die ALU-2 weist einen ersten Eingang auf, der durch den
Datenausgabebus 104 der REGISTERDATEI gespeist wird. Die
ALU-2 weist einen zweiten Eingang auf, der durch einen Selektor 110 gespeist
wird. Der Selektor 110 wählt einen von drei möglichen,
numerischen Werten: einen numerischen Wert von –1, einen numerischen Wert
von +1 und eine Konstante V. Der Ausgang der ALU-2 ist zu den X-,
Y-, Z-Registern am Dateneingabebus 102 zurückgeführt und
ermöglicht,
dass die Inhalte der Register aktualisiert werden. Ein Multiplexer
(Mux) 114 ist mit der Busschnittstelle 14' der REGISTERDATEI
verbunden. Ein Eingang des Mux 114 ist mit dem Ausgang
der ALU-2 gekoppelt, während
ein zweiter Eingang des Mux mit dem Datenausgabebus 104 gekoppelt
ist. Diese Anordnung ermöglicht,
dass der Mux 114 selektiv Daten entweder aus der ALU-2
oder aus der Registerschaltung ausgeben kann.
-
Die
folgenden Steuersignale beziehen sich auf die erörterten Funktionseigenschaften
der REGISTERDATEI und umfassen: ADD ENABLE, SUB ENABLE, MUX SELECT,
V SELECT, V5–V0,
INCR SELECT und DECR SELECT. Diese Signale werden durch mehrere,
vom BEFEHLSDECODIERER ausgehenden STEUERLEITUNGEN übertragen.
Die Funktion der REGISTERDATEI im Sinne dieser Steuersignale wird
im Folgenden mit Bezug auf die Programmanweisungen des Mikrocontrollers
der vorliegenden Erfindung behandelt.
-
Die
interne Organisation der in 2A dargestellten
Registerschaltung 100 ist im Blockdiagramm von 3A gezeigt.
Bei einem Ausführungsbeispiel
der Erfindung sind 32 Register R0–R31 vorgesehen, wobei jedes
einen Satz von 8-Bit-Ausgangsleitungen 121 und einen Satz
von 8-Bit-Eingangsleitungen 123 aufweist. Die
tatsächliche
Anzahl der vorgesehenen Register ist für die Erfindung nicht entscheidend.
Ein Satz von Signalspeichern 120–126 ist gekoppelt,
um Daten selektiv in die Register einzuspeichern und aus den Registern freizugeben.
Diese Signalspeicher sehen die Eingangs- und Ausgangsdatenbits bi15...b10, bo15...bo0 der gewöhnlichen,
in 2A gezeigten Busschnittstelle vor. Datentransfer
zwischen den 8-Bit-Registern R0–R31 wird
durch den Dateneingangssignalspeicher 122 und den Datenausgangssignalspeicher 126 als
Bits bi7–bi0 bzw.
bo7–bo0 vorgesehen.
-
Für die logischen
16-Bit-Register X, Y, Z sind zusätzliche
Dateneingangs- und Datenausgangssignalspeicher 120, 124 vorgesehen.
Die X-Register bestehen aus dem Registerpaar R27:R26, das Y-Register
besteht aus dem Registerpaar R29:R28 und das Z-Register besteht
aus dem Registerpaar R31:R30. Die Datenausgangssignalspeicher 120, 122 speichern
die Inhalte von einem der 16-Bit-Register auf die Ausgangsbits bo15–bo0 der gewöhnlichen
Busschnittstelle 102, 104, während die Dateneingangssignalspeicher 124, 126 die auf
den Eingangsbits bi15–bi0 erscheinenden
Eingangsdaten speichern. Der Datenausgangssignalspeicher 120 ist
an die Ausgabeleitungen 121 der höherwertigen Byte-Register R27,
R29 und R31 gekoppelt. Gleichermaßen ist der Datenausgangssignalspeicher 122 an
die Datenausgangsleitungen 121 der niederwertigen Byte-Register
R26, R28 und R30 gekoppelt. Die Dateneingangsignalspeicher 124, 126 sind
auf die gleiche Weise gekoppelt, nämlich der Dateneingangssignalspeicher 124 ist
an die Eingangsleitungen 123 der H-Byte-Register R27, R29
und R31 gekoppelt, während
der Dateneingangssignalspeicher 126 and die Eingangsleitungen 123 der
L-Byte-Register R26, R28 und R30 gekoppelt ist.
-
Die
folgenden Steuersignale beziehen sich auf die behandelten Funktionseigenschaften
der Registerschaltung 100 und umfassen: DATA16_IN, DATA16_OUT,
DATA8_IN, DATA8_OUT, R0 SELECT – R31
SELECT, X SELECT, Y SELECT und Z SELECT. Die Funktion der Registerschaltung 100 hinsichtlich
dieser Steuersignale wird nachstehend mit Bezug auf die Programmanweisungen
des Mikrocontrollers der vorliegenden Erfindung behandelt.
-
Die
Erörterung
wendet sich nun an eine weitere Eigenschaft des 8-Bit-Mikrocontrollers
der vorliegenden Erfindung. Man erinnere sich dabei an obige Abhandlung,
dass herkömmliche
Techniken zum Laden und Speichern einer beliebigen Bitposition eines
Register Registerschiebe- und/oder Registermaskierungsoperationen
erfordert, was in weniger effizientem Code und erhöhter Codegröße resultiert.
Außerdem
ist dies eine destruktive Operation, die erfordert, dass die Registerinhalte
gespeichert werden, wenn die Originaldaten erhalten werden sollen.
-
Für eine weitere
Ansicht des internen Organisation der REGISTERDATEI der vorliegenden
Erfindung und eine genaue Schilderung von zusätzlichen Komponenten in der
REGISTERDATEI, die beliebigen Zugriff auf ein Bit aus den Registern
R0–R31
untereinander vorsehen, nehme man Bezug auf 4A. Natürlich weist jedes
Register einen 1:8-Multiplexer 130 auf,
wobei jeder der acht Ausgänge
des Multiplexers an ein Bit im Register gekoppelt ist. Daher kann
ein Bit durch Speichern des Bits im 1-Bit-Eingang des Mux 130 und
durch Übertragen
der Muxeingabe auf einen seiner acht Ausgänge in jede Bitposition im
Register geladen werden. Jedes Register weist weiterhin einen 8:1-Mux 132 auf,
wobei jeder seiner acht Eingänge
an ein Bit im Register gekoppelt ist. Jede Bitposition im Register
kann daher durch Ansteuern des Muxeingangs entsprechend des im Interesse
liegenden Bits herauskopiert werden.
-
Weiterhin
umfasst die REGISTERDATEI natürlich
einen 1:32-Mux 134 und
einen 32:1-Mux 136. Man betrachte zunächst den 1:32-Mux 134.
Dieser Mux weist einen mit dem 8-Bit-Datenbus 12 gekoppelten 1-Bit-Eingang
auf. Die Eingangsinformation kann auf jeden seiner 32 Ausgänge übertragen
werden. Jeder der 32 Ausgänge
wiederum ist an den Eingang von einem der 1:8-Muxe 130 gekoppelt
und sieht daher einen Weg aus dem Datenbus 12 zur jeder
Bitposition in jedem der Register R0–R31 in der REGISTERDATEI vor.
Man betrachte als nächstes
den 1:32-Mux 136. Der Ausgang jedes 8:1-Mux 132 ist an
einen der 32 Eingänge
des Mux 136 gekoppelt. Der 1-Bit- Ausgang des Mux 136 wiederum
ist an den Datenbus 12 gekoppelt und sieht daher einen
Datenweg von jeder Bitposition in jedes der Register R0–R31 zum
Datenbus vor.
-
Das
in 4A gezeigte STATUSREGISTER umfasst eine Bitposition
zum Empfangen und Halten eines 1-Bit-Datenelements, das als das T-Bit für Transfer-Bit
bekannt ist. Das STATUSREGISTER ist an den 8-Bit-Datenbus 12 gekoppelt,
um Lese/Schreibzugriff auf dessen verschiedene Bits vorzusehen.
Die T-Bit-Position wird insbesondere in Verbindung mit dem 1:32-Mux 134 und
dem 32:1-Mux 136 gesteuert, um entweder ein 1-Bit-Datenelement
vom 32:1-Mux 136 über
den Datenbus zu empfangen oder um ein 1-Bit-Datenelement über den Datenbus zum 1:32-Mux 134 zu übertragen.
-
Die
folgenden Steuersignale beziehen sich auf die Funktionseigenschaften
der in 4A gezeigten REGISTERDATEI und
umfassen: BST REGISTER SELECT, BST BIT SELECT, BLD REGISTER SELECT
und BLD BIT SELECT. Die Funktion der REGISTERDATEI hinsichtlich
dieser Steuersignale wird nachstehend mit Bezug auf die Programmanweisungen
des Mikrocontrollers der vorliegenden Erfindung behandelt.
-
Eine
weitere Eigenschaft des 8-Bit-Mikrocontrollers der vorliegenden
Erfindung ist eine verbesserte Adressierungsfähigkeit, wie in 5 gezeigt.
Drei zusätzliche,
zur REGISTERDATEI externe Register sind gezeigt, nämlich die
RAM-Paging-Register RAMPX, RAMPY, RAMPZ. Die RAM-Paging-Register
arbeiten in Verbindung mit ihren entsprechend logischen 16-Bit-Registern
X, Y, Z, um einen weitgehend erhöhten
Adressbereich im Vergleich zu herkömmlichen 8-Bit-Mikrocontrollern
vorzusehen. Beim offenbarten Ausführungsbeispiel sind die RAM-Paging-Register 8-Bit-Register.
Jedoch ist das nicht entscheidend und es wird klar, dass die Erfindung
mit Registern, die eine unterschiedliche Bit-Länge aufweisen, ohne Umstände arbeiten
kann.
-
Bezugnehmend
auf 5 ist eine schematische Darstellung bezüglich des
Adressaufbaus dargestellt. Jedes der RAM-Paging-Register ist mit seinem entsprechenden
16-Bit-Register
verkettet. Beispielsweise sind die 8 Bits des RAM-Paging-Registers
RAMPX mit den 16 Bits des X-Registers verkettet, um eine 24-Bit-Adresse
auszubilden. Im bevorzugten Ausführungsbeispiel
dienen die 8 Bits des RAMPX als höherwertige Bits X[23...16]
der 24-Bit-Logik-Adresse, während
die 16 Bits des X-Registers die niederwertigen Bits [15...0] der 24-Bit-Logik-Adresse
vorsehen. Das durch diese Anordnung erzeugte Speichermodell ist
eine Satz von 64 KByte-(64·1024)-Seiten,
wobei auf jede 64 K-Seite durch ein 8-Bit-RRM-Paging-Register für insgesamt
256 Seiten zugreifbar ist.
-
Man
wende sich nun 6 für eine Beschreibung eines Ausführungsbeispiels
des RAM-Paging-Registers im Zusammenhang mit den offenbarten Ausführungsbeispielen
der Erfindung zu. Jedes der RAM-Paging-Register RAMPX, RAMPY, RAMPZ
ist an einen 8-Bit-Datenbus 12 gekoppelt, um einen 8-Bit-Seitenverweis
während
der Programmausführung
zu empfangen. Ein Selektor 11 (beispielsweise ein 3:1-Multiplexer) empfängt die
8 Bits von jedem RAM-Paging-Register
und überträgt die 8
Bits des angesteuerten RAM-Paging-Registers
auf den Ausgang des Selektors. Die 16 Bit der Busschnittstelle 14' der REGISTERDATEI
sind mit den 8 Bits aus dem Selektor 11 verkettet, um eine
24-Bit-Adresse auszubilden, die durch den Bus 14 für indirekte
Adressierung übertragen
wird.
-
Die
erweiterte 24-Bit-Adressierung der Erfindung ermöglicht die Verwendung von extern
vorgesehenem RAM (nicht gezeigt), da eine 24-Bit-Adresse zur Adressierung
von 16 M (16·1024·1024)
des RAM in der Lage ist. Ein externer 24-Bit-Adress-Bus 20 und ein 8-Bit-Datenbus 22 sind
für den
Datenzugriff zwischen dem Mikrocontroller und einem externen RAM
(nicht gezeigt) eingefügt.
Gemäß der vorliegenden
Erfindung, belegen die REGISTERDATEI, das integrierte SRAM und das
externe RAM den gleichen Datenadressraum. Die REGISTERDATEI belegt
die ersten 32 Adressspeicherpositionen und das integrierte SRAM
belegt die nächsten
Adressspeicherpositionen N, wobei N die Größe des SRAMs ist. Der restliche
Adressraum wird durch externes RAM vorgesehen. Der Adressbereich
00 bis (N–1)
bildet daher auf die Speicherplätze
des integrierten Speichers ab (REGISTERDATEI und SRAM), während der
restliche Adressbereich N bis (16 M–1) auf Speicherplätze im externen
RAM abbildet. wenn beispielsweise der integrierte Speicher insgesamt
64 KByte aufweist, dann liegt der integrierte Adressbereich zwischen
$00 und $FFFF ("$" kennzeichnet hexadezimale
Bezeichnungen), während
der Adressbereich des externen RAMs zwischen $1000 und $FFFFFF liegt.
Es ist bekannt, dass der integrierte Speicherumfang variiert werden
kann, ohne den Nutzen oder die Funktionsfähigkeit der vorliegenden Erfindung
zu beeinträchtigen,
wobei der tatsächliche
Speicherumfang von Ausgestaltungskriterien, wie z.B. verfügbarem Siliziumbereich,
Vorrichtungsgeometrien und Ausgestaltungsregeln, abhängt.
-
Um
sicherzustellen, dass für
eine vorgegebene Adresse korrekt auf den integrierten Speicher und
das externe RAM zugegriffen werden kann, wird ein zweiter Selektor 13 verwendet,
um die Adresse entweder auf den internen Adressbus 14 oder
auf den externen Adressbus 20 zu übertragen. Bei einem bevorzugten
Ausführungsbeispiel
ist der Selektor 13 ein 1:2-Mux, wobei die einzelne MUX-Eingangsinformation
auf einen seiner zwei Ausgänge übertragen
wird. Hier ist der Einzeleingang die aus dem Selektor 11 kommende 24-Bit-Adress-Leitung.
Einer der Ausgänge
des Selektors 13 ist an den Adressbus 14 gekoppelt,
während
der andere Ausgang an den externen Adressbus 20 gekoppelt
ist. Auf das Erfassen einer Adresse innerhalb des Adressbereichs
des integrierten Speichers wird der Selektor 13 dazu gebracht,
seine Eingangsinformation auf den Adressbus 14 zu übertragen.
Man beachte, dass nur die 16 niederwertigen Bits [15...0] der 24-Bit-Adresse auf den
Adressbus 14 übertragen
werden. Umgekehrt wird der Selektor 13 seine Eingangsinformation
auf den externen Adressbus 20 übertragen, nachdem eine Adresse
innerhalb des Adressbereiches des externen Speichers erfasst wurde.
Jedes aus einer Reihe von Erfassungsschemata ist möglich, wobei
alle innerhalb des durchschnittlich fachmännischen Könnens eines Designers liegen.
Beispielsweise kann man die 8 höherwertigen
Bits (Bits [23...0]) der 24-Bit-Adresse durch logisches ODER verbinden
und das Ergebnis zum Steuern des Selektors 13 verwenden.
Wenn die ODER-Operation FALSCH ergibt, wobei damit gemeint ist,
dass die Adresse in den Adressbereich des integrierten Speichers
fällt,
dann sollte der Selektor 13 seine Eingangsinformation auf
den internen Adressbus 14 übertragen. Wenn die ODER-Operation
WAHR ergibt, wobei damit gemeint ist, dass die Adresse eine komplette
24-Bit- Adresse ist,
dann sollte der Selektor 13 seine Eingangsinformation auf
den externen Adressbus 20 übertragen.
-
Nach
Beschreibung der den Eigenschaften des 8-Bit-Mikrocontrollers der vorliegenden Erfindung
entsprechenden Hardware-Details, wendet sich die Diskussion nun
dem Befehlssatz des Mikrocontrollers zu. Erstens unterstützt der
vorliegende Mikrocontroller die für alle Mikrocontroller typischen
Programmbefehle einschließlich
Arithmetik- und Logikbefehlen, Sprungbefehle, Datenübertragungsbefehle
sowie Bittest- und Bitsatzbefehle. Außerdem sieht der vorliegende
Mikrocontroller Befehle vor, die durch die oben beschriebene und in
den Figuren dargestellte Schaltung ermöglicht werden. Nachstehend
ist eine Zusammenfassung dieser Befehle dargestellt:
-
-
-
-
-
-
-
-
Man
erinnere sich bezüglich 1 daran,
dass der BEFEHLSDECODIERER Steuersignale erzeugt, die über die
STEUERLEITUNGEN zu den verschiedenen Komponenten des Mikrocontrollers übertragen
werden, um die nötigen Operationen
zur Durchführung
der decodierten Befehle zu bewirken. Die Erörterung wird sich nun auf die
mit den oben beschriebenen Befehlen in Zusammenhang stehenden Steuersignale
hinsichtlich ihrer Wirkung auf die in den obigen Figuren beschriebene
Schaltung konzentrieren.
-
Man
betrachte zunächst
die in 4B graphisch dargestellten Bitübertragungsbefehle
(BST, BLD). Jeder der Befehle BST und BLD umfasst ein OP_CODE-Feld,
das den spezifischen Befehl und zwei Operanden kennzeichnet: einen
Registeroperand Rd und einen Bitpositionsoperand b. Wenn diese Befehle
durch den BEFEHLSDECODIERER (1) decodiert
werden, werden ein Steuersignal zur Registeransteuerung und ein Steuersignal
zur Bitansteuerung erzeugt. Diese Steuersignale steuern die Muxe 132–136,
um auf das gewünschte
Bit zuzugreifen. Ein Steuersignal BST REGISTER SELECT wird für den auf
dem Registeroperanden Rd basierenden Befehl BST erzeugt. Gleichermaßen wird
ein auf dem Bitpositionsoperanden b basierendes Steuersignal BST
BIT SELECT erzeugt. Ähnliche
Steuersignale werden für
den Befehl BLD erzeugt.
-
Wie
in 4B gezeigt, steuert das Steuersignal BST BIT SELECT
den 8:1-Mux 132 von jedem Register R0–R31 derart, dass das spezifizierte
Bit vom jedem Register zum 32:1-Mux 136 übertragen
wird. Das Steuersignal BST REGISTER SELECT steuert den 32:1-Mux
derart, dass das spezifizierte Bit der 32 Bits ausgewählt wird
und demgemäß das ausgewählte Bit
des ausgewählten
Registers auf den 8-Bit-Datenbus 12 zu übertragen, welches dann in
der T-Bit-Position des STATUSREGISTERS gespeichert wird.
-
Die
dem Befehl BLD entsprechenden Steuersignale steuern die Muxe 130 und 134 auf
eine ähnliche Weise.
Ein im T-Bit gespeichertes Bit wird über den Datenbus 12 zum
32:1-Mux 134 übertragen.
Das Bit wird dann zu einem der 1:8-Muxe 132 unter der Steuerung
des Steuersignals BLD REGISTER SELECT übertragen, der das Bit zum
spezifizierten Register sendet. Das BLD BIT SELECT gibt dann das
Bit in die korrekte Bitposition des spezifizierten Registers aus.
-
Man
betrachte weiter die 16-Bit-Arithmetik-Befehle ADIW und SBIW, d.h.
die Addition bzw. Subtraktion eines konstanten Wertes mit einem
der logischen 16-Bit-Register X, Y, Z. Nimmt man zunächst Bezug
auf 2B, zeigt ein Diagramm der Befehle ADIW und SBIW,
dass das OP_CODE-Feld und der konstante Operand K Steuersigale nach
dem Decodieren durch den BEFEHLSDECODIERER (1) erzeugen.
Das OP_CODE-Feld erzeugt entweder ein Steuersignal ADD ENABLE oder
SUB ENABLE, was dazu führt,
dass die ALU-2 die geeignete arithmetischen Operation an ihren beiden
Eingängen
durchführt.
Der konstante Operand K erzeugt Steuersignale V5–V0, die in den Eingang V des Selektors 110 führen. Die
Steuersignale V5–V0 stellen
die im Operanden der Befehle ADIW und SBIW spezifierte Konstante
K in Binärform
dar. Im offenbarten Ausführungsbeispiel
der Erfindung ist die Konstante K ein 6-Bit-Datenelement. Außerdem erzeugt
der konstante Operand K ein Steuersignal V SELECT, was dazu führt, dass
der Selektor 110 die Konstante V an einen Eingang der ALU-2
ausgibt. Die andere Eingangsinformation an der ALU-2 kommt über den
Datenausgabebus 104 von einem der angesteuerten 16-Bit-Register
X, Y, Z in der REGISTERDATEI, wie im Folgenden erläutert wird.
Die Ausgangsinformation der ALU-2 wird über den Dateneingabebus 102 zurück in die
REGISTERDATEI geführt,
wird im ausgewählten
16-Bit-Register gespeichert und vervollständigt demgemäß die Operation.
-
Bezugnehmend
auf 3A und 3B betrachte
man nun die durch den BEFEHLSDECODIERER für die Befehle ADIW und SBIW
erzeugten Steuersignale. Der Registeroperand L erzeugt ein Steuersignal
X-, Y- oder Z SELECT, welches das entsprechende Registerpaar freigibt,
um Lese/Schreibzugriff auf das spezifizierte, logische 16-Bit-Register vorzusehen.
Das Signal X SELECT gibt die Register R26 und R27 frei, das Signal
Y SELECT gibt die Register R28 und R29 frei und das Signal Z SELECT
gibt die Register R30 und R31 frei. Das OP_CODE-Feld erzeugt die
Steuersignale DATA16_IN ENABLE und DATA16_OUT ENABLE. Das Steuersignal
DATA16_OUT ENABLE führt
dazu, dass die Datenausgangssignalspeicher 120, 122 die
Daten ausgeben, die im ausgewählten,
logischen 16-Bit-Register auf dem Datenausgabebus 104 enthalten
sind, der, wie oben beschrieben, in die ALU-2 führt. Umgekehrt führt das
Steuersignal DATA16_IN ENABLE dazu, dass die Dateneingangssignalspeicher 124, 126 die
am Ausgang der ALU-2 erzeugte resultierende Summe oder Differenz
eingeben.
-
Als
nächstes
folgen die Lade- und Speicherbefehle (LD, ST), die die logischen
16-Bit-Register X, Y, Z betreffen. Man betrachte zunächst die
Form der Operationen LD und ST, bei denen es entweder Prädekrement oder
Postinkrement der 16-Bit-Register
gibt. Bezugnehmend auf 2C kann man sehen, dass das OP_CODE-Feld
für eine
Lade-/Speicher-Operation mit Update entweder ein Steuersignal DECR
SELECT oder INCR SELECT erzeugt, abhängig davon, ob das Update ein
Prädekrement
oder Postinkrement ist. Die Steuersignale DECR SELECT und INCR SELECT
steuern den Selektor 110, um den entsprechenden Wert "–1" oder "+1" auszugeben,
der einem Eingang der ALU-2 zugeführt wird. Die andere Eingangsinformation
zur ALU-2 kommt über
den Datenausgabebus 104 von einem ausgewählten Register
der 16-Bit Register
X, Y, Z in der REGISTERDATEI. Das Signal ADD ENABLE wird so erzeugt,
dass die ALU-2 den Wert "–1" oder "+1" zu den Inhalten
des ausgewählten
16-Bit-Registers hinzufügt.
Das Steuersignal MUX SELECT steuert den Mux 114, um eine
Adresse an die Busschnittstelle 14' der REGISTERDATEI auszugeben.
Die Zeitgebung des Steuersignals MUX SELECT variiert, abhängig davon,
ob der Befehl ein Prädekrement
oder Postinkrement ist. Wenn ein Prädekrement gewünscht ist,
wird das Steuersignal MUX SELECT nach Operationsdurchführung der
ALU-2 erzeugt, so dass der Mux 114 die Ausgangsinformation
der ALU-2 auf die Busschnittstelle 14' noch vor der Operation durch die
ALU-2 übertragen
kann. Andererseits, wenn ein Postinkrement gewünscht ist, führt das
Signal MUX SELECT dazu, dass der Mux 114 den Datenausgabebus 104 auf
die Busschnittstelle 14' überträgt. In beiden
Fällen
wird die Ausgangsinformation der ALU-2 über den Dateneingabebus 102 zurück in die REGISTERDATEI
geführt,
so dass das ausgewählte
16-Bit-Register aktualisiert werden kann.
-
Nimmt
man nun Bezug auf 3A und 3B, so
kann man sehen, dass die Befehle LD und ST mit Update die Steuersignale
X-, Y-, Z SELECT und die Steuersignale DATA16IN_ENABLE und DATA16OUT_ENABLE
zur Folge haben. Diese Signale arbeiten auf dieselbe Weise wie für die Befehle
ADIW und SBIW, da in allen Fällen
die Inhalte eines 16-Bit-Registers aktualisiert werden. Zusätzlich zu
diesen Steuersignalen werden die Steuersignale R0–R31 SELECT
und DATA8_IN und DATA8_OUT als Ergebnis des Decodierens des Registeroperanden
Rd der Befehle LD und ST erzeugt. Für den Ladebefehl steuert das
Steuersignal DATA8_IN den L-Byte-Dateneingangssignalspeicher 126,
um die Daten, auf die durch das 16-Bit-Register verwiesen wird,
einzuspeichern, welche dann in das vom Steuersignal R0–R31 SELECT
ausgewählte 8-Bit-Register
geladen werden. Für
den Speicherbefehl steuert das Steuersignal DATA8_OUT den L-Byte-Datenausgangssignalspeicher 122,
um den Inhalt des durch das Steuersignal R0–R31 SELECT ausgewählten 8-Bit-Registers auszugeben,
welcher dann an dem Speicherplatz, auf den durch das 16-Bit-Register
gezeigt wird, gespeichert wird.
-
Man
betrachte als nächstes
die Form der Befehle LD und ST ohne Update, d.h. ohne eine Prädekrement-
oder Postinkrement-Operation. Mit Bezug auf 2C, da
es kein Aktualisieren bzw. Updaten des ausgewählten 16-Bit-Registers gibt, wird
nur das Steuersignal MUX SELECT benötigt, um das 16-Bit-Register (über den
Datenausgabebus 104) auf den Bus 14 für indirekte
Adressierung zu übertragen.
Mit Bezug auf 3B werden die gleichen Steuersignale
erzeugt wie für
die Befehle LD und ST mit Update, außer dass das Signal DATA16_IN
ENABLE nicht benötigt
wird, da kein Update des 16-Bit-Registers auftritt.
-
Eine
dritte Form der Lade- und Speicheroperationen verwendet eine Verschiebung
q, welche zum ausgewählten
16-Bit-Register
hinzugefügt
wird. Diese sind die Befehle LDD und STD. Wie man in 2B sehen kann,
arbeiten die Befehle LDD und STD auf ein Weise, die der den Befehle
ADIW und SBIW sehr ähnlich
ist. Der Verschiebewert q ist durch die Steuersignal V5–V0 dargestellt. Das Steuersignal ADD ENABLE
führt dazu, dass
die ALU-2 die Verschiebung zum ausgwählten 16-Bit-Register hinzufügt. Im Gegensatz
zu ADIW und SBIW jedoch, erzeugen die Befehle LDD und STD das Signal
MUX SELECT, welches ermöglicht,
dass der errechnete Wert als eine Adresse an den Bus 14 für indirekte
Adressierung ausgegeben wird. Wendet man sich den 3A und 3B zu,
so erzeugen die Befehle LDD und STD im Wesentlichen dieselben Steuersignale
wie die Befehle LD und ST, mit zwei Ausnahmen: DATA16_IN ENABLE
wird nicht erzeugt, da kein Update des 16-Bit-Registers auftritt;
und die Befehle LDD und STD sind auf die Y- und Z-Register beschränkt.
-
Die
wie in 3B gezeigten Sprungbefehle IJMP,
ICALL betreffen lediglich die Ansteuerung des Z-Registers und das
Erzeugen des Steuersignals DATA16_OUT ENABLE, um die Inhalte des
Z-Registers an den Bus 14 für indirekte Adressierung auszugeben.
In 2B erzeugen die Befehle IJMP und ICALL das Steuersignal
MUX_SELECT, um den Mux 114 so zu steuern, dass die Inhalte
des Z-Registers vom Datenausgabebus 104 der REGISTERDATEI
auf den Adressbus 14 übertragen
werden können.
Die Adresse wird dann in den PC-ZÄHLER geladen,
um den Fluss der Ausführungssteuerung
zu ändern.
-
Der
in 3B gezeigte „Vergleich-mit-Übertrag"-Befehl CPC betrifft
lediglich die Erzeugung eines der Steuersignale R0–R31 SELECT
für jeden
der Registeroperanden Rd, Rr des Befehls. Das Steuersignal DATA8_OUT
gibt die Inhalte des angesteuerten 8-Bit-Registers aus.
-
Zusätzliche
Steuersignale (nicht gezeigt) werden erzeugt, die dazu führen, dass
die 8-Bit-ALU-1 die Summe der Inhalte der Rr-Register und das übertragbit
von den Inhalten des Rd-Registers subtrahiert. Das Ergebnis der
Operation wird nicht gespeichert; jedoch werden die Bits im Statusregister
gemäß dem Ergebnis der
Operation gesetzt.
-
Der
Befehl CPC verbessert die 8-Bit-Architektur des Mikroprozessors
durch Vorsehen von 16-Bit-Fähigkeit
in einer 8-Bit-Umgebung. Das Übertragsergebnis
aus einer 8-Bit-Operation
kann in einer anschließenden
8-Bit-CPC-Operation
verwendet werden, um einen 16-Bit-Effekt zu erzeugen. Beispielsweise
kann ein 16-Bit-Vergleich wie folgt implementiert sein:
-
-
Der
Befehl "cp" beeinflusst das Übertrag-Bit,
welches dann im anschließenden
Befehl "cpc" verwendet wird.
Die Registerpaare R3/R2 und R1/R0 dienen gewissermaßen als
Halter für
zwei 16-Bit-Werte.
-
Dies
schließt
die Diskussion der für
die Befehle relevanten Steuersignale und der hinsichtlich des Mikrocontrollers
der vorliegenden Erfindung offenbarten Logikschaltungen ab. Es ist
selbstverständlich,
dass diese Signale nicht die einzigen bei der Ausführung der
obigen Befehle beteiligten Steuersignale sind. Zusätzliche Signale
werden erzeugt, um weitere Elemente des Mikrocontrollers zu steuern.
Beispielsweise werden Adress- und Lese/Schreib-Freigabesignale für die oben genannten, Speicherzugriff
umfassenden Befehle erzeugt. Außerdem
ist eine Steuerung für
die Ausführungszeitgebung
erforderlich, um die Ausgabe der Steuersignale richtig zu synchronisieren.
Ein Fachmann von integrierten Computerschaltungen ist jedoch in
der Lage, ohne unzulässiges
Experimentieren die erforderlichen, zusätzlichen Steuersignale und
die notwendige Zeitgebung solcher Signale für die Ausübung der Erfindung festzulegen.