-
Mikrocomputeranlage in monolithischer Integration
-
mit einem Festwort-Progrnmmspeicher Die Erfindung betrifft eine Mikrocomputeranlage
in monolithischer Integration mit einem Festwort-Programmspeicher.
-
In sogenannten Einzelchip-Mikrocomputern ist ein möglichst umfangreicher
Festwort-Programmspeicher wUnschenswert. Da ein solcher Speicher die chipfläche
mit einem Rechenwerk, mit einem Datenspeicher einer Eingabe-/Ausgabe-Hardware sowie
mit sonstigen für den Betrieb der Anlage notwendigen Logikschaltungen teilen muß,
ist es mit den zur Verfügung stehenden Technologien äußerst schwierig, eine Struktur
zu fertigen, deren Umfang größer als 8 Kilobit ist. In solchen Fällen benötigt man
nämlich eine so große Chipfläche, daß wegen unvermeidlicher Störungen in den zu
erzeugenden Strukturen selbst eine geringe Ausbeute bei der Fertigung kaum erwartet
werden kann. Andererseits wächst die Bedeutung von Festwortprogrammspeichern sowie
die Bedeutung eines mög-
lichst großen Speicherumfangs eines solchen
ROM-Speichers oder PROM-Speichers beständig, da sie für residente Software, Testroutinen,
Steuerungsanwendungen sowie für jede Art von festgelegtem Algorithmus beziehungsweise
"Makro" in einem hohen Maße gebraucht werden.
-
Wie bei den meisten der bisher zur Verfügung stehenden Mikroprozessoren
besitzen auch fast alle vorhandenen beziehungsweise angekündigten Mikrocomputer
eine 8-Bit-Befehlsreihe, also 256 Kodierungen. Man kann versuchen, entweder einen
kleinen und leistungsarmen Befehlssatz durch die ausschließliche Verwendung von
Einzelwortbefehlen anzubieten, oder einen leistungsvolleren Befehlssatz anzuwenden,
der aus Befehlen mit mehreren beziehungsweise längeren Bitgruppen zur Auswahl von
Registern, Bedingungen, Adressen und so weiter besteht, die dann in mehreren Bytes
untergebracht werden. Eine solche Mehrbyte-Lösung bedeutet aber - außer einem Verlust
von Speicherplatz - eine merkliche Verlangsamung beim Betrieb eines solchen Speichers.
-
Andererseits könnte man daran denken, breitere Befehlsworte zu verwenden.
Diese Möglichkeit erfordert aber im allgemeinen eine breitere Programmspeicherstruktur
über die ganze Länge, was wiederum eine Verschwendung von Speicherplatz zur Folge
hat.
-
Es ist deshalb hier Aufgabe der Erfindung, eine andere Lösung anzugeben.
-
Erfindungsgemäß wird eine Mikrocomputeranlage in monolithischer Integration
mit einem Festwortprogrammspeicher derart vorgeschlagen, daß der Festwortprograinmspeicher
aus zwei Matrizenspeichern mit unterschiedli-
cher Zeilenanzahl
besteht und daß die zur Adressierung der Zeilen des weniger Zeilen aufweisenden
Speichers vorgesehenen Wortleitungen jeweils in Verbindung mit je einer fest zugeordneten
Wortleitung des anderen dieser beiden Speicher gehalten sind.
-
Es ist also mit anderen Worten eine spaltenparallele Unterteilung
des Programmspeichers vorgesehen, wobei die Bemessung der Unterteilung in zwei -
unterschiedliche Abmessungen aufweisende - Speichermatrizen unter Verwendung von
Wahrscheinlichkeitsbetrachtungen sowohl in Richtung auf möglichst hohe Geschwindigkeit
als auch in Richtung möglichst hoher Einsparung an Chipfläche ohne merkliche Einbuße
an Programmierungsmöglichkeiten optimiert werden kann.
-
Als Nachteil zeigt sich allerdings eine Eingrenzung der Zahl von längeren
Befehlen, die man in dem zur Verfügung stehenden Programmspeicherplatz unterbringen
kann. Andererseits hat man folgende Vorteile: - Man kann ausschließlich mit Einzelwort-Befehlen
programmieren, so daß ein Geschwindigkeitsverlust auf jeden Fall vermieden ist.
-
- Unter Berücksichtigung der Wahrscheinlichkeit, mit der die einzelnen
Befehle zum Einsatz gelangen, läßt sich die Geometrie der beiden Teilmatrizen des
Festwortprogrammspeichers, das heißt deren Zeilen- und Spaltenzahl, ohne weiteres
so ausgestalten, daß gegenüber der Verwendung nur einer, dieselbe Leistungsfähigkeit
aufweisenden Speichermatrix für den Festwortspeicher erheblich Speicherplatz und
damit Chipfläche eingespart werden kann.
-
- Es gibt keine Schwierigkeiten in der Programmadressierung; Programmsequenzen
können völlig sequentiell ausgelegt werden.
-
- Zur Erkennung unterschiedlicher Befehlslängen sind keine zusätzlichen
Bitstellen erforderlich.
-
- Die Befehlslängen können unterschiedlich sein.
-
In der Figur ist das zugrundeliegende Prinzip illustriert. Dabei ist
von folgendem, oftmals auftretenden Fall ausgegangen: Unter dem für die Programmierung
vorzusehenden Befehlsvorrat befindet sich eine relativ kleine Anzahl von langen
Befehlen. Diese verlangen zu ihrer Unterbringung in einem Festwertspeicher eine
entsprechend große Zeilenlänge des Speichers, die bei den üblichen Anlagen zu einem
entsprechend großen Platzbedarf des Speichers auf dem Chip führten. Die Erfindung
eröffnet nun die Möglichkeit zu dem folgenden Vorgehen, bei dem der unterzubringende
Befehlssatz untersucht und die Programmspeicherstruktur nach folgenden Gesichtspunkten
aufgebaut wird.
-
1. Es wird festgestellt, ob der unterzubringende Befehlssatz a) in
eine kleine Gruppe von "langen" Befehlen und b) in eine wesentlich längere Gruppe
von "kurzen" Befehlen leicht unterteilbar ist. Bezeichnet man die gesamte Wortbreite
mit W, dann braucht die Gruppe von kurzen Befehlen höchstens WA Bitstellen für die
Kodierung der Einzelbefehle in dieser Gruppe. Für die Figur ist WA = 8 vorgesehen.
-
2. Man entwickelt eine ROM-Struktur (ROM A), die aus N Worten von
WA Bits besteht. Die Dekodierung für diesen Speicher ROM A ist sequentiell und vollständig,
so daß dieser Speicher dem üblichen Festwortspeicher entspricht. Beispielsweise
kann für die Programmierung beziehungsweise Adressierung des Speichers ROM A ein
X/Y-Multiplexer oder Dekodierer verwendet werden.
-
3. Eine ausführliche Analyse, zum Beispiel durch eine Reihe von XBenchmark"-programmen
der Wahrscheinlichkeit p für das Auftreten eines längeren Befehls wird für den ungünstigsten
Fall unternommen. Man berechnet die theoretische Wortzahl für einen zweiten ROM-Speicher
(ROM B) durch das Produkt p . N und addiert dazu einen Sicherheitsfaktor F, der
zum Beispiel zirka 20 96 des ermittelten Werts von p . N betragen darf.
-
Die Abschätzung des Werts von p ist der kritische Punkt, weil ein
zu kleiner Schätzwert die Programmierung einer ausreichenden Zahl von langen Befehlen
unterbindet und ein zu großer Schätzwert den angestrebten Vorteil an Ersparnis von
Chipfläche wieder zunichte machen kann.
-
4. Da die Wortbreite des Speichers ROM A gleich WA Bitstellen beträgt,
ergibt sich für die Wortbreite W3 von ROM B die Differenz (W - WA) aus der Gesamtwortbreite
W und der den kurzen Befehlen zugeordneten Wortbreite WA. Die Struktur von ROM B
hat demgemäß p . N + F Worte mit jeweils W3 Bits. In dem in der Figur dargestellten
Beispielsfall ist WB = 6 Bits.
-
5. Im Gegensatz zur Adreßkodierung im ROM A empfiehlt es sich, die
Adressierung von ROM B programmspezifisch auszugestalten. Man dekodiert in diesem
Falle nur die
Adressen der langen Befehle und trägt dann die zusätzlichen
Bitstellen dieser Befehle als die entsprechenden Inhalte der dekodierten Worte von
ROM B ein.
-
6. Für den Aufbau von ROM B empfiehlt sich eine einfache UND-ODER-Struktur,
also eine zweistufige Matrix, wie sie auch in einem PLA verwendet wird. Hingegen
empfiehlt es sich nicht, wie im Falle von ROM A eine Dekodierer/Multiplexer Kombination
anzuwenden, da der Aufwand hierzu in vielen Fällen zu groß sein dürfte.
-
Bei Benutzung des Festwort-Programmspeichers könnte man im Falle,
daß es sich um kurze Befehle handelt, nur ROM A auslesen, während für lange Befehle
beide ROM-Speicher ROM A und ROM B ausgelesen werden. Im allgemeinen werden Jedoch
ROM A und ROM B gleichzeitig gelesen.
-
Da bei kurzen Befehlen kein Wort in ROM B vorhanden ist, wird für
die Wortteilbreite WB eine Reihe von Nullen ausgelesen. Die Adressierung und Auslesung
eines langen Befehls erfordert also im Vergleich zu den bei einem kurzen Befehl
gegebenen Verhältnissen keinen zusätzlichen Zeitaufwand.
-
Zudem sind, wie bereits erwähnt, zusätzliche Bitstellen zur Erkennung
der Befehlslänge überflüssig, weil eine in ROM B nicht programmierte Adresse inipliziert,
daß die Ausgänge von ROM B im Nullzustand sein sollen. (So wären bei der aus der
Figur ersichtlichen Ausgestaltung sämtliche Ausgänge von ROM B "inactive high"),
wie dies bei einem kurzen Befehl zu erwarten wäre.
-
Ein Beispiel, das die Vorteile des unter Ziffer 1 bis 6 dargelegten
Prinzips besonders deutlich zeigt, wäre zum Beispiel folgender Fall:
Ein
Mikrocomputer arbeitet hauptsächlich mit Befehlen, die Längen von 8 Bits oder weniger
besitzen. Eine hohe Geschwindigkeit, wie sie in der Regel angestrebt ist, verlangt,
daß kein Befehl aus zwei oder mehreren auSeinanderfolgenden Programmspeicherworten
besteht. Andererseits sind lange Sprungbefehle, zum Beispiel des Formats 1UBBBBBB
AAAAAAAA AAAAAAAA AAAAAAAA, erfahrungsgemäß erforderlich.
-
In einem solchen Befehl ist eine 24-Bit-Adresse, ein 6-Bit-Bedingungsfeld,
ein Bit U für die Kellerung im Falle eines Unterprogramms sowie ein Operationscode
(hier in) enthalten.
-
Sind im Vergleich mit der Wortzahl von ROM A nur wenig solcher Befehle
erforderlich, so genügt für ROM B eine ziemlich "flache" Struktur mit einer 24-Bit-Wortbreite.
-
3 Patentansprüche 1 Figur