DE2907734A1 - Mikrocomputeranlage in monolithischer integration mit einem festwort-programmspeicher - Google Patents

Mikrocomputeranlage in monolithischer integration mit einem festwort-programmspeicher

Info

Publication number
DE2907734A1
DE2907734A1 DE19792907734 DE2907734A DE2907734A1 DE 2907734 A1 DE2907734 A1 DE 2907734A1 DE 19792907734 DE19792907734 DE 19792907734 DE 2907734 A DE2907734 A DE 2907734A DE 2907734 A1 DE2907734 A1 DE 2907734A1
Authority
DE
Germany
Prior art keywords
memory
rom
word
microprocessor
read
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.)
Withdrawn
Application number
DE19792907734
Other languages
English (en)
Inventor
Richard Wales Macmillan
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Priority to DE19792907734 priority Critical patent/DE2907734A1/de
Publication of DE2907734A1 publication Critical patent/DE2907734A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Landscapes

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

Description

  • 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

Claims (3)

  1. Patentans#ru#che 1. Mikrocomputeranlage in monolithischer Integration mit einem Festwortprogrammspeicher, d a d u r c h g e -k e n n z e i c h n e t , daß der Festwort-Programmspeicher aus zwei Matrizenspeichern (ROM A, ROM B) mit unterschiedlicher Zeilenanzahl besteht und daß die zur Adressierung der Zeilen des weniger Zeilen aufweisenden Matrizenspeichers (ROM B) vorgesehenen Wortleitungen Jeweils in Verbindung mit Je einer fest zugeordneten Wortleitung des anderen (ROM A) dieser beiden Speicher gehalten sind.
  2. 2. Vorrichtung nach Anspruch 1, d a d u r c h g e -k e n n z e i c h n e t , daß der die größere Anzahl von Zeilen aufweisende Matrizenspeicher (ROM A) über einen Multiplexer beziehungsweise Dekoder adressierbar ist, während die Adressierung des anderen Matrizenspeichers (ROM B) prograinnispezifisch ist.
  3. 3. Vorrichtung nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t , daß der die geringere Zeilenzahl aufweisende Matrizenspeicher als UND-ODER-Struktur realisiert ist.
DE19792907734 1979-02-28 1979-02-28 Mikrocomputeranlage in monolithischer integration mit einem festwort-programmspeicher Withdrawn DE2907734A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19792907734 DE2907734A1 (de) 1979-02-28 1979-02-28 Mikrocomputeranlage in monolithischer integration mit einem festwort-programmspeicher

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19792907734 DE2907734A1 (de) 1979-02-28 1979-02-28 Mikrocomputeranlage in monolithischer integration mit einem festwort-programmspeicher

Publications (1)

Publication Number Publication Date
DE2907734A1 true DE2907734A1 (de) 1980-09-04

Family

ID=6064071

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792907734 Withdrawn DE2907734A1 (de) 1979-02-28 1979-02-28 Mikrocomputeranlage in monolithischer integration mit einem festwort-programmspeicher

Country Status (1)

Country Link
DE (1) DE2907734A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0189202A3 (en) * 1985-01-24 1989-08-23 Hitachi, Ltd. A microprogram control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0189202A3 (en) * 1985-01-24 1989-08-23 Hitachi, Ltd. A microprogram control system

Similar Documents

Publication Publication Date Title
DE2751097C2 (de) Schaltungsanordnung zum Erzeugen eines Kennsignals
DE1499193C3 (de) Speicher-Adressierschaltung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
EP0176938B1 (de) Schaltung zur Logikgenerierung mit Multiplexern
DE2339636A1 (de) Programmsteuereinrichtung
DE2322674B2 (de) Mikroprogramm-Steuereinrichtung
DE2715751B2 (de) Speicheranordnung mit defekten Modulen
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE2926322C2 (de) Speicher-Subsystem
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2725396B2 (de) Pufferspeicher
DE2117581C3 (de) Einrichtung zur Adressenprüfung
DE3121742A1 (de) Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE2907734A1 (de) Mikrocomputeranlage in monolithischer integration mit einem festwort-programmspeicher
DE1806464A1 (de) Adressengenerator fuer einen Digitalrechner
DE2744252C2 (de)
DE3149926A1 (de) Programmierbare vergleichsschaltung
EP0494329B1 (de) Schaltungsanordnung zur Abbildung des logischen Adressraums einer Prozessoreinheit auf den physikalischen Adressraum eines Speichers
DE3341339C2 (de) Befehlsfolgegenerator
DE2714314C2 (de) Datenverarbeitende Vorrichtung mit einem Datenspeicher
DE2721235A1 (de) Elektronischer prozessrechner zur steuerung des fernsprechverkehrs
DE2319320B2 (de) Schaltungsanordnung zur Durchführung logischer Verknüpfungen
DE2419837B2 (de) Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen

Legal Events

Date Code Title Description
8140 Disposal/non-payment of the annual fee for main application